diff --git a/.gitignore b/.gitignore index 3f64ac4b5..bd29d566b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,9 @@ # dpdk built target dpdk-1.8.0/x86_64-native-linuxapp-gcc/* +# nf chain log files +**/nf-chain-logs/** + # ctags files tags .tags diff --git a/examples/config.py b/examples/config.py new file mode 100644 index 000000000..7413489c5 --- /dev/null +++ b/examples/config.py @@ -0,0 +1,215 @@ +#!/usr/bin/env python3 + +# openNetVM +# https://sdnfv.github.io +# +# OpenNetVM is distributed under the following BSD LICENSE: +# +# Copyright(c) +# 2015-2018 George Washington University +# 2015-2018 University of California Riverside +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * The name of the author may not be used to endorse or promote +# products derived from this software without specific prior +# written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""This script allows a user to launch a chain of NFs from a JSON +config file passed in as an argument when running the script""" + +import sys +import json +import os +import shlex +import time +from signal import signal, SIGINT, SIGKILL +from subprocess import Popen +from datetime import datetime + +def handler(signal_received, frame): + """Handles cleanup on user shutdown""" + # pylint: disable=unused-argument + for lf in log_files: + lf.close() + print("\nExiting...") + sys.exit(0) + +def get_config(): + """Gets path to JSON config file""" + if len(sys.argv) < 2: + print("Error: Specify config file") + sys.exit(0) + + file_name = sys.argv[1] + if os.path.exists(file_name): + return file_name + print("Error: No config file found") + sys.exit(0) + +def on_failure(): + """Handles shutdown on error""" + for lf in log_files: + lf.close() + try: + script_pid = os.getpid() + pid_list = os.popen("ps -ef | awk '{if ($3 == " + str(script_pid) + ") print $2 " " $3}'") + pid_list = pid_list.read().split("\n")[:-2] + print(pid_list) + for i in pid_list: + i = i.replace(str(script_pid), "") + temp = os.popen("ps -ef | awk '{if($3 == " + i + ") print $2 " " $3}'") + temp = temp.read().replace(str(i), "").replace("\n", "") + if temp != "": + _pid_for_nf = os.popen("ps -ef | awk '{if($3 == " + temp + ") print $2 " " $3}'") + _pid_for_nf = _pid_for_nf.read().replace(temp, "").replace("\n", "") + os.system("sudo kill " + _pid_for_nf) + except: + pass + print("Error occurred. Exiting...") + sys.exit(1) + +def on_timeout(): + """Handles shutdown on error""" + for lf in log_files: + lf.close() + try: + script_pid = os.getpid() + pid_list = os.popen("ps -ef | awk '{if ($3 == " + str(script_pid) + ") print $2 " " $3}'") + pid_list = pid_list.read().split("\n")[:-2] + for i in pid_list: + i = i.replace(str(script_pid), "") + temp = os.popen("ps -ef | awk '{if($3 == " + i + ") print $2 " " $3}'") + temp = temp.read().replace(str(i), "").replace("\n", "") + if temp != "": + _pid_for_nf = os.popen("ps -ef | awk '{if($3 == " + temp + ") print $2 " " $3}'") + _pid_for_nf = _pid_for_nf.read().replace(temp, "").replace("\n", "") + os.system("sudo kill " + _pid_for_nf) + except: + pass + print("Exiting...") + sys.exit(0) + +def running_services(): + """Checks running NFs""" + if timeout != 0: + start = time.time() + time.clock() + elapsed = 0 + while elapsed < timeout: + elapsed = time.time() - start + for pl in procs_list: + ret_code = pl.poll() + if ret_code is not None: + on_failure() + break + time.sleep(.1) + on_timeout() + else: + while 1: + for pl in procs_list: + ret_code = pl.poll() + if ret_code is not None: + on_failure() + break + time.sleep(.1) + +procs_list = [] +nf_list = [] +cmds_list = [] +log_files = [] +timeout = 0 +if __name__ == '__main__': + signal(SIGINT, handler) + if os.path.basename(os.getcwd()) != "examples": + print("Error: Run script from within /examples folder") + sys.exit(1) + + config_file = get_config() + + with open(config_file) as f: + try: + data = json.load(f) + except: + print("Cannot load config file. Check JSON syntax") + sys.exit(1) + + is_dir = 0 + for k, v in data.items(): + if k == "objects": + for item in v: + if "directory" in item: + if is_dir == 0: + log_dir = item["directory"] + if os.path.isdir(log_dir) is False: + try: + os.mkdir(log_dir) + print("Creating directory %s" % (log_dir)) + is_dir = 1 + except OSError: + print("Creation of directory %s failed" % (log_dir)) + on_failure() + else: + print("Outputting log files to %s" % (log_dir)) + is_dir = 1 + if "TTL" in item: + timeout = item["TTL"] + else: + for item in v: + nf_list.append(k) + cmds_list.append("./go.sh " + item['parameters']) + + if is_dir == 0: + time_obj = datetime.now().time() + log_dir = time_obj.strftime("%H:%M:%S") + os.mkdir(log_dir) + print("Creating directory %s" % (log_dir)) + is_dir = 1 + + for cmd, nf in zip(cmds_list, nf_list): + service_name = nf + instance_id = cmd.split() + log_file = "log-" + nf + "-" + instance_id[1] + ".txt" + log_files.append(open(os.path.join(log_dir, log_file), 'w')) + + i = 0 + cwd = os.getcwd() + for cmd, nf in zip(cmds_list, nf_list): + try: + os.chdir(nf) + except OSError: + print("Error: Unable to access NF directory %s." \ + " Check syntax in your configuration file" % (nf)) + sys.exit(1) + try: + p = Popen(shlex.split(cmd), stdout=(log_files[i]), stderr=log_files[i], \ + universal_newlines=True) + procs_list.append(p) + print("Starting %s %s" % (nf, cmd), flush=True) + i += 1 + except OSError: + pass + os.chdir(cwd) + + running_services() \ No newline at end of file diff --git a/examples/example_chain.json b/examples/example_chain.json new file mode 100644 index 000000000..2ced64bab --- /dev/null +++ b/examples/example_chain.json @@ -0,0 +1,15 @@ +{ + "simple_forward": [ + { + "parameters": "2 -d 1" + } + ], + "speed_tester": [ + { + "parameters": "1 -d 2 -c 16000" + }, + { + "parameters": "3 -d 3 -c 16000" + } + ] +} \ No newline at end of file diff --git a/onvm/go.sh b/onvm/go.sh index 3e95f506c..eb5af131b 100755 --- a/onvm/go.sh +++ b/onvm/go.sh @@ -108,9 +108,9 @@ then cd ../onvm_web/ || usage if [ -n "${web_port}" ] then - . start_web_console.sh -p "${web_port}" + sudo ./start_web_console.sh -p "${web_port}" else - . start_web_console.sh + sudo ./start_web_console.sh fi cd "$ONVM_HOME"/onvm || usage @@ -124,6 +124,5 @@ sudo "$SCRIPTPATH"/onvm_mgr/"$RTE_TARGET"/onvm_mgr -l "$cpu" -n 4 --proc-type=pr if [ "${stats}" = "-s web" ] then echo "Killing web stats running with PIDs: $ONVM_WEB_PID, $ONVM_WEB_PID2" - kill "$ONVM_WEB_PID" - kill "$ONVM_WEB_PID2" + sudo "$ONVM_HOME"/onvm_web/stop_web_interface.sh fi diff --git a/onvm_web/Dockerfile b/onvm_web/Dockerfile new file mode 100644 index 000000000..5aa7630b2 --- /dev/null +++ b/onvm_web/Dockerfile @@ -0,0 +1,38 @@ +# openNetVM +# https://sdnfv.github.io +# +# OpenNetVM is distributed under the following BSD LICENSE: +# +# Copyright(c) +# 2015-2018 George Washington University +# 2015-2018 University of California Riverside +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * The name of the author may not be used to endorse or promote +# products derived from this software without specific prior +# written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +FROM grafana/grafana +COPY ./provisioning /etc/grafana/provisioning \ No newline at end of file diff --git a/onvm_web/Prometheus.yml b/onvm_web/Prometheus.yml new file mode 100644 index 000000000..1d86026fe --- /dev/null +++ b/onvm_web/Prometheus.yml @@ -0,0 +1,35 @@ +global: + scrape_interval: 15s + scrape_timeout: 10s + evaluation_interval: 15s +alerting: + alertmanagers: + - static_configs: + - targets: [] + scheme: http + timeout: 10s + api_version: v1 + +# define new exporters under this +scrape_configs: +- job_name: prometheus + honor_timestamps: true + scrape_interval: 15s + scrape_timeout: 10s + metrics_path: /metrics + scheme: http + static_configs: + - targets: + - localhost:9090 + +# listen on node exporter +- job_name: node + static_configs: + - targets: + # keep this as HOSTIP, the bash script will automatically replace it with the correct ip address + - HOSTIP:9100 + +- job_name: push_gateway + static_configs: + - targets: + - HOSTIP:9091 \ No newline at end of file diff --git a/onvm_web/README.md b/onvm_web/README.md index 14f3ce387..59948a40d 100644 --- a/onvm_web/README.md +++ b/onvm_web/README.md @@ -6,6 +6,8 @@ Resources to view openNetVM Manager statistics through a web console. The [start web console][start_web] script will run cors_server.py (which is an extension of [Python's SimpleHTTPServer][simplehttp] which enables CORS) on port 8080 by default, or on a port of your specification using the `-p` flag. See more details for this in the **Usage** section below. +OpenNetVM web now supports using Grafana with Prometheus to extract more data metrics. Grafana server will run on its default port 3000, but the Grafana page can be accessed using the current web console. + ## Usage Start the openNetVM Manager following steps in either the [install @@ -52,6 +54,28 @@ cd onvm_web ./start_web_console.sh -p 9000 ``` +This would only start the web consle and display the web status, it would not start the onvm manager! + +## Install Guide + +Because Prometheus, Grafana and pushgateway api are running on their official docker image, please make sure you have `docker.io` installed on your machine. +If not, please run following command to install it first, otherwise prometheus server may not be able to properly started. + +```sh +sudo apt install docker.io +``` + +You also need to install pushgateway python client in order to run pushgateway +```sh +sudo pip install prometheus_client +``` + +The python server had been updated to flask server. In order to use flask server you need to install flask and flaks CORS in order to run the server +```sh +sudo pip install flask +sudo pip install -U flask_cors +``` + ## Design and Implementation Within OpenNetVM's [main.c file][onvm_main_c], the master thread initializes the system, starts other threads, then runs the stats in an infinite loop until the user kills or interrupts the process. The stats thread sleeps for a set amount of time, then updates the statistics. When run in web mode, it does this by outputting stats about ports and NFs into `onvm_json_stats.json` and outputting an event list into `onvm_json_events.json`, truncating the existing version of the file and overwriting with each iteration of the loop. @@ -105,6 +129,20 @@ sudo npm install uglify-js -g sudo npm install uglifycss -g ``` +## About Grafana + +OpenNetVM uses Grafana to display more data metrics collected by Prometheus. Currently the Grafana provisioning is set up to use prometheus as its default data source. The default dashboard will display some information about current CPU usage. + +To create new dashboards, you can simply create it in the Grafana server and then save the json format config file, and save it in grafana/conf/provisioning/dashboards folder. The provisioning file will automatically upload any new json format dashboards dynamically. + +To set up a new data source, you need to modify [datasource.yaml][datasource]. You can add additional data source below the current one, for more information on how to set up provision file, you can check [grafana_provision][Grafana Provision] for detailed information. The [datasource.yaml][datasource] also contains explainations on how to set up new data source. + +### About Prometheus + +Prometheus is a tool for collecting metrics. It also provides an internal query language PromQL that can search through the metrics and selectively represent them. The Prometheus server is running from the official docker image. The [Prometheus.yml][prometheus] set up file sets up the Prometheus to listen on the node exporter. To modify it, check out [prometheus_setup][prometheus setup page] for more information. + +Prometheus works with different exporters and collects information from different exporters. The node exporter can mainly extract information on your current machine. But there are other exporters that can be used to extract more information. + [install]: ../docs/Install.md [examples]: ../docs/Examples.md [start_web]: ./start_web_console.sh @@ -112,3 +150,7 @@ sudo npm install uglifycss -g [onvm_main_c]: ../onvm/onvm_mgr/main.c [app_wrapper_react_js]: ./react-app/src/AppWrapper.react.js [pubsub_js]: ./react-app/src/pubsub.js +[datasource.yaml]: ./conf/provisioning/datasources/datasources.yaml +[grafana_provision]: https://grafana.com/docs/grafana/latest/administration/provisioning/#provisioning-grafana +[Prometheus.yml]: ./Prometheus.yml +[prometheus_setup]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/ \ No newline at end of file diff --git a/onvm_web/cors_server.py b/onvm_web/cors_server.py index 19176258e..982e837f2 100644 --- a/onvm_web/cors_server.py +++ b/onvm_web/cors_server.py @@ -1,14 +1,195 @@ # Source: https://stackoverflow.com/questions/21956683/enable-access-control-on-simple-http-server +"""This is the original CORS server, this is no longer in use in experiment version""" -# PYTHON 2 ONLY +#!/usr/bin/env python3 +from http.server import HTTPServer, SimpleHTTPRequestHandler, test +import json +import subprocess +import os +import signal +import cgi -from SimpleHTTPServer import SimpleHTTPRequestHandler -import BaseHTTPServer +# use this variable to track if the nf is still running +# if the nf chain is running, 1 +# if the nf chain is not running, -1 +# pylint: disable=global-at-module-level +global is_running, pids +is_running = -1 +pids = [] -class CORSHandler(SimpleHTTPRequestHandler): +class CORSRequestHandler(SimpleHTTPRequestHandler): + """HTTP server to process onvm request""" def end_headers(self): + """Handle CORS request""" self.send_header('Access-Control-Allow-Origin', '*') + self.send_header('Access-Control-Allow-Methods', + 'GET,PUT,POST,DELETE,OPTIONS') + self.send_header('Access-Control-Allow-Headers', + 'Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization') SimpleHTTPRequestHandler.end_headers(self) + def do_POST(self): + """Handle post request""" + # if request type is form-data + if self.headers.get('content-type').split(";")[0] == 'multipart/form-data': + form = cgi.FieldStorage( + fp=self.rfile, + headers=self.headers, + environ={'REQUEST_METHOD': 'POST', + 'CONTENT_TYPE': self.headers['Content-Type'], + } + ) + for field in form.keys(): + field_item = form[field] + # filename = field_item.filename + filevalue = field_item.value + # filesize = len(filevalue) + with open("../examples/nf_chain_config.json", 'w+') as f: + f.write(str(filevalue, 'utf-8')) + self.send_message(200) + return + + # get request body and parse it into json format + post_body = self.rfile.read(int(self.headers.get('content-length'))) + post_body_json = json.loads(post_body) + + # parse request body + try: + request_type = post_body_json['request_type'] + except KeyError: + # if the body does not have request_type field + response = json.dumps( + {'status': '500', 'message': 'missing request type'}) + self.send_message(500, response) + return + + # handle start nf chain requests + if request_type == "start": + self.start_nf_chain() + # handle stop nf chain request + elif request_type == "stop": + self.stop_nf_chain() + else: + response = json.dumps( + {'status': '403', 'message': 'unknown request'}) + self.send_message(403, response) + + def do_OPTIONS(self): + """Handle option request""" + self.send_response(200) + self.end_headers() + + def start_nf_chain(self): + """Handle start NF chain event""" + global is_running, pids + + # check if the config file have been uploaded + if not os.path.getsize("../examples/nf_chain_config.json"): + response = json.dumps({'status': '403', 'message': 'no config file have been uploaded to the server'}) + self.send_message(403, response) + return None + + # check if the process is already started + is_running = self.check_is_running() + if is_running == 1: + response = json.dumps( + {'status': '403', 'message': 'nf chain already started'}) + self.send_message(403, response) + return None + try: + command = ['python3', '../examples/config.py', + '../examples/nf_chain_config.json'] + # start the process and change the state + log_file = open('./log.txt', 'w+') + os.chdir('../examples/') + p = subprocess.Popen(command, stdout=log_file, + stderr=log_file, universal_newlines=True) + is_running = 1 + # send success message + response_code = 200 + response = json.dumps( + {'status': '200', 'message': 'start nfs successed', 'pid': str(p.pid)}) + pids.append(p.pid) + # change back to web dir for correct output + os.chdir('../onvm_web/') + except OSError: + response_code = 500 + response = json.dumps( + {'status': '500', 'message': 'start nfs failed'}) + finally: + log_file.close() + self.send_message(response_code, response) + + # handle stop nf request + def stop_nf_chain(self): + """"Handle stop nf request""" + global is_running, pids + try: + # check if the process is already stopped + is_running = self.check_is_running() + if is_running == -1: + response = json.dumps( + {'status': '500', 'message': 'nf chain already stoped'}) + self.send_message(500, response) + return None + # open the log file to read the process name of the nfs + with open('./log.txt', 'r') as log_file: + log = log_file.readline() + while log is not None and log != "": + log_info = log.split(" ") + if log_info[0] == "Starting": + # get the pids of the nfs + command = "ps -ef | grep sudo | grep " + \ + log_info[1] + \ + " | grep -v 'grep' | awk '{print $2}'" + pids = os.popen(command) + pid_processes = pids.read() + if pid_processes != "": + pid_processes = pid_processes.split("\n") + for i in pid_processes: + if i != "": + os.kill(int(i), signal.SIGKILL) + log = log_file.readline() + # reset is_running + is_running = -1 + response_code = 200 + response = json.dumps( + {'status': '200', 'message': 'stop nfs successed'}) + self.send_message(response_code, response) + except OSError: + response_code = 500 + response = json.dumps( + {'status': '500', 'message': 'stop nfs failed'}) + self.send_message(response_code, response) + finally: + self.clear_log() + + def send_message(self, response_code, message=None): + """"Send response message""" + self.send_response(response_code) + self.end_headers() + if message is not None: + self.wfile.write(str.encode(message)) + + def check_is_running(self): + """Check if the nf is running""" + with open('./log.txt', 'r+') as log_file: + log = log_file.readline() + if log is None or log == "": + return -1 + while log is not None and log != "": + print("in checking") + log_info = log.split(" ") + if log_info[0] == "Error" or log_info[0] == "Exiting...": + return -1 + log = log_file.readline() + return 1 + + def clear_log(self): + """Clear output log""" + os.remove('./log.txt') + log_file = open('./log.txt', 'w+') + log_file.close() + if __name__ == '__main__': - BaseHTTPServer.test(CORSHandler, BaseHTTPServer.HTTPServer) + test(CORSRequestHandler, HTTPServer, port=8000) diff --git a/onvm_web/flask_server.py b/onvm_web/flask_server.py new file mode 100644 index 000000000..ba67c537e --- /dev/null +++ b/onvm_web/flask_server.py @@ -0,0 +1,191 @@ +#!usr/bin/env python3 + +# openNetVM +# https://sdnfv.github.io +# +# OpenNetVM is distributed under the following BSD LICENSE: +# +# Copyright(c) +# 2015-2017 George Washington University +# 2015-2017 University of California Riverside +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * The name of the author may not be used to endorse or promote +# products derived from this software without specific prior +# written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +"""This is the python server that handles onvm web request""" + +import os +import subprocess +import socket +from flask import Flask, request, make_response +from flask_cors import CORS + +app = Flask(__name__) +cors = CORS(app, resources={r"/*": {"origins": "*", "allow_headers": "*"}}) + +# pylint: disable=global-at-module-level +global chain_pid_dict, chain_counter +chain_pid_dict = {} +chain_counter = 1 + + +@app.route('/onvm_json_stats.json', methods=['GET']) +def handle_get_json_stats(): + """handle upload stats json file""" + with open("./onvm_json_stats.json", 'r') as data_f: + data = data_f.read() + resp = make_response() + resp.data = data + return resp, 200 + + +@app.route('/onvm_json_events.json', methods=['GET']) +def handle_get_json_events(): + """handle upload events json file""" + with open("./onvm_json_events.json", 'r') as events_f: + event = events_f.read() + resp = make_response() + resp.data = event + return resp + + +@app.route('/upload-file', methods=['POST']) +def handle_upload_file(): + """Handle upload file""" + try: + file_data = request.files['configFile'] + file_data.save("../examples/nf_chain_config.json") + return "upload file success", 200 + except KeyError: + return "upload file failed", 400 + + +@app.route('/start-nf', methods=['POST']) +def handle_start_nf(): + """Handle start nf""" + global chain_counter, chain_pid_dict + # check if the config file have been uploaded + if not os.path.getsize("../examples/nf_chain_config.json"): + return "config file not uploaded", 400 + # check if the process is already started + try: + command = ['python3', '../examples/config.py', + '../examples/nf_chain_config.json'] + # start the process + with open('./nf-chain-logs/log' + str(chain_counter) + '.txt', 'w+') as log_file: + os.chdir('../examples/') + p = subprocess.Popen(command, stdout=log_file, + stderr=log_file, universal_newlines=True) + chain_pid_dict[chain_counter] = [p.pid, 1] + # change back to web dir for correct output + os.chdir('../onvm_web/') + chain_counter += 1 + return "start nf chain success", 200 + except OSError: + return "start nf chain failed", 500 + + +@app.route('/stop-nf', methods=['POST']) +def handle_stop_nf(): + """Handle stop nf""" + global chain_pid_dict + try: + # get the chain id of which to be stopped + chain_id = int(request.get_json()['chain_id']) + # check if the process is already stopped + if chain_id != 0: + chain_pid_dict[chain_id][1] = check_is_running(chain_id) + if chain_pid_dict[chain_id][1] != 0: + # Stop the chain + _chain_pid_to_be_stopped = chain_pid_dict[chain_id][0] + if stop_nf_chain(_chain_pid_to_be_stopped): + return "failed to stop nf chain", 500 + del chain_pid_dict[chain_id] + return "stop nf chain success", 200 + # The chain is already stopped + del chain_pid_dict[chain_id] + return "chain already stopped", 400 + result = 1 + for key in chain_pid_dict: + if check_is_running(key) != 0: + if stop_nf_chain(chain_pid_dict[key][0]) == 0: + result = 0 + chain_pid_dict.clear() + if result == 0: + return "failed to stop nf chain", 500 + return "stop nf chain success", 200 + except KeyError: + return "failed to find the key", 400 + + +def stop_nf_chain(chain_id): + """Stop the chain with the id""" + try: + pid_list = os.popen( + "ps -ef | awk '{if ($3 == " + str(chain_id) + ") print $2}'") + pid_list = pid_list.read().split("\n")[:-2] + pd = pid_list[0] + temp = os.popen("ps -ef | awk '{if($3 == " + pd + ") print $2}'") + temp = temp.read().replace("\n", "") + if temp != "": + _pid_for_nf = os.popen( + "ps -ef | awk '{if($3 == " + temp + ") print $2}'") + _pid_for_nf = _pid_for_nf.read().replace("\n", "") + print(_pid_for_nf) + os.system("sudo kill " + _pid_for_nf) + clear_log(chain_id) + return 1 + except OSError: + return 0 + + +def check_is_running(chain_id): + """Check is the process running""" + with open('./nf-chain-logs/log' + str(chain_id) + '.txt', 'r') as log_file: + log = log_file.readline() + print(log) + if log is None or log == "": + return 0 + while log is not None and log != "": + log_info = log.split(" ") + if log_info[0] == "Error" or log_info[0] == "Exiting...": + return 0 + log = log_file.readline() + return 1 + + +def clear_log(chain_id): + """Clear the log with the input chain id""" + file_name = './nf-chain-logs/log' + str(chain_id) + '.txt' + os.remove(file_name) + + +if __name__ == "__main__": + host_name = socket.gethostname() + host_ip = socket.gethostbyname(host_name) + app.run(host=host_ip, port=8000, debug=False) diff --git a/onvm_web/grafana_use_guide.md b/onvm_web/grafana_use_guide.md new file mode 100644 index 000000000..56f60fee0 --- /dev/null +++ b/onvm_web/grafana_use_guide.md @@ -0,0 +1,55 @@ +# Grafana usage guide + +## Basic usage + +Grafana is running at `localhost:3000` by default. The default username and password are both `admin`. Upon first login, you can change the default password. + +Grafana has been set to listen to Prometheus by default. Prometheus is currently set up to listen to node_exporter. The default dashboards in Grafana is showing the data collected by Prometheus. + +There are two default dashboards, one is downloaded from grafana website, the other is a demo on how to setup a new dashboard. In the dashboard page you can select time interval, auto refresh rate on the top right corner. + +## Add new data souce + +To add new data source, select `configuration` then select `data sources`. Select the type of data source then enter the URL for that data source. There are other specific settings under that. + +## Add new dashboard + +You can add new dashboards by either make a new one or import one from the [grafana_lab][grafana website]. If you want to make one by yourself, you can select `create` then `dashboard` and make a new dashboard. Then you can add panels to the dashboard. In the panel you can add queries to select data to display. + +Alternatively you can select dashboards from grafana website. There are many useful dashboards in the website to use. To import a dashboard, first copy the dashboard ID, then select `create` then `import` and paste the ID. + +## Edit grafana provisioning + +The grafana provisioning files are in the [grafana_provision][grafana provision] folder. Grafana can add provsions for dashboard, data source and notifiers. You only need to modify the respective yaml files in each folder. + +To add new data source, you need to keep adding more entires after `prometheus`. In it you must include name of the source, type of the source (e.g. grafana, influxdb, grafite etc.), type of access (direct or proxy), and the URL of the data source. For the URL, if you are using a data souce that is localhost, regardless of using your own machine, nimbus, or cloudlab, you can write it in the format of `http://HOSTIP:PORT_NUMBER`, you only need to replace PORT_NUMBER with the actual port number, but you can leave HOSTIP as it is, the [start_web_sh][start_web_console.sh] will automatically fill in that host IP for you. + +There are other optional field you can include in your settings. They are all listed in the yaml file with some explanation. + +To add new dashboard, you do not need to change the yaml file. You only need to copy the json dashboard file into [grafana_dashboard][grafana dashboards] folder. Grafana will automatically read the dashboards from that folder. + +To add notifiers, just follow the examples in the yaml file and fill in the required field. + +## Edit grafana dashboard + +The grafana dashboard can be created by click the `create` button on the left and then create a new dashboard. Because some of the data collected are specific to each nf, it would be better to create new panels as you start up more nfs. Click add new panel on the dashboard page, and on the bottom left conor you can select specific metrics you want to display. Click that and you should see all the data metrics collected by grafana. + +You can select any of them to display them. To learn more about advanced query for grafana and prometheus, visit this page [prometheus_query][prometheus query]. + +## Save dashboard to local + +The simplest way to save dashboards is click `setting` button on the top right cornor of your dashboard page. Then find JSON Model on the left, and you should see the JSON form data of your dashboard. Copy paste that to your local device or save it in [grafana_dashboard][grafana dashboards] folder. + +# About Prometheus + +## How to push data to Prometheus + +Edit [pushgateway_script][pushgateway_monitor.py] to push data to prometheus pushgateway api. To do that, you can either make a new collector registry or use the same one. You need to push new data to the pushgateway URL with a description. For more information on how to use pushgateway client please visit [pushgateway_website][pushgateway python client] page. + +[grafana_lab]: https://grafana.com/grafana/plugins +[grafana_provision]: ./provisioning +[start_web_sh]: ./start_web_console.sh +[grafana_dashboard]: ./provisioning/dashboards +[prometheus_query]: https://prometheus.io/docs/prometheus/latest/querying/basics/ +[pushgateway_script]: ./pushgateway_monitor.py +[pushgateway_website]: https://github.com/prometheus/client_python \ No newline at end of file diff --git a/onvm_web/node_exporter/LICENSE b/onvm_web/node_exporter/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/onvm_web/node_exporter/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/onvm_web/node_exporter/NOTICE b/onvm_web/node_exporter/NOTICE new file mode 100644 index 000000000..970a9b237 --- /dev/null +++ b/onvm_web/node_exporter/NOTICE @@ -0,0 +1,17 @@ +Configurable modular Prometheus exporter for various node metrics. +Copyright 2013-2015 The Prometheus Authors + +This product includes software developed at +SoundCloud Ltd. (http://soundcloud.com/). + +The following components are included in this product: + +wifi +https://github.com/mdlayher/wifi +Copyright 2016-2017 Matt Layher +Licensed under the MIT License + +netlink +https://github.com/mdlayher/netlink +Copyright 2016-2017 Matt Layher +Licensed under the MIT License diff --git a/onvm_web/node_exporter/node_exporter b/onvm_web/node_exporter/node_exporter new file mode 100755 index 000000000..b0a8b6488 Binary files /dev/null and b/onvm_web/node_exporter/node_exporter differ diff --git a/onvm_web/provisioning/dashboards/grafana_dashboards/nf_stats.json b/onvm_web/provisioning/dashboards/grafana_dashboards/nf_stats.json new file mode 100644 index 000000000..ca8a49d37 --- /dev/null +++ b/onvm_web/provisioning/dashboards/grafana_dashboards/nf_stats.json @@ -0,0 +1,142 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 3, + "links": [], + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 0 + }, + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "percentage": false, + "pluginVersion": "7.1.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "onvm_nf_stats", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "onvm_nf_stats", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "schemaVersion": 26, + "style": "dark", + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "", + "title": "ONVM NF Stats", + "uid": "Wsfk6LIMk", + "version": 2 + } \ No newline at end of file diff --git a/onvm_web/provisioning/dashboards/grafana_dashboards/node_exporter_monitor.json b/onvm_web/provisioning/dashboards/grafana_dashboards/node_exporter_monitor.json new file mode 100644 index 000000000..ac5671ee8 --- /dev/null +++ b/onvm_web/provisioning/dashboards/grafana_dashboards/node_exporter_monitor.json @@ -0,0 +1,3671 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "【English version】Update 2020.06.28, add the overall resource overview! Support Grafana6&7,Support Node Exporter v0.16 and above.Optimize the main metrics display. Includes: CPU, memory, disk IO, network, temperature and other monitoring metrics。https://github.com/starsliao/Prometheus", + "editable": true, + "gnetId": 11074, + "graphTooltip": 0, + "id": 2, + "iteration": 1594343160554, + "links": [ + { + "icon": "external link", + "tags": [], + "targetBlank": true, + "title": "Update node_exporter", + "tooltip": "", + "type": "link", + "url": "https://github.com/prometheus/node_exporter/releases" + }, + { + "icon": "external link", + "tags": [], + "targetBlank": true, + "title": "Update Dashboards", + "tooltip": "", + "type": "link", + "url": "https://grafana.com/dashboards/8919" + }, + { + "icon": "external link", + "tags": [], + "targetBlank": true, + "title": "StarsL.cn", + "tooltip": "", + "type": "link", + "url": "https://starsl.cn" + }, + { + "asDropdown": true, + "icon": "external link", + "tags": [], + "targetBlank": true, + "title": "", + "type": "dashboards" + } + ], + "panels": [ + { + "collapsed": false, + "datasource": "Prometheus", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 187, + "panels": [], + "title": "Resource Overview (associated JOB),Host:【$show_hostname】Instance:$node", + "type": "row" + }, + { + "columns": [], + "datasource": "Prometheus", + "description": "Partition utilization, disk read, disk write, download bandwidth, upload bandwidth, if there are multiple network cards or multiple partitions, it is the value of the network card or partition with the highest utilization rate collected.", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fontSize": "100%", + "gridPos": { + "h": 12, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 185, + "pageSize": 10, + "showHeader": true, + "sort": { + "col": 5, + "desc": false + }, + "styles": [ + { + "alias": "Hostname", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 1, + "link": false, + "linkTooltip": "", + "linkUrl": "", + "mappingType": 1, + "pattern": "nodename", + "thresholds": [], + "type": "string", + "unit": "bytes" + }, + { + "alias": "IP(Link to details)", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "link": true, + "linkTargetBlank": false, + "linkTooltip": "Browse host details", + "linkUrl": "/d/hb7fSE0Zz/node-exporter-en?orgId=1&var-job=${job}&var-hostname=All&var-node=${__cell}&var-device=All", + "mappingType": 1, + "pattern": "instance", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Memory", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "link": false, + "mappingType": 1, + "pattern": "Value #B", + "thresholds": [], + "type": "number", + "unit": "bytes" + }, + { + "alias": "CPU Cores", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": null, + "mappingType": 1, + "pattern": "Value #C", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "Uptime", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #D", + "thresholds": [], + "type": "number", + "unit": "s" + }, + { + "alias": "Partition used%*", + "align": "auto", + "colorMode": "cell", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #E", + "thresholds": [ + "70", + "85" + ], + "type": "number", + "unit": "percent" + }, + { + "alias": "CPU used%", + "align": "auto", + "colorMode": "cell", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #F", + "thresholds": [ + "70", + "85" + ], + "type": "number", + "unit": "percent" + }, + { + "alias": "Memory used%", + "align": "auto", + "colorMode": "cell", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #G", + "thresholds": [ + "70", + "85" + ], + "type": "number", + "unit": "percent" + }, + { + "alias": "Disk read*", + "align": "auto", + "colorMode": "cell", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #H", + "thresholds": [ + "10485760", + "20485760" + ], + "type": "number", + "unit": "Bps" + }, + { + "alias": "Disk write*", + "align": "auto", + "colorMode": "cell", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #I", + "thresholds": [ + "10485760", + "20485760" + ], + "type": "number", + "unit": "Bps" + }, + { + "alias": "Download*", + "align": "auto", + "colorMode": "cell", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #J", + "thresholds": [ + "30485760", + "104857600" + ], + "type": "number", + "unit": "bps" + }, + { + "alias": "Upload*", + "align": "auto", + "colorMode": "cell", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #K", + "thresholds": [ + "30485760", + "104857600" + ], + "type": "number", + "unit": "bps" + }, + { + "alias": "5m load", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #L", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "", + "align": "right", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "node_uname_info{job=~\"$job\"} - 0", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "主机名", + "refId": "A" + }, + { + "expr": "sum(time() - node_boot_time_seconds{job=~\"$job\"})by(instance)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "运行时间", + "refId": "D" + }, + { + "expr": "node_memory_MemTotal_bytes{job=~\"$job\"} - 0", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "总内存", + "refId": "B" + }, + { + "expr": "count(node_cpu_seconds_total{job=~\"$job\",mode='system'}) by (instance)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "总核数", + "refId": "C" + }, + { + "expr": "node_load5{job=~\"$job\"}", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "5分钟负载", + "refId": "L" + }, + { + "expr": "(1 - avg(irate(node_cpu_seconds_total{job=~\"$job\",mode=\"idle\"}[5m])) by (instance)) * 100", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "CPU使用率", + "refId": "F" + }, + { + "expr": "(1 - (node_memory_MemAvailable_bytes{job=~\"$job\"} / (node_memory_MemTotal_bytes{job=~\"$job\"})))* 100", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "内存使用率", + "refId": "G" + }, + { + "expr": "max((node_filesystem_size_bytes{job=~\"$job\",fstype=~\"ext.?|xfs\"}-node_filesystem_free_bytes{job=~\"$job\",fstype=~\"ext.?|xfs\"}) *100/(node_filesystem_avail_bytes {job=~\"$job\",fstype=~\"ext.?|xfs\"}+(node_filesystem_size_bytes{job=~\"$job\",fstype=~\"ext.?|xfs\"}-node_filesystem_free_bytes{job=~\"$job\",fstype=~\"ext.?|xfs\"})))by(instance)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "分区使用率", + "refId": "E" + }, + { + "expr": "max(irate(node_disk_read_bytes_total{job=~\"$job\"}[5m])) by (instance)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "最大读取", + "refId": "H" + }, + { + "expr": "max(irate(node_disk_written_bytes_total{job=~\"$job\"}[5m])) by (instance)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "最大写入", + "refId": "I" + }, + { + "expr": "max(irate(node_network_receive_bytes_total{job=~\"$job\"}[5m])*8) by (instance)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "下载带宽", + "refId": "J" + }, + { + "expr": "max(irate(node_network_transmit_bytes_total{job=~\"$job\"}[5m])*8) by (instance)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "上传带宽", + "refId": "K" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Server Resource Overview (10 lines per page)", + "transform": "table", + "type": "table-old" + }, + { + "aliasColors": { + "192.168.200.241:9100_Total": "dark-red", + "Idle - Waiting for something to happen": "#052B51", + "guest": "#9AC48A", + "idle": "#052B51", + "iowait": "#EAB839", + "irq": "#BF1B00", + "nice": "#C15C17", + "sdb_每秒I/O操作%": "#d683ce", + "softirq": "#E24D42", + "steal": "#FCE2DE", + "system": "#508642", + "user": "#5195CE", + "磁盘花费在I/O操作占比": "#ba43a9" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": null, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 13 + }, + "hiddenSeries": false, + "id": 191, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 6, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [ + { + "alias": "Overall average used%", + "lines": false, + "pointradius": 1, + "points": true, + "yaxis": 2 + }, + { + "alias": "CPU Cores", + "color": "#C4162A" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "count(node_cpu_seconds_total{job=~\"$job\", mode='system'})", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "CPU Cores", + "refId": "B", + "step": 240 + }, + { + "expr": "sum(node_load5{job=~\"$job\"})", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Total 5m load", + "refId": "A", + "step": 240 + }, + { + "expr": "avg(1 - avg(irate(node_cpu_seconds_total{job=~\"$job\",mode=\"idle\"}[5m])) by (instance)) * 100", + "format": "time_series", + "hide": false, + "interval": "30m", + "intervalFactor": 1, + "legendFormat": "Overall average used%", + "refId": "F", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$job:Overall total 5m load & average CPU used%", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "short", + "label": "Total 5m load", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "decimals": 0, + "format": "percent", + "label": "Overall average used%", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "192.168.200.241:9100_总内存": "dark-red", + "内存_Avaliable": "#6ED0E0", + "内存_Cached": "#EF843C", + "内存_Free": "#629E51", + "内存_Total": "#6d1f62", + "内存_Used": "#eab839", + "可用": "#9ac48a", + "总内存": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 1, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 13 + }, + "height": "300", + "hiddenSeries": false, + "id": 195, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sort": "current", + "sortDesc": false, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Total", + "color": "#C4162A", + "fill": 0 + }, + { + "alias": "Overall Average Used%", + "lines": false, + "pointradius": 1, + "points": true, + "yaxis": 2 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(node_memory_MemTotal_bytes{job=~\"$job\"})", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Total", + "refId": "A", + "step": 4 + }, + { + "expr": "sum(node_memory_MemTotal_bytes{job=~\"$job\"} - node_memory_MemAvailable_bytes{job=~\"$job\"})", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Total Used", + "refId": "B", + "step": 4 + }, + { + "expr": "(sum(node_memory_MemTotal_bytes{job=~\"$job\"} - node_memory_MemAvailable_bytes{job=~\"$job\"}) / sum(node_memory_MemTotal_bytes{job=~\"$job\"}))*100", + "format": "time_series", + "hide": false, + "interval": "30m", + "intervalFactor": 1, + "legendFormat": "Overall Average Used%", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$job:Overall total memory & average memory used%", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "bytes", + "label": "Total", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "decimals": null, + "format": "percent", + "label": "Overall Average Used%", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 1, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 13 + }, + "hiddenSeries": false, + "id": 197, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Overall Average Used%", + "lines": false, + "pointradius": 1, + "points": true, + "yaxis": 2 + }, + { + "alias": "Total", + "color": "#C4162A" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(avg(node_filesystem_size_bytes{job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Total", + "refId": "E" + }, + { + "expr": "sum(avg(node_filesystem_size_bytes{job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance)) - sum(avg(node_filesystem_free_bytes{job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Total Used", + "refId": "C" + }, + { + "expr": "(sum(avg(node_filesystem_size_bytes{job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance)) - sum(avg(node_filesystem_free_bytes{job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))) *100/(sum(avg(node_filesystem_avail_bytes{job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))+(sum(avg(node_filesystem_size_bytes{job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance)) - sum(avg(node_filesystem_free_bytes{job=~\"$job\",fstype=~\"xfs|ext.*\"})by(device,instance))))", + "format": "time_series", + "instant": false, + "interval": "30m", + "intervalFactor": 1, + "legendFormat": "Overall Average Used%", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$job:Overall total disk & average disk used%", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 1, + "format": "bytes", + "label": "Total", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "decimals": null, + "format": "percent", + "label": "Overall Average Used%", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": "Prometheus", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 21 + }, + "id": 189, + "panels": [], + "title": "Resource Details:【$show_hostname】", + "type": "row" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorPostfix": false, + "colorPrefix": false, + "colorValue": true, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "decimals": 0, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "s", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "threshcisLabels": false, + "threshcisMarkers": true + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 0, + "y": 22 + }, + "hideTimeOverride": true, + "id": 15, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "null", + "nullText": null, + "pluginVersion": "6.4.2", + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "avg(time() - node_boot_time_seconds{instance=~\"$node\"})", + "format": "time_series", + "hide": false, + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A", + "step": 40 + } + ], + "threshciss": "1,2", + "thresholds": "1,3", + "title": "Uptime", + "type": "singlestat", + "valueFontSize": "70%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "decimals": 1, + "displayName": "", + "mappings": [ + { + "from": "", + "id": 1, + "operator": "", + "text": "N/A", + "to": "", + "type": 1, + "value": "0" + } + ], + "max": 100, + "min": 0.1, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 70 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 3, + "x": 2, + "y": 22 + }, + "id": 177, + "options": { + "displayMode": "lcd", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showUnfilled": true + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "100 - (avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"idle\"}[5m])) * 100)", + "instant": true, + "interval": "", + "legendFormat": "CPU Busy", + "refId": "A" + }, + { + "expr": "(1 - (node_memory_MemAvailable_bytes{instance=~\"$node\"} / (node_memory_MemTotal_bytes{instance=~\"$node\"})))* 100", + "instant": true, + "interval": "", + "legendFormat": "Used RAM Memory", + "refId": "B" + }, + { + "expr": "(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"})*100 /(node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"}+(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint=\"$maxmount\"}))", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "Used Max Mount($maxmount)", + "refId": "D" + }, + { + "expr": "(1 - ((node_memory_SwapFree_bytes{instance=~\"$node\"} + 1)/ (node_memory_SwapTotal_bytes{instance=~\"$node\"} + 1))) * 100", + "instant": true, + "interval": "", + "legendFormat": "Used SWAP", + "refId": "F" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "", + "type": "bargauge" + }, + { + "columns": [], + "datasource": "Prometheus", + "description": "In this kanban: the total disk, usage, available, and usage rate are consistent with the values of the Size, Used, Avail, and Use% columns of the df command, and the value of Use% will be rounded to one decimal place, which will be more accurate .\n\nNote: The Use% algorithm in df is: (size-free) * 100 / (avail + (size-free)), the result is divisible by this value, non-divisible by this value is +1, and the unit of the result is %.\nRefer to the df command source code:", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fontSize": "100%", + "gridPos": { + "h": 6, + "w": 10, + "x": 5, + "y": 22 + }, + "id": 181, + "links": [ + { + "targetBlank": true, + "title": "https://github.com/coreutils/coreutils/blob/master/src/df.c", + "url": "https://github.com/coreutils/coreutils/blob/master/src/df.c" + } + ], + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": 6, + "desc": false + }, + "styles": [ + { + "alias": "Mounted on", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "mountpoint", + "thresholds": [ + "" + ], + "type": "string", + "unit": "bytes" + }, + { + "alias": "Avail", + "align": "auto", + "colorMode": "value", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 1, + "mappingType": 1, + "pattern": "Value #A", + "thresholds": [ + "10000000000", + "20000000000" + ], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Used", + "align": "auto", + "colorMode": "cell", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 1, + "mappingType": 1, + "pattern": "Value #B", + "thresholds": [ + "70", + "85" + ], + "type": "number", + "unit": "percent" + }, + { + "alias": "Size", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "link": false, + "mappingType": 1, + "pattern": "Value #C", + "thresholds": [], + "type": "number", + "unit": "bytes" + }, + { + "alias": "Filesystem", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "link": false, + "mappingType": 1, + "pattern": "fstype", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Device", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "link": false, + "mappingType": 1, + "pattern": "device", + "preserveFormat": false, + "sanitize": false, + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "preserveFormat": true, + "sanitize": false, + "thresholds": [], + "type": "hidden", + "unit": "short" + } + ], + "targets": [ + { + "expr": "node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-0", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "总量", + "refId": "C" + }, + { + "expr": "node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-0", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + }, + { + "expr": "(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}) *100/(node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}+(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}))", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "B" + } + ], + "title": "【$show_hostname】:Disk Space Used Basic(EXT?/XFS)", + "transform": "table", + "type": "table-old" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "Prometheus", + "decimals": 2, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 15, + "y": 22 + }, + "id": 20, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "pluginVersion": "6.4.2", + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "#3274D9", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"iowait\"}[5m])) * 100", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A", + "step": 20 + } + ], + "thresholds": "20,50", + "timeFrom": null, + "timeShift": null, + "title": "CPU iowait", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "aliasColors": { + "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_cni0_in": "light-red", + "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_cni0_in下载": "green", + "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_cni0_out上传": "yellow", + "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_eth0_in下载": "purple", + "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_eth0_out": "purple", + "cn-shenzhen.i-wz9cq1dcb6zwc39ehw59_eth0_out上传": "blue" + }, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 6, + "w": 7, + "x": 17, + "y": 22 + }, + "hiddenSeries": false, + "id": 183, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": false, + "show": false, + "sort": "current", + "sortDesc": true, + "total": true, + "values": true + }, + "lines": false, + "linewidth": 2, + "links": [], + "nullPointMode": "null as zero", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 1, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [ + { + "alias": "/.*_transmit$/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "increase(node_network_receive_bytes_total{instance=~\"$node\",device=~\"$device\"}[60m])", + "interval": "60m", + "intervalFactor": 1, + "legendFormat": "{{device}}_receive", + "metric": "", + "refId": "A", + "step": 600, + "target": "" + }, + { + "expr": "increase(node_network_transmit_bytes_total{instance=~\"$node\",device=~\"$device\"}[60m])", + "hide": false, + "interval": "60m", + "intervalFactor": 1, + "legendFormat": "{{device}}_transmit", + "refId": "B", + "step": 600 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Internet traffic per hour $device", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": "transmit(-)/receive(+)", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorPostfix": false, + "colorValue": true, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "short", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 0, + "y": 24 + }, + "id": 14, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 6, + "nullPointMode": "null", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(node_cpu_seconds_total{instance=~\"$node\", mode='system'})", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A", + "step": 20 + } + ], + "thresholds": "1,2", + "title": "CPU Cores", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorPostfix": false, + "colorValue": true, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "decimals": null, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "short", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 15, + "y": 24 + }, + "id": 179, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 6, + "nullPointMode": "null", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "avg(node_filesystem_files_free{instance=~\"$node\",mountpoint=\"$maxmount\",fstype=~\"ext.?|xfs\"})", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A", + "step": 20 + } + ], + "thresholds": "100000,1000000", + "title": "Free inodes:$maxmount ", + "type": "singlestat", + "valueFontSize": "70%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "decimals": 0, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "bytes", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 0, + "y": 26 + }, + "id": 75, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 6, + "nullPointMode": "null", + "nullText": null, + "postfix": "", + "postfixFontSize": "70%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(node_memory_MemTotal_bytes{instance=~\"$node\"})", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{instance}}", + "refId": "A", + "step": 20 + } + ], + "thresholds": "2,3", + "title": "Total RAM", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorPostfix": false, + "colorValue": true, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "decimals": null, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "locale", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 15, + "y": 26 + }, + "id": 178, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 6, + "nullPointMode": "null", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "avg(node_filefd_maximum{instance=~\"$node\"})", + "format": "time_series", + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A", + "step": 20 + } + ], + "thresholds": "1024,10000", + "title": "Total filefd", + "type": "singlestat", + "valueFontSize": "70%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "aliasColors": { + "192.168.200.241:9100_Total": "dark-red", + "Idle - Waiting for something to happen": "#052B51", + "guest": "#9AC48A", + "idle": "#052B51", + "iowait": "#EAB839", + "irq": "#BF1B00", + "nice": "#C15C17", + "sdb_每秒I/O操作%": "#d683ce", + "softirq": "#E24D42", + "steal": "#FCE2DE", + "system": "#508642", + "user": "#5195CE", + "磁盘花费在I/O操作占比": "#ba43a9" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 28 + }, + "hiddenSeries": false, + "id": 7, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 6, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [ + { + "alias": "/.*Total/", + "color": "#C4162A", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"system\"}[5m])) by (instance) *100", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "System", + "refId": "A", + "step": 20 + }, + { + "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"user\"}[5m])) by (instance) *100", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "User", + "refId": "B", + "step": 240 + }, + { + "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"iowait\"}[5m])) by (instance) *100", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Iowait", + "refId": "D", + "step": 240 + }, + { + "expr": "(1 - avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"idle\"}[5m])) by (instance))*100", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Total", + "refId": "F", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "CPU% Basic", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "percent", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "192.168.200.241:9100_总内存": "dark-red", + "使用率": "yellow", + "内存_Avaliable": "#6ED0E0", + "内存_Cached": "#EF843C", + "内存_Free": "#629E51", + "内存_Total": "#6d1f62", + "内存_Used": "#eab839", + "可用": "#9ac48a", + "总内存": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 28 + }, + "height": "300", + "hiddenSeries": false, + "id": 156, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Total", + "color": "#C4162A", + "fill": 0 + }, + { + "alias": "Used%", + "color": "rgb(0, 209, 255)", + "lines": false, + "pointradius": 1, + "points": true, + "yaxis": 2 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "node_memory_MemTotal_bytes{instance=~\"$node\"}", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Total", + "refId": "A", + "step": 4 + }, + { + "expr": "node_memory_MemTotal_bytes{instance=~\"$node\"} - node_memory_MemAvailable_bytes{instance=~\"$node\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Used", + "refId": "B", + "step": 4 + }, + { + "expr": "node_memory_MemAvailable_bytes{instance=~\"$node\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "Avaliable", + "refId": "F", + "step": 4 + }, + { + "expr": "(1 - (node_memory_MemAvailable_bytes{instance=~\"$node\"} / (node_memory_MemTotal_bytes{instance=~\"$node\"})))* 100", + "format": "time_series", + "hide": false, + "interval": "30m", + "intervalFactor": 10, + "legendFormat": "Used%", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Memory Basic", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "percent", + "label": "Utilization%", + "logBase": 1, + "max": "100", + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "192.168.10.227:9100_em1_in下载": "super-light-green", + "192.168.10.227:9100_em1_out上传": "dark-blue" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 28 + }, + "height": "300", + "hiddenSeries": false, + "id": 157, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/.*_transmit$/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(node_network_receive_bytes_total{instance=~'$node',device=~\"$device\"}[5m])*8", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{device}}_receive", + "refId": "A", + "step": 4 + }, + { + "expr": "irate(node_network_transmit_bytes_total{instance=~'$node',device=~\"$device\"}[5m])*8", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{device}}_transmit", + "refId": "B", + "step": 4 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Network bandwidth usage per second $device", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bps", + "label": "transmit(-)/receive(+)", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "15分钟": "#6ED0E0", + "1分钟": "#BF1B00", + "5分钟": "#CCA300" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 1, + "grid": {}, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 36 + }, + "height": "300", + "hiddenSeries": false, + "id": 13, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 6, + "nullPointMode": "null as zero", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "seriesOverrides": [ + { + "alias": "/.*CPU cores/", + "color": "#C4162A" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "node_load1{instance=~\"$node\"}", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "1m", + "metric": "", + "refId": "A", + "step": 20, + "target": "" + }, + { + "expr": "node_load5{instance=~\"$node\"}", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "5m", + "refId": "B", + "step": 20 + }, + { + "expr": "node_load15{instance=~\"$node\"}", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "15m", + "refId": "C", + "step": 20 + }, + { + "expr": " sum(count(node_cpu_seconds_total{instance=~\"$node\", mode='system'}) by (cpu,instance)) by(instance)", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "CPU cores", + "refId": "D", + "step": 20 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "System Load", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "vda_write": "#6ED0E0" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "description": "Per second read / write bytes ", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 1, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 36 + }, + "height": "300", + "hiddenSeries": false, + "id": 168, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": true, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/.*_Read bytes$/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(node_disk_read_bytes_total{instance=~\"$node\"}[5m])", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{device}}_Read bytes", + "refId": "A", + "step": 10 + }, + { + "expr": "irate(node_disk_written_bytes_total{instance=~\"$node\"}[5m])", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{device}}_Written bytes", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Disk R/W Data", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "Bps", + "label": "Bytes read (-) / write (+)", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 1, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 36 + }, + "hiddenSeries": false, + "id": 174, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}) *100/(node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}+(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}-node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext.*|xfs\",mountpoint !~\".*pod.*\"}))", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{mountpoint}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Disk Space Used% Basic", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "percent", + "label": "", + "logBase": 1, + "max": "100", + "min": "0", + "show": true + }, + { + "decimals": 2, + "format": "percentunit", + "label": null, + "logBase": 1, + "max": "1", + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "vda_write": "#6ED0E0" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "description": "Read/write completions per second", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 44 + }, + "height": "300", + "hiddenSeries": false, + "id": 161, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": true, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/.*_Reads completed$/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(node_disk_reads_completed_total{instance=~\"$node\"}[5m])", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{device}}_Reads completed", + "refId": "A", + "step": 10 + }, + { + "expr": "irate(node_disk_writes_completed_total{instance=~\"$node\"}[5m])", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{device}}_Writes completed", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Disk IOps Completed(IOPS)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "iops", + "label": "IO read (-) / write (+)", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "Idle - Waiting for something to happen": "#052B51", + "guest": "#9AC48A", + "idle": "#052B51", + "iowait": "#EAB839", + "irq": "#BF1B00", + "nice": "#C15C17", + "sdb_每秒I/O操作%": "#d683ce", + "softirq": "#E24D42", + "steal": "#FCE2DE", + "system": "#508642", + "user": "#5195CE", + "磁盘花费在I/O操作占比": "#ba43a9" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": null, + "description": "The time spent on I/O in the natural time of each second.(wall-clock time)", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 44 + }, + "hiddenSeries": false, + "id": 175, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": null, + "sort": null, + "sortDesc": null, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 6, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(node_disk_io_time_seconds_total{instance=~\"$node\"}[5m])", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{device}}_ IO time", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Time Spent Doing I/Os", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "percentunit", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "vda": "#6ED0E0" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "description": "Time spent on each read/write operation", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 44 + }, + "height": "300", + "hiddenSeries": false, + "id": 160, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": true, + "show": true, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null as zero", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/,*_Read time$/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(node_disk_read_time_seconds_total{instance=~\"$node\"}[5m]) / irate(node_disk_reads_completed_total{instance=~\"$node\"}[5m])", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{device}}_Read time", + "refId": "B" + }, + { + "expr": "irate(node_disk_write_time_seconds_total{instance=~\"$node\"}[5m]) / irate(node_disk_writes_completed_total{instance=~\"$node\"}[5m])", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{device}}_Write time", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Disk R/W Time(Reference: less than 100ms)(beta)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "s", + "label": "Time read (-) / write (+)", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "192.168.200.241:9100_TCP_alloc": "semi-dark-blue", + "TCP": "#6ED0E0", + "TCP_alloc": "blue" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "description": "Sockets_used - Sockets currently in use\n\nCurrEstab - TCP connections for which the current state is either ESTABLISHED or CLOSE- WAIT\n\nTCP_alloc - Allocated sockets\n\nTCP_tw - Sockets wating close\n\nUDP_inuse - Udp sockets currently in use\n\nRetransSegs - TCP retransmission packets\n\nOutSegs - Number of packets sent by TCP\n\nInSegs - Number of packets received by TCP", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 16, + "x": 0, + "y": 53 + }, + "height": "300", + "hiddenSeries": false, + "id": 158, + "interval": "", + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": null, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/.*Sockets_used/", + "color": "#E02F44", + "lines": false, + "pointradius": 1, + "points": true, + "yaxis": 2 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "node_netstat_Tcp_CurrEstab{instance=~'$node'}", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "CurrEstab", + "refId": "A", + "step": 20 + }, + { + "expr": "node_sockstat_TCP_tw{instance=~'$node'}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "TCP_tw", + "refId": "D" + }, + { + "expr": "node_sockstat_sockets_used{instance=~'$node'}", + "hide": false, + "interval": "30m", + "intervalFactor": 1, + "legendFormat": "Sockets_used", + "refId": "B" + }, + { + "expr": "node_sockstat_UDP_inuse{instance=~'$node'}", + "interval": "", + "legendFormat": "UDP_inuse", + "refId": "C" + }, + { + "expr": "node_sockstat_TCP_alloc{instance=~'$node'}", + "interval": "", + "legendFormat": "TCP_alloc", + "refId": "E" + }, + { + "expr": "irate(node_netstat_Tcp_PassiveOpens{instance=~'$node'}[5m])", + "hide": true, + "interval": "", + "legendFormat": "{{instance}}_Tcp_PassiveOpens", + "refId": "G" + }, + { + "expr": "irate(node_netstat_Tcp_ActiveOpens{instance=~'$node'}[5m])", + "hide": true, + "interval": "", + "legendFormat": "{{instance}}_Tcp_ActiveOpens", + "refId": "F" + }, + { + "expr": "irate(node_netstat_Tcp_InSegs{instance=~'$node'}[5m])", + "interval": "", + "legendFormat": "Tcp_InSegs", + "refId": "H" + }, + { + "expr": "irate(node_netstat_Tcp_OutSegs{instance=~'$node'}[5m])", + "interval": "", + "legendFormat": "Tcp_OutSegs", + "refId": "I" + }, + { + "expr": "irate(node_netstat_Tcp_RetransSegs{instance=~'$node'}[5m])", + "hide": false, + "interval": "", + "legendFormat": "Tcp_RetransSegs", + "refId": "J" + }, + { + "expr": "irate(node_netstat_TcpExt_ListenDrops{instance=~'$node'}[5m])", + "hide": true, + "interval": "", + "legendFormat": "", + "refId": "K" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Network Sockstat", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": "Total_Sockets_used", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "filefd_192.168.200.241:9100": "super-light-green", + "switches_192.168.200.241:9100": "semi-dark-red", + "使用的文件描述符_10.118.72.128:9100": "red", + "每秒上下文切换次数_10.118.71.245:9100": "yellow", + "每秒上下文切换次数_10.118.72.128:9100": "yellow" + }, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 1, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 53 + }, + "hiddenSeries": false, + "hideTimeOverride": false, + "id": 16, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "6.4.2", + "pointradius": 1, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "switches", + "color": "#FADE2A", + "lines": false, + "pointradius": 1, + "points": true, + "yaxis": 2 + }, + { + "alias": "used filefd", + "color": "#F2495C" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "node_filefd_allocated{instance=~\"$node\"}", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 5, + "legendFormat": "used filefd", + "refId": "B" + }, + { + "expr": "irate(node_context_switches_total{instance=~\"$node\"}[5m])", + "interval": "", + "intervalFactor": 5, + "legendFormat": "switches", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Open File Descriptor(left)/Context switches(right)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": "used filefd", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": "context_switches", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "5s", + "schemaVersion": 25, + "style": "dark", + "tags": [ + "Prometheus", + "node_exporter", + "StarsL.cn" + ], + "templating": { + "list": [ + { + "allValue": null, + "current": { + "selected": false, + "text": "node", + "value": "node" + }, + "datasource": "Prometheus", + "definition": "label_values(node_uname_info, job)", + "hide": 0, + "includeAll": false, + "label": "JOB", + "multi": false, + "name": "job", + "options": [], + "query": "label_values(node_uname_info, job)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": true, + "text": "All", + "value": "$__all" + }, + "datasource": "Prometheus", + "definition": "label_values(node_uname_info{job=~\"$job\"}, nodename)", + "hide": 0, + "includeAll": true, + "label": "Host", + "multi": false, + "name": "hostname", + "options": [], + "query": "label_values(node_uname_info{job=~\"$job\"}, nodename)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allFormat": "glob", + "allValue": null, + "current": { + "selected": false, + "text": "128.105.145.61:9100", + "value": "128.105.145.61:9100" + }, + "datasource": "Prometheus", + "definition": "label_values(node_uname_info{job=~\"$job\",nodename=~\"$hostname\"},instance)", + "hide": 0, + "includeAll": false, + "label": "Instance", + "multi": true, + "multiFormat": "regex values", + "name": "node", + "options": [], + "query": "label_values(node_uname_info{job=~\"$job\",nodename=~\"$hostname\"},instance)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allFormat": "glob", + "allValue": null, + "current": { + "selected": true, + "tags": [], + "text": "All", + "value": [ + "$__all" + ] + }, + "datasource": "Prometheus", + "definition": "label_values(node_network_info{device!~'tap.*|veth.*|br.*|docker.*|virbr.*|lo.*|cni.*'},device)", + "hide": 0, + "includeAll": true, + "label": "NIC", + "multi": true, + "multiFormat": "regex values", + "name": "device", + "options": [], + "query": "label_values(node_network_info{device!~'tap.*|veth.*|br.*|docker.*|virbr.*|lo.*|cni.*'},device)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "/", + "value": "/" + }, + "datasource": "Prometheus", + "definition": "query_result(topk(1,sort_desc (max(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.?|xfs\",mountpoint!~\".*pods.*\"}) by (mountpoint))))", + "hide": 2, + "includeAll": false, + "label": "最大挂载目录", + "multi": false, + "name": "maxmount", + "options": [], + "query": "query_result(topk(1,sort_desc (max(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext.?|xfs\",mountpoint!~\".*pods.*\"}) by (mountpoint))))", + "refresh": 2, + "regex": "/.*\\\"(.*)\\\".*/", + "skipUrlSync": false, + "sort": 5, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "node1.mingyuma-qv75344.gwcloudlab-pg0.wisc.cloudlab.us", + "value": "node1.mingyuma-qv75344.gwcloudlab-pg0.wisc.cloudlab.us" + }, + "datasource": "Prometheus", + "definition": "label_values(node_uname_info{job=~\"$job\",instance=~\"$node\"}, nodename)", + "hide": 2, + "includeAll": false, + "label": "展示使用的主机名", + "multi": false, + "name": "show_hostname", + "options": [], + "query": "label_values(node_uname_info{job=~\"$job\",instance=~\"$node\"}, nodename)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": { + "hidden": false, + "now": true, + "refresh_intervals": [ + "15s", + "30s", + "1m", + "5m", + "15m", + "30m" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "1 Node Exporter for Prometheus Dashboard EN v20200628", + "uid": "hb7fSE0Zz", + "version": 3 + } \ No newline at end of file diff --git a/onvm_web/provisioning/dashboards/grafana_dashboards/prometheus.json b/onvm_web/provisioning/dashboards/grafana_dashboards/prometheus.json new file mode 100644 index 000000000..a9d21354e --- /dev/null +++ b/onvm_web/provisioning/dashboards/grafana_dashboards/prometheus.json @@ -0,0 +1,331 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "links": [], + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 12, + "w": 12, + "x": 0, + "y": 0 + }, + "hiddenSeries": false, + "id": 4, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg by (instance, mode) (irate(node_cpu_seconds_total[5m])) * 100", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "CPU Usage Percentage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 12, + "w": 12, + "x": 12, + "y": 0 + }, + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (instance) (rate(node_network_transmit_bytes_total{device!=\"lo\"}[5m]))", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Packets Out", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 12 + }, + "hiddenSeries": false, + "id": 6, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "100 - ((node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes)/node_memory_MemTotal_bytes) * 100\r\n", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Memory Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "5s", + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "", + "title": "CPU status", + "uid": "FvSn9NZGz", + "version": 1 +} \ No newline at end of file diff --git a/onvm_web/provisioning/dashboards/sample.yaml b/onvm_web/provisioning/dashboards/sample.yaml new file mode 100644 index 000000000..35597c878 --- /dev/null +++ b/onvm_web/provisioning/dashboards/sample.yaml @@ -0,0 +1,12 @@ +apiVersion: 1 + +providers: + - name: "default" + orgId: 1 + folder: "" + folderUid: "" + disableDeletion: true + updateIntervalSeconds: 10 + type: file + options: + path: /etc/grafana/provisioning/dashboards/grafana_dashboards diff --git a/onvm_web/provisioning/datasources/sample.yaml b/onvm_web/provisioning/datasources/sample.yaml new file mode 100644 index 000000000..c0056ada7 --- /dev/null +++ b/onvm_web/provisioning/datasources/sample.yaml @@ -0,0 +1,53 @@ +# config file version +apiVersion: 1 + +# # list of datasources that should be deleted from the database +deleteDatasources: + - name: Prometheus + orgId: 1 + +# # list of datasources to insert/update depending +# # on what's available in the database +datasources: + # # name of the datasource. Required + - name: Prometheus + # # datasource type. Required + type: prometheus + # # access mode. direct or proxy. Required + access: direct + # # org id. will default to orgId 1 if not specified + # orgId: 1 + # # url + url: http://HOSTIP:9090 + # # database password, if used + # password: + # # database user, if used + # user: + # # database name, if used + # database: + # # enable/disable basic auth + # basicAuth: + # # basic auth username + # basicAuthUser: + # # basic auth password + # basicAuthPassword: + # # enable/disable with credentials headers + # withCredentials: + # # mark as default datasource. Max one per org + isDefault: true + # # fields that will be converted to json and stored in json_data + # jsonData: + # graphiteVersion: "1.1" + # tlsAuth: true + # tlsAuthWithCACert: true + # httpHeaderName1: "Authorization" + # # json object of data that will be encrypted. + # secureJsonData: + # tlsCACert: "..." + # tlsClientCert: "..." + # tlsClientKey: "..." + # # + # httpHeaderValue1: "Bearer xf5yhfkpsnmgo" + # version: 1 + # # allow users to edit datasources from the UI. + editable: true diff --git a/onvm_web/provisioning/notifiers/notifiers.yaml b/onvm_web/provisioning/notifiers/notifiers.yaml new file mode 100644 index 000000000..517ecac30 --- /dev/null +++ b/onvm_web/provisioning/notifiers/notifiers.yaml @@ -0,0 +1,25 @@ +# # config file version +apiVersion: 1 + +# notifiers: +# - name: default-slack-temp +# type: slack +# org_name: Main Org. +# is_default: true +# uid: notifier1 +# settings: +# recipient: "XXX" +# token: "xoxb" +# uploadImage: true +# url: https://slack.com +# - name: default-email +# type: email +# org_id: 1 +# uid: notifier2 +# is_default: false +# settings: +# addresses: example11111@example.com +# delete_notifiers: +# - name: default-slack-temp +# org_name: Main Org. +# uid: notifier1 diff --git a/onvm_web/pushgateway_monitor.py b/onvm_web/pushgateway_monitor.py new file mode 100644 index 000000000..228acfbf3 --- /dev/null +++ b/onvm_web/pushgateway_monitor.py @@ -0,0 +1,115 @@ +#!usr/bin/env python3 + +# openNetVM +# https://sdnfv.github.io +# +# OpenNetVM is distributed under the following BSD LICENSE: +# +# Copyright(c) +# 2015-2017 George Washington University +# 2015-2017 University of California Riverside +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * The name of the author may not be used to endorse or promote +# products derived from this software without specific prior +# written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +"""This script willpush data to the prometheus pushgateway data collector""" + +import socket +import json +import time +from urllib import error +from prometheus_client import CollectorRegistry, Gauge, push_to_gateway + + +def create_collector(name, documentation): + """Create a new collector with the name and documentation""" + registry = CollectorRegistry() + g = Gauge(name, documentation, registry=registry) + return registry, g + + +def push_data(url, job_name, registry): + """Push data to the designated registor""" + try: + push_to_gateway(url, job_name, registry) + return 1 + except error.URLError: + return -1 + + +if __name__ == "__main__": + host_name = socket.gethostname() + host_ip = socket.gethostbyname(host_name) + gateway_url = host_ip + ":9091" + + registry_nf, gauge_data = create_collector( + 'onvm_nf_stats', 'collected nf stats') + + # keep trying to push data unless the connection failed + is_connection_failed = 1 + while is_connection_failed != -1: + try: + with open("./onvm_json_stats.json", 'r') as data_f: + data = json.load(data_f) + with open("./onvm_json_events.json", 'r') as events_f: + event = json.load(events_f) + except: + continue + # determine if the data is in a valid time interval + last_update_time = time.mktime(time.strptime( + data['last_updated'], "%a %b %d %H:%M:%S %Y\n")) + current_time = time.time() + # for now set the time interval to be 5 seconds. + if current_time - last_update_time > 5: + pass + else: + try: + nf_list = [] + for nfs in event: + if nfs['message'] == "NF Starting": + # nf_name constitute the name and the instance id of this nf. + nf_name = str(nfs['source']['type']) + \ + str(nfs['source']['instance_id']) + if nf_name not in nf_list: + nf_list.append(nf_name) + nf_stats = data['onvm_nf_stats'] + counter = 0 + for keys, values in nf_stats.items(): + gauge_data.set(values['RX']) + nf_name = nf_list[counter] + "_rx" + is_connection_failed = push_data( + gateway_url, nf_name, registry_nf) + gauge_data.set(values['TX']) + nf_name = nf_list[counter] + "_tx" + is_connection_failed = push_data( + gateway_url, nf_name, registry_nf) + counter += 1 + except KeyError: + continue + # sleep 1 seconds to wait for the data get processed + time.sleep(1) diff --git a/onvm_web/react-app/package.json b/onvm_web/react-app/package.json index f005e45ba..d6f354522 100644 --- a/onvm_web/react-app/package.json +++ b/onvm_web/react-app/package.json @@ -8,7 +8,8 @@ "react-dom": "^16.5.2", "react-router-dom": "^4.3.1", "react-scripts": "2.0.4", - "tabler-react": "^1.21.1" + "tabler-react": "^1.21.1", + "axios": "^0.19.2" }, "scripts": { "start": "react-scripts start", diff --git a/onvm_web/react-app/src/App.react.js b/onvm_web/react-app/src/App.react.js index bba3cbf01..70b0477b2 100644 --- a/onvm_web/react-app/src/App.react.js +++ b/onvm_web/react-app/src/App.react.js @@ -14,6 +14,8 @@ import PortDashboardPage from "./pages/PortDashboardPage.react"; import SingleNFPage from "./pages/SingleNFPage.react"; import CoreMappingsPage from "./pages/CoreMappingsPage.react"; import Error404Page from "./pages/Error404Page.react"; +import Grafana from "./pages/Grafana.react" +import LaunchNFChainPage from "./pages/LaunchNFChain.react" import "tabler-react/dist/Tabler.css"; import "./c3jscustom.css"; @@ -35,6 +37,8 @@ function App(props: Props): React.Node { + + diff --git a/onvm_web/react-app/src/AppWrapper.react.js b/onvm_web/react-app/src/AppWrapper.react.js index dbeb1cb1f..4fd105ecd 100644 --- a/onvm_web/react-app/src/AppWrapper.react.js +++ b/onvm_web/react-app/src/AppWrapper.react.js @@ -72,6 +72,18 @@ class AppWrapper extends React.PureComponent { to: "/core-mappings", icon: "cpu", LinkComponent: withRouter(NavLink) + }, + { + value: "Grafana Page", + to: "/grafana", + icon: "home", + LinkComponent: withRouter(NavLink) + }, + { + value: "NF Chain Launch", + to: "/nf-chain", + icon: "ports", + LinkComponent: withRouter(NavLink) } ] }; diff --git a/onvm_web/react-app/src/pages/Grafana.react.js b/onvm_web/react-app/src/pages/Grafana.react.js new file mode 100644 index 000000000..70b380506 --- /dev/null +++ b/onvm_web/react-app/src/pages/Grafana.react.js @@ -0,0 +1,20 @@ +// @flow + +import * as React from "react"; + +const hostName = window.location.hostname; + +class Grafana extends React.Component { + constructor( props ){ + super(); + this.state = { ...props }; + } + componentWillMount(){ + window.open(`http://${hostName}:3000`); + } + render(){ + return (
...
); + } +} + +export default Grafana; \ No newline at end of file diff --git a/onvm_web/react-app/src/pages/LaunchNFChain.react.js b/onvm_web/react-app/src/pages/LaunchNFChain.react.js new file mode 100644 index 000000000..95f1673f4 --- /dev/null +++ b/onvm_web/react-app/src/pages/LaunchNFChain.react.js @@ -0,0 +1,187 @@ +// @flow +import axios from "axios"; +import React, { Component } from "react"; +import {Page} from 'tabler-react'; + +const hostName = window.location.hostname; + +class LaunchNFChainPage extends Component { + props = { + + } + state = { + selectedFile: null, + nf_chain_list: [], + nf_chain_counter: 0 + }; + + // unloadHandler = (event) => { + // event.preventDefault(); + // event.returnValue = ""; + // this.OnStopHandler(); + // } + // + // componentDidMount() { + // window.addEventListener('beforeunload', (this.unloadHandler)); + // // => { + // // event.preventDefault(); + // // event.returnValue = "Closing this tab will also close the nf chain, are you sure you want to leave?"; + // // return this.OnStopHandler(); + // // }); + // } + // componentWillUnmount() { + // // window.removeEventListener('beforeunload', (event) => { + // // return NaN + // // }); + // window.removeEventListener('beforeunload', (this.unloadHandler)); + // } + + // handle file change + onFileChange = event => { + this.setState({ + selectedFile: event.target.files[0], + launch: 0, + nf_chain_list: nf_chain_list, + nf_chain_counter: nf_chain_counter + }); + }; + + // handle submit event + OnStopHandler = event => { + this.setState({chain_id: 0}) + axios + .post(`http://${hostName}:8000/stop-nf`, this.state) + .then(response => { + console.log(response); + alert("Post request succeeded. Status: " + response.statusText); + }) + .catch(error => { + console.log(error); + alert(error); + }); + + this.setState({ + launch: 0 + }); + }; + + // handle upload file + onFileUpload = () => { + const formData = new FormData(); + + formData.append( + "configFile", + this.state.selectedFile, + this.state.selectedFile.name + ); + + var config = { + headers: { "Content-Type": "multipart/form-data" } + }; + + console.log(this.state.selectedFile); + + axios + .post(`http://${hostName}:8000/upload-file`, formData, config) + .then(response => { + console.log(response); + alert("Post request succeeded. Status: " + response.statusText); + }) + .catch(error => { + console.log(error); + alert(error); + }); + }; + + // handle launch nf chain + onLaunchChain = () => { + console.log(typeof this.props.nf_chain_list) + axios + .post(`http://${hostName}:8000/start-nf`, this.state) + .then(response => { + console.log(response); + alert("Post request succeeded. Status: " + response.statusText); + // push another nf chain id to the list + this.props.nf_chain_counter += 1; + }) + .catch(error => { + console.log(error); + alert(error); + }); + this.setState({ + launch: 1 + }); + }; + + render(): React.Node { + const {nf_chain_list} = this.props; + return ( + +
+
+

Network Function Chain Deployment

+

Upload a JSON Configuration File to Launch a Chain of NFs

+

+ Ensure your ONVM manager is running before uploading and launching + your chain of NFs. Navigate to the various dashboards on ONVM web to + observe NF behavior. +
+ Output from each NF will be written to the directory specified in your + file or to a default timestamped directory. +

+

+ Follow the{" "} + + documentation + {" "} + in the ONVM repository to learn more about proper formatting for your + config file. See an{" "} + + example + {" "} + config file. +

+
+ + +
+
+ + +
+
+ {nf_chain_list && nf_chain_list.map(nfs => ( +
+ // something here + ))} + + ); + } +} + +export default LaunchNFChainPage; \ No newline at end of file diff --git a/onvm_web/react-app/yarn.lock b/onvm_web/react-app/yarn.lock index 7264bd2c2..37b49f95f 100644 --- a/onvm_web/react-app/yarn.lock +++ b/onvm_web/react-app/yarn.lock @@ -1375,6 +1375,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== +axios@^0.19.2: + version "0.19.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" + integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== + dependencies: + follow-redirects "1.5.10" + axobject-query@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.1.tgz#05dfa705ada8ad9db993fa6896f22d395b0b0a07" @@ -3871,6 +3878,13 @@ flush-write-stream@^1.0.0: inherits "^2.0.1" readable-stream "^2.0.4" +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + follow-redirects@^1.0.0: version "1.5.8" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.8.tgz#1dbfe13e45ad969f813e86c00e5296f525c885a1" diff --git a/onvm_web/start_web_console.sh b/onvm_web/start_web_console.sh index 0a3973c0c..a7f19f22a 100755 --- a/onvm_web/start_web_console.sh +++ b/onvm_web/start_web_console.sh @@ -43,6 +43,17 @@ function usage { } web_port=8080 +prometheus_file="./Prometheus.yml" +grafana_file="./provisioning/datasources/sample.yaml" + +# check if docker is installed +is_docker_installed=$(command -v docker) +if [[ $is_docker_installed == "" ]] +then + echo "[ERROR] Docker is not installed, please install docker with" + echo "sudo apt install docker.io" + exit 1 +fi while getopts "p:" opt; do case $opt in @@ -52,6 +63,15 @@ while getopts "p:" opt; do esac done +# Get localhost IP address +# This might need to change depending on the host address +host_ip=$(ifconfig | grep inet | grep -v inet6 | grep -v 127 | cut -d '' -f2 | awk '{if(NR==2)print $2}') +if [[ "$host_ip" == "" ]] +then + host_ip=$(ifconfig | grep inet | grep -v int6 | grep -v 127 | cut -d '' -f2 | awk '{print $2}') +fi +echo "$host_ip" + # Start ONVM web stats console at http://localhost: echo -n "Starting openNetVM Web Stats Console at http://localhost:" echo "$web_port" @@ -74,10 +94,114 @@ then exit 1 fi +# start Grafana server at http://localhost:3000 +echo "Starting Grafana server at http://localhost:3000" +is_grafana_port_in_use=$(sudo netstat -tulpn | grep LISTEN | grep ":3000") +if [[ "$is_grafana_port_in_use" != "" ]] +then + echo "[ERROR] Grafana port 3000 is in use" + echo "$is_grafana_port_in_use" + echo "[ERROR] Grafana server failed to start" + exit 1 +fi + +# check if Grafana docker image has been build +is_grafana_build=$(sudo docker images | grep modified_grafana) +if [[ "$is_grafana_build" == "" ]] +then + sed -i "/HOSTIP/s/HOSTIP/$host_ip/g" $grafana_file + sudo docker build -t grafana/modified_grafana ./ + sed -i "/$host_ip/s/$host_ip/HOSTIP/g" $grafana_file +fi + +# start prometheus server at http://localhost:9090 +echo "Starting Prometheus server at http://localhost:9090" +is_prometheus_port_in_use=$(sudo netstat -tulpn | grep LISTEN | grep ":9090") +if [[ "$is_prometheus_port_in_use" != "" ]] +then + echo "[ERROR] Prometheus port 9090 is in use" + echo "$is_prometheus_port_in_use" + echo "[ERROR] Prometheus server failed to start" + exit 1 +fi + +# start node exporter server at http://localhost:9100 +echo "Starting node exporter server at http://localhost:9100" +is_node_exporter_port_in_use=$(sudo netstat -tulpn | grep LISTEN | grep ":9090") +if [[ "$is_node_exporter_port_in_use" != "" ]] +then + echo "[ERROR] Node exporter port 9100 is in use" + echo "$is_prometheus_port_in_use" + echo "[ERROR] Node exporter server failed to start" + exit 1 +fi + +# start pushgateway server at http://localhost:9091 +echo "Starting pushgateway server at http://localhost:9091" +is_pushgateway_port_in_use=$(sudo netstat -tulpn | grep LISTEN | grep ":9091") +if [[ "$is_pushgateway_port_in_use" != "" ]] +then + echo "[ERROR] Pushgateway port 9091 is in use" + echo "$is_pushgateway_port_in_use" + echo "[ERROR] Pushgateway server failed to start" + exit 1 +fi + +is_grafana_started=$(sudo docker ps -a | grep grafana) +if [[ "$is_grafana_started" == "" ]] +then + sudo docker run -d -p 3000:3000 --name grafana grafana/modified_grafana +else + sudo docker start grafana +fi + +is_prometheus_started=$(sudo docker ps -a | grep prometheus) +if [[ "$is_prometheus_started" == "" ]] +then + sed -i "/HOSTIP/s/HOSTIP/$host_ip/g" $prometheus_file + sudo docker run -d -p 9090:9090 --name prometheus -v "$ONVM_HOME"/onvm_web/Prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus + sed -i "/$host_ip/s/$host_ip/HOSTIP/g" $prometheus_file +else + sed -i "/HOSTIP/s/HOSTIP/$host_ip/g" $prometheus_file + sudo docker start prometheus + sed -i "/$host_ip/s/$host_ip/HOSTIP/g" $prometheus_file +fi + +is_pushgateway_started=$(sudo docker ps -a | grep pushgateway) +if [[ "$is_pushgateway_started" == "" ]] +then + sudo docker run -d -p 9091:9091 --name=pushgateway prom/pushgateway +else + sudo docker start pushgateway +fi + +cd "$ONVM_HOME"/onvm_web/node_exporter || usage +sudo chmod a+x node_exporter +sudo nohup ./node_exporter & +export NODE_PID=$! + +# Create all the log files needed for the server +cd "$ONVM_HOME"/examples +if [ -f "./nf_chain_config.json" ] +then + sudo rm nf_chain_config.json + touch nf_chain_config.json +fi + cd "$ONVM_HOME"/onvm_web || usage -nohup python cors_server.py 8000 & +nohup sudo python3 flask_server.py & export ONVM_WEB_PID=$! +# Check if the log folder exists +if [ ! -d "./nf-chain-logs" ] +then + mkdir nf-chain-logs +fi + cd "$ONVM_HOME"/onvm_web/web-build || usage nohup python -m SimpleHTTPServer "$web_port" & export ONVM_WEB_PID2=$! + +# Run pushgateway monitor +cd "$ONVM_HOME"/onvm_web || usage +nohup sudo python3 pushgateway_monitor.py & \ No newline at end of file diff --git a/onvm_web/stop_web_interface.sh b/onvm_web/stop_web_interface.sh new file mode 100755 index 000000000..e0f9979ed --- /dev/null +++ b/onvm_web/stop_web_interface.sh @@ -0,0 +1,124 @@ +#!/bin/bash + +# openNetVM +# https://sdnfv.github.io +# +# OpenNetVM is distributed under the following BSD LICENSE: +# +# Copyright(c) +# 2015-2017 George Washington University +# 2015-2017 University of California Riverside +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * The name of the author may not be used to endorse or promote +# products derived from this software without specific prior +# written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +function usage { + echo "$0 -r remove build docker images" + echo -e "\tRemove docker image" + exit 1 +} + +remove=0 + +while getopts "r:" opt; do + case $opt in + r) remove=$OPTARG;; + \?) echo "Unknown option -$OPTARG" && usage + ;; + esac +done + +# stop grafana docker container +is_grafana_running=$(sudo docker container ls | grep grafana) +if [[ "$is_grafana_running" != "" ]] +then + sudo docker stop grafana +fi + +# stop prometheus docker container +is_prometheus_running=$(sudo docker container ls | grep prometheus) +if [[ "$is_prometheus_running" != "" ]] +then + sudo docker stop prometheus +fi + +# stop pushgateway docker container +is_pushgateway_running=$(sudo docker container ls | grep pushgateway) +if [[ "$is_pushgateway_running" != "" ]] +then + sudo docker stop pushgateway +fi + +# remove grafana image +is_grafana_image_build=$(sudo docker images | grep grafana/modified_grafana) +if [[ $remove =~ "grafana" && is_grafana_image_build != "" ]] +then + echo "removing grafana image" + sudo docker rm grafana + sudo docker rmi grafana/modified_grafana +fi + +# remove prometheus image +is_prometheus_image_build=$(sudo docker images | grep prom/prometheus) +if [[ $remove =~ "prometheus" && is_prometheus_image_build != "" ]] +then + echo "removing prometheus image" + sudo docker rm prometheus + sudo docker rmi prom/prometheus +fi + +# remove the log folder if it exists +if [ -d "./nf-chain-logs" ] +then + rm -rf nf-chain-logs +fi + +onvm_web_pid=$(ps -ef | grep flask | grep sudo | grep -v "grep" | awk '{print $2}') +onvm_web_pid2=$(ps -ef | grep Simple | grep -v "grep" | awk '{print $2}') +node_pid=$(ps -ef | grep node | grep -v "grep" | awk '{print $2}') +pushgateway_pid=$(ps -ef | grep pushgateway | grep -v "grep" | awk '{print $2}') + +if [[ "$onvm_web_pid" != "" ]] +then + kill ${onvm_web_pid} +fi + +if [[ "$onvm_web_pid2" != "" ]] +then + kill ${onvm_web_pid2} +fi + +if [[ "$node_pid" != "" ]] +then + kill ${node_pid} +fi + +if [[ "$pushgateway_pid" != "" ]] +then + kill ${pushgateway_pid} +fi \ No newline at end of file diff --git a/onvm_web/web-build/asset-manifest.json b/onvm_web/web-build/asset-manifest.json index 0978fd9ee..ef51d622e 100644 --- a/onvm_web/web-build/asset-manifest.json +++ b/onvm_web/web-build/asset-manifest.json @@ -1,16 +1,16 @@ { - "main.css": "/static/css/main.467df24c.chunk.css", - "main.js": "/static/js/main.72dfa24e.chunk.js", - "main.js.map": "/static/js/main.72dfa24e.chunk.js.map", - "static/css/1.983b9b6a.chunk.css": "/static/css/1.983b9b6a.chunk.css", - "static/js/1.14582a4f.chunk.js": "/static/js/1.14582a4f.chunk.js", - "static/js/1.14582a4f.chunk.js.map": "/static/js/1.14582a4f.chunk.js.map", + "main.css": "/static/css/main.c41fe2f7.chunk.css", + "main.js": "/static/js/main.d6bdc8d0.chunk.js", + "main.js.map": "/static/js/main.d6bdc8d0.chunk.js.map", + "static/css/1.afe8298a.chunk.css": "/static/css/1.afe8298a.chunk.css", + "static/js/1.4ab869e9.chunk.js": "/static/js/1.4ab869e9.chunk.js", + "static/js/1.4ab869e9.chunk.js.map": "/static/js/1.4ab869e9.chunk.js.map", "runtime~main.js": "/static/js/runtime~main.229c360f.js", "runtime~main.js.map": "/static/js/runtime~main.229c360f.js.map", "static/media/Tabler.css": "/static/media/gb-wls.2831a6dd.svg", - "static/css/main.467df24c.chunk.css.map": "/static/css/main.467df24c.chunk.css.map", - "static/css/1.983b9b6a.chunk.css.map": "/static/css/1.983b9b6a.chunk.css.map", + "static/css/main.c41fe2f7.chunk.css.map": "/static/css/main.c41fe2f7.chunk.css.map", + "static/css/1.afe8298a.chunk.css.map": "/static/css/1.afe8298a.chunk.css.map", "index.html": "/index.html", - "precache-manifest.9e30993647e06e9411d5539e546b5a8f.js": "/precache-manifest.9e30993647e06e9411d5539e546b5a8f.js", + "precache-manifest.f2d13d722d2b53f6c7e5fc40dd5c0358.js": "/precache-manifest.f2d13d722d2b53f6c7e5fc40dd5c0358.js", "service-worker.js": "/service-worker.js" -} \ No newline at end of file +} diff --git a/onvm_web/web-build/index.html b/onvm_web/web-build/index.html index 966e8a021..e0a79bd4e 100644 --- a/onvm_web/web-build/index.html +++ b/onvm_web/web-build/index.html @@ -1 +1 @@ -OpenNetVM
\ No newline at end of file +OpenNetVM
\ No newline at end of file diff --git a/onvm_web/web-build/precache-manifest.9e30993647e06e9411d5539e546b5a8f.js b/onvm_web/web-build/precache-manifest.9e30993647e06e9411d5539e546b5a8f.js deleted file mode 100644 index 71586ab6b..000000000 --- a/onvm_web/web-build/precache-manifest.9e30993647e06e9411d5539e546b5a8f.js +++ /dev/null @@ -1 +0,0 @@ -self.__precacheManifest=[{revision:"72dfa24e35eb0e2107b6",url:"/static/css/main.467df24c.chunk.css"},{revision:"72dfa24e35eb0e2107b6",url:"/static/js/main.72dfa24e.chunk.js"},{revision:"14582a4fce9dbf809f72",url:"/static/css/1.983b9b6a.chunk.css"},{revision:"14582a4fce9dbf809f72",url:"/static/js/1.14582a4f.chunk.js"},{revision:"229c360febb4351a89df",url:"/static/js/runtime~main.229c360f.js"},{revision:"e1d3686c3d84d0a4de49cbfbcd51f5df",url:"/static/media/android-browser.e1d3686c.svg"},{revision:"ead509aef9d7ac89dc55069b4c0acbfd",url:"/static/media/blackberry.ead509ae.svg"},{revision:"f2a4363b794cd6532749f37aafcf80b2",url:"/static/media/aol-explorer.f2a4363b.svg"},{revision:"2bbe801cebc095f84c7d92574ec7214d",url:"/static/media/chrome.2bbe801c.svg"},{revision:"870087fd8e511c411e5baed4005d5bb7",url:"/static/media/chromium.870087fd.svg"},{revision:"f66d5a061976c8b9bf6e852d9d1e2de7",url:"/static/media/dolphin.f66d5a06.svg"},{revision:"abda4ac163b5c9be7f993273f229b735",url:"/static/media/edge.abda4ac1.svg"},{revision:"e037fac507a72f0149673ba30202ad09",url:"/static/media/firefox.e037fac5.svg"},{revision:"57c3e539655a13da5d3207594f0b78ed",url:"/static/media/ie.57c3e539.svg"},{revision:"df51f6f457a137ad3b3a4246639450f7",url:"/static/media/maxthon.df51f6f4.svg"},{revision:"91974b40e86c4b9db2b9bd6ec533bfa7",url:"/static/media/mozilla.91974b40.svg"},{revision:"23c5c7fa88ed9eea0cec48a03e97787e",url:"/static/media/camino.23c5c7fa.svg"},{revision:"f64e67934b079414af1bf18158c582dd",url:"/static/media/netscape.f64e6793.svg"},{revision:"438992de4e83d2123b1d9cdf8bb4bd03",url:"/static/media/opera.438992de.svg"},{revision:"ee79ab6acab3d05faeb0df7db2689a2e",url:"/static/media/safari.ee79ab6a.svg"},{revision:"1751c6d6fbb09e086eaf46c3897268d7",url:"/static/media/sleipnir.1751c6d6.svg"},{revision:"f600350d98a0611ab69a971109c6903c",url:"/static/media/uc-browser.f600350d.svg"},{revision:"6b04dfda8b985d2bbe4dd4ca1eb81bf8",url:"/static/media/vivaldi.6b04dfda.svg"},{revision:"1f331bd9d935496c9d7466390edf3718",url:"/static/media/ae.1f331bd9.svg"},{revision:"7cb635f05c1ed0924a1316940bfb4726",url:"/static/media/ag.7cb635f0.svg"},{revision:"1c4942df0b4d72faad8672114454bb09",url:"/static/media/al.1c4942df.svg"},{revision:"30f99f820aca3d60dd8ecf3d5ee75764",url:"/static/media/ad.30f99f82.svg"},{revision:"af917f4b31ecb7cc539fd89144632782",url:"/static/media/am.af917f4b.svg"},{revision:"fd948d03374b46e183d93dbd3709705c",url:"/static/media/ao.fd948d03.svg"},{revision:"a8df755f8fdc9111d7b737b33529db81",url:"/static/media/af.a8df755f.svg"},{revision:"fb98f0e65ec013a1920944ecc3826df3",url:"/static/media/aq.fb98f0e6.svg"},{revision:"928b5a4f69d8929b73041bdf2ca49770",url:"/static/media/ai.928b5a4f.svg"},{revision:"2ed2ee2a0b02519ffee732e3d9d6f9fb",url:"/static/media/ar.2ed2ee2a.svg"},{revision:"e18a59539f200660f10252a72f54ae08",url:"/static/media/as.e18a5953.svg"},{revision:"511e196f2b286fc220c83221b3bb8a01",url:"/static/media/at.511e196f.svg"},{revision:"dc91764d503d73913f176521a3303166",url:"/static/media/aw.dc91764d.svg"},{revision:"b853c2ebc123eab5abe5e71a6b329863",url:"/static/media/au.b853c2eb.svg"},{revision:"3301f616c5f32ad07226366d2882d9cd",url:"/static/media/ax.3301f616.svg"},{revision:"ba2d1e5e6f743781569d6b671077db3c",url:"/static/media/az.ba2d1e5e.svg"},{revision:"a441d8da7d266c9b9d315d06ee5fb429",url:"/static/media/ba.a441d8da.svg"},{revision:"c568edd5a2552c5cd6ce15009b8df3e2",url:"/static/media/bb.c568edd5.svg"},{revision:"b12e306073e83e7fec9d4b20e676b759",url:"/static/media/bd.b12e3060.svg"},{revision:"fb18617cede15ad0122419d7f1c74a9c",url:"/static/media/be.fb18617c.svg"},{revision:"f88288fa14a3979b34582b6018a62e35",url:"/static/media/bf.f88288fa.svg"},{revision:"bc04745d5b10f157bac0f3c721133844",url:"/static/media/bg.bc04745d.svg"},{revision:"bc8085f9a17e392f05c127dc50293578",url:"/static/media/bi.bc8085f9.svg"},{revision:"805f2682e67e457f15d50fb7576fd477",url:"/static/media/bh.805f2682.svg"},{revision:"ea52986c752328b2ca8ce558cab8a98f",url:"/static/media/bj.ea52986c.svg"},{revision:"a5c508b2ab0cdb85d5f22d40d2c3b97b",url:"/static/media/bl.a5c508b2.svg"},{revision:"51104069fc2f5264f3f1b6a020457dd6",url:"/static/media/bn.51104069.svg"},{revision:"fc7b82902896e1b59928e29ac9b75914",url:"/static/media/br.fc7b8290.svg"},{revision:"6339387e4c3410f4bceb103b8ac0b7ec",url:"/static/media/bm.6339387e.svg"},{revision:"e02afe0476bb357aebde18136fda06e0",url:"/static/media/bo.e02afe04.svg"},{revision:"421969c2bb5a12b8936eacce44a57b24",url:"/static/media/bs.421969c2.svg"},{revision:"39149c620356690eaf75a6a32dfba374",url:"/static/media/bt.39149c62.svg"},{revision:"8ecb0b8e0257d3d0654dc7efd84da4c5",url:"/static/media/bw.8ecb0b8e.svg"},{revision:"6fd2caab051b0d3e51cf99d32c67bbf9",url:"/static/media/by.6fd2caab.svg"},{revision:"58761e89669c1387b966f11c2c1ddca3",url:"/static/media/bv.58761e89.svg"},{revision:"af259017cdf3bcf91fa79f3639fff3fc",url:"/static/media/ca.af259017.svg"},{revision:"e86e9bd2426bbbbe2bba12fb641c185c",url:"/static/media/bz.e86e9bd2.svg"},{revision:"ec7f382086e8fcb4ac6fb02d1c4117fd",url:"/static/media/cc.ec7f3820.svg"},{revision:"020e3d1ee345ac631a4b463b073b57b7",url:"/static/media/cd.020e3d1e.svg"},{revision:"f75250a7950f5fb23779d262fd0da81d",url:"/static/media/cf.f75250a7.svg"},{revision:"497d91d1318438d0b128595d371d351e",url:"/static/media/cg.497d91d1.svg"},{revision:"d51618940f7f8df58cae92f4acb930fd",url:"/static/media/ch.d5161894.svg"},{revision:"1334b221487d5b445f6802ddd024a5c8",url:"/static/media/ci.1334b221.svg"},{revision:"869edc7171502fe62f15951ab9ab51ea",url:"/static/media/ck.869edc71.svg"},{revision:"9d5227cbd7309dd8801518e8f3d9a7de",url:"/static/media/cl.9d5227cb.svg"},{revision:"17f2e2c9827f7a093f9b94921ed16638",url:"/static/media/cm.17f2e2c9.svg"},{revision:"c2814ac0b9d72075571409689b113eb9",url:"/static/media/cn.c2814ac0.svg"},{revision:"4cac15edfcf9d342d21a46e5ee9cb2c2",url:"/static/media/bq.4cac15ed.svg"},{revision:"433d22ad5949ca9376e7fee2398cf908",url:"/static/media/co.433d22ad.svg"},{revision:"20a9e6bf3919e282db3bf53d0e7820e2",url:"/static/media/cr.20a9e6bf.svg"},{revision:"050058cb15f5c99a8710f96da1461357",url:"/static/media/cu.050058cb.svg"},{revision:"6b6994926cbbd25d691d0d029999492a",url:"/static/media/cv.6b699492.svg"},{revision:"5180dbe51ead0d4850f3cc2db94d4cf9",url:"/static/media/cx.5180dbe5.svg"},{revision:"657ef7aa34eb389fbf5217f52522e07f",url:"/static/media/cy.657ef7aa.svg"},{revision:"07a0d3f998ff4c6e2213fb5a4863325b",url:"/static/media/cw.07a0d3f9.svg"},{revision:"6731f87258db1b3310d7c8b86efa97e6",url:"/static/media/cz.6731f872.svg"},{revision:"01e89f77d4cd293951a32164b25ced60",url:"/static/media/de.01e89f77.svg"},{revision:"f4c086cc100130afc0642dc7bf1357de",url:"/static/media/dj.f4c086cc.svg"},{revision:"44761537674d28555c1985159c2b2e88",url:"/static/media/dk.44761537.svg"},{revision:"89c91dc6769c54e9971dcda38bc747ef",url:"/static/media/dm.89c91dc6.svg"},{revision:"333db1efebf7b037389acd563050c357",url:"/static/media/dz.333db1ef.svg"},{revision:"918e57b82b2daae8608426807dc39b67",url:"/static/media/ec.918e57b8.svg"},{revision:"57f366b0b55cf2fa11e3154e0865daf9",url:"/static/media/ee.57f366b0.svg"},{revision:"07f2e96d05bbcbc1fa02e8d0678c598e",url:"/static/media/eg.07f2e96d.svg"},{revision:"e4f13505f93239f55cf1bf1615297172",url:"/static/media/eh.e4f13505.svg"},{revision:"70738db67657a95db078a19581859e69",url:"/static/media/er.70738db6.svg"},{revision:"d8ab6db91dc2db4b36c7b91bb1b4ebf6",url:"/static/media/do.d8ab6db9.svg"},{revision:"31aa0fc0721b95431f4b0dda48307c50",url:"/static/media/et.31aa0fc0.svg"},{revision:"58bcc4aff2131cf9d6eee5e30ec6fd62",url:"/static/media/fi.58bcc4af.svg"},{revision:"c6ca5440228101c2b83b4eb312a94731",url:"/static/media/es.c6ca5440.svg"},{revision:"17beaf811c76ebaa6bcfdb8b5e8a7325",url:"/static/media/eu.17beaf81.svg"},{revision:"b1ddba6040fc69b7d37591ffb7012787",url:"/static/media/fj.b1ddba60.svg"},{revision:"2bd7d4dffe1fd474663f05041e95e46a",url:"/static/media/fm.2bd7d4df.svg"},{revision:"5c64395d99f225e9c106c55c4c06ee69",url:"/static/media/fk.5c64395d.svg"},{revision:"dc9ed815f9a4bc59036c5fb3ef3aecca",url:"/static/media/fo.dc9ed815.svg"},{revision:"a178bcfbbbc26cb995fa19241b7a12a2",url:"/static/media/fr.a178bcfb.svg"},{revision:"33442fb979e8f4f40b093bb4d6a39a7e",url:"/static/media/ga.33442fb9.svg"},{revision:"a933214c8977a7009219775519a584b4",url:"/static/media/gb-eng.a933214c.svg"},{revision:"943d406aa047964df31a94fc5a5021bc",url:"/static/media/gb-nir.943d406a.svg"},{revision:"772350bf81e7b44332b5585cd15dfa3c",url:"/static/media/gb-sct.772350bf.svg"},{revision:"4a878d5b85f694202ec0ccd16510be9c",url:"/static/media/feather-webfont.4a878d5b.svg"},{revision:"b8e9cbc7ac23b572497cd2115bcf71c6",url:"/static/media/feather-webfont.b8e9cbc7.ttf"},{revision:"2cf523cd335b115a5678b068b56c3011",url:"/static/media/feather-webfont.2cf523cd.woff"},{revision:"cc5143b2b877ad1f2a9d7ddde2e55dee",url:"/static/media/feather-webfont.cc5143b2.eot"},{revision:"d63620a3337795f043b232846be946f8",url:"/static/media/worldpay.d63620a3.svg"},{revision:"a99e6d1ce661b5ec0118fa5e211dbdb1",url:"/static/media/worldpay-dark.a99e6d1c.svg"},{revision:"4082e1b1ac8f311463c064a0875a8e5a",url:"/static/media/westernunion.4082e1b1.svg"},{revision:"5f3974a30d3ead800491befb7af540a8",url:"/static/media/westernunion-dark.5f3974a3.svg"},{revision:"c77724f331e1053188a5aa0d796ffc3b",url:"/static/media/webmoney.c77724f3.svg"},{revision:"5c559c4c11d8fda02a9f9e86e1615b41",url:"/static/media/webmoney-dark.5c559c4c.svg"},{revision:"a09152e75acbfee13fe82e13c54a77ad",url:"/static/media/visa.a09152e7.svg"},{revision:"3684cf8229ff28f3054fa1d2a6095077",url:"/static/media/verisign.3684cf82.svg"},{revision:"1f0c2c56a34c8dce6fdbeaa80579e2c4",url:"/static/media/verisign-dark.1f0c2c56.svg"},{revision:"f6a55e1d4fc96499269717a964bc3984",url:"/static/media/visa-dark.f6a55e1d.svg"},{revision:"012caff4df8cce6f2ea751366a4d0804",url:"/static/media/verifone.012caff4.svg"},{revision:"e7b2a0bc53907540e752d6cfd9e95930",url:"/static/media/verifone-dark.e7b2a0bc.svg"},{revision:"285de38e64669e7d6fdb6b88092a7adb",url:"/static/media/unionpay.285de38e.svg"},{revision:"22beb1a2dc02dd5b8ecd72b776937af0",url:"/static/media/unionpay-dark.22beb1a2.svg"},{revision:"7a542b9ee5e6c96713e790bbd3854c85",url:"/static/media/ukash.7a542b9e.svg"},{revision:"89b7d2ae90e9df97aa9e3a9940bac2c1",url:"/static/media/ukash-dark.89b7d2ae.svg"},{revision:"c1a0e47dde0e275f4284a1e5b07a9219",url:"/static/media/switch.c1a0e47d.svg"},{revision:"54599ad9cc5b0c3afea5db6b3d996e32",url:"/static/media/switch-dark.54599ad9.svg"},{revision:"77c6af283968828069b3720792640fa9",url:"/static/media/stripe.77c6af28.svg"},{revision:"025afc3556434d9a218b3de9ae6aab11",url:"/static/media/stripe-dark.025afc35.svg"},{revision:"48f113984b06dd75617b37d6d764a02b",url:"/static/media/square.48f11398.svg"},{revision:"4db9c83cfd89dfc89536c33d2065ae16",url:"/static/media/square-dark.4db9c83c.svg"},{revision:"f7fcc525735b4166573bc49f7c418161",url:"/static/media/solo.f7fcc525.svg"},{revision:"17da28b916977064d74363481913b58b",url:"/static/media/solo-dark.17da28b9.svg"},{revision:"b0d31271e85a4ee845ff91eeb2dc1ab4",url:"/static/media/skrill.b0d31271.svg"},{revision:"a1a4a38c94505ac4c80974b84591059e",url:"/static/media/skrill-dark.a1a4a38c.svg"},{revision:"2a87d23fcf628021ed81203dc2305938",url:"/static/media/shopify.2a87d23f.svg"},{revision:"937412fda731ef86a0a3658eb6b1044f",url:"/static/media/shopify-dark.937412fd.svg"},{revision:"45d27bde30e9dcbf03da95a54dbe5720",url:"/static/media/sepa.45d27bde.svg"},{revision:"3834e619996af0dec773a242f6fbf77c",url:"/static/media/sepa-dark.3834e619.svg"},{revision:"c962e60b37391f1d7dd0a0ffacad256b",url:"/static/media/sage.c962e60b.svg"},{revision:"1560c69d3cf081291eb13f477dc9e043",url:"/static/media/sage-dark.1560c69d.svg"},{revision:"44f32f32a552d578ccb68df55740c84b",url:"/static/media/ripple.44f32f32.svg"},{revision:"a741b2b1463ca0e5cc9fd430004319b2",url:"/static/media/ripple-dark.a741b2b1.svg"},{revision:"057164517322929b8b277ef36a63da87",url:"/static/media/payza.05716451.svg"},{revision:"aaf8d63fe0f20e267e21c89f0824edbf",url:"/static/media/payza-dark.aaf8d63f.svg"},{revision:"ece9e63914c3f788968b357cf6189e95",url:"/static/media/payu.ece9e639.svg"},{revision:"80265cc7c79041d66e9437374b08894c",url:"/static/media/payu-dark.80265cc7.svg"},{revision:"0db2bc557a5ea15b0ba7f83b463776d3",url:"/static/media/paysafecard.0db2bc55.svg"},{revision:"2a3832c3bea2d4ad9b01ea999cbea582",url:"/static/media/paysafecard-dark.2a3832c3.svg"},{revision:"aa9749d2dbfa5fce884c050157002e4f",url:"/static/media/paypal.aa9749d2.svg"},{revision:"2abbaed44b22cd9ad7e423e88e9640f7",url:"/static/media/paypal-dark.2abbaed4.svg"},{revision:"e460ab6b6da17bf959f8d123cfeb4e2e",url:"/static/media/payoneer.e460ab6b.svg"},{revision:"8d95de50838be9eb99e9db6eb23a3610",url:"/static/media/payoneer-dark.8d95de50.svg"},{revision:"2c68e11e3f322e662dc62c4700d2e835",url:"/static/media/payone.2c68e11e.svg"},{revision:"992480f1d3c42a07ddcc81ef819277d7",url:"/static/media/payone-dark.992480f1.svg"},{revision:"6f9066168c1fdf21bb40228737af2d9b",url:"/static/media/paymill.6f906616.svg"},{revision:"d8737b880a495605fed0d53b1a17100c",url:"/static/media/paymill-dark.d8737b88.svg"},{revision:"46f8af3b7129313668e112509e361f0d",url:"/static/media/paybox.46f8af3b.svg"},{revision:"321bd555c37290b6a89acc1922a3e3ad",url:"/static/media/paybox-dark.321bd555.svg"},{revision:"72f763a2ab7a69dcd6f92a1f448ff251",url:"/static/media/okpay.72f763a2.svg"},{revision:"26eabf7a3b75ddbb402d926bb9510afa",url:"/static/media/okpay-dark.26eabf7a.svg"},{revision:"8832c251bab55b7228f17ad1dcd93bcd",url:"/static/media/ogone.8832c251.svg"},{revision:"5fa709fb52bd0947dc6ddd33eab567fc",url:"/static/media/ogone-dark.5fa709fb.svg"},{revision:"798e0b4b9b2b5b2a6966e3160c8652d1",url:"/static/media/neteller.798e0b4b.svg"},{revision:"63736caca924eb35fb9104d4f432cfb0",url:"/static/media/neteller-dark.63736cac.svg"},{revision:"7df16d088d2d3fafc742fc011ab39191",url:"/static/media/monero.7df16d08.svg"},{revision:"29d40dee70c67525aa54c6d462843f4a",url:"/static/media/monero-dark.29d40dee.svg"},{revision:"a6684d9315e2ded55b8ee33df8c370d5",url:"/static/media/mastercard.a6684d93.svg"},{revision:"b1695f2bf43376465adea7252ec7837f",url:"/static/media/mastercard-dark.b1695f2b.svg"},{revision:"31a202b40107161647c50fac56384c29",url:"/static/media/maestro.31a202b4.svg"},{revision:"0d91ff8fa73e4822b3df8578f6f90708",url:"/static/media/maestro-dark.0d91ff8f.svg"},{revision:"4642dfb3bacbec31479381e4800275b2",url:"/static/media/laser.4642dfb3.svg"},{revision:"758bd7b66e03b7b4f0feb8195ac30124",url:"/static/media/laser-dark.758bd7b6.svg"},{revision:"c05b3bbaa7150d0b60d6dfa8c602f70f",url:"/static/media/klarna.c05b3bba.svg"},{revision:"3a666a1e1aeba0c533c35132129e65db",url:"/static/media/klarna-dark.3a666a1e.svg"},{revision:"2646bc518e3540d4639365448d02b23d",url:"/static/media/jcb.2646bc51.svg"},{revision:"20a24d68389a7dfe17336496dc3e51b3",url:"/static/media/ingenico.20a24d68.svg"},{revision:"f9bf701dcacbc6a9e40cc626153d6ff9",url:"/static/media/jcb-dark.f9bf701d.svg"},{revision:"5bef38951708ad075ebcd89dbed8d8d9",url:"/static/media/ingenico-dark.5bef3895.svg"},{revision:"7f0e39ad58186b6fdbe5878970192668",url:"/static/media/googlewallet.7f0e39ad.svg"},{revision:"7cbe03bef872c536d6dbaa1f274ae0dc",url:"/static/media/googlewallet-dark.7cbe03be.svg"},{revision:"7337d9d063907f6fd8d49214982e18a6",url:"/static/media/giropay.7337d9d0.svg"},{revision:"ff3c753ae34a95d2b30a9089319f29aa",url:"/static/media/giropay-dark.ff3c753a.svg"},{revision:"54d6e672e8609e0b77d49f18c06430c7",url:"/static/media/eway.54d6e672.svg"},{revision:"bbf15466f81b7a24e9cc9e9522a2a709",url:"/static/media/eway-dark.bbf15466.svg"},{revision:"862b611ad759b765022ea1cac513bbfa",url:"/static/media/ebay.862b611a.svg"},{revision:"bd7ccde1aba2b3502e43a20b0dad4152",url:"/static/media/ebay-dark.bd7ccde1.svg"},{revision:"36f577700982f8fb3542d92a6c362650",url:"/static/media/dwolla.36f57770.svg"},{revision:"ccae276756a625bc248c34c7c49ddcf4",url:"/static/media/dwolla-dark.ccae2767.svg"},{revision:"2f4fe159d3189ca05916f3ad46cb1a6c",url:"/static/media/discover.2f4fe159.svg"},{revision:"00f5c21f4be89a46de82c69e6259781c",url:"/static/media/discover-dark.00f5c21f.svg"},{revision:"37695b626fb35b01215987cd7865ca7b",url:"/static/media/directdebit.37695b62.svg"},{revision:"bf510996f9f817b97d4618a413373998",url:"/static/media/directdebit-dark.bf510996.svg"},{revision:"45249b1dd66c3b8425f9ce67f014d9ee",url:"/static/media/dinersclub.45249b1d.svg"},{revision:"baff56e3fdcd57bc731c02c4878e7441",url:"/static/media/dinersclub-dark.baff56e3.svg"},{revision:"b60982772ca2538902574c9790def63b",url:"/static/media/coinkite.b6098277.svg"},{revision:"f50deb17e6e13ff02fe1f4c149d3166c",url:"/static/media/coinkite-dark.f50deb17.svg"},{revision:"eb61d075dbf8722029027b09b39cc3a8",url:"/static/media/clickandbuy.eb61d075.svg"},{revision:"f7d38984e9cfaa1bf3f98a0046862667",url:"/static/media/clickandbuy-dark.f7d38984.svg"},{revision:"983db5f2256f8e24e520ef7d1146ed3f",url:"/static/media/cirrus.983db5f2.svg"},{revision:"243a362ebddb29c473ace764e5b11e6b",url:"/static/media/cirrus-dark.243a362e.svg"},{revision:"ffb94e65905ea7a299e8ee52944abef1",url:"/static/media/bitpay.ffb94e65.svg"},{revision:"f86a15dac57d28c89e0b69ac3eee63f8",url:"/static/media/bitpay-dark.f86a15da.svg"},{revision:"d9ac7b6156a3498ad0fd300b98f2f605",url:"/static/media/bitcoin.d9ac7b61.svg"},{revision:"edaf60e16ce0cc50bf2d0b7a499036e4",url:"/static/media/bitcoin-dark.edaf60e1.svg"},{revision:"8c0a0fa2bc07c9102ff49218b0ca9145",url:"/static/media/bancontact.8c0a0fa2.svg"},{revision:"6e78609075a295f1627cd785a2005837",url:"/static/media/bancontact-dark.6e786090.svg"},{revision:"1ff3d3f0d176196bbd3aaf4a6ecf7dac",url:"/static/media/applepay.1ff3d3f0.svg"},{revision:"e044dbdb76e1805843ae429c3c16bdd9",url:"/static/media/applepay-dark.e044dbdb.svg"},{revision:"b89abdaf46ce1b76d1f382de92ed7c0e",url:"/static/media/americanexpress.b89abdaf.svg"},{revision:"c2ea2d77ce452a928487e9d62737ad4c",url:"/static/media/americanexpress-dark.c2ea2d77.svg"},{revision:"5c500045ab6cd762cd5f9abd393c2577",url:"/static/media/amazon.5c500045.svg"},{revision:"b178a57fcddb6156a5ec639d1b5d5a24",url:"/static/media/amazon-dark.b178a57f.svg"},{revision:"31580e28ff89814332255e3f3ad510d6",url:"/static/media/alipay.31580e28.svg"},{revision:"b6a651d2cd0063d0e83b505c40f24dd7",url:"/static/media/alipay-dark.b6a651d2.svg"},{revision:"e14c0f5e3d367693fa699906a02119c6",url:"/static/media/2checkout.e14c0f5e.svg"},{revision:"65d58d809466b33a779ff1b029046730",url:"/static/media/2checkout-dark.65d58d80.svg"},{revision:"e223cee52ee80138dfc25a1885c83186",url:"/static/media/zw.e223cee5.svg"},{revision:"625866342c77dcf827cdc22d004c6227",url:"/static/media/zm.62586634.svg"},{revision:"d8ffed672eb363336a1ad1ad4dc965be",url:"/static/media/za.d8ffed67.svg"},{revision:"a2dc66505c31b7096ba48bac4557855c",url:"/static/media/yt.a2dc6650.svg"},{revision:"55897575e3e0001ebfb8dcfba390495d",url:"/static/media/ye.55897575.svg"},{revision:"23b64335ac552f3d33e7544da45a2508",url:"/static/media/ws.23b64335.svg"},{revision:"4b4f5462b60b559d729a55f8719cf005",url:"/static/media/wf.4b4f5462.svg"},{revision:"9a6c3abc25acb7444923135ab30b7cb9",url:"/static/media/vu.9a6c3abc.svg"},{revision:"0b7571b87f2faaa3d8e3b5662636d574",url:"/static/media/vn.0b7571b8.svg"},{revision:"b3c0a20f217b35d1cf1111736130dac8",url:"/static/media/vi.b3c0a20f.svg"},{revision:"3b3121b285747fdd0ca17486e084c675",url:"/static/media/vg.3b3121b2.svg"},{revision:"6f48a1b9488fe66e13887fb43304c009",url:"/static/media/ve.6f48a1b9.svg"},{revision:"f3912357d0a5339a1f402efefc89a8e7",url:"/static/media/vc.f3912357.svg"},{revision:"791dfbdae7960b7482e949dfac7c829a",url:"/static/media/uz.791dfbda.svg"},{revision:"6b139c75ff4f94335205a2d93dc7e090",url:"/static/media/va.6b139c75.svg"},{revision:"a7e91b404efc4ad91c1360efd8e9cb4a",url:"/static/media/uy.a7e91b40.svg"},{revision:"2382ea7ec7cc55bfe1cc7a3ea8326989",url:"/static/media/us.2382ea7e.svg"},{revision:"1519b6c631d063c9e495cd9f3dfd0f66",url:"/static/media/un.1519b6c6.svg"},{revision:"a1fa2de39f9fdbd1e48a965bf697d700",url:"/static/media/um.a1fa2de3.svg"},{revision:"1e070275fe2eb891e7a1b90ac3c3ee13",url:"/static/media/ug.1e070275.svg"},{revision:"acc88be0743859f3c1d499c3117cfdcd",url:"/static/media/ua.acc88be0.svg"},{revision:"d5c9c20a3cfbf0c135ea7d58d29684f5",url:"/static/media/tz.d5c9c20a.svg"},{revision:"7baefd1c21ecb97a0a48a0d738bf79dc",url:"/static/media/tw.7baefd1c.svg"},{revision:"1a077ad0ee7788a6a1688dbfc5c12526",url:"/static/media/tv.1a077ad0.svg"},{revision:"f09daa6dc55999ef79edf7d708ad1f90",url:"/static/media/tt.f09daa6d.svg"},{revision:"aabe02c21bdc96b4499f10c7ead37008",url:"/static/media/tr.aabe02c2.svg"},{revision:"fa884203b4e844943f89c290c02ea246",url:"/static/media/to.fa884203.svg"},{revision:"ef273685b23f3978caf97e7fb0b2ea9d",url:"/static/media/tn.ef273685.svg"},{revision:"d2132088d8448cd731e7047c1e432bf2",url:"/static/media/tm.d2132088.svg"},{revision:"f563fdae9a3ca98f28a3c4c03a6d766f",url:"/static/media/tl.f563fdae.svg"},{revision:"22d4831b30e7a7ffa78d23628db3bdab",url:"/static/media/tk.22d4831b.svg"},{revision:"b6533ad31f2b20a30bba38b0f2de1d9b",url:"/static/media/tj.b6533ad3.svg"},{revision:"502695871e6c9632d23ed1db99f4e102",url:"/static/media/th.50269587.svg"},{revision:"b96ee5428e8c67d6b1fc8bf73925af34",url:"/static/media/tg.b96ee542.svg"},{revision:"adc24fb28bb1688520b8ee3272929644",url:"/static/media/tf.adc24fb2.svg"},{revision:"079a252552085195fa1e74c55965d960",url:"/static/media/td.079a2525.svg"},{revision:"2f7d308e80bd8a87fa1d2c63aa74fc5a",url:"/static/media/tc.2f7d308e.svg"},{revision:"1ae99e458e6568a1297a512ae21b85ba",url:"/static/media/sz.1ae99e45.svg"},{revision:"0fedea0746db6aa80b93dc14293c1754",url:"/static/media/sy.0fedea07.svg"},{revision:"d23d18072122ea995d7f4f4bea2300fe",url:"/static/media/sx.d23d1807.svg"},{revision:"230410b519c6205157002ce21ff8d629",url:"/static/media/st.230410b5.svg"},{revision:"a21150d5864835c762dd3bdb21e61320",url:"/static/media/sv.a21150d5.svg"},{revision:"0c7c9ffcd96a318fe1ed195441a6c2a9",url:"/static/media/ss.0c7c9ffc.svg"},{revision:"65cdb1de480732b66f6a3675f49f2596",url:"/static/media/sr.65cdb1de.svg"},{revision:"3bdb1de25c626c766b62e2c1cca11ea9",url:"/static/media/so.3bdb1de2.svg"},{revision:"4dc603d122f3ede3b07bfb751ee3a59c",url:"/static/media/sn.4dc603d1.svg"},{revision:"f3eb4474892199b59c8ca7272069e6ba",url:"/static/media/sm.f3eb4474.svg"},{revision:"835d44f65482fc4d92251cb9eba71fa2",url:"/static/media/sl.835d44f6.svg"},{revision:"f44daf851804e866328d76cdd0b99074",url:"/static/media/sk.f44daf85.svg"},{revision:"8331157c241082c3ad0f499b47737ac2",url:"/static/media/sj.8331157c.svg"},{revision:"72f83c2946a14767d764c53baca31a7b",url:"/static/media/si.72f83c29.svg"},{revision:"0726abdb26a803057f8e22205c03f172",url:"/static/media/sh.0726abdb.svg"},{revision:"22b0739e53b62deb793917e7ba4c1892",url:"/static/media/sg.22b0739e.svg"},{revision:"22475f5224df5500aa75813ba7608a23",url:"/static/media/se.22475f52.svg"},{revision:"a14badd55e756d1248fb262f896a6a84",url:"/static/media/sd.a14badd5.svg"},{revision:"fdc11a48b5b254f92ffc220dc1935963",url:"/static/media/sc.fdc11a48.svg"},{revision:"115ce3e59fc48f4e9307e69329ed0a85",url:"/static/media/sb.115ce3e5.svg"},{revision:"67b058aefae79a7a8273c3a3ece09dae",url:"/static/media/sa.67b058ae.svg"},{revision:"46fb809f4912001f48fdc2b878e80f17",url:"/static/media/rw.46fb809f.svg"},{revision:"517e32a1f8c51260abfd28e65123eac8",url:"/static/media/ru.517e32a1.svg"},{revision:"552b5d9744e1cb43fe34d598cc391113",url:"/static/media/ro.552b5d97.svg"},{revision:"a2dc66505c31b7096ba48bac4557855c",url:"/static/media/re.a2dc6650.svg"},{revision:"20a4d7413504b137c05f202bbf385e9b",url:"/static/media/qa.20a4d741.svg"},{revision:"426b1d470b7392ef3ea723342a138c6f",url:"/static/media/rs.426b1d47.svg"},{revision:"abc5b39643482e82cb856bf160fa50fe",url:"/static/media/py.abc5b396.svg"},{revision:"0557592eea5bfc7ac4a3e3d41bde1e1c",url:"/static/media/pw.0557592e.svg"},{revision:"e129260bc90ab03c1f3b9f5452e0d66c",url:"/static/media/pt.e129260b.svg"},{revision:"225ede3505309835812a31d8cd526332",url:"/static/media/ps.225ede35.svg"},{revision:"e489537c791c5a57f554f17b21b02868",url:"/static/media/pr.e489537c.svg"},{revision:"bf813bfe31876e1a07e61f7ecdafd5a6",url:"/static/media/pn.bf813bfe.svg"},{revision:"a2dc66505c31b7096ba48bac4557855c",url:"/static/media/pm.a2dc6650.svg"},{revision:"2257cff690948088abf92a799e89544e",url:"/static/media/pl.2257cff6.svg"},{revision:"db891066a9bf98fd99cfa111abe7d535",url:"/static/media/pk.db891066.svg"},{revision:"8b5fbe69f9da3819f4887f6a01b8648e",url:"/static/media/ph.8b5fbe69.svg"},{revision:"e444f903a3056c776d7eb977380fa0c6",url:"/static/media/pg.e444f903.svg"},{revision:"28a15c37093a6700fb9db6c92bb9f714",url:"/static/media/pf.28a15c37.svg"},{revision:"4cabbfc6b407981692d9a034c04e3395",url:"/static/media/pe.4cabbfc6.svg"},{revision:"910761356d647746a34206d23e138727",url:"/static/media/pa.91076135.svg"},{revision:"9b7a06b9a821841e7a5fd0f3e3ab8cc4",url:"/static/media/om.9b7a06b9.svg"},{revision:"03d7410ae73601f5ec7122019a2ab888",url:"/static/media/nz.03d7410a.svg"},{revision:"e6bfaa15b7678d8441d4106e06376792",url:"/static/media/nu.e6bfaa15.svg"},{revision:"f2afa5b9c3bb5ff4eac025d6a9e3e5ff",url:"/static/media/nr.f2afa5b9.svg"},{revision:"e6de69465e5e1ec155356a0827683a8a",url:"/static/media/np.e6de6946.svg"},{revision:"8331157c241082c3ad0f499b47737ac2",url:"/static/media/no.8331157c.svg"},{revision:"de2a39a27acc28aebde8173acc4bdf6d",url:"/static/media/nl.de2a39a2.svg"},{revision:"2b983496dce81d0805a0d92443e8000c",url:"/static/media/ni.2b983496.svg"},{revision:"2ddc320beac15d92ffece6345b604540",url:"/static/media/ng.2ddc320b.svg"},{revision:"fc2d0f07ea618d781e800bd8cd49d92c",url:"/static/media/nf.fc2d0f07.svg"},{revision:"bad21adca6cd1a7c0498752de207dcbd",url:"/static/media/ne.bad21adc.svg"},{revision:"a2dc66505c31b7096ba48bac4557855c",url:"/static/media/nc.a2dc6650.svg"},{revision:"f38aead1dd402abc43b2e0dddd08ae47",url:"/static/media/na.f38aead1.svg"},{revision:"cd1e97af5e343e6d7db5c8f8bbb40cac",url:"/static/media/mz.cd1e97af.svg"},{revision:"aae5bd9cefde01ece247f58bf89a825c",url:"/static/media/my.aae5bd9c.svg"},{revision:"5b33db847ef48920cfec09f0c2926e90",url:"/static/media/mw.5b33db84.svg"},{revision:"e343afe8028575ea736d2677db4f7744",url:"/static/media/mv.e343afe8.svg"},{revision:"974b9e6c380a062b6504150999965d5f",url:"/static/media/mu.974b9e6c.svg"},{revision:"cffcad7981a89128ffef6ec871c5ef96",url:"/static/media/mt.cffcad79.svg"},{revision:"184d53d145cbbb2eafe2bc7a3bd66c62",url:"/static/media/mx.184d53d1.svg"},{revision:"8b73c710b4a9a2c91ed2683bd2ba2a41",url:"/static/media/ms.8b73c710.svg"},{revision:"6b3d082dde2cd6355e7dd6194b258da7",url:"/static/media/mr.6b3d082d.svg"},{revision:"4c4286cd431a0194e7d35bcc875537b7",url:"/static/media/mq.4c4286cd.svg"},{revision:"fcdc8e3981178bdf4bf5f382fa7e7dab",url:"/static/media/mp.fcdc8e39.svg"},{revision:"36f1d6f2d8b53af76065ce17e6189104",url:"/static/media/mo.36f1d6f2.svg"},{revision:"cfd48e450bb31f3dc56b78fdac465bc0",url:"/static/media/mn.cfd48e45.svg"},{revision:"e6d7c5a4187b1fd8ab643d0e5d2f5bd1",url:"/static/media/mm.e6d7c5a4.svg"},{revision:"be076fd925ea2dd5a74f6a552166ba71",url:"/static/media/ml.be076fd9.svg"},{revision:"29cb0cb257ce61901ab1d97c97200be9",url:"/static/media/mk.29cb0cb2.svg"},{revision:"a3bb001b15d05e4a8974729fa75f9247",url:"/static/media/mh.a3bb001b.svg"},{revision:"0c0da5f0631b226d95fd57929b9e4b4b",url:"/static/media/mg.0c0da5f0.svg"},{revision:"a178bcfbbbc26cb995fa19241b7a12a2",url:"/static/media/mf.a178bcfb.svg"},{revision:"f9aceffb03e9764fac60e5aafe3743ec",url:"/static/media/md.f9aceffb.svg"},{revision:"4241d3ff964cfdb68da07bb0f78520f4",url:"/static/media/mc.4241d3ff.svg"},{revision:"8c27c49311f54ab8d011b8eacf6c63cb",url:"/static/media/ma.8c27c493.svg"},{revision:"399015d8b358e8c3c2c1a3e699752e63",url:"/static/media/me.399015d8.svg"},{revision:"ededce3248f5c7f3e52a48bcfa55ac01",url:"/static/media/ly.ededce32.svg"},{revision:"83353fa9cde68c8e128f85724e743e75",url:"/static/media/lv.83353fa9.svg"},{revision:"06956a1377123bf7bf98076217a07361",url:"/static/media/lu.06956a13.svg"},{revision:"14b63eab7de31bd29ffcdc4002433cd6",url:"/static/media/lt.14b63eab.svg"},{revision:"700ddad000d732b2603dcde0195ea3e7",url:"/static/media/ls.700ddad0.svg"},{revision:"5485e606cf2dcf18e30b88581f14a459",url:"/static/media/lr.5485e606.svg"},{revision:"f0a4f4f6d893038aa99ccbcb7f6e5271",url:"/static/media/lk.f0a4f4f6.svg"},{revision:"10e0d5b28508b7a92f02b01c8f54bfe7",url:"/static/media/li.10e0d5b2.svg"},{revision:"6c2940dae95d15b98cf38bcf44816d21",url:"/static/media/lc.6c2940da.svg"},{revision:"4981974031355cb8cb9fa6ae351ec6cf",url:"/static/media/lb.49819740.svg"},{revision:"bdfc4ab5e964e3466fcf31b5ec4bf87b",url:"/static/media/la.bdfc4ab5.svg"},{revision:"529db212e9de897dc2dd42f4ad7f8fd3",url:"/static/media/kz.529db212.svg"},{revision:"f7c3a515e4c61b03f6818233ded0bd8c",url:"/static/media/ky.f7c3a515.svg"},{revision:"3e24a94a1aee5cfa3c34f2fa6f8f1845",url:"/static/media/kw.3e24a94a.svg"},{revision:"32f23fafe64cce64d0e30c1d80e761ae",url:"/static/media/kr.32f23faf.svg"},{revision:"b2729dfae51752a2cb41de576c90b6bb",url:"/static/media/kp.b2729dfa.svg"},{revision:"7ab9462c3019492674aa27c5f42df7f1",url:"/static/media/kn.7ab9462c.svg"},{revision:"cd351374021fde2537ae578691612f30",url:"/static/media/km.cd351374.svg"},{revision:"fbe824dcd1ef2519d2d21f189a345c2a",url:"/static/media/ki.fbe824dc.svg"},{revision:"bfffb443939dc4de9a1926380b3c99b4",url:"/static/media/kh.bfffb443.svg"},{revision:"de33c0489053970bffc24559744aaae3",url:"/static/media/kg.de33c048.svg"},{revision:"15b698f31b8bec3028bea1726cea84fb",url:"/static/media/ke.15b698f3.svg"},{revision:"fd2646810e3b7a16d5ff0e16401fcf94",url:"/static/media/jp.fd264681.svg"},{revision:"d14059401101d457efe14ba2495e69c6",url:"/static/media/jo.d1405940.svg"},{revision:"7db0ffd8c9e9717bf8a4e670b8e14de8",url:"/static/media/jm.7db0ffd8.svg"},{revision:"6a9e1b932b348bea888a9cb0a21ad581",url:"/static/media/je.6a9e1b93.svg"},{revision:"bd6b5ff3c79cb3d80d524f342ff99ba4",url:"/static/media/it.bd6b5ff3.svg"},{revision:"ec1fb8765fe74b0912ab152afe850c38",url:"/static/media/is.ec1fb876.svg"},{revision:"3cb275a7c517640ff251ce419ba5a7be",url:"/static/media/ir.3cb275a7.svg"},{revision:"61fca1841f4f8e1b031eeeb7a7708650",url:"/static/media/iq.61fca184.svg"},{revision:"2e0c61df4402b9748b394cf508f1a0c7",url:"/static/media/io.2e0c61df.svg"},{revision:"2d667fbb3870fa62aa27eece3a00196c",url:"/static/media/in.2d667fbb.svg"},{revision:"19884f0c27b6b1a57a12fdb7b682eed2",url:"/static/media/im.19884f0c.svg"},{revision:"0ea7e9dad5f9fce9cdee314eea294da8",url:"/static/media/il.0ea7e9da.svg"},{revision:"d609c4e7bbb267cc920b9bfacdf8c553",url:"/static/media/ie.d609c4e7.svg"},{revision:"ee020a0f5bc9d6586b97f9a9dfea47a0",url:"/static/media/id.ee020a0f.svg"},{revision:"a8abaf3779c44dbb5d3604b621d899fc",url:"/static/media/hu.a8abaf37.svg"},{revision:"d0404e4a48a02f0e5b393e7f88d02648",url:"/static/media/ht.d0404e4a.svg"},{revision:"3d726baafa62f8f9fee22363226fb75c",url:"/static/media/hn.3d726baa.svg"},{revision:"b43f38576524ed7038b5afd6337d5759",url:"/static/media/hm.b43f3857.svg"},{revision:"79e564a4cd82e29e24b5a3ff6c6d914e",url:"/static/media/hr.79e564a4.svg"},{revision:"fb606eb1063380a1c9d858161cf5f0a7",url:"/static/media/hk.fb606eb1.svg"},{revision:"19bcfc3477c49626f2f9e4291e3f81bd",url:"/static/media/gy.19bcfc34.svg"},{revision:"e1d47aa4658950ee3f11d125f19a604a",url:"/static/media/gw.e1d47aa4.svg"},{revision:"ad34e604908c0fd1e96af29a7e9b983f",url:"/static/media/gu.ad34e604.svg"},{revision:"0b689ffe012a208dbd4609b8e7a6ce4c",url:"/static/media/gt.0b689ffe.svg"},{revision:"9a9a62a1f4f53cc87d02925098293360",url:"/static/media/gr.9a9a62a1.svg"},{revision:"3721691749ae1da7133203472974ea5f",url:"/static/media/gs.37216917.svg"},{revision:"6bbb0e7695e648aa9d7e25eff7165284",url:"/static/media/gq.6bbb0e76.svg"},{revision:"a178bcfbbbc26cb995fa19241b7a12a2",url:"/static/media/gp.a178bcfb.svg"},{revision:"e472dff761a5641c37c985858a735dc3",url:"/static/media/gn.e472dff7.svg"},{revision:"9423800e095be53df9249808ce63306c",url:"/static/media/gm.9423800e.svg"},{revision:"d02c42ea2b63c1131bb36da347ac3490",url:"/static/media/gl.d02c42ea.svg"},{revision:"c9543d40b95a35ff339fe78d6184b6d1",url:"/static/media/gi.c9543d40.svg"},{revision:"d4b35e14b2cdd6bb630a7b2c8902d7b7",url:"/static/media/gh.d4b35e14.svg"},{revision:"d339aeb27fefd04b3c8238b7d8f26473",url:"/static/media/gg.d339aeb2.svg"},{revision:"4ea8e1590ad37f3d4fb8c58c7906a73c",url:"/static/media/gf.4ea8e159.svg"},{revision:"334a8275142fd63934abf3a8f8c5a913",url:"/static/media/ge.334a8275.svg"},{revision:"c17d779e8552e59c9ef032f0a432fcfb",url:"/static/media/gd.c17d779e.svg"},{revision:"5638bbd9874edd22c39b0c4a54b1de21",url:"/static/media/gb.5638bbd9.svg"},{revision:"2831a6dd51c5a036e31203cd6faef1f7",url:"/static/media/gb-wls.2831a6dd.svg"},{revision:"31e718494d26bd4e060addd92c399106",url:"/index.html"}]; \ No newline at end of file diff --git a/onvm_web/web-build/precache-manifest.f2d13d722d2b53f6c7e5fc40dd5c0358.js b/onvm_web/web-build/precache-manifest.f2d13d722d2b53f6c7e5fc40dd5c0358.js new file mode 100644 index 000000000..2be4a19c7 --- /dev/null +++ b/onvm_web/web-build/precache-manifest.f2d13d722d2b53f6c7e5fc40dd5c0358.js @@ -0,0 +1,1557 @@ +self.__precacheManifest = [ + { + revision: "d6bdc8d034743bb6fa28", + url: "/static/css/main.c41fe2f7.chunk.css" + }, + { + revision: "d6bdc8d034743bb6fa28", + url: "/static/js/main.d6bdc8d0.chunk.js" + }, + { revision: "4ab869e9f392d23046e8", url: "/static/css/1.afe8298a.chunk.css" }, + { revision: "4ab869e9f392d23046e8", url: "/static/js/1.4ab869e9.chunk.js" }, + { + revision: "229c360febb4351a89df", + url: "/static/js/runtime~main.229c360f.js" + }, + { + revision: "e1d3686c3d84d0a4de49cbfbcd51f5df", + url: "/static/media/android-browser.e1d3686c.svg" + }, + { + revision: "ead509aef9d7ac89dc55069b4c0acbfd", + url: "/static/media/blackberry.ead509ae.svg" + }, + { + revision: "f2a4363b794cd6532749f37aafcf80b2", + url: "/static/media/aol-explorer.f2a4363b.svg" + }, + { + revision: "23c5c7fa88ed9eea0cec48a03e97787e", + url: "/static/media/camino.23c5c7fa.svg" + }, + { + revision: "870087fd8e511c411e5baed4005d5bb7", + url: "/static/media/chromium.870087fd.svg" + }, + { + revision: "2bbe801cebc095f84c7d92574ec7214d", + url: "/static/media/chrome.2bbe801c.svg" + }, + { + revision: "f66d5a061976c8b9bf6e852d9d1e2de7", + url: "/static/media/dolphin.f66d5a06.svg" + }, + { + revision: "abda4ac163b5c9be7f993273f229b735", + url: "/static/media/edge.abda4ac1.svg" + }, + { + revision: "57c3e539655a13da5d3207594f0b78ed", + url: "/static/media/ie.57c3e539.svg" + }, + { + revision: "df51f6f457a137ad3b3a4246639450f7", + url: "/static/media/maxthon.df51f6f4.svg" + }, + { + revision: "91974b40e86c4b9db2b9bd6ec533bfa7", + url: "/static/media/mozilla.91974b40.svg" + }, + { + revision: "f64e67934b079414af1bf18158c582dd", + url: "/static/media/netscape.f64e6793.svg" + }, + { + revision: "438992de4e83d2123b1d9cdf8bb4bd03", + url: "/static/media/opera.438992de.svg" + }, + { + revision: "e037fac507a72f0149673ba30202ad09", + url: "/static/media/firefox.e037fac5.svg" + }, + { + revision: "1751c6d6fbb09e086eaf46c3897268d7", + url: "/static/media/sleipnir.1751c6d6.svg" + }, + { + revision: "ee79ab6acab3d05faeb0df7db2689a2e", + url: "/static/media/safari.ee79ab6a.svg" + }, + { + revision: "f600350d98a0611ab69a971109c6903c", + url: "/static/media/uc-browser.f600350d.svg" + }, + { + revision: "6b04dfda8b985d2bbe4dd4ca1eb81bf8", + url: "/static/media/vivaldi.6b04dfda.svg" + }, + { + revision: "1f331bd9d935496c9d7466390edf3718", + url: "/static/media/ae.1f331bd9.svg" + }, + { + revision: "7cb635f05c1ed0924a1316940bfb4726", + url: "/static/media/ag.7cb635f0.svg" + }, + { + revision: "30f99f820aca3d60dd8ecf3d5ee75764", + url: "/static/media/ad.30f99f82.svg" + }, + { + revision: "a8df755f8fdc9111d7b737b33529db81", + url: "/static/media/af.a8df755f.svg" + }, + { + revision: "1c4942df0b4d72faad8672114454bb09", + url: "/static/media/al.1c4942df.svg" + }, + { + revision: "af917f4b31ecb7cc539fd89144632782", + url: "/static/media/am.af917f4b.svg" + }, + { + revision: "928b5a4f69d8929b73041bdf2ca49770", + url: "/static/media/ai.928b5a4f.svg" + }, + { + revision: "fd948d03374b46e183d93dbd3709705c", + url: "/static/media/ao.fd948d03.svg" + }, + { + revision: "fb98f0e65ec013a1920944ecc3826df3", + url: "/static/media/aq.fb98f0e6.svg" + }, + { + revision: "2ed2ee2a0b02519ffee732e3d9d6f9fb", + url: "/static/media/ar.2ed2ee2a.svg" + }, + { + revision: "e18a59539f200660f10252a72f54ae08", + url: "/static/media/as.e18a5953.svg" + }, + { + revision: "511e196f2b286fc220c83221b3bb8a01", + url: "/static/media/at.511e196f.svg" + }, + { + revision: "b853c2ebc123eab5abe5e71a6b329863", + url: "/static/media/au.b853c2eb.svg" + }, + { + revision: "dc91764d503d73913f176521a3303166", + url: "/static/media/aw.dc91764d.svg" + }, + { + revision: "3301f616c5f32ad07226366d2882d9cd", + url: "/static/media/ax.3301f616.svg" + }, + { + revision: "ba2d1e5e6f743781569d6b671077db3c", + url: "/static/media/az.ba2d1e5e.svg" + }, + { + revision: "a441d8da7d266c9b9d315d06ee5fb429", + url: "/static/media/ba.a441d8da.svg" + }, + { + revision: "c568edd5a2552c5cd6ce15009b8df3e2", + url: "/static/media/bb.c568edd5.svg" + }, + { + revision: "b12e306073e83e7fec9d4b20e676b759", + url: "/static/media/bd.b12e3060.svg" + }, + { + revision: "fb18617cede15ad0122419d7f1c74a9c", + url: "/static/media/be.fb18617c.svg" + }, + { + revision: "f88288fa14a3979b34582b6018a62e35", + url: "/static/media/bf.f88288fa.svg" + }, + { + revision: "bc04745d5b10f157bac0f3c721133844", + url: "/static/media/bg.bc04745d.svg" + }, + { + revision: "bc8085f9a17e392f05c127dc50293578", + url: "/static/media/bi.bc8085f9.svg" + }, + { + revision: "805f2682e67e457f15d50fb7576fd477", + url: "/static/media/bh.805f2682.svg" + }, + { + revision: "ea52986c752328b2ca8ce558cab8a98f", + url: "/static/media/bj.ea52986c.svg" + }, + { + revision: "a5c508b2ab0cdb85d5f22d40d2c3b97b", + url: "/static/media/bl.a5c508b2.svg" + }, + { + revision: "fc7b82902896e1b59928e29ac9b75914", + url: "/static/media/br.fc7b8290.svg" + }, + { + revision: "4cac15edfcf9d342d21a46e5ee9cb2c2", + url: "/static/media/bq.4cac15ed.svg" + }, + { + revision: "421969c2bb5a12b8936eacce44a57b24", + url: "/static/media/bs.421969c2.svg" + }, + { + revision: "39149c620356690eaf75a6a32dfba374", + url: "/static/media/bt.39149c62.svg" + }, + { + revision: "58761e89669c1387b966f11c2c1ddca3", + url: "/static/media/bv.58761e89.svg" + }, + { + revision: "6339387e4c3410f4bceb103b8ac0b7ec", + url: "/static/media/bm.6339387e.svg" + }, + { + revision: "6fd2caab051b0d3e51cf99d32c67bbf9", + url: "/static/media/by.6fd2caab.svg" + }, + { + revision: "8ecb0b8e0257d3d0654dc7efd84da4c5", + url: "/static/media/bw.8ecb0b8e.svg" + }, + { + revision: "e86e9bd2426bbbbe2bba12fb641c185c", + url: "/static/media/bz.e86e9bd2.svg" + }, + { + revision: "e02afe0476bb357aebde18136fda06e0", + url: "/static/media/bo.e02afe04.svg" + }, + { + revision: "af259017cdf3bcf91fa79f3639fff3fc", + url: "/static/media/ca.af259017.svg" + }, + { + revision: "51104069fc2f5264f3f1b6a020457dd6", + url: "/static/media/bn.51104069.svg" + }, + { + revision: "020e3d1ee345ac631a4b463b073b57b7", + url: "/static/media/cd.020e3d1e.svg" + }, + { + revision: "497d91d1318438d0b128595d371d351e", + url: "/static/media/cg.497d91d1.svg" + }, + { + revision: "ec7f382086e8fcb4ac6fb02d1c4117fd", + url: "/static/media/cc.ec7f3820.svg" + }, + { + revision: "d51618940f7f8df58cae92f4acb930fd", + url: "/static/media/ch.d5161894.svg" + }, + { + revision: "f75250a7950f5fb23779d262fd0da81d", + url: "/static/media/cf.f75250a7.svg" + }, + { + revision: "1334b221487d5b445f6802ddd024a5c8", + url: "/static/media/ci.1334b221.svg" + }, + { + revision: "9d5227cbd7309dd8801518e8f3d9a7de", + url: "/static/media/cl.9d5227cb.svg" + }, + { + revision: "17f2e2c9827f7a093f9b94921ed16638", + url: "/static/media/cm.17f2e2c9.svg" + }, + { + revision: "869edc7171502fe62f15951ab9ab51ea", + url: "/static/media/ck.869edc71.svg" + }, + { + revision: "c2814ac0b9d72075571409689b113eb9", + url: "/static/media/cn.c2814ac0.svg" + }, + { + revision: "433d22ad5949ca9376e7fee2398cf908", + url: "/static/media/co.433d22ad.svg" + }, + { + revision: "050058cb15f5c99a8710f96da1461357", + url: "/static/media/cu.050058cb.svg" + }, + { + revision: "20a9e6bf3919e282db3bf53d0e7820e2", + url: "/static/media/cr.20a9e6bf.svg" + }, + { + revision: "6b6994926cbbd25d691d0d029999492a", + url: "/static/media/cv.6b699492.svg" + }, + { + revision: "07a0d3f998ff4c6e2213fb5a4863325b", + url: "/static/media/cw.07a0d3f9.svg" + }, + { + revision: "5180dbe51ead0d4850f3cc2db94d4cf9", + url: "/static/media/cx.5180dbe5.svg" + }, + { + revision: "657ef7aa34eb389fbf5217f52522e07f", + url: "/static/media/cy.657ef7aa.svg" + }, + { + revision: "6731f87258db1b3310d7c8b86efa97e6", + url: "/static/media/cz.6731f872.svg" + }, + { + revision: "01e89f77d4cd293951a32164b25ced60", + url: "/static/media/de.01e89f77.svg" + }, + { + revision: "f4c086cc100130afc0642dc7bf1357de", + url: "/static/media/dj.f4c086cc.svg" + }, + { + revision: "44761537674d28555c1985159c2b2e88", + url: "/static/media/dk.44761537.svg" + }, + { + revision: "89c91dc6769c54e9971dcda38bc747ef", + url: "/static/media/dm.89c91dc6.svg" + }, + { + revision: "333db1efebf7b037389acd563050c357", + url: "/static/media/dz.333db1ef.svg" + }, + { + revision: "57f366b0b55cf2fa11e3154e0865daf9", + url: "/static/media/ee.57f366b0.svg" + }, + { + revision: "918e57b82b2daae8608426807dc39b67", + url: "/static/media/ec.918e57b8.svg" + }, + { + revision: "07f2e96d05bbcbc1fa02e8d0678c598e", + url: "/static/media/eg.07f2e96d.svg" + }, + { + revision: "e4f13505f93239f55cf1bf1615297172", + url: "/static/media/eh.e4f13505.svg" + }, + { + revision: "70738db67657a95db078a19581859e69", + url: "/static/media/er.70738db6.svg" + }, + { + revision: "31aa0fc0721b95431f4b0dda48307c50", + url: "/static/media/et.31aa0fc0.svg" + }, + { + revision: "17beaf811c76ebaa6bcfdb8b5e8a7325", + url: "/static/media/eu.17beaf81.svg" + }, + { + revision: "58bcc4aff2131cf9d6eee5e30ec6fd62", + url: "/static/media/fi.58bcc4af.svg" + }, + { + revision: "b1ddba6040fc69b7d37591ffb7012787", + url: "/static/media/fj.b1ddba60.svg" + }, + { + revision: "c6ca5440228101c2b83b4eb312a94731", + url: "/static/media/es.c6ca5440.svg" + }, + { + revision: "2bd7d4dffe1fd474663f05041e95e46a", + url: "/static/media/fm.2bd7d4df.svg" + }, + { + revision: "a178bcfbbbc26cb995fa19241b7a12a2", + url: "/static/media/fr.a178bcfb.svg" + }, + { + revision: "dc9ed815f9a4bc59036c5fb3ef3aecca", + url: "/static/media/fo.dc9ed815.svg" + }, + { + revision: "33442fb979e8f4f40b093bb4d6a39a7e", + url: "/static/media/ga.33442fb9.svg" + }, + { + revision: "5c64395d99f225e9c106c55c4c06ee69", + url: "/static/media/fk.5c64395d.svg" + }, + { + revision: "a933214c8977a7009219775519a584b4", + url: "/static/media/gb-eng.a933214c.svg" + }, + { + revision: "772350bf81e7b44332b5585cd15dfa3c", + url: "/static/media/gb-sct.772350bf.svg" + }, + { + revision: "943d406aa047964df31a94fc5a5021bc", + url: "/static/media/gb-nir.943d406a.svg" + }, + { + revision: "d8ab6db91dc2db4b36c7b91bb1b4ebf6", + url: "/static/media/do.d8ab6db9.svg" + }, + { + revision: "4a878d5b85f694202ec0ccd16510be9c", + url: "/static/media/feather-webfont.4a878d5b.svg" + }, + { + revision: "b8e9cbc7ac23b572497cd2115bcf71c6", + url: "/static/media/feather-webfont.b8e9cbc7.ttf" + }, + { + revision: "2cf523cd335b115a5678b068b56c3011", + url: "/static/media/feather-webfont.2cf523cd.woff" + }, + { + revision: "cc5143b2b877ad1f2a9d7ddde2e55dee", + url: "/static/media/feather-webfont.cc5143b2.eot" + }, + { + revision: "d63620a3337795f043b232846be946f8", + url: "/static/media/worldpay.d63620a3.svg" + }, + { + revision: "5f3974a30d3ead800491befb7af540a8", + url: "/static/media/westernunion-dark.5f3974a3.svg" + }, + { + revision: "4082e1b1ac8f311463c064a0875a8e5a", + url: "/static/media/westernunion.4082e1b1.svg" + }, + { + revision: "a99e6d1ce661b5ec0118fa5e211dbdb1", + url: "/static/media/worldpay-dark.a99e6d1c.svg" + }, + { + revision: "5c559c4c11d8fda02a9f9e86e1615b41", + url: "/static/media/webmoney-dark.5c559c4c.svg" + }, + { + revision: "a09152e75acbfee13fe82e13c54a77ad", + url: "/static/media/visa.a09152e7.svg" + }, + { + revision: "c77724f331e1053188a5aa0d796ffc3b", + url: "/static/media/webmoney.c77724f3.svg" + }, + { + revision: "3684cf8229ff28f3054fa1d2a6095077", + url: "/static/media/verisign.3684cf82.svg" + }, + { + revision: "012caff4df8cce6f2ea751366a4d0804", + url: "/static/media/verifone.012caff4.svg" + }, + { + revision: "f6a55e1d4fc96499269717a964bc3984", + url: "/static/media/visa-dark.f6a55e1d.svg" + }, + { + revision: "e7b2a0bc53907540e752d6cfd9e95930", + url: "/static/media/verifone-dark.e7b2a0bc.svg" + }, + { + revision: "285de38e64669e7d6fdb6b88092a7adb", + url: "/static/media/unionpay.285de38e.svg" + }, + { + revision: "89b7d2ae90e9df97aa9e3a9940bac2c1", + url: "/static/media/ukash-dark.89b7d2ae.svg" + }, + { + revision: "7a542b9ee5e6c96713e790bbd3854c85", + url: "/static/media/ukash.7a542b9e.svg" + }, + { + revision: "22beb1a2dc02dd5b8ecd72b776937af0", + url: "/static/media/unionpay-dark.22beb1a2.svg" + }, + { + revision: "c1a0e47dde0e275f4284a1e5b07a9219", + url: "/static/media/switch.c1a0e47d.svg" + }, + { + revision: "54599ad9cc5b0c3afea5db6b3d996e32", + url: "/static/media/switch-dark.54599ad9.svg" + }, + { + revision: "1f0c2c56a34c8dce6fdbeaa80579e2c4", + url: "/static/media/verisign-dark.1f0c2c56.svg" + }, + { + revision: "025afc3556434d9a218b3de9ae6aab11", + url: "/static/media/stripe-dark.025afc35.svg" + }, + { + revision: "48f113984b06dd75617b37d6d764a02b", + url: "/static/media/square.48f11398.svg" + }, + { + revision: "4db9c83cfd89dfc89536c33d2065ae16", + url: "/static/media/square-dark.4db9c83c.svg" + }, + { + revision: "77c6af283968828069b3720792640fa9", + url: "/static/media/stripe.77c6af28.svg" + }, + { + revision: "f7fcc525735b4166573bc49f7c418161", + url: "/static/media/solo.f7fcc525.svg" + }, + { + revision: "17da28b916977064d74363481913b58b", + url: "/static/media/solo-dark.17da28b9.svg" + }, + { + revision: "b0d31271e85a4ee845ff91eeb2dc1ab4", + url: "/static/media/skrill.b0d31271.svg" + }, + { + revision: "a1a4a38c94505ac4c80974b84591059e", + url: "/static/media/skrill-dark.a1a4a38c.svg" + }, + { + revision: "2a87d23fcf628021ed81203dc2305938", + url: "/static/media/shopify.2a87d23f.svg" + }, + { + revision: "937412fda731ef86a0a3658eb6b1044f", + url: "/static/media/shopify-dark.937412fd.svg" + }, + { + revision: "3834e619996af0dec773a242f6fbf77c", + url: "/static/media/sepa-dark.3834e619.svg" + }, + { + revision: "1560c69d3cf081291eb13f477dc9e043", + url: "/static/media/sage-dark.1560c69d.svg" + }, + { + revision: "c962e60b37391f1d7dd0a0ffacad256b", + url: "/static/media/sage.c962e60b.svg" + }, + { + revision: "45d27bde30e9dcbf03da95a54dbe5720", + url: "/static/media/sepa.45d27bde.svg" + }, + { + revision: "44f32f32a552d578ccb68df55740c84b", + url: "/static/media/ripple.44f32f32.svg" + }, + { + revision: "a741b2b1463ca0e5cc9fd430004319b2", + url: "/static/media/ripple-dark.a741b2b1.svg" + }, + { + revision: "057164517322929b8b277ef36a63da87", + url: "/static/media/payza.05716451.svg" + }, + { + revision: "ece9e63914c3f788968b357cf6189e95", + url: "/static/media/payu.ece9e639.svg" + }, + { + revision: "80265cc7c79041d66e9437374b08894c", + url: "/static/media/payu-dark.80265cc7.svg" + }, + { + revision: "aaf8d63fe0f20e267e21c89f0824edbf", + url: "/static/media/payza-dark.aaf8d63f.svg" + }, + { + revision: "0db2bc557a5ea15b0ba7f83b463776d3", + url: "/static/media/paysafecard.0db2bc55.svg" + }, + { + revision: "2a3832c3bea2d4ad9b01ea999cbea582", + url: "/static/media/paysafecard-dark.2a3832c3.svg" + }, + { + revision: "aa9749d2dbfa5fce884c050157002e4f", + url: "/static/media/paypal.aa9749d2.svg" + }, + { + revision: "e460ab6b6da17bf959f8d123cfeb4e2e", + url: "/static/media/payoneer.e460ab6b.svg" + }, + { + revision: "8d95de50838be9eb99e9db6eb23a3610", + url: "/static/media/payoneer-dark.8d95de50.svg" + }, + { + revision: "2c68e11e3f322e662dc62c4700d2e835", + url: "/static/media/payone.2c68e11e.svg" + }, + { + revision: "992480f1d3c42a07ddcc81ef819277d7", + url: "/static/media/payone-dark.992480f1.svg" + }, + { + revision: "d8737b880a495605fed0d53b1a17100c", + url: "/static/media/paymill-dark.d8737b88.svg" + }, + { + revision: "2abbaed44b22cd9ad7e423e88e9640f7", + url: "/static/media/paypal-dark.2abbaed4.svg" + }, + { + revision: "6f9066168c1fdf21bb40228737af2d9b", + url: "/static/media/paymill.6f906616.svg" + }, + { + revision: "46f8af3b7129313668e112509e361f0d", + url: "/static/media/paybox.46f8af3b.svg" + }, + { + revision: "321bd555c37290b6a89acc1922a3e3ad", + url: "/static/media/paybox-dark.321bd555.svg" + }, + { + revision: "26eabf7a3b75ddbb402d926bb9510afa", + url: "/static/media/okpay-dark.26eabf7a.svg" + }, + { + revision: "72f763a2ab7a69dcd6f92a1f448ff251", + url: "/static/media/okpay.72f763a2.svg" + }, + { + revision: "5fa709fb52bd0947dc6ddd33eab567fc", + url: "/static/media/ogone-dark.5fa709fb.svg" + }, + { + revision: "8832c251bab55b7228f17ad1dcd93bcd", + url: "/static/media/ogone.8832c251.svg" + }, + { + revision: "63736caca924eb35fb9104d4f432cfb0", + url: "/static/media/neteller-dark.63736cac.svg" + }, + { + revision: "798e0b4b9b2b5b2a6966e3160c8652d1", + url: "/static/media/neteller.798e0b4b.svg" + }, + { + revision: "7df16d088d2d3fafc742fc011ab39191", + url: "/static/media/monero.7df16d08.svg" + }, + { + revision: "29d40dee70c67525aa54c6d462843f4a", + url: "/static/media/monero-dark.29d40dee.svg" + }, + { + revision: "a6684d9315e2ded55b8ee33df8c370d5", + url: "/static/media/mastercard.a6684d93.svg" + }, + { + revision: "b1695f2bf43376465adea7252ec7837f", + url: "/static/media/mastercard-dark.b1695f2b.svg" + }, + { + revision: "31a202b40107161647c50fac56384c29", + url: "/static/media/maestro.31a202b4.svg" + }, + { + revision: "0d91ff8fa73e4822b3df8578f6f90708", + url: "/static/media/maestro-dark.0d91ff8f.svg" + }, + { + revision: "4642dfb3bacbec31479381e4800275b2", + url: "/static/media/laser.4642dfb3.svg" + }, + { + revision: "758bd7b66e03b7b4f0feb8195ac30124", + url: "/static/media/laser-dark.758bd7b6.svg" + }, + { + revision: "c05b3bbaa7150d0b60d6dfa8c602f70f", + url: "/static/media/klarna.c05b3bba.svg" + }, + { + revision: "3a666a1e1aeba0c533c35132129e65db", + url: "/static/media/klarna-dark.3a666a1e.svg" + }, + { + revision: "20a24d68389a7dfe17336496dc3e51b3", + url: "/static/media/ingenico.20a24d68.svg" + }, + { + revision: "5bef38951708ad075ebcd89dbed8d8d9", + url: "/static/media/ingenico-dark.5bef3895.svg" + }, + { + revision: "7f0e39ad58186b6fdbe5878970192668", + url: "/static/media/googlewallet.7f0e39ad.svg" + }, + { + revision: "2646bc518e3540d4639365448d02b23d", + url: "/static/media/jcb.2646bc51.svg" + }, + { + revision: "7cbe03bef872c536d6dbaa1f274ae0dc", + url: "/static/media/googlewallet-dark.7cbe03be.svg" + }, + { + revision: "7337d9d063907f6fd8d49214982e18a6", + url: "/static/media/giropay.7337d9d0.svg" + }, + { + revision: "ff3c753ae34a95d2b30a9089319f29aa", + url: "/static/media/giropay-dark.ff3c753a.svg" + }, + { + revision: "f9bf701dcacbc6a9e40cc626153d6ff9", + url: "/static/media/jcb-dark.f9bf701d.svg" + }, + { + revision: "54d6e672e8609e0b77d49f18c06430c7", + url: "/static/media/eway.54d6e672.svg" + }, + { + revision: "bbf15466f81b7a24e9cc9e9522a2a709", + url: "/static/media/eway-dark.bbf15466.svg" + }, + { + revision: "862b611ad759b765022ea1cac513bbfa", + url: "/static/media/ebay.862b611a.svg" + }, + { + revision: "bd7ccde1aba2b3502e43a20b0dad4152", + url: "/static/media/ebay-dark.bd7ccde1.svg" + }, + { + revision: "36f577700982f8fb3542d92a6c362650", + url: "/static/media/dwolla.36f57770.svg" + }, + { + revision: "2f4fe159d3189ca05916f3ad46cb1a6c", + url: "/static/media/discover.2f4fe159.svg" + }, + { + revision: "ccae276756a625bc248c34c7c49ddcf4", + url: "/static/media/dwolla-dark.ccae2767.svg" + }, + { + revision: "37695b626fb35b01215987cd7865ca7b", + url: "/static/media/directdebit.37695b62.svg" + }, + { + revision: "00f5c21f4be89a46de82c69e6259781c", + url: "/static/media/discover-dark.00f5c21f.svg" + }, + { + revision: "45249b1dd66c3b8425f9ce67f014d9ee", + url: "/static/media/dinersclub.45249b1d.svg" + }, + { + revision: "bf510996f9f817b97d4618a413373998", + url: "/static/media/directdebit-dark.bf510996.svg" + }, + { + revision: "b60982772ca2538902574c9790def63b", + url: "/static/media/coinkite.b6098277.svg" + }, + { + revision: "f50deb17e6e13ff02fe1f4c149d3166c", + url: "/static/media/coinkite-dark.f50deb17.svg" + }, + { + revision: "eb61d075dbf8722029027b09b39cc3a8", + url: "/static/media/clickandbuy.eb61d075.svg" + }, + { + revision: "baff56e3fdcd57bc731c02c4878e7441", + url: "/static/media/dinersclub-dark.baff56e3.svg" + }, + { + revision: "f7d38984e9cfaa1bf3f98a0046862667", + url: "/static/media/clickandbuy-dark.f7d38984.svg" + }, + { + revision: "983db5f2256f8e24e520ef7d1146ed3f", + url: "/static/media/cirrus.983db5f2.svg" + }, + { + revision: "243a362ebddb29c473ace764e5b11e6b", + url: "/static/media/cirrus-dark.243a362e.svg" + }, + { + revision: "ffb94e65905ea7a299e8ee52944abef1", + url: "/static/media/bitpay.ffb94e65.svg" + }, + { + revision: "f86a15dac57d28c89e0b69ac3eee63f8", + url: "/static/media/bitpay-dark.f86a15da.svg" + }, + { + revision: "edaf60e16ce0cc50bf2d0b7a499036e4", + url: "/static/media/bitcoin-dark.edaf60e1.svg" + }, + { + revision: "d9ac7b6156a3498ad0fd300b98f2f605", + url: "/static/media/bitcoin.d9ac7b61.svg" + }, + { + revision: "8c0a0fa2bc07c9102ff49218b0ca9145", + url: "/static/media/bancontact.8c0a0fa2.svg" + }, + { + revision: "6e78609075a295f1627cd785a2005837", + url: "/static/media/bancontact-dark.6e786090.svg" + }, + { + revision: "1ff3d3f0d176196bbd3aaf4a6ecf7dac", + url: "/static/media/applepay.1ff3d3f0.svg" + }, + { + revision: "e044dbdb76e1805843ae429c3c16bdd9", + url: "/static/media/applepay-dark.e044dbdb.svg" + }, + { + revision: "b89abdaf46ce1b76d1f382de92ed7c0e", + url: "/static/media/americanexpress.b89abdaf.svg" + }, + { + revision: "5c500045ab6cd762cd5f9abd393c2577", + url: "/static/media/amazon.5c500045.svg" + }, + { + revision: "c2ea2d77ce452a928487e9d62737ad4c", + url: "/static/media/americanexpress-dark.c2ea2d77.svg" + }, + { + revision: "31580e28ff89814332255e3f3ad510d6", + url: "/static/media/alipay.31580e28.svg" + }, + { + revision: "b6a651d2cd0063d0e83b505c40f24dd7", + url: "/static/media/alipay-dark.b6a651d2.svg" + }, + { + revision: "e14c0f5e3d367693fa699906a02119c6", + url: "/static/media/2checkout.e14c0f5e.svg" + }, + { + revision: "b178a57fcddb6156a5ec639d1b5d5a24", + url: "/static/media/amazon-dark.b178a57f.svg" + }, + { + revision: "65d58d809466b33a779ff1b029046730", + url: "/static/media/2checkout-dark.65d58d80.svg" + }, + { + revision: "e223cee52ee80138dfc25a1885c83186", + url: "/static/media/zw.e223cee5.svg" + }, + { + revision: "d8ffed672eb363336a1ad1ad4dc965be", + url: "/static/media/za.d8ffed67.svg" + }, + { + revision: "625866342c77dcf827cdc22d004c6227", + url: "/static/media/zm.62586634.svg" + }, + { + revision: "a2dc66505c31b7096ba48bac4557855c", + url: "/static/media/yt.a2dc6650.svg" + }, + { + revision: "55897575e3e0001ebfb8dcfba390495d", + url: "/static/media/ye.55897575.svg" + }, + { + revision: "23b64335ac552f3d33e7544da45a2508", + url: "/static/media/ws.23b64335.svg" + }, + { + revision: "4b4f5462b60b559d729a55f8719cf005", + url: "/static/media/wf.4b4f5462.svg" + }, + { + revision: "0b7571b87f2faaa3d8e3b5662636d574", + url: "/static/media/vn.0b7571b8.svg" + }, + { + revision: "9a6c3abc25acb7444923135ab30b7cb9", + url: "/static/media/vu.9a6c3abc.svg" + }, + { + revision: "b3c0a20f217b35d1cf1111736130dac8", + url: "/static/media/vi.b3c0a20f.svg" + }, + { + revision: "f3912357d0a5339a1f402efefc89a8e7", + url: "/static/media/vc.f3912357.svg" + }, + { + revision: "3b3121b285747fdd0ca17486e084c675", + url: "/static/media/vg.3b3121b2.svg" + }, + { + revision: "6f48a1b9488fe66e13887fb43304c009", + url: "/static/media/ve.6f48a1b9.svg" + }, + { + revision: "a7e91b404efc4ad91c1360efd8e9cb4a", + url: "/static/media/uy.a7e91b40.svg" + }, + { + revision: "791dfbdae7960b7482e949dfac7c829a", + url: "/static/media/uz.791dfbda.svg" + }, + { + revision: "2382ea7ec7cc55bfe1cc7a3ea8326989", + url: "/static/media/us.2382ea7e.svg" + }, + { + revision: "1519b6c631d063c9e495cd9f3dfd0f66", + url: "/static/media/un.1519b6c6.svg" + }, + { + revision: "6b139c75ff4f94335205a2d93dc7e090", + url: "/static/media/va.6b139c75.svg" + }, + { + revision: "a1fa2de39f9fdbd1e48a965bf697d700", + url: "/static/media/um.a1fa2de3.svg" + }, + { + revision: "acc88be0743859f3c1d499c3117cfdcd", + url: "/static/media/ua.acc88be0.svg" + }, + { + revision: "1e070275fe2eb891e7a1b90ac3c3ee13", + url: "/static/media/ug.1e070275.svg" + }, + { + revision: "d5c9c20a3cfbf0c135ea7d58d29684f5", + url: "/static/media/tz.d5c9c20a.svg" + }, + { + revision: "7baefd1c21ecb97a0a48a0d738bf79dc", + url: "/static/media/tw.7baefd1c.svg" + }, + { + revision: "1a077ad0ee7788a6a1688dbfc5c12526", + url: "/static/media/tv.1a077ad0.svg" + }, + { + revision: "f09daa6dc55999ef79edf7d708ad1f90", + url: "/static/media/tt.f09daa6d.svg" + }, + { + revision: "fa884203b4e844943f89c290c02ea246", + url: "/static/media/to.fa884203.svg" + }, + { + revision: "aabe02c21bdc96b4499f10c7ead37008", + url: "/static/media/tr.aabe02c2.svg" + }, + { + revision: "ef273685b23f3978caf97e7fb0b2ea9d", + url: "/static/media/tn.ef273685.svg" + }, + { + revision: "f563fdae9a3ca98f28a3c4c03a6d766f", + url: "/static/media/tl.f563fdae.svg" + }, + { + revision: "d2132088d8448cd731e7047c1e432bf2", + url: "/static/media/tm.d2132088.svg" + }, + { + revision: "22d4831b30e7a7ffa78d23628db3bdab", + url: "/static/media/tk.22d4831b.svg" + }, + { + revision: "b6533ad31f2b20a30bba38b0f2de1d9b", + url: "/static/media/tj.b6533ad3.svg" + }, + { + revision: "502695871e6c9632d23ed1db99f4e102", + url: "/static/media/th.50269587.svg" + }, + { + revision: "b96ee5428e8c67d6b1fc8bf73925af34", + url: "/static/media/tg.b96ee542.svg" + }, + { + revision: "adc24fb28bb1688520b8ee3272929644", + url: "/static/media/tf.adc24fb2.svg" + }, + { + revision: "079a252552085195fa1e74c55965d960", + url: "/static/media/td.079a2525.svg" + }, + { + revision: "2f7d308e80bd8a87fa1d2c63aa74fc5a", + url: "/static/media/tc.2f7d308e.svg" + }, + { + revision: "0fedea0746db6aa80b93dc14293c1754", + url: "/static/media/sy.0fedea07.svg" + }, + { + revision: "1ae99e458e6568a1297a512ae21b85ba", + url: "/static/media/sz.1ae99e45.svg" + }, + { + revision: "230410b519c6205157002ce21ff8d629", + url: "/static/media/st.230410b5.svg" + }, + { + revision: "d23d18072122ea995d7f4f4bea2300fe", + url: "/static/media/sx.d23d1807.svg" + }, + { + revision: "0c7c9ffcd96a318fe1ed195441a6c2a9", + url: "/static/media/ss.0c7c9ffc.svg" + }, + { + revision: "65cdb1de480732b66f6a3675f49f2596", + url: "/static/media/sr.65cdb1de.svg" + }, + { + revision: "3bdb1de25c626c766b62e2c1cca11ea9", + url: "/static/media/so.3bdb1de2.svg" + }, + { + revision: "4dc603d122f3ede3b07bfb751ee3a59c", + url: "/static/media/sn.4dc603d1.svg" + }, + { + revision: "a21150d5864835c762dd3bdb21e61320", + url: "/static/media/sv.a21150d5.svg" + }, + { + revision: "835d44f65482fc4d92251cb9eba71fa2", + url: "/static/media/sl.835d44f6.svg" + }, + { + revision: "f3eb4474892199b59c8ca7272069e6ba", + url: "/static/media/sm.f3eb4474.svg" + }, + { + revision: "8331157c241082c3ad0f499b47737ac2", + url: "/static/media/sj.8331157c.svg" + }, + { + revision: "f44daf851804e866328d76cdd0b99074", + url: "/static/media/sk.f44daf85.svg" + }, + { + revision: "72f83c2946a14767d764c53baca31a7b", + url: "/static/media/si.72f83c29.svg" + }, + { + revision: "22475f5224df5500aa75813ba7608a23", + url: "/static/media/se.22475f52.svg" + }, + { + revision: "0726abdb26a803057f8e22205c03f172", + url: "/static/media/sh.0726abdb.svg" + }, + { + revision: "22b0739e53b62deb793917e7ba4c1892", + url: "/static/media/sg.22b0739e.svg" + }, + { + revision: "a14badd55e756d1248fb262f896a6a84", + url: "/static/media/sd.a14badd5.svg" + }, + { + revision: "fdc11a48b5b254f92ffc220dc1935963", + url: "/static/media/sc.fdc11a48.svg" + }, + { + revision: "115ce3e59fc48f4e9307e69329ed0a85", + url: "/static/media/sb.115ce3e5.svg" + }, + { + revision: "46fb809f4912001f48fdc2b878e80f17", + url: "/static/media/rw.46fb809f.svg" + }, + { + revision: "67b058aefae79a7a8273c3a3ece09dae", + url: "/static/media/sa.67b058ae.svg" + }, + { + revision: "517e32a1f8c51260abfd28e65123eac8", + url: "/static/media/ru.517e32a1.svg" + }, + { + revision: "552b5d9744e1cb43fe34d598cc391113", + url: "/static/media/ro.552b5d97.svg" + }, + { + revision: "a2dc66505c31b7096ba48bac4557855c", + url: "/static/media/re.a2dc6650.svg" + }, + { + revision: "20a4d7413504b137c05f202bbf385e9b", + url: "/static/media/qa.20a4d741.svg" + }, + { + revision: "0557592eea5bfc7ac4a3e3d41bde1e1c", + url: "/static/media/pw.0557592e.svg" + }, + { + revision: "abc5b39643482e82cb856bf160fa50fe", + url: "/static/media/py.abc5b396.svg" + }, + { + revision: "e489537c791c5a57f554f17b21b02868", + url: "/static/media/pr.e489537c.svg" + }, + { + revision: "225ede3505309835812a31d8cd526332", + url: "/static/media/ps.225ede35.svg" + }, + { + revision: "e129260bc90ab03c1f3b9f5452e0d66c", + url: "/static/media/pt.e129260b.svg" + }, + { + revision: "bf813bfe31876e1a07e61f7ecdafd5a6", + url: "/static/media/pn.bf813bfe.svg" + }, + { + revision: "a2dc66505c31b7096ba48bac4557855c", + url: "/static/media/pm.a2dc6650.svg" + }, + { + revision: "426b1d470b7392ef3ea723342a138c6f", + url: "/static/media/rs.426b1d47.svg" + }, + { + revision: "2257cff690948088abf92a799e89544e", + url: "/static/media/pl.2257cff6.svg" + }, + { + revision: "db891066a9bf98fd99cfa111abe7d535", + url: "/static/media/pk.db891066.svg" + }, + { + revision: "8b5fbe69f9da3819f4887f6a01b8648e", + url: "/static/media/ph.8b5fbe69.svg" + }, + { + revision: "e444f903a3056c776d7eb977380fa0c6", + url: "/static/media/pg.e444f903.svg" + }, + { + revision: "28a15c37093a6700fb9db6c92bb9f714", + url: "/static/media/pf.28a15c37.svg" + }, + { + revision: "910761356d647746a34206d23e138727", + url: "/static/media/pa.91076135.svg" + }, + { + revision: "4cabbfc6b407981692d9a034c04e3395", + url: "/static/media/pe.4cabbfc6.svg" + }, + { + revision: "9b7a06b9a821841e7a5fd0f3e3ab8cc4", + url: "/static/media/om.9b7a06b9.svg" + }, + { + revision: "03d7410ae73601f5ec7122019a2ab888", + url: "/static/media/nz.03d7410a.svg" + }, + { + revision: "e6bfaa15b7678d8441d4106e06376792", + url: "/static/media/nu.e6bfaa15.svg" + }, + { + revision: "f2afa5b9c3bb5ff4eac025d6a9e3e5ff", + url: "/static/media/nr.f2afa5b9.svg" + }, + { + revision: "e6de69465e5e1ec155356a0827683a8a", + url: "/static/media/np.e6de6946.svg" + }, + { + revision: "8331157c241082c3ad0f499b47737ac2", + url: "/static/media/no.8331157c.svg" + }, + { + revision: "de2a39a27acc28aebde8173acc4bdf6d", + url: "/static/media/nl.de2a39a2.svg" + }, + { + revision: "2b983496dce81d0805a0d92443e8000c", + url: "/static/media/ni.2b983496.svg" + }, + { + revision: "2ddc320beac15d92ffece6345b604540", + url: "/static/media/ng.2ddc320b.svg" + }, + { + revision: "bad21adca6cd1a7c0498752de207dcbd", + url: "/static/media/ne.bad21adc.svg" + }, + { + revision: "fc2d0f07ea618d781e800bd8cd49d92c", + url: "/static/media/nf.fc2d0f07.svg" + }, + { + revision: "a2dc66505c31b7096ba48bac4557855c", + url: "/static/media/nc.a2dc6650.svg" + }, + { + revision: "f38aead1dd402abc43b2e0dddd08ae47", + url: "/static/media/na.f38aead1.svg" + }, + { + revision: "cd1e97af5e343e6d7db5c8f8bbb40cac", + url: "/static/media/mz.cd1e97af.svg" + }, + { + revision: "aae5bd9cefde01ece247f58bf89a825c", + url: "/static/media/my.aae5bd9c.svg" + }, + { + revision: "5b33db847ef48920cfec09f0c2926e90", + url: "/static/media/mw.5b33db84.svg" + }, + { + revision: "e343afe8028575ea736d2677db4f7744", + url: "/static/media/mv.e343afe8.svg" + }, + { + revision: "cffcad7981a89128ffef6ec871c5ef96", + url: "/static/media/mt.cffcad79.svg" + }, + { + revision: "974b9e6c380a062b6504150999965d5f", + url: "/static/media/mu.974b9e6c.svg" + }, + { + revision: "4c4286cd431a0194e7d35bcc875537b7", + url: "/static/media/mq.4c4286cd.svg" + }, + { + revision: "6b3d082dde2cd6355e7dd6194b258da7", + url: "/static/media/mr.6b3d082d.svg" + }, + { + revision: "8b73c710b4a9a2c91ed2683bd2ba2a41", + url: "/static/media/ms.8b73c710.svg" + }, + { + revision: "cfd48e450bb31f3dc56b78fdac465bc0", + url: "/static/media/mn.cfd48e45.svg" + }, + { + revision: "36f1d6f2d8b53af76065ce17e6189104", + url: "/static/media/mo.36f1d6f2.svg" + }, + { + revision: "184d53d145cbbb2eafe2bc7a3bd66c62", + url: "/static/media/mx.184d53d1.svg" + }, + { + revision: "e6d7c5a4187b1fd8ab643d0e5d2f5bd1", + url: "/static/media/mm.e6d7c5a4.svg" + }, + { + revision: "be076fd925ea2dd5a74f6a552166ba71", + url: "/static/media/ml.be076fd9.svg" + }, + { + revision: "a3bb001b15d05e4a8974729fa75f9247", + url: "/static/media/mh.a3bb001b.svg" + }, + { + revision: "29cb0cb257ce61901ab1d97c97200be9", + url: "/static/media/mk.29cb0cb2.svg" + }, + { + revision: "0c0da5f0631b226d95fd57929b9e4b4b", + url: "/static/media/mg.0c0da5f0.svg" + }, + { + revision: "fcdc8e3981178bdf4bf5f382fa7e7dab", + url: "/static/media/mp.fcdc8e39.svg" + }, + { + revision: "a178bcfbbbc26cb995fa19241b7a12a2", + url: "/static/media/mf.a178bcfb.svg" + }, + { + revision: "4241d3ff964cfdb68da07bb0f78520f4", + url: "/static/media/mc.4241d3ff.svg" + }, + { + revision: "f9aceffb03e9764fac60e5aafe3743ec", + url: "/static/media/md.f9aceffb.svg" + }, + { + revision: "8c27c49311f54ab8d011b8eacf6c63cb", + url: "/static/media/ma.8c27c493.svg" + }, + { + revision: "ededce3248f5c7f3e52a48bcfa55ac01", + url: "/static/media/ly.ededce32.svg" + }, + { + revision: "83353fa9cde68c8e128f85724e743e75", + url: "/static/media/lv.83353fa9.svg" + }, + { + revision: "06956a1377123bf7bf98076217a07361", + url: "/static/media/lu.06956a13.svg" + }, + { + revision: "14b63eab7de31bd29ffcdc4002433cd6", + url: "/static/media/lt.14b63eab.svg" + }, + { + revision: "700ddad000d732b2603dcde0195ea3e7", + url: "/static/media/ls.700ddad0.svg" + }, + { + revision: "f0a4f4f6d893038aa99ccbcb7f6e5271", + url: "/static/media/lk.f0a4f4f6.svg" + }, + { + revision: "5485e606cf2dcf18e30b88581f14a459", + url: "/static/media/lr.5485e606.svg" + }, + { + revision: "6c2940dae95d15b98cf38bcf44816d21", + url: "/static/media/lc.6c2940da.svg" + }, + { + revision: "4981974031355cb8cb9fa6ae351ec6cf", + url: "/static/media/lb.49819740.svg" + }, + { + revision: "10e0d5b28508b7a92f02b01c8f54bfe7", + url: "/static/media/li.10e0d5b2.svg" + }, + { + revision: "399015d8b358e8c3c2c1a3e699752e63", + url: "/static/media/me.399015d8.svg" + }, + { + revision: "bdfc4ab5e964e3466fcf31b5ec4bf87b", + url: "/static/media/la.bdfc4ab5.svg" + }, + { + revision: "529db212e9de897dc2dd42f4ad7f8fd3", + url: "/static/media/kz.529db212.svg" + }, + { + revision: "3e24a94a1aee5cfa3c34f2fa6f8f1845", + url: "/static/media/kw.3e24a94a.svg" + }, + { + revision: "32f23fafe64cce64d0e30c1d80e761ae", + url: "/static/media/kr.32f23faf.svg" + }, + { + revision: "b2729dfae51752a2cb41de576c90b6bb", + url: "/static/media/kp.b2729dfa.svg" + }, + { + revision: "f7c3a515e4c61b03f6818233ded0bd8c", + url: "/static/media/ky.f7c3a515.svg" + }, + { + revision: "cd351374021fde2537ae578691612f30", + url: "/static/media/km.cd351374.svg" + }, + { + revision: "7ab9462c3019492674aa27c5f42df7f1", + url: "/static/media/kn.7ab9462c.svg" + }, + { + revision: "fbe824dcd1ef2519d2d21f189a345c2a", + url: "/static/media/ki.fbe824dc.svg" + }, + { + revision: "de33c0489053970bffc24559744aaae3", + url: "/static/media/kg.de33c048.svg" + }, + { + revision: "bfffb443939dc4de9a1926380b3c99b4", + url: "/static/media/kh.bfffb443.svg" + }, + { + revision: "15b698f31b8bec3028bea1726cea84fb", + url: "/static/media/ke.15b698f3.svg" + }, + { + revision: "fd2646810e3b7a16d5ff0e16401fcf94", + url: "/static/media/jp.fd264681.svg" + }, + { + revision: "d14059401101d457efe14ba2495e69c6", + url: "/static/media/jo.d1405940.svg" + }, + { + revision: "7db0ffd8c9e9717bf8a4e670b8e14de8", + url: "/static/media/jm.7db0ffd8.svg" + }, + { + revision: "6a9e1b932b348bea888a9cb0a21ad581", + url: "/static/media/je.6a9e1b93.svg" + }, + { + revision: "bd6b5ff3c79cb3d80d524f342ff99ba4", + url: "/static/media/it.bd6b5ff3.svg" + }, + { + revision: "ec1fb8765fe74b0912ab152afe850c38", + url: "/static/media/is.ec1fb876.svg" + }, + { + revision: "61fca1841f4f8e1b031eeeb7a7708650", + url: "/static/media/iq.61fca184.svg" + }, + { + revision: "3cb275a7c517640ff251ce419ba5a7be", + url: "/static/media/ir.3cb275a7.svg" + }, + { + revision: "2d667fbb3870fa62aa27eece3a00196c", + url: "/static/media/in.2d667fbb.svg" + }, + { + revision: "19884f0c27b6b1a57a12fdb7b682eed2", + url: "/static/media/im.19884f0c.svg" + }, + { + revision: "0ea7e9dad5f9fce9cdee314eea294da8", + url: "/static/media/il.0ea7e9da.svg" + }, + { + revision: "ee020a0f5bc9d6586b97f9a9dfea47a0", + url: "/static/media/id.ee020a0f.svg" + }, + { + revision: "a8abaf3779c44dbb5d3604b621d899fc", + url: "/static/media/hu.a8abaf37.svg" + }, + { + revision: "d609c4e7bbb267cc920b9bfacdf8c553", + url: "/static/media/ie.d609c4e7.svg" + }, + { + revision: "2e0c61df4402b9748b394cf508f1a0c7", + url: "/static/media/io.2e0c61df.svg" + }, + { + revision: "d0404e4a48a02f0e5b393e7f88d02648", + url: "/static/media/ht.d0404e4a.svg" + }, + { + revision: "3d726baafa62f8f9fee22363226fb75c", + url: "/static/media/hn.3d726baa.svg" + }, + { + revision: "b43f38576524ed7038b5afd6337d5759", + url: "/static/media/hm.b43f3857.svg" + }, + { + revision: "19bcfc3477c49626f2f9e4291e3f81bd", + url: "/static/media/gy.19bcfc34.svg" + }, + { + revision: "fb606eb1063380a1c9d858161cf5f0a7", + url: "/static/media/hk.fb606eb1.svg" + }, + { + revision: "79e564a4cd82e29e24b5a3ff6c6d914e", + url: "/static/media/hr.79e564a4.svg" + }, + { + revision: "e1d47aa4658950ee3f11d125f19a604a", + url: "/static/media/gw.e1d47aa4.svg" + }, + { + revision: "ad34e604908c0fd1e96af29a7e9b983f", + url: "/static/media/gu.ad34e604.svg" + }, + { + revision: "9a9a62a1f4f53cc87d02925098293360", + url: "/static/media/gr.9a9a62a1.svg" + }, + { + revision: "a178bcfbbbc26cb995fa19241b7a12a2", + url: "/static/media/gp.a178bcfb.svg" + }, + { + revision: "6bbb0e7695e648aa9d7e25eff7165284", + url: "/static/media/gq.6bbb0e76.svg" + }, + { + revision: "e472dff761a5641c37c985858a735dc3", + url: "/static/media/gn.e472dff7.svg" + }, + { + revision: "9423800e095be53df9249808ce63306c", + url: "/static/media/gm.9423800e.svg" + }, + { + revision: "d02c42ea2b63c1131bb36da347ac3490", + url: "/static/media/gl.d02c42ea.svg" + }, + { + revision: "3721691749ae1da7133203472974ea5f", + url: "/static/media/gs.37216917.svg" + }, + { + revision: "c9543d40b95a35ff339fe78d6184b6d1", + url: "/static/media/gi.c9543d40.svg" + }, + { + revision: "0b689ffe012a208dbd4609b8e7a6ce4c", + url: "/static/media/gt.0b689ffe.svg" + }, + { + revision: "d4b35e14b2cdd6bb630a7b2c8902d7b7", + url: "/static/media/gh.d4b35e14.svg" + }, + { + revision: "d339aeb27fefd04b3c8238b7d8f26473", + url: "/static/media/gg.d339aeb2.svg" + }, + { + revision: "4ea8e1590ad37f3d4fb8c58c7906a73c", + url: "/static/media/gf.4ea8e159.svg" + }, + { + revision: "334a8275142fd63934abf3a8f8c5a913", + url: "/static/media/ge.334a8275.svg" + }, + { + revision: "c17d779e8552e59c9ef032f0a432fcfb", + url: "/static/media/gd.c17d779e.svg" + }, + { + revision: "5638bbd9874edd22c39b0c4a54b1de21", + url: "/static/media/gb.5638bbd9.svg" + }, + { + revision: "2831a6dd51c5a036e31203cd6faef1f7", + url: "/static/media/gb-wls.2831a6dd.svg" + }, + { revision: "a81890890ff149eacb0af60855cea950", url: "/index.html" } +]; diff --git a/onvm_web/web-build/service-worker.js b/onvm_web/web-build/service-worker.js index e408e2ad5..a5c774f82 100644 --- a/onvm_web/web-build/service-worker.js +++ b/onvm_web/web-build/service-worker.js @@ -1 +1,11 @@ -importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.2/workbox-sw.js");importScripts("/precache-manifest.9e30993647e06e9411d5539e546b5a8f.js");workbox.clientsClaim();self.__precacheManifest=[].concat(self.__precacheManifest||[]);workbox.precaching.suppressWarnings();workbox.precaching.precacheAndRoute(self.__precacheManifest,{});workbox.routing.registerNavigationRoute("/index.html",{blacklist:[/^\/_/,/\/[^/]+\.[^/]+$/]}); \ No newline at end of file +importScripts( + "https://storage.googleapis.com/workbox-cdn/releases/3.6.2/workbox-sw.js" +); +importScripts("/precache-manifest.f2d13d722d2b53f6c7e5fc40dd5c0358.js"); +workbox.clientsClaim(); +self.__precacheManifest = [].concat(self.__precacheManifest || []); +workbox.precaching.suppressWarnings(); +workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); +workbox.routing.registerNavigationRoute("/index.html", { + blacklist: [/^\/_/, /\/[^/]+\.[^/]+$/] +}); diff --git a/onvm_web/web-build/static/css/1.983b9b6a.chunk.css b/onvm_web/web-build/static/css/1.983b9b6a.chunk.css deleted file mode 100644 index 6b939c5f0..000000000 --- a/onvm_web/web-build/static/css/1.983b9b6a.chunk.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap v4.0.0 (https://getbootstrap.com) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue:#467fcf;--indigo:#6574cd;--purple:#a55eea;--pink:#f66d9b;--red:#cd201f;--orange:#fd9644;--yellow:#f1c40f;--green:#5eba00;--teal:#2bcbba;--cyan:#17a2b8;--white:#fff;--gray:#868e96;--gray-dark:#343a40;--azure:#45aaf2;--lime:#7bd235;--primary:#467fcf;--secondary:#868e96;--success:#5eba00;--info:#45aaf2;--warning:#f1c40f;--danger:#cd201f;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1280px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:.9375rem;font-weight:400;line-height:1.5;color:#495057;text-align:left;background-color:#f5f7fb}[tabindex="-1"]:focus{outline:0 !important}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.66em}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}a{color:#467fcf;text-decoration:none;background-color:initial;-webkit-text-decoration-skip:objects}a:hover{color:#295a9f;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#9aa0ac;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.66em;font-family:inherit;font-weight:600;line-height:1.1;color:inherit}.h1,h1{font-size:2rem}.h2,h2{font-size:1.75rem}.h3,h3{font-size:1.5rem}.h4,h4{font-size:1.125rem}.h5,h5{font-size:1rem}.h6,h6{font-size:.875rem}.lead{font-size:1.171875rem;font-weight:300}.display-1{font-size:4.5rem}.display-1,.display-2{font-weight:300;line-height:1.1}.display-2{font-size:4rem}.display-3{font-size:3.5rem}.display-3,.display-4{font-weight:300;line-height:1.1}.display-4{font-size:3rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,40,100,.12)}.small,small{font-size:87.5%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.171875rem}.blockquote-footer{display:block;font-size:80%;color:#868e96}.blockquote-footer:before{content:"\2014 \A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:3px}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#868e96}code,kbd,pre,samp{font-family:Monaco,Consolas,Liberation Mono,Courier New,monospace}code{font-size:85%;word-break:break-word}a>code,code{color:inherit}kbd{padding:.2rem .4rem;font-size:85%;color:#fff;background-color:#343a40;border-radius:3px}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:.75rem;padding-left:.75rem;margin-right:auto;margin-left:auto}@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1280px){.container{max-width:1200px}}.container-fluid{width:100%;padding-right:.75rem;padding-left:.75rem;margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-.75rem;margin-left:-.75rem}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:.75rem;padding-left:.75rem}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:none}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media(min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:none}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media(min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:none}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media(min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:none}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media(min-width:1280px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:none}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table,.text-wrap table{width:100%;max-width:100%;margin-bottom:1rem;background-color:initial}.table td,.table th,.text-wrap table td,.text-wrap table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th,.text-wrap table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody,.text-wrap table tbody+tbody{border-top:2px solid #dee2e6}.table .table,.table .text-wrap table,.text-wrap .table table,.text-wrap table .table,.text-wrap table table{background-color:#f5f7fb}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th,.text-wrap table,.text-wrap table td,.text-wrap table th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th,.text-wrap table thead td,.text-wrap table thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.02)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.04)}.table-primary,.table-primary>td,.table-primary>th{background-color:#cbdbf2}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b7cded}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#dddfe2}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#cfd2d6}.table-success,.table-success>td,.table-success>th{background-color:#d2ecb8}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#c5e7a4}.table-info,.table-info>td,.table-info>th{background-color:#cbe7fb}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#b3dcf9}.table-warning,.table-warning>td,.table-warning>th{background-color:#fbeebc}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#fae8a4}.table-danger,.table-danger>td,.table-danger>th{background-color:#f1c1c0}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ecacab}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.04)}.table .thead-dark th,.text-wrap table .thead-dark th{color:#f5f7fb;background-color:#212529;border-color:#32383e}.table .thead-light th,.text-wrap table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#f5f7fb;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered,.text-wrap table.table-dark{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{background-color:hsla(0,0%,100%,.075)}@media(max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered,.text-wrap .table-responsive-sm>table{border:0}}@media(max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered,.text-wrap .table-responsive-md>table{border:0}}@media(max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered,.text-wrap .table-responsive-lg>table{border:0}}@media(max-width:1279.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered,.text-wrap .table-responsive-xl>table{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered,.text-wrap .table-responsive>table{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:.9375rem;line-height:1.6;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,40,100,.12);border-radius:3px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::-ms-expand{background-color:initial;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#1991eb;outline:0;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.form-control::-webkit-input-placeholder{color:#adb5bd;opacity:1}.form-control:-ms-input-placeholder{color:#adb5bd;opacity:1}.form-control::-ms-input-placeholder{color:#adb5bd;opacity:1}.form-control::placeholder{color:#adb5bd;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#f8f9fa;opacity:1}select.form-control:not([size]):not([multiple]){height:2.375rem}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.6}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.125rem;line-height:1.44444444}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.14285714}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.6;background-color:initial;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.14285714;border-radius:3px}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.125rem;line-height:1.44444444;border-radius:3px}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.6875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#9aa0ac}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:87.5%;color:#5eba00}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(94,186,0,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#5eba00}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#5eba00;box-shadow:0 0 0 2px rgba(94,186,0,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#5eba00}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#5eba00}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{background-color:#9eff3b}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#78ed00}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 1px #f5f7fb,0 0 0 2px rgba(94,186,0,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#5eba00}.custom-file-input.is-valid~.custom-file-label:before,.was-validated .custom-file-input:valid~.custom-file-label:before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 2px rgba(94,186,0,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:87.5%;color:#cd201f}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(205,32,31,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#cd201f}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#cd201f;box-shadow:0 0 0 2px rgba(205,32,31,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#cd201f}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#cd201f}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{background-color:#ec8080}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#e23e3d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 1px #f5f7fb,0 0 0 2px rgba(205,32,31,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#cd201f}.custom-file-input.is-invalid~.custom-file-label:before,.was-validated .custom-file-input:invalid~.custom-file-label:before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 2px rgba(205,32,31,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:.9375rem;line-height:1.84615385;border-radius:3px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#467fcf;border-color:#467fcf}.btn-primary:hover{color:#fff;background-color:#316cbe;border-color:#2f66b3}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 2px rgba(70,127,207,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#467fcf;border-color:#467fcf}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#2f66b3;border-color:#2c60a9}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(70,127,207,.5)}.btn-secondary{color:#fff;background-color:#868e96;border-color:#868e96}.btn-secondary:hover{color:#fff;background-color:#727b84;border-color:#6c757d}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 2px rgba(134,142,150,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#868e96;border-color:#868e96}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#666e76}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(134,142,150,.5)}.btn-success{color:#fff;background-color:#5eba00;border-color:#5eba00}.btn-success:hover{color:#fff;background-color:#4b9400;border-color:#448700}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 2px rgba(94,186,0,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#5eba00;border-color:#5eba00}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#448700;border-color:#3e7a00}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(94,186,0,.5)}.btn-info{color:#fff;background-color:#45aaf2;border-color:#45aaf2}.btn-info:hover{color:#fff;background-color:#219af0;border-color:#1594ef}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 2px rgba(69,170,242,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#45aaf2;border-color:#45aaf2}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#1594ef;border-color:#108ee7}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(69,170,242,.5)}.btn-warning{color:#fff;background-color:#f1c40f;border-color:#f1c40f}.btn-warning:hover{color:#fff;background-color:#cea70c;border-color:#c29d0b}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 2px rgba(241,196,15,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#f1c40f;border-color:#f1c40f}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#c29d0b;border-color:#b6940b}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(241,196,15,.5)}.btn-danger{color:#fff;background-color:#cd201f;border-color:#cd201f}.btn-danger:hover{color:#fff;background-color:#ac1b1a;border-color:#a11918}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 2px rgba(205,32,31,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#cd201f;border-color:#cd201f}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#a11918;border-color:#961717}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(205,32,31,.5)}.btn-light{color:#495057;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#495057;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 2px rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#495057;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#495057;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 2px rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(52,58,64,.5)}.btn-outline-primary{color:#467fcf;background-color:initial;background-image:none;border-color:#467fcf}.btn-outline-primary:hover{color:#fff;background-color:#467fcf;border-color:#467fcf}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 2px rgba(70,127,207,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#467fcf;background-color:initial}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#467fcf;border-color:#467fcf}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(70,127,207,.5)}.btn-outline-secondary{color:#868e96;background-color:initial;background-image:none;border-color:#868e96}.btn-outline-secondary:hover{color:#fff;background-color:#868e96;border-color:#868e96}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 2px rgba(134,142,150,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#868e96;background-color:initial}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#868e96;border-color:#868e96}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(134,142,150,.5)}.btn-outline-success{color:#5eba00;background-color:initial;background-image:none;border-color:#5eba00}.btn-outline-success:hover{color:#fff;background-color:#5eba00;border-color:#5eba00}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 2px rgba(94,186,0,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5eba00;background-color:initial}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5eba00;border-color:#5eba00}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(94,186,0,.5)}.btn-outline-info{color:#45aaf2;background-color:initial;background-image:none;border-color:#45aaf2}.btn-outline-info:hover{color:#fff;background-color:#45aaf2;border-color:#45aaf2}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 2px rgba(69,170,242,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#45aaf2;background-color:initial}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#45aaf2;border-color:#45aaf2}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(69,170,242,.5)}.btn-outline-warning{color:#f1c40f;background-color:initial;background-image:none;border-color:#f1c40f}.btn-outline-warning:hover{color:#fff;background-color:#f1c40f;border-color:#f1c40f}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 2px rgba(241,196,15,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f1c40f;background-color:initial}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f1c40f;border-color:#f1c40f}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(241,196,15,.5)}.btn-outline-danger{color:#cd201f;background-color:initial;background-image:none;border-color:#cd201f}.btn-outline-danger:hover{color:#fff;background-color:#cd201f;border-color:#cd201f}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 2px rgba(205,32,31,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#cd201f;background-color:initial}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#cd201f;border-color:#cd201f}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(205,32,31,.5)}.btn-outline-light{color:#f8f9fa;background-color:initial;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#495057;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 2px rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:initial}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#495057;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:initial;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 2px rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:initial}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#467fcf;background-color:initial}.btn-link:hover{color:#295a9f;background-color:initial}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline;border-color:transparent}.btn-link.focus,.btn-link:focus{box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#868e96}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.125rem;line-height:1.625;border-radius:3px}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.33333333;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{height:0;overflow:hidden;transition:height .35s ease}.collapsing,.dropdown,.dropup{position:relative}.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:.9375rem;color:#495057;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,40,100,.12);border-radius:3px}.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:initial;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#467fcf}.dropdown-item.disabled,.dropdown-item:disabled{color:#868e96;background-color:initial}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#868e96;white-space:nowrap}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:0 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group,.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:before{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label:before{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:.9375rem;font-weight:400;line-height:1.6;color:#495057;text-align:center;white-space:nowrap;background-color:#fbfbfc;border:1px solid rgba(0,40,100,.12);border-radius:3px}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;background-color:#467fcf}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 1px #f5f7fb,0 0 0 2px rgba(70,127,207,.25)}.custom-control-input:active~.custom-control-label:before{color:#fff;background-color:#d4e1f4}.custom-control-input:disabled~.custom-control-label{color:#868e96}.custom-control-input:disabled~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{margin-bottom:0}.custom-control-label:before{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background-repeat:no-repeat;background-position:50%;background-size:50% 50%}.custom-checkbox .custom-control-label:before{border-radius:3px}.custom-checkbox .custom-control-input:checked~.custom-control-label:before{background-color:#467fcf}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{background-color:#467fcf}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(70,127,207,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(70,127,207,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:before{background-color:#467fcf}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(70,127,207,.5)}.custom-select{display:inline-block;width:100%;height:2.375rem;padding:.5rem 1.75rem .5rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 5'%3E%3Cpath fill='#999' d='M0 0L10 0L5 5L0 0'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid rgba(0,40,100,.12);border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#1991eb;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(25,145,235,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#868e96;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);font-size:75%}.custom-select-lg,.custom-select-sm{padding-top:.5rem;padding-bottom:.5rem}.custom-select-lg{height:calc(2.6875rem + 2px);font-size:125%}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:2.375rem}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-control{border-color:#1991eb;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.custom-file-input:focus~.custom-file-control:before{border-color:#1991eb}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-label{left:0;z-index:1;height:2.375rem;background-color:#fff;border:1px solid rgba(0,40,100,.12);border-radius:3px}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(2.375rem - 2px);content:"Browse";background-color:#fbfbfc;border-left:1px solid rgba(0,40,100,.12);border-radius:0 3px 3px 0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#868e96}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#868e96;background-color:initial;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#f5f7fb;border-color:#dee2e6 #dee2e6 #f5f7fb}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:3px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#467fcf}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.359375rem;padding-bottom:.359375rem;margin-right:1rem;font-size:1.125rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.125rem;line-height:1;background-color:initial;border:1px solid transparent;border-radius:3px}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat 50%;background-size:100% 100%}@media(max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media(min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .dropup .dropdown-menu{top:auto;bottom:100%}}@media(max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media(min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .dropup .dropdown-menu{top:auto;bottom:100%}}@media(max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media(min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .dropup .dropdown-menu{top:auto;bottom:100%}}@media(max-width:1279.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media(min-width:1280px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .dropup .dropdown-menu{top:auto;bottom:100%}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .dropup .dropdown-menu{top:auto;bottom:100%}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:initial;border:1px solid rgba(0,40,100,.12);border-radius:3px}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.card-subtitle{margin-top:-.75rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.5rem}.card-header{padding:1.5rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,40,100,.12)}.card-header:first-child{border-radius:2px 2px 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:1.5rem;background-color:rgba(0,0,0,.03)}.card-footer:last-child{border-radius:0 0 2px 2px}.card-header-tabs{margin-bottom:-1.5rem}.card-header-pills,.card-header-tabs{margin-right:-.75rem;margin-left:-.75rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:2px}.card-img-top{width:100%;border-top-left-radius:2px;border-top-right-radius:2px}.card-img-bottom{width:100%;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:.75rem}@media(min-width:576px){.card-deck{flex-flow:row wrap;margin-right:-.75rem;margin-left:-.75rem}.card-deck .card{display:flex;flex:1 0;flex-direction:column;margin-right:.75rem;margin-bottom:0;margin-left:.75rem}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:.75rem}@media(min-width:576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:3px}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:3px;border-top-right-radius:3px}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.card-group>.card:not(:first-child):not(:last-child):not(:only-child),.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:1.5rem}@media(min-width:576px){.card-columns{-webkit-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;grid-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:3px}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#868e96;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#868e96}.pagination{display:flex;padding-left:0;list-style:none;border-radius:3px}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#495057;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{color:#295a9f;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.page-item:last-child .page-link{border-top-right-radius:3px;border-bottom-right-radius:3px}.page-item.active .page-link{z-index:1;color:#fff;background-color:#467fcf;border-color:#467fcf}.page-item.disabled .page-link{color:#ced4da;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.125rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:3px;border-bottom-right-radius:3px}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:3px;border-bottom-right-radius:3px}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:initial;border-radius:3px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#467fcf}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#2f66b3}.badge-secondary{color:#fff;background-color:#868e96}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#6c757d}.badge-success{color:#fff;background-color:#5eba00}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#448700}.badge-info{color:#fff;background-color:#45aaf2}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#1594ef}.badge-warning{color:#fff;background-color:#f1c40f}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#fff;text-decoration:none;background-color:#c29d0b}.badge-danger{color:#fff;background-color:#cd201f}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#a11918}.badge-light{color:#495057;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#495057;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:3px}@media(min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:3px}.alert-heading{color:inherit}.alert-link{font-weight:600}.alert-dismissible{padding-right:3.90625rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#24426c;background-color:#dae5f5;border-color:#cbdbf2}.alert-primary hr{border-top-color:#b7cded}.alert-primary .alert-link{color:#172b46}.alert-secondary{color:#464a4e;background-color:#e7e8ea;border-color:#dddfe2}.alert-secondary hr{border-top-color:#cfd2d6}.alert-secondary .alert-link{color:#2e3133}.alert-success{color:#316100;background-color:#dff1cc;border-color:#d2ecb8}.alert-success hr{border-top-color:#c5e7a4}.alert-success .alert-link{color:#172e00}.alert-info{color:#24587e;background-color:#daeefc;border-color:#cbe7fb}.alert-info hr{border-top-color:#b3dcf9}.alert-info .alert-link{color:#193c56}.alert-warning{color:#7d6608;background-color:#fcf3cf;border-color:#fbeebc}.alert-warning hr{border-top-color:#fae8a4}.alert-warning .alert-link{color:#4d3f05}.alert-danger{color:#6b1110;background-color:#f5d2d2;border-color:#f1c1c0}.alert-danger hr{border-top-color:#ecacab}.alert-danger .alert-link{color:#3f0a09}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.703125rem;background-color:#e9ecef;border-radius:3px}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;background-color:#467fcf;transition:width .6s ease}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:flex;align-items:flex-start}.media-body{flex:1 1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#495057;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,40,100,.12)}.list-group-item:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#868e96;background-color:#fff}.list-group-item.active{z-index:2;color:#467fcf;background-color:#f8fafd;border-color:rgba(0,40,100,.12)}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#24426c;background-color:#cbdbf2}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#24426c;background-color:#b7cded}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#24426c;border-color:#24426c}.list-group-item-secondary{color:#464a4e;background-color:#dddfe2}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#464a4e;background-color:#cfd2d6}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#464a4e;border-color:#464a4e}.list-group-item-success{color:#316100;background-color:#d2ecb8}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#316100;background-color:#c5e7a4}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#316100;border-color:#316100}.list-group-item-info{color:#24587e;background-color:#cbe7fb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#24587e;background-color:#b3dcf9}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#24587e;border-color:#24587e}.list-group-item-warning{color:#7d6608;background-color:#fbeebc}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#7d6608;background-color:#fae8a4}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#7d6608;border-color:#7d6608}.list-group-item-danger{color:#6b1110;background-color:#f1c1c0}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#6b1110;background-color:#ecacab}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#6b1110;border-color:#6b1110}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.40625rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:initial;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-25%);transform:translateY(-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0);transform:translate(0)}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:3px;border-top-right-radius:3px}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media(min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:3px}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid #dee3eb;border-radius:3px}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:.5rem;height:.5rem;margin:0 3px}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=top] .arrow:after,.bs-popover-auto[x-placement^=top] .arrow:before,.bs-popover-top .arrow:after,.bs-popover-top .arrow:before{border-width:.5rem .25rem 0}.bs-popover-auto[x-placement^=top] .arrow:before,.bs-popover-top .arrow:before{bottom:0;border-top-color:#dee3eb}.bs-popover-auto[x-placement^=top] .arrow:after,.bs-popover-top .arrow:after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc(-.5rem + -1px);width:.5rem;height:.5rem;margin:3px 0}.bs-popover-auto[x-placement^=right] .arrow:after,.bs-popover-auto[x-placement^=right] .arrow:before,.bs-popover-right .arrow:after,.bs-popover-right .arrow:before{border-width:.25rem .5rem .25rem 0}.bs-popover-auto[x-placement^=right] .arrow:before,.bs-popover-right .arrow:before{left:0;border-right-color:#dee3eb}.bs-popover-auto[x-placement^=right] .arrow:after,.bs-popover-right .arrow:after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=bottom] .arrow:after,.bs-popover-auto[x-placement^=bottom] .arrow:before,.bs-popover-bottom .arrow:after,.bs-popover-bottom .arrow:before{border-width:0 .25rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow:before,.bs-popover-bottom .arrow:before{top:0;border-bottom-color:#dee3eb}.bs-popover-auto[x-placement^=bottom] .arrow:after,.bs-popover-bottom .arrow:after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:.5rem;margin-left:-.25rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc(-.5rem + -1px);width:.5rem;height:.5rem;margin:3px 0}.bs-popover-auto[x-placement^=left] .arrow:after,.bs-popover-auto[x-placement^=left] .arrow:before,.bs-popover-left .arrow:after,.bs-popover-left .arrow:before{border-width:.25rem 0 .25rem .5rem}.bs-popover-auto[x-placement^=left] .arrow:before,.bs-popover-left .arrow:before{right:0;border-left-color:#dee3eb}.bs-popover-auto[x-placement^=left] .arrow:after,.bs-popover-left .arrow:after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:.9375rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:2px;border-top-right-radius:2px}.popover-header:empty{display:none}.popover-body{padding:.75rem 1rem;color:#6e7687}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports(((-webkit-transform-style:preserve-3d) or(transform-style:preserve-3d))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateZ(0);transform:translateZ(0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports(((-webkit-transform-style:preserve-3d) or(transform-style:preserve-3d))){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports(((-webkit-transform-style:preserve-3d) or(transform-style:preserve-3d))){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat 50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:hsla(0,0%,100%,.5)}.carousel-indicators li:before{top:-10px}.carousel-indicators li:after,.carousel-indicators li:before{position:absolute;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li:after{bottom:-10px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:initial !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#467fcf !important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#2f66b3 !important}.bg-secondary{background-color:#868e96 !important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#6c757d !important}.bg-success{background-color:#5eba00 !important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#448700 !important}.bg-info{background-color:#45aaf2 !important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#1594ef !important}.bg-warning{background-color:#f1c40f !important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#c29d0b !important}.bg-danger{background-color:#cd201f !important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#a11918 !important}.bg-light{background-color:#f8f9fa !important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5 !important}.bg-dark{background-color:#343a40 !important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124 !important}.bg-transparent{background-color:initial !important}.border{border:1px solid rgba(0,40,100,.12) !important}.border-top{border-top:1px solid rgba(0,40,100,.12) !important}.border-right{border-right:1px solid rgba(0,40,100,.12) !important}.border-bottom{border-bottom:1px solid rgba(0,40,100,.12) !important}.border-left{border-left:1px solid rgba(0,40,100,.12) !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#467fcf !important}.border-secondary{border-color:#868e96 !important}.border-success{border-color:#5eba00 !important}.border-info{border-color:#45aaf2 !important}.border-warning{border-color:#f1c40f !important}.border-danger{border-color:#cd201f !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#343a40 !important}.border-white{border-color:#fff !important}.rounded{border-radius:3px !important}.rounded-top{border-top-left-radius:3px !important}.rounded-right,.rounded-top{border-top-right-radius:3px !important}.rounded-bottom,.rounded-right{border-bottom-right-radius:3px !important}.rounded-bottom,.rounded-left{border-bottom-left-radius:3px !important}.rounded-left{border-top-left-radius:3px !important}.rounded-circle{border-radius:50% !important}.rounded-0{border-radius:0 !important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width:576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width:768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width:992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width:1280px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.85714286%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width:576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width:768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width:992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width:1280px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width:576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width:768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width:992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width:1280px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:-webkit-sticky !important;position:sticky !important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports((position:-webkit-sticky) or(position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-0{width:0 !important}.w-1{width:.25rem !important}.w-2{width:.5rem !important}.w-3{width:.75rem !important}.w-4{width:1rem !important}.w-5{width:1.5rem !important}.w-6{width:2rem !important}.w-7{width:3rem !important}.w-8{width:4rem !important}.w-9{width:6rem !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-0{height:0 !important}.h-1{height:.25rem !important}.h-2{height:.5rem !important}.h-3{height:.75rem !important}.h-4{height:1rem !important}.h-5{height:1.5rem !important}.h-6{height:2rem !important}.h-7{height:3rem !important}.h-8{height:4rem !important}.h-9{height:6rem !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:.75rem !important}.mt-3,.my-3{margin-top:.75rem !important}.mr-3,.mx-3{margin-right:.75rem !important}.mb-3,.my-3{margin-bottom:.75rem !important}.ml-3,.mx-3{margin-left:.75rem !important}.m-4{margin:1rem !important}.mt-4,.my-4{margin-top:1rem !important}.mr-4,.mx-4{margin-right:1rem !important}.mb-4,.my-4{margin-bottom:1rem !important}.ml-4,.mx-4{margin-left:1rem !important}.m-5{margin:1.5rem !important}.mt-5,.my-5{margin-top:1.5rem !important}.mr-5,.mx-5{margin-right:1.5rem !important}.mb-5,.my-5{margin-bottom:1.5rem !important}.ml-5,.mx-5{margin-left:1.5rem !important}.m-6{margin:2rem !important}.mt-6,.my-6{margin-top:2rem !important}.mr-6,.mx-6{margin-right:2rem !important}.mb-6,.my-6{margin-bottom:2rem !important}.ml-6,.mx-6{margin-left:2rem !important}.m-7{margin:3rem !important}.mt-7,.my-7{margin-top:3rem !important}.mr-7,.mx-7{margin-right:3rem !important}.mb-7,.my-7{margin-bottom:3rem !important}.ml-7,.mx-7{margin-left:3rem !important}.m-8{margin:4rem !important}.mt-8,.my-8{margin-top:4rem !important}.mr-8,.mx-8{margin-right:4rem !important}.mb-8,.my-8{margin-bottom:4rem !important}.ml-8,.mx-8{margin-left:4rem !important}.m-9{margin:6rem !important}.mt-9,.my-9{margin-top:6rem !important}.mr-9,.mx-9{margin-right:6rem !important}.mb-9,.my-9{margin-bottom:6rem !important}.ml-9,.mx-9{margin-left:6rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:.75rem !important}.pt-3,.py-3{padding-top:.75rem !important}.pr-3,.px-3{padding-right:.75rem !important}.pb-3,.py-3{padding-bottom:.75rem !important}.pl-3,.px-3{padding-left:.75rem !important}.p-4{padding:1rem !important}.pt-4,.py-4{padding-top:1rem !important}.pr-4,.px-4{padding-right:1rem !important}.pb-4,.py-4{padding-bottom:1rem !important}.pl-4,.px-4{padding-left:1rem !important}.p-5{padding:1.5rem !important}.pt-5,.py-5{padding-top:1.5rem !important}.pr-5,.px-5{padding-right:1.5rem !important}.pb-5,.py-5{padding-bottom:1.5rem !important}.pl-5,.px-5{padding-left:1.5rem !important}.p-6{padding:2rem !important}.pt-6,.py-6{padding-top:2rem !important}.pr-6,.px-6{padding-right:2rem !important}.pb-6,.py-6{padding-bottom:2rem !important}.pl-6,.px-6{padding-left:2rem !important}.p-7{padding:3rem !important}.pt-7,.py-7{padding-top:3rem !important}.pr-7,.px-7{padding-right:3rem !important}.pb-7,.py-7{padding-bottom:3rem !important}.pl-7,.px-7{padding-left:3rem !important}.p-8{padding:4rem !important}.pt-8,.py-8{padding-top:4rem !important}.pr-8,.px-8{padding-right:4rem !important}.pb-8,.py-8{padding-bottom:4rem !important}.pl-8,.px-8{padding-left:4rem !important}.p-9{padding:6rem !important}.pt-9,.py-9{padding-top:6rem !important}.pr-9,.px-9{padding-right:6rem !important}.pb-9,.py-9{padding-bottom:6rem !important}.pl-9,.px-9{padding-left:6rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width:576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:.75rem !important}.mt-sm-3,.my-sm-3{margin-top:.75rem !important}.mr-sm-3,.mx-sm-3{margin-right:.75rem !important}.mb-sm-3,.my-sm-3{margin-bottom:.75rem !important}.ml-sm-3,.mx-sm-3{margin-left:.75rem !important}.m-sm-4{margin:1rem !important}.mt-sm-4,.my-sm-4{margin-top:1rem !important}.mr-sm-4,.mx-sm-4{margin-right:1rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1rem !important}.ml-sm-4,.mx-sm-4{margin-left:1rem !important}.m-sm-5{margin:1.5rem !important}.mt-sm-5,.my-sm-5{margin-top:1.5rem !important}.mr-sm-5,.mx-sm-5{margin-right:1.5rem !important}.mb-sm-5,.my-sm-5{margin-bottom:1.5rem !important}.ml-sm-5,.mx-sm-5{margin-left:1.5rem !important}.m-sm-6{margin:2rem !important}.mt-sm-6,.my-sm-6{margin-top:2rem !important}.mr-sm-6,.mx-sm-6{margin-right:2rem !important}.mb-sm-6,.my-sm-6{margin-bottom:2rem !important}.ml-sm-6,.mx-sm-6{margin-left:2rem !important}.m-sm-7{margin:3rem !important}.mt-sm-7,.my-sm-7{margin-top:3rem !important}.mr-sm-7,.mx-sm-7{margin-right:3rem !important}.mb-sm-7,.my-sm-7{margin-bottom:3rem !important}.ml-sm-7,.mx-sm-7{margin-left:3rem !important}.m-sm-8{margin:4rem !important}.mt-sm-8,.my-sm-8{margin-top:4rem !important}.mr-sm-8,.mx-sm-8{margin-right:4rem !important}.mb-sm-8,.my-sm-8{margin-bottom:4rem !important}.ml-sm-8,.mx-sm-8{margin-left:4rem !important}.m-sm-9{margin:6rem !important}.mt-sm-9,.my-sm-9{margin-top:6rem !important}.mr-sm-9,.mx-sm-9{margin-right:6rem !important}.mb-sm-9,.my-sm-9{margin-bottom:6rem !important}.ml-sm-9,.mx-sm-9{margin-left:6rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:.75rem !important}.pt-sm-3,.py-sm-3{padding-top:.75rem !important}.pr-sm-3,.px-sm-3{padding-right:.75rem !important}.pb-sm-3,.py-sm-3{padding-bottom:.75rem !important}.pl-sm-3,.px-sm-3{padding-left:.75rem !important}.p-sm-4{padding:1rem !important}.pt-sm-4,.py-sm-4{padding-top:1rem !important}.pr-sm-4,.px-sm-4{padding-right:1rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1rem !important}.pl-sm-4,.px-sm-4{padding-left:1rem !important}.p-sm-5{padding:1.5rem !important}.pt-sm-5,.py-sm-5{padding-top:1.5rem !important}.pr-sm-5,.px-sm-5{padding-right:1.5rem !important}.pb-sm-5,.py-sm-5{padding-bottom:1.5rem !important}.pl-sm-5,.px-sm-5{padding-left:1.5rem !important}.p-sm-6{padding:2rem !important}.pt-sm-6,.py-sm-6{padding-top:2rem !important}.pr-sm-6,.px-sm-6{padding-right:2rem !important}.pb-sm-6,.py-sm-6{padding-bottom:2rem !important}.pl-sm-6,.px-sm-6{padding-left:2rem !important}.p-sm-7{padding:3rem !important}.pt-sm-7,.py-sm-7{padding-top:3rem !important}.pr-sm-7,.px-sm-7{padding-right:3rem !important}.pb-sm-7,.py-sm-7{padding-bottom:3rem !important}.pl-sm-7,.px-sm-7{padding-left:3rem !important}.p-sm-8{padding:4rem !important}.pt-sm-8,.py-sm-8{padding-top:4rem !important}.pr-sm-8,.px-sm-8{padding-right:4rem !important}.pb-sm-8,.py-sm-8{padding-bottom:4rem !important}.pl-sm-8,.px-sm-8{padding-left:4rem !important}.p-sm-9{padding:6rem !important}.pt-sm-9,.py-sm-9{padding-top:6rem !important}.pr-sm-9,.px-sm-9{padding-right:6rem !important}.pb-sm-9,.py-sm-9{padding-bottom:6rem !important}.pl-sm-9,.px-sm-9{padding-left:6rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width:768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:.75rem !important}.mt-md-3,.my-md-3{margin-top:.75rem !important}.mr-md-3,.mx-md-3{margin-right:.75rem !important}.mb-md-3,.my-md-3{margin-bottom:.75rem !important}.ml-md-3,.mx-md-3{margin-left:.75rem !important}.m-md-4{margin:1rem !important}.mt-md-4,.my-md-4{margin-top:1rem !important}.mr-md-4,.mx-md-4{margin-right:1rem !important}.mb-md-4,.my-md-4{margin-bottom:1rem !important}.ml-md-4,.mx-md-4{margin-left:1rem !important}.m-md-5{margin:1.5rem !important}.mt-md-5,.my-md-5{margin-top:1.5rem !important}.mr-md-5,.mx-md-5{margin-right:1.5rem !important}.mb-md-5,.my-md-5{margin-bottom:1.5rem !important}.ml-md-5,.mx-md-5{margin-left:1.5rem !important}.m-md-6{margin:2rem !important}.mt-md-6,.my-md-6{margin-top:2rem !important}.mr-md-6,.mx-md-6{margin-right:2rem !important}.mb-md-6,.my-md-6{margin-bottom:2rem !important}.ml-md-6,.mx-md-6{margin-left:2rem !important}.m-md-7{margin:3rem !important}.mt-md-7,.my-md-7{margin-top:3rem !important}.mr-md-7,.mx-md-7{margin-right:3rem !important}.mb-md-7,.my-md-7{margin-bottom:3rem !important}.ml-md-7,.mx-md-7{margin-left:3rem !important}.m-md-8{margin:4rem !important}.mt-md-8,.my-md-8{margin-top:4rem !important}.mr-md-8,.mx-md-8{margin-right:4rem !important}.mb-md-8,.my-md-8{margin-bottom:4rem !important}.ml-md-8,.mx-md-8{margin-left:4rem !important}.m-md-9{margin:6rem !important}.mt-md-9,.my-md-9{margin-top:6rem !important}.mr-md-9,.mx-md-9{margin-right:6rem !important}.mb-md-9,.my-md-9{margin-bottom:6rem !important}.ml-md-9,.mx-md-9{margin-left:6rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:.75rem !important}.pt-md-3,.py-md-3{padding-top:.75rem !important}.pr-md-3,.px-md-3{padding-right:.75rem !important}.pb-md-3,.py-md-3{padding-bottom:.75rem !important}.pl-md-3,.px-md-3{padding-left:.75rem !important}.p-md-4{padding:1rem !important}.pt-md-4,.py-md-4{padding-top:1rem !important}.pr-md-4,.px-md-4{padding-right:1rem !important}.pb-md-4,.py-md-4{padding-bottom:1rem !important}.pl-md-4,.px-md-4{padding-left:1rem !important}.p-md-5{padding:1.5rem !important}.pt-md-5,.py-md-5{padding-top:1.5rem !important}.pr-md-5,.px-md-5{padding-right:1.5rem !important}.pb-md-5,.py-md-5{padding-bottom:1.5rem !important}.pl-md-5,.px-md-5{padding-left:1.5rem !important}.p-md-6{padding:2rem !important}.pt-md-6,.py-md-6{padding-top:2rem !important}.pr-md-6,.px-md-6{padding-right:2rem !important}.pb-md-6,.py-md-6{padding-bottom:2rem !important}.pl-md-6,.px-md-6{padding-left:2rem !important}.p-md-7{padding:3rem !important}.pt-md-7,.py-md-7{padding-top:3rem !important}.pr-md-7,.px-md-7{padding-right:3rem !important}.pb-md-7,.py-md-7{padding-bottom:3rem !important}.pl-md-7,.px-md-7{padding-left:3rem !important}.p-md-8{padding:4rem !important}.pt-md-8,.py-md-8{padding-top:4rem !important}.pr-md-8,.px-md-8{padding-right:4rem !important}.pb-md-8,.py-md-8{padding-bottom:4rem !important}.pl-md-8,.px-md-8{padding-left:4rem !important}.p-md-9{padding:6rem !important}.pt-md-9,.py-md-9{padding-top:6rem !important}.pr-md-9,.px-md-9{padding-right:6rem !important}.pb-md-9,.py-md-9{padding-bottom:6rem !important}.pl-md-9,.px-md-9{padding-left:6rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width:992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:.75rem !important}.mt-lg-3,.my-lg-3{margin-top:.75rem !important}.mr-lg-3,.mx-lg-3{margin-right:.75rem !important}.mb-lg-3,.my-lg-3{margin-bottom:.75rem !important}.ml-lg-3,.mx-lg-3{margin-left:.75rem !important}.m-lg-4{margin:1rem !important}.mt-lg-4,.my-lg-4{margin-top:1rem !important}.mr-lg-4,.mx-lg-4{margin-right:1rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1rem !important}.ml-lg-4,.mx-lg-4{margin-left:1rem !important}.m-lg-5{margin:1.5rem !important}.mt-lg-5,.my-lg-5{margin-top:1.5rem !important}.mr-lg-5,.mx-lg-5{margin-right:1.5rem !important}.mb-lg-5,.my-lg-5{margin-bottom:1.5rem !important}.ml-lg-5,.mx-lg-5{margin-left:1.5rem !important}.m-lg-6{margin:2rem !important}.mt-lg-6,.my-lg-6{margin-top:2rem !important}.mr-lg-6,.mx-lg-6{margin-right:2rem !important}.mb-lg-6,.my-lg-6{margin-bottom:2rem !important}.ml-lg-6,.mx-lg-6{margin-left:2rem !important}.m-lg-7{margin:3rem !important}.mt-lg-7,.my-lg-7{margin-top:3rem !important}.mr-lg-7,.mx-lg-7{margin-right:3rem !important}.mb-lg-7,.my-lg-7{margin-bottom:3rem !important}.ml-lg-7,.mx-lg-7{margin-left:3rem !important}.m-lg-8{margin:4rem !important}.mt-lg-8,.my-lg-8{margin-top:4rem !important}.mr-lg-8,.mx-lg-8{margin-right:4rem !important}.mb-lg-8,.my-lg-8{margin-bottom:4rem !important}.ml-lg-8,.mx-lg-8{margin-left:4rem !important}.m-lg-9{margin:6rem !important}.mt-lg-9,.my-lg-9{margin-top:6rem !important}.mr-lg-9,.mx-lg-9{margin-right:6rem !important}.mb-lg-9,.my-lg-9{margin-bottom:6rem !important}.ml-lg-9,.mx-lg-9{margin-left:6rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:.75rem !important}.pt-lg-3,.py-lg-3{padding-top:.75rem !important}.pr-lg-3,.px-lg-3{padding-right:.75rem !important}.pb-lg-3,.py-lg-3{padding-bottom:.75rem !important}.pl-lg-3,.px-lg-3{padding-left:.75rem !important}.p-lg-4{padding:1rem !important}.pt-lg-4,.py-lg-4{padding-top:1rem !important}.pr-lg-4,.px-lg-4{padding-right:1rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1rem !important}.pl-lg-4,.px-lg-4{padding-left:1rem !important}.p-lg-5{padding:1.5rem !important}.pt-lg-5,.py-lg-5{padding-top:1.5rem !important}.pr-lg-5,.px-lg-5{padding-right:1.5rem !important}.pb-lg-5,.py-lg-5{padding-bottom:1.5rem !important}.pl-lg-5,.px-lg-5{padding-left:1.5rem !important}.p-lg-6{padding:2rem !important}.pt-lg-6,.py-lg-6{padding-top:2rem !important}.pr-lg-6,.px-lg-6{padding-right:2rem !important}.pb-lg-6,.py-lg-6{padding-bottom:2rem !important}.pl-lg-6,.px-lg-6{padding-left:2rem !important}.p-lg-7{padding:3rem !important}.pt-lg-7,.py-lg-7{padding-top:3rem !important}.pr-lg-7,.px-lg-7{padding-right:3rem !important}.pb-lg-7,.py-lg-7{padding-bottom:3rem !important}.pl-lg-7,.px-lg-7{padding-left:3rem !important}.p-lg-8{padding:4rem !important}.pt-lg-8,.py-lg-8{padding-top:4rem !important}.pr-lg-8,.px-lg-8{padding-right:4rem !important}.pb-lg-8,.py-lg-8{padding-bottom:4rem !important}.pl-lg-8,.px-lg-8{padding-left:4rem !important}.p-lg-9{padding:6rem !important}.pt-lg-9,.py-lg-9{padding-top:6rem !important}.pr-lg-9,.px-lg-9{padding-right:6rem !important}.pb-lg-9,.py-lg-9{padding-bottom:6rem !important}.pl-lg-9,.px-lg-9{padding-left:6rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width:1280px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:.75rem !important}.mt-xl-3,.my-xl-3{margin-top:.75rem !important}.mr-xl-3,.mx-xl-3{margin-right:.75rem !important}.mb-xl-3,.my-xl-3{margin-bottom:.75rem !important}.ml-xl-3,.mx-xl-3{margin-left:.75rem !important}.m-xl-4{margin:1rem !important}.mt-xl-4,.my-xl-4{margin-top:1rem !important}.mr-xl-4,.mx-xl-4{margin-right:1rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1rem !important}.ml-xl-4,.mx-xl-4{margin-left:1rem !important}.m-xl-5{margin:1.5rem !important}.mt-xl-5,.my-xl-5{margin-top:1.5rem !important}.mr-xl-5,.mx-xl-5{margin-right:1.5rem !important}.mb-xl-5,.my-xl-5{margin-bottom:1.5rem !important}.ml-xl-5,.mx-xl-5{margin-left:1.5rem !important}.m-xl-6{margin:2rem !important}.mt-xl-6,.my-xl-6{margin-top:2rem !important}.mr-xl-6,.mx-xl-6{margin-right:2rem !important}.mb-xl-6,.my-xl-6{margin-bottom:2rem !important}.ml-xl-6,.mx-xl-6{margin-left:2rem !important}.m-xl-7{margin:3rem !important}.mt-xl-7,.my-xl-7{margin-top:3rem !important}.mr-xl-7,.mx-xl-7{margin-right:3rem !important}.mb-xl-7,.my-xl-7{margin-bottom:3rem !important}.ml-xl-7,.mx-xl-7{margin-left:3rem !important}.m-xl-8{margin:4rem !important}.mt-xl-8,.my-xl-8{margin-top:4rem !important}.mr-xl-8,.mx-xl-8{margin-right:4rem !important}.mb-xl-8,.my-xl-8{margin-bottom:4rem !important}.ml-xl-8,.mx-xl-8{margin-left:4rem !important}.m-xl-9{margin:6rem !important}.mt-xl-9,.my-xl-9{margin-top:6rem !important}.mr-xl-9,.mx-xl-9{margin-right:6rem !important}.mb-xl-9,.my-xl-9{margin-bottom:6rem !important}.ml-xl-9,.mx-xl-9{margin-left:6rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:.75rem !important}.pt-xl-3,.py-xl-3{padding-top:.75rem !important}.pr-xl-3,.px-xl-3{padding-right:.75rem !important}.pb-xl-3,.py-xl-3{padding-bottom:.75rem !important}.pl-xl-3,.px-xl-3{padding-left:.75rem !important}.p-xl-4{padding:1rem !important}.pt-xl-4,.py-xl-4{padding-top:1rem !important}.pr-xl-4,.px-xl-4{padding-right:1rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1rem !important}.pl-xl-4,.px-xl-4{padding-left:1rem !important}.p-xl-5{padding:1.5rem !important}.pt-xl-5,.py-xl-5{padding-top:1.5rem !important}.pr-xl-5,.px-xl-5{padding-right:1.5rem !important}.pb-xl-5,.py-xl-5{padding-bottom:1.5rem !important}.pl-xl-5,.px-xl-5{padding-left:1.5rem !important}.p-xl-6{padding:2rem !important}.pt-xl-6,.py-xl-6{padding-top:2rem !important}.pr-xl-6,.px-xl-6{padding-right:2rem !important}.pb-xl-6,.py-xl-6{padding-bottom:2rem !important}.pl-xl-6,.px-xl-6{padding-left:2rem !important}.p-xl-7{padding:3rem !important}.pt-xl-7,.py-xl-7{padding-top:3rem !important}.pr-xl-7,.px-xl-7{padding-right:3rem !important}.pb-xl-7,.py-xl-7{padding-bottom:3rem !important}.pl-xl-7,.px-xl-7{padding-left:3rem !important}.p-xl-8{padding:4rem !important}.pt-xl-8,.py-xl-8{padding-top:4rem !important}.pr-xl-8,.px-xl-8{padding-right:4rem !important}.pb-xl-8,.py-xl-8{padding-bottom:4rem !important}.pl-xl-8,.px-xl-8{padding-left:4rem !important}.p-xl-9{padding:6rem !important}.pt-xl-9,.py-xl-9{padding-top:6rem !important}.pr-xl-9,.px-xl-9{padding-right:6rem !important}.pb-xl-9,.py-xl-9{padding-bottom:6rem !important}.pl-xl-9,.px-xl-9{padding-left:6rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-justify{text-align:justify !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width:576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width:768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width:992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width:1280px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-italic{font-style:italic !important}.text-primary{color:#467fcf !important}a.text-primary:focus,a.text-primary:hover{color:#2f66b3 !important}.text-secondary{color:#868e96 !important}a.text-secondary:focus,a.text-secondary:hover{color:#6c757d !important}.text-success{color:#5eba00 !important}a.text-success:focus,a.text-success:hover{color:#448700 !important}.text-info{color:#45aaf2 !important}a.text-info:focus,a.text-info:hover{color:#1594ef !important}.text-warning{color:#f1c40f !important}a.text-warning:focus,a.text-warning:hover{color:#c29d0b !important}.text-danger{color:#cd201f !important}a.text-danger:focus,a.text-danger:hover{color:#a11918 !important}.text-light{color:#f8f9fa !important}a.text-light:focus,a.text-light:hover{color:#dae0e5 !important}.text-dark{color:#343a40 !important}a.text-dark:focus,a.text-dark:hover{color:#1d2124 !important}.text-muted{color:#9aa0ac !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:initial;border:0}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,:after,:before{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table,.text-wrap table{border-collapse:collapse !important}.table td,.table th,.text-wrap table td,.text-wrap table th{background-color:#fff !important}.table-bordered td,.table-bordered th,.text-wrap table td,.text-wrap table th{border:1px solid #ddd !important}}html{font-size:16px}body,html{height:100%;direction:ltr}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;touch-action:manipulation;-webkit-font-feature-settings:"liga" 0;font-feature-settings:"liga" 0;overflow-y:scroll;position:relative}@media print{body{background:0}}body ::-webkit-scrollbar{width:6px;height:6px;transition:background .3s}body ::-webkit-scrollbar-thumb{background:#ced4da}body :hover::-webkit-scrollbar-thumb{background:#adb5bd}.lead{line-height:1.4}a{-webkit-text-decoration-skip:ink;text-decoration-skip:ink}.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit}b,strong{font-weight:600}blockquote,ol,p,ul{margin-bottom:1em}blockquote{font-style:italic;color:#6e7687;padding-left:2rem;border-left:2px solid rgba(0,40,100,.12)}blockquote p{margin-bottom:1rem}blockquote cite{display:block;text-align:right}blockquote cite:before{content:"\2014 "}code{background:rgba(0,0,0,.025);border:1px solid rgba(0,0,0,.05);border-radius:3px;padding:3px}pre code{padding:0;border-radius:0;border:0;background:0}hr{margin-top:2rem;margin-bottom:2rem}pre{color:#343a40;padding:1rem;overflow:auto;font-size:85%;line-height:1.45;background-color:#f8fafc;border-radius:3px;-moz-tab-size:4;tab-size:4;text-shadow:0 1px #fff;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}img{max-width:100%}.text-wrap{font-size:1rem;line-height:1.66}.text-wrap>:first-child{margin-top:0}.text-wrap>:last-child{margin-bottom:0}.text-wrap>h1,.text-wrap>h2,.text-wrap>h3,.text-wrap>h4,.text-wrap>h5,.text-wrap>h6{margin-top:1em}.section-nav{background-color:#f8f9fa;margin:1rem 0;padding:.5rem 1rem;border:1px solid rgba(0,40,100,.12);border-radius:3px;list-style:none}.section-nav:before{content:"Table of contents:";display:block;font-weight:600}@media print{.container{max-width:none}}.row-cards>.col,.row-cards>[class*=col-]{display:flex;flex-direction:column}.row-deck>.col,.row-deck>[class*=col-]{display:flex;align-items:stretch}.row-deck>.col .card,.row-deck>[class*=col-] .card{flex:1 1 auto}.col-text{max-width:48rem}.col-login{max-width:24rem}.gutters-0{margin-right:0;margin-left:0}.gutters-0>.col,.gutters-0>[class*=col-]{padding-right:0;padding-left:0}.gutters-0 .card{margin-bottom:0}.gutters-xs{margin-right:-.25rem;margin-left:-.25rem}.gutters-xs>.col,.gutters-xs>[class*=col-]{padding-right:.25rem;padding-left:.25rem}.gutters-xs .card{margin-bottom:.5rem}.gutters-sm{margin-right:-.5rem;margin-left:-.5rem}.gutters-sm>.col,.gutters-sm>[class*=col-]{padding-right:.5rem;padding-left:.5rem}.gutters-sm .card{margin-bottom:1rem}.gutters-lg{margin-right:-1rem;margin-left:-1rem}.gutters-lg>.col,.gutters-lg>[class*=col-]{padding-right:1rem;padding-left:1rem}.gutters-lg .card{margin-bottom:2rem}.gutters-xl{margin-right:-1.5rem;margin-left:-1.5rem}.gutters-xl>.col,.gutters-xl>[class*=col-]{padding-right:1.5rem;padding-left:1.5rem}.gutters-xl .card{margin-bottom:3rem}.page{display:flex;flex-direction:column;justify-content:center;min-height:100%}body.fixed-header .page{padding-top:4.5rem}@media(min-width:1600px){body.aside-opened .page{margin-right:22rem}}.page-main{flex:1 1 auto}.page-content{margin:.75rem 0}@media(min-width:768px){.page-content{margin:1.5rem 0}}.page-header{display:flex;align-items:center;margin:1.5rem 0;flex-wrap:wrap}.page-title{margin:0;font-size:1.5rem;font-weight:400;line-height:2.5rem}.page-title-icon{color:#9aa0ac;font-size:1.25rem}.page-subtitle{font-size:.8125rem;color:#6e7687;margin-left:2rem}.page-subtitle a{color:inherit}.page-options{margin-left:auto}.page-breadcrumb{flex-basis:100%}.page-description{margin:.25rem 0 0;color:#6e7687}.page-description a{color:inherit}.page-single{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:1rem 0}.content-heading{font-weight:400;margin:2rem 0 1.5rem;font-size:1.25rem;line-height:1.25}.content-heading:first-child{margin-top:0}.aside{position:fixed;top:0;right:0;bottom:0;width:22rem;background:#fff;border-left:1px solid rgba(0,40,100,.12);display:flex;flex-direction:column;z-index:100;visibility:hidden;box-shadow:0 0 5px 2px rgba(0,0,0,.05)}@media(min-width:1600px){body.aside-opened .aside{visibility:visible}}.aside-body{padding:1.5rem;flex:1 1 auto;overflow:auto}.aside-footer{padding:1rem 1.5rem;border-top:1px solid rgba(0,40,100,.12)}.aside-header{padding:1rem 1.5rem}.aside-header,.header{border-bottom:1px solid rgba(0,40,100,.12)}.header{padding-top:.75rem;padding-bottom:.75rem;background:#fff}body.fixed-header .header{position:fixed;top:0;left:0;right:0;z-index:1030}@media print{.header{display:none}}.header .dropdown-menu{margin-top:.75rem}.nav-unread{position:absolute;top:.25rem;right:.25rem;background:#cd201f;width:.5rem;height:.5rem;border-radius:50%}.header-brand{color:inherit;margin-right:1rem;font-size:1.25rem;white-space:nowrap;font-weight:600;padding:0;transition:opacity .3s;line-height:2rem}.header-brand:hover{opacity:.8;color:inherit;text-decoration:none}.header-brand-img{height:2rem;line-height:2rem;vertical-align:bottom;margin-right:.5rem;width:auto}.header-avatar{vertical-align:bottom;border-radius:50%}.header-avatar,.header-btn{width:2rem;height:2rem;display:inline-block}.header-btn{line-height:2rem;text-align:center;font-size:1rem}.header-btn.has-new{position:relative}.header-btn.has-new:before{content:"";width:6px;height:6px;background:#cd201f;position:absolute;top:4px;right:4px;border-radius:50%}.header-toggler{width:2rem;height:2rem;position:relative;color:#9aa0ac}.header-toggler:hover{color:#6e7687}.header-toggler-icon{position:absolute;width:1rem;height:2px;color:inherit;background:currentColor;border-radius:3px;top:50%;left:50%;margin:-2px 0 0 -.5rem;box-shadow:0 5px currentColor,0 -5px currentColor}.footer{background:#fff;border-top:1px solid rgba(0,40,100,.12);font-size:.875rem;padding:1.25rem 0;color:#9aa0ac}.footer a:not(.btn){color:#6e7687}@media print{.footer{display:none}}.bg-blue-lightest{background-color:#edf2fa !important}a.bg-blue-lightest:focus,a.bg-blue-lightest:hover,button.bg-blue-lightest:focus,button.bg-blue-lightest:hover{background-color:#c5d5ef !important}.bg-blue-lighter{background-color:#c8d9f1 !important}a.bg-blue-lighter:focus,a.bg-blue-lighter:hover,button.bg-blue-lighter:focus,button.bg-blue-lighter:hover{background-color:#9fbde7 !important}.bg-blue-light{background-color:#7ea5dd !important}a.bg-blue-light:focus,a.bg-blue-light:hover,button.bg-blue-light:focus,button.bg-blue-light:hover{background-color:#5689d2 !important}.bg-blue-dark{background-color:#3866a6 !important}a.bg-blue-dark:focus,a.bg-blue-dark:hover,button.bg-blue-dark:focus,button.bg-blue-dark:hover{background-color:#2b4f80 !important}.bg-blue-darker{background-color:#1c3353 !important}a.bg-blue-darker:focus,a.bg-blue-darker:hover,button.bg-blue-darker:focus,button.bg-blue-darker:hover{background-color:#0f1c2d !important}.bg-blue-darkest{background-color:#0e1929 !important}a.bg-blue-darkest:focus,a.bg-blue-darkest:hover,button.bg-blue-darkest:focus,button.bg-blue-darkest:hover{background-color:#010203 !important}.bg-indigo-lightest{background-color:#f0f1fa !important}a.bg-indigo-lightest:focus,a.bg-indigo-lightest:hover,button.bg-indigo-lightest:focus,button.bg-indigo-lightest:hover{background-color:#cacded !important}.bg-indigo-lighter{background-color:#d1d5f0 !important}a.bg-indigo-lighter:focus,a.bg-indigo-lighter:hover,button.bg-indigo-lighter:focus,button.bg-indigo-lighter:hover{background-color:#abb2e3 !important}.bg-indigo-light{background-color:#939edc !important}a.bg-indigo-light:focus,a.bg-indigo-light:hover,button.bg-indigo-light:focus,button.bg-indigo-light:hover{background-color:#6c7bd0 !important}.bg-indigo-dark{background-color:#515da4 !important}a.bg-indigo-dark:focus,a.bg-indigo-dark:hover,button.bg-indigo-dark:focus,button.bg-indigo-dark:hover{background-color:#404a82 !important}.bg-indigo-darker{background-color:#282e52 !important}a.bg-indigo-darker:focus,a.bg-indigo-darker:hover,button.bg-indigo-darker:focus,button.bg-indigo-darker:hover{background-color:#171b30 !important}.bg-indigo-darkest{background-color:#141729 !important}a.bg-indigo-darkest:focus,a.bg-indigo-darkest:hover,button.bg-indigo-darkest:focus,button.bg-indigo-darkest:hover{background-color:#030407 !important}.bg-purple-lightest{background-color:#f6effd !important}a.bg-purple-lightest:focus,a.bg-purple-lightest:hover,button.bg-purple-lightest:focus,button.bg-purple-lightest:hover{background-color:#ddc2f7 !important}.bg-purple-lighter{background-color:#e4cff9 !important}a.bg-purple-lighter:focus,a.bg-purple-lighter:hover,button.bg-purple-lighter:focus,button.bg-purple-lighter:hover{background-color:#cba2f3 !important}.bg-purple-light{background-color:#c08ef0 !important}a.bg-purple-light:focus,a.bg-purple-light:hover,button.bg-purple-light:focus,button.bg-purple-light:hover{background-color:#a761ea !important}.bg-purple-dark{background-color:#844bbb !important}a.bg-purple-dark:focus,a.bg-purple-dark:hover,button.bg-purple-dark:focus,button.bg-purple-dark:hover{background-color:#6a3a99 !important}.bg-purple-darker{background-color:#42265e !important}a.bg-purple-darker:focus,a.bg-purple-darker:hover,button.bg-purple-darker:focus,button.bg-purple-darker:hover{background-color:#29173a !important}.bg-purple-darkest{background-color:#21132f !important}a.bg-purple-darkest:focus,a.bg-purple-darkest:hover,button.bg-purple-darkest:focus,button.bg-purple-darkest:hover{background-color:#08040b !important}.bg-pink-lightest{background-color:#fef0f5 !important}a.bg-pink-lightest:focus,a.bg-pink-lightest:hover,button.bg-pink-lightest:focus,button.bg-pink-lightest:hover{background-color:#fbc0d5 !important}.bg-pink-lighter{background-color:#fcd3e1 !important}a.bg-pink-lighter:focus,a.bg-pink-lighter:hover,button.bg-pink-lighter:focus,button.bg-pink-lighter:hover{background-color:#f9a3c0 !important}.bg-pink-light{background-color:#f999b9 !important}a.bg-pink-light:focus,a.bg-pink-light:hover,button.bg-pink-light:focus,button.bg-pink-light:hover{background-color:#f66998 !important}.bg-pink-dark{background-color:#c5577c !important}a.bg-pink-dark:focus,a.bg-pink-dark:hover,button.bg-pink-dark:focus,button.bg-pink-dark:hover{background-color:#ad3c62 !important}.bg-pink-darker{background-color:#622c3e !important}a.bg-pink-darker:focus,a.bg-pink-darker:hover,button.bg-pink-darker:focus,button.bg-pink-darker:hover{background-color:#3f1c28 !important}.bg-pink-darkest{background-color:#31161f !important}a.bg-pink-darkest:focus,a.bg-pink-darkest:hover,button.bg-pink-darkest:focus,button.bg-pink-darkest:hover{background-color:#0e0609 !important}.bg-red-lightest{background-color:#fae9e9 !important}a.bg-red-lightest:focus,a.bg-red-lightest:hover,button.bg-red-lightest:focus,button.bg-red-lightest:hover{background-color:#f1bfbf !important}.bg-red-lighter{background-color:#f0bcbc !important}a.bg-red-lighter:focus,a.bg-red-lighter:hover,button.bg-red-lighter:focus,button.bg-red-lighter:hover{background-color:#e79292 !important}.bg-red-light{background-color:#dc6362 !important}a.bg-red-light:focus,a.bg-red-light:hover,button.bg-red-light:focus,button.bg-red-light:hover{background-color:#d33a38 !important}.bg-red-dark{background-color:#a41a19 !important}a.bg-red-dark:focus,a.bg-red-dark:hover,button.bg-red-dark:focus,button.bg-red-dark:hover{background-color:#781312 !important}.bg-red-darker{background-color:#520d0c !important}a.bg-red-darker:focus,a.bg-red-darker:hover,button.bg-red-darker:focus,button.bg-red-darker:hover{background-color:#260605 !important}.bg-red-darkest{background-color:#290606 !important}a.bg-red-darkest:focus,a.bg-red-darkest:hover,button.bg-red-darkest:focus,button.bg-red-darkest:hover{background-color:#000 !important}.bg-orange-lightest{background-color:#fff5ec !important}a.bg-orange-lightest:focus,a.bg-orange-lightest:hover,button.bg-orange-lightest:focus,button.bg-orange-lightest:hover{background-color:#ffdab9 !important}.bg-orange-lighter{background-color:#fee0c7 !important}a.bg-orange-lighter:focus,a.bg-orange-lighter:hover,button.bg-orange-lighter:focus,button.bg-orange-lighter:hover{background-color:#fdc495 !important}.bg-orange-light{background-color:#feb67c !important}a.bg-orange-light:focus,a.bg-orange-light:hover,button.bg-orange-light:focus,button.bg-orange-light:hover{background-color:#fe9a49 !important}.bg-orange-dark{background-color:#ca7836 !important}a.bg-orange-dark:focus,a.bg-orange-dark:hover,button.bg-orange-dark:focus,button.bg-orange-dark:hover{background-color:#a2602b !important}.bg-orange-darker{background-color:#653c1b !important}a.bg-orange-darker:focus,a.bg-orange-darker:hover,button.bg-orange-darker:focus,button.bg-orange-darker:hover{background-color:#3d2410 !important}.bg-orange-darkest{background-color:#331e0e !important}a.bg-orange-darkest:focus,a.bg-orange-darkest:hover,button.bg-orange-darkest:focus,button.bg-orange-darkest:hover{background-color:#0b0603 !important}.bg-yellow-lightest{background-color:#fef9e7 !important}a.bg-yellow-lightest:focus,a.bg-yellow-lightest:hover,button.bg-yellow-lightest:focus,button.bg-yellow-lightest:hover{background-color:#fcedb6 !important}.bg-yellow-lighter{background-color:#fbedb7 !important}a.bg-yellow-lighter:focus,a.bg-yellow-lighter:hover,button.bg-yellow-lighter:focus,button.bg-yellow-lighter:hover{background-color:#f8e187 !important}.bg-yellow-light{background-color:#f5d657 !important}a.bg-yellow-light:focus,a.bg-yellow-light:hover,button.bg-yellow-light:focus,button.bg-yellow-light:hover{background-color:#f2ca27 !important}.bg-yellow-dark{background-color:#c19d0c !important}a.bg-yellow-dark:focus,a.bg-yellow-dark:hover,button.bg-yellow-dark:focus,button.bg-yellow-dark:hover{background-color:#917609 !important}.bg-yellow-darker{background-color:#604e06 !important}.bg-yellow-darkest,a.bg-yellow-darker:focus,a.bg-yellow-darker:hover,button.bg-yellow-darker:focus,button.bg-yellow-darker:hover{background-color:#302703 !important}a.bg-yellow-darkest:focus,a.bg-yellow-darkest:hover,button.bg-yellow-darkest:focus,button.bg-yellow-darkest:hover{background-color:#000 !important}.bg-green-lightest{background-color:#eff8e6 !important}a.bg-green-lightest:focus,a.bg-green-lightest:hover,button.bg-green-lightest:focus,button.bg-green-lightest:hover{background-color:#d6edbe !important}.bg-green-lighter{background-color:#cfeab3 !important}a.bg-green-lighter:focus,a.bg-green-lighter:hover,button.bg-green-lighter:focus,button.bg-green-lighter:hover{background-color:#b6df8b !important}.bg-green-light{background-color:#8ecf4d !important}a.bg-green-light:focus,a.bg-green-light:hover,button.bg-green-light:focus,button.bg-green-light:hover{background-color:#75b831 !important}.bg-green-dark{background-color:#4b9500 !important}a.bg-green-dark:focus,a.bg-green-dark:hover,button.bg-green-dark:focus,button.bg-green-dark:hover{background-color:#316200 !important}.bg-green-darker{background-color:#264a00 !important}a.bg-green-darker:focus,a.bg-green-darker:hover,button.bg-green-darker:focus,button.bg-green-darker:hover{background-color:#0c1700 !important}.bg-green-darkest{background-color:#132500 !important}a.bg-green-darkest:focus,a.bg-green-darkest:hover,button.bg-green-darkest:focus,button.bg-green-darkest:hover{background-color:#000 !important}.bg-teal-lightest{background-color:#eafaf8 !important}a.bg-teal-lightest:focus,a.bg-teal-lightest:hover,button.bg-teal-lightest:focus,button.bg-teal-lightest:hover{background-color:#c1f0ea !important}.bg-teal-lighter{background-color:#bfefea !important}a.bg-teal-lighter:focus,a.bg-teal-lighter:hover,button.bg-teal-lighter:focus,button.bg-teal-lighter:hover{background-color:#96e5dd !important}.bg-teal-light{background-color:#6bdbcf !important}a.bg-teal-light:focus,a.bg-teal-light:hover,button.bg-teal-light:focus,button.bg-teal-light:hover{background-color:#42d1c2 !important}.bg-teal-dark{background-color:#22a295 !important}a.bg-teal-dark:focus,a.bg-teal-dark:hover,button.bg-teal-dark:focus,button.bg-teal-dark:hover{background-color:#19786e !important}.bg-teal-darker{background-color:#11514a !important}a.bg-teal-darker:focus,a.bg-teal-darker:hover,button.bg-teal-darker:focus,button.bg-teal-darker:hover{background-color:#082723 !important}.bg-teal-darkest{background-color:#092925 !important}a.bg-teal-darkest:focus,a.bg-teal-darkest:hover,button.bg-teal-darkest:focus,button.bg-teal-darkest:hover{background-color:#000 !important}.bg-cyan-lightest{background-color:#e8f6f8 !important}a.bg-cyan-lightest:focus,a.bg-cyan-lightest:hover,button.bg-cyan-lightest:focus,button.bg-cyan-lightest:hover{background-color:#c1e7ec !important}.bg-cyan-lighter{background-color:#b9e3ea !important}a.bg-cyan-lighter:focus,a.bg-cyan-lighter:hover,button.bg-cyan-lighter:focus,button.bg-cyan-lighter:hover{background-color:#92d3de !important}.bg-cyan-light{background-color:#5dbecd !important}a.bg-cyan-light:focus,a.bg-cyan-light:hover,button.bg-cyan-light:focus,button.bg-cyan-light:hover{background-color:#3aabbd !important}.bg-cyan-dark{background-color:#128293 !important}a.bg-cyan-dark:focus,a.bg-cyan-dark:hover,button.bg-cyan-dark:focus,button.bg-cyan-dark:hover{background-color:#0c5a66 !important}.bg-cyan-darker{background-color:#09414a !important}a.bg-cyan-darker:focus,a.bg-cyan-darker:hover,button.bg-cyan-darker:focus,button.bg-cyan-darker:hover{background-color:#03191d !important}.bg-cyan-darkest{background-color:#052025 !important}a.bg-cyan-darkest:focus,a.bg-cyan-darkest:hover,button.bg-cyan-darkest:focus,button.bg-cyan-darkest:hover{background-color:#000 !important}.bg-white-lightest{background-color:#fff !important}a.bg-white-lightest:focus,a.bg-white-lightest:hover,button.bg-white-lightest:focus,button.bg-white-lightest:hover{background-color:#e6e5e5 !important}.bg-white-lighter{background-color:#fff !important}a.bg-white-lighter:focus,a.bg-white-lighter:hover,button.bg-white-lighter:focus,button.bg-white-lighter:hover{background-color:#e6e5e5 !important}.bg-white-light{background-color:#fff !important}a.bg-white-light:focus,a.bg-white-light:hover,button.bg-white-light:focus,button.bg-white-light:hover{background-color:#e6e5e5 !important}.bg-white-dark{background-color:#ccc !important}a.bg-white-dark:focus,a.bg-white-dark:hover,button.bg-white-dark:focus,button.bg-white-dark:hover{background-color:#b3b2b2 !important}.bg-white-darker{background-color:#666 !important}a.bg-white-darker:focus,a.bg-white-darker:hover,button.bg-white-darker:focus,button.bg-white-darker:hover{background-color:#4d4c4c !important}.bg-white-darkest{background-color:#333 !important}a.bg-white-darkest:focus,a.bg-white-darkest:hover,button.bg-white-darkest:focus,button.bg-white-darkest:hover{background-color:#1a1919 !important}.bg-gray-lightest{background-color:#f3f4f5 !important}a.bg-gray-lightest:focus,a.bg-gray-lightest:hover,button.bg-gray-lightest:focus,button.bg-gray-lightest:hover{background-color:#d7dbde !important}.bg-gray-lighter{background-color:#dbdde0 !important}a.bg-gray-lighter:focus,a.bg-gray-lighter:hover,button.bg-gray-lighter:focus,button.bg-gray-lighter:hover{background-color:#c0c3c8 !important}.bg-gray-light{background-color:#aab0b6 !important}a.bg-gray-light:focus,a.bg-gray-light:hover,button.bg-gray-light:focus,button.bg-gray-light:hover{background-color:#8f979e !important}.bg-gray-dark{background-color:#6b7278 !important}a.bg-gray-dark:focus,a.bg-gray-dark:hover,button.bg-gray-dark:focus,button.bg-gray-dark:hover{background-color:#53585d !important}.bg-gray-darker{background-color:#36393c !important}a.bg-gray-darker:focus,a.bg-gray-darker:hover,button.bg-gray-darker:focus,button.bg-gray-darker:hover{background-color:#1e2021 !important}.bg-gray-darkest{background-color:#1b1c1e !important}a.bg-gray-darkest:focus,a.bg-gray-darkest:hover,button.bg-gray-darkest:focus,button.bg-gray-darkest:hover{background-color:#030303 !important}.bg-gray-dark-lightest{background-color:#ebebec !important}a.bg-gray-dark-lightest:focus,a.bg-gray-dark-lightest:hover,button.bg-gray-dark-lightest:focus,button.bg-gray-dark-lightest:hover{background-color:#d1d1d3 !important}.bg-gray-dark-lighter{background-color:#c2c4c6 !important}a.bg-gray-dark-lighter:focus,a.bg-gray-dark-lighter:hover,button.bg-gray-dark-lighter:focus,button.bg-gray-dark-lighter:hover{background-color:#a8abad !important}.bg-gray-dark-light{background-color:#717579 !important}a.bg-gray-dark-light:focus,a.bg-gray-dark-light:hover,button.bg-gray-dark-light:focus,button.bg-gray-dark-light:hover{background-color:#585c5f !important}.bg-gray-dark-dark{background-color:#2a2e33 !important}a.bg-gray-dark-dark:focus,a.bg-gray-dark-dark:hover,button.bg-gray-dark-dark:focus,button.bg-gray-dark-dark:hover{background-color:#131517 !important}.bg-gray-dark-darker{background-color:#15171a !important}a.bg-gray-dark-darker:focus,a.bg-gray-dark-darker:hover,button.bg-gray-dark-darker:focus,button.bg-gray-dark-darker:hover{background-color:#000 !important}.bg-gray-dark-darkest{background-color:#0a0c0d !important}a.bg-gray-dark-darkest:focus,a.bg-gray-dark-darkest:hover,button.bg-gray-dark-darkest:focus,button.bg-gray-dark-darkest:hover{background-color:#000 !important}.bg-azure-lightest{background-color:#ecf7fe !important}a.bg-azure-lightest:focus,a.bg-azure-lightest:hover,button.bg-azure-lightest:focus,button.bg-azure-lightest:hover{background-color:#bce3fb !important}.bg-azure-lighter{background-color:#c7e6fb !important}a.bg-azure-lighter:focus,a.bg-azure-lighter:hover,button.bg-azure-lighter:focus,button.bg-azure-lighter:hover{background-color:#97d1f8 !important}.bg-azure-light{background-color:#7dc4f6 !important}a.bg-azure-light:focus,a.bg-azure-light:hover,button.bg-azure-light:focus,button.bg-azure-light:hover{background-color:#4daef3 !important}.bg-azure-dark{background-color:#3788c2 !important}a.bg-azure-dark:focus,a.bg-azure-dark:hover,button.bg-azure-dark:focus,button.bg-azure-dark:hover{background-color:#2c6c9a !important}.bg-azure-darker{background-color:#1c4461 !important}a.bg-azure-darker:focus,a.bg-azure-darker:hover,button.bg-azure-darker:focus,button.bg-azure-darker:hover{background-color:#112839 !important}.bg-azure-darkest{background-color:#0e2230 !important}a.bg-azure-darkest:focus,a.bg-azure-darkest:hover,button.bg-azure-darkest:focus,button.bg-azure-darkest:hover{background-color:#020609 !important}.bg-lime-lightest{background-color:#f2fbeb !important}a.bg-lime-lightest:focus,a.bg-lime-lightest:hover,button.bg-lime-lightest:focus,button.bg-lime-lightest:hover{background-color:#d6f3c1 !important}.bg-lime-lighter{background-color:#d7f2c2 !important}a.bg-lime-lighter:focus,a.bg-lime-lighter:hover,button.bg-lime-lighter:focus,button.bg-lime-lighter:hover{background-color:#bbe998 !important}.bg-lime-light{background-color:#a3e072 !important}a.bg-lime-light:focus,a.bg-lime-light:hover,button.bg-lime-light:focus,button.bg-lime-light:hover{background-color:#88d748 !important}.bg-lime-dark{background-color:#62a82a !important}a.bg-lime-dark:focus,a.bg-lime-dark:hover,button.bg-lime-dark:focus,button.bg-lime-dark:hover{background-color:#4a7f20 !important}.bg-lime-darker{background-color:#315415 !important}a.bg-lime-darker:focus,a.bg-lime-darker:hover,button.bg-lime-darker:focus,button.bg-lime-darker:hover{background-color:#192b0b !important}.bg-lime-darkest{background-color:#192a0b !important}a.bg-lime-darkest:focus,a.bg-lime-darkest:hover,button.bg-lime-darkest:focus,button.bg-lime-darkest:hover{background-color:#010200 !important}.display-1 i,.display-2 i,.display-3 i,.display-4 i{vertical-align:initial;font-size:.815em}.text-inherit{color:inherit !important}.text-default{color:#495057 !important}.text-muted-dark{color:#6e7687 !important}.tracking-tight{letter-spacing:-.05em !important}.tracking-normal{letter-spacing:0 !important}.tracking-wide{letter-spacing:.05em !important}.leading-none{line-height:1 !important}.leading-tight{line-height:1.25 !important}.leading-normal{line-height:1.5 !important}.leading-loose{line-height:2 !important}.bg-blue{background-color:#467fcf !important}a.bg-blue:focus,a.bg-blue:hover,button.bg-blue:focus,button.bg-blue:hover{background-color:#2f66b3 !important}.text-blue{color:#467fcf !important}.bg-indigo{background-color:#6574cd !important}a.bg-indigo:focus,a.bg-indigo:hover,button.bg-indigo:focus,button.bg-indigo:hover{background-color:#3f51c1 !important}.text-indigo{color:#6574cd !important}.bg-purple{background-color:#a55eea !important}a.bg-purple:focus,a.bg-purple:hover,button.bg-purple:focus,button.bg-purple:hover{background-color:#8c31e4 !important}.text-purple{color:#a55eea !important}.bg-pink{background-color:#f66d9b !important}a.bg-pink:focus,a.bg-pink:hover,button.bg-pink:focus,button.bg-pink:hover{background-color:#f33d7a !important}.text-pink{color:#f66d9b !important}.bg-red{background-color:#cd201f !important}a.bg-red:focus,a.bg-red:hover,button.bg-red:focus,button.bg-red:hover{background-color:#a11918 !important}.text-red{color:#cd201f !important}.bg-orange{background-color:#fd9644 !important}a.bg-orange:focus,a.bg-orange:hover,button.bg-orange:focus,button.bg-orange:hover{background-color:#fc7a12 !important}.text-orange{color:#fd9644 !important}.bg-yellow{background-color:#f1c40f !important}a.bg-yellow:focus,a.bg-yellow:hover,button.bg-yellow:focus,button.bg-yellow:hover{background-color:#c29d0b !important}.text-yellow{color:#f1c40f !important}.bg-green{background-color:#5eba00 !important}a.bg-green:focus,a.bg-green:hover,button.bg-green:focus,button.bg-green:hover{background-color:#448700 !important}.text-green{color:#5eba00 !important}.bg-teal{background-color:#2bcbba !important}a.bg-teal:focus,a.bg-teal:hover,button.bg-teal:focus,button.bg-teal:hover{background-color:#22a193 !important}.text-teal{color:#2bcbba !important}.bg-cyan{background-color:#17a2b8 !important}a.bg-cyan:focus,a.bg-cyan:hover,button.bg-cyan:focus,button.bg-cyan:hover{background-color:#117a8b !important}.text-cyan{color:#17a2b8 !important}.bg-white{background-color:#fff !important}a.bg-white:focus,a.bg-white:hover,button.bg-white:focus,button.bg-white:hover{background-color:#e6e5e5 !important}.text-white{color:#fff !important}.bg-gray{background-color:#868e96 !important}a.bg-gray:focus,a.bg-gray:hover,button.bg-gray:focus,button.bg-gray:hover{background-color:#6c757d !important}.text-gray{color:#868e96 !important}.bg-gray-dark{background-color:#343a40 !important}a.bg-gray-dark:focus,a.bg-gray-dark:hover,button.bg-gray-dark:focus,button.bg-gray-dark:hover{background-color:#1d2124 !important}.text-gray-dark{color:#343a40 !important}.bg-azure{background-color:#45aaf2 !important}a.bg-azure:focus,a.bg-azure:hover,button.bg-azure:focus,button.bg-azure:hover{background-color:#1594ef !important}.text-azure{color:#45aaf2 !important}.bg-lime{background-color:#7bd235 !important}a.bg-lime:focus,a.bg-lime:hover,button.bg-lime:focus,button.bg-lime:hover{background-color:#63ad27 !important}.text-lime{color:#7bd235 !important}.icon{color:#9aa0ac !important}.icon i{vertical-align:-1px}a.icon{text-decoration:none;cursor:pointer}a.icon:hover{color:#495057 !important}.o-auto{overflow:auto !important}.o-hidden{overflow:hidden !important}.shadow{box-shadow:0 1px 2px 0 rgba(0,0,0,.05) !important}.shadow-none{box-shadow:none !important}.nav-item,.nav-link{padding:0 .75rem;min-width:2rem;transition:color .3s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:flex;align-items:center}.nav-item .badge,.nav-link .badge{position:absolute;top:0;right:0;padding:.2rem .25rem;min-width:1rem}.nav-tabs{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#9aa0ac;margin:0 -.75rem}.nav-tabs .nav-link{border:0;color:inherit;border-bottom:1px solid transparent;margin-bottom:-1px;transition:border-color .3s;font-weight:400;padding:1rem 0}.nav-tabs .nav-link:hover:not(.disabled){border-color:#6e7687;color:#6e7687}.nav-tabs .nav-link.active{border-color:#467fcf;color:#467fcf;background:transparent}.nav-tabs .nav-link.disabled{opacity:.4;cursor:default;pointer-events:none}.nav-tabs .nav-item{margin-bottom:0;position:relative}.nav-tabs .nav-item i{margin-right:.25rem;line-height:1;font-size:.875rem;width:.875rem;vertical-align:initial;display:inline-block}.nav-tabs .nav-item:hover .nav-submenu{display:block}.nav-tabs .nav-submenu{display:none;position:absolute;background:#fff;border:1px solid rgba(0,40,100,.12);border-top:0;z-index:10;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);min-width:10rem;border-radius:0 0 3px 3px}.nav-tabs .nav-submenu .nav-item{display:block;padding:.5rem 1rem;color:#9aa0ac;margin:0 !important;cursor:pointer;transition:background .3s}.nav-tabs .nav-submenu .nav-item.active{color:#467fcf}.nav-tabs .nav-submenu .nav-item:hover{color:#6e7687;text-decoration:none;background:rgba(0,0,0,.024)}.btn{cursor:pointer;font-weight:600;letter-spacing:.03em;font-size:.8125rem;min-width:2.375rem}.btn i{font-size:1rem;vertical-align:-2px}.btn-icon{padding-left:.5rem;padding-right:.5rem;text-align:center}.btn-secondary{color:#495057;background-color:#fff;border-color:rgba(0,40,100,.12);box-shadow:0 1px 1px 0 rgba(0,0,0,.05)}.btn-secondary:hover{color:#495057;background-color:#f6f6f6;border-color:rgba(0,20,49,.12)}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 2px rgba(0,40,100,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#495057;background-color:#fff;border-color:rgba(0,40,100,.12)}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#495057;background-color:#e6e5e5;border-color:rgba(0,15,36,.12)}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(0,40,100,.5)}.btn-pill{border-radius:10rem;padding-left:1.5em;padding-right:1.5em}.btn-square{border-radius:0}.btn-facebook{color:#fff;background-color:#3b5998;border-color:#3b5998}.btn-facebook:hover{color:#fff;background-color:#30497c;border-color:#2d4373}.btn-facebook.focus,.btn-facebook:focus{box-shadow:0 0 0 2px rgba(59,89,152,.5)}.btn-facebook.disabled,.btn-facebook:disabled{color:#fff;background-color:#3b5998;border-color:#3b5998}.btn-facebook:not(:disabled):not(.disabled).active,.btn-facebook:not(:disabled):not(.disabled):active,.show>.btn-facebook.dropdown-toggle{color:#fff;background-color:#2d4373;border-color:#293e6a}.btn-facebook:not(:disabled):not(.disabled).active:focus,.btn-facebook:not(:disabled):not(.disabled):active:focus,.show>.btn-facebook.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(59,89,152,.5)}.btn-twitter{color:#fff;background-color:#1da1f2;border-color:#1da1f2}.btn-twitter:hover{color:#fff;background-color:#0d8ddc;border-color:#0c85d0}.btn-twitter.focus,.btn-twitter:focus{box-shadow:0 0 0 2px rgba(29,161,242,.5)}.btn-twitter.disabled,.btn-twitter:disabled{color:#fff;background-color:#1da1f2;border-color:#1da1f2}.btn-twitter:not(:disabled):not(.disabled).active,.btn-twitter:not(:disabled):not(.disabled):active,.show>.btn-twitter.dropdown-toggle{color:#fff;background-color:#0c85d0;border-color:#0b7ec4}.btn-twitter:not(:disabled):not(.disabled).active:focus,.btn-twitter:not(:disabled):not(.disabled):active:focus,.show>.btn-twitter.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(29,161,242,.5)}.btn-google{color:#fff;background-color:#dc4e41;border-color:#dc4e41}.btn-google:hover{color:#fff;background-color:#d03526;border-color:#c63224}.btn-google.focus,.btn-google:focus{box-shadow:0 0 0 2px rgba(220,78,65,.5)}.btn-google.disabled,.btn-google:disabled{color:#fff;background-color:#dc4e41;border-color:#dc4e41}.btn-google:not(:disabled):not(.disabled).active,.btn-google:not(:disabled):not(.disabled):active,.show>.btn-google.dropdown-toggle{color:#fff;background-color:#c63224;border-color:#bb2f22}.btn-google:not(:disabled):not(.disabled).active:focus,.btn-google:not(:disabled):not(.disabled):active:focus,.show>.btn-google.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(220,78,65,.5)}.btn-youtube{color:#fff;background-color:red;border-color:red}.btn-youtube:hover{color:#fff;background-color:#d90000;border-color:#c00}.btn-youtube.focus,.btn-youtube:focus{box-shadow:0 0 0 2px rgba(255,0,0,.5)}.btn-youtube.disabled,.btn-youtube:disabled{color:#fff;background-color:red;border-color:red}.btn-youtube:not(:disabled):not(.disabled).active,.btn-youtube:not(:disabled):not(.disabled):active,.show>.btn-youtube.dropdown-toggle{color:#fff;background-color:#c00;border-color:#bf0000}.btn-youtube:not(:disabled):not(.disabled).active:focus,.btn-youtube:not(:disabled):not(.disabled):active:focus,.show>.btn-youtube.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(255,0,0,.5)}.btn-vimeo{color:#fff;background-color:#1ab7ea;border-color:#1ab7ea}.btn-vimeo:hover{color:#fff;background-color:#139ecb;border-color:#1295bf}.btn-vimeo.focus,.btn-vimeo:focus{box-shadow:0 0 0 2px rgba(26,183,234,.5)}.btn-vimeo.disabled,.btn-vimeo:disabled{color:#fff;background-color:#1ab7ea;border-color:#1ab7ea}.btn-vimeo:not(:disabled):not(.disabled).active,.btn-vimeo:not(:disabled):not(.disabled):active,.show>.btn-vimeo.dropdown-toggle{color:#fff;background-color:#1295bf;border-color:#108cb4}.btn-vimeo:not(:disabled):not(.disabled).active:focus,.btn-vimeo:not(:disabled):not(.disabled):active:focus,.show>.btn-vimeo.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(26,183,234,.5)}.btn-dribbble{color:#fff;background-color:#ea4c89;border-color:#ea4c89}.btn-dribbble:hover{color:#fff;background-color:#e62a72;border-color:#e51e6b}.btn-dribbble.focus,.btn-dribbble:focus{box-shadow:0 0 0 2px rgba(234,76,137,.5)}.btn-dribbble.disabled,.btn-dribbble:disabled{color:#fff;background-color:#ea4c89;border-color:#ea4c89}.btn-dribbble:not(:disabled):not(.disabled).active,.btn-dribbble:not(:disabled):not(.disabled):active,.show>.btn-dribbble.dropdown-toggle{color:#fff;background-color:#e51e6b;border-color:#dc1a65}.btn-dribbble:not(:disabled):not(.disabled).active:focus,.btn-dribbble:not(:disabled):not(.disabled):active:focus,.show>.btn-dribbble.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(234,76,137,.5)}.btn-github{color:#fff;background-color:#181717;border-color:#181717}.btn-github:hover{color:#fff;background-color:#040404;border-color:#000}.btn-github.focus,.btn-github:focus{box-shadow:0 0 0 2px rgba(24,23,23,.5)}.btn-github.disabled,.btn-github:disabled{color:#fff;background-color:#181717;border-color:#181717}.btn-github:not(:disabled):not(.disabled).active,.btn-github:not(:disabled):not(.disabled):active,.show>.btn-github.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-github:not(:disabled):not(.disabled).active:focus,.btn-github:not(:disabled):not(.disabled):active:focus,.show>.btn-github.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(24,23,23,.5)}.btn-instagram{color:#fff;background-color:#e4405f;border-color:#e4405f}.btn-instagram:hover{color:#fff;background-color:#de1f44;border-color:#d31e40}.btn-instagram.focus,.btn-instagram:focus{box-shadow:0 0 0 2px rgba(228,64,95,.5)}.btn-instagram.disabled,.btn-instagram:disabled{color:#fff;background-color:#e4405f;border-color:#e4405f}.btn-instagram:not(:disabled):not(.disabled).active,.btn-instagram:not(:disabled):not(.disabled):active,.show>.btn-instagram.dropdown-toggle{color:#fff;background-color:#d31e40;border-color:#c81c3d}.btn-instagram:not(:disabled):not(.disabled).active:focus,.btn-instagram:not(:disabled):not(.disabled):active:focus,.show>.btn-instagram.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(228,64,95,.5)}.btn-pinterest{color:#fff;background-color:#bd081c;border-color:#bd081c}.btn-pinterest:hover{color:#fff;background-color:#980617;border-color:#8c0615}.btn-pinterest.focus,.btn-pinterest:focus{box-shadow:0 0 0 2px rgba(189,8,28,.5)}.btn-pinterest.disabled,.btn-pinterest:disabled{color:#fff;background-color:#bd081c;border-color:#bd081c}.btn-pinterest:not(:disabled):not(.disabled).active,.btn-pinterest:not(:disabled):not(.disabled):active,.show>.btn-pinterest.dropdown-toggle{color:#fff;background-color:#8c0615;border-color:#800513}.btn-pinterest:not(:disabled):not(.disabled).active:focus,.btn-pinterest:not(:disabled):not(.disabled):active:focus,.show>.btn-pinterest.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(189,8,28,.5)}.btn-vk{color:#fff;background-color:#6383a8;border-color:#6383a8}.btn-vk:hover{color:#fff;background-color:#527093;border-color:#4d6a8b}.btn-vk.focus,.btn-vk:focus{box-shadow:0 0 0 2px rgba(99,131,168,.5)}.btn-vk.disabled,.btn-vk:disabled{color:#fff;background-color:#6383a8;border-color:#6383a8}.btn-vk:not(:disabled):not(.disabled).active,.btn-vk:not(:disabled):not(.disabled):active,.show>.btn-vk.dropdown-toggle{color:#fff;background-color:#4d6a8b;border-color:#496482}.btn-vk:not(:disabled):not(.disabled).active:focus,.btn-vk:not(:disabled):not(.disabled):active:focus,.show>.btn-vk.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(99,131,168,.5)}.btn-rss{color:#fff;background-color:orange;border-color:orange}.btn-rss:hover{color:#fff;background-color:#d98c00;border-color:#cc8400}.btn-rss.focus,.btn-rss:focus{box-shadow:0 0 0 2px rgba(255,165,0,.5)}.btn-rss.disabled,.btn-rss:disabled{color:#fff;background-color:orange;border-color:orange}.btn-rss:not(:disabled):not(.disabled).active,.btn-rss:not(:disabled):not(.disabled):active,.show>.btn-rss.dropdown-toggle{color:#fff;background-color:#cc8400;border-color:#bf7c00}.btn-rss:not(:disabled):not(.disabled).active:focus,.btn-rss:not(:disabled):not(.disabled):active:focus,.show>.btn-rss.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(255,165,0,.5)}.btn-flickr{color:#fff;background-color:#0063dc;border-color:#0063dc}.btn-flickr:hover{color:#fff;background-color:#0052b6;border-color:#004ca9}.btn-flickr.focus,.btn-flickr:focus{box-shadow:0 0 0 2px rgba(0,99,220,.5)}.btn-flickr.disabled,.btn-flickr:disabled{color:#fff;background-color:#0063dc;border-color:#0063dc}.btn-flickr:not(:disabled):not(.disabled).active,.btn-flickr:not(:disabled):not(.disabled):active,.show>.btn-flickr.dropdown-toggle{color:#fff;background-color:#004ca9;border-color:#00469c}.btn-flickr:not(:disabled):not(.disabled).active:focus,.btn-flickr:not(:disabled):not(.disabled):active:focus,.show>.btn-flickr.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(0,99,220,.5)}.btn-bitbucket{color:#fff;background-color:#0052cc;border-color:#0052cc}.btn-bitbucket:hover{color:#fff;background-color:#0043a6;border-color:#003e99}.btn-bitbucket.focus,.btn-bitbucket:focus{box-shadow:0 0 0 2px rgba(0,82,204,.5)}.btn-bitbucket.disabled,.btn-bitbucket:disabled{color:#fff;background-color:#0052cc;border-color:#0052cc}.btn-bitbucket:not(:disabled):not(.disabled).active,.btn-bitbucket:not(:disabled):not(.disabled):active,.show>.btn-bitbucket.dropdown-toggle{color:#fff;background-color:#003e99;border-color:#00388c}.btn-bitbucket:not(:disabled):not(.disabled).active:focus,.btn-bitbucket:not(:disabled):not(.disabled):active:focus,.show>.btn-bitbucket.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(0,82,204,.5)}.btn-blue{color:#fff;background-color:#467fcf;border-color:#467fcf}.btn-blue:hover{color:#fff;background-color:#316cbe;border-color:#2f66b3}.btn-blue.focus,.btn-blue:focus{box-shadow:0 0 0 2px rgba(70,127,207,.5)}.btn-blue.disabled,.btn-blue:disabled{color:#fff;background-color:#467fcf;border-color:#467fcf}.btn-blue:not(:disabled):not(.disabled).active,.btn-blue:not(:disabled):not(.disabled):active,.show>.btn-blue.dropdown-toggle{color:#fff;background-color:#2f66b3;border-color:#2c60a9}.btn-blue:not(:disabled):not(.disabled).active:focus,.btn-blue:not(:disabled):not(.disabled):active:focus,.show>.btn-blue.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(70,127,207,.5)}.btn-indigo{color:#fff;background-color:#6574cd;border-color:#6574cd}.btn-indigo:hover{color:#fff;background-color:#485ac4;border-color:#3f51c1}.btn-indigo.focus,.btn-indigo:focus{box-shadow:0 0 0 2px rgba(101,116,205,.5)}.btn-indigo.disabled,.btn-indigo:disabled{color:#fff;background-color:#6574cd;border-color:#6574cd}.btn-indigo:not(:disabled):not(.disabled).active,.btn-indigo:not(:disabled):not(.disabled):active,.show>.btn-indigo.dropdown-toggle{color:#fff;background-color:#3f51c1;border-color:#3b4db7}.btn-indigo:not(:disabled):not(.disabled).active:focus,.btn-indigo:not(:disabled):not(.disabled):active:focus,.show>.btn-indigo.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(101,116,205,.5)}.btn-purple{color:#fff;background-color:#a55eea;border-color:#a55eea}.btn-purple:hover{color:#fff;background-color:#923ce6;border-color:#8c31e4}.btn-purple.focus,.btn-purple:focus{box-shadow:0 0 0 2px rgba(165,94,234,.5)}.btn-purple.disabled,.btn-purple:disabled{color:#fff;background-color:#a55eea;border-color:#a55eea}.btn-purple:not(:disabled):not(.disabled).active,.btn-purple:not(:disabled):not(.disabled):active,.show>.btn-purple.dropdown-toggle{color:#fff;background-color:#8c31e4;border-color:#8526e3}.btn-purple:not(:disabled):not(.disabled).active:focus,.btn-purple:not(:disabled):not(.disabled):active:focus,.show>.btn-purple.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(165,94,234,.5)}.btn-pink{color:#fff;background-color:#f66d9b;border-color:#f66d9b}.btn-pink:hover{color:#fff;background-color:#f44982;border-color:#f33d7a}.btn-pink.focus,.btn-pink:focus{box-shadow:0 0 0 2px rgba(246,109,155,.5)}.btn-pink.disabled,.btn-pink:disabled{color:#fff;background-color:#f66d9b;border-color:#f66d9b}.btn-pink:not(:disabled):not(.disabled).active,.btn-pink:not(:disabled):not(.disabled):active,.show>.btn-pink.dropdown-toggle{color:#fff;background-color:#f33d7a;border-color:#f23172}.btn-pink:not(:disabled):not(.disabled).active:focus,.btn-pink:not(:disabled):not(.disabled):active:focus,.show>.btn-pink.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(246,109,155,.5)}.btn-red{color:#fff;background-color:#cd201f;border-color:#cd201f}.btn-red:hover{color:#fff;background-color:#ac1b1a;border-color:#a11918}.btn-red.focus,.btn-red:focus{box-shadow:0 0 0 2px rgba(205,32,31,.5)}.btn-red.disabled,.btn-red:disabled{color:#fff;background-color:#cd201f;border-color:#cd201f}.btn-red:not(:disabled):not(.disabled).active,.btn-red:not(:disabled):not(.disabled):active,.show>.btn-red.dropdown-toggle{color:#fff;background-color:#a11918;border-color:#961717}.btn-red:not(:disabled):not(.disabled).active:focus,.btn-red:not(:disabled):not(.disabled):active:focus,.show>.btn-red.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(205,32,31,.5)}.btn-orange{color:#fff;background-color:#fd9644;border-color:#fd9644}.btn-orange:hover{color:#fff;background-color:#fd811e;border-color:#fc7a12}.btn-orange.focus,.btn-orange:focus{box-shadow:0 0 0 2px rgba(253,150,68,.5)}.btn-orange.disabled,.btn-orange:disabled{color:#fff;background-color:#fd9644;border-color:#fd9644}.btn-orange:not(:disabled):not(.disabled).active,.btn-orange:not(:disabled):not(.disabled):active,.show>.btn-orange.dropdown-toggle{color:#fff;background-color:#fc7a12;border-color:#fc7305}.btn-orange:not(:disabled):not(.disabled).active:focus,.btn-orange:not(:disabled):not(.disabled):active:focus,.show>.btn-orange.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(253,150,68,.5)}.btn-yellow{color:#fff;background-color:#f1c40f;border-color:#f1c40f}.btn-yellow:hover{color:#fff;background-color:#cea70c;border-color:#c29d0b}.btn-yellow.focus,.btn-yellow:focus{box-shadow:0 0 0 2px rgba(241,196,15,.5)}.btn-yellow.disabled,.btn-yellow:disabled{color:#fff;background-color:#f1c40f;border-color:#f1c40f}.btn-yellow:not(:disabled):not(.disabled).active,.btn-yellow:not(:disabled):not(.disabled):active,.show>.btn-yellow.dropdown-toggle{color:#fff;background-color:#c29d0b;border-color:#b6940b}.btn-yellow:not(:disabled):not(.disabled).active:focus,.btn-yellow:not(:disabled):not(.disabled):active:focus,.show>.btn-yellow.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(241,196,15,.5)}.btn-green{color:#fff;background-color:#5eba00;border-color:#5eba00}.btn-green:hover{color:#fff;background-color:#4b9400;border-color:#448700}.btn-green.focus,.btn-green:focus{box-shadow:0 0 0 2px rgba(94,186,0,.5)}.btn-green.disabled,.btn-green:disabled{color:#fff;background-color:#5eba00;border-color:#5eba00}.btn-green:not(:disabled):not(.disabled).active,.btn-green:not(:disabled):not(.disabled):active,.show>.btn-green.dropdown-toggle{color:#fff;background-color:#448700;border-color:#3e7a00}.btn-green:not(:disabled):not(.disabled).active:focus,.btn-green:not(:disabled):not(.disabled):active:focus,.show>.btn-green.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(94,186,0,.5)}.btn-teal{color:#fff;background-color:#2bcbba;border-color:#2bcbba}.btn-teal:hover{color:#fff;background-color:#24ab9d;border-color:#22a193}.btn-teal.focus,.btn-teal:focus{box-shadow:0 0 0 2px rgba(43,203,186,.5)}.btn-teal.disabled,.btn-teal:disabled{color:#fff;background-color:#2bcbba;border-color:#2bcbba}.btn-teal:not(:disabled):not(.disabled).active,.btn-teal:not(:disabled):not(.disabled):active,.show>.btn-teal.dropdown-toggle{color:#fff;background-color:#22a193;border-color:#20968a}.btn-teal:not(:disabled):not(.disabled).active:focus,.btn-teal:not(:disabled):not(.disabled):active:focus,.show>.btn-teal.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(43,203,186,.5)}.btn-cyan{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-cyan:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-cyan.focus,.btn-cyan:focus{box-shadow:0 0 0 2px rgba(23,162,184,.5)}.btn-cyan.disabled,.btn-cyan:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-cyan:not(:disabled):not(.disabled).active,.btn-cyan:not(:disabled):not(.disabled):active,.show>.btn-cyan.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-cyan:not(:disabled):not(.disabled).active:focus,.btn-cyan:not(:disabled):not(.disabled):active:focus,.show>.btn-cyan.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(23,162,184,.5)}.btn-white{color:#495057;background-color:#fff;border-color:#fff}.btn-white:hover{color:#495057;background-color:#ececec;border-color:#e6e5e5}.btn-white.focus,.btn-white:focus{box-shadow:0 0 0 2px hsla(0,0%,100%,.5)}.btn-white.disabled,.btn-white:disabled{color:#495057;background-color:#fff;border-color:#fff}.btn-white:not(:disabled):not(.disabled).active,.btn-white:not(:disabled):not(.disabled):active,.show>.btn-white.dropdown-toggle{color:#495057;background-color:#e6e5e5;border-color:#dfdfdf}.btn-white:not(:disabled):not(.disabled).active:focus,.btn-white:not(:disabled):not(.disabled):active:focus,.show>.btn-white.dropdown-toggle:focus{box-shadow:0 0 0 2px hsla(0,0%,100%,.5)}.btn-gray{color:#fff;background-color:#868e96;border-color:#868e96}.btn-gray:hover{color:#fff;background-color:#727b84;border-color:#6c757d}.btn-gray.focus,.btn-gray:focus{box-shadow:0 0 0 2px rgba(134,142,150,.5)}.btn-gray.disabled,.btn-gray:disabled{color:#fff;background-color:#868e96;border-color:#868e96}.btn-gray:not(:disabled):not(.disabled).active,.btn-gray:not(:disabled):not(.disabled):active,.show>.btn-gray.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#666e76}.btn-gray:not(:disabled):not(.disabled).active:focus,.btn-gray:not(:disabled):not(.disabled):active:focus,.show>.btn-gray.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(134,142,150,.5)}.btn-gray-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-gray-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-gray-dark.focus,.btn-gray-dark:focus{box-shadow:0 0 0 2px rgba(52,58,64,.5)}.btn-gray-dark.disabled,.btn-gray-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-gray-dark:not(:disabled):not(.disabled).active,.btn-gray-dark:not(:disabled):not(.disabled):active,.show>.btn-gray-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-gray-dark:not(:disabled):not(.disabled).active:focus,.btn-gray-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-gray-dark.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(52,58,64,.5)}.btn-azure{color:#fff;background-color:#45aaf2;border-color:#45aaf2}.btn-azure:hover{color:#fff;background-color:#219af0;border-color:#1594ef}.btn-azure.focus,.btn-azure:focus{box-shadow:0 0 0 2px rgba(69,170,242,.5)}.btn-azure.disabled,.btn-azure:disabled{color:#fff;background-color:#45aaf2;border-color:#45aaf2}.btn-azure:not(:disabled):not(.disabled).active,.btn-azure:not(:disabled):not(.disabled):active,.show>.btn-azure.dropdown-toggle{color:#fff;background-color:#1594ef;border-color:#108ee7}.btn-azure:not(:disabled):not(.disabled).active:focus,.btn-azure:not(:disabled):not(.disabled):active:focus,.show>.btn-azure.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(69,170,242,.5)}.btn-lime{color:#fff;background-color:#7bd235;border-color:#7bd235}.btn-lime:hover{color:#fff;background-color:#69b829;border-color:#63ad27}.btn-lime.focus,.btn-lime:focus{box-shadow:0 0 0 2px rgba(123,210,53,.5)}.btn-lime.disabled,.btn-lime:disabled{color:#fff;background-color:#7bd235;border-color:#7bd235}.btn-lime:not(:disabled):not(.disabled).active,.btn-lime:not(:disabled):not(.disabled):active,.show>.btn-lime.dropdown-toggle{color:#fff;background-color:#63ad27;border-color:#5da324}.btn-lime:not(:disabled):not(.disabled).active:focus,.btn-lime:not(:disabled):not(.disabled):active:focus,.show>.btn-lime.dropdown-toggle:focus{box-shadow:0 0 0 2px rgba(123,210,53,.5)}.btn-option{background:transparent;color:#9aa0ac}.btn-option:hover{color:#6e7687}.btn-option:focus{box-shadow:none;color:#6e7687}.btn-group-sm>.btn,.btn-sm{font-size:.75rem;min-width:1.625rem}.btn-group-lg>.btn,.btn-lg{font-size:1rem;min-width:2.75rem;font-weight:400}.btn-list{margin-bottom:-.5rem;font-size:0}.btn-list>.btn,.btn-list>.dropdown{margin-bottom:.5rem}.btn-list>.btn:not(:last-child),.btn-list>.dropdown:not(:last-child){margin-right:.5rem}.btn-loading{color:transparent !important;pointer-events:none;position:relative}.btn-loading:after{content:"";-webkit-animation:loader .5s linear infinite;animation:loader .5s linear infinite;border:2px solid #fff;border-radius:50%;border-right-color:transparent !important;border-top-color:transparent !important;display:block;height:1.4em;width:1.4em;position:absolute;left:calc(50% - .7em);top:calc(50% - .7em);-webkit-transform-origin:center;transform-origin:center;position:absolute !important}.btn-group-sm>.btn-loading.btn:after,.btn-loading.btn-sm:after{height:1em;width:1em;left:calc(50% - .5em);top:calc(50% - .5em)}.btn-loading.btn-secondary:after{border-color:#495057}.alert{font-size:.9375rem}.alert-icon{padding-left:3rem}.alert-icon>i{color:inherit !important;font-size:1rem;position:absolute;top:1rem;left:1rem}.alert-avatar{padding-left:3.75rem}.alert-avatar .avatar{position:absolute;top:.5rem;left:.75rem}.close{font-size:1rem;line-height:1.5;transition:color .3s}.close:before{content:"\EA00";font-family:feather}.badge{color:#fff}.badge-default{background:#e9ecef;color:#868e96}.table thead th,.text-wrap table thead th{border-top:0;border-bottom-width:1px;padding-top:.5rem;padding-bottom:.5rem}.table th,.text-wrap table th{color:#9aa0ac;text-transform:uppercase;font-size:.875rem;font-weight:400}.table-md td,.table-md th{padding:.5rem}.table-vcenter td,.table-vcenter th{vertical-align:middle}.table-center td,.table-center th{text-align:center}.table-striped tbody tr:nth-of-type(odd){background:transparent}.table-striped tbody tr:nth-of-type(2n){background-color:rgba(0,0,0,.02)}.table-calendar{margin:0 0 .75rem}.table-calendar td,.table-calendar th{border:0;text-align:center;padding:0 !important;width:14.28571429%;line-height:2.5rem}.table-calendar td{border-top:0}.table-calendar-link{line-height:2rem;min-width:calc(2rem + 2px);display:inline-block;border-radius:3px;background:#f8f9fa;color:#495057;font-weight:600;transition:background .3s,color .3s;position:relative}.table-calendar-link:before{content:"";width:4px;height:4px;position:absolute;left:.25rem;top:.25rem;border-radius:50px;background:#467fcf}.table-calendar-link:hover{color:#fff;text-decoration:none;background:#467fcf;transition:background .3s}.table-calendar-link:hover:before{background:#fff}.table-header{cursor:pointer;transition:color .3s}.table-header:hover{color:#495057 !important}.table-header:after{content:"\F0DC";font-family:FontAwesome;display:inline-block;margin-left:.5rem;font-size:.75rem}.table-header-asc{color:#495057 !important}.table-header-asc:after{content:"\F0DE"}.table-header-desc{color:#495057 !important}.table-header-desc:after{content:"\F0DD"}.page-breadcrumb{background:0;padding:0;margin:1rem 0 0;font-size:.875rem}@media(min-width:768px){.page-breadcrumb{margin:-.5rem 0 0}}.page-breadcrumb .breadcrumb-item{color:#9aa0ac}.page-breadcrumb .breadcrumb-item.active{color:#6e7687}.pagination-simple .page-item .page-link{background:0;border:0}.pagination-simple .page-item.active .page-link{color:#495057;font-weight:700}.pagination-pager .page-prev{margin-right:auto}.pagination-pager .page-next{margin-left:auto}.page-total-text{margin-right:1rem;align-self:center;color:#6e7687}.card{box-shadow:0 1px 2px 0 rgba(0,0,0,.05);position:relative;margin-bottom:1.5rem;width:100%}.card .card{box-shadow:none}@media print{.card{box-shadow:none;border:0}}.card-body{flex:1 1 auto;margin:0;padding:1.5rem;position:relative}.card-body+.card-body{border-top:1px solid rgba(0,40,100,.12)}.card-body>:last-child{margin-bottom:0}@media print{.card-body{padding:0}}.card-body-scrollable{overflow:auto}.card-bottom,.card-footer{padding:1rem 1.5rem;background:0}.card-footer{border-top:1px solid rgba(0,40,100,.12);color:#6e7687}.card-header{background:0;padding:.5rem 1.5rem;display:flex;min-height:3.5rem;align-items:center}.card-header .card-title{margin-bottom:0}.card-header.border-0+.card-body{padding-top:0}@media print{.card-header{display:none}}.card-img-top{border-top-left-radius:3px;border-top-right-radius:3px}.card-img-overlay{background-color:rgba(0,0,0,.4);display:flex;flex-direction:column}.card-title{font-size:1.125rem;line-height:1.2;font-weight:400;margin-bottom:1.5rem}.card-title a{color:inherit}.card-title:only-child{margin-bottom:0}.card-subtitle,.card-title small{color:#9aa0ac;font-size:.875rem;display:block;margin:-.75rem 0 1rem;line-height:1.1;font-weight:400}.card-table{margin-bottom:0}.card-table tr:first-child td,.card-table tr:first-child th{border-top:0}.card-table tr td:first-child,.card-table tr th:first-child{padding-left:1.5rem}.card-table tr td:last-child,.card-table tr th:last-child{padding-right:1.5rem}.card-body+.card-table{border-top:1px solid rgba(0,40,100,.12)}.card-profile .card-header{height:9rem;background-size:cover}.card-profile-img{max-width:6rem;margin-top:-5rem;margin-bottom:1rem;border:3px solid #fff;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.1)}.card-link+.card-link{margin-left:1rem}.card-body+.card-list-group{border-top:1px solid rgba(0,40,100,.12)}.card-list-group .list-group-item{border-right:0;border-left:0;border-radius:0;padding-left:1.5rem;padding-right:1.5rem}.card-list-group .list-group-item:last-child{border-bottom:0}.card-list-group .list-group-item:first-child{border-top:0}.card-header-tabs{margin:-1.25rem 0;border-bottom:0;line-height:2rem}.card-header-tabs .nav-item{margin-bottom:1px}.card-header-pills{margin:-.75rem 0}.card-aside{flex-direction:row}.card-aside-column{min-width:5rem;width:30%;flex:0 0 30%;border-top-left-radius:3px;border-bottom-left-radius:3px;background:no-repeat 50%/cover}.card-value{font-size:2.5rem;line-height:3.4rem;height:3.4rem;display:flex;align-items:center;font-weight:400}.card-value i{vertical-align:middle}.card-chart-bg{height:4rem;margin-top:-1rem;position:relative;z-index:1;overflow:hidden}.card-options{margin-left:auto;display:flex;order:100;margin-right:-.5rem;color:#9aa0ac;align-self:center}.card-options a{margin-left:.5rem;color:#9aa0ac;display:inline-block;min-width:1rem}.card-options a:hover{text-decoration:none;color:#6e7687}.card-options a i{font-size:1rem;vertical-align:middle}.card-collapsed>:not(.card-header):not(.card-status),.card-options .dropdown-toggle:after{display:none}.card-collapsed .card-options-collapse i:before{content:"\E92D"}.card-fullscreen .card-options-fullscreen i:before{content:"\E992"}.card-fullscreen .card-options-remove{display:none}.card-map{height:15rem;background:#e9ecef}.card-map-placeholder{background:no-repeat 50%}.card-tabs{display:flex}.card-tabs-bottom .card-tabs-item{border:0;border-top:1px solid rgba(0,40,100,.12)}.card-tabs-bottom .card-tabs-item.active{border-top-color:#fff}.card-tabs-item{flex:1 1 auto;display:block;padding:1rem 1.5rem;border-bottom:1px solid rgba(0,40,100,.12);color:inherit;overflow:hidden}a.card-tabs-item{background:#fafbfc}a.card-tabs-item:hover{text-decoration:none;color:inherit}a.card-tabs-item:focus{z-index:1}a.card-tabs-item.active{background:#fff;border-bottom-color:#fff}.card-tabs-item+.card-tabs-item{border-left:1px solid rgba(0,40,100,.12)}.card-status{position:absolute;top:-1px;left:-1px;right:-1px;height:3px;border-radius:3px 3px 0 0;background:rgba(0,40,100,.12)}.card-status-left{right:auto;bottom:0;height:auto;width:3px;border-radius:3px 0 0 3px}.card-icon{width:3rem;font-size:2.5rem;line-height:3rem;text-align:center}.card-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1;margin:0}.card-alert{border-radius:0;margin:-1px -1px 0}.card-category{font-size:.875rem;text-transform:uppercase;text-align:center;font-weight:600;letter-spacing:.05em;margin:0 0 .5rem}.popover{-webkit-filter:drop-shadow(0 1px 3px rgba(0,0,0,.1));filter:drop-shadow(0 1px 3px rgba(0,0,0,.1))}.popover.bs-popover-auto[x-placement^=top],.popover.bs-popover-top{margin-bottom:.625rem}.popover .arrow{margin-left:calc(.25rem + 2px)}.dropdown{display:inline-block}.dropdown-menu{box-shadow:0 1px 2px 0 rgba(0,0,0,.05);min-width:12rem}.dropdown-item{color:#6e7687}.dropdown-menu-arrow:before{top:-6px;border-bottom:5px solid rgba(0,0,0,.2)}.dropdown-menu-arrow:after,.dropdown-menu-arrow:before{position:absolute;left:12px;display:inline-block;border-right:5px solid transparent;border-left:5px solid transparent;content:""}.dropdown-menu-arrow:after{top:-5px;border-bottom:5px solid #fff}.dropdown-menu-arrow.dropdown-menu-right:after,.dropdown-menu-arrow.dropdown-menu-right:before{left:auto;right:12px}.dropdown-toggle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dropdown-toggle:after{vertical-align:.155em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-icon{color:#9aa0ac;margin-right:.5rem;margin-left:-.5rem;width:1em;display:inline-block;text-align:center;vertical-align:-1px}.list-inline-dots .list-inline-item+.list-inline-item:before{content:"\B7 ";margin-left:-2px;margin-right:3px}.list-separated-item{padding:1rem 0}.list-separated-item:first-child{padding-top:0}.list-separated-item:last-child{padding-bottom:0}.list-separated-item+.list-separated-item{border-top:1px solid rgba(0,40,100,.12)}.list-group-item.active .icon{color:inherit !important}.list-group-transparent .list-group-item{background:0;border:0;padding:.5rem 1rem;border-radius:3px}.list-group-transparent .list-group-item.active{background:rgba(70,127,207,.06);font-weight:600}.avatar{width:2rem;height:2rem;line-height:2rem;border-radius:50%;display:inline-block;background:#ced4da no-repeat 50%/cover;position:relative;text-align:center;color:#868e96;font-weight:600;vertical-align:bottom;font-size:.875rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avatar i{font-size:125%;vertical-align:sub}.avatar-status{position:absolute;right:-2px;bottom:-2px;width:.75rem;height:.75rem;border:2px solid #fff;background:#868e96;border-radius:50%}.avatar-sm{width:1.5rem;height:1.5rem;line-height:1.5rem;font-size:.75rem}.avatar-md{width:2.5rem;height:2.5rem;line-height:2.5rem;font-size:1rem}.avatar-lg{width:3rem;height:3rem;line-height:3rem;font-size:1.25rem}.avatar-xl{width:4rem;height:4rem;line-height:4rem;font-size:1.75rem}.avatar-xxl{width:5rem;height:5rem;line-height:5rem;font-size:2rem}.avatar-placeholder{background:#ced4da url('data:image/svg+xml;charset=utf8,') no-repeat 50%/80%}.avatar-list{margin:0 0 -.5rem;padding:0;font-size:0}.avatar-list .avatar{margin-bottom:.5rem}.avatar-list .avatar:not(:last-child){margin-right:.5rem}.avatar-list-stacked .avatar{margin-right:-.8em !important;box-shadow:0 0 0 2px #fff}.avatar-blue{background-color:#c8d9f1;color:#467fcf}.avatar-indigo{background-color:#d1d5f0;color:#6574cd}.avatar-purple{background-color:#e4cff9;color:#a55eea}.avatar-pink{background-color:#fcd3e1;color:#f66d9b}.avatar-red{background-color:#f0bcbc;color:#cd201f}.avatar-orange{background-color:#fee0c7;color:#fd9644}.avatar-yellow{background-color:#fbedb7;color:#f1c40f}.avatar-green{background-color:#cfeab3;color:#5eba00}.avatar-teal{background-color:#bfefea;color:#2bcbba}.avatar-cyan{background-color:#b9e3ea;color:#17a2b8}.avatar-white{background-color:#fff;color:#fff}.avatar-gray{background-color:#dbdde0;color:#868e96}.avatar-gray-dark{background-color:#c2c4c6;color:#343a40}.avatar-azure{background-color:#c7e6fb;color:#45aaf2}.avatar-lime{background-color:#d7f2c2;color:#7bd235}.product-price{font-size:1rem}.product-price strong{font-size:1.5rem}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%,to{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%,to{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%,to{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%,to{left:107%;right:-8%}}.progress{position:relative}.progress-xs,.progress-xs .progress-bar{height:.25rem}.progress-sm,.progress-sm .progress-bar{height:.5rem}.progress-bar-indeterminate:after,.progress-bar-indeterminate:before{content:"";position:absolute;background-color:inherit;left:0;will-change:left,right;top:0;bottom:0}.progress-bar-indeterminate:before{-webkit-animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress-bar-indeterminate:after{-webkit-animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes loader{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.dimmer{position:relative}.dimmer .loader{display:none;margin:0 auto;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dimmer.active .loader{display:block}.dimmer.active .dimmer-content{opacity:.04;pointer-events:none}.loader{display:block;position:relative;height:2.5rem;width:2.5rem;color:#467fcf}.loader:after,.loader:before{width:2.5rem;height:2.5rem;margin:-1.25rem 0 0 -1.25rem;position:absolute;content:"";top:50%;left:50%}.loader:before{border-radius:50%;border:3px solid;opacity:.15}.loader:after{-webkit-animation:loader .6s linear;animation:loader .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:50%;border:3px solid transparent;border-top-color:currentcolor;box-shadow:0 0 0 1px transparent}.icons-list{list-style:none;margin:0 -1px -1px 0;padding:0;display:flex;flex-wrap:wrap}.icons-list>li{flex:1 0 4rem}.icons-list-wrap{overflow:hidden}.icons-list-item{text-align:center;height:4rem;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(0,40,100,.12);border-bottom:1px solid rgba(0,40,100,.12)}.icons-list-item i{font-size:1.25rem}.img-gallery{margin-right:-.25rem;margin-left:-.25rem;margin-bottom:-.5rem}.img-gallery>.col,.img-gallery>[class*=col-]{padding-left:.25rem;padding-right:.25rem;padding-bottom:.5rem}.link-overlay{position:relative}.link-overlay:hover .link-overlay-bg{opacity:1}.link-overlay-bg{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(70,127,207,.8);display:flex;color:#fff;align-items:center;justify-content:center;font-size:1.25rem;opacity:0;transition:opacity .3s}.media-icon{width:2rem;height:2rem;line-height:2rem;text-align:center;border-radius:100%}.media-list{margin:0;padding:0;list-style:none}textarea[cols]{height:auto}.form-group,.form-label{display:block}.form-label{margin-bottom:.375rem;font-weight:600;font-size:.875rem}.form-label-small{float:right;font-weight:400;font-size:87.5%}.form-footer{margin-top:2rem}.custom-control{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-control-label{vertical-align:middle}.custom-control-label:before{border:1px solid rgba(0,40,100,.12);background-color:#fff;background-size:.5rem}.custom-control-description{line-height:1.5rem}.input-group-append,.input-group-btn,.input-group-prepend{font-size:.9375rem}.input-group-append>.btn,.input-group-btn>.btn,.input-group-prepend>.btn{height:100%;border-color:rgba(0,40,100,.12)}.input-group-prepend>.input-group-text{border-right:0}.input-group-append>.input-group-text{border-left:0}.input-icon{position:relative}.input-icon .form-control:not(:last-child){padding-right:2.5rem}.input-icon .form-control:not(:first-child){padding-left:2.5rem}.input-icon-addon{position:absolute;top:0;bottom:0;left:0;color:#9aa0ac;display:flex;align-items:center;justify-content:center;min-width:2.5rem;pointer-events:none}.input-icon-addon:last-child{left:auto;right:0}.form-fieldset{background:#f8f9fa;border:1px solid #e9ecef;padding:1rem;border-radius:3px;margin-bottom:1rem}.form-required{color:#cd201f}.form-required:before{content:" "}.state-valid{padding-right:2rem;background:url("data:image/svg+xml;charset=utf8,") no-repeat center right .5rem/1rem}.state-invalid{padding-right:2rem;background:url("data:image/svg+xml;charset=utf8,") no-repeat center right .5rem/1rem}.form-help{display:inline-block;width:1rem;height:1rem;text-align:center;line-height:1rem;color:#9aa0ac;background:#f8f9fa;border-radius:50%;font-size:.75rem;transition:background-color .3s,color .3s;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-help:hover,.form-help[aria-describedby]{background:#467fcf;color:#fff}.sparkline{display:inline-block;height:2rem}.jqstooltip{box-sizing:initial;font-family:inherit !important;background:#333 !important;border:none !important;border-radius:3px;font-size:11px !important;font-weight:700 !important;line-height:1 !important;padding:6px !important}.jqstooltip .jqsfield{font:inherit !important}.social-links li a{background:#f8f8f8;border-radius:50%;color:#9aa0ac;display:inline-block;height:1.75rem;width:1.75rem;line-height:1.75rem;text-align:center}.chart,.map{position:relative;padding-top:56.25%}.chart-square,.map-square{padding-top:100%}.chart-content,.map-content{position:absolute;top:0;left:0;right:0;bottom:0}.map-header{margin-top:-1.5rem;height:15rem;position:relative;margin-bottom:-1.5rem}.map-header:before{content:"";position:absolute;bottom:0;left:0;right:0;height:10rem;background:linear-gradient(180deg,rgba(245,247,251,0) 5%,#f5f7fb 95%);pointer-events:none}.map-header-layer{height:100%}.map-static{height:120px;width:100%;max-width:640px;background-position:50%;background-size:640px 120px}@-webkit-keyframes status-pulse{0%,to{opacity:1}50%{opacity:.32}}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.32}}.status-icon{content:"";width:.5rem;height:.5rem;display:inline-block;background:currentColor;border-radius:50%;-webkit-transform:translateY(-1px);transform:translateY(-1px);margin-right:.375rem;vertical-align:middle}.status-animated{-webkit-animation:status-pulse 1s ease infinite;animation:status-pulse 1s ease infinite}.chart-circle{display:block;height:8rem;width:8rem;position:relative}.chart-circle canvas{margin:0 auto;display:block;max-width:100%;max-height:100%}.chart-circle-xs{height:2.5rem;width:2.5rem;font-size:.8rem}.chart-circle-sm{height:4rem;width:4rem;font-size:.8rem}.chart-circle-lg{height:10rem;width:10rem;font-size:.8rem}.chart-circle-value{position:absolute;top:0;left:0;right:0;margin-left:auto;margin-right:auto;bottom:0;display:flex;justify-content:center;align-items:center;flex-direction:column;line-height:1}.chart-circle-value small{display:block;color:#9aa0ac;font-size:.9375rem}.chips{margin:0 0 -.5rem}.chips .chip{margin:0 .5rem .5rem 0}.chip{display:inline-block;height:2rem;line-height:2rem;font-size:.875rem;font-weight:500;color:#6e7687;padding:0 .75rem;border-radius:1rem;background-color:#f8f9fa;transition:background .3s}.chip .avatar{float:left;margin:0 .5rem 0 -.75rem;height:2rem;width:2rem;border-radius:50%}a.chip:hover{color:inherit;text-decoration:none;background-color:#e9ecef}.stamp{color:#fff;background:#868e96;display:inline-block;min-width:2rem;height:2rem;padding:0 .25rem;line-height:2rem;text-align:center;border-radius:3px;font-weight:600}.stamp-md{min-width:2.5rem;height:2.5rem;line-height:2.5rem}.chat{outline:0;margin:0;list-style-type:none;flex-direction:column;justify-content:flex-end;min-height:100%}.chat,.chat-line{padding:0;display:flex}.chat-line{text-align:right;position:relative;flex-direction:row-reverse}.chat-line+.chat-line{padding-top:1rem}.chat-message{position:relative;display:inline-block;background-color:#467fcf;color:#fff;font-size:.875rem;padding:.375rem .5rem;border-radius:3px;white-space:normal;text-align:left;margin:0 .5rem 0 2.5rem;line-height:1.4}.chat-message>:last-child{margin-bottom:0 !important}.chat-message:after{content:"";position:absolute;right:-5px;top:7px;border-bottom:6px solid transparent;border-left:6px solid #467fcf;border-top:6px solid transparent}.chat-message img{max-width:100%}.chat-message p{margin-bottom:1em}.chat-line-friend{flex-direction:row}.chat-line-friend+.chat-line-friend{margin-top:-.5rem}.chat-line-friend+.chat-line-friend .chat-author{visibility:hidden}.chat-line-friend+.chat-line-friend .chat-message:after{display:none}.chat-line-friend .chat-message{background-color:#f3f3f3;color:#495057;margin-left:.5rem;margin-right:2.5rem}.chat-line-friend .chat-message:after{right:auto;left:-5px;border-left-width:0;border-right:5px solid #f3f3f3}.example{padding:1.5rem;border:1px solid rgba(0,40,100,.12);border-radius:3px 3px 0 0;font-size:.9375rem}.example-bg{background:#f5f7fb}.example+.highlight{border-top:0;margin-top:0;border-radius:0 0 3px 3px}.highlight{margin:1rem 0 2rem;border:1px solid rgba(0,40,100,.12);border-radius:3px;font-size:.9375rem;max-height:40rem;overflow:auto;background:#fcfcfc}.highlight pre{margin-bottom:0;background-color:initial}.example-column{margin:0 auto}.example-column>.card:last-of-type{margin-bottom:0}.example-column-1{max-width:20rem}.example-column-2{max-width:40rem}.tag{font-size:.75rem;color:#6e7687;background-color:#e9ecef;border-radius:3px;padding:0 .5rem;line-height:2em;display:inline-flex;cursor:default;font-weight:400;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}a.tag{text-decoration:none;cursor:pointer;transition:color .3s,background .3s}a.tag:hover{background-color:rgba(110,118,135,.2);color:inherit}.tag-addon{display:inline-block;padding:0 .5rem;color:inherit;text-decoration:none;background:rgba(0,0,0,.06);margin:0 -.5rem 0 .5rem;text-align:center;min-width:1.5rem}.tag-addon:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.tag-addon i{vertical-align:middle;margin:0 -.25rem}a.tag-addon{text-decoration:none;cursor:pointer;transition:color .3s,background .3s}a.tag-addon:hover{background:rgba(0,0,0,.16);color:inherit}.tag-avatar{width:1.5rem;height:1.5rem;border-radius:3px 0 0 3px;margin:0 .5rem 0 -.5rem}.tag-blue{background-color:#467fcf;color:#fff}.tag-indigo{background-color:#6574cd;color:#fff}.tag-purple{background-color:#a55eea;color:#fff}.tag-pink{background-color:#f66d9b;color:#fff}.tag-red{background-color:#cd201f;color:#fff}.tag-orange{background-color:#fd9644;color:#fff}.tag-yellow{background-color:#f1c40f;color:#fff}.tag-green{background-color:#5eba00;color:#fff}.tag-teal{background-color:#2bcbba;color:#fff}.tag-cyan{background-color:#17a2b8;color:#fff}.tag-white{background-color:#fff;color:#fff}.tag-gray{background-color:#868e96;color:#fff}.tag-gray-dark{background-color:#343a40;color:#fff}.tag-azure{background-color:#45aaf2;color:#fff}.tag-lime{background-color:#7bd235;color:#fff}.tag-primary{background-color:#467fcf;color:#fff}.tag-secondary{background-color:#868e96;color:#fff}.tag-success{background-color:#5eba00;color:#fff}.tag-info{background-color:#45aaf2;color:#fff}.tag-warning{background-color:#f1c40f;color:#fff}.tag-danger{background-color:#cd201f;color:#fff}.tag-light{background-color:#f8f9fa;color:#fff}.tag-dark{background-color:#343a40;color:#fff}.tag-rounded,.tag-rounded .tag-avatar{border-radius:50px}.tags{margin-bottom:-.5rem;font-size:0}.tags>.tag{margin-bottom:.5rem}.tags>.tag:not(:last-child){margin-right:.5rem}.highlight .hll{background-color:#ffc}.highlight .c{color:#999}.highlight .k{color:#069}.highlight .o{color:#555}.highlight .cm{color:#999}.highlight .cp{color:#099}.highlight .c1,.highlight .cs{color:#999}.highlight .gd{background-color:#fcc;border:1px solid #c00}.highlight .ge{font-style:italic}.highlight .gr{color:red}.highlight .gh{color:#030}.highlight .gi{background-color:#cfc;border:1px solid #0c0}.highlight .go{color:#aaa}.highlight .gp{color:#009}.highlight .gu{color:#030}.highlight .gt{color:#9c6}.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:#069}.highlight .kt{color:#078}.highlight .m{color:#f60}.highlight .s{color:#d44950}.highlight .na{color:#4f9fcf}.highlight .nb{color:#366}.highlight .nc{color:#0a8}.highlight .no{color:#360}.highlight .nd{color:#99f}.highlight .ni{color:#999}.highlight .ne{color:#c00}.highlight .nf{color:#c0f}.highlight .nl{color:#99f}.highlight .nn{color:#0cf}.highlight .nt{color:#2f6f9f}.highlight .nv{color:#033}.highlight .ow{color:#000}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#f60}.highlight .sb,.highlight .sc{color:#c30}.highlight .sd{font-style:italic;color:#c30}.highlight .s2,.highlight .se,.highlight .sh{color:#c30}.highlight .si{color:#a00}.highlight .sx{color:#c30}.highlight .sr{color:#3aa}.highlight .s1{color:#c30}.highlight .ss{color:#fc3}.highlight .bp{color:#366}.highlight .vc,.highlight .vg,.highlight .vi{color:#033}.highlight .il{color:#f60}.highlight .css .nt+.nt,.highlight .css .o,.highlight .css .o+.nt{color:#999}.highlight .language-bash:before,.highlight .language-sh:before{color:#009;content:"$ ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.highlight .language-powershell:before{color:#009;content:"PM> ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-range{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0;cursor:pointer;display:flex;height:100%;min-height:2.375rem;overflow:hidden;padding:0;border:0}.custom-range:focus{box-shadow:none;outline:0}.custom-range:focus::-webkit-slider-thumb{border-color:#467fcf;background-color:#467fcf}.custom-range:focus::-moz-range-thumb{border-color:#467fcf;background-color:#467fcf}.custom-range:focus::-ms-thumb{border-color:#467fcf;background-color:#467fcf}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-runnable-track{background:#467fcf;content:"";height:2px;pointer-events:none}.custom-range::-webkit-slider-thumb{width:14px;height:14px;-webkit-appearance:none;appearance:none;background:#fff;border-radius:50px;box-shadow:1px 0 0 -6px rgba(0,50,126,.12),6px 0 0 -6px rgba(0,50,126,.12),7px 0 0 -6px rgba(0,50,126,.12),8px 0 0 -6px rgba(0,50,126,.12),9px 0 0 -6px rgba(0,50,126,.12),10px 0 0 -6px rgba(0,50,126,.12),11px 0 0 -6px rgba(0,50,126,.12),12px 0 0 -6px rgba(0,50,126,.12),13px 0 0 -6px rgba(0,50,126,.12),14px 0 0 -6px rgba(0,50,126,.12),15px 0 0 -6px rgba(0,50,126,.12),16px 0 0 -6px rgba(0,50,126,.12),17px 0 0 -6px rgba(0,50,126,.12),18px 0 0 -6px rgba(0,50,126,.12),19px 0 0 -6px rgba(0,50,126,.12),20px 0 0 -6px rgba(0,50,126,.12),21px 0 0 -6px rgba(0,50,126,.12),22px 0 0 -6px rgba(0,50,126,.12),23px 0 0 -6px rgba(0,50,126,.12),24px 0 0 -6px rgba(0,50,126,.12),25px 0 0 -6px rgba(0,50,126,.12),26px 0 0 -6px rgba(0,50,126,.12),27px 0 0 -6px rgba(0,50,126,.12),28px 0 0 -6px rgba(0,50,126,.12),29px 0 0 -6px rgba(0,50,126,.12),30px 0 0 -6px rgba(0,50,126,.12),31px 0 0 -6px rgba(0,50,126,.12),32px 0 0 -6px rgba(0,50,126,.12),33px 0 0 -6px rgba(0,50,126,.12),34px 0 0 -6px rgba(0,50,126,.12),35px 0 0 -6px rgba(0,50,126,.12),36px 0 0 -6px rgba(0,50,126,.12),37px 0 0 -6px rgba(0,50,126,.12),38px 0 0 -6px rgba(0,50,126,.12),39px 0 0 -6px rgba(0,50,126,.12),40px 0 0 -6px rgba(0,50,126,.12),41px 0 0 -6px rgba(0,50,126,.12),42px 0 0 -6px rgba(0,50,126,.12),43px 0 0 -6px rgba(0,50,126,.12),44px 0 0 -6px rgba(0,50,126,.12),45px 0 0 -6px rgba(0,50,126,.12),46px 0 0 -6px rgba(0,50,126,.12),47px 0 0 -6px rgba(0,50,126,.12),48px 0 0 -6px rgba(0,50,126,.12),49px 0 0 -6px rgba(0,50,126,.12),50px 0 0 -6px rgba(0,50,126,.12),51px 0 0 -6px rgba(0,50,126,.12),52px 0 0 -6px rgba(0,50,126,.12),53px 0 0 -6px rgba(0,50,126,.12),54px 0 0 -6px rgba(0,50,126,.12),55px 0 0 -6px rgba(0,50,126,.12),56px 0 0 -6px rgba(0,50,126,.12),57px 0 0 -6px rgba(0,50,126,.12),58px 0 0 -6px rgba(0,50,126,.12),59px 0 0 -6px rgba(0,50,126,.12),60px 0 0 -6px rgba(0,50,126,.12),61px 0 0 -6px rgba(0,50,126,.12),62px 0 0 -6px rgba(0,50,126,.12),63px 0 0 -6px rgba(0,50,126,.12),64px 0 0 -6px rgba(0,50,126,.12),65px 0 0 -6px rgba(0,50,126,.12),66px 0 0 -6px rgba(0,50,126,.12),67px 0 0 -6px rgba(0,50,126,.12),68px 0 0 -6px rgba(0,50,126,.12),69px 0 0 -6px rgba(0,50,126,.12),70px 0 0 -6px rgba(0,50,126,.12),71px 0 0 -6px rgba(0,50,126,.12),72px 0 0 -6px rgba(0,50,126,.12),73px 0 0 -6px rgba(0,50,126,.12),74px 0 0 -6px rgba(0,50,126,.12),75px 0 0 -6px rgba(0,50,126,.12),76px 0 0 -6px rgba(0,50,126,.12),77px 0 0 -6px rgba(0,50,126,.12),78px 0 0 -6px rgba(0,50,126,.12),79px 0 0 -6px rgba(0,50,126,.12),80px 0 0 -6px rgba(0,50,126,.12),81px 0 0 -6px rgba(0,50,126,.12),82px 0 0 -6px rgba(0,50,126,.12),83px 0 0 -6px rgba(0,50,126,.12),84px 0 0 -6px rgba(0,50,126,.12),85px 0 0 -6px rgba(0,50,126,.12),86px 0 0 -6px rgba(0,50,126,.12),87px 0 0 -6px rgba(0,50,126,.12),88px 0 0 -6px rgba(0,50,126,.12),89px 0 0 -6px rgba(0,50,126,.12),90px 0 0 -6px rgba(0,50,126,.12),91px 0 0 -6px rgba(0,50,126,.12),92px 0 0 -6px rgba(0,50,126,.12),93px 0 0 -6px rgba(0,50,126,.12),94px 0 0 -6px rgba(0,50,126,.12),95px 0 0 -6px rgba(0,50,126,.12),96px 0 0 -6px rgba(0,50,126,.12),97px 0 0 -6px rgba(0,50,126,.12),98px 0 0 -6px rgba(0,50,126,.12),99px 0 0 -6px rgba(0,50,126,.12),100px 0 0 -6px rgba(0,50,126,.12),101px 0 0 -6px rgba(0,50,126,.12),102px 0 0 -6px rgba(0,50,126,.12),103px 0 0 -6px rgba(0,50,126,.12),104px 0 0 -6px rgba(0,50,126,.12),105px 0 0 -6px rgba(0,50,126,.12),106px 0 0 -6px rgba(0,50,126,.12),107px 0 0 -6px rgba(0,50,126,.12),108px 0 0 -6px rgba(0,50,126,.12),109px 0 0 -6px rgba(0,50,126,.12),110px 0 0 -6px rgba(0,50,126,.12),111px 0 0 -6px rgba(0,50,126,.12),112px 0 0 -6px rgba(0,50,126,.12),113px 0 0 -6px rgba(0,50,126,.12),114px 0 0 -6px rgba(0,50,126,.12),115px 0 0 -6px rgba(0,50,126,.12),116px 0 0 -6px rgba(0,50,126,.12),117px 0 0 -6px rgba(0,50,126,.12),118px 0 0 -6px rgba(0,50,126,.12),119px 0 0 -6px rgba(0,50,126,.12),120px 0 0 -6px rgba(0,50,126,.12),121px 0 0 -6px rgba(0,50,126,.12),122px 0 0 -6px rgba(0,50,126,.12),123px 0 0 -6px rgba(0,50,126,.12),124px 0 0 -6px rgba(0,50,126,.12),125px 0 0 -6px rgba(0,50,126,.12),126px 0 0 -6px rgba(0,50,126,.12),127px 0 0 -6px rgba(0,50,126,.12),128px 0 0 -6px rgba(0,50,126,.12),129px 0 0 -6px rgba(0,50,126,.12),130px 0 0 -6px rgba(0,50,126,.12),131px 0 0 -6px rgba(0,50,126,.12),132px 0 0 -6px rgba(0,50,126,.12),133px 0 0 -6px rgba(0,50,126,.12),134px 0 0 -6px rgba(0,50,126,.12),135px 0 0 -6px rgba(0,50,126,.12),136px 0 0 -6px rgba(0,50,126,.12),137px 0 0 -6px rgba(0,50,126,.12),138px 0 0 -6px rgba(0,50,126,.12),139px 0 0 -6px rgba(0,50,126,.12),140px 0 0 -6px rgba(0,50,126,.12),141px 0 0 -6px rgba(0,50,126,.12),142px 0 0 -6px rgba(0,50,126,.12),143px 0 0 -6px rgba(0,50,126,.12),144px 0 0 -6px rgba(0,50,126,.12),145px 0 0 -6px rgba(0,50,126,.12),146px 0 0 -6px rgba(0,50,126,.12),147px 0 0 -6px rgba(0,50,126,.12),148px 0 0 -6px rgba(0,50,126,.12),149px 0 0 -6px rgba(0,50,126,.12),150px 0 0 -6px rgba(0,50,126,.12),151px 0 0 -6px rgba(0,50,126,.12),152px 0 0 -6px rgba(0,50,126,.12),153px 0 0 -6px rgba(0,50,126,.12),154px 0 0 -6px rgba(0,50,126,.12),155px 0 0 -6px rgba(0,50,126,.12),156px 0 0 -6px rgba(0,50,126,.12),157px 0 0 -6px rgba(0,50,126,.12),158px 0 0 -6px rgba(0,50,126,.12),159px 0 0 -6px rgba(0,50,126,.12),160px 0 0 -6px rgba(0,50,126,.12),161px 0 0 -6px rgba(0,50,126,.12),162px 0 0 -6px rgba(0,50,126,.12),163px 0 0 -6px rgba(0,50,126,.12),164px 0 0 -6px rgba(0,50,126,.12),165px 0 0 -6px rgba(0,50,126,.12),166px 0 0 -6px rgba(0,50,126,.12),167px 0 0 -6px rgba(0,50,126,.12),168px 0 0 -6px rgba(0,50,126,.12),169px 0 0 -6px rgba(0,50,126,.12),170px 0 0 -6px rgba(0,50,126,.12),171px 0 0 -6px rgba(0,50,126,.12),172px 0 0 -6px rgba(0,50,126,.12),173px 0 0 -6px rgba(0,50,126,.12),174px 0 0 -6px rgba(0,50,126,.12),175px 0 0 -6px rgba(0,50,126,.12),176px 0 0 -6px rgba(0,50,126,.12),177px 0 0 -6px rgba(0,50,126,.12),178px 0 0 -6px rgba(0,50,126,.12),179px 0 0 -6px rgba(0,50,126,.12),180px 0 0 -6px rgba(0,50,126,.12),181px 0 0 -6px rgba(0,50,126,.12),182px 0 0 -6px rgba(0,50,126,.12),183px 0 0 -6px rgba(0,50,126,.12),184px 0 0 -6px rgba(0,50,126,.12),185px 0 0 -6px rgba(0,50,126,.12),186px 0 0 -6px rgba(0,50,126,.12),187px 0 0 -6px rgba(0,50,126,.12),188px 0 0 -6px rgba(0,50,126,.12),189px 0 0 -6px rgba(0,50,126,.12),190px 0 0 -6px rgba(0,50,126,.12),191px 0 0 -6px rgba(0,50,126,.12),192px 0 0 -6px rgba(0,50,126,.12),193px 0 0 -6px rgba(0,50,126,.12),194px 0 0 -6px rgba(0,50,126,.12),195px 0 0 -6px rgba(0,50,126,.12),196px 0 0 -6px rgba(0,50,126,.12),197px 0 0 -6px rgba(0,50,126,.12),198px 0 0 -6px rgba(0,50,126,.12),199px 0 0 -6px rgba(0,50,126,.12),200px 0 0 -6px rgba(0,50,126,.12),201px 0 0 -6px rgba(0,50,126,.12),202px 0 0 -6px rgba(0,50,126,.12),203px 0 0 -6px rgba(0,50,126,.12),204px 0 0 -6px rgba(0,50,126,.12),205px 0 0 -6px rgba(0,50,126,.12),206px 0 0 -6px rgba(0,50,126,.12),207px 0 0 -6px rgba(0,50,126,.12),208px 0 0 -6px rgba(0,50,126,.12),209px 0 0 -6px rgba(0,50,126,.12),210px 0 0 -6px rgba(0,50,126,.12),211px 0 0 -6px rgba(0,50,126,.12),212px 0 0 -6px rgba(0,50,126,.12),213px 0 0 -6px rgba(0,50,126,.12),214px 0 0 -6px rgba(0,50,126,.12),215px 0 0 -6px rgba(0,50,126,.12),216px 0 0 -6px rgba(0,50,126,.12),217px 0 0 -6px rgba(0,50,126,.12),218px 0 0 -6px rgba(0,50,126,.12),219px 0 0 -6px rgba(0,50,126,.12),220px 0 0 -6px rgba(0,50,126,.12),221px 0 0 -6px rgba(0,50,126,.12),222px 0 0 -6px rgba(0,50,126,.12),223px 0 0 -6px rgba(0,50,126,.12),224px 0 0 -6px rgba(0,50,126,.12),225px 0 0 -6px rgba(0,50,126,.12),226px 0 0 -6px rgba(0,50,126,.12),227px 0 0 -6px rgba(0,50,126,.12),228px 0 0 -6px rgba(0,50,126,.12),229px 0 0 -6px rgba(0,50,126,.12),230px 0 0 -6px rgba(0,50,126,.12),231px 0 0 -6px rgba(0,50,126,.12),232px 0 0 -6px rgba(0,50,126,.12),233px 0 0 -6px rgba(0,50,126,.12),234px 0 0 -6px rgba(0,50,126,.12),235px 0 0 -6px rgba(0,50,126,.12),236px 0 0 -6px rgba(0,50,126,.12),237px 0 0 -6px rgba(0,50,126,.12),238px 0 0 -6px rgba(0,50,126,.12),239px 0 0 -6px rgba(0,50,126,.12),240px 0 0 -6px rgba(0,50,126,.12);margin-top:-6px;border:1px solid rgba(0,30,75,.12);transition:border-color .3s,background-color .3s}.custom-range::-moz-range-track{width:240px;height:2px;background:rgba(0,50,126,.12)}.custom-range::-moz-range-thumb{width:14px;height:14px;background:#fff;border-radius:50px;border:1px solid rgba(0,30,75,.12);position:relative;transition:border-color .3s,background-color .3s}.custom-range::-moz-range-progress{height:2px;background:#467fcf;border:0;margin-top:0}.custom-range::-ms-track{background:transparent;border:0;border-color:transparent;border-radius:0;border-width:0;color:transparent;height:2px;margin-top:10px;width:240px}.custom-range::-ms-thumb{width:240px;height:2px;background:#fff;border-radius:50px;border:1px solid rgba(0,30,75,.12);transition:border-color .3s,background-color .3s}.custom-range::-ms-fill-lower{background:#467fcf;border-radius:0}.custom-range::-ms-fill-upper{background:rgba(0,50,126,.12);border-radius:0}.custom-range::-ms-tooltip{display:none}.selectgroup{display:inline-flex}.selectgroup-item{flex-grow:1;position:relative}.selectgroup-item+.selectgroup-item{margin-left:-1px}.selectgroup-item:not(:first-child) .selectgroup-button{border-top-left-radius:0;border-bottom-left-radius:0}.selectgroup-item:not(:last-child) .selectgroup-button{border-top-right-radius:0;border-bottom-right-radius:0}.selectgroup-input{opacity:0;position:absolute;z-index:-1;top:0;left:0}.selectgroup-button{display:block;border:1px solid rgba(0,40,100,.12);text-align:center;padding:.375rem 1rem;position:relative;cursor:pointer;border-radius:3px;color:#9aa0ac;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:.9375rem;line-height:1.5;min-width:2.375rem}.selectgroup-button-icon{padding-left:.5rem;padding-right:.5rem;font-size:1.125rem;line-height:1.125rem}.selectgroup-input:checked+.selectgroup-button{border-color:#467fcf;z-index:1;color:#467fcf;background:#edf2fa}.selectgroup-input:focus+.selectgroup-button{border-color:#467fcf;z-index:2;color:#467fcf;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.selectgroup-pills{flex-wrap:wrap;align-items:flex-start}.selectgroup-pills .selectgroup-item{margin-right:.5rem;flex-grow:0}.selectgroup-pills .selectgroup-button{border-radius:50px !important}.custom-switch{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;display:inline-flex;align-items:center;margin:0}.custom-switch-input{position:absolute;z-index:-1;opacity:0}.custom-switches-stacked{display:flex;flex-direction:column}.custom-switches-stacked .custom-switch{margin-bottom:.5rem}.custom-switch-indicator{display:inline-block;height:1.25rem;width:2.25rem;background:#e9ecef;border-radius:50px;position:relative;vertical-align:bottom;border:1px solid rgba(0,40,100,.12);transition:border-color .3s,background-color .3s}.custom-switch-indicator:before{content:"";position:absolute;height:calc(1.25rem - 4px);width:calc(1.25rem - 4px);top:1px;left:1px;background:#fff;border-radius:50%;transition:left .3s;box-shadow:0 1px 2px 0 rgba(0,0,0,.4)}.custom-switch-input:checked~.custom-switch-indicator{background:#467fcf}.custom-switch-input:checked~.custom-switch-indicator:before{left:calc(1rem + 1px)}.custom-switch-input:focus~.custom-switch-indicator{box-shadow:0 0 0 2px rgba(70,127,207,.25);border-color:#467fcf}.custom-switch-description{margin-left:.5rem;color:#6e7687;transition:color .3s}.custom-switch-input:checked~.custom-switch-description{color:#495057}.imagecheck{margin:0;position:relative;cursor:pointer}.imagecheck-input{position:absolute;z-index:-1;opacity:0}.imagecheck-figure{border:1px solid rgba(0,40,100,.12);border-radius:3px;margin:0;position:relative}.imagecheck-input:focus~.imagecheck-figure{border-color:#467fcf;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.imagecheck-input:checked~.imagecheck-figure{border-color:rgba(0,40,100,.24)}.imagecheck-figure:before{content:"";position:absolute;top:.25rem;left:.25rem;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#467fcf url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E") no-repeat 50%/50% 50%;color:#fff;z-index:1;border-radius:3px;opacity:0;transition:opacity .3s}.imagecheck-input:checked~.imagecheck-figure:before{opacity:1}.imagecheck-image{max-width:100%;opacity:.64;transition:opacity .3s}.imagecheck-image:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.imagecheck-image:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.imagecheck-input:checked~.imagecheck-figure .imagecheck-image,.imagecheck-input:focus~.imagecheck-figure .imagecheck-image,.imagecheck:hover .imagecheck-image{opacity:1}.imagecheck-caption{text-align:center;padding:.25rem;color:#9aa0ac;font-size:.875rem;transition:color .3s}.imagecheck-input:checked~.imagecheck-figure .imagecheck-caption,.imagecheck-input:focus~.imagecheck-figure .imagecheck-caption,.imagecheck:hover .imagecheck-caption{color:#495057}.colorinput{margin:0;position:relative;cursor:pointer}.colorinput-input{position:absolute;z-index:-1;opacity:0}.colorinput-color{display:inline-block;width:1.75rem;height:1.75rem;border-radius:3px;border:1px solid rgba(0,40,100,.12);color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.colorinput-color:before{content:"";opacity:0;position:absolute;top:.25rem;left:.25rem;height:1.25rem;width:1.25rem;transition:opacity .3s;background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E") no-repeat 50%/50% 50%}.colorinput-input:checked~.colorinput-color:before{opacity:1}.colorinput-input:focus~.colorinput-color{border-color:#467fcf;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.timeline{position:relative;margin:0 0 2rem;padding:0;list-style:none}.timeline:before{background-color:#e9ecef;position:absolute;display:block;content:"";width:1px;height:100%;top:0;bottom:0;left:4px}.timeline-item{position:relative;display:flex;padding-left:2rem;margin:.5rem 0}.timeline-item:first-child:before,.timeline-item:last-child:before{content:"";position:absolute;background:#fff;width:1px;left:.25rem}.timeline-item:first-child{margin-top:0}.timeline-item:first-child:before{top:0;height:.5rem}.timeline-item:last-child{margin-bottom:0}.timeline-item:last-child:before{top:.5rem;bottom:0}.timeline-badge{position:absolute;display:block;width:.4375rem;height:.4375rem;left:1px;top:.5rem;border-radius:100%;border:1px solid #fff;background:#adb5bd}.timeline-time{white-space:nowrap;margin-left:auto;color:#9aa0ac;font-size:87.5%}.browser{width:1.25rem;height:1.25rem;display:inline-block;background:no-repeat 50%/100% 100%;vertical-align:bottom;font-style:normal}.browser-android-browser{background-image:url(/static/media/android-browser.e1d3686c.svg)}.browser-aol-explorer{background-image:url(/static/media/aol-explorer.f2a4363b.svg)}.browser-blackberry{background-image:url(/static/media/blackberry.ead509ae.svg)}.browser-camino{background-image:url(/static/media/camino.23c5c7fa.svg)}.browser-chrome{background-image:url(/static/media/chrome.2bbe801c.svg)}.browser-chromium{background-image:url(/static/media/chromium.870087fd.svg)}.browser-dolphin{background-image:url(/static/media/dolphin.f66d5a06.svg)}.browser-edge{background-image:url(/static/media/edge.abda4ac1.svg)}.browser-firefox{background-image:url(/static/media/firefox.e037fac5.svg)}.browser-ie{background-image:url(/static/media/ie.57c3e539.svg)}.browser-maxthon{background-image:url(/static/media/maxthon.df51f6f4.svg)}.browser-mozilla{background-image:url(/static/media/mozilla.91974b40.svg)}.browser-netscape{background-image:url(/static/media/netscape.f64e6793.svg)}.browser-opera{background-image:url(/static/media/opera.438992de.svg)}.browser-safari{background-image:url(/static/media/safari.ee79ab6a.svg)}.browser-sleipnir{background-image:url(/static/media/sleipnir.1751c6d6.svg)}.browser-uc-browser{background-image:url(/static/media/uc-browser.f600350d.svg)}.browser-vivaldi{background-image:url(/static/media/vivaldi.6b04dfda.svg)}.flag{width:1.6rem;height:1.2rem;display:inline-block;background:no-repeat 50%/100% 100%;vertical-align:bottom;font-style:normal;box-shadow:0 0 1px 1px rgba(0,0,0,.1);border-radius:2px}.flag-ad{background-image:url(/static/media/ad.30f99f82.svg)}.flag-ae{background-image:url(/static/media/ae.1f331bd9.svg)}.flag-af{background-image:url(/static/media/af.a8df755f.svg)}.flag-ag{background-image:url(/static/media/ag.7cb635f0.svg)}.flag-ai{background-image:url(/static/media/ai.928b5a4f.svg)}.flag-al{background-image:url(/static/media/al.1c4942df.svg)}.flag-am{background-image:url(/static/media/am.af917f4b.svg)}.flag-ao{background-image:url(/static/media/ao.fd948d03.svg)}.flag-aq{background-image:url(/static/media/aq.fb98f0e6.svg)}.flag-ar{background-image:url(/static/media/ar.2ed2ee2a.svg)}.flag-as{background-image:url(/static/media/as.e18a5953.svg)}.flag-at{background-image:url(/static/media/at.511e196f.svg)}.flag-au{background-image:url(/static/media/au.b853c2eb.svg)}.flag-aw{background-image:url(/static/media/aw.dc91764d.svg)}.flag-ax{background-image:url(/static/media/ax.3301f616.svg)}.flag-az{background-image:url(/static/media/az.ba2d1e5e.svg)}.flag-ba{background-image:url(/static/media/ba.a441d8da.svg)}.flag-bb{background-image:url(/static/media/bb.c568edd5.svg)}.flag-bd{background-image:url(/static/media/bd.b12e3060.svg)}.flag-be{background-image:url(/static/media/be.fb18617c.svg)}.flag-bf{background-image:url(/static/media/bf.f88288fa.svg)}.flag-bg{background-image:url(/static/media/bg.bc04745d.svg)}.flag-bh{background-image:url(/static/media/bh.805f2682.svg)}.flag-bi{background-image:url(/static/media/bi.bc8085f9.svg)}.flag-bj{background-image:url(/static/media/bj.ea52986c.svg)}.flag-bl{background-image:url(/static/media/bl.a5c508b2.svg)}.flag-bm{background-image:url(/static/media/bm.6339387e.svg)}.flag-bn{background-image:url(/static/media/bn.51104069.svg)}.flag-bo{background-image:url(/static/media/bo.e02afe04.svg)}.flag-bq{background-image:url(/static/media/bq.4cac15ed.svg)}.flag-br{background-image:url(/static/media/br.fc7b8290.svg)}.flag-bs{background-image:url(/static/media/bs.421969c2.svg)}.flag-bt{background-image:url(/static/media/bt.39149c62.svg)}.flag-bv{background-image:url(/static/media/bv.58761e89.svg)}.flag-bw{background-image:url(/static/media/bw.8ecb0b8e.svg)}.flag-by{background-image:url(/static/media/by.6fd2caab.svg)}.flag-bz{background-image:url(/static/media/bz.e86e9bd2.svg)}.flag-ca{background-image:url(/static/media/ca.af259017.svg)}.flag-cc{background-image:url(/static/media/cc.ec7f3820.svg)}.flag-cd{background-image:url(/static/media/cd.020e3d1e.svg)}.flag-cf{background-image:url(/static/media/cf.f75250a7.svg)}.flag-cg{background-image:url(/static/media/cg.497d91d1.svg)}.flag-ch{background-image:url(/static/media/ch.d5161894.svg)}.flag-ci{background-image:url(/static/media/ci.1334b221.svg)}.flag-ck{background-image:url(/static/media/ck.869edc71.svg)}.flag-cl{background-image:url(/static/media/cl.9d5227cb.svg)}.flag-cm{background-image:url(/static/media/cm.17f2e2c9.svg)}.flag-cn{background-image:url(/static/media/cn.c2814ac0.svg)}.flag-co{background-image:url(/static/media/co.433d22ad.svg)}.flag-cr{background-image:url(/static/media/cr.20a9e6bf.svg)}.flag-cu{background-image:url(/static/media/cu.050058cb.svg)}.flag-cv{background-image:url(/static/media/cv.6b699492.svg)}.flag-cw{background-image:url(/static/media/cw.07a0d3f9.svg)}.flag-cx{background-image:url(/static/media/cx.5180dbe5.svg)}.flag-cy{background-image:url(/static/media/cy.657ef7aa.svg)}.flag-cz{background-image:url(/static/media/cz.6731f872.svg)}.flag-de{background-image:url(/static/media/de.01e89f77.svg)}.flag-dj{background-image:url(/static/media/dj.f4c086cc.svg)}.flag-dk{background-image:url(/static/media/dk.44761537.svg)}.flag-dm{background-image:url(/static/media/dm.89c91dc6.svg)}.flag-do{background-image:url(/static/media/do.d8ab6db9.svg)}.flag-dz{background-image:url(/static/media/dz.333db1ef.svg)}.flag-ec{background-image:url(/static/media/ec.918e57b8.svg)}.flag-ee{background-image:url(/static/media/ee.57f366b0.svg)}.flag-eg{background-image:url(/static/media/eg.07f2e96d.svg)}.flag-eh{background-image:url(/static/media/eh.e4f13505.svg)}.flag-er{background-image:url(/static/media/er.70738db6.svg)}.flag-es{background-image:url(/static/media/es.c6ca5440.svg)}.flag-et{background-image:url(/static/media/et.31aa0fc0.svg)}.flag-eu{background-image:url(/static/media/eu.17beaf81.svg)}.flag-fi{background-image:url(/static/media/fi.58bcc4af.svg)}.flag-fj{background-image:url(/static/media/fj.b1ddba60.svg)}.flag-fk{background-image:url(/static/media/fk.5c64395d.svg)}.flag-fm{background-image:url(/static/media/fm.2bd7d4df.svg)}.flag-fo{background-image:url(/static/media/fo.dc9ed815.svg)}.flag-fr{background-image:url(/static/media/fr.a178bcfb.svg)}.flag-ga{background-image:url(/static/media/ga.33442fb9.svg)}.flag-gb-eng{background-image:url(/static/media/gb-eng.a933214c.svg)}.flag-gb-nir{background-image:url(/static/media/gb-nir.943d406a.svg)}.flag-gb-sct{background-image:url(/static/media/gb-sct.772350bf.svg)}.flag-gb-wls{background-image:url(/static/media/gb-wls.2831a6dd.svg)}.flag-gb{background-image:url(/static/media/gb.5638bbd9.svg)}.flag-gd{background-image:url(/static/media/gd.c17d779e.svg)}.flag-ge{background-image:url(/static/media/ge.334a8275.svg)}.flag-gf{background-image:url(/static/media/gf.4ea8e159.svg)}.flag-gg{background-image:url(/static/media/gg.d339aeb2.svg)}.flag-gh{background-image:url(/static/media/gh.d4b35e14.svg)}.flag-gi{background-image:url(/static/media/gi.c9543d40.svg)}.flag-gl{background-image:url(/static/media/gl.d02c42ea.svg)}.flag-gm{background-image:url(/static/media/gm.9423800e.svg)}.flag-gn{background-image:url(/static/media/gn.e472dff7.svg)}.flag-gp{background-image:url(/static/media/gp.a178bcfb.svg)}.flag-gq{background-image:url(/static/media/gq.6bbb0e76.svg)}.flag-gr{background-image:url(/static/media/gr.9a9a62a1.svg)}.flag-gs{background-image:url(/static/media/gs.37216917.svg)}.flag-gt{background-image:url(/static/media/gt.0b689ffe.svg)}.flag-gu{background-image:url(/static/media/gu.ad34e604.svg)}.flag-gw{background-image:url(/static/media/gw.e1d47aa4.svg)}.flag-gy{background-image:url(/static/media/gy.19bcfc34.svg)}.flag-hk{background-image:url(/static/media/hk.fb606eb1.svg)}.flag-hm{background-image:url(/static/media/hm.b43f3857.svg)}.flag-hn{background-image:url(/static/media/hn.3d726baa.svg)}.flag-hr{background-image:url(/static/media/hr.79e564a4.svg)}.flag-ht{background-image:url(/static/media/ht.d0404e4a.svg)}.flag-hu{background-image:url(/static/media/hu.a8abaf37.svg)}.flag-id{background-image:url(/static/media/id.ee020a0f.svg)}.flag-ie{background-image:url(/static/media/ie.d609c4e7.svg)}.flag-il{background-image:url(/static/media/il.0ea7e9da.svg)}.flag-im{background-image:url(/static/media/im.19884f0c.svg)}.flag-in{background-image:url(/static/media/in.2d667fbb.svg)}.flag-io{background-image:url(/static/media/io.2e0c61df.svg)}.flag-iq{background-image:url(/static/media/iq.61fca184.svg)}.flag-ir{background-image:url(/static/media/ir.3cb275a7.svg)}.flag-is{background-image:url(/static/media/is.ec1fb876.svg)}.flag-it{background-image:url(/static/media/it.bd6b5ff3.svg)}.flag-je{background-image:url(/static/media/je.6a9e1b93.svg)}.flag-jm{background-image:url(/static/media/jm.7db0ffd8.svg)}.flag-jo{background-image:url(/static/media/jo.d1405940.svg)}.flag-jp{background-image:url(/static/media/jp.fd264681.svg)}.flag-ke{background-image:url(/static/media/ke.15b698f3.svg)}.flag-kg{background-image:url(/static/media/kg.de33c048.svg)}.flag-kh{background-image:url(/static/media/kh.bfffb443.svg)}.flag-ki{background-image:url(/static/media/ki.fbe824dc.svg)}.flag-km{background-image:url(/static/media/km.cd351374.svg)}.flag-kn{background-image:url(/static/media/kn.7ab9462c.svg)}.flag-kp{background-image:url(/static/media/kp.b2729dfa.svg)}.flag-kr{background-image:url(/static/media/kr.32f23faf.svg)}.flag-kw{background-image:url(/static/media/kw.3e24a94a.svg)}.flag-ky{background-image:url(/static/media/ky.f7c3a515.svg)}.flag-kz{background-image:url(/static/media/kz.529db212.svg)}.flag-la{background-image:url(/static/media/la.bdfc4ab5.svg)}.flag-lb{background-image:url(/static/media/lb.49819740.svg)}.flag-lc{background-image:url(/static/media/lc.6c2940da.svg)}.flag-li{background-image:url(/static/media/li.10e0d5b2.svg)}.flag-lk{background-image:url(/static/media/lk.f0a4f4f6.svg)}.flag-lr{background-image:url(/static/media/lr.5485e606.svg)}.flag-ls{background-image:url(/static/media/ls.700ddad0.svg)}.flag-lt{background-image:url(/static/media/lt.14b63eab.svg)}.flag-lu{background-image:url(/static/media/lu.06956a13.svg)}.flag-lv{background-image:url(/static/media/lv.83353fa9.svg)}.flag-ly{background-image:url(/static/media/ly.ededce32.svg)}.flag-ma{background-image:url(/static/media/ma.8c27c493.svg)}.flag-mc{background-image:url(/static/media/mc.4241d3ff.svg)}.flag-md{background-image:url(/static/media/md.f9aceffb.svg)}.flag-me{background-image:url(/static/media/me.399015d8.svg)}.flag-mf{background-image:url(/static/media/mf.a178bcfb.svg)}.flag-mg{background-image:url(/static/media/mg.0c0da5f0.svg)}.flag-mh{background-image:url(/static/media/mh.a3bb001b.svg)}.flag-mk{background-image:url(/static/media/mk.29cb0cb2.svg)}.flag-ml{background-image:url(/static/media/ml.be076fd9.svg)}.flag-mm{background-image:url(/static/media/mm.e6d7c5a4.svg)}.flag-mn{background-image:url(/static/media/mn.cfd48e45.svg)}.flag-mo{background-image:url(/static/media/mo.36f1d6f2.svg)}.flag-mp{background-image:url(/static/media/mp.fcdc8e39.svg)}.flag-mq{background-image:url(/static/media/mq.4c4286cd.svg)}.flag-mr{background-image:url(/static/media/mr.6b3d082d.svg)}.flag-ms{background-image:url(/static/media/ms.8b73c710.svg)}.flag-mt{background-image:url(/static/media/mt.cffcad79.svg)}.flag-mu{background-image:url(/static/media/mu.974b9e6c.svg)}.flag-mv{background-image:url(/static/media/mv.e343afe8.svg)}.flag-mw{background-image:url(/static/media/mw.5b33db84.svg)}.flag-mx{background-image:url(/static/media/mx.184d53d1.svg)}.flag-my{background-image:url(/static/media/my.aae5bd9c.svg)}.flag-mz{background-image:url(/static/media/mz.cd1e97af.svg)}.flag-na{background-image:url(/static/media/na.f38aead1.svg)}.flag-nc{background-image:url(/static/media/nc.a2dc6650.svg)}.flag-ne{background-image:url(/static/media/ne.bad21adc.svg)}.flag-nf{background-image:url(/static/media/nf.fc2d0f07.svg)}.flag-ng{background-image:url(/static/media/ng.2ddc320b.svg)}.flag-ni{background-image:url(/static/media/ni.2b983496.svg)}.flag-nl{background-image:url(/static/media/nl.de2a39a2.svg)}.flag-no{background-image:url(/static/media/no.8331157c.svg)}.flag-np{background-image:url(/static/media/np.e6de6946.svg)}.flag-nr{background-image:url(/static/media/nr.f2afa5b9.svg)}.flag-nu{background-image:url(/static/media/nu.e6bfaa15.svg)}.flag-nz{background-image:url(/static/media/nz.03d7410a.svg)}.flag-om{background-image:url(/static/media/om.9b7a06b9.svg)}.flag-pa{background-image:url(/static/media/pa.91076135.svg)}.flag-pe{background-image:url(/static/media/pe.4cabbfc6.svg)}.flag-pf{background-image:url(/static/media/pf.28a15c37.svg)}.flag-pg{background-image:url(/static/media/pg.e444f903.svg)}.flag-ph{background-image:url(/static/media/ph.8b5fbe69.svg)}.flag-pk{background-image:url(/static/media/pk.db891066.svg)}.flag-pl{background-image:url(/static/media/pl.2257cff6.svg)}.flag-pm{background-image:url(/static/media/pm.a2dc6650.svg)}.flag-pn{background-image:url(/static/media/pn.bf813bfe.svg)}.flag-pr{background-image:url(/static/media/pr.e489537c.svg)}.flag-ps{background-image:url(/static/media/ps.225ede35.svg)}.flag-pt{background-image:url(/static/media/pt.e129260b.svg)}.flag-pw{background-image:url(/static/media/pw.0557592e.svg)}.flag-py{background-image:url(/static/media/py.abc5b396.svg)}.flag-qa{background-image:url(/static/media/qa.20a4d741.svg)}.flag-re{background-image:url(/static/media/re.a2dc6650.svg)}.flag-ro{background-image:url(/static/media/ro.552b5d97.svg)}.flag-rs{background-image:url(/static/media/rs.426b1d47.svg)}.flag-ru{background-image:url(/static/media/ru.517e32a1.svg)}.flag-rw{background-image:url(/static/media/rw.46fb809f.svg)}.flag-sa{background-image:url(/static/media/sa.67b058ae.svg)}.flag-sb{background-image:url(/static/media/sb.115ce3e5.svg)}.flag-sc{background-image:url(/static/media/sc.fdc11a48.svg)}.flag-sd{background-image:url(/static/media/sd.a14badd5.svg)}.flag-se{background-image:url(/static/media/se.22475f52.svg)}.flag-sg{background-image:url(/static/media/sg.22b0739e.svg)}.flag-sh{background-image:url(/static/media/sh.0726abdb.svg)}.flag-si{background-image:url(/static/media/si.72f83c29.svg)}.flag-sj{background-image:url(/static/media/sj.8331157c.svg)}.flag-sk{background-image:url(/static/media/sk.f44daf85.svg)}.flag-sl{background-image:url(/static/media/sl.835d44f6.svg)}.flag-sm{background-image:url(/static/media/sm.f3eb4474.svg)}.flag-sn{background-image:url(/static/media/sn.4dc603d1.svg)}.flag-so{background-image:url(/static/media/so.3bdb1de2.svg)}.flag-sr{background-image:url(/static/media/sr.65cdb1de.svg)}.flag-ss{background-image:url(/static/media/ss.0c7c9ffc.svg)}.flag-st{background-image:url(/static/media/st.230410b5.svg)}.flag-sv{background-image:url(/static/media/sv.a21150d5.svg)}.flag-sx{background-image:url(/static/media/sx.d23d1807.svg)}.flag-sy{background-image:url(/static/media/sy.0fedea07.svg)}.flag-sz{background-image:url(/static/media/sz.1ae99e45.svg)}.flag-tc{background-image:url(/static/media/tc.2f7d308e.svg)}.flag-td{background-image:url(/static/media/td.079a2525.svg)}.flag-tf{background-image:url(/static/media/tf.adc24fb2.svg)}.flag-tg{background-image:url(/static/media/tg.b96ee542.svg)}.flag-th{background-image:url(/static/media/th.50269587.svg)}.flag-tj{background-image:url(/static/media/tj.b6533ad3.svg)}.flag-tk{background-image:url(/static/media/tk.22d4831b.svg)}.flag-tl{background-image:url(/static/media/tl.f563fdae.svg)}.flag-tm{background-image:url(/static/media/tm.d2132088.svg)}.flag-tn{background-image:url(/static/media/tn.ef273685.svg)}.flag-to{background-image:url(/static/media/to.fa884203.svg)}.flag-tr{background-image:url(/static/media/tr.aabe02c2.svg)}.flag-tt{background-image:url(/static/media/tt.f09daa6d.svg)}.flag-tv{background-image:url(/static/media/tv.1a077ad0.svg)}.flag-tw{background-image:url(/static/media/tw.7baefd1c.svg)}.flag-tz{background-image:url(/static/media/tz.d5c9c20a.svg)}.flag-ua{background-image:url(/static/media/ua.acc88be0.svg)}.flag-ug{background-image:url(/static/media/ug.1e070275.svg)}.flag-um{background-image:url(/static/media/um.a1fa2de3.svg)}.flag-un{background-image:url(/static/media/un.1519b6c6.svg)}.flag-us{background-image:url(/static/media/us.2382ea7e.svg)}.flag-uy{background-image:url(/static/media/uy.a7e91b40.svg)}.flag-uz{background-image:url(/static/media/uz.791dfbda.svg)}.flag-va{background-image:url(/static/media/va.6b139c75.svg)}.flag-vc{background-image:url(/static/media/vc.f3912357.svg)}.flag-ve{background-image:url(/static/media/ve.6f48a1b9.svg)}.flag-vg{background-image:url(/static/media/vg.3b3121b2.svg)}.flag-vi{background-image:url(/static/media/vi.b3c0a20f.svg)}.flag-vn{background-image:url(/static/media/vn.0b7571b8.svg)}.flag-vu{background-image:url(/static/media/vu.9a6c3abc.svg)}.flag-wf{background-image:url(/static/media/wf.4b4f5462.svg)}.flag-ws{background-image:url(/static/media/ws.23b64335.svg)}.flag-ye{background-image:url(/static/media/ye.55897575.svg)}.flag-yt{background-image:url(/static/media/yt.a2dc6650.svg)}.flag-za{background-image:url(/static/media/za.d8ffed67.svg)}.flag-zm{background-image:url(/static/media/zm.62586634.svg)}.flag-zw{background-image:url(/static/media/zw.e223cee5.svg)}.payment{width:2.5rem;height:1.5rem;display:inline-block;background:no-repeat 50%/100% 100%;vertical-align:bottom;font-style:normal;box-shadow:0 0 1px 1px rgba(0,0,0,.1);border-radius:2px}.payment-2checkout-dark{background-image:url(/static/media/2checkout-dark.65d58d80.svg)}.payment-2checkout{background-image:url(/static/media/2checkout.e14c0f5e.svg)}.payment-alipay-dark{background-image:url(/static/media/alipay-dark.b6a651d2.svg)}.payment-alipay{background-image:url(/static/media/alipay.31580e28.svg)}.payment-amazon-dark{background-image:url(/static/media/amazon-dark.b178a57f.svg)}.payment-amazon{background-image:url(/static/media/amazon.5c500045.svg)}.payment-americanexpress-dark{background-image:url(/static/media/americanexpress-dark.c2ea2d77.svg)}.payment-americanexpress{background-image:url(/static/media/americanexpress.b89abdaf.svg)}.payment-applepay-dark{background-image:url(/static/media/applepay-dark.e044dbdb.svg)}.payment-applepay{background-image:url(/static/media/applepay.1ff3d3f0.svg)}.payment-bancontact-dark{background-image:url(/static/media/bancontact-dark.6e786090.svg)}.payment-bancontact{background-image:url(/static/media/bancontact.8c0a0fa2.svg)}.payment-bitcoin-dark{background-image:url(/static/media/bitcoin-dark.edaf60e1.svg)}.payment-bitcoin{background-image:url(/static/media/bitcoin.d9ac7b61.svg)}.payment-bitpay-dark{background-image:url(/static/media/bitpay-dark.f86a15da.svg)}.payment-bitpay{background-image:url(/static/media/bitpay.ffb94e65.svg)}.payment-cirrus-dark{background-image:url(/static/media/cirrus-dark.243a362e.svg)}.payment-cirrus{background-image:url(/static/media/cirrus.983db5f2.svg)}.payment-clickandbuy-dark{background-image:url(/static/media/clickandbuy-dark.f7d38984.svg)}.payment-clickandbuy{background-image:url(/static/media/clickandbuy.eb61d075.svg)}.payment-coinkite-dark{background-image:url(/static/media/coinkite-dark.f50deb17.svg)}.payment-coinkite{background-image:url(/static/media/coinkite.b6098277.svg)}.payment-dinersclub-dark{background-image:url(/static/media/dinersclub-dark.baff56e3.svg)}.payment-dinersclub{background-image:url(/static/media/dinersclub.45249b1d.svg)}.payment-directdebit-dark{background-image:url(/static/media/directdebit-dark.bf510996.svg)}.payment-directdebit{background-image:url(/static/media/directdebit.37695b62.svg)}.payment-discover-dark{background-image:url(/static/media/discover-dark.00f5c21f.svg)}.payment-discover{background-image:url(/static/media/discover.2f4fe159.svg)}.payment-dwolla-dark{background-image:url(/static/media/dwolla-dark.ccae2767.svg)}.payment-dwolla{background-image:url(/static/media/dwolla.36f57770.svg)}.payment-ebay-dark{background-image:url(/static/media/ebay-dark.bd7ccde1.svg)}.payment-ebay{background-image:url(/static/media/ebay.862b611a.svg)}.payment-eway-dark{background-image:url(/static/media/eway-dark.bbf15466.svg)}.payment-eway{background-image:url(/static/media/eway.54d6e672.svg)}.payment-giropay-dark{background-image:url(/static/media/giropay-dark.ff3c753a.svg)}.payment-giropay{background-image:url(/static/media/giropay.7337d9d0.svg)}.payment-googlewallet-dark{background-image:url(/static/media/googlewallet-dark.7cbe03be.svg)}.payment-googlewallet{background-image:url(/static/media/googlewallet.7f0e39ad.svg)}.payment-ingenico-dark{background-image:url(/static/media/ingenico-dark.5bef3895.svg)}.payment-ingenico{background-image:url(/static/media/ingenico.20a24d68.svg)}.payment-jcb-dark{background-image:url(/static/media/jcb-dark.f9bf701d.svg)}.payment-jcb{background-image:url(/static/media/jcb.2646bc51.svg)}.payment-klarna-dark{background-image:url(/static/media/klarna-dark.3a666a1e.svg)}.payment-klarna{background-image:url(/static/media/klarna.c05b3bba.svg)}.payment-laser-dark{background-image:url(/static/media/laser-dark.758bd7b6.svg)}.payment-laser{background-image:url(/static/media/laser.4642dfb3.svg)}.payment-maestro-dark{background-image:url(/static/media/maestro-dark.0d91ff8f.svg)}.payment-maestro{background-image:url(/static/media/maestro.31a202b4.svg)}.payment-mastercard-dark{background-image:url(/static/media/mastercard-dark.b1695f2b.svg)}.payment-mastercard{background-image:url(/static/media/mastercard.a6684d93.svg)}.payment-monero-dark{background-image:url(/static/media/monero-dark.29d40dee.svg)}.payment-monero{background-image:url(/static/media/monero.7df16d08.svg)}.payment-neteller-dark{background-image:url(/static/media/neteller-dark.63736cac.svg)}.payment-neteller{background-image:url(/static/media/neteller.798e0b4b.svg)}.payment-ogone-dark{background-image:url(/static/media/ogone-dark.5fa709fb.svg)}.payment-ogone{background-image:url(/static/media/ogone.8832c251.svg)}.payment-okpay-dark{background-image:url(/static/media/okpay-dark.26eabf7a.svg)}.payment-okpay{background-image:url(/static/media/okpay.72f763a2.svg)}.payment-paybox-dark{background-image:url(/static/media/paybox-dark.321bd555.svg)}.payment-paybox{background-image:url(/static/media/paybox.46f8af3b.svg)}.payment-paymill-dark{background-image:url(/static/media/paymill-dark.d8737b88.svg)}.payment-paymill{background-image:url(/static/media/paymill.6f906616.svg)}.payment-payone-dark{background-image:url(/static/media/payone-dark.992480f1.svg)}.payment-payone{background-image:url(/static/media/payone.2c68e11e.svg)}.payment-payoneer-dark{background-image:url(/static/media/payoneer-dark.8d95de50.svg)}.payment-payoneer{background-image:url(/static/media/payoneer.e460ab6b.svg)}.payment-paypal-dark{background-image:url(/static/media/paypal-dark.2abbaed4.svg)}.payment-paypal{background-image:url(/static/media/paypal.aa9749d2.svg)}.payment-paysafecard-dark{background-image:url(/static/media/paysafecard-dark.2a3832c3.svg)}.payment-paysafecard{background-image:url(/static/media/paysafecard.0db2bc55.svg)}.payment-payu-dark{background-image:url(/static/media/payu-dark.80265cc7.svg)}.payment-payu{background-image:url(/static/media/payu.ece9e639.svg)}.payment-payza-dark{background-image:url(/static/media/payza-dark.aaf8d63f.svg)}.payment-payza{background-image:url(/static/media/payza.05716451.svg)}.payment-ripple-dark{background-image:url(/static/media/ripple-dark.a741b2b1.svg)}.payment-ripple{background-image:url(/static/media/ripple.44f32f32.svg)}.payment-sage-dark{background-image:url(/static/media/sage-dark.1560c69d.svg)}.payment-sage{background-image:url(/static/media/sage.c962e60b.svg)}.payment-sepa-dark{background-image:url(/static/media/sepa-dark.3834e619.svg)}.payment-sepa{background-image:url(/static/media/sepa.45d27bde.svg)}.payment-shopify-dark{background-image:url(/static/media/shopify-dark.937412fd.svg)}.payment-shopify{background-image:url(/static/media/shopify.2a87d23f.svg)}.payment-skrill-dark{background-image:url(/static/media/skrill-dark.a1a4a38c.svg)}.payment-skrill{background-image:url(/static/media/skrill.b0d31271.svg)}.payment-solo-dark{background-image:url(/static/media/solo-dark.17da28b9.svg)}.payment-solo{background-image:url(/static/media/solo.f7fcc525.svg)}.payment-square-dark{background-image:url(/static/media/square-dark.4db9c83c.svg)}.payment-square{background-image:url(/static/media/square.48f11398.svg)}.payment-stripe-dark{background-image:url(/static/media/stripe-dark.025afc35.svg)}.payment-stripe{background-image:url(/static/media/stripe.77c6af28.svg)}.payment-switch-dark{background-image:url(/static/media/switch-dark.54599ad9.svg)}.payment-switch{background-image:url(/static/media/switch.c1a0e47d.svg)}.payment-ukash-dark{background-image:url(/static/media/ukash-dark.89b7d2ae.svg)}.payment-ukash{background-image:url(/static/media/ukash.7a542b9e.svg)}.payment-unionpay-dark{background-image:url(/static/media/unionpay-dark.22beb1a2.svg)}.payment-unionpay{background-image:url(/static/media/unionpay.285de38e.svg)}.payment-verifone-dark{background-image:url(/static/media/verifone-dark.e7b2a0bc.svg)}.payment-verifone{background-image:url(/static/media/verifone.012caff4.svg)}.payment-verisign-dark{background-image:url(/static/media/verisign-dark.1f0c2c56.svg)}.payment-verisign{background-image:url(/static/media/verisign.3684cf82.svg)}.payment-visa-dark{background-image:url(/static/media/visa-dark.f6a55e1d.svg)}.payment-visa{background-image:url(/static/media/visa.a09152e7.svg)}.payment-webmoney-dark{background-image:url(/static/media/webmoney-dark.5c559c4c.svg)}.payment-webmoney{background-image:url(/static/media/webmoney.c77724f3.svg)}.payment-westernunion-dark{background-image:url(/static/media/westernunion-dark.5f3974a3.svg)}.payment-westernunion{background-image:url(/static/media/westernunion.4082e1b1.svg)}.payment-worldpay-dark{background-image:url(/static/media/worldpay-dark.a99e6d1c.svg)}.payment-worldpay{background-image:url(/static/media/worldpay.d63620a3.svg)}svg{touch-action:none}.jvectormap-container{width:100%;height:100%;position:relative;overflow:hidden;touch-action:none}.jvectormap-tip{position:absolute;display:none;border-radius:3px;background:#212529;color:#fff;padding:6px;font-size:11px;line-height:1;font-weight:700}.jvectormap-tip small{font-size:inherit;font-weight:400}.jvectormap-goback,.jvectormap-zoomin,.jvectormap-zoomout{position:absolute;left:10px;border-radius:3px;background:#292929;padding:3px;color:#fff;cursor:pointer;line-height:10px;text-align:center;box-sizing:initial}.jvectormap-zoomin,.jvectormap-zoomout{width:10px;height:10px}.jvectormap-zoomin{top:10px}.jvectormap-zoomout{top:30px}.jvectormap-goback{bottom:10px;z-index:1000;padding:6px}.jvectormap-spinner{position:absolute;left:0;top:0;right:0;bottom:0;background:url(data:image/gif;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==)}.jvectormap-legend-title{font-weight:700;font-size:14px;text-align:center}.jvectormap-legend-cnt{position:absolute}.jvectormap-legend-cnt-h{bottom:0;right:0}.jvectormap-legend-cnt-v{top:0;right:0}.jvectormap-legend{background:#000;color:#fff;border-radius:3px}.jvectormap-legend-cnt-h .jvectormap-legend{float:left;margin:0 10px 10px 0;padding:3px 3px 1px}.jvectormap-legend-cnt-h .jvectormap-legend .jvectormap-legend-tick{float:left}.jvectormap-legend-cnt-v .jvectormap-legend{margin:10px 10px 0 0;padding:3px}.jvectormap-legend-cnt-h .jvectormap-legend-tick{width:40px}.jvectormap-legend-cnt-h .jvectormap-legend-tick-sample{height:15px}.jvectormap-legend-cnt-v .jvectormap-legend-tick-sample{height:20px;width:20px;display:inline-block;vertical-align:middle}.jvectormap-legend-tick-text{font-size:12px}.jvectormap-legend-cnt-h .jvectormap-legend-tick-text{text-align:center}.jvectormap-legend-cnt-v .jvectormap-legend-tick-text{display:inline-block;vertical-align:middle;line-height:20px;padding-left:3px}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,.06) !important;border:0 !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder:after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,.2)}.selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#495057;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0;float:left;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0}.selectize-control.plugin-remove_button [data-value]{position:relative;padding-right:24px !important}.selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;width:17px;text-align:center;font-weight:700;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 0 0;border-left:1px solid #d0d0d0;border-radius:0 2px 2px 0;box-sizing:border-box}.selectize-control.plugin-remove_button [data-value] .remove:hover{background:rgba(0,0,0,.05)}.selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#fff}.selectize-control.plugin-remove_button .remove-single{position:absolute;right:28px;top:6px;font-size:23px}.selectize-control{position:relative;padding:0;border:0}.selectize-dropdown,.selectize-input,.selectize-input input{color:#495057;font-family:inherit;font-size:15px;line-height:18px;-webkit-font-smoothing:inherit}.selectize-control.single .selectize-input.input-active,.selectize-input{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid rgba(0,40,100,.12);padding:.5625rem .75rem;display:inline-block;display:block;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box;border-radius:3px;transition:border-color .3s,box-shadow .3s}.selectize-control.multi .selectize-input.has-items{padding:7px .75rem 4px 7px}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default !important}.selectize-input.focus{border-color:#467fcf;box-shadow:0 0 0 2px rgba(70,127,207,.25)}.selectize-input.dropdown-active{border-radius:3px 3px 0 0}.selectize-input>*{vertical-align:initial;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;padding:2px 6px;background:#e9ecef;color:#495057;font-size:13px;border:0 solid rgba(0,40,100,.12);border-radius:3px;font-weight:400}.selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#fff;border:0 solid #fff}.selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 2px 0 0 !important;text-indent:0 !important;border:0 !important;background:none !important;line-height:inherit !important;box-shadow:none !important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:none !important}.selectize-input:after{content:" ";display:block;clear:left}.selectize-input.dropdown-active:before{content:" ";display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;z-index:10;background:#fff;margin:-1px 0 0;border:1px solid rgba(0,40,100,.12);border-top:0;box-sizing:border-box;border-radius:0 0 3px 3px;height:auto;padding:0}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,.2);border-radius:1px}.selectize-dropdown .optgroup-header,.selectize-dropdown [data-selectable]{padding:6px .75rem}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0}.selectize-dropdown .optgroup-header{color:#495057;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#f1f4f8;color:#467fcf}.selectize-dropdown .active.create{color:#495057}.selectize-dropdown .create{color:rgba(48,48,48,.5)}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;-webkit-overflow-scrolling:touch}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input{cursor:text}.selectize-control.single .selectize-input:after{content:"";display:block;position:absolute;top:13px;right:12px;width:8px;height:10px;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 5'%3E%3Cpath fill='#999' d='M0 0L10 0L5 5L0 0'/%3E%3C/svg%3E") no-repeat 50%;background-size:8px 10px;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.selectize-control.single .selectize-input.dropdown-active:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}.selectize-dropdown .image,.selectize-input .image{width:1.25rem;height:1.25rem;background-size:contain;margin:-1px .5rem -1px -4px;line-height:1.25rem;float:left;display:flex;align-items:center;justify-content:center}.selectize-dropdown .image img,.selectize-input .image img{max-width:100%;box-shadow:0 1px 2px 0 rgba(0,0,0,.4);border-radius:2px}.selectize-input .image{width:1.5rem;height:1.5rem;margin:-3px .75rem -3px -5px}@font-face{font-family:feather;src:url(/static/media/feather-webfont.cc5143b2.eot);src:url(/static/media/feather-webfont.cc5143b2.eot#iefix) format("embedded-opentype"),url(/static/media/feather-webfont.2cf523cd.woff) format("woff"),url(/static/media/feather-webfont.b8e9cbc7.ttf) format("truetype"),url(/static/media/feather-webfont.4a878d5b.svg#feather) format("svg")}.fe{font-family:feather !important;speak:none;font-style:normal;font-weight:400;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fe-activity:before{content:"\E900"}.fe-airplay:before{content:"\E901"}.fe-alert-circle:before{content:"\E902"}.fe-alert-octagon:before{content:"\E903"}.fe-alert-triangle:before{content:"\E904"}.fe-align-center:before{content:"\E905"}.fe-align-justify:before{content:"\E906"}.fe-align-left:before{content:"\E907"}.fe-align-right:before{content:"\E908"}.fe-anchor:before{content:"\E909"}.fe-aperture:before{content:"\E90A"}.fe-arrow-down:before{content:"\E90B"}.fe-arrow-down-circle:before{content:"\E90C"}.fe-arrow-down-left:before{content:"\E90D"}.fe-arrow-down-right:before{content:"\E90E"}.fe-arrow-left:before{content:"\E90F"}.fe-arrow-left-circle:before{content:"\E910"}.fe-arrow-right:before{content:"\E911"}.fe-arrow-right-circle:before{content:"\E912"}.fe-arrow-up:before{content:"\E913"}.fe-arrow-up-circle:before{content:"\E914"}.fe-arrow-up-left:before{content:"\E915"}.fe-arrow-up-right:before{content:"\E916"}.fe-at-sign:before{content:"\E917"}.fe-award:before{content:"\E918"}.fe-bar-chart:before{content:"\E919"}.fe-bar-chart-2:before{content:"\E91A"}.fe-battery:before{content:"\E91B"}.fe-battery-charging:before{content:"\E91C"}.fe-bell:before{content:"\E91D"}.fe-bell-off:before{content:"\E91E"}.fe-bluetooth:before{content:"\E91F"}.fe-bold:before{content:"\E920"}.fe-book:before{content:"\E921"}.fe-book-open:before{content:"\E922"}.fe-bookmark:before{content:"\E923"}.fe-box:before{content:"\E924"}.fe-briefcase:before{content:"\E925"}.fe-calendar:before{content:"\E926"}.fe-camera:before{content:"\E927"}.fe-camera-off:before{content:"\E928"}.fe-cast:before{content:"\E929"}.fe-check:before{content:"\E92A"}.fe-check-circle:before{content:"\E92B"}.fe-check-square:before{content:"\E92C"}.fe-chevron-down:before{content:"\E92D"}.fe-chevron-left:before{content:"\E92E"}.fe-chevron-right:before{content:"\E92F"}.fe-chevron-up:before{content:"\E930"}.fe-chevrons-down:before{content:"\E931"}.fe-chevrons-left:before{content:"\E932"}.fe-chevrons-right:before{content:"\E933"}.fe-chevrons-up:before{content:"\E934"}.fe-chrome:before{content:"\E935"}.fe-circle:before{content:"\E936"}.fe-clipboard:before{content:"\E937"}.fe-clock:before{content:"\E938"}.fe-cloud:before{content:"\E939"}.fe-cloud-drizzle:before{content:"\E93A"}.fe-cloud-lightning:before{content:"\E93B"}.fe-cloud-off:before{content:"\E93C"}.fe-cloud-rain:before{content:"\E93D"}.fe-cloud-snow:before{content:"\E93E"}.fe-code:before{content:"\E93F"}.fe-codepen:before{content:"\E940"}.fe-command:before{content:"\E941"}.fe-compass:before{content:"\E942"}.fe-copy:before{content:"\E943"}.fe-corner-down-left:before{content:"\E944"}.fe-corner-down-right:before{content:"\E945"}.fe-corner-left-down:before{content:"\E946"}.fe-corner-left-up:before{content:"\E947"}.fe-corner-right-down:before{content:"\E948"}.fe-corner-right-up:before{content:"\E949"}.fe-corner-up-left:before{content:"\E94A"}.fe-corner-up-right:before{content:"\E94B"}.fe-cpu:before{content:"\E94C"}.fe-credit-card:before{content:"\E94D"}.fe-crop:before{content:"\E94E"}.fe-crosshair:before{content:"\E94F"}.fe-database:before{content:"\E950"}.fe-delete:before{content:"\E951"}.fe-disc:before{content:"\E952"}.fe-dollar-sign:before{content:"\E953"}.fe-download:before{content:"\E954"}.fe-download-cloud:before{content:"\E955"}.fe-droplet:before{content:"\E956"}.fe-edit:before{content:"\E957"}.fe-edit-2:before{content:"\E958"}.fe-edit-3:before{content:"\E959"}.fe-external-link:before{content:"\E95A"}.fe-eye:before{content:"\E95B"}.fe-eye-off:before{content:"\E95C"}.fe-facebook:before{content:"\E95D"}.fe-fast-forward:before{content:"\E95E"}.fe-feather:before{content:"\E95F"}.fe-file:before{content:"\E960"}.fe-file-minus:before{content:"\E961"}.fe-file-plus:before{content:"\E962"}.fe-file-text:before{content:"\E963"}.fe-film:before{content:"\E964"}.fe-filter:before{content:"\E965"}.fe-flag:before{content:"\E966"}.fe-folder:before{content:"\E967"}.fe-folder-minus:before{content:"\E968"}.fe-folder-plus:before{content:"\E969"}.fe-git-branch:before{content:"\E96A"}.fe-git-commit:before{content:"\E96B"}.fe-git-merge:before{content:"\E96C"}.fe-git-pull-request:before{content:"\E96D"}.fe-github:before{content:"\E96E"}.fe-gitlab:before{content:"\E96F"}.fe-globe:before{content:"\E970"}.fe-grid:before{content:"\E971"}.fe-hard-drive:before{content:"\E972"}.fe-hash:before{content:"\E973"}.fe-headphones:before{content:"\E974"}.fe-heart:before{content:"\E975"}.fe-help-circle:before{content:"\E976"}.fe-home:before{content:"\E977"}.fe-image:before{content:"\E978"}.fe-inbox:before{content:"\E979"}.fe-info:before{content:"\E97A"}.fe-instagram:before{content:"\E97B"}.fe-italic:before{content:"\E97C"}.fe-layers:before{content:"\E97D"}.fe-layout:before{content:"\E97E"}.fe-life-buoy:before{content:"\E97F"}.fe-link:before{content:"\E980"}.fe-link-2:before{content:"\E981"}.fe-linkedin:before{content:"\E982"}.fe-list:before{content:"\E983"}.fe-loader:before{content:"\E984"}.fe-lock:before{content:"\E985"}.fe-log-in:before{content:"\E986"}.fe-log-out:before{content:"\E987"}.fe-mail:before{content:"\E988"}.fe-map:before{content:"\E989"}.fe-map-pin:before{content:"\E98A"}.fe-maximize:before{content:"\E98B"}.fe-maximize-2:before{content:"\E98C"}.fe-menu:before{content:"\E98D"}.fe-message-circle:before{content:"\E98E"}.fe-message-square:before{content:"\E98F"}.fe-mic:before{content:"\E990"}.fe-mic-off:before{content:"\E991"}.fe-minimize:before{content:"\E992"}.fe-minimize-2:before{content:"\E993"}.fe-minus:before{content:"\E994"}.fe-minus-circle:before{content:"\E995"}.fe-minus-square:before{content:"\E996"}.fe-monitor:before{content:"\E997"}.fe-moon:before{content:"\E998"}.fe-more-horizontal:before{content:"\E999"}.fe-more-vertical:before{content:"\E99A"}.fe-move:before{content:"\E99B"}.fe-music:before{content:"\E99C"}.fe-navigation:before{content:"\E99D"}.fe-navigation-2:before{content:"\E99E"}.fe-octagon:before{content:"\E99F"}.fe-package:before{content:"\E9A0"}.fe-paperclip:before{content:"\E9A1"}.fe-pause:before{content:"\E9A2"}.fe-pause-circle:before{content:"\E9A3"}.fe-percent:before{content:"\E9A4"}.fe-phone:before{content:"\E9A5"}.fe-phone-call:before{content:"\E9A6"}.fe-phone-forwarded:before{content:"\E9A7"}.fe-phone-incoming:before{content:"\E9A8"}.fe-phone-missed:before{content:"\E9A9"}.fe-phone-off:before{content:"\E9AA"}.fe-phone-outgoing:before{content:"\E9AB"}.fe-pie-chart:before{content:"\E9AC"}.fe-play:before{content:"\E9AD"}.fe-play-circle:before{content:"\E9AE"}.fe-plus:before{content:"\E9AF"}.fe-plus-circle:before{content:"\E9B0"}.fe-plus-square:before{content:"\E9B1"}.fe-pocket:before{content:"\E9B2"}.fe-power:before{content:"\E9B3"}.fe-printer:before{content:"\E9B4"}.fe-radio:before{content:"\E9B5"}.fe-refresh-ccw:before{content:"\E9B6"}.fe-refresh-cw:before{content:"\E9B7"}.fe-repeat:before{content:"\E9B8"}.fe-rewind:before{content:"\E9B9"}.fe-rotate-ccw:before{content:"\E9BA"}.fe-rotate-cw:before{content:"\E9BB"}.fe-rss:before{content:"\E9BC"}.fe-save:before{content:"\E9BD"}.fe-scissors:before{content:"\E9BE"}.fe-search:before{content:"\E9BF"}.fe-send:before{content:"\E9C0"}.fe-server:before{content:"\E9C1"}.fe-settings:before{content:"\E9C2"}.fe-share:before{content:"\E9C3"}.fe-share-2:before{content:"\E9C4"}.fe-shield:before{content:"\E9C5"}.fe-shield-off:before{content:"\E9C6"}.fe-shopping-bag:before{content:"\E9C7"}.fe-shopping-cart:before{content:"\E9C8"}.fe-shuffle:before{content:"\E9C9"}.fe-sidebar:before{content:"\E9CA"}.fe-skip-back:before{content:"\E9CB"}.fe-skip-forward:before{content:"\E9CC"}.fe-slack:before{content:"\E9CD"}.fe-slash:before{content:"\E9CE"}.fe-sliders:before{content:"\E9CF"}.fe-smartphone:before{content:"\E9D0"}.fe-speaker:before{content:"\E9D1"}.fe-square:before{content:"\E9D2"}.fe-star:before{content:"\E9D3"}.fe-stop-circle:before{content:"\E9D4"}.fe-sun:before{content:"\E9D5"}.fe-sunrise:before{content:"\E9D6"}.fe-sunset:before{content:"\E9D7"}.fe-tablet:before{content:"\E9D8"}.fe-tag:before{content:"\E9D9"}.fe-target:before{content:"\E9DA"}.fe-terminal:before{content:"\E9DB"}.fe-thermometer:before{content:"\E9DC"}.fe-thumbs-down:before{content:"\E9DD"}.fe-thumbs-up:before{content:"\E9DE"}.fe-toggle-left:before{content:"\E9DF"}.fe-toggle-right:before{content:"\E9E0"}.fe-trash:before{content:"\E9E1"}.fe-trash-2:before{content:"\E9E2"}.fe-trending-down:before{content:"\E9E3"}.fe-trending-up:before{content:"\E9E4"}.fe-triangle:before{content:"\E9E5"}.fe-truck:before{content:"\E9E6"}.fe-tv:before{content:"\E9E7"}.fe-twitter:before{content:"\E9E8"}.fe-type:before{content:"\E9E9"}.fe-umbrella:before{content:"\E9EA"}.fe-underline:before{content:"\E9EB"}.fe-unlock:before{content:"\E9EC"}.fe-upload:before{content:"\E9ED"}.fe-upload-cloud:before{content:"\E9EE"}.fe-user:before{content:"\E9EF"}.fe-user-check:before{content:"\E9F0"}.fe-user-minus:before{content:"\E9F1"}.fe-user-plus:before{content:"\E9F2"}.fe-user-x:before{content:"\E9F3"}.fe-users:before{content:"\E9F4"}.fe-video:before{content:"\E9F5"}.fe-video-off:before{content:"\E9F6"}.fe-voicemail:before{content:"\E9F7"}.fe-volume:before{content:"\E9F8"}.fe-volume-1:before{content:"\E9F9"}.fe-volume-2:before{content:"\E9FA"}.fe-volume-x:before{content:"\E9FB"}.fe-watch:before{content:"\E9FC"}.fe-wifi:before{content:"\E9FD"}.fe-wifi-off:before{content:"\E9FE"}.fe-wind:before{content:"\E9FF"}.fe-x:before{content:"\EA00"}.fe-x-circle:before{content:"\EA01"}.fe-x-square:before{content:"\EA02"}.fe-zap:before{content:"\EA03"}.fe-zap-off:before{content:"\EA04"}.fe-zoom-in:before{content:"\EA05"}.fe-zoom-out:before{content:"\EA06"} \ No newline at end of file diff --git a/onvm_web/web-build/static/css/1.afe8298a.chunk.css b/onvm_web/web-build/static/css/1.afe8298a.chunk.css new file mode 100644 index 000000000..2a37654d1 --- /dev/null +++ b/onvm_web/web-build/static/css/1.afe8298a.chunk.css @@ -0,0 +1,15562 @@ +/*! + * Bootstrap v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #467fcf; + --indigo: #6574cd; + --purple: #a55eea; + --pink: #f66d9b; + --red: #cd201f; + --orange: #fd9644; + --yellow: #f1c40f; + --green: #5eba00; + --teal: #2bcbba; + --cyan: #17a2b8; + --white: #fff; + --gray: #868e96; + --gray-dark: #343a40; + --azure: #45aaf2; + --lime: #7bd235; + --primary: #467fcf; + --secondary: #868e96; + --success: #5eba00; + --info: #45aaf2; + --warning: #f1c40f; + --danger: #cd201f; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1280px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", + Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-monospace: Monaco, Consolas, "Liberation Mono", "Courier New", + monospace; +} +*, +:after, +:before { + box-sizing: border-box; +} +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} +@-ms-viewport { + width: device-width; +} +article, +aside, +dialog, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section { + display: block; +} +body { + margin: 0; + font-family: Source Sans Pro, -apple-system, BlinkMacSystemFont, Segoe UI, + Helvetica Neue, Arial, sans-serif; + font-size: 0.9375rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: left; + background-color: #f5f7fb; +} +[tabindex="-1"]:focus { + outline: 0 !important; +} +hr { + box-sizing: initial; + height: 0; + overflow: visible; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.66em; +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +abbr[data-original-title], +abbr[title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} +address { + font-style: normal; + line-height: inherit; +} +address, +dl, +ol, +ul { + margin-bottom: 1rem; +} +dl, +ol, +ul { + margin-top: 0; +} +ol ol, +ol ul, +ul ol, +ul ul { + margin-bottom: 0; +} +dt { + font-weight: 700; +} +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} +blockquote { + margin: 0 0 1rem; +} +dfn { + font-style: italic; +} +b, +strong { + font-weight: bolder; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: initial; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +a { + color: #467fcf; + text-decoration: none; + background-color: initial; + -webkit-text-decoration-skip: objects; +} +a:hover { + color: #295a9f; + text-decoration: underline; +} +a:not([href]):not([tabindex]), +a:not([href]):not([tabindex]):focus, +a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; +} +a:not([href]):not([tabindex]):focus { + outline: 0; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +pre { + margin-top: 0; + margin-bottom: 1rem; + -ms-overflow-style: scrollbar; +} +figure { + margin: 0 0 1rem; +} +img { + vertical-align: middle; + border-style: none; +} +svg:not(:root) { + overflow: hidden; +} +table { + border-collapse: collapse; +} +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #9aa0ac; + text-align: left; + caption-side: bottom; +} +th { + text-align: inherit; +} +label { + display: inline-block; + margin-bottom: 0.5rem; +} +button { + border-radius: 0; +} +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +button, +input { + overflow: visible; +} +button, +select { + text-transform: none; +} +[type="reset"], +[type="submit"], +button, +html [type="button"] { + -webkit-appearance: button; +} +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner, +button::-moz-focus-inner { + padding: 0; + border-style: none; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="date"], +input[type="datetime-local"], +input[type="month"], +input[type="time"] { + -webkit-appearance: listbox; +} +textarea { + overflow: auto; + resize: vertical; +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} +progress { + vertical-align: initial; +} +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} +output { + display: inline-block; +} +summary { + display: list-item; + cursor: pointer; +} +template { + display: none; +} +[hidden] { + display: none !important; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + margin-bottom: 0.66em; + font-family: inherit; + font-weight: 600; + line-height: 1.1; + color: inherit; +} +.h1, +h1 { + font-size: 2rem; +} +.h2, +h2 { + font-size: 1.75rem; +} +.h3, +h3 { + font-size: 1.5rem; +} +.h4, +h4 { + font-size: 1.125rem; +} +.h5, +h5 { + font-size: 1rem; +} +.h6, +h6 { + font-size: 0.875rem; +} +.lead { + font-size: 1.171875rem; + font-weight: 300; +} +.display-1 { + font-size: 4.5rem; +} +.display-1, +.display-2 { + font-weight: 300; + line-height: 1.1; +} +.display-2 { + font-size: 4rem; +} +.display-3 { + font-size: 3.5rem; +} +.display-3, +.display-4 { + font-weight: 300; + line-height: 1.1; +} +.display-4 { + font-size: 3rem; +} +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 40, 100, 0.12); +} +.small, +small { + font-size: 87.5%; + font-weight: 400; +} +.mark, +mark { + padding: 0.2em; + background-color: #fcf8e3; +} +.list-inline, +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +.blockquote { + margin-bottom: 1rem; + font-size: 1.171875rem; +} +.blockquote-footer { + display: block; + font-size: 80%; + color: #868e96; +} +.blockquote-footer:before { + content: "\2014 \A0"; +} +.img-fluid, +.img-thumbnail { + max-width: 100%; + height: auto; +} +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 3px; +} +.figure { + display: inline-block; +} +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} +.figure-caption { + font-size: 90%; + color: #868e96; +} +code, +kbd, +pre, +samp { + font-family: Monaco, Consolas, Liberation Mono, Courier New, monospace; +} +code { + font-size: 85%; + word-break: break-word; +} +a > code, +code { + color: inherit; +} +kbd { + padding: 0.2rem 0.4rem; + font-size: 85%; + color: #fff; + background-color: #343a40; + border-radius: 3px; +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} +pre { + display: block; + color: #212529; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + width: 100%; + padding-right: 0.75rem; + padding-left: 0.75rem; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} +@media (min-width: 1280px) { + .container { + max-width: 1200px; + } +} +.container-fluid { + width: 100%; + padding-right: 0.75rem; + padding-left: 0.75rem; + margin-right: auto; + margin-left: auto; +} +.row { + display: flex; + flex-wrap: wrap; + margin-right: -0.75rem; + margin-left: -0.75rem; +} +.no-gutters { + margin-right: 0; + margin-left: 0; +} +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} +.col, +.col-1, +.col-2, +.col-3, +.col-4, +.col-5, +.col-6, +.col-7, +.col-8, +.col-9, +.col-10, +.col-11, +.col-12, +.col-auto, +.col-lg, +.col-lg-1, +.col-lg-2, +.col-lg-3, +.col-lg-4, +.col-lg-5, +.col-lg-6, +.col-lg-7, +.col-lg-8, +.col-lg-9, +.col-lg-10, +.col-lg-11, +.col-lg-12, +.col-lg-auto, +.col-md, +.col-md-1, +.col-md-2, +.col-md-3, +.col-md-4, +.col-md-5, +.col-md-6, +.col-md-7, +.col-md-8, +.col-md-9, +.col-md-10, +.col-md-11, +.col-md-12, +.col-md-auto, +.col-sm, +.col-sm-1, +.col-sm-2, +.col-sm-3, +.col-sm-4, +.col-sm-5, +.col-sm-6, +.col-sm-7, +.col-sm-8, +.col-sm-9, +.col-sm-10, +.col-sm-11, +.col-sm-12, +.col-sm-auto, +.col-xl, +.col-xl-1, +.col-xl-2, +.col-xl-3, +.col-xl-4, +.col-xl-5, +.col-xl-6, +.col-xl-7, +.col-xl-8, +.col-xl-9, +.col-xl-10, +.col-xl-11, +.col-xl-12, +.col-xl-auto { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; +} +.col-auto { + flex: 0 0 auto; + width: auto; + max-width: none; +} +.col-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; +} +.col-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; +} +.col-3 { + flex: 0 0 25%; + max-width: 25%; +} +.col-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; +} +.col-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; +} +.col-6 { + flex: 0 0 50%; + max-width: 50%; +} +.col-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; +} +.col-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; +} +.col-9 { + flex: 0 0 75%; + max-width: 75%; +} +.col-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; +} +.col-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; +} +.col-12 { + flex: 0 0 100%; + max-width: 100%; +} +.order-first { + order: -1; +} +.order-last { + order: 13; +} +.order-0 { + order: 0; +} +.order-1 { + order: 1; +} +.order-2 { + order: 2; +} +.order-3 { + order: 3; +} +.order-4 { + order: 4; +} +.order-5 { + order: 5; +} +.order-6 { + order: 6; +} +.order-7 { + order: 7; +} +.order-8 { + order: 8; +} +.order-9 { + order: 9; +} +.order-10 { + order: 10; +} +.order-11 { + order: 11; +} +.order-12 { + order: 12; +} +.offset-1 { + margin-left: 8.33333333%; +} +.offset-2 { + margin-left: 16.66666667%; +} +.offset-3 { + margin-left: 25%; +} +.offset-4 { + margin-left: 33.33333333%; +} +.offset-5 { + margin-left: 41.66666667%; +} +.offset-6 { + margin-left: 50%; +} +.offset-7 { + margin-left: 58.33333333%; +} +.offset-8 { + margin-left: 66.66666667%; +} +.offset-9 { + margin-left: 75%; +} +.offset-10 { + margin-left: 83.33333333%; +} +.offset-11 { + margin-left: 91.66666667%; +} +@media (min-width: 576px) { + .col-sm { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-sm-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + order: -1; + } + .order-sm-last { + order: 13; + } + .order-sm-0 { + order: 0; + } + .order-sm-1 { + order: 1; + } + .order-sm-2 { + order: 2; + } + .order-sm-3 { + order: 3; + } + .order-sm-4 { + order: 4; + } + .order-sm-5 { + order: 5; + } + .order-sm-6 { + order: 6; + } + .order-sm-7 { + order: 7; + } + .order-sm-8 { + order: 8; + } + .order-sm-9 { + order: 9; + } + .order-sm-10 { + order: 10; + } + .order-sm-11 { + order: 11; + } + .order-sm-12 { + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } +} +@media (min-width: 768px) { + .col-md { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-md-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + order: -1; + } + .order-md-last { + order: 13; + } + .order-md-0 { + order: 0; + } + .order-md-1 { + order: 1; + } + .order-md-2 { + order: 2; + } + .order-md-3 { + order: 3; + } + .order-md-4 { + order: 4; + } + .order-md-5 { + order: 5; + } + .order-md-6 { + order: 6; + } + .order-md-7 { + order: 7; + } + .order-md-8 { + order: 8; + } + .order-md-9 { + order: 9; + } + .order-md-10 { + order: 10; + } + .order-md-11 { + order: 11; + } + .order-md-12 { + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } +} +@media (min-width: 992px) { + .col-lg { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-lg-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + order: -1; + } + .order-lg-last { + order: 13; + } + .order-lg-0 { + order: 0; + } + .order-lg-1 { + order: 1; + } + .order-lg-2 { + order: 2; + } + .order-lg-3 { + order: 3; + } + .order-lg-4 { + order: 4; + } + .order-lg-5 { + order: 5; + } + .order-lg-6 { + order: 6; + } + .order-lg-7 { + order: 7; + } + .order-lg-8 { + order: 8; + } + .order-lg-9 { + order: 9; + } + .order-lg-10 { + order: 10; + } + .order-lg-11 { + order: 11; + } + .order-lg-12 { + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } +} +@media (min-width: 1280px) { + .col-xl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-xl-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + order: -1; + } + .order-xl-last { + order: 13; + } + .order-xl-0 { + order: 0; + } + .order-xl-1 { + order: 1; + } + .order-xl-2 { + order: 2; + } + .order-xl-3 { + order: 3; + } + .order-xl-4 { + order: 4; + } + .order-xl-5 { + order: 5; + } + .order-xl-6 { + order: 6; + } + .order-xl-7 { + order: 7; + } + .order-xl-8 { + order: 8; + } + .order-xl-9 { + order: 9; + } + .order-xl-10 { + order: 10; + } + .order-xl-11 { + order: 11; + } + .order-xl-12 { + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } +} +.table, +.text-wrap table { + width: 100%; + max-width: 100%; + margin-bottom: 1rem; + background-color: initial; +} +.table td, +.table th, +.text-wrap table td, +.text-wrap table th { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} +.table thead th, +.text-wrap table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} +.table tbody + tbody, +.text-wrap table tbody + tbody { + border-top: 2px solid #dee2e6; +} +.table .table, +.table .text-wrap table, +.text-wrap .table table, +.text-wrap table .table, +.text-wrap table table { + background-color: #f5f7fb; +} +.table-sm td, +.table-sm th { + padding: 0.3rem; +} +.table-bordered, +.table-bordered td, +.table-bordered th, +.text-wrap table, +.text-wrap table td, +.text-wrap table th { + border: 1px solid #dee2e6; +} +.table-bordered thead td, +.table-bordered thead th, +.text-wrap table thead td, +.text-wrap table thead th { + border-bottom-width: 2px; +} +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.02); +} +.table-hover tbody tr:hover { + background-color: rgba(0, 0, 0, 0.04); +} +.table-primary, +.table-primary > td, +.table-primary > th { + background-color: #cbdbf2; +} +.table-hover .table-primary:hover, +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #b7cded; +} +.table-secondary, +.table-secondary > td, +.table-secondary > th { + background-color: #dddfe2; +} +.table-hover .table-secondary:hover, +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #cfd2d6; +} +.table-success, +.table-success > td, +.table-success > th { + background-color: #d2ecb8; +} +.table-hover .table-success:hover, +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #c5e7a4; +} +.table-info, +.table-info > td, +.table-info > th { + background-color: #cbe7fb; +} +.table-hover .table-info:hover, +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #b3dcf9; +} +.table-warning, +.table-warning > td, +.table-warning > th { + background-color: #fbeebc; +} +.table-hover .table-warning:hover, +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #fae8a4; +} +.table-danger, +.table-danger > td, +.table-danger > th { + background-color: #f1c1c0; +} +.table-hover .table-danger:hover, +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #ecacab; +} +.table-light, +.table-light > td, +.table-light > th { + background-color: #fdfdfe; +} +.table-hover .table-light:hover, +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} +.table-dark, +.table-dark > td, +.table-dark > th { + background-color: #c6c8ca; +} +.table-hover .table-dark:hover, +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} +.table-active, +.table-active > td, +.table-active > th, +.table-hover .table-active:hover, +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.04); +} +.table .thead-dark th, +.text-wrap table .thead-dark th { + color: #f5f7fb; + background-color: #212529; + border-color: #32383e; +} +.table .thead-light th, +.text-wrap table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} +.table-dark { + color: #f5f7fb; + background-color: #212529; +} +.table-dark td, +.table-dark th, +.table-dark thead th { + border-color: #32383e; +} +.table-dark.table-bordered, +.text-wrap table.table-dark { + border: 0; +} +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: hsla(0, 0%, 100%, 0.05); +} +.table-dark.table-hover tbody tr:hover { + background-color: hsla(0, 0%, 100%, 0.075); +} +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-sm > .table-bordered, + .text-wrap .table-responsive-sm > table { + border: 0; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-md > .table-bordered, + .text-wrap .table-responsive-md > table { + border: 0; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-lg > .table-bordered, + .text-wrap .table-responsive-lg > table { + border: 0; + } +} +@media (max-width: 1279.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-xl > .table-bordered, + .text-wrap .table-responsive-xl > table { + border: 0; + } +} +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; +} +.table-responsive > .table-bordered, +.text-wrap .table-responsive > table { + border: 0; +} +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 0.9375rem; + line-height: 1.6; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +.form-control::-ms-expand { + background-color: initial; + border: 0; +} +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #1991eb; + outline: 0; + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); +} +.form-control::-webkit-input-placeholder { + color: #adb5bd; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #adb5bd; + opacity: 1; +} +.form-control::-ms-input-placeholder { + color: #adb5bd; + opacity: 1; +} +.form-control::placeholder { + color: #adb5bd; + opacity: 1; +} +.form-control:disabled, +.form-control[readonly] { + background-color: #f8f9fa; + opacity: 1; +} +select.form-control:not([size]):not([multiple]) { + height: 2.375rem; +} +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.6; +} +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.125rem; + line-height: 1.44444444; +} +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.14285714; +} +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.6; + background-color: initial; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext.form-control-lg, +.form-control-plaintext.form-control-sm, +.input-group-lg > .form-control-plaintext.form-control, +.input-group-lg > .input-group-append > .form-control-plaintext.btn, +.input-group-lg + > .input-group-append + > .form-control-plaintext.input-group-text, +.input-group-lg > .input-group-prepend > .form-control-plaintext.btn, +.input-group-lg + > .input-group-prepend + > .form-control-plaintext.input-group-text, +.input-group-sm > .form-control-plaintext.form-control, +.input-group-sm > .input-group-append > .form-control-plaintext.btn, +.input-group-sm + > .input-group-append + > .form-control-plaintext.input-group-text, +.input-group-sm > .input-group-prepend > .form-control-plaintext.btn, +.input-group-sm + > .input-group-prepend + > .form-control-plaintext.input-group-text { + padding-right: 0; + padding-left: 0; +} +.form-control-sm, +.input-group-sm > .form-control, +.input-group-sm > .input-group-append > .btn, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-prepend > .input-group-text { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.14285714; + border-radius: 3px; +} +.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]), +.input-group-sm + > .input-group-append + > select.input-group-text:not([size]):not([multiple]), +.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), +.input-group-sm + > .input-group-prepend + > select.input-group-text:not([size]):not([multiple]), +.input-group-sm > select.form-control:not([size]):not([multiple]), +select.form-control-sm:not([size]):not([multiple]) { + height: calc(1.8125rem + 2px); +} +.form-control-lg, +.input-group-lg > .form-control, +.input-group-lg > .input-group-append > .btn, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-prepend > .input-group-text { + padding: 0.5rem 1rem; + font-size: 1.125rem; + line-height: 1.44444444; + border-radius: 3px; +} +.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]), +.input-group-lg + > .input-group-append + > select.input-group-text:not([size]):not([multiple]), +.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]), +.input-group-lg + > .input-group-prepend + > select.input-group-text:not([size]):not([multiple]), +.input-group-lg > select.form-control:not([size]):not([multiple]), +select.form-control-lg:not([size]):not([multiple]) { + height: calc(2.6875rem + 2px); +} +.form-group { + margin-bottom: 1rem; +} +.form-text { + display: block; + margin-top: 0.25rem; +} +.form-row { + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} +.form-check-input:disabled ~ .form-check-label { + color: #9aa0ac; +} +.form-check-label { + margin-bottom: 0; +} +.form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 87.5%; + color: #5eba00; +} +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + line-height: 1; + color: #fff; + background-color: rgba(94, 186, 0, 0.8); + border-radius: 0.2rem; +} +.custom-select.is-valid, +.form-control.is-valid, +.was-validated .custom-select:valid, +.was-validated .form-control:valid { + border-color: #5eba00; +} +.custom-select.is-valid:focus, +.form-control.is-valid:focus, +.was-validated .custom-select:valid:focus, +.was-validated .form-control:valid:focus { + border-color: #5eba00; + box-shadow: 0 0 0 2px rgba(94, 186, 0, 0.25); +} +.custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip, +.form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip, +.was-validated .custom-select:valid ~ .valid-feedback, +.was-validated .custom-select:valid ~ .valid-tooltip, +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip { + display: block; +} +.form-check-input.is-valid ~ .form-check-label, +.was-validated .form-check-input:valid ~ .form-check-label { + color: #5eba00; +} +.form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip, +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip { + display: block; +} +.custom-control-input.is-valid ~ .custom-control-label, +.was-validated .custom-control-input:valid ~ .custom-control-label { + color: #5eba00; +} +.custom-control-input.is-valid ~ .custom-control-label:before, +.was-validated .custom-control-input:valid ~ .custom-control-label:before { + background-color: #9eff3b; +} +.custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip, +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip { + display: block; +} +.custom-control-input.is-valid:checked ~ .custom-control-label:before, +.was-validated + .custom-control-input:valid:checked + ~ .custom-control-label:before { + background-color: #78ed00; +} +.custom-control-input.is-valid:focus ~ .custom-control-label:before, +.was-validated + .custom-control-input:valid:focus + ~ .custom-control-label:before { + box-shadow: 0 0 0 1px #f5f7fb, 0 0 0 2px rgba(94, 186, 0, 0.25); +} +.custom-file-input.is-valid ~ .custom-file-label, +.was-validated .custom-file-input:valid ~ .custom-file-label { + border-color: #5eba00; +} +.custom-file-input.is-valid ~ .custom-file-label:before, +.was-validated .custom-file-input:valid ~ .custom-file-label:before { + border-color: inherit; +} +.custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip, +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip { + display: block; +} +.custom-file-input.is-valid:focus ~ .custom-file-label, +.was-validated .custom-file-input:valid:focus ~ .custom-file-label { + box-shadow: 0 0 0 2px rgba(94, 186, 0, 0.25); +} +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 87.5%; + color: #cd201f; +} +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + line-height: 1; + color: #fff; + background-color: rgba(205, 32, 31, 0.8); + border-radius: 0.2rem; +} +.custom-select.is-invalid, +.form-control.is-invalid, +.was-validated .custom-select:invalid, +.was-validated .form-control:invalid { + border-color: #cd201f; +} +.custom-select.is-invalid:focus, +.form-control.is-invalid:focus, +.was-validated .custom-select:invalid:focus, +.was-validated .form-control:invalid:focus { + border-color: #cd201f; + box-shadow: 0 0 0 2px rgba(205, 32, 31, 0.25); +} +.custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip, +.form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip, +.was-validated .custom-select:invalid ~ .invalid-feedback, +.was-validated .custom-select:invalid ~ .invalid-tooltip, +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control:invalid ~ .invalid-tooltip { + display: block; +} +.form-check-input.is-invalid ~ .form-check-label, +.was-validated .form-check-input:invalid ~ .form-check-label { + color: #cd201f; +} +.form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip, +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip { + display: block; +} +.custom-control-input.is-invalid ~ .custom-control-label, +.was-validated .custom-control-input:invalid ~ .custom-control-label { + color: #cd201f; +} +.custom-control-input.is-invalid ~ .custom-control-label:before, +.was-validated .custom-control-input:invalid ~ .custom-control-label:before { + background-color: #ec8080; +} +.custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip, +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip { + display: block; +} +.custom-control-input.is-invalid:checked ~ .custom-control-label:before, +.was-validated + .custom-control-input:invalid:checked + ~ .custom-control-label:before { + background-color: #e23e3d; +} +.custom-control-input.is-invalid:focus ~ .custom-control-label:before, +.was-validated + .custom-control-input:invalid:focus + ~ .custom-control-label:before { + box-shadow: 0 0 0 1px #f5f7fb, 0 0 0 2px rgba(205, 32, 31, 0.25); +} +.custom-file-input.is-invalid ~ .custom-file-label, +.was-validated .custom-file-input:invalid ~ .custom-file-label { + border-color: #cd201f; +} +.custom-file-input.is-invalid ~ .custom-file-label:before, +.was-validated .custom-file-input:invalid ~ .custom-file-label:before { + border-color: inherit; +} +.custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip, +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip { + display: block; +} +.custom-file-input.is-invalid:focus ~ .custom-file-label, +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label { + box-shadow: 0 0 0 2px rgba(205, 32, 31, 0.25); +} +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; +} +.form-inline .form-check { + width: 100%; +} +@media (min-width: 576px) { + .form-inline label { + justify-content: center; + } + .form-inline .form-group, + .form-inline label { + display: flex; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-group { + flex: 0 0 auto; + flex-flow: row wrap; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group { + width: auto; + } + .form-inline .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + align-items: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} +.btn { + display: inline-block; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 0.9375rem; + line-height: 1.84615385; + border-radius: 3px; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +.btn:focus, +.btn:hover { + text-decoration: none; +} +.btn.focus, +.btn:focus { + outline: 0; + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); +} +.btn.disabled, +.btn:disabled { + opacity: 0.65; +} +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} +.btn:not(:disabled):not(.disabled).active, +.btn:not(:disabled):not(.disabled):active { + background-image: none; +} +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} +.btn-primary { + color: #fff; + background-color: #467fcf; + border-color: #467fcf; +} +.btn-primary:hover { + color: #fff; + background-color: #316cbe; + border-color: #2f66b3; +} +.btn-primary.focus, +.btn-primary:focus { + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.5); +} +.btn-primary.disabled, +.btn-primary:disabled { + color: #fff; + background-color: #467fcf; + border-color: #467fcf; +} +.btn-primary:not(:disabled):not(.disabled).active, +.btn-primary:not(:disabled):not(.disabled):active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #2f66b3; + border-color: #2c60a9; +} +.btn-primary:not(:disabled):not(.disabled).active:focus, +.btn-primary:not(:disabled):not(.disabled):active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.5); +} +.btn-secondary { + color: #fff; + background-color: #868e96; + border-color: #868e96; +} +.btn-secondary:hover { + color: #fff; + background-color: #727b84; + border-color: #6c757d; +} +.btn-secondary.focus, +.btn-secondary:focus { + box-shadow: 0 0 0 2px rgba(134, 142, 150, 0.5); +} +.btn-secondary.disabled, +.btn-secondary:disabled { + color: #fff; + background-color: #868e96; + border-color: #868e96; +} +.btn-secondary:not(:disabled):not(.disabled).active, +.btn-secondary:not(:disabled):not(.disabled):active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #666e76; +} +.btn-secondary:not(:disabled):not(.disabled).active:focus, +.btn-secondary:not(:disabled):not(.disabled):active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(134, 142, 150, 0.5); +} +.btn-success { + color: #fff; + background-color: #5eba00; + border-color: #5eba00; +} +.btn-success:hover { + color: #fff; + background-color: #4b9400; + border-color: #448700; +} +.btn-success.focus, +.btn-success:focus { + box-shadow: 0 0 0 2px rgba(94, 186, 0, 0.5); +} +.btn-success.disabled, +.btn-success:disabled { + color: #fff; + background-color: #5eba00; + border-color: #5eba00; +} +.btn-success:not(:disabled):not(.disabled).active, +.btn-success:not(:disabled):not(.disabled):active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #448700; + border-color: #3e7a00; +} +.btn-success:not(:disabled):not(.disabled).active:focus, +.btn-success:not(:disabled):not(.disabled):active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(94, 186, 0, 0.5); +} +.btn-info { + color: #fff; + background-color: #45aaf2; + border-color: #45aaf2; +} +.btn-info:hover { + color: #fff; + background-color: #219af0; + border-color: #1594ef; +} +.btn-info.focus, +.btn-info:focus { + box-shadow: 0 0 0 2px rgba(69, 170, 242, 0.5); +} +.btn-info.disabled, +.btn-info:disabled { + color: #fff; + background-color: #45aaf2; + border-color: #45aaf2; +} +.btn-info:not(:disabled):not(.disabled).active, +.btn-info:not(:disabled):not(.disabled):active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #1594ef; + border-color: #108ee7; +} +.btn-info:not(:disabled):not(.disabled).active:focus, +.btn-info:not(:disabled):not(.disabled):active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(69, 170, 242, 0.5); +} +.btn-warning { + color: #fff; + background-color: #f1c40f; + border-color: #f1c40f; +} +.btn-warning:hover { + color: #fff; + background-color: #cea70c; + border-color: #c29d0b; +} +.btn-warning.focus, +.btn-warning:focus { + box-shadow: 0 0 0 2px rgba(241, 196, 15, 0.5); +} +.btn-warning.disabled, +.btn-warning:disabled { + color: #fff; + background-color: #f1c40f; + border-color: #f1c40f; +} +.btn-warning:not(:disabled):not(.disabled).active, +.btn-warning:not(:disabled):not(.disabled):active, +.show > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #c29d0b; + border-color: #b6940b; +} +.btn-warning:not(:disabled):not(.disabled).active:focus, +.btn-warning:not(:disabled):not(.disabled):active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(241, 196, 15, 0.5); +} +.btn-danger { + color: #fff; + background-color: #cd201f; + border-color: #cd201f; +} +.btn-danger:hover { + color: #fff; + background-color: #ac1b1a; + border-color: #a11918; +} +.btn-danger.focus, +.btn-danger:focus { + box-shadow: 0 0 0 2px rgba(205, 32, 31, 0.5); +} +.btn-danger.disabled, +.btn-danger:disabled { + color: #fff; + background-color: #cd201f; + border-color: #cd201f; +} +.btn-danger:not(:disabled):not(.disabled).active, +.btn-danger:not(:disabled):not(.disabled):active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #a11918; + border-color: #961717; +} +.btn-danger:not(:disabled):not(.disabled).active:focus, +.btn-danger:not(:disabled):not(.disabled):active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(205, 32, 31, 0.5); +} +.btn-light { + color: #495057; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-light:hover { + color: #495057; + background-color: #e2e6ea; + border-color: #dae0e5; +} +.btn-light.focus, +.btn-light:focus { + box-shadow: 0 0 0 2px rgba(248, 249, 250, 0.5); +} +.btn-light.disabled, +.btn-light:disabled { + color: #495057; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-light:not(:disabled):not(.disabled).active, +.btn-light:not(:disabled):not(.disabled):active, +.show > .btn-light.dropdown-toggle { + color: #495057; + background-color: #dae0e5; + border-color: #d3d9df; +} +.btn-light:not(:disabled):not(.disabled).active:focus, +.btn-light:not(:disabled):not(.disabled):active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(248, 249, 250, 0.5); +} +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} +.btn-dark.focus, +.btn-dark:focus { + box-shadow: 0 0 0 2px rgba(52, 58, 64, 0.5); +} +.btn-dark.disabled, +.btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} +.btn-dark:not(:disabled):not(.disabled).active, +.btn-dark:not(:disabled):not(.disabled):active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} +.btn-dark:not(:disabled):not(.disabled).active:focus, +.btn-dark:not(:disabled):not(.disabled):active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(52, 58, 64, 0.5); +} +.btn-outline-primary { + color: #467fcf; + background-color: initial; + background-image: none; + border-color: #467fcf; +} +.btn-outline-primary:hover { + color: #fff; + background-color: #467fcf; + border-color: #467fcf; +} +.btn-outline-primary.focus, +.btn-outline-primary:focus { + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.5); +} +.btn-outline-primary.disabled, +.btn-outline-primary:disabled { + color: #467fcf; + background-color: initial; +} +.btn-outline-primary:not(:disabled):not(.disabled).active, +.btn-outline-primary:not(:disabled):not(.disabled):active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #467fcf; + border-color: #467fcf; +} +.btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.5); +} +.btn-outline-secondary { + color: #868e96; + background-color: initial; + background-image: none; + border-color: #868e96; +} +.btn-outline-secondary:hover { + color: #fff; + background-color: #868e96; + border-color: #868e96; +} +.btn-outline-secondary.focus, +.btn-outline-secondary:focus { + box-shadow: 0 0 0 2px rgba(134, 142, 150, 0.5); +} +.btn-outline-secondary.disabled, +.btn-outline-secondary:disabled { + color: #868e96; + background-color: initial; +} +.btn-outline-secondary:not(:disabled):not(.disabled).active, +.btn-outline-secondary:not(:disabled):not(.disabled):active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #868e96; + border-color: #868e96; +} +.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(134, 142, 150, 0.5); +} +.btn-outline-success { + color: #5eba00; + background-color: initial; + background-image: none; + border-color: #5eba00; +} +.btn-outline-success:hover { + color: #fff; + background-color: #5eba00; + border-color: #5eba00; +} +.btn-outline-success.focus, +.btn-outline-success:focus { + box-shadow: 0 0 0 2px rgba(94, 186, 0, 0.5); +} +.btn-outline-success.disabled, +.btn-outline-success:disabled { + color: #5eba00; + background-color: initial; +} +.btn-outline-success:not(:disabled):not(.disabled).active, +.btn-outline-success:not(:disabled):not(.disabled):active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #5eba00; + border-color: #5eba00; +} +.btn-outline-success:not(:disabled):not(.disabled).active:focus, +.btn-outline-success:not(:disabled):not(.disabled):active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(94, 186, 0, 0.5); +} +.btn-outline-info { + color: #45aaf2; + background-color: initial; + background-image: none; + border-color: #45aaf2; +} +.btn-outline-info:hover { + color: #fff; + background-color: #45aaf2; + border-color: #45aaf2; +} +.btn-outline-info.focus, +.btn-outline-info:focus { + box-shadow: 0 0 0 2px rgba(69, 170, 242, 0.5); +} +.btn-outline-info.disabled, +.btn-outline-info:disabled { + color: #45aaf2; + background-color: initial; +} +.btn-outline-info:not(:disabled):not(.disabled).active, +.btn-outline-info:not(:disabled):not(.disabled):active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #45aaf2; + border-color: #45aaf2; +} +.btn-outline-info:not(:disabled):not(.disabled).active:focus, +.btn-outline-info:not(:disabled):not(.disabled):active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(69, 170, 242, 0.5); +} +.btn-outline-warning { + color: #f1c40f; + background-color: initial; + background-image: none; + border-color: #f1c40f; +} +.btn-outline-warning:hover { + color: #fff; + background-color: #f1c40f; + border-color: #f1c40f; +} +.btn-outline-warning.focus, +.btn-outline-warning:focus { + box-shadow: 0 0 0 2px rgba(241, 196, 15, 0.5); +} +.btn-outline-warning.disabled, +.btn-outline-warning:disabled { + color: #f1c40f; + background-color: initial; +} +.btn-outline-warning:not(:disabled):not(.disabled).active, +.btn-outline-warning:not(:disabled):not(.disabled):active, +.show > .btn-outline-warning.dropdown-toggle { + color: #fff; + background-color: #f1c40f; + border-color: #f1c40f; +} +.btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(241, 196, 15, 0.5); +} +.btn-outline-danger { + color: #cd201f; + background-color: initial; + background-image: none; + border-color: #cd201f; +} +.btn-outline-danger:hover { + color: #fff; + background-color: #cd201f; + border-color: #cd201f; +} +.btn-outline-danger.focus, +.btn-outline-danger:focus { + box-shadow: 0 0 0 2px rgba(205, 32, 31, 0.5); +} +.btn-outline-danger.disabled, +.btn-outline-danger:disabled { + color: #cd201f; + background-color: initial; +} +.btn-outline-danger:not(:disabled):not(.disabled).active, +.btn-outline-danger:not(:disabled):not(.disabled):active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #cd201f; + border-color: #cd201f; +} +.btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(205, 32, 31, 0.5); +} +.btn-outline-light { + color: #f8f9fa; + background-color: initial; + background-image: none; + border-color: #f8f9fa; +} +.btn-outline-light:hover { + color: #495057; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-outline-light.focus, +.btn-outline-light:focus { + box-shadow: 0 0 0 2px rgba(248, 249, 250, 0.5); +} +.btn-outline-light.disabled, +.btn-outline-light:disabled { + color: #f8f9fa; + background-color: initial; +} +.btn-outline-light:not(:disabled):not(.disabled).active, +.btn-outline-light:not(:disabled):not(.disabled):active, +.show > .btn-outline-light.dropdown-toggle { + color: #495057; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-outline-light:not(:disabled):not(.disabled).active:focus, +.btn-outline-light:not(:disabled):not(.disabled):active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(248, 249, 250, 0.5); +} +.btn-outline-dark { + color: #343a40; + background-color: initial; + background-image: none; + border-color: #343a40; +} +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} +.btn-outline-dark.focus, +.btn-outline-dark:focus { + box-shadow: 0 0 0 2px rgba(52, 58, 64, 0.5); +} +.btn-outline-dark.disabled, +.btn-outline-dark:disabled { + color: #343a40; + background-color: initial; +} +.btn-outline-dark:not(:disabled):not(.disabled).active, +.btn-outline-dark:not(:disabled):not(.disabled):active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} +.btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(52, 58, 64, 0.5); +} +.btn-link { + font-weight: 400; + color: #467fcf; + background-color: initial; +} +.btn-link:hover { + color: #295a9f; + background-color: initial; +} +.btn-link.focus, +.btn-link:focus, +.btn-link:hover { + text-decoration: underline; + border-color: transparent; +} +.btn-link.focus, +.btn-link:focus { + box-shadow: none; +} +.btn-link.disabled, +.btn-link:disabled { + color: #868e96; +} +.btn-group-lg > .btn, +.btn-lg { + padding: 0.5rem 1rem; + font-size: 1.125rem; + line-height: 1.625; + border-radius: 3px; +} +.btn-group-sm > .btn, +.btn-sm { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.33333333; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 0.5rem; +} +input[type="button"].btn-block, +input[type="reset"].btn-block, +input[type="submit"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + transition: opacity 0.15s linear; +} +.fade.show { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.show { + display: block; +} +tr.collapse.show { + display: table-row; +} +tbody.collapse.show { + display: table-row-group; +} +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +.collapsing, +.dropdown, +.dropup { + position: relative; +} +.dropdown-toggle:after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 0.9375rem; + color: #495057; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px; +} +.dropup .dropdown-menu { + margin-top: 0; + margin-bottom: 0.125rem; +} +.dropup .dropdown-toggle:after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty:after { + margin-left: 0; +} +.dropright .dropdown-menu { + margin-top: 0; + margin-left: 0.125rem; +} +.dropright .dropdown-toggle:after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropright .dropdown-toggle:empty:after { + margin-left: 0; +} +.dropright .dropdown-toggle:after { + vertical-align: 0; +} +.dropleft .dropdown-menu { + margin-top: 0; + margin-right: 0.125rem; +} +.dropleft .dropdown-toggle:after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + display: none; +} +.dropleft .dropdown-toggle:before { + display: inline-block; + width: 0; + height: 0; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropleft .dropdown-toggle:empty:after { + margin-left: 0; +} +.dropleft .dropdown-toggle:before { + vertical-align: 0; +} +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: initial; + border: 0; +} +.dropdown-item:focus, +.dropdown-item:hover { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} +.dropdown-item.active, +.dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #467fcf; +} +.dropdown-item.disabled, +.dropdown-item:disabled { + color: #868e96; + background-color: initial; +} +.dropdown-menu.show { + display: block; +} +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #868e96; + white-space: nowrap; +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group-vertical > .btn, +.btn-group > .btn { + position: relative; + flex: 0 1 auto; +} +.btn-group-vertical > .btn.active, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:hover, +.btn-group > .btn.active, +.btn-group > .btn:active, +.btn-group > .btn:focus, +.btn-group > .btn:hover { + z-index: 1; +} +.btn-group-vertical .btn + .btn, +.btn-group-vertical .btn + .btn-group, +.btn-group-vertical .btn-group + .btn, +.btn-group-vertical .btn-group + .btn-group, +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn-group:not(:last-child) > .btn, +.btn-group > .btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:not(:first-child) > .btn, +.btn-group > .btn:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split:after { + margin-left: 0; +} +.btn-group-sm > .btn + .dropdown-toggle-split, +.btn-sm + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} +.btn-group-lg > .btn + .dropdown-toggle-split, +.btn-lg + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical .btn, +.btn-group-vertical .btn-group { + width: 100%; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn-group:not(:last-child) > .btn, +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:not(:first-child) > .btn, +.btn-group-vertical > .btn:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} +.btn-group-toggle > .btn-group > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn input[type="radio"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .custom-file, +.input-group > .custom-select, +.input-group > .form-control { + position: relative; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} +.input-group > .custom-file:focus, +.input-group > .custom-select:focus, +.input-group > .form-control:focus { + z-index: 3; +} +.input-group > .custom-file + .custom-file, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .form-control, +.input-group > .custom-select + .custom-file, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .form-control, +.input-group > .form-control + .custom-file, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .form-control { + margin-left: -1px; +} +.input-group > .custom-select:not(:last-child), +.input-group > .form-control:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > .custom-select:not(:first-child), +.input-group > .form-control:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .custom-file { + display: flex; + align-items: center; +} +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label:before { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > .custom-file:not(:first-child) .custom-file-label, +.input-group > .custom-file:not(:first-child) .custom-file-label:before { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-append, +.input-group-prepend { + display: flex; +} +.input-group-append .btn, +.input-group-prepend .btn { + position: relative; + z-index: 2; +} +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .btn, +.input-group-append .input-group-text + .input-group-text, +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-prepend .input-group-text + .input-group-text { + margin-left: -1px; +} +.input-group-prepend { + margin-right: -1px; +} +.input-group-append { + margin-left: -1px; +} +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 0.9375rem; + font-weight: 400; + line-height: 1.6; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #fbfbfc; + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px; +} +.input-group-text input[type="checkbox"], +.input-group-text input[type="radio"] { + margin-top: 0; +} +.input-group + > .input-group-append:last-child + > .btn:not(:last-child):not(.dropdown-toggle), +.input-group + > .input-group-append:last-child + > .input-group-text:not(:last-child), +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group + > .input-group-prepend:first-child + > .input-group-text:not(:first-child), +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} +.custom-control-inline { + display: inline-flex; + margin-right: 1rem; +} +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} +.custom-control-input:checked ~ .custom-control-label:before { + color: #fff; + background-color: #467fcf; +} +.custom-control-input:focus ~ .custom-control-label:before { + box-shadow: 0 0 0 1px #f5f7fb, 0 0 0 2px rgba(70, 127, 207, 0.25); +} +.custom-control-input:active ~ .custom-control-label:before { + color: #fff; + background-color: #d4e1f4; +} +.custom-control-input:disabled ~ .custom-control-label { + color: #868e96; +} +.custom-control-input:disabled ~ .custom-control-label:before { + background-color: #e9ecef; +} +.custom-control-label { + margin-bottom: 0; +} +.custom-control-label:before { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #dee2e6; +} +.custom-control-label:after, +.custom-control-label:before { + position: absolute; + top: 0.25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + content: ""; +} +.custom-control-label:after { + background-repeat: no-repeat; + background-position: 50%; + background-size: 50% 50%; +} +.custom-checkbox .custom-control-label:before { + border-radius: 3px; +} +.custom-checkbox .custom-control-input:checked ~ .custom-control-label:before { + background-color: #467fcf; +} +.custom-checkbox .custom-control-input:checked ~ .custom-control-label:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); +} +.custom-checkbox + .custom-control-input:indeterminate + ~ .custom-control-label:before { + background-color: #467fcf; +} +.custom-checkbox + .custom-control-input:indeterminate + ~ .custom-control-label:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); +} +.custom-checkbox + .custom-control-input:disabled:checked + ~ .custom-control-label:before { + background-color: rgba(70, 127, 207, 0.5); +} +.custom-checkbox + .custom-control-input:disabled:indeterminate + ~ .custom-control-label:before { + background-color: rgba(70, 127, 207, 0.5); +} +.custom-radio .custom-control-label:before { + border-radius: 50%; +} +.custom-radio .custom-control-input:checked ~ .custom-control-label:before { + background-color: #467fcf; +} +.custom-radio .custom-control-input:checked ~ .custom-control-label:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); +} +.custom-radio + .custom-control-input:disabled:checked + ~ .custom-control-label:before { + background-color: rgba(70, 127, 207, 0.5); +} +.custom-select { + display: inline-block; + width: 100%; + height: 2.375rem; + padding: 0.5rem 1.75rem 0.5rem 0.75rem; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff + url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 5'%3E%3Cpath fill='#999' d='M0 0L10 0L5 5L0 0'/%3E%3C/svg%3E") + no-repeat right 0.75rem center; + background-size: 8px 10px; + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.custom-select:focus { + border-color: #1991eb; + outline: 0; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), + 0 0 5px rgba(25, 145, 235, 0.5); +} +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} +.custom-select[multiple], +.custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} +.custom-select:disabled { + color: #868e96; + background-color: #e9ecef; +} +.custom-select::-ms-expand { + opacity: 0; +} +.custom-select-sm { + height: calc(1.8125rem + 2px); + font-size: 75%; +} +.custom-select-lg, +.custom-select-sm { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.custom-select-lg { + height: calc(2.6875rem + 2px); + font-size: 125%; +} +.custom-file { + display: inline-block; + margin-bottom: 0; +} +.custom-file, +.custom-file-input { + position: relative; + width: 100%; + height: 2.375rem; +} +.custom-file-input { + z-index: 2; + margin: 0; + opacity: 0; +} +.custom-file-input:focus ~ .custom-file-control { + border-color: #1991eb; + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); +} +.custom-file-input:focus ~ .custom-file-control:before { + border-color: #1991eb; +} +.custom-file-input:lang(en) ~ .custom-file-label:after { + content: "Browse"; +} +.custom-file-label { + left: 0; + z-index: 1; + height: 2.375rem; + background-color: #fff; + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px; +} +.custom-file-label, +.custom-file-label:after { + position: absolute; + top: 0; + right: 0; + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; +} +.custom-file-label:after { + bottom: 0; + z-index: 3; + display: block; + height: calc(2.375rem - 2px); + content: "Browse"; + background-color: #fbfbfc; + border-left: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 0 3px 3px 0; +} +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav-link { + display: block; + padding: 0.5rem 1rem; +} +.nav-link:focus, +.nav-link:hover { + text-decoration: none; +} +.nav-link.disabled { + color: #868e96; +} +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} +.nav-tabs .nav-item { + margin-bottom: -1px; +} +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + border-color: #e9ecef #e9ecef #dee2e6; +} +.nav-tabs .nav-link.disabled { + color: #868e96; + background-color: initial; + border-color: transparent; +} +.nav-tabs .nav-item.show .nav-link, +.nav-tabs .nav-link.active { + color: #495057; + background-color: #f5f7fb; + border-color: #dee2e6 #dee2e6 #f5f7fb; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav-pills .nav-link { + border-radius: 3px; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #467fcf; +} +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.navbar { + position: relative; + padding: 0.5rem 1rem; +} +.navbar, +.navbar > .container, +.navbar > .container-fluid { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + display: inline-block; + padding-top: 0.359375rem; + padding-bottom: 0.359375rem; + margin-right: 1rem; + font-size: 1.125rem; + line-height: inherit; + white-space: nowrap; +} +.navbar-brand:focus, +.navbar-brand:hover { + text-decoration: none; +} +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +.navbar-nav .dropdown-menu { + position: static; + float: none; +} +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.125rem; + line-height: 1; + background-color: initial; + border: 1px solid transparent; + border-radius: 3px; +} +.navbar-toggler:focus, +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:not(:disabled):not(.disabled) { + cursor: pointer; +} +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat 50%; + background-size: 100% 100%; +} +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} +@media (min-width: 576px) { + .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} +@media (max-width: 1279.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} +@media (min-width: 1280px) { + .navbar-expand-xl { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} +.navbar-expand { + flex-flow: row nowrap; + justify-content: flex-start; +} +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} +.navbar-expand > .container, +.navbar-expand > .container-fluid { + flex-wrap: nowrap; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .dropup .dropdown-menu { + top: auto; + bottom: 100%; +} +.navbar-light .navbar-brand, +.navbar-light .navbar-brand:focus, +.navbar-light .navbar-brand:hover { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} +.navbar-light .navbar-nav .nav-link:focus, +.navbar-light .navbar-nav .nav-link:hover { + color: rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.active, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .show > .nav-link { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:focus, +.navbar-light .navbar-text a:hover { + color: rgba(0, 0, 0, 0.9); +} +.navbar-dark .navbar-brand, +.navbar-dark .navbar-brand:focus, +.navbar-dark .navbar-brand:hover { + color: #fff; +} +.navbar-dark .navbar-nav .nav-link { + color: hsla(0, 0%, 100%, 0.5); +} +.navbar-dark .navbar-nav .nav-link:focus, +.navbar-dark .navbar-nav .nav-link:hover { + color: hsla(0, 0%, 100%, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: hsla(0, 0%, 100%, 0.25); +} +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.active, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .show > .nav-link { + color: #fff; +} +.navbar-dark .navbar-toggler { + color: hsla(0, 0%, 100%, 0.5); + border-color: hsla(0, 0%, 100%, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} +.navbar-dark .navbar-text { + color: hsla(0, 0%, 100%, 0.5); +} +.navbar-dark .navbar-text a, +.navbar-dark .navbar-text a:focus, +.navbar-dark .navbar-text a:hover { + color: #fff; +} +.card { + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: initial; + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px; +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.card-subtitle { + margin-top: -0.75rem; +} +.card-subtitle, +.card-text:last-child { + margin-bottom: 0; +} +.card-link:hover { + text-decoration: none; +} +.card-link + .card-link { + margin-left: 1.5rem; +} +.card-header { + padding: 1.5rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 40, 100, 0.12); +} +.card-header:first-child { + border-radius: 2px 2px 0 0; +} +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} +.card-footer { + padding: 1.5rem; + background-color: rgba(0, 0, 0, 0.03); +} +.card-footer:last-child { + border-radius: 0 0 2px 2px; +} +.card-header-tabs { + margin-bottom: -1.5rem; +} +.card-header-pills, +.card-header-tabs { + margin-right: -0.75rem; + margin-left: -0.75rem; +} +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} +.card-img { + width: 100%; + border-radius: 2px; +} +.card-img-top { + width: 100%; + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} +.card-img-bottom { + width: 100%; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.card-deck { + display: flex; + flex-direction: column; +} +.card-deck .card { + margin-bottom: 0.75rem; +} +@media (min-width: 576px) { + .card-deck { + flex-flow: row wrap; + margin-right: -0.75rem; + margin-left: -0.75rem; + } + .card-deck .card { + display: flex; + flex: 1 0; + flex-direction: column; + margin-right: 0.75rem; + margin-bottom: 0; + margin-left: 0.75rem; + } +} +.card-group { + display: flex; + flex-direction: column; +} +.card-group > .card { + margin-bottom: 0.75rem; +} +@media (min-width: 576px) { + .card-group { + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:first-child .card-header, + .card-group > .card:first-child .card-img-top { + border-top-right-radius: 0; + } + .card-group > .card:first-child .card-footer, + .card-group > .card:first-child .card-img-bottom { + border-bottom-right-radius: 0; + } + .card-group > .card:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:last-child .card-header, + .card-group > .card:last-child .card-img-top { + border-top-left-radius: 0; + } + .card-group > .card:last-child .card-footer, + .card-group > .card:last-child .card-img-bottom { + border-bottom-left-radius: 0; + } + .card-group > .card:only-child { + border-radius: 3px; + } + .card-group > .card:only-child .card-header, + .card-group > .card:only-child .card-img-top { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + .card-group > .card:only-child .card-footer, + .card-group > .card:only-child .card-img-bottom { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + } + .card-group > .card:not(:first-child):not(:last-child):not(:only-child), + .card-group + > .card:not(:first-child):not(:last-child):not(:only-child) + .card-footer, + .card-group + > .card:not(:first-child):not(:last-child):not(:only-child) + .card-header, + .card-group + > .card:not(:first-child):not(:last-child):not(:only-child) + .card-img-bottom, + .card-group + > .card:not(:first-child):not(:last-child):not(:only-child) + .card-img-top { + border-radius: 0; + } +} +.card-columns .card { + margin-bottom: 1.5rem; +} +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + grid-column-gap: 1.25rem; + column-gap: 1.25rem; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 3px; +} +.breadcrumb-item + .breadcrumb-item:before { + display: inline-block; + padding-right: 0.5rem; + padding-left: 0.5rem; + color: #868e96; + content: "/"; +} +.breadcrumb-item + .breadcrumb-item:hover:before { + text-decoration: underline; + text-decoration: none; +} +.breadcrumb-item.active { + color: #868e96; +} +.pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 3px; +} +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #495057; + background-color: #fff; + border: 1px solid #dee2e6; +} +.page-link:hover { + color: #295a9f; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); +} +.page-link:not(:disabled):not(.disabled) { + cursor: pointer; +} +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.page-item:last-child .page-link { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #467fcf; + border-color: #467fcf; +} +.page-item.disabled .page-link { + color: #ced4da; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.125rem; + line-height: 1.5; +} +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 600; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: initial; + border-radius: 3px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} +.badge-primary { + color: #fff; + background-color: #467fcf; +} +.badge-primary[href]:focus, +.badge-primary[href]:hover { + color: #fff; + text-decoration: none; + background-color: #2f66b3; +} +.badge-secondary { + color: #fff; + background-color: #868e96; +} +.badge-secondary[href]:focus, +.badge-secondary[href]:hover { + color: #fff; + text-decoration: none; + background-color: #6c757d; +} +.badge-success { + color: #fff; + background-color: #5eba00; +} +.badge-success[href]:focus, +.badge-success[href]:hover { + color: #fff; + text-decoration: none; + background-color: #448700; +} +.badge-info { + color: #fff; + background-color: #45aaf2; +} +.badge-info[href]:focus, +.badge-info[href]:hover { + color: #fff; + text-decoration: none; + background-color: #1594ef; +} +.badge-warning { + color: #fff; + background-color: #f1c40f; +} +.badge-warning[href]:focus, +.badge-warning[href]:hover { + color: #fff; + text-decoration: none; + background-color: #c29d0b; +} +.badge-danger { + color: #fff; + background-color: #cd201f; +} +.badge-danger[href]:focus, +.badge-danger[href]:hover { + color: #fff; + text-decoration: none; + background-color: #a11918; +} +.badge-light { + color: #495057; + background-color: #f8f9fa; +} +.badge-light[href]:focus, +.badge-light[href]:hover { + color: #495057; + text-decoration: none; + background-color: #dae0e5; +} +.badge-dark { + color: #fff; + background-color: #343a40; +} +.badge-dark[href]:focus, +.badge-dark[href]:hover { + color: #fff; + text-decoration: none; + background-color: #1d2124; +} +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 3px; +} +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 3px; +} +.alert-heading { + color: inherit; +} +.alert-link { + font-weight: 600; +} +.alert-dismissible { + padding-right: 3.90625rem; +} +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} +.alert-primary { + color: #24426c; + background-color: #dae5f5; + border-color: #cbdbf2; +} +.alert-primary hr { + border-top-color: #b7cded; +} +.alert-primary .alert-link { + color: #172b46; +} +.alert-secondary { + color: #464a4e; + background-color: #e7e8ea; + border-color: #dddfe2; +} +.alert-secondary hr { + border-top-color: #cfd2d6; +} +.alert-secondary .alert-link { + color: #2e3133; +} +.alert-success { + color: #316100; + background-color: #dff1cc; + border-color: #d2ecb8; +} +.alert-success hr { + border-top-color: #c5e7a4; +} +.alert-success .alert-link { + color: #172e00; +} +.alert-info { + color: #24587e; + background-color: #daeefc; + border-color: #cbe7fb; +} +.alert-info hr { + border-top-color: #b3dcf9; +} +.alert-info .alert-link { + color: #193c56; +} +.alert-warning { + color: #7d6608; + background-color: #fcf3cf; + border-color: #fbeebc; +} +.alert-warning hr { + border-top-color: #fae8a4; +} +.alert-warning .alert-link { + color: #4d3f05; +} +.alert-danger { + color: #6b1110; + background-color: #f5d2d2; + border-color: #f1c1c0; +} +.alert-danger hr { + border-top-color: #ecacab; +} +.alert-danger .alert-link { + color: #3f0a09; +} +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} +.alert-light hr { + border-top-color: #ececf6; +} +.alert-light .alert-link { + color: #686868; +} +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} +.alert-dark hr { + border-top-color: #b9bbbe; +} +.alert-dark .alert-link { + color: #040505; +} +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + 0% { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.703125rem; + background-color: #e9ecef; + border-radius: 3px; +} +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + color: #fff; + text-align: center; + background-color: #467fcf; + transition: width 0.6s ease; +} +.progress-bar-striped { + background-image: linear-gradient( + 45deg, + hsla(0, 0%, 100%, 0.15) 25%, + transparent 0, + transparent 50%, + hsla(0, 0%, 100%, 0.15) 0, + hsla(0, 0%, 100%, 0.15) 75%, + transparent 0, + transparent + ); + background-size: 1rem 1rem; +} +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} +.media { + display: flex; + align-items: flex-start; +} +.media-body { + flex: 1 1; +} +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} +.list-group-item-action:focus, +.list-group-item-action:hover { + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} +.list-group-item-action:active { + color: #495057; + background-color: #e9ecef; +} +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 40, 100, 0.12); +} +.list-group-item:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.list-group-item:focus, +.list-group-item:hover { + z-index: 1; + text-decoration: none; +} +.list-group-item.disabled, +.list-group-item:disabled { + color: #868e96; + background-color: #fff; +} +.list-group-item.active { + z-index: 2; + color: #467fcf; + background-color: #f8fafd; + border-color: rgba(0, 40, 100, 0.12); +} +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} +.list-group-flush:last-child .list-group-item:last-child { + border-bottom: 0; +} +.list-group-item-primary { + color: #24426c; + background-color: #cbdbf2; +} +.list-group-item-primary.list-group-item-action:focus, +.list-group-item-primary.list-group-item-action:hover { + color: #24426c; + background-color: #b7cded; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #24426c; + border-color: #24426c; +} +.list-group-item-secondary { + color: #464a4e; + background-color: #dddfe2; +} +.list-group-item-secondary.list-group-item-action:focus, +.list-group-item-secondary.list-group-item-action:hover { + color: #464a4e; + background-color: #cfd2d6; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #464a4e; + border-color: #464a4e; +} +.list-group-item-success { + color: #316100; + background-color: #d2ecb8; +} +.list-group-item-success.list-group-item-action:focus, +.list-group-item-success.list-group-item-action:hover { + color: #316100; + background-color: #c5e7a4; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #316100; + border-color: #316100; +} +.list-group-item-info { + color: #24587e; + background-color: #cbe7fb; +} +.list-group-item-info.list-group-item-action:focus, +.list-group-item-info.list-group-item-action:hover { + color: #24587e; + background-color: #b3dcf9; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #24587e; + border-color: #24587e; +} +.list-group-item-warning { + color: #7d6608; + background-color: #fbeebc; +} +.list-group-item-warning.list-group-item-action:focus, +.list-group-item-warning.list-group-item-action:hover { + color: #7d6608; + background-color: #fae8a4; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #7d6608; + border-color: #7d6608; +} +.list-group-item-danger { + color: #6b1110; + background-color: #f1c1c0; +} +.list-group-item-danger.list-group-item-action:focus, +.list-group-item-danger.list-group-item-action:hover { + color: #6b1110; + background-color: #ecacab; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #6b1110; + border-color: #6b1110; +} +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} +.list-group-item-light.list-group-item-action:focus, +.list-group-item-light.list-group-item-action:hover { + color: #818182; + background-color: #ececf6; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} +.list-group-item-dark.list-group-item-action:focus, +.list-group-item-dark.list-group-item-action:hover { + color: #1b1e21; + background-color: #b9bbbe; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} +.close { + float: right; + font-size: 1.40625rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.5; +} +.close:focus, +.close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; +} +.close:not(:disabled):not(.disabled) { + cursor: pointer; +} +button.close { + padding: 0; + background-color: initial; + border: 0; + -webkit-appearance: none; +} +.modal, +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + outline: 0; +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translateY(-25%); + transform: translateY(-25%); +} +.modal.show .modal-dialog { + -webkit-transform: translate(0); + transform: translate(0); +} +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: 0.5; +} +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem; + border-bottom: 1px solid #e9ecef; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.modal-header .close { + padding: 1rem; + margin: -1rem -1rem -1rem auto; +} +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} +.modal-footer { + display: flex; + align-items: center; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #e9ecef; +} +.modal-footer > :not(:first-child) { + margin-left: 0.25rem; +} +.modal-footer > :not(:last-child) { + margin-right: 0.25rem; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-sm { + max-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + max-width: 800px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: Source Sans Pro, -apple-system, BlinkMacSystemFont, Segoe UI, + Helvetica Neue, Arial, sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: 0.9; +} +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} +.tooltip .arrow:before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} +.bs-tooltip-auto[x-placement^="top"], +.bs-tooltip-top { + padding: 0.4rem 0; +} +.bs-tooltip-auto[x-placement^="top"] .arrow, +.bs-tooltip-top .arrow { + bottom: 0; +} +.bs-tooltip-auto[x-placement^="top"] .arrow:before, +.bs-tooltip-top .arrow:before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} +.bs-tooltip-auto[x-placement^="right"], +.bs-tooltip-right { + padding: 0 0.4rem; +} +.bs-tooltip-auto[x-placement^="right"] .arrow, +.bs-tooltip-right .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-auto[x-placement^="right"] .arrow:before, +.bs-tooltip-right .arrow:before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} +.bs-tooltip-auto[x-placement^="bottom"], +.bs-tooltip-bottom { + padding: 0.4rem 0; +} +.bs-tooltip-auto[x-placement^="bottom"] .arrow, +.bs-tooltip-bottom .arrow { + top: 0; +} +.bs-tooltip-auto[x-placement^="bottom"] .arrow:before, +.bs-tooltip-bottom .arrow:before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} +.bs-tooltip-auto[x-placement^="left"], +.bs-tooltip-left { + padding: 0 0.4rem; +} +.bs-tooltip-auto[x-placement^="left"] .arrow, +.bs-tooltip-left .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-auto[x-placement^="left"] .arrow:before, +.bs-tooltip-left .arrow:before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 3px; +} +.popover { + top: 0; + left: 0; + z-index: 1060; + max-width: 276px; + font-family: Source Sans Pro, -apple-system, BlinkMacSystemFont, Segoe UI, + Helvetica Neue, Arial, sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #dee3eb; + border-radius: 3px; +} +.popover, +.popover .arrow { + position: absolute; + display: block; +} +.popover .arrow { + width: 0.5rem; + height: 0.5rem; + margin: 0 3px; +} +.popover .arrow:after, +.popover .arrow:before { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} +.bs-popover-auto[x-placement^="top"], +.bs-popover-top { + margin-bottom: 0.5rem; +} +.bs-popover-auto[x-placement^="top"] .arrow, +.bs-popover-top .arrow { + bottom: calc(-0.5rem + -1px); +} +.bs-popover-auto[x-placement^="top"] .arrow:after, +.bs-popover-auto[x-placement^="top"] .arrow:before, +.bs-popover-top .arrow:after, +.bs-popover-top .arrow:before { + border-width: 0.5rem 0.25rem 0; +} +.bs-popover-auto[x-placement^="top"] .arrow:before, +.bs-popover-top .arrow:before { + bottom: 0; + border-top-color: #dee3eb; +} +.bs-popover-auto[x-placement^="top"] .arrow:after, +.bs-popover-top .arrow:after { + bottom: 1px; + border-top-color: #fff; +} +.bs-popover-auto[x-placement^="right"], +.bs-popover-right { + margin-left: 0.5rem; +} +.bs-popover-auto[x-placement^="right"] .arrow, +.bs-popover-right .arrow { + left: calc(-0.5rem + -1px); + width: 0.5rem; + height: 0.5rem; + margin: 3px 0; +} +.bs-popover-auto[x-placement^="right"] .arrow:after, +.bs-popover-auto[x-placement^="right"] .arrow:before, +.bs-popover-right .arrow:after, +.bs-popover-right .arrow:before { + border-width: 0.25rem 0.5rem 0.25rem 0; +} +.bs-popover-auto[x-placement^="right"] .arrow:before, +.bs-popover-right .arrow:before { + left: 0; + border-right-color: #dee3eb; +} +.bs-popover-auto[x-placement^="right"] .arrow:after, +.bs-popover-right .arrow:after { + left: 1px; + border-right-color: #fff; +} +.bs-popover-auto[x-placement^="bottom"], +.bs-popover-bottom { + margin-top: 0.5rem; +} +.bs-popover-auto[x-placement^="bottom"] .arrow, +.bs-popover-bottom .arrow { + top: calc(-0.5rem + -1px); +} +.bs-popover-auto[x-placement^="bottom"] .arrow:after, +.bs-popover-auto[x-placement^="bottom"] .arrow:before, +.bs-popover-bottom .arrow:after, +.bs-popover-bottom .arrow:before { + border-width: 0 0.25rem 0.5rem; +} +.bs-popover-auto[x-placement^="bottom"] .arrow:before, +.bs-popover-bottom .arrow:before { + top: 0; + border-bottom-color: #dee3eb; +} +.bs-popover-auto[x-placement^="bottom"] .arrow:after, +.bs-popover-bottom .arrow:after { + top: 1px; + border-bottom-color: #fff; +} +.bs-popover-auto[x-placement^="bottom"] .popover-header:before, +.bs-popover-bottom .popover-header:before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 0.5rem; + margin-left: -0.25rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} +.bs-popover-auto[x-placement^="left"], +.bs-popover-left { + margin-right: 0.5rem; +} +.bs-popover-auto[x-placement^="left"] .arrow, +.bs-popover-left .arrow { + right: calc(-0.5rem + -1px); + width: 0.5rem; + height: 0.5rem; + margin: 3px 0; +} +.bs-popover-auto[x-placement^="left"] .arrow:after, +.bs-popover-auto[x-placement^="left"] .arrow:before, +.bs-popover-left .arrow:after, +.bs-popover-left .arrow:before { + border-width: 0.25rem 0 0.25rem 0.5rem; +} +.bs-popover-auto[x-placement^="left"] .arrow:before, +.bs-popover-left .arrow:before { + right: 0; + border-left-color: #dee3eb; +} +.bs-popover-auto[x-placement^="left"] .arrow:after, +.bs-popover-left .arrow:after { + right: 1px; + border-left-color: #fff; +} +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 0.9375rem; + color: inherit; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} +.popover-header:empty { + display: none; +} +.popover-body { + padding: 0.75rem 1rem; + color: #6e7687; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-item { + position: relative; + display: none; + align-items: center; + width: 100%; + transition: -webkit-transform 0.6s ease; + transition: transform 0.6s ease; + transition: transform 0.6s ease, -webkit-transform 0.6s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; +} +.carousel-item-next, +.carousel-item-prev, +.carousel-item.active { + display: block; +} +.carousel-item-next, +.carousel-item-prev { + position: absolute; + top: 0; +} +.carousel-item-next.carousel-item-left, +.carousel-item-prev.carousel-item-right { + -webkit-transform: translateX(0); + transform: translateX(0); +} +@supports ( + ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) +) { + .carousel-item-next.carousel-item-left, + .carousel-item-prev.carousel-item-right { + -webkit-transform: translateZ(0); + transform: translateZ(0); + } +} +.active.carousel-item-right, +.carousel-item-next { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +@supports ( + ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) +) { + .active.carousel-item-right, + .carousel-item-next { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} +.active.carousel-item-left, +.carousel-item-prev { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +@supports ( + ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) +) { + .active.carousel-item-left, + .carousel-item-prev { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} +.carousel-control-next, +.carousel-control-prev { + position: absolute; + top: 0; + bottom: 0; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; +} +.carousel-control-next:focus, +.carousel-control-next:hover, +.carousel-control-prev:focus, +.carousel-control-prev:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} +.carousel-control-prev { + left: 0; +} +.carousel-control-next { + right: 0; +} +.carousel-control-next-icon, +.carousel-control-prev-icon { + display: inline-block; + width: 20px; + height: 20px; + background: transparent no-repeat 50%; + background-size: 100% 100%; +} +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); +} +.carousel-control-next-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); +} +.carousel-indicators { + position: absolute; + right: 0; + bottom: 10px; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} +.carousel-indicators li { + position: relative; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + background-color: hsla(0, 0%, 100%, 0.5); +} +.carousel-indicators li:before { + top: -10px; +} +.carousel-indicators li:after, +.carousel-indicators li:before { + position: absolute; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; +} +.carousel-indicators li:after { + bottom: -10px; +} +.carousel-indicators .active { + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} +.align-baseline { + vertical-align: initial !important; +} +.align-top { + vertical-align: top !important; +} +.align-middle { + vertical-align: middle !important; +} +.align-bottom { + vertical-align: bottom !important; +} +.align-text-bottom { + vertical-align: text-bottom !important; +} +.align-text-top { + vertical-align: text-top !important; +} +.bg-primary { + background-color: #467fcf !important; +} +a.bg-primary:focus, +a.bg-primary:hover, +button.bg-primary:focus, +button.bg-primary:hover { + background-color: #2f66b3 !important; +} +.bg-secondary { + background-color: #868e96 !important; +} +a.bg-secondary:focus, +a.bg-secondary:hover, +button.bg-secondary:focus, +button.bg-secondary:hover { + background-color: #6c757d !important; +} +.bg-success { + background-color: #5eba00 !important; +} +a.bg-success:focus, +a.bg-success:hover, +button.bg-success:focus, +button.bg-success:hover { + background-color: #448700 !important; +} +.bg-info { + background-color: #45aaf2 !important; +} +a.bg-info:focus, +a.bg-info:hover, +button.bg-info:focus, +button.bg-info:hover { + background-color: #1594ef !important; +} +.bg-warning { + background-color: #f1c40f !important; +} +a.bg-warning:focus, +a.bg-warning:hover, +button.bg-warning:focus, +button.bg-warning:hover { + background-color: #c29d0b !important; +} +.bg-danger { + background-color: #cd201f !important; +} +a.bg-danger:focus, +a.bg-danger:hover, +button.bg-danger:focus, +button.bg-danger:hover { + background-color: #a11918 !important; +} +.bg-light { + background-color: #f8f9fa !important; +} +a.bg-light:focus, +a.bg-light:hover, +button.bg-light:focus, +button.bg-light:hover { + background-color: #dae0e5 !important; +} +.bg-dark { + background-color: #343a40 !important; +} +a.bg-dark:focus, +a.bg-dark:hover, +button.bg-dark:focus, +button.bg-dark:hover { + background-color: #1d2124 !important; +} +.bg-transparent { + background-color: initial !important; +} +.border { + border: 1px solid rgba(0, 40, 100, 0.12) !important; +} +.border-top { + border-top: 1px solid rgba(0, 40, 100, 0.12) !important; +} +.border-right { + border-right: 1px solid rgba(0, 40, 100, 0.12) !important; +} +.border-bottom { + border-bottom: 1px solid rgba(0, 40, 100, 0.12) !important; +} +.border-left { + border-left: 1px solid rgba(0, 40, 100, 0.12) !important; +} +.border-0 { + border: 0 !important; +} +.border-top-0 { + border-top: 0 !important; +} +.border-right-0 { + border-right: 0 !important; +} +.border-bottom-0 { + border-bottom: 0 !important; +} +.border-left-0 { + border-left: 0 !important; +} +.border-primary { + border-color: #467fcf !important; +} +.border-secondary { + border-color: #868e96 !important; +} +.border-success { + border-color: #5eba00 !important; +} +.border-info { + border-color: #45aaf2 !important; +} +.border-warning { + border-color: #f1c40f !important; +} +.border-danger { + border-color: #cd201f !important; +} +.border-light { + border-color: #f8f9fa !important; +} +.border-dark { + border-color: #343a40 !important; +} +.border-white { + border-color: #fff !important; +} +.rounded { + border-radius: 3px !important; +} +.rounded-top { + border-top-left-radius: 3px !important; +} +.rounded-right, +.rounded-top { + border-top-right-radius: 3px !important; +} +.rounded-bottom, +.rounded-right { + border-bottom-right-radius: 3px !important; +} +.rounded-bottom, +.rounded-left { + border-bottom-left-radius: 3px !important; +} +.rounded-left { + border-top-left-radius: 3px !important; +} +.rounded-circle { + border-radius: 50% !important; +} +.rounded-0 { + border-radius: 0 !important; +} +.clearfix:after { + display: block; + clear: both; + content: ""; +} +.d-none { + display: none !important; +} +.d-inline { + display: inline !important; +} +.d-inline-block { + display: inline-block !important; +} +.d-block { + display: block !important; +} +.d-table { + display: table !important; +} +.d-table-row { + display: table-row !important; +} +.d-table-cell { + display: table-cell !important; +} +.d-flex { + display: flex !important; +} +.d-inline-flex { + display: inline-flex !important; +} +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } +} +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } +} +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } +} +@media (min-width: 1280px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } +} +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } +} +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} +.embed-responsive:before { + display: block; + content: ""; +} +.embed-responsive .embed-responsive-item, +.embed-responsive embed, +.embed-responsive iframe, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive-21by9:before { + padding-top: 42.85714286%; +} +.embed-responsive-16by9:before { + padding-top: 56.25%; +} +.embed-responsive-4by3:before { + padding-top: 75%; +} +.embed-responsive-1by1:before { + padding-top: 100%; +} +.flex-row { + flex-direction: row !important; +} +.flex-column { + flex-direction: column !important; +} +.flex-row-reverse { + flex-direction: row-reverse !important; +} +.flex-column-reverse { + flex-direction: column-reverse !important; +} +.flex-wrap { + flex-wrap: wrap !important; +} +.flex-nowrap { + flex-wrap: nowrap !important; +} +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} +.justify-content-start { + justify-content: flex-start !important; +} +.justify-content-end { + justify-content: flex-end !important; +} +.justify-content-center { + justify-content: center !important; +} +.justify-content-between { + justify-content: space-between !important; +} +.justify-content-around { + justify-content: space-around !important; +} +.align-items-start { + align-items: flex-start !important; +} +.align-items-end { + align-items: flex-end !important; +} +.align-items-center { + align-items: center !important; +} +.align-items-baseline { + align-items: baseline !important; +} +.align-items-stretch { + align-items: stretch !important; +} +.align-content-start { + align-content: flex-start !important; +} +.align-content-end { + align-content: flex-end !important; +} +.align-content-center { + align-content: center !important; +} +.align-content-between { + align-content: space-between !important; +} +.align-content-around { + align-content: space-around !important; +} +.align-content-stretch { + align-content: stretch !important; +} +.align-self-auto { + align-self: auto !important; +} +.align-self-start { + align-self: flex-start !important; +} +.align-self-end { + align-self: flex-end !important; +} +.align-self-center { + align-self: center !important; +} +.align-self-baseline { + align-self: baseline !important; +} +.align-self-stretch { + align-self: stretch !important; +} +@media (min-width: 576px) { + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } +} +@media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } +} +@media (min-width: 992px) { + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } +} +@media (min-width: 1280px) { + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } +} +.float-left { + float: left !important; +} +.float-right { + float: right !important; +} +.float-none { + float: none !important; +} +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} +@media (min-width: 1280px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} +.position-static { + position: static !important; +} +.position-relative { + position: relative !important; +} +.position-absolute { + position: absolute !important; +} +.position-fixed { + position: fixed !important; +} +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} +.fixed-top { + top: 0; +} +.fixed-bottom, +.fixed-top { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +.fixed-bottom { + bottom: 0; +} +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; + -webkit-clip-path: none; + clip-path: none; +} +.w-25 { + width: 25% !important; +} +.w-50 { + width: 50% !important; +} +.w-75 { + width: 75% !important; +} +.w-100 { + width: 100% !important; +} +.w-0 { + width: 0 !important; +} +.w-1 { + width: 0.25rem !important; +} +.w-2 { + width: 0.5rem !important; +} +.w-3 { + width: 0.75rem !important; +} +.w-4 { + width: 1rem !important; +} +.w-5 { + width: 1.5rem !important; +} +.w-6 { + width: 2rem !important; +} +.w-7 { + width: 3rem !important; +} +.w-8 { + width: 4rem !important; +} +.w-9 { + width: 6rem !important; +} +.w-auto { + width: auto !important; +} +.h-25 { + height: 25% !important; +} +.h-50 { + height: 50% !important; +} +.h-75 { + height: 75% !important; +} +.h-100 { + height: 100% !important; +} +.h-0 { + height: 0 !important; +} +.h-1 { + height: 0.25rem !important; +} +.h-2 { + height: 0.5rem !important; +} +.h-3 { + height: 0.75rem !important; +} +.h-4 { + height: 1rem !important; +} +.h-5 { + height: 1.5rem !important; +} +.h-6 { + height: 2rem !important; +} +.h-7 { + height: 3rem !important; +} +.h-8 { + height: 4rem !important; +} +.h-9 { + height: 6rem !important; +} +.h-auto { + height: auto !important; +} +.mw-100 { + max-width: 100% !important; +} +.mh-100 { + max-height: 100% !important; +} +.m-0 { + margin: 0 !important; +} +.mt-0, +.my-0 { + margin-top: 0 !important; +} +.mr-0, +.mx-0 { + margin-right: 0 !important; +} +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} +.ml-0, +.mx-0 { + margin-left: 0 !important; +} +.m-1 { + margin: 0.25rem !important; +} +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} +.m-2 { + margin: 0.5rem !important; +} +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} +.m-3 { + margin: 0.75rem !important; +} +.mt-3, +.my-3 { + margin-top: 0.75rem !important; +} +.mr-3, +.mx-3 { + margin-right: 0.75rem !important; +} +.mb-3, +.my-3 { + margin-bottom: 0.75rem !important; +} +.ml-3, +.mx-3 { + margin-left: 0.75rem !important; +} +.m-4 { + margin: 1rem !important; +} +.mt-4, +.my-4 { + margin-top: 1rem !important; +} +.mr-4, +.mx-4 { + margin-right: 1rem !important; +} +.mb-4, +.my-4 { + margin-bottom: 1rem !important; +} +.ml-4, +.mx-4 { + margin-left: 1rem !important; +} +.m-5 { + margin: 1.5rem !important; +} +.mt-5, +.my-5 { + margin-top: 1.5rem !important; +} +.mr-5, +.mx-5 { + margin-right: 1.5rem !important; +} +.mb-5, +.my-5 { + margin-bottom: 1.5rem !important; +} +.ml-5, +.mx-5 { + margin-left: 1.5rem !important; +} +.m-6 { + margin: 2rem !important; +} +.mt-6, +.my-6 { + margin-top: 2rem !important; +} +.mr-6, +.mx-6 { + margin-right: 2rem !important; +} +.mb-6, +.my-6 { + margin-bottom: 2rem !important; +} +.ml-6, +.mx-6 { + margin-left: 2rem !important; +} +.m-7 { + margin: 3rem !important; +} +.mt-7, +.my-7 { + margin-top: 3rem !important; +} +.mr-7, +.mx-7 { + margin-right: 3rem !important; +} +.mb-7, +.my-7 { + margin-bottom: 3rem !important; +} +.ml-7, +.mx-7 { + margin-left: 3rem !important; +} +.m-8 { + margin: 4rem !important; +} +.mt-8, +.my-8 { + margin-top: 4rem !important; +} +.mr-8, +.mx-8 { + margin-right: 4rem !important; +} +.mb-8, +.my-8 { + margin-bottom: 4rem !important; +} +.ml-8, +.mx-8 { + margin-left: 4rem !important; +} +.m-9 { + margin: 6rem !important; +} +.mt-9, +.my-9 { + margin-top: 6rem !important; +} +.mr-9, +.mx-9 { + margin-right: 6rem !important; +} +.mb-9, +.my-9 { + margin-bottom: 6rem !important; +} +.ml-9, +.mx-9 { + margin-left: 6rem !important; +} +.p-0 { + padding: 0 !important; +} +.pt-0, +.py-0 { + padding-top: 0 !important; +} +.pr-0, +.px-0 { + padding-right: 0 !important; +} +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} +.pl-0, +.px-0 { + padding-left: 0 !important; +} +.p-1 { + padding: 0.25rem !important; +} +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} +.p-2 { + padding: 0.5rem !important; +} +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} +.p-3 { + padding: 0.75rem !important; +} +.pt-3, +.py-3 { + padding-top: 0.75rem !important; +} +.pr-3, +.px-3 { + padding-right: 0.75rem !important; +} +.pb-3, +.py-3 { + padding-bottom: 0.75rem !important; +} +.pl-3, +.px-3 { + padding-left: 0.75rem !important; +} +.p-4 { + padding: 1rem !important; +} +.pt-4, +.py-4 { + padding-top: 1rem !important; +} +.pr-4, +.px-4 { + padding-right: 1rem !important; +} +.pb-4, +.py-4 { + padding-bottom: 1rem !important; +} +.pl-4, +.px-4 { + padding-left: 1rem !important; +} +.p-5 { + padding: 1.5rem !important; +} +.pt-5, +.py-5 { + padding-top: 1.5rem !important; +} +.pr-5, +.px-5 { + padding-right: 1.5rem !important; +} +.pb-5, +.py-5 { + padding-bottom: 1.5rem !important; +} +.pl-5, +.px-5 { + padding-left: 1.5rem !important; +} +.p-6 { + padding: 2rem !important; +} +.pt-6, +.py-6 { + padding-top: 2rem !important; +} +.pr-6, +.px-6 { + padding-right: 2rem !important; +} +.pb-6, +.py-6 { + padding-bottom: 2rem !important; +} +.pl-6, +.px-6 { + padding-left: 2rem !important; +} +.p-7 { + padding: 3rem !important; +} +.pt-7, +.py-7 { + padding-top: 3rem !important; +} +.pr-7, +.px-7 { + padding-right: 3rem !important; +} +.pb-7, +.py-7 { + padding-bottom: 3rem !important; +} +.pl-7, +.px-7 { + padding-left: 3rem !important; +} +.p-8 { + padding: 4rem !important; +} +.pt-8, +.py-8 { + padding-top: 4rem !important; +} +.pr-8, +.px-8 { + padding-right: 4rem !important; +} +.pb-8, +.py-8 { + padding-bottom: 4rem !important; +} +.pl-8, +.px-8 { + padding-left: 4rem !important; +} +.p-9 { + padding: 6rem !important; +} +.pt-9, +.py-9 { + padding-top: 6rem !important; +} +.pr-9, +.px-9 { + padding-right: 6rem !important; +} +.pb-9, +.py-9 { + padding-bottom: 6rem !important; +} +.pl-9, +.px-9 { + padding-left: 6rem !important; +} +.m-auto { + margin: auto !important; +} +.mt-auto, +.my-auto { + margin-top: auto !important; +} +.mr-auto, +.mx-auto { + margin-right: auto !important; +} +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} +.ml-auto, +.mx-auto { + margin-left: auto !important; +} +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 0.75rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 0.75rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 0.75rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 0.75rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 0.75rem !important; + } + .m-sm-4 { + margin: 1rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1rem !important; + } + .m-sm-5 { + margin: 1.5rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 1.5rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 1.5rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 1.5rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 1.5rem !important; + } + .m-sm-6 { + margin: 2rem !important; + } + .mt-sm-6, + .my-sm-6 { + margin-top: 2rem !important; + } + .mr-sm-6, + .mx-sm-6 { + margin-right: 2rem !important; + } + .mb-sm-6, + .my-sm-6 { + margin-bottom: 2rem !important; + } + .ml-sm-6, + .mx-sm-6 { + margin-left: 2rem !important; + } + .m-sm-7 { + margin: 3rem !important; + } + .mt-sm-7, + .my-sm-7 { + margin-top: 3rem !important; + } + .mr-sm-7, + .mx-sm-7 { + margin-right: 3rem !important; + } + .mb-sm-7, + .my-sm-7 { + margin-bottom: 3rem !important; + } + .ml-sm-7, + .mx-sm-7 { + margin-left: 3rem !important; + } + .m-sm-8 { + margin: 4rem !important; + } + .mt-sm-8, + .my-sm-8 { + margin-top: 4rem !important; + } + .mr-sm-8, + .mx-sm-8 { + margin-right: 4rem !important; + } + .mb-sm-8, + .my-sm-8 { + margin-bottom: 4rem !important; + } + .ml-sm-8, + .mx-sm-8 { + margin-left: 4rem !important; + } + .m-sm-9 { + margin: 6rem !important; + } + .mt-sm-9, + .my-sm-9 { + margin-top: 6rem !important; + } + .mr-sm-9, + .mx-sm-9 { + margin-right: 6rem !important; + } + .mb-sm-9, + .my-sm-9 { + margin-bottom: 6rem !important; + } + .ml-sm-9, + .mx-sm-9 { + margin-left: 6rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 0.75rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 0.75rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 0.75rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 0.75rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 0.75rem !important; + } + .p-sm-4 { + padding: 1rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1rem !important; + } + .p-sm-5 { + padding: 1.5rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 1.5rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 1.5rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 1.5rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 1.5rem !important; + } + .p-sm-6 { + padding: 2rem !important; + } + .pt-sm-6, + .py-sm-6 { + padding-top: 2rem !important; + } + .pr-sm-6, + .px-sm-6 { + padding-right: 2rem !important; + } + .pb-sm-6, + .py-sm-6 { + padding-bottom: 2rem !important; + } + .pl-sm-6, + .px-sm-6 { + padding-left: 2rem !important; + } + .p-sm-7 { + padding: 3rem !important; + } + .pt-sm-7, + .py-sm-7 { + padding-top: 3rem !important; + } + .pr-sm-7, + .px-sm-7 { + padding-right: 3rem !important; + } + .pb-sm-7, + .py-sm-7 { + padding-bottom: 3rem !important; + } + .pl-sm-7, + .px-sm-7 { + padding-left: 3rem !important; + } + .p-sm-8 { + padding: 4rem !important; + } + .pt-sm-8, + .py-sm-8 { + padding-top: 4rem !important; + } + .pr-sm-8, + .px-sm-8 { + padding-right: 4rem !important; + } + .pb-sm-8, + .py-sm-8 { + padding-bottom: 4rem !important; + } + .pl-sm-8, + .px-sm-8 { + padding-left: 4rem !important; + } + .p-sm-9 { + padding: 6rem !important; + } + .pt-sm-9, + .py-sm-9 { + padding-top: 6rem !important; + } + .pr-sm-9, + .px-sm-9 { + padding-right: 6rem !important; + } + .pb-sm-9, + .py-sm-9 { + padding-bottom: 6rem !important; + } + .pl-sm-9, + .px-sm-9 { + padding-left: 6rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 0.75rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 0.75rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 0.75rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 0.75rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 0.75rem !important; + } + .m-md-4 { + margin: 1rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1rem !important; + } + .m-md-5 { + margin: 1.5rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 1.5rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 1.5rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 1.5rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 1.5rem !important; + } + .m-md-6 { + margin: 2rem !important; + } + .mt-md-6, + .my-md-6 { + margin-top: 2rem !important; + } + .mr-md-6, + .mx-md-6 { + margin-right: 2rem !important; + } + .mb-md-6, + .my-md-6 { + margin-bottom: 2rem !important; + } + .ml-md-6, + .mx-md-6 { + margin-left: 2rem !important; + } + .m-md-7 { + margin: 3rem !important; + } + .mt-md-7, + .my-md-7 { + margin-top: 3rem !important; + } + .mr-md-7, + .mx-md-7 { + margin-right: 3rem !important; + } + .mb-md-7, + .my-md-7 { + margin-bottom: 3rem !important; + } + .ml-md-7, + .mx-md-7 { + margin-left: 3rem !important; + } + .m-md-8 { + margin: 4rem !important; + } + .mt-md-8, + .my-md-8 { + margin-top: 4rem !important; + } + .mr-md-8, + .mx-md-8 { + margin-right: 4rem !important; + } + .mb-md-8, + .my-md-8 { + margin-bottom: 4rem !important; + } + .ml-md-8, + .mx-md-8 { + margin-left: 4rem !important; + } + .m-md-9 { + margin: 6rem !important; + } + .mt-md-9, + .my-md-9 { + margin-top: 6rem !important; + } + .mr-md-9, + .mx-md-9 { + margin-right: 6rem !important; + } + .mb-md-9, + .my-md-9 { + margin-bottom: 6rem !important; + } + .ml-md-9, + .mx-md-9 { + margin-left: 6rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 0.75rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 0.75rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 0.75rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 0.75rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 0.75rem !important; + } + .p-md-4 { + padding: 1rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1rem !important; + } + .p-md-5 { + padding: 1.5rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 1.5rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 1.5rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 1.5rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 1.5rem !important; + } + .p-md-6 { + padding: 2rem !important; + } + .pt-md-6, + .py-md-6 { + padding-top: 2rem !important; + } + .pr-md-6, + .px-md-6 { + padding-right: 2rem !important; + } + .pb-md-6, + .py-md-6 { + padding-bottom: 2rem !important; + } + .pl-md-6, + .px-md-6 { + padding-left: 2rem !important; + } + .p-md-7 { + padding: 3rem !important; + } + .pt-md-7, + .py-md-7 { + padding-top: 3rem !important; + } + .pr-md-7, + .px-md-7 { + padding-right: 3rem !important; + } + .pb-md-7, + .py-md-7 { + padding-bottom: 3rem !important; + } + .pl-md-7, + .px-md-7 { + padding-left: 3rem !important; + } + .p-md-8 { + padding: 4rem !important; + } + .pt-md-8, + .py-md-8 { + padding-top: 4rem !important; + } + .pr-md-8, + .px-md-8 { + padding-right: 4rem !important; + } + .pb-md-8, + .py-md-8 { + padding-bottom: 4rem !important; + } + .pl-md-8, + .px-md-8 { + padding-left: 4rem !important; + } + .p-md-9 { + padding: 6rem !important; + } + .pt-md-9, + .py-md-9 { + padding-top: 6rem !important; + } + .pr-md-9, + .px-md-9 { + padding-right: 6rem !important; + } + .pb-md-9, + .py-md-9 { + padding-bottom: 6rem !important; + } + .pl-md-9, + .px-md-9 { + padding-left: 6rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 0.75rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 0.75rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 0.75rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 0.75rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 0.75rem !important; + } + .m-lg-4 { + margin: 1rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1rem !important; + } + .m-lg-5 { + margin: 1.5rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 1.5rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 1.5rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 1.5rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 1.5rem !important; + } + .m-lg-6 { + margin: 2rem !important; + } + .mt-lg-6, + .my-lg-6 { + margin-top: 2rem !important; + } + .mr-lg-6, + .mx-lg-6 { + margin-right: 2rem !important; + } + .mb-lg-6, + .my-lg-6 { + margin-bottom: 2rem !important; + } + .ml-lg-6, + .mx-lg-6 { + margin-left: 2rem !important; + } + .m-lg-7 { + margin: 3rem !important; + } + .mt-lg-7, + .my-lg-7 { + margin-top: 3rem !important; + } + .mr-lg-7, + .mx-lg-7 { + margin-right: 3rem !important; + } + .mb-lg-7, + .my-lg-7 { + margin-bottom: 3rem !important; + } + .ml-lg-7, + .mx-lg-7 { + margin-left: 3rem !important; + } + .m-lg-8 { + margin: 4rem !important; + } + .mt-lg-8, + .my-lg-8 { + margin-top: 4rem !important; + } + .mr-lg-8, + .mx-lg-8 { + margin-right: 4rem !important; + } + .mb-lg-8, + .my-lg-8 { + margin-bottom: 4rem !important; + } + .ml-lg-8, + .mx-lg-8 { + margin-left: 4rem !important; + } + .m-lg-9 { + margin: 6rem !important; + } + .mt-lg-9, + .my-lg-9 { + margin-top: 6rem !important; + } + .mr-lg-9, + .mx-lg-9 { + margin-right: 6rem !important; + } + .mb-lg-9, + .my-lg-9 { + margin-bottom: 6rem !important; + } + .ml-lg-9, + .mx-lg-9 { + margin-left: 6rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 0.75rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 0.75rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 0.75rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 0.75rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 0.75rem !important; + } + .p-lg-4 { + padding: 1rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1rem !important; + } + .p-lg-5 { + padding: 1.5rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 1.5rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 1.5rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 1.5rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 1.5rem !important; + } + .p-lg-6 { + padding: 2rem !important; + } + .pt-lg-6, + .py-lg-6 { + padding-top: 2rem !important; + } + .pr-lg-6, + .px-lg-6 { + padding-right: 2rem !important; + } + .pb-lg-6, + .py-lg-6 { + padding-bottom: 2rem !important; + } + .pl-lg-6, + .px-lg-6 { + padding-left: 2rem !important; + } + .p-lg-7 { + padding: 3rem !important; + } + .pt-lg-7, + .py-lg-7 { + padding-top: 3rem !important; + } + .pr-lg-7, + .px-lg-7 { + padding-right: 3rem !important; + } + .pb-lg-7, + .py-lg-7 { + padding-bottom: 3rem !important; + } + .pl-lg-7, + .px-lg-7 { + padding-left: 3rem !important; + } + .p-lg-8 { + padding: 4rem !important; + } + .pt-lg-8, + .py-lg-8 { + padding-top: 4rem !important; + } + .pr-lg-8, + .px-lg-8 { + padding-right: 4rem !important; + } + .pb-lg-8, + .py-lg-8 { + padding-bottom: 4rem !important; + } + .pl-lg-8, + .px-lg-8 { + padding-left: 4rem !important; + } + .p-lg-9 { + padding: 6rem !important; + } + .pt-lg-9, + .py-lg-9 { + padding-top: 6rem !important; + } + .pr-lg-9, + .px-lg-9 { + padding-right: 6rem !important; + } + .pb-lg-9, + .py-lg-9 { + padding-bottom: 6rem !important; + } + .pl-lg-9, + .px-lg-9 { + padding-left: 6rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} +@media (min-width: 1280px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 0.75rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 0.75rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 0.75rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 0.75rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 0.75rem !important; + } + .m-xl-4 { + margin: 1rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1rem !important; + } + .m-xl-5 { + margin: 1.5rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 1.5rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 1.5rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 1.5rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 1.5rem !important; + } + .m-xl-6 { + margin: 2rem !important; + } + .mt-xl-6, + .my-xl-6 { + margin-top: 2rem !important; + } + .mr-xl-6, + .mx-xl-6 { + margin-right: 2rem !important; + } + .mb-xl-6, + .my-xl-6 { + margin-bottom: 2rem !important; + } + .ml-xl-6, + .mx-xl-6 { + margin-left: 2rem !important; + } + .m-xl-7 { + margin: 3rem !important; + } + .mt-xl-7, + .my-xl-7 { + margin-top: 3rem !important; + } + .mr-xl-7, + .mx-xl-7 { + margin-right: 3rem !important; + } + .mb-xl-7, + .my-xl-7 { + margin-bottom: 3rem !important; + } + .ml-xl-7, + .mx-xl-7 { + margin-left: 3rem !important; + } + .m-xl-8 { + margin: 4rem !important; + } + .mt-xl-8, + .my-xl-8 { + margin-top: 4rem !important; + } + .mr-xl-8, + .mx-xl-8 { + margin-right: 4rem !important; + } + .mb-xl-8, + .my-xl-8 { + margin-bottom: 4rem !important; + } + .ml-xl-8, + .mx-xl-8 { + margin-left: 4rem !important; + } + .m-xl-9 { + margin: 6rem !important; + } + .mt-xl-9, + .my-xl-9 { + margin-top: 6rem !important; + } + .mr-xl-9, + .mx-xl-9 { + margin-right: 6rem !important; + } + .mb-xl-9, + .my-xl-9 { + margin-bottom: 6rem !important; + } + .ml-xl-9, + .mx-xl-9 { + margin-left: 6rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 0.75rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 0.75rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 0.75rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 0.75rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 0.75rem !important; + } + .p-xl-4 { + padding: 1rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1rem !important; + } + .p-xl-5 { + padding: 1.5rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 1.5rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 1.5rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 1.5rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 1.5rem !important; + } + .p-xl-6 { + padding: 2rem !important; + } + .pt-xl-6, + .py-xl-6 { + padding-top: 2rem !important; + } + .pr-xl-6, + .px-xl-6 { + padding-right: 2rem !important; + } + .pb-xl-6, + .py-xl-6 { + padding-bottom: 2rem !important; + } + .pl-xl-6, + .px-xl-6 { + padding-left: 2rem !important; + } + .p-xl-7 { + padding: 3rem !important; + } + .pt-xl-7, + .py-xl-7 { + padding-top: 3rem !important; + } + .pr-xl-7, + .px-xl-7 { + padding-right: 3rem !important; + } + .pb-xl-7, + .py-xl-7 { + padding-bottom: 3rem !important; + } + .pl-xl-7, + .px-xl-7 { + padding-left: 3rem !important; + } + .p-xl-8 { + padding: 4rem !important; + } + .pt-xl-8, + .py-xl-8 { + padding-top: 4rem !important; + } + .pr-xl-8, + .px-xl-8 { + padding-right: 4rem !important; + } + .pb-xl-8, + .py-xl-8 { + padding-bottom: 4rem !important; + } + .pl-xl-8, + .px-xl-8 { + padding-left: 4rem !important; + } + .p-xl-9 { + padding: 6rem !important; + } + .pt-xl-9, + .py-xl-9 { + padding-top: 6rem !important; + } + .pr-xl-9, + .px-xl-9 { + padding-right: 6rem !important; + } + .pb-xl-9, + .py-xl-9 { + padding-bottom: 6rem !important; + } + .pl-xl-9, + .px-xl-9 { + padding-left: 6rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} +.text-justify { + text-align: justify !important; +} +.text-nowrap { + white-space: nowrap !important; +} +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.text-left { + text-align: left !important; +} +.text-right { + text-align: right !important; +} +.text-center { + text-align: center !important; +} +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1280px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +.text-lowercase { + text-transform: lowercase !important; +} +.text-uppercase { + text-transform: uppercase !important; +} +.text-capitalize { + text-transform: capitalize !important; +} +.font-weight-light { + font-weight: 300 !important; +} +.font-weight-normal { + font-weight: 400 !important; +} +.font-weight-bold { + font-weight: 700 !important; +} +.font-italic { + font-style: italic !important; +} +.text-primary { + color: #467fcf !important; +} +a.text-primary:focus, +a.text-primary:hover { + color: #2f66b3 !important; +} +.text-secondary { + color: #868e96 !important; +} +a.text-secondary:focus, +a.text-secondary:hover { + color: #6c757d !important; +} +.text-success { + color: #5eba00 !important; +} +a.text-success:focus, +a.text-success:hover { + color: #448700 !important; +} +.text-info { + color: #45aaf2 !important; +} +a.text-info:focus, +a.text-info:hover { + color: #1594ef !important; +} +.text-warning { + color: #f1c40f !important; +} +a.text-warning:focus, +a.text-warning:hover { + color: #c29d0b !important; +} +.text-danger { + color: #cd201f !important; +} +a.text-danger:focus, +a.text-danger:hover { + color: #a11918 !important; +} +.text-light { + color: #f8f9fa !important; +} +a.text-light:focus, +a.text-light:hover { + color: #dae0e5 !important; +} +.text-dark { + color: #343a40 !important; +} +a.text-dark:focus, +a.text-dark:hover { + color: #1d2124 !important; +} +.text-muted { + color: #9aa0ac !important; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: initial; + border: 0; +} +.visible { + visibility: visible !important; +} +.invisible { + visibility: hidden !important; +} +@media print { + *, + :after, + :before { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + blockquote, + pre { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + img, + tr { + page-break-inside: avoid; + } + h2, + h3, + p { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + .container, + body { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table, + .text-wrap table { + border-collapse: collapse !important; + } + .table td, + .table th, + .text-wrap table td, + .text-wrap table th { + background-color: #fff !important; + } + .table-bordered td, + .table-bordered th, + .text-wrap table td, + .text-wrap table th { + border: 1px solid #ddd !important; + } +} +html { + font-size: 16px; +} +body, +html { + height: 100%; + direction: ltr; +} +body { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-tap-highlight-color: transparent; + -webkit-text-size-adjust: none; + touch-action: manipulation; + -webkit-font-feature-settings: "liga" 0; + font-feature-settings: "liga" 0; + overflow-y: scroll; + position: relative; +} +@media print { + body { + background: 0; + } +} +body ::-webkit-scrollbar { + width: 6px; + height: 6px; + transition: background 0.3s; +} +body ::-webkit-scrollbar-thumb { + background: #ced4da; +} +body :hover::-webkit-scrollbar-thumb { + background: #adb5bd; +} +.lead { + line-height: 1.4; +} +a { + -webkit-text-decoration-skip: ink; + text-decoration-skip: ink; +} +.h1 a, +.h2 a, +.h3 a, +.h4 a, +.h5 a, +.h6 a, +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + color: inherit; +} +b, +strong { + font-weight: 600; +} +blockquote, +ol, +p, +ul { + margin-bottom: 1em; +} +blockquote { + font-style: italic; + color: #6e7687; + padding-left: 2rem; + border-left: 2px solid rgba(0, 40, 100, 0.12); +} +blockquote p { + margin-bottom: 1rem; +} +blockquote cite { + display: block; + text-align: right; +} +blockquote cite:before { + content: "\2014 "; +} +code { + background: rgba(0, 0, 0, 0.025); + border: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 3px; + padding: 3px; +} +pre code { + padding: 0; + border-radius: 0; + border: 0; + background: 0; +} +hr { + margin-top: 2rem; + margin-bottom: 2rem; +} +pre { + color: #343a40; + padding: 1rem; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f8fafc; + border-radius: 3px; + -moz-tab-size: 4; + tab-size: 4; + text-shadow: 0 1px #fff; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +img { + max-width: 100%; +} +.text-wrap { + font-size: 1rem; + line-height: 1.66; +} +.text-wrap > :first-child { + margin-top: 0; +} +.text-wrap > :last-child { + margin-bottom: 0; +} +.text-wrap > h1, +.text-wrap > h2, +.text-wrap > h3, +.text-wrap > h4, +.text-wrap > h5, +.text-wrap > h6 { + margin-top: 1em; +} +.section-nav { + background-color: #f8f9fa; + margin: 1rem 0; + padding: 0.5rem 1rem; + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px; + list-style: none; +} +.section-nav:before { + content: "Table of contents:"; + display: block; + font-weight: 600; +} +@media print { + .container { + max-width: none; + } +} +.row-cards > .col, +.row-cards > [class*="col-"] { + display: flex; + flex-direction: column; +} +.row-deck > .col, +.row-deck > [class*="col-"] { + display: flex; + align-items: stretch; +} +.row-deck > .col .card, +.row-deck > [class*="col-"] .card { + flex: 1 1 auto; +} +.col-text { + max-width: 48rem; +} +.col-login { + max-width: 24rem; +} +.gutters-0 { + margin-right: 0; + margin-left: 0; +} +.gutters-0 > .col, +.gutters-0 > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} +.gutters-0 .card { + margin-bottom: 0; +} +.gutters-xs { + margin-right: -0.25rem; + margin-left: -0.25rem; +} +.gutters-xs > .col, +.gutters-xs > [class*="col-"] { + padding-right: 0.25rem; + padding-left: 0.25rem; +} +.gutters-xs .card { + margin-bottom: 0.5rem; +} +.gutters-sm { + margin-right: -0.5rem; + margin-left: -0.5rem; +} +.gutters-sm > .col, +.gutters-sm > [class*="col-"] { + padding-right: 0.5rem; + padding-left: 0.5rem; +} +.gutters-sm .card { + margin-bottom: 1rem; +} +.gutters-lg { + margin-right: -1rem; + margin-left: -1rem; +} +.gutters-lg > .col, +.gutters-lg > [class*="col-"] { + padding-right: 1rem; + padding-left: 1rem; +} +.gutters-lg .card { + margin-bottom: 2rem; +} +.gutters-xl { + margin-right: -1.5rem; + margin-left: -1.5rem; +} +.gutters-xl > .col, +.gutters-xl > [class*="col-"] { + padding-right: 1.5rem; + padding-left: 1.5rem; +} +.gutters-xl .card { + margin-bottom: 3rem; +} +.page { + display: flex; + flex-direction: column; + justify-content: center; + min-height: 100%; +} +body.fixed-header .page { + padding-top: 4.5rem; +} +@media (min-width: 1600px) { + body.aside-opened .page { + margin-right: 22rem; + } +} +.page-main { + flex: 1 1 auto; +} +.page-content { + margin: 0.75rem 0; +} +@media (min-width: 768px) { + .page-content { + margin: 1.5rem 0; + } +} +.page-header { + display: flex; + align-items: center; + margin: 1.5rem 0; + flex-wrap: wrap; +} +.page-title { + margin: 0; + font-size: 1.5rem; + font-weight: 400; + line-height: 2.5rem; +} +.page-title-icon { + color: #9aa0ac; + font-size: 1.25rem; +} +.page-subtitle { + font-size: 0.8125rem; + color: #6e7687; + margin-left: 2rem; +} +.page-subtitle a { + color: inherit; +} +.page-options { + margin-left: auto; +} +.page-breadcrumb { + flex-basis: 100%; +} +.page-description { + margin: 0.25rem 0 0; + color: #6e7687; +} +.page-description a { + color: inherit; +} +.page-single { + flex: 1 1 auto; + display: flex; + align-items: center; + justify-content: center; + padding: 1rem 0; +} +.content-heading { + font-weight: 400; + margin: 2rem 0 1.5rem; + font-size: 1.25rem; + line-height: 1.25; +} +.content-heading:first-child { + margin-top: 0; +} +.aside { + position: fixed; + top: 0; + right: 0; + bottom: 0; + width: 22rem; + background: #fff; + border-left: 1px solid rgba(0, 40, 100, 0.12); + display: flex; + flex-direction: column; + z-index: 100; + visibility: hidden; + box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.05); +} +@media (min-width: 1600px) { + body.aside-opened .aside { + visibility: visible; + } +} +.aside-body { + padding: 1.5rem; + flex: 1 1 auto; + overflow: auto; +} +.aside-footer { + padding: 1rem 1.5rem; + border-top: 1px solid rgba(0, 40, 100, 0.12); +} +.aside-header { + padding: 1rem 1.5rem; +} +.aside-header, +.header { + border-bottom: 1px solid rgba(0, 40, 100, 0.12); +} +.header { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + background: #fff; +} +body.fixed-header .header { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1030; +} +@media print { + .header { + display: none; + } +} +.header .dropdown-menu { + margin-top: 0.75rem; +} +.nav-unread { + position: absolute; + top: 0.25rem; + right: 0.25rem; + background: #cd201f; + width: 0.5rem; + height: 0.5rem; + border-radius: 50%; +} +.header-brand { + color: inherit; + margin-right: 1rem; + font-size: 1.25rem; + white-space: nowrap; + font-weight: 600; + padding: 0; + transition: opacity 0.3s; + line-height: 2rem; +} +.header-brand:hover { + opacity: 0.8; + color: inherit; + text-decoration: none; +} +.header-brand-img { + height: 2rem; + line-height: 2rem; + vertical-align: bottom; + margin-right: 0.5rem; + width: auto; +} +.header-avatar { + vertical-align: bottom; + border-radius: 50%; +} +.header-avatar, +.header-btn { + width: 2rem; + height: 2rem; + display: inline-block; +} +.header-btn { + line-height: 2rem; + text-align: center; + font-size: 1rem; +} +.header-btn.has-new { + position: relative; +} +.header-btn.has-new:before { + content: ""; + width: 6px; + height: 6px; + background: #cd201f; + position: absolute; + top: 4px; + right: 4px; + border-radius: 50%; +} +.header-toggler { + width: 2rem; + height: 2rem; + position: relative; + color: #9aa0ac; +} +.header-toggler:hover { + color: #6e7687; +} +.header-toggler-icon { + position: absolute; + width: 1rem; + height: 2px; + color: inherit; + background: currentColor; + border-radius: 3px; + top: 50%; + left: 50%; + margin: -2px 0 0 -0.5rem; + box-shadow: 0 5px currentColor, 0 -5px currentColor; +} +.footer { + background: #fff; + border-top: 1px solid rgba(0, 40, 100, 0.12); + font-size: 0.875rem; + padding: 1.25rem 0; + color: #9aa0ac; +} +.footer a:not(.btn) { + color: #6e7687; +} +@media print { + .footer { + display: none; + } +} +.bg-blue-lightest { + background-color: #edf2fa !important; +} +a.bg-blue-lightest:focus, +a.bg-blue-lightest:hover, +button.bg-blue-lightest:focus, +button.bg-blue-lightest:hover { + background-color: #c5d5ef !important; +} +.bg-blue-lighter { + background-color: #c8d9f1 !important; +} +a.bg-blue-lighter:focus, +a.bg-blue-lighter:hover, +button.bg-blue-lighter:focus, +button.bg-blue-lighter:hover { + background-color: #9fbde7 !important; +} +.bg-blue-light { + background-color: #7ea5dd !important; +} +a.bg-blue-light:focus, +a.bg-blue-light:hover, +button.bg-blue-light:focus, +button.bg-blue-light:hover { + background-color: #5689d2 !important; +} +.bg-blue-dark { + background-color: #3866a6 !important; +} +a.bg-blue-dark:focus, +a.bg-blue-dark:hover, +button.bg-blue-dark:focus, +button.bg-blue-dark:hover { + background-color: #2b4f80 !important; +} +.bg-blue-darker { + background-color: #1c3353 !important; +} +a.bg-blue-darker:focus, +a.bg-blue-darker:hover, +button.bg-blue-darker:focus, +button.bg-blue-darker:hover { + background-color: #0f1c2d !important; +} +.bg-blue-darkest { + background-color: #0e1929 !important; +} +a.bg-blue-darkest:focus, +a.bg-blue-darkest:hover, +button.bg-blue-darkest:focus, +button.bg-blue-darkest:hover { + background-color: #010203 !important; +} +.bg-indigo-lightest { + background-color: #f0f1fa !important; +} +a.bg-indigo-lightest:focus, +a.bg-indigo-lightest:hover, +button.bg-indigo-lightest:focus, +button.bg-indigo-lightest:hover { + background-color: #cacded !important; +} +.bg-indigo-lighter { + background-color: #d1d5f0 !important; +} +a.bg-indigo-lighter:focus, +a.bg-indigo-lighter:hover, +button.bg-indigo-lighter:focus, +button.bg-indigo-lighter:hover { + background-color: #abb2e3 !important; +} +.bg-indigo-light { + background-color: #939edc !important; +} +a.bg-indigo-light:focus, +a.bg-indigo-light:hover, +button.bg-indigo-light:focus, +button.bg-indigo-light:hover { + background-color: #6c7bd0 !important; +} +.bg-indigo-dark { + background-color: #515da4 !important; +} +a.bg-indigo-dark:focus, +a.bg-indigo-dark:hover, +button.bg-indigo-dark:focus, +button.bg-indigo-dark:hover { + background-color: #404a82 !important; +} +.bg-indigo-darker { + background-color: #282e52 !important; +} +a.bg-indigo-darker:focus, +a.bg-indigo-darker:hover, +button.bg-indigo-darker:focus, +button.bg-indigo-darker:hover { + background-color: #171b30 !important; +} +.bg-indigo-darkest { + background-color: #141729 !important; +} +a.bg-indigo-darkest:focus, +a.bg-indigo-darkest:hover, +button.bg-indigo-darkest:focus, +button.bg-indigo-darkest:hover { + background-color: #030407 !important; +} +.bg-purple-lightest { + background-color: #f6effd !important; +} +a.bg-purple-lightest:focus, +a.bg-purple-lightest:hover, +button.bg-purple-lightest:focus, +button.bg-purple-lightest:hover { + background-color: #ddc2f7 !important; +} +.bg-purple-lighter { + background-color: #e4cff9 !important; +} +a.bg-purple-lighter:focus, +a.bg-purple-lighter:hover, +button.bg-purple-lighter:focus, +button.bg-purple-lighter:hover { + background-color: #cba2f3 !important; +} +.bg-purple-light { + background-color: #c08ef0 !important; +} +a.bg-purple-light:focus, +a.bg-purple-light:hover, +button.bg-purple-light:focus, +button.bg-purple-light:hover { + background-color: #a761ea !important; +} +.bg-purple-dark { + background-color: #844bbb !important; +} +a.bg-purple-dark:focus, +a.bg-purple-dark:hover, +button.bg-purple-dark:focus, +button.bg-purple-dark:hover { + background-color: #6a3a99 !important; +} +.bg-purple-darker { + background-color: #42265e !important; +} +a.bg-purple-darker:focus, +a.bg-purple-darker:hover, +button.bg-purple-darker:focus, +button.bg-purple-darker:hover { + background-color: #29173a !important; +} +.bg-purple-darkest { + background-color: #21132f !important; +} +a.bg-purple-darkest:focus, +a.bg-purple-darkest:hover, +button.bg-purple-darkest:focus, +button.bg-purple-darkest:hover { + background-color: #08040b !important; +} +.bg-pink-lightest { + background-color: #fef0f5 !important; +} +a.bg-pink-lightest:focus, +a.bg-pink-lightest:hover, +button.bg-pink-lightest:focus, +button.bg-pink-lightest:hover { + background-color: #fbc0d5 !important; +} +.bg-pink-lighter { + background-color: #fcd3e1 !important; +} +a.bg-pink-lighter:focus, +a.bg-pink-lighter:hover, +button.bg-pink-lighter:focus, +button.bg-pink-lighter:hover { + background-color: #f9a3c0 !important; +} +.bg-pink-light { + background-color: #f999b9 !important; +} +a.bg-pink-light:focus, +a.bg-pink-light:hover, +button.bg-pink-light:focus, +button.bg-pink-light:hover { + background-color: #f66998 !important; +} +.bg-pink-dark { + background-color: #c5577c !important; +} +a.bg-pink-dark:focus, +a.bg-pink-dark:hover, +button.bg-pink-dark:focus, +button.bg-pink-dark:hover { + background-color: #ad3c62 !important; +} +.bg-pink-darker { + background-color: #622c3e !important; +} +a.bg-pink-darker:focus, +a.bg-pink-darker:hover, +button.bg-pink-darker:focus, +button.bg-pink-darker:hover { + background-color: #3f1c28 !important; +} +.bg-pink-darkest { + background-color: #31161f !important; +} +a.bg-pink-darkest:focus, +a.bg-pink-darkest:hover, +button.bg-pink-darkest:focus, +button.bg-pink-darkest:hover { + background-color: #0e0609 !important; +} +.bg-red-lightest { + background-color: #fae9e9 !important; +} +a.bg-red-lightest:focus, +a.bg-red-lightest:hover, +button.bg-red-lightest:focus, +button.bg-red-lightest:hover { + background-color: #f1bfbf !important; +} +.bg-red-lighter { + background-color: #f0bcbc !important; +} +a.bg-red-lighter:focus, +a.bg-red-lighter:hover, +button.bg-red-lighter:focus, +button.bg-red-lighter:hover { + background-color: #e79292 !important; +} +.bg-red-light { + background-color: #dc6362 !important; +} +a.bg-red-light:focus, +a.bg-red-light:hover, +button.bg-red-light:focus, +button.bg-red-light:hover { + background-color: #d33a38 !important; +} +.bg-red-dark { + background-color: #a41a19 !important; +} +a.bg-red-dark:focus, +a.bg-red-dark:hover, +button.bg-red-dark:focus, +button.bg-red-dark:hover { + background-color: #781312 !important; +} +.bg-red-darker { + background-color: #520d0c !important; +} +a.bg-red-darker:focus, +a.bg-red-darker:hover, +button.bg-red-darker:focus, +button.bg-red-darker:hover { + background-color: #260605 !important; +} +.bg-red-darkest { + background-color: #290606 !important; +} +a.bg-red-darkest:focus, +a.bg-red-darkest:hover, +button.bg-red-darkest:focus, +button.bg-red-darkest:hover { + background-color: #000 !important; +} +.bg-orange-lightest { + background-color: #fff5ec !important; +} +a.bg-orange-lightest:focus, +a.bg-orange-lightest:hover, +button.bg-orange-lightest:focus, +button.bg-orange-lightest:hover { + background-color: #ffdab9 !important; +} +.bg-orange-lighter { + background-color: #fee0c7 !important; +} +a.bg-orange-lighter:focus, +a.bg-orange-lighter:hover, +button.bg-orange-lighter:focus, +button.bg-orange-lighter:hover { + background-color: #fdc495 !important; +} +.bg-orange-light { + background-color: #feb67c !important; +} +a.bg-orange-light:focus, +a.bg-orange-light:hover, +button.bg-orange-light:focus, +button.bg-orange-light:hover { + background-color: #fe9a49 !important; +} +.bg-orange-dark { + background-color: #ca7836 !important; +} +a.bg-orange-dark:focus, +a.bg-orange-dark:hover, +button.bg-orange-dark:focus, +button.bg-orange-dark:hover { + background-color: #a2602b !important; +} +.bg-orange-darker { + background-color: #653c1b !important; +} +a.bg-orange-darker:focus, +a.bg-orange-darker:hover, +button.bg-orange-darker:focus, +button.bg-orange-darker:hover { + background-color: #3d2410 !important; +} +.bg-orange-darkest { + background-color: #331e0e !important; +} +a.bg-orange-darkest:focus, +a.bg-orange-darkest:hover, +button.bg-orange-darkest:focus, +button.bg-orange-darkest:hover { + background-color: #0b0603 !important; +} +.bg-yellow-lightest { + background-color: #fef9e7 !important; +} +a.bg-yellow-lightest:focus, +a.bg-yellow-lightest:hover, +button.bg-yellow-lightest:focus, +button.bg-yellow-lightest:hover { + background-color: #fcedb6 !important; +} +.bg-yellow-lighter { + background-color: #fbedb7 !important; +} +a.bg-yellow-lighter:focus, +a.bg-yellow-lighter:hover, +button.bg-yellow-lighter:focus, +button.bg-yellow-lighter:hover { + background-color: #f8e187 !important; +} +.bg-yellow-light { + background-color: #f5d657 !important; +} +a.bg-yellow-light:focus, +a.bg-yellow-light:hover, +button.bg-yellow-light:focus, +button.bg-yellow-light:hover { + background-color: #f2ca27 !important; +} +.bg-yellow-dark { + background-color: #c19d0c !important; +} +a.bg-yellow-dark:focus, +a.bg-yellow-dark:hover, +button.bg-yellow-dark:focus, +button.bg-yellow-dark:hover { + background-color: #917609 !important; +} +.bg-yellow-darker { + background-color: #604e06 !important; +} +.bg-yellow-darkest, +a.bg-yellow-darker:focus, +a.bg-yellow-darker:hover, +button.bg-yellow-darker:focus, +button.bg-yellow-darker:hover { + background-color: #302703 !important; +} +a.bg-yellow-darkest:focus, +a.bg-yellow-darkest:hover, +button.bg-yellow-darkest:focus, +button.bg-yellow-darkest:hover { + background-color: #000 !important; +} +.bg-green-lightest { + background-color: #eff8e6 !important; +} +a.bg-green-lightest:focus, +a.bg-green-lightest:hover, +button.bg-green-lightest:focus, +button.bg-green-lightest:hover { + background-color: #d6edbe !important; +} +.bg-green-lighter { + background-color: #cfeab3 !important; +} +a.bg-green-lighter:focus, +a.bg-green-lighter:hover, +button.bg-green-lighter:focus, +button.bg-green-lighter:hover { + background-color: #b6df8b !important; +} +.bg-green-light { + background-color: #8ecf4d !important; +} +a.bg-green-light:focus, +a.bg-green-light:hover, +button.bg-green-light:focus, +button.bg-green-light:hover { + background-color: #75b831 !important; +} +.bg-green-dark { + background-color: #4b9500 !important; +} +a.bg-green-dark:focus, +a.bg-green-dark:hover, +button.bg-green-dark:focus, +button.bg-green-dark:hover { + background-color: #316200 !important; +} +.bg-green-darker { + background-color: #264a00 !important; +} +a.bg-green-darker:focus, +a.bg-green-darker:hover, +button.bg-green-darker:focus, +button.bg-green-darker:hover { + background-color: #0c1700 !important; +} +.bg-green-darkest { + background-color: #132500 !important; +} +a.bg-green-darkest:focus, +a.bg-green-darkest:hover, +button.bg-green-darkest:focus, +button.bg-green-darkest:hover { + background-color: #000 !important; +} +.bg-teal-lightest { + background-color: #eafaf8 !important; +} +a.bg-teal-lightest:focus, +a.bg-teal-lightest:hover, +button.bg-teal-lightest:focus, +button.bg-teal-lightest:hover { + background-color: #c1f0ea !important; +} +.bg-teal-lighter { + background-color: #bfefea !important; +} +a.bg-teal-lighter:focus, +a.bg-teal-lighter:hover, +button.bg-teal-lighter:focus, +button.bg-teal-lighter:hover { + background-color: #96e5dd !important; +} +.bg-teal-light { + background-color: #6bdbcf !important; +} +a.bg-teal-light:focus, +a.bg-teal-light:hover, +button.bg-teal-light:focus, +button.bg-teal-light:hover { + background-color: #42d1c2 !important; +} +.bg-teal-dark { + background-color: #22a295 !important; +} +a.bg-teal-dark:focus, +a.bg-teal-dark:hover, +button.bg-teal-dark:focus, +button.bg-teal-dark:hover { + background-color: #19786e !important; +} +.bg-teal-darker { + background-color: #11514a !important; +} +a.bg-teal-darker:focus, +a.bg-teal-darker:hover, +button.bg-teal-darker:focus, +button.bg-teal-darker:hover { + background-color: #082723 !important; +} +.bg-teal-darkest { + background-color: #092925 !important; +} +a.bg-teal-darkest:focus, +a.bg-teal-darkest:hover, +button.bg-teal-darkest:focus, +button.bg-teal-darkest:hover { + background-color: #000 !important; +} +.bg-cyan-lightest { + background-color: #e8f6f8 !important; +} +a.bg-cyan-lightest:focus, +a.bg-cyan-lightest:hover, +button.bg-cyan-lightest:focus, +button.bg-cyan-lightest:hover { + background-color: #c1e7ec !important; +} +.bg-cyan-lighter { + background-color: #b9e3ea !important; +} +a.bg-cyan-lighter:focus, +a.bg-cyan-lighter:hover, +button.bg-cyan-lighter:focus, +button.bg-cyan-lighter:hover { + background-color: #92d3de !important; +} +.bg-cyan-light { + background-color: #5dbecd !important; +} +a.bg-cyan-light:focus, +a.bg-cyan-light:hover, +button.bg-cyan-light:focus, +button.bg-cyan-light:hover { + background-color: #3aabbd !important; +} +.bg-cyan-dark { + background-color: #128293 !important; +} +a.bg-cyan-dark:focus, +a.bg-cyan-dark:hover, +button.bg-cyan-dark:focus, +button.bg-cyan-dark:hover { + background-color: #0c5a66 !important; +} +.bg-cyan-darker { + background-color: #09414a !important; +} +a.bg-cyan-darker:focus, +a.bg-cyan-darker:hover, +button.bg-cyan-darker:focus, +button.bg-cyan-darker:hover { + background-color: #03191d !important; +} +.bg-cyan-darkest { + background-color: #052025 !important; +} +a.bg-cyan-darkest:focus, +a.bg-cyan-darkest:hover, +button.bg-cyan-darkest:focus, +button.bg-cyan-darkest:hover { + background-color: #000 !important; +} +.bg-white-lightest { + background-color: #fff !important; +} +a.bg-white-lightest:focus, +a.bg-white-lightest:hover, +button.bg-white-lightest:focus, +button.bg-white-lightest:hover { + background-color: #e6e5e5 !important; +} +.bg-white-lighter { + background-color: #fff !important; +} +a.bg-white-lighter:focus, +a.bg-white-lighter:hover, +button.bg-white-lighter:focus, +button.bg-white-lighter:hover { + background-color: #e6e5e5 !important; +} +.bg-white-light { + background-color: #fff !important; +} +a.bg-white-light:focus, +a.bg-white-light:hover, +button.bg-white-light:focus, +button.bg-white-light:hover { + background-color: #e6e5e5 !important; +} +.bg-white-dark { + background-color: #ccc !important; +} +a.bg-white-dark:focus, +a.bg-white-dark:hover, +button.bg-white-dark:focus, +button.bg-white-dark:hover { + background-color: #b3b2b2 !important; +} +.bg-white-darker { + background-color: #666 !important; +} +a.bg-white-darker:focus, +a.bg-white-darker:hover, +button.bg-white-darker:focus, +button.bg-white-darker:hover { + background-color: #4d4c4c !important; +} +.bg-white-darkest { + background-color: #333 !important; +} +a.bg-white-darkest:focus, +a.bg-white-darkest:hover, +button.bg-white-darkest:focus, +button.bg-white-darkest:hover { + background-color: #1a1919 !important; +} +.bg-gray-lightest { + background-color: #f3f4f5 !important; +} +a.bg-gray-lightest:focus, +a.bg-gray-lightest:hover, +button.bg-gray-lightest:focus, +button.bg-gray-lightest:hover { + background-color: #d7dbde !important; +} +.bg-gray-lighter { + background-color: #dbdde0 !important; +} +a.bg-gray-lighter:focus, +a.bg-gray-lighter:hover, +button.bg-gray-lighter:focus, +button.bg-gray-lighter:hover { + background-color: #c0c3c8 !important; +} +.bg-gray-light { + background-color: #aab0b6 !important; +} +a.bg-gray-light:focus, +a.bg-gray-light:hover, +button.bg-gray-light:focus, +button.bg-gray-light:hover { + background-color: #8f979e !important; +} +.bg-gray-dark { + background-color: #6b7278 !important; +} +a.bg-gray-dark:focus, +a.bg-gray-dark:hover, +button.bg-gray-dark:focus, +button.bg-gray-dark:hover { + background-color: #53585d !important; +} +.bg-gray-darker { + background-color: #36393c !important; +} +a.bg-gray-darker:focus, +a.bg-gray-darker:hover, +button.bg-gray-darker:focus, +button.bg-gray-darker:hover { + background-color: #1e2021 !important; +} +.bg-gray-darkest { + background-color: #1b1c1e !important; +} +a.bg-gray-darkest:focus, +a.bg-gray-darkest:hover, +button.bg-gray-darkest:focus, +button.bg-gray-darkest:hover { + background-color: #030303 !important; +} +.bg-gray-dark-lightest { + background-color: #ebebec !important; +} +a.bg-gray-dark-lightest:focus, +a.bg-gray-dark-lightest:hover, +button.bg-gray-dark-lightest:focus, +button.bg-gray-dark-lightest:hover { + background-color: #d1d1d3 !important; +} +.bg-gray-dark-lighter { + background-color: #c2c4c6 !important; +} +a.bg-gray-dark-lighter:focus, +a.bg-gray-dark-lighter:hover, +button.bg-gray-dark-lighter:focus, +button.bg-gray-dark-lighter:hover { + background-color: #a8abad !important; +} +.bg-gray-dark-light { + background-color: #717579 !important; +} +a.bg-gray-dark-light:focus, +a.bg-gray-dark-light:hover, +button.bg-gray-dark-light:focus, +button.bg-gray-dark-light:hover { + background-color: #585c5f !important; +} +.bg-gray-dark-dark { + background-color: #2a2e33 !important; +} +a.bg-gray-dark-dark:focus, +a.bg-gray-dark-dark:hover, +button.bg-gray-dark-dark:focus, +button.bg-gray-dark-dark:hover { + background-color: #131517 !important; +} +.bg-gray-dark-darker { + background-color: #15171a !important; +} +a.bg-gray-dark-darker:focus, +a.bg-gray-dark-darker:hover, +button.bg-gray-dark-darker:focus, +button.bg-gray-dark-darker:hover { + background-color: #000 !important; +} +.bg-gray-dark-darkest { + background-color: #0a0c0d !important; +} +a.bg-gray-dark-darkest:focus, +a.bg-gray-dark-darkest:hover, +button.bg-gray-dark-darkest:focus, +button.bg-gray-dark-darkest:hover { + background-color: #000 !important; +} +.bg-azure-lightest { + background-color: #ecf7fe !important; +} +a.bg-azure-lightest:focus, +a.bg-azure-lightest:hover, +button.bg-azure-lightest:focus, +button.bg-azure-lightest:hover { + background-color: #bce3fb !important; +} +.bg-azure-lighter { + background-color: #c7e6fb !important; +} +a.bg-azure-lighter:focus, +a.bg-azure-lighter:hover, +button.bg-azure-lighter:focus, +button.bg-azure-lighter:hover { + background-color: #97d1f8 !important; +} +.bg-azure-light { + background-color: #7dc4f6 !important; +} +a.bg-azure-light:focus, +a.bg-azure-light:hover, +button.bg-azure-light:focus, +button.bg-azure-light:hover { + background-color: #4daef3 !important; +} +.bg-azure-dark { + background-color: #3788c2 !important; +} +a.bg-azure-dark:focus, +a.bg-azure-dark:hover, +button.bg-azure-dark:focus, +button.bg-azure-dark:hover { + background-color: #2c6c9a !important; +} +.bg-azure-darker { + background-color: #1c4461 !important; +} +a.bg-azure-darker:focus, +a.bg-azure-darker:hover, +button.bg-azure-darker:focus, +button.bg-azure-darker:hover { + background-color: #112839 !important; +} +.bg-azure-darkest { + background-color: #0e2230 !important; +} +a.bg-azure-darkest:focus, +a.bg-azure-darkest:hover, +button.bg-azure-darkest:focus, +button.bg-azure-darkest:hover { + background-color: #020609 !important; +} +.bg-lime-lightest { + background-color: #f2fbeb !important; +} +a.bg-lime-lightest:focus, +a.bg-lime-lightest:hover, +button.bg-lime-lightest:focus, +button.bg-lime-lightest:hover { + background-color: #d6f3c1 !important; +} +.bg-lime-lighter { + background-color: #d7f2c2 !important; +} +a.bg-lime-lighter:focus, +a.bg-lime-lighter:hover, +button.bg-lime-lighter:focus, +button.bg-lime-lighter:hover { + background-color: #bbe998 !important; +} +.bg-lime-light { + background-color: #a3e072 !important; +} +a.bg-lime-light:focus, +a.bg-lime-light:hover, +button.bg-lime-light:focus, +button.bg-lime-light:hover { + background-color: #88d748 !important; +} +.bg-lime-dark { + background-color: #62a82a !important; +} +a.bg-lime-dark:focus, +a.bg-lime-dark:hover, +button.bg-lime-dark:focus, +button.bg-lime-dark:hover { + background-color: #4a7f20 !important; +} +.bg-lime-darker { + background-color: #315415 !important; +} +a.bg-lime-darker:focus, +a.bg-lime-darker:hover, +button.bg-lime-darker:focus, +button.bg-lime-darker:hover { + background-color: #192b0b !important; +} +.bg-lime-darkest { + background-color: #192a0b !important; +} +a.bg-lime-darkest:focus, +a.bg-lime-darkest:hover, +button.bg-lime-darkest:focus, +button.bg-lime-darkest:hover { + background-color: #010200 !important; +} +.display-1 i, +.display-2 i, +.display-3 i, +.display-4 i { + vertical-align: initial; + font-size: 0.815em; +} +.text-inherit { + color: inherit !important; +} +.text-default { + color: #495057 !important; +} +.text-muted-dark { + color: #6e7687 !important; +} +.tracking-tight { + letter-spacing: -0.05em !important; +} +.tracking-normal { + letter-spacing: 0 !important; +} +.tracking-wide { + letter-spacing: 0.05em !important; +} +.leading-none { + line-height: 1 !important; +} +.leading-tight { + line-height: 1.25 !important; +} +.leading-normal { + line-height: 1.5 !important; +} +.leading-loose { + line-height: 2 !important; +} +.bg-blue { + background-color: #467fcf !important; +} +a.bg-blue:focus, +a.bg-blue:hover, +button.bg-blue:focus, +button.bg-blue:hover { + background-color: #2f66b3 !important; +} +.text-blue { + color: #467fcf !important; +} +.bg-indigo { + background-color: #6574cd !important; +} +a.bg-indigo:focus, +a.bg-indigo:hover, +button.bg-indigo:focus, +button.bg-indigo:hover { + background-color: #3f51c1 !important; +} +.text-indigo { + color: #6574cd !important; +} +.bg-purple { + background-color: #a55eea !important; +} +a.bg-purple:focus, +a.bg-purple:hover, +button.bg-purple:focus, +button.bg-purple:hover { + background-color: #8c31e4 !important; +} +.text-purple { + color: #a55eea !important; +} +.bg-pink { + background-color: #f66d9b !important; +} +a.bg-pink:focus, +a.bg-pink:hover, +button.bg-pink:focus, +button.bg-pink:hover { + background-color: #f33d7a !important; +} +.text-pink { + color: #f66d9b !important; +} +.bg-red { + background-color: #cd201f !important; +} +a.bg-red:focus, +a.bg-red:hover, +button.bg-red:focus, +button.bg-red:hover { + background-color: #a11918 !important; +} +.text-red { + color: #cd201f !important; +} +.bg-orange { + background-color: #fd9644 !important; +} +a.bg-orange:focus, +a.bg-orange:hover, +button.bg-orange:focus, +button.bg-orange:hover { + background-color: #fc7a12 !important; +} +.text-orange { + color: #fd9644 !important; +} +.bg-yellow { + background-color: #f1c40f !important; +} +a.bg-yellow:focus, +a.bg-yellow:hover, +button.bg-yellow:focus, +button.bg-yellow:hover { + background-color: #c29d0b !important; +} +.text-yellow { + color: #f1c40f !important; +} +.bg-green { + background-color: #5eba00 !important; +} +a.bg-green:focus, +a.bg-green:hover, +button.bg-green:focus, +button.bg-green:hover { + background-color: #448700 !important; +} +.text-green { + color: #5eba00 !important; +} +.bg-teal { + background-color: #2bcbba !important; +} +a.bg-teal:focus, +a.bg-teal:hover, +button.bg-teal:focus, +button.bg-teal:hover { + background-color: #22a193 !important; +} +.text-teal { + color: #2bcbba !important; +} +.bg-cyan { + background-color: #17a2b8 !important; +} +a.bg-cyan:focus, +a.bg-cyan:hover, +button.bg-cyan:focus, +button.bg-cyan:hover { + background-color: #117a8b !important; +} +.text-cyan { + color: #17a2b8 !important; +} +.bg-white { + background-color: #fff !important; +} +a.bg-white:focus, +a.bg-white:hover, +button.bg-white:focus, +button.bg-white:hover { + background-color: #e6e5e5 !important; +} +.text-white { + color: #fff !important; +} +.bg-gray { + background-color: #868e96 !important; +} +a.bg-gray:focus, +a.bg-gray:hover, +button.bg-gray:focus, +button.bg-gray:hover { + background-color: #6c757d !important; +} +.text-gray { + color: #868e96 !important; +} +.bg-gray-dark { + background-color: #343a40 !important; +} +a.bg-gray-dark:focus, +a.bg-gray-dark:hover, +button.bg-gray-dark:focus, +button.bg-gray-dark:hover { + background-color: #1d2124 !important; +} +.text-gray-dark { + color: #343a40 !important; +} +.bg-azure { + background-color: #45aaf2 !important; +} +a.bg-azure:focus, +a.bg-azure:hover, +button.bg-azure:focus, +button.bg-azure:hover { + background-color: #1594ef !important; +} +.text-azure { + color: #45aaf2 !important; +} +.bg-lime { + background-color: #7bd235 !important; +} +a.bg-lime:focus, +a.bg-lime:hover, +button.bg-lime:focus, +button.bg-lime:hover { + background-color: #63ad27 !important; +} +.text-lime { + color: #7bd235 !important; +} +.icon { + color: #9aa0ac !important; +} +.icon i { + vertical-align: -1px; +} +a.icon { + text-decoration: none; + cursor: pointer; +} +a.icon:hover { + color: #495057 !important; +} +.o-auto { + overflow: auto !important; +} +.o-hidden { + overflow: hidden !important; +} +.shadow { + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; +} +.shadow-none { + box-shadow: none !important; +} +.nav-item, +.nav-link { + padding: 0 0.75rem; + min-width: 2rem; + transition: color 0.3s; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + display: flex; + align-items: center; +} +.nav-item .badge, +.nav-link .badge { + position: absolute; + top: 0; + right: 0; + padding: 0.2rem 0.25rem; + min-width: 1rem; +} +.nav-tabs { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: #9aa0ac; + margin: 0 -0.75rem; +} +.nav-tabs .nav-link { + border: 0; + color: inherit; + border-bottom: 1px solid transparent; + margin-bottom: -1px; + transition: border-color 0.3s; + font-weight: 400; + padding: 1rem 0; +} +.nav-tabs .nav-link:hover:not(.disabled) { + border-color: #6e7687; + color: #6e7687; +} +.nav-tabs .nav-link.active { + border-color: #467fcf; + color: #467fcf; + background: transparent; +} +.nav-tabs .nav-link.disabled { + opacity: 0.4; + cursor: default; + pointer-events: none; +} +.nav-tabs .nav-item { + margin-bottom: 0; + position: relative; +} +.nav-tabs .nav-item i { + margin-right: 0.25rem; + line-height: 1; + font-size: 0.875rem; + width: 0.875rem; + vertical-align: initial; + display: inline-block; +} +.nav-tabs .nav-item:hover .nav-submenu { + display: block; +} +.nav-tabs .nav-submenu { + display: none; + position: absolute; + background: #fff; + border: 1px solid rgba(0, 40, 100, 0.12); + border-top: 0; + z-index: 10; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + min-width: 10rem; + border-radius: 0 0 3px 3px; +} +.nav-tabs .nav-submenu .nav-item { + display: block; + padding: 0.5rem 1rem; + color: #9aa0ac; + margin: 0 !important; + cursor: pointer; + transition: background 0.3s; +} +.nav-tabs .nav-submenu .nav-item.active { + color: #467fcf; +} +.nav-tabs .nav-submenu .nav-item:hover { + color: #6e7687; + text-decoration: none; + background: rgba(0, 0, 0, 0.024); +} +.btn { + cursor: pointer; + font-weight: 600; + letter-spacing: 0.03em; + font-size: 0.8125rem; + min-width: 2.375rem; +} +.btn i { + font-size: 1rem; + vertical-align: -2px; +} +.btn-icon { + padding-left: 0.5rem; + padding-right: 0.5rem; + text-align: center; +} +.btn-secondary { + color: #495057; + background-color: #fff; + border-color: rgba(0, 40, 100, 0.12); + box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.05); +} +.btn-secondary:hover { + color: #495057; + background-color: #f6f6f6; + border-color: rgba(0, 20, 49, 0.12); +} +.btn-secondary.focus, +.btn-secondary:focus { + box-shadow: 0 0 0 2px rgba(0, 40, 100, 0.5); +} +.btn-secondary.disabled, +.btn-secondary:disabled { + color: #495057; + background-color: #fff; + border-color: rgba(0, 40, 100, 0.12); +} +.btn-secondary:not(:disabled):not(.disabled).active, +.btn-secondary:not(:disabled):not(.disabled):active, +.show > .btn-secondary.dropdown-toggle { + color: #495057; + background-color: #e6e5e5; + border-color: rgba(0, 15, 36, 0.12); +} +.btn-secondary:not(:disabled):not(.disabled).active:focus, +.btn-secondary:not(:disabled):not(.disabled):active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(0, 40, 100, 0.5); +} +.btn-pill { + border-radius: 10rem; + padding-left: 1.5em; + padding-right: 1.5em; +} +.btn-square { + border-radius: 0; +} +.btn-facebook { + color: #fff; + background-color: #3b5998; + border-color: #3b5998; +} +.btn-facebook:hover { + color: #fff; + background-color: #30497c; + border-color: #2d4373; +} +.btn-facebook.focus, +.btn-facebook:focus { + box-shadow: 0 0 0 2px rgba(59, 89, 152, 0.5); +} +.btn-facebook.disabled, +.btn-facebook:disabled { + color: #fff; + background-color: #3b5998; + border-color: #3b5998; +} +.btn-facebook:not(:disabled):not(.disabled).active, +.btn-facebook:not(:disabled):not(.disabled):active, +.show > .btn-facebook.dropdown-toggle { + color: #fff; + background-color: #2d4373; + border-color: #293e6a; +} +.btn-facebook:not(:disabled):not(.disabled).active:focus, +.btn-facebook:not(:disabled):not(.disabled):active:focus, +.show > .btn-facebook.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(59, 89, 152, 0.5); +} +.btn-twitter { + color: #fff; + background-color: #1da1f2; + border-color: #1da1f2; +} +.btn-twitter:hover { + color: #fff; + background-color: #0d8ddc; + border-color: #0c85d0; +} +.btn-twitter.focus, +.btn-twitter:focus { + box-shadow: 0 0 0 2px rgba(29, 161, 242, 0.5); +} +.btn-twitter.disabled, +.btn-twitter:disabled { + color: #fff; + background-color: #1da1f2; + border-color: #1da1f2; +} +.btn-twitter:not(:disabled):not(.disabled).active, +.btn-twitter:not(:disabled):not(.disabled):active, +.show > .btn-twitter.dropdown-toggle { + color: #fff; + background-color: #0c85d0; + border-color: #0b7ec4; +} +.btn-twitter:not(:disabled):not(.disabled).active:focus, +.btn-twitter:not(:disabled):not(.disabled):active:focus, +.show > .btn-twitter.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(29, 161, 242, 0.5); +} +.btn-google { + color: #fff; + background-color: #dc4e41; + border-color: #dc4e41; +} +.btn-google:hover { + color: #fff; + background-color: #d03526; + border-color: #c63224; +} +.btn-google.focus, +.btn-google:focus { + box-shadow: 0 0 0 2px rgba(220, 78, 65, 0.5); +} +.btn-google.disabled, +.btn-google:disabled { + color: #fff; + background-color: #dc4e41; + border-color: #dc4e41; +} +.btn-google:not(:disabled):not(.disabled).active, +.btn-google:not(:disabled):not(.disabled):active, +.show > .btn-google.dropdown-toggle { + color: #fff; + background-color: #c63224; + border-color: #bb2f22; +} +.btn-google:not(:disabled):not(.disabled).active:focus, +.btn-google:not(:disabled):not(.disabled):active:focus, +.show > .btn-google.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(220, 78, 65, 0.5); +} +.btn-youtube { + color: #fff; + background-color: red; + border-color: red; +} +.btn-youtube:hover { + color: #fff; + background-color: #d90000; + border-color: #c00; +} +.btn-youtube.focus, +.btn-youtube:focus { + box-shadow: 0 0 0 2px rgba(255, 0, 0, 0.5); +} +.btn-youtube.disabled, +.btn-youtube:disabled { + color: #fff; + background-color: red; + border-color: red; +} +.btn-youtube:not(:disabled):not(.disabled).active, +.btn-youtube:not(:disabled):not(.disabled):active, +.show > .btn-youtube.dropdown-toggle { + color: #fff; + background-color: #c00; + border-color: #bf0000; +} +.btn-youtube:not(:disabled):not(.disabled).active:focus, +.btn-youtube:not(:disabled):not(.disabled):active:focus, +.show > .btn-youtube.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(255, 0, 0, 0.5); +} +.btn-vimeo { + color: #fff; + background-color: #1ab7ea; + border-color: #1ab7ea; +} +.btn-vimeo:hover { + color: #fff; + background-color: #139ecb; + border-color: #1295bf; +} +.btn-vimeo.focus, +.btn-vimeo:focus { + box-shadow: 0 0 0 2px rgba(26, 183, 234, 0.5); +} +.btn-vimeo.disabled, +.btn-vimeo:disabled { + color: #fff; + background-color: #1ab7ea; + border-color: #1ab7ea; +} +.btn-vimeo:not(:disabled):not(.disabled).active, +.btn-vimeo:not(:disabled):not(.disabled):active, +.show > .btn-vimeo.dropdown-toggle { + color: #fff; + background-color: #1295bf; + border-color: #108cb4; +} +.btn-vimeo:not(:disabled):not(.disabled).active:focus, +.btn-vimeo:not(:disabled):not(.disabled):active:focus, +.show > .btn-vimeo.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(26, 183, 234, 0.5); +} +.btn-dribbble { + color: #fff; + background-color: #ea4c89; + border-color: #ea4c89; +} +.btn-dribbble:hover { + color: #fff; + background-color: #e62a72; + border-color: #e51e6b; +} +.btn-dribbble.focus, +.btn-dribbble:focus { + box-shadow: 0 0 0 2px rgba(234, 76, 137, 0.5); +} +.btn-dribbble.disabled, +.btn-dribbble:disabled { + color: #fff; + background-color: #ea4c89; + border-color: #ea4c89; +} +.btn-dribbble:not(:disabled):not(.disabled).active, +.btn-dribbble:not(:disabled):not(.disabled):active, +.show > .btn-dribbble.dropdown-toggle { + color: #fff; + background-color: #e51e6b; + border-color: #dc1a65; +} +.btn-dribbble:not(:disabled):not(.disabled).active:focus, +.btn-dribbble:not(:disabled):not(.disabled):active:focus, +.show > .btn-dribbble.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(234, 76, 137, 0.5); +} +.btn-github { + color: #fff; + background-color: #181717; + border-color: #181717; +} +.btn-github:hover { + color: #fff; + background-color: #040404; + border-color: #000; +} +.btn-github.focus, +.btn-github:focus { + box-shadow: 0 0 0 2px rgba(24, 23, 23, 0.5); +} +.btn-github.disabled, +.btn-github:disabled { + color: #fff; + background-color: #181717; + border-color: #181717; +} +.btn-github:not(:disabled):not(.disabled).active, +.btn-github:not(:disabled):not(.disabled):active, +.show > .btn-github.dropdown-toggle { + color: #fff; + background-color: #000; + border-color: #000; +} +.btn-github:not(:disabled):not(.disabled).active:focus, +.btn-github:not(:disabled):not(.disabled):active:focus, +.show > .btn-github.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(24, 23, 23, 0.5); +} +.btn-instagram { + color: #fff; + background-color: #e4405f; + border-color: #e4405f; +} +.btn-instagram:hover { + color: #fff; + background-color: #de1f44; + border-color: #d31e40; +} +.btn-instagram.focus, +.btn-instagram:focus { + box-shadow: 0 0 0 2px rgba(228, 64, 95, 0.5); +} +.btn-instagram.disabled, +.btn-instagram:disabled { + color: #fff; + background-color: #e4405f; + border-color: #e4405f; +} +.btn-instagram:not(:disabled):not(.disabled).active, +.btn-instagram:not(:disabled):not(.disabled):active, +.show > .btn-instagram.dropdown-toggle { + color: #fff; + background-color: #d31e40; + border-color: #c81c3d; +} +.btn-instagram:not(:disabled):not(.disabled).active:focus, +.btn-instagram:not(:disabled):not(.disabled):active:focus, +.show > .btn-instagram.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(228, 64, 95, 0.5); +} +.btn-pinterest { + color: #fff; + background-color: #bd081c; + border-color: #bd081c; +} +.btn-pinterest:hover { + color: #fff; + background-color: #980617; + border-color: #8c0615; +} +.btn-pinterest.focus, +.btn-pinterest:focus { + box-shadow: 0 0 0 2px rgba(189, 8, 28, 0.5); +} +.btn-pinterest.disabled, +.btn-pinterest:disabled { + color: #fff; + background-color: #bd081c; + border-color: #bd081c; +} +.btn-pinterest:not(:disabled):not(.disabled).active, +.btn-pinterest:not(:disabled):not(.disabled):active, +.show > .btn-pinterest.dropdown-toggle { + color: #fff; + background-color: #8c0615; + border-color: #800513; +} +.btn-pinterest:not(:disabled):not(.disabled).active:focus, +.btn-pinterest:not(:disabled):not(.disabled):active:focus, +.show > .btn-pinterest.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(189, 8, 28, 0.5); +} +.btn-vk { + color: #fff; + background-color: #6383a8; + border-color: #6383a8; +} +.btn-vk:hover { + color: #fff; + background-color: #527093; + border-color: #4d6a8b; +} +.btn-vk.focus, +.btn-vk:focus { + box-shadow: 0 0 0 2px rgba(99, 131, 168, 0.5); +} +.btn-vk.disabled, +.btn-vk:disabled { + color: #fff; + background-color: #6383a8; + border-color: #6383a8; +} +.btn-vk:not(:disabled):not(.disabled).active, +.btn-vk:not(:disabled):not(.disabled):active, +.show > .btn-vk.dropdown-toggle { + color: #fff; + background-color: #4d6a8b; + border-color: #496482; +} +.btn-vk:not(:disabled):not(.disabled).active:focus, +.btn-vk:not(:disabled):not(.disabled):active:focus, +.show > .btn-vk.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(99, 131, 168, 0.5); +} +.btn-rss { + color: #fff; + background-color: orange; + border-color: orange; +} +.btn-rss:hover { + color: #fff; + background-color: #d98c00; + border-color: #cc8400; +} +.btn-rss.focus, +.btn-rss:focus { + box-shadow: 0 0 0 2px rgba(255, 165, 0, 0.5); +} +.btn-rss.disabled, +.btn-rss:disabled { + color: #fff; + background-color: orange; + border-color: orange; +} +.btn-rss:not(:disabled):not(.disabled).active, +.btn-rss:not(:disabled):not(.disabled):active, +.show > .btn-rss.dropdown-toggle { + color: #fff; + background-color: #cc8400; + border-color: #bf7c00; +} +.btn-rss:not(:disabled):not(.disabled).active:focus, +.btn-rss:not(:disabled):not(.disabled):active:focus, +.show > .btn-rss.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(255, 165, 0, 0.5); +} +.btn-flickr { + color: #fff; + background-color: #0063dc; + border-color: #0063dc; +} +.btn-flickr:hover { + color: #fff; + background-color: #0052b6; + border-color: #004ca9; +} +.btn-flickr.focus, +.btn-flickr:focus { + box-shadow: 0 0 0 2px rgba(0, 99, 220, 0.5); +} +.btn-flickr.disabled, +.btn-flickr:disabled { + color: #fff; + background-color: #0063dc; + border-color: #0063dc; +} +.btn-flickr:not(:disabled):not(.disabled).active, +.btn-flickr:not(:disabled):not(.disabled):active, +.show > .btn-flickr.dropdown-toggle { + color: #fff; + background-color: #004ca9; + border-color: #00469c; +} +.btn-flickr:not(:disabled):not(.disabled).active:focus, +.btn-flickr:not(:disabled):not(.disabled):active:focus, +.show > .btn-flickr.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(0, 99, 220, 0.5); +} +.btn-bitbucket { + color: #fff; + background-color: #0052cc; + border-color: #0052cc; +} +.btn-bitbucket:hover { + color: #fff; + background-color: #0043a6; + border-color: #003e99; +} +.btn-bitbucket.focus, +.btn-bitbucket:focus { + box-shadow: 0 0 0 2px rgba(0, 82, 204, 0.5); +} +.btn-bitbucket.disabled, +.btn-bitbucket:disabled { + color: #fff; + background-color: #0052cc; + border-color: #0052cc; +} +.btn-bitbucket:not(:disabled):not(.disabled).active, +.btn-bitbucket:not(:disabled):not(.disabled):active, +.show > .btn-bitbucket.dropdown-toggle { + color: #fff; + background-color: #003e99; + border-color: #00388c; +} +.btn-bitbucket:not(:disabled):not(.disabled).active:focus, +.btn-bitbucket:not(:disabled):not(.disabled):active:focus, +.show > .btn-bitbucket.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(0, 82, 204, 0.5); +} +.btn-blue { + color: #fff; + background-color: #467fcf; + border-color: #467fcf; +} +.btn-blue:hover { + color: #fff; + background-color: #316cbe; + border-color: #2f66b3; +} +.btn-blue.focus, +.btn-blue:focus { + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.5); +} +.btn-blue.disabled, +.btn-blue:disabled { + color: #fff; + background-color: #467fcf; + border-color: #467fcf; +} +.btn-blue:not(:disabled):not(.disabled).active, +.btn-blue:not(:disabled):not(.disabled):active, +.show > .btn-blue.dropdown-toggle { + color: #fff; + background-color: #2f66b3; + border-color: #2c60a9; +} +.btn-blue:not(:disabled):not(.disabled).active:focus, +.btn-blue:not(:disabled):not(.disabled):active:focus, +.show > .btn-blue.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.5); +} +.btn-indigo { + color: #fff; + background-color: #6574cd; + border-color: #6574cd; +} +.btn-indigo:hover { + color: #fff; + background-color: #485ac4; + border-color: #3f51c1; +} +.btn-indigo.focus, +.btn-indigo:focus { + box-shadow: 0 0 0 2px rgba(101, 116, 205, 0.5); +} +.btn-indigo.disabled, +.btn-indigo:disabled { + color: #fff; + background-color: #6574cd; + border-color: #6574cd; +} +.btn-indigo:not(:disabled):not(.disabled).active, +.btn-indigo:not(:disabled):not(.disabled):active, +.show > .btn-indigo.dropdown-toggle { + color: #fff; + background-color: #3f51c1; + border-color: #3b4db7; +} +.btn-indigo:not(:disabled):not(.disabled).active:focus, +.btn-indigo:not(:disabled):not(.disabled):active:focus, +.show > .btn-indigo.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(101, 116, 205, 0.5); +} +.btn-purple { + color: #fff; + background-color: #a55eea; + border-color: #a55eea; +} +.btn-purple:hover { + color: #fff; + background-color: #923ce6; + border-color: #8c31e4; +} +.btn-purple.focus, +.btn-purple:focus { + box-shadow: 0 0 0 2px rgba(165, 94, 234, 0.5); +} +.btn-purple.disabled, +.btn-purple:disabled { + color: #fff; + background-color: #a55eea; + border-color: #a55eea; +} +.btn-purple:not(:disabled):not(.disabled).active, +.btn-purple:not(:disabled):not(.disabled):active, +.show > .btn-purple.dropdown-toggle { + color: #fff; + background-color: #8c31e4; + border-color: #8526e3; +} +.btn-purple:not(:disabled):not(.disabled).active:focus, +.btn-purple:not(:disabled):not(.disabled):active:focus, +.show > .btn-purple.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(165, 94, 234, 0.5); +} +.btn-pink { + color: #fff; + background-color: #f66d9b; + border-color: #f66d9b; +} +.btn-pink:hover { + color: #fff; + background-color: #f44982; + border-color: #f33d7a; +} +.btn-pink.focus, +.btn-pink:focus { + box-shadow: 0 0 0 2px rgba(246, 109, 155, 0.5); +} +.btn-pink.disabled, +.btn-pink:disabled { + color: #fff; + background-color: #f66d9b; + border-color: #f66d9b; +} +.btn-pink:not(:disabled):not(.disabled).active, +.btn-pink:not(:disabled):not(.disabled):active, +.show > .btn-pink.dropdown-toggle { + color: #fff; + background-color: #f33d7a; + border-color: #f23172; +} +.btn-pink:not(:disabled):not(.disabled).active:focus, +.btn-pink:not(:disabled):not(.disabled):active:focus, +.show > .btn-pink.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(246, 109, 155, 0.5); +} +.btn-red { + color: #fff; + background-color: #cd201f; + border-color: #cd201f; +} +.btn-red:hover { + color: #fff; + background-color: #ac1b1a; + border-color: #a11918; +} +.btn-red.focus, +.btn-red:focus { + box-shadow: 0 0 0 2px rgba(205, 32, 31, 0.5); +} +.btn-red.disabled, +.btn-red:disabled { + color: #fff; + background-color: #cd201f; + border-color: #cd201f; +} +.btn-red:not(:disabled):not(.disabled).active, +.btn-red:not(:disabled):not(.disabled):active, +.show > .btn-red.dropdown-toggle { + color: #fff; + background-color: #a11918; + border-color: #961717; +} +.btn-red:not(:disabled):not(.disabled).active:focus, +.btn-red:not(:disabled):not(.disabled):active:focus, +.show > .btn-red.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(205, 32, 31, 0.5); +} +.btn-orange { + color: #fff; + background-color: #fd9644; + border-color: #fd9644; +} +.btn-orange:hover { + color: #fff; + background-color: #fd811e; + border-color: #fc7a12; +} +.btn-orange.focus, +.btn-orange:focus { + box-shadow: 0 0 0 2px rgba(253, 150, 68, 0.5); +} +.btn-orange.disabled, +.btn-orange:disabled { + color: #fff; + background-color: #fd9644; + border-color: #fd9644; +} +.btn-orange:not(:disabled):not(.disabled).active, +.btn-orange:not(:disabled):not(.disabled):active, +.show > .btn-orange.dropdown-toggle { + color: #fff; + background-color: #fc7a12; + border-color: #fc7305; +} +.btn-orange:not(:disabled):not(.disabled).active:focus, +.btn-orange:not(:disabled):not(.disabled):active:focus, +.show > .btn-orange.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(253, 150, 68, 0.5); +} +.btn-yellow { + color: #fff; + background-color: #f1c40f; + border-color: #f1c40f; +} +.btn-yellow:hover { + color: #fff; + background-color: #cea70c; + border-color: #c29d0b; +} +.btn-yellow.focus, +.btn-yellow:focus { + box-shadow: 0 0 0 2px rgba(241, 196, 15, 0.5); +} +.btn-yellow.disabled, +.btn-yellow:disabled { + color: #fff; + background-color: #f1c40f; + border-color: #f1c40f; +} +.btn-yellow:not(:disabled):not(.disabled).active, +.btn-yellow:not(:disabled):not(.disabled):active, +.show > .btn-yellow.dropdown-toggle { + color: #fff; + background-color: #c29d0b; + border-color: #b6940b; +} +.btn-yellow:not(:disabled):not(.disabled).active:focus, +.btn-yellow:not(:disabled):not(.disabled):active:focus, +.show > .btn-yellow.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(241, 196, 15, 0.5); +} +.btn-green { + color: #fff; + background-color: #5eba00; + border-color: #5eba00; +} +.btn-green:hover { + color: #fff; + background-color: #4b9400; + border-color: #448700; +} +.btn-green.focus, +.btn-green:focus { + box-shadow: 0 0 0 2px rgba(94, 186, 0, 0.5); +} +.btn-green.disabled, +.btn-green:disabled { + color: #fff; + background-color: #5eba00; + border-color: #5eba00; +} +.btn-green:not(:disabled):not(.disabled).active, +.btn-green:not(:disabled):not(.disabled):active, +.show > .btn-green.dropdown-toggle { + color: #fff; + background-color: #448700; + border-color: #3e7a00; +} +.btn-green:not(:disabled):not(.disabled).active:focus, +.btn-green:not(:disabled):not(.disabled):active:focus, +.show > .btn-green.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(94, 186, 0, 0.5); +} +.btn-teal { + color: #fff; + background-color: #2bcbba; + border-color: #2bcbba; +} +.btn-teal:hover { + color: #fff; + background-color: #24ab9d; + border-color: #22a193; +} +.btn-teal.focus, +.btn-teal:focus { + box-shadow: 0 0 0 2px rgba(43, 203, 186, 0.5); +} +.btn-teal.disabled, +.btn-teal:disabled { + color: #fff; + background-color: #2bcbba; + border-color: #2bcbba; +} +.btn-teal:not(:disabled):not(.disabled).active, +.btn-teal:not(:disabled):not(.disabled):active, +.show > .btn-teal.dropdown-toggle { + color: #fff; + background-color: #22a193; + border-color: #20968a; +} +.btn-teal:not(:disabled):not(.disabled).active:focus, +.btn-teal:not(:disabled):not(.disabled):active:focus, +.show > .btn-teal.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(43, 203, 186, 0.5); +} +.btn-cyan { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} +.btn-cyan:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} +.btn-cyan.focus, +.btn-cyan:focus { + box-shadow: 0 0 0 2px rgba(23, 162, 184, 0.5); +} +.btn-cyan.disabled, +.btn-cyan:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} +.btn-cyan:not(:disabled):not(.disabled).active, +.btn-cyan:not(:disabled):not(.disabled):active, +.show > .btn-cyan.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} +.btn-cyan:not(:disabled):not(.disabled).active:focus, +.btn-cyan:not(:disabled):not(.disabled):active:focus, +.show > .btn-cyan.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(23, 162, 184, 0.5); +} +.btn-white { + color: #495057; + background-color: #fff; + border-color: #fff; +} +.btn-white:hover { + color: #495057; + background-color: #ececec; + border-color: #e6e5e5; +} +.btn-white.focus, +.btn-white:focus { + box-shadow: 0 0 0 2px hsla(0, 0%, 100%, 0.5); +} +.btn-white.disabled, +.btn-white:disabled { + color: #495057; + background-color: #fff; + border-color: #fff; +} +.btn-white:not(:disabled):not(.disabled).active, +.btn-white:not(:disabled):not(.disabled):active, +.show > .btn-white.dropdown-toggle { + color: #495057; + background-color: #e6e5e5; + border-color: #dfdfdf; +} +.btn-white:not(:disabled):not(.disabled).active:focus, +.btn-white:not(:disabled):not(.disabled):active:focus, +.show > .btn-white.dropdown-toggle:focus { + box-shadow: 0 0 0 2px hsla(0, 0%, 100%, 0.5); +} +.btn-gray { + color: #fff; + background-color: #868e96; + border-color: #868e96; +} +.btn-gray:hover { + color: #fff; + background-color: #727b84; + border-color: #6c757d; +} +.btn-gray.focus, +.btn-gray:focus { + box-shadow: 0 0 0 2px rgba(134, 142, 150, 0.5); +} +.btn-gray.disabled, +.btn-gray:disabled { + color: #fff; + background-color: #868e96; + border-color: #868e96; +} +.btn-gray:not(:disabled):not(.disabled).active, +.btn-gray:not(:disabled):not(.disabled):active, +.show > .btn-gray.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #666e76; +} +.btn-gray:not(:disabled):not(.disabled).active:focus, +.btn-gray:not(:disabled):not(.disabled):active:focus, +.show > .btn-gray.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(134, 142, 150, 0.5); +} +.btn-gray-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} +.btn-gray-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} +.btn-gray-dark.focus, +.btn-gray-dark:focus { + box-shadow: 0 0 0 2px rgba(52, 58, 64, 0.5); +} +.btn-gray-dark.disabled, +.btn-gray-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} +.btn-gray-dark:not(:disabled):not(.disabled).active, +.btn-gray-dark:not(:disabled):not(.disabled):active, +.show > .btn-gray-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} +.btn-gray-dark:not(:disabled):not(.disabled).active:focus, +.btn-gray-dark:not(:disabled):not(.disabled):active:focus, +.show > .btn-gray-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(52, 58, 64, 0.5); +} +.btn-azure { + color: #fff; + background-color: #45aaf2; + border-color: #45aaf2; +} +.btn-azure:hover { + color: #fff; + background-color: #219af0; + border-color: #1594ef; +} +.btn-azure.focus, +.btn-azure:focus { + box-shadow: 0 0 0 2px rgba(69, 170, 242, 0.5); +} +.btn-azure.disabled, +.btn-azure:disabled { + color: #fff; + background-color: #45aaf2; + border-color: #45aaf2; +} +.btn-azure:not(:disabled):not(.disabled).active, +.btn-azure:not(:disabled):not(.disabled):active, +.show > .btn-azure.dropdown-toggle { + color: #fff; + background-color: #1594ef; + border-color: #108ee7; +} +.btn-azure:not(:disabled):not(.disabled).active:focus, +.btn-azure:not(:disabled):not(.disabled):active:focus, +.show > .btn-azure.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(69, 170, 242, 0.5); +} +.btn-lime { + color: #fff; + background-color: #7bd235; + border-color: #7bd235; +} +.btn-lime:hover { + color: #fff; + background-color: #69b829; + border-color: #63ad27; +} +.btn-lime.focus, +.btn-lime:focus { + box-shadow: 0 0 0 2px rgba(123, 210, 53, 0.5); +} +.btn-lime.disabled, +.btn-lime:disabled { + color: #fff; + background-color: #7bd235; + border-color: #7bd235; +} +.btn-lime:not(:disabled):not(.disabled).active, +.btn-lime:not(:disabled):not(.disabled):active, +.show > .btn-lime.dropdown-toggle { + color: #fff; + background-color: #63ad27; + border-color: #5da324; +} +.btn-lime:not(:disabled):not(.disabled).active:focus, +.btn-lime:not(:disabled):not(.disabled):active:focus, +.show > .btn-lime.dropdown-toggle:focus { + box-shadow: 0 0 0 2px rgba(123, 210, 53, 0.5); +} +.btn-option { + background: transparent; + color: #9aa0ac; +} +.btn-option:hover { + color: #6e7687; +} +.btn-option:focus { + box-shadow: none; + color: #6e7687; +} +.btn-group-sm > .btn, +.btn-sm { + font-size: 0.75rem; + min-width: 1.625rem; +} +.btn-group-lg > .btn, +.btn-lg { + font-size: 1rem; + min-width: 2.75rem; + font-weight: 400; +} +.btn-list { + margin-bottom: -0.5rem; + font-size: 0; +} +.btn-list > .btn, +.btn-list > .dropdown { + margin-bottom: 0.5rem; +} +.btn-list > .btn:not(:last-child), +.btn-list > .dropdown:not(:last-child) { + margin-right: 0.5rem; +} +.btn-loading { + color: transparent !important; + pointer-events: none; + position: relative; +} +.btn-loading:after { + content: ""; + -webkit-animation: loader 0.5s linear infinite; + animation: loader 0.5s linear infinite; + border: 2px solid #fff; + border-radius: 50%; + border-right-color: transparent !important; + border-top-color: transparent !important; + display: block; + height: 1.4em; + width: 1.4em; + position: absolute; + left: calc(50% - 0.7em); + top: calc(50% - 0.7em); + -webkit-transform-origin: center; + transform-origin: center; + position: absolute !important; +} +.btn-group-sm > .btn-loading.btn:after, +.btn-loading.btn-sm:after { + height: 1em; + width: 1em; + left: calc(50% - 0.5em); + top: calc(50% - 0.5em); +} +.btn-loading.btn-secondary:after { + border-color: #495057; +} +.alert { + font-size: 0.9375rem; +} +.alert-icon { + padding-left: 3rem; +} +.alert-icon > i { + color: inherit !important; + font-size: 1rem; + position: absolute; + top: 1rem; + left: 1rem; +} +.alert-avatar { + padding-left: 3.75rem; +} +.alert-avatar .avatar { + position: absolute; + top: 0.5rem; + left: 0.75rem; +} +.close { + font-size: 1rem; + line-height: 1.5; + transition: color 0.3s; +} +.close:before { + content: "\EA00"; + font-family: feather; +} +.badge { + color: #fff; +} +.badge-default { + background: #e9ecef; + color: #868e96; +} +.table thead th, +.text-wrap table thead th { + border-top: 0; + border-bottom-width: 1px; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.table th, +.text-wrap table th { + color: #9aa0ac; + text-transform: uppercase; + font-size: 0.875rem; + font-weight: 400; +} +.table-md td, +.table-md th { + padding: 0.5rem; +} +.table-vcenter td, +.table-vcenter th { + vertical-align: middle; +} +.table-center td, +.table-center th { + text-align: center; +} +.table-striped tbody tr:nth-of-type(odd) { + background: transparent; +} +.table-striped tbody tr:nth-of-type(2n) { + background-color: rgba(0, 0, 0, 0.02); +} +.table-calendar { + margin: 0 0 0.75rem; +} +.table-calendar td, +.table-calendar th { + border: 0; + text-align: center; + padding: 0 !important; + width: 14.28571429%; + line-height: 2.5rem; +} +.table-calendar td { + border-top: 0; +} +.table-calendar-link { + line-height: 2rem; + min-width: calc(2rem + 2px); + display: inline-block; + border-radius: 3px; + background: #f8f9fa; + color: #495057; + font-weight: 600; + transition: background 0.3s, color 0.3s; + position: relative; +} +.table-calendar-link:before { + content: ""; + width: 4px; + height: 4px; + position: absolute; + left: 0.25rem; + top: 0.25rem; + border-radius: 50px; + background: #467fcf; +} +.table-calendar-link:hover { + color: #fff; + text-decoration: none; + background: #467fcf; + transition: background 0.3s; +} +.table-calendar-link:hover:before { + background: #fff; +} +.table-header { + cursor: pointer; + transition: color 0.3s; +} +.table-header:hover { + color: #495057 !important; +} +.table-header:after { + content: "\F0DC"; + font-family: FontAwesome; + display: inline-block; + margin-left: 0.5rem; + font-size: 0.75rem; +} +.table-header-asc { + color: #495057 !important; +} +.table-header-asc:after { + content: "\F0DE"; +} +.table-header-desc { + color: #495057 !important; +} +.table-header-desc:after { + content: "\F0DD"; +} +.page-breadcrumb { + background: 0; + padding: 0; + margin: 1rem 0 0; + font-size: 0.875rem; +} +@media (min-width: 768px) { + .page-breadcrumb { + margin: -0.5rem 0 0; + } +} +.page-breadcrumb .breadcrumb-item { + color: #9aa0ac; +} +.page-breadcrumb .breadcrumb-item.active { + color: #6e7687; +} +.pagination-simple .page-item .page-link { + background: 0; + border: 0; +} +.pagination-simple .page-item.active .page-link { + color: #495057; + font-weight: 700; +} +.pagination-pager .page-prev { + margin-right: auto; +} +.pagination-pager .page-next { + margin-left: auto; +} +.page-total-text { + margin-right: 1rem; + align-self: center; + color: #6e7687; +} +.card { + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + position: relative; + margin-bottom: 1.5rem; + width: 100%; +} +.card .card { + box-shadow: none; +} +@media print { + .card { + box-shadow: none; + border: 0; + } +} +.card-body { + flex: 1 1 auto; + margin: 0; + padding: 1.5rem; + position: relative; +} +.card-body + .card-body { + border-top: 1px solid rgba(0, 40, 100, 0.12); +} +.card-body > :last-child { + margin-bottom: 0; +} +@media print { + .card-body { + padding: 0; + } +} +.card-body-scrollable { + overflow: auto; +} +.card-bottom, +.card-footer { + padding: 1rem 1.5rem; + background: 0; +} +.card-footer { + border-top: 1px solid rgba(0, 40, 100, 0.12); + color: #6e7687; +} +.card-header { + background: 0; + padding: 0.5rem 1.5rem; + display: flex; + min-height: 3.5rem; + align-items: center; +} +.card-header .card-title { + margin-bottom: 0; +} +.card-header.border-0 + .card-body { + padding-top: 0; +} +@media print { + .card-header { + display: none; + } +} +.card-img-top { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.card-img-overlay { + background-color: rgba(0, 0, 0, 0.4); + display: flex; + flex-direction: column; +} +.card-title { + font-size: 1.125rem; + line-height: 1.2; + font-weight: 400; + margin-bottom: 1.5rem; +} +.card-title a { + color: inherit; +} +.card-title:only-child { + margin-bottom: 0; +} +.card-subtitle, +.card-title small { + color: #9aa0ac; + font-size: 0.875rem; + display: block; + margin: -0.75rem 0 1rem; + line-height: 1.1; + font-weight: 400; +} +.card-table { + margin-bottom: 0; +} +.card-table tr:first-child td, +.card-table tr:first-child th { + border-top: 0; +} +.card-table tr td:first-child, +.card-table tr th:first-child { + padding-left: 1.5rem; +} +.card-table tr td:last-child, +.card-table tr th:last-child { + padding-right: 1.5rem; +} +.card-body + .card-table { + border-top: 1px solid rgba(0, 40, 100, 0.12); +} +.card-profile .card-header { + height: 9rem; + background-size: cover; +} +.card-profile-img { + max-width: 6rem; + margin-top: -5rem; + margin-bottom: 1rem; + border: 3px solid #fff; + border-radius: 100%; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); +} +.card-link + .card-link { + margin-left: 1rem; +} +.card-body + .card-list-group { + border-top: 1px solid rgba(0, 40, 100, 0.12); +} +.card-list-group .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.card-list-group .list-group-item:last-child { + border-bottom: 0; +} +.card-list-group .list-group-item:first-child { + border-top: 0; +} +.card-header-tabs { + margin: -1.25rem 0; + border-bottom: 0; + line-height: 2rem; +} +.card-header-tabs .nav-item { + margin-bottom: 1px; +} +.card-header-pills { + margin: -0.75rem 0; +} +.card-aside { + flex-direction: row; +} +.card-aside-column { + min-width: 5rem; + width: 30%; + flex: 0 0 30%; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + background: no-repeat 50% / cover; +} +.card-value { + font-size: 2.5rem; + line-height: 3.4rem; + height: 3.4rem; + display: flex; + align-items: center; + font-weight: 400; +} +.card-value i { + vertical-align: middle; +} +.card-chart-bg { + height: 4rem; + margin-top: -1rem; + position: relative; + z-index: 1; + overflow: hidden; +} +.card-options { + margin-left: auto; + display: flex; + order: 100; + margin-right: -0.5rem; + color: #9aa0ac; + align-self: center; +} +.card-options a { + margin-left: 0.5rem; + color: #9aa0ac; + display: inline-block; + min-width: 1rem; +} +.card-options a:hover { + text-decoration: none; + color: #6e7687; +} +.card-options a i { + font-size: 1rem; + vertical-align: middle; +} +.card-collapsed > :not(.card-header):not(.card-status), +.card-options .dropdown-toggle:after { + display: none; +} +.card-collapsed .card-options-collapse i:before { + content: "\E92D"; +} +.card-fullscreen .card-options-fullscreen i:before { + content: "\E992"; +} +.card-fullscreen .card-options-remove { + display: none; +} +.card-map { + height: 15rem; + background: #e9ecef; +} +.card-map-placeholder { + background: no-repeat 50%; +} +.card-tabs { + display: flex; +} +.card-tabs-bottom .card-tabs-item { + border: 0; + border-top: 1px solid rgba(0, 40, 100, 0.12); +} +.card-tabs-bottom .card-tabs-item.active { + border-top-color: #fff; +} +.card-tabs-item { + flex: 1 1 auto; + display: block; + padding: 1rem 1.5rem; + border-bottom: 1px solid rgba(0, 40, 100, 0.12); + color: inherit; + overflow: hidden; +} +a.card-tabs-item { + background: #fafbfc; +} +a.card-tabs-item:hover { + text-decoration: none; + color: inherit; +} +a.card-tabs-item:focus { + z-index: 1; +} +a.card-tabs-item.active { + background: #fff; + border-bottom-color: #fff; +} +.card-tabs-item + .card-tabs-item { + border-left: 1px solid rgba(0, 40, 100, 0.12); +} +.card-status { + position: absolute; + top: -1px; + left: -1px; + right: -1px; + height: 3px; + border-radius: 3px 3px 0 0; + background: rgba(0, 40, 100, 0.12); +} +.card-status-left { + right: auto; + bottom: 0; + height: auto; + width: 3px; + border-radius: 3px 0 0 3px; +} +.card-icon { + width: 3rem; + font-size: 2.5rem; + line-height: 3rem; + text-align: center; +} +.card-fullscreen { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 1; + margin: 0; +} +.card-alert { + border-radius: 0; + margin: -1px -1px 0; +} +.card-category { + font-size: 0.875rem; + text-transform: uppercase; + text-align: center; + font-weight: 600; + letter-spacing: 0.05em; + margin: 0 0 0.5rem; +} +.popover { + -webkit-filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1)); + filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1)); +} +.popover.bs-popover-auto[x-placement^="top"], +.popover.bs-popover-top { + margin-bottom: 0.625rem; +} +.popover .arrow { + margin-left: calc(0.25rem + 2px); +} +.dropdown { + display: inline-block; +} +.dropdown-menu { + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + min-width: 12rem; +} +.dropdown-item { + color: #6e7687; +} +.dropdown-menu-arrow:before { + top: -6px; + border-bottom: 5px solid rgba(0, 0, 0, 0.2); +} +.dropdown-menu-arrow:after, +.dropdown-menu-arrow:before { + position: absolute; + left: 12px; + display: inline-block; + border-right: 5px solid transparent; + border-left: 5px solid transparent; + content: ""; +} +.dropdown-menu-arrow:after { + top: -5px; + border-bottom: 5px solid #fff; +} +.dropdown-menu-arrow.dropdown-menu-right:after, +.dropdown-menu-arrow.dropdown-menu-right:before { + left: auto; + right: 12px; +} +.dropdown-toggle { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; +} +.dropdown-toggle:after { + vertical-align: 0.155em; +} +.dropdown-toggle:empty:after { + margin-left: 0; +} +.dropdown-icon { + color: #9aa0ac; + margin-right: 0.5rem; + margin-left: -0.5rem; + width: 1em; + display: inline-block; + text-align: center; + vertical-align: -1px; +} +.list-inline-dots .list-inline-item + .list-inline-item:before { + content: "\B7 "; + margin-left: -2px; + margin-right: 3px; +} +.list-separated-item { + padding: 1rem 0; +} +.list-separated-item:first-child { + padding-top: 0; +} +.list-separated-item:last-child { + padding-bottom: 0; +} +.list-separated-item + .list-separated-item { + border-top: 1px solid rgba(0, 40, 100, 0.12); +} +.list-group-item.active .icon { + color: inherit !important; +} +.list-group-transparent .list-group-item { + background: 0; + border: 0; + padding: 0.5rem 1rem; + border-radius: 3px; +} +.list-group-transparent .list-group-item.active { + background: rgba(70, 127, 207, 0.06); + font-weight: 600; +} +.avatar { + width: 2rem; + height: 2rem; + line-height: 2rem; + border-radius: 50%; + display: inline-block; + background: #ced4da no-repeat 50% / cover; + position: relative; + text-align: center; + color: #868e96; + font-weight: 600; + vertical-align: bottom; + font-size: 0.875rem; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.avatar i { + font-size: 125%; + vertical-align: sub; +} +.avatar-status { + position: absolute; + right: -2px; + bottom: -2px; + width: 0.75rem; + height: 0.75rem; + border: 2px solid #fff; + background: #868e96; + border-radius: 50%; +} +.avatar-sm { + width: 1.5rem; + height: 1.5rem; + line-height: 1.5rem; + font-size: 0.75rem; +} +.avatar-md { + width: 2.5rem; + height: 2.5rem; + line-height: 2.5rem; + font-size: 1rem; +} +.avatar-lg { + width: 3rem; + height: 3rem; + line-height: 3rem; + font-size: 1.25rem; +} +.avatar-xl { + width: 4rem; + height: 4rem; + line-height: 4rem; + font-size: 1.75rem; +} +.avatar-xxl { + width: 5rem; + height: 5rem; + line-height: 5rem; + font-size: 2rem; +} +.avatar-placeholder { + background: #ced4da + url('data:image/svg+xml;charset=utf8,') + no-repeat 50%/80%; +} +.avatar-list { + margin: 0 0 -0.5rem; + padding: 0; + font-size: 0; +} +.avatar-list .avatar { + margin-bottom: 0.5rem; +} +.avatar-list .avatar:not(:last-child) { + margin-right: 0.5rem; +} +.avatar-list-stacked .avatar { + margin-right: -0.8em !important; + box-shadow: 0 0 0 2px #fff; +} +.avatar-blue { + background-color: #c8d9f1; + color: #467fcf; +} +.avatar-indigo { + background-color: #d1d5f0; + color: #6574cd; +} +.avatar-purple { + background-color: #e4cff9; + color: #a55eea; +} +.avatar-pink { + background-color: #fcd3e1; + color: #f66d9b; +} +.avatar-red { + background-color: #f0bcbc; + color: #cd201f; +} +.avatar-orange { + background-color: #fee0c7; + color: #fd9644; +} +.avatar-yellow { + background-color: #fbedb7; + color: #f1c40f; +} +.avatar-green { + background-color: #cfeab3; + color: #5eba00; +} +.avatar-teal { + background-color: #bfefea; + color: #2bcbba; +} +.avatar-cyan { + background-color: #b9e3ea; + color: #17a2b8; +} +.avatar-white { + background-color: #fff; + color: #fff; +} +.avatar-gray { + background-color: #dbdde0; + color: #868e96; +} +.avatar-gray-dark { + background-color: #c2c4c6; + color: #343a40; +} +.avatar-azure { + background-color: #c7e6fb; + color: #45aaf2; +} +.avatar-lime { + background-color: #d7f2c2; + color: #7bd235; +} +.product-price { + font-size: 1rem; +} +.product-price strong { + font-size: 1.5rem; +} +@-webkit-keyframes indeterminate { + 0% { + left: -35%; + right: 100%; + } + 60%, + to { + left: 100%; + right: -90%; + } +} +@keyframes indeterminate { + 0% { + left: -35%; + right: 100%; + } + 60%, + to { + left: 100%; + right: -90%; + } +} +@-webkit-keyframes indeterminate-short { + 0% { + left: -200%; + right: 100%; + } + 60%, + to { + left: 107%; + right: -8%; + } +} +@keyframes indeterminate-short { + 0% { + left: -200%; + right: 100%; + } + 60%, + to { + left: 107%; + right: -8%; + } +} +.progress { + position: relative; +} +.progress-xs, +.progress-xs .progress-bar { + height: 0.25rem; +} +.progress-sm, +.progress-sm .progress-bar { + height: 0.5rem; +} +.progress-bar-indeterminate:after, +.progress-bar-indeterminate:before { + content: ""; + position: absolute; + background-color: inherit; + left: 0; + will-change: left, right; + top: 0; + bottom: 0; +} +.progress-bar-indeterminate:before { + -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) + infinite; + animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; +} +.progress-bar-indeterminate:after { + -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) + infinite; + animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) + infinite; + -webkit-animation-delay: 1.15s; + animation-delay: 1.15s; +} +@-webkit-keyframes loader { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +@keyframes loader { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +.dimmer { + position: relative; +} +.dimmer .loader { + display: none; + margin: 0 auto; + position: absolute; + top: 50%; + left: 0; + right: 0; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +.dimmer.active .loader { + display: block; +} +.dimmer.active .dimmer-content { + opacity: 0.04; + pointer-events: none; +} +.loader { + display: block; + position: relative; + height: 2.5rem; + width: 2.5rem; + color: #467fcf; +} +.loader:after, +.loader:before { + width: 2.5rem; + height: 2.5rem; + margin: -1.25rem 0 0 -1.25rem; + position: absolute; + content: ""; + top: 50%; + left: 50%; +} +.loader:before { + border-radius: 50%; + border: 3px solid; + opacity: 0.15; +} +.loader:after { + -webkit-animation: loader 0.6s linear; + animation: loader 0.6s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + border-radius: 50%; + border: 3px solid transparent; + border-top-color: currentcolor; + box-shadow: 0 0 0 1px transparent; +} +.icons-list { + list-style: none; + margin: 0 -1px -1px 0; + padding: 0; + display: flex; + flex-wrap: wrap; +} +.icons-list > li { + flex: 1 0 4rem; +} +.icons-list-wrap { + overflow: hidden; +} +.icons-list-item { + text-align: center; + height: 4rem; + display: flex; + align-items: center; + justify-content: center; + border-right: 1px solid rgba(0, 40, 100, 0.12); + border-bottom: 1px solid rgba(0, 40, 100, 0.12); +} +.icons-list-item i { + font-size: 1.25rem; +} +.img-gallery { + margin-right: -0.25rem; + margin-left: -0.25rem; + margin-bottom: -0.5rem; +} +.img-gallery > .col, +.img-gallery > [class*="col-"] { + padding-left: 0.25rem; + padding-right: 0.25rem; + padding-bottom: 0.5rem; +} +.link-overlay { + position: relative; +} +.link-overlay:hover .link-overlay-bg { + opacity: 1; +} +.link-overlay-bg { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(70, 127, 207, 0.8); + display: flex; + color: #fff; + align-items: center; + justify-content: center; + font-size: 1.25rem; + opacity: 0; + transition: opacity 0.3s; +} +.media-icon { + width: 2rem; + height: 2rem; + line-height: 2rem; + text-align: center; + border-radius: 100%; +} +.media-list { + margin: 0; + padding: 0; + list-style: none; +} +textarea[cols] { + height: auto; +} +.form-group, +.form-label { + display: block; +} +.form-label { + margin-bottom: 0.375rem; + font-weight: 600; + font-size: 0.875rem; +} +.form-label-small { + float: right; + font-weight: 400; + font-size: 87.5%; +} +.form-footer { + margin-top: 2rem; +} +.custom-control { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.custom-controls-stacked .custom-control { + margin-bottom: 0.25rem; +} +.custom-control-label { + vertical-align: middle; +} +.custom-control-label:before { + border: 1px solid rgba(0, 40, 100, 0.12); + background-color: #fff; + background-size: 0.5rem; +} +.custom-control-description { + line-height: 1.5rem; +} +.input-group-append, +.input-group-btn, +.input-group-prepend { + font-size: 0.9375rem; +} +.input-group-append > .btn, +.input-group-btn > .btn, +.input-group-prepend > .btn { + height: 100%; + border-color: rgba(0, 40, 100, 0.12); +} +.input-group-prepend > .input-group-text { + border-right: 0; +} +.input-group-append > .input-group-text { + border-left: 0; +} +.input-icon { + position: relative; +} +.input-icon .form-control:not(:last-child) { + padding-right: 2.5rem; +} +.input-icon .form-control:not(:first-child) { + padding-left: 2.5rem; +} +.input-icon-addon { + position: absolute; + top: 0; + bottom: 0; + left: 0; + color: #9aa0ac; + display: flex; + align-items: center; + justify-content: center; + min-width: 2.5rem; + pointer-events: none; +} +.input-icon-addon:last-child { + left: auto; + right: 0; +} +.form-fieldset { + background: #f8f9fa; + border: 1px solid #e9ecef; + padding: 1rem; + border-radius: 3px; + margin-bottom: 1rem; +} +.form-required { + color: #cd201f; +} +.form-required:before { + content: " "; +} +.state-valid { + padding-right: 2rem; + background: url("data:image/svg+xml;charset=utf8,") + no-repeat center right 0.5rem/1rem; +} +.state-invalid { + padding-right: 2rem; + background: url("data:image/svg+xml;charset=utf8,") + no-repeat center right 0.5rem/1rem; +} +.form-help { + display: inline-block; + width: 1rem; + height: 1rem; + text-align: center; + line-height: 1rem; + color: #9aa0ac; + background: #f8f9fa; + border-radius: 50%; + font-size: 0.75rem; + transition: background-color 0.3s, color 0.3s; + text-decoration: none; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.form-help:hover, +.form-help[aria-describedby] { + background: #467fcf; + color: #fff; +} +.sparkline { + display: inline-block; + height: 2rem; +} +.jqstooltip { + box-sizing: initial; + font-family: inherit !important; + background: #333 !important; + border: none !important; + border-radius: 3px; + font-size: 11px !important; + font-weight: 700 !important; + line-height: 1 !important; + padding: 6px !important; +} +.jqstooltip .jqsfield { + font: inherit !important; +} +.social-links li a { + background: #f8f8f8; + border-radius: 50%; + color: #9aa0ac; + display: inline-block; + height: 1.75rem; + width: 1.75rem; + line-height: 1.75rem; + text-align: center; +} +.chart, +.map { + position: relative; + padding-top: 56.25%; +} +.chart-square, +.map-square { + padding-top: 100%; +} +.chart-content, +.map-content { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.map-header { + margin-top: -1.5rem; + height: 15rem; + position: relative; + margin-bottom: -1.5rem; +} +.map-header:before { + content: ""; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 10rem; + background: linear-gradient(180deg, rgba(245, 247, 251, 0) 5%, #f5f7fb 95%); + pointer-events: none; +} +.map-header-layer { + height: 100%; +} +.map-static { + height: 120px; + width: 100%; + max-width: 640px; + background-position: 50%; + background-size: 640px 120px; +} +@-webkit-keyframes status-pulse { + 0%, + to { + opacity: 1; + } + 50% { + opacity: 0.32; + } +} +@keyframes status-pulse { + 0%, + to { + opacity: 1; + } + 50% { + opacity: 0.32; + } +} +.status-icon { + content: ""; + width: 0.5rem; + height: 0.5rem; + display: inline-block; + background: currentColor; + border-radius: 50%; + -webkit-transform: translateY(-1px); + transform: translateY(-1px); + margin-right: 0.375rem; + vertical-align: middle; +} +.status-animated { + -webkit-animation: status-pulse 1s ease infinite; + animation: status-pulse 1s ease infinite; +} +.chart-circle { + display: block; + height: 8rem; + width: 8rem; + position: relative; +} +.chart-circle canvas { + margin: 0 auto; + display: block; + max-width: 100%; + max-height: 100%; +} +.chart-circle-xs { + height: 2.5rem; + width: 2.5rem; + font-size: 0.8rem; +} +.chart-circle-sm { + height: 4rem; + width: 4rem; + font-size: 0.8rem; +} +.chart-circle-lg { + height: 10rem; + width: 10rem; + font-size: 0.8rem; +} +.chart-circle-value { + position: absolute; + top: 0; + left: 0; + right: 0; + margin-left: auto; + margin-right: auto; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + line-height: 1; +} +.chart-circle-value small { + display: block; + color: #9aa0ac; + font-size: 0.9375rem; +} +.chips { + margin: 0 0 -0.5rem; +} +.chips .chip { + margin: 0 0.5rem 0.5rem 0; +} +.chip { + display: inline-block; + height: 2rem; + line-height: 2rem; + font-size: 0.875rem; + font-weight: 500; + color: #6e7687; + padding: 0 0.75rem; + border-radius: 1rem; + background-color: #f8f9fa; + transition: background 0.3s; +} +.chip .avatar { + float: left; + margin: 0 0.5rem 0 -0.75rem; + height: 2rem; + width: 2rem; + border-radius: 50%; +} +a.chip:hover { + color: inherit; + text-decoration: none; + background-color: #e9ecef; +} +.stamp { + color: #fff; + background: #868e96; + display: inline-block; + min-width: 2rem; + height: 2rem; + padding: 0 0.25rem; + line-height: 2rem; + text-align: center; + border-radius: 3px; + font-weight: 600; +} +.stamp-md { + min-width: 2.5rem; + height: 2.5rem; + line-height: 2.5rem; +} +.chat { + outline: 0; + margin: 0; + list-style-type: none; + flex-direction: column; + justify-content: flex-end; + min-height: 100%; +} +.chat, +.chat-line { + padding: 0; + display: flex; +} +.chat-line { + text-align: right; + position: relative; + flex-direction: row-reverse; +} +.chat-line + .chat-line { + padding-top: 1rem; +} +.chat-message { + position: relative; + display: inline-block; + background-color: #467fcf; + color: #fff; + font-size: 0.875rem; + padding: 0.375rem 0.5rem; + border-radius: 3px; + white-space: normal; + text-align: left; + margin: 0 0.5rem 0 2.5rem; + line-height: 1.4; +} +.chat-message > :last-child { + margin-bottom: 0 !important; +} +.chat-message:after { + content: ""; + position: absolute; + right: -5px; + top: 7px; + border-bottom: 6px solid transparent; + border-left: 6px solid #467fcf; + border-top: 6px solid transparent; +} +.chat-message img { + max-width: 100%; +} +.chat-message p { + margin-bottom: 1em; +} +.chat-line-friend { + flex-direction: row; +} +.chat-line-friend + .chat-line-friend { + margin-top: -0.5rem; +} +.chat-line-friend + .chat-line-friend .chat-author { + visibility: hidden; +} +.chat-line-friend + .chat-line-friend .chat-message:after { + display: none; +} +.chat-line-friend .chat-message { + background-color: #f3f3f3; + color: #495057; + margin-left: 0.5rem; + margin-right: 2.5rem; +} +.chat-line-friend .chat-message:after { + right: auto; + left: -5px; + border-left-width: 0; + border-right: 5px solid #f3f3f3; +} +.example { + padding: 1.5rem; + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px 3px 0 0; + font-size: 0.9375rem; +} +.example-bg { + background: #f5f7fb; +} +.example + .highlight { + border-top: 0; + margin-top: 0; + border-radius: 0 0 3px 3px; +} +.highlight { + margin: 1rem 0 2rem; + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px; + font-size: 0.9375rem; + max-height: 40rem; + overflow: auto; + background: #fcfcfc; +} +.highlight pre { + margin-bottom: 0; + background-color: initial; +} +.example-column { + margin: 0 auto; +} +.example-column > .card:last-of-type { + margin-bottom: 0; +} +.example-column-1 { + max-width: 20rem; +} +.example-column-2 { + max-width: 40rem; +} +.tag { + font-size: 0.75rem; + color: #6e7687; + background-color: #e9ecef; + border-radius: 3px; + padding: 0 0.5rem; + line-height: 2em; + display: inline-flex; + cursor: default; + font-weight: 400; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +a.tag { + text-decoration: none; + cursor: pointer; + transition: color 0.3s, background 0.3s; +} +a.tag:hover { + background-color: rgba(110, 118, 135, 0.2); + color: inherit; +} +.tag-addon { + display: inline-block; + padding: 0 0.5rem; + color: inherit; + text-decoration: none; + background: rgba(0, 0, 0, 0.06); + margin: 0 -0.5rem 0 0.5rem; + text-align: center; + min-width: 1.5rem; +} +.tag-addon:last-child { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.tag-addon i { + vertical-align: middle; + margin: 0 -0.25rem; +} +a.tag-addon { + text-decoration: none; + cursor: pointer; + transition: color 0.3s, background 0.3s; +} +a.tag-addon:hover { + background: rgba(0, 0, 0, 0.16); + color: inherit; +} +.tag-avatar { + width: 1.5rem; + height: 1.5rem; + border-radius: 3px 0 0 3px; + margin: 0 0.5rem 0 -0.5rem; +} +.tag-blue { + background-color: #467fcf; + color: #fff; +} +.tag-indigo { + background-color: #6574cd; + color: #fff; +} +.tag-purple { + background-color: #a55eea; + color: #fff; +} +.tag-pink { + background-color: #f66d9b; + color: #fff; +} +.tag-red { + background-color: #cd201f; + color: #fff; +} +.tag-orange { + background-color: #fd9644; + color: #fff; +} +.tag-yellow { + background-color: #f1c40f; + color: #fff; +} +.tag-green { + background-color: #5eba00; + color: #fff; +} +.tag-teal { + background-color: #2bcbba; + color: #fff; +} +.tag-cyan { + background-color: #17a2b8; + color: #fff; +} +.tag-white { + background-color: #fff; + color: #fff; +} +.tag-gray { + background-color: #868e96; + color: #fff; +} +.tag-gray-dark { + background-color: #343a40; + color: #fff; +} +.tag-azure { + background-color: #45aaf2; + color: #fff; +} +.tag-lime { + background-color: #7bd235; + color: #fff; +} +.tag-primary { + background-color: #467fcf; + color: #fff; +} +.tag-secondary { + background-color: #868e96; + color: #fff; +} +.tag-success { + background-color: #5eba00; + color: #fff; +} +.tag-info { + background-color: #45aaf2; + color: #fff; +} +.tag-warning { + background-color: #f1c40f; + color: #fff; +} +.tag-danger { + background-color: #cd201f; + color: #fff; +} +.tag-light { + background-color: #f8f9fa; + color: #fff; +} +.tag-dark { + background-color: #343a40; + color: #fff; +} +.tag-rounded, +.tag-rounded .tag-avatar { + border-radius: 50px; +} +.tags { + margin-bottom: -0.5rem; + font-size: 0; +} +.tags > .tag { + margin-bottom: 0.5rem; +} +.tags > .tag:not(:last-child) { + margin-right: 0.5rem; +} +.highlight .hll { + background-color: #ffc; +} +.highlight .c { + color: #999; +} +.highlight .k { + color: #069; +} +.highlight .o { + color: #555; +} +.highlight .cm { + color: #999; +} +.highlight .cp { + color: #099; +} +.highlight .c1, +.highlight .cs { + color: #999; +} +.highlight .gd { + background-color: #fcc; + border: 1px solid #c00; +} +.highlight .ge { + font-style: italic; +} +.highlight .gr { + color: red; +} +.highlight .gh { + color: #030; +} +.highlight .gi { + background-color: #cfc; + border: 1px solid #0c0; +} +.highlight .go { + color: #aaa; +} +.highlight .gp { + color: #009; +} +.highlight .gu { + color: #030; +} +.highlight .gt { + color: #9c6; +} +.highlight .kc, +.highlight .kd, +.highlight .kn, +.highlight .kp, +.highlight .kr { + color: #069; +} +.highlight .kt { + color: #078; +} +.highlight .m { + color: #f60; +} +.highlight .s { + color: #d44950; +} +.highlight .na { + color: #4f9fcf; +} +.highlight .nb { + color: #366; +} +.highlight .nc { + color: #0a8; +} +.highlight .no { + color: #360; +} +.highlight .nd { + color: #99f; +} +.highlight .ni { + color: #999; +} +.highlight .ne { + color: #c00; +} +.highlight .nf { + color: #c0f; +} +.highlight .nl { + color: #99f; +} +.highlight .nn { + color: #0cf; +} +.highlight .nt { + color: #2f6f9f; +} +.highlight .nv { + color: #033; +} +.highlight .ow { + color: #000; +} +.highlight .w { + color: #bbb; +} +.highlight .mf, +.highlight .mh, +.highlight .mi, +.highlight .mo { + color: #f60; +} +.highlight .sb, +.highlight .sc { + color: #c30; +} +.highlight .sd { + font-style: italic; + color: #c30; +} +.highlight .s2, +.highlight .se, +.highlight .sh { + color: #c30; +} +.highlight .si { + color: #a00; +} +.highlight .sx { + color: #c30; +} +.highlight .sr { + color: #3aa; +} +.highlight .s1 { + color: #c30; +} +.highlight .ss { + color: #fc3; +} +.highlight .bp { + color: #366; +} +.highlight .vc, +.highlight .vg, +.highlight .vi { + color: #033; +} +.highlight .il { + color: #f60; +} +.highlight .css .nt + .nt, +.highlight .css .o, +.highlight .css .o + .nt { + color: #999; +} +.highlight .language-bash:before, +.highlight .language-sh:before { + color: #009; + content: "$ "; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.highlight .language-powershell:before { + color: #009; + content: "PM> "; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.custom-range { + align-items: center; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: 0; + cursor: pointer; + display: flex; + height: 100%; + min-height: 2.375rem; + overflow: hidden; + padding: 0; + border: 0; +} +.custom-range:focus { + box-shadow: none; + outline: 0; +} +.custom-range:focus::-webkit-slider-thumb { + border-color: #467fcf; + background-color: #467fcf; +} +.custom-range:focus::-moz-range-thumb { + border-color: #467fcf; + background-color: #467fcf; +} +.custom-range:focus::-ms-thumb { + border-color: #467fcf; + background-color: #467fcf; +} +.custom-range::-moz-focus-outer { + border: 0; +} +.custom-range::-webkit-slider-runnable-track { + background: #467fcf; + content: ""; + height: 2px; + pointer-events: none; +} +.custom-range::-webkit-slider-thumb { + width: 14px; + height: 14px; + -webkit-appearance: none; + appearance: none; + background: #fff; + border-radius: 50px; + box-shadow: 1px 0 0 -6px rgba(0, 50, 126, 0.12), + 6px 0 0 -6px rgba(0, 50, 126, 0.12), 7px 0 0 -6px rgba(0, 50, 126, 0.12), + 8px 0 0 -6px rgba(0, 50, 126, 0.12), 9px 0 0 -6px rgba(0, 50, 126, 0.12), + 10px 0 0 -6px rgba(0, 50, 126, 0.12), 11px 0 0 -6px rgba(0, 50, 126, 0.12), + 12px 0 0 -6px rgba(0, 50, 126, 0.12), 13px 0 0 -6px rgba(0, 50, 126, 0.12), + 14px 0 0 -6px rgba(0, 50, 126, 0.12), 15px 0 0 -6px rgba(0, 50, 126, 0.12), + 16px 0 0 -6px rgba(0, 50, 126, 0.12), 17px 0 0 -6px rgba(0, 50, 126, 0.12), + 18px 0 0 -6px rgba(0, 50, 126, 0.12), 19px 0 0 -6px rgba(0, 50, 126, 0.12), + 20px 0 0 -6px rgba(0, 50, 126, 0.12), 21px 0 0 -6px rgba(0, 50, 126, 0.12), + 22px 0 0 -6px rgba(0, 50, 126, 0.12), 23px 0 0 -6px rgba(0, 50, 126, 0.12), + 24px 0 0 -6px rgba(0, 50, 126, 0.12), 25px 0 0 -6px rgba(0, 50, 126, 0.12), + 26px 0 0 -6px rgba(0, 50, 126, 0.12), 27px 0 0 -6px rgba(0, 50, 126, 0.12), + 28px 0 0 -6px rgba(0, 50, 126, 0.12), 29px 0 0 -6px rgba(0, 50, 126, 0.12), + 30px 0 0 -6px rgba(0, 50, 126, 0.12), 31px 0 0 -6px rgba(0, 50, 126, 0.12), + 32px 0 0 -6px rgba(0, 50, 126, 0.12), 33px 0 0 -6px rgba(0, 50, 126, 0.12), + 34px 0 0 -6px rgba(0, 50, 126, 0.12), 35px 0 0 -6px rgba(0, 50, 126, 0.12), + 36px 0 0 -6px rgba(0, 50, 126, 0.12), 37px 0 0 -6px rgba(0, 50, 126, 0.12), + 38px 0 0 -6px rgba(0, 50, 126, 0.12), 39px 0 0 -6px rgba(0, 50, 126, 0.12), + 40px 0 0 -6px rgba(0, 50, 126, 0.12), 41px 0 0 -6px rgba(0, 50, 126, 0.12), + 42px 0 0 -6px rgba(0, 50, 126, 0.12), 43px 0 0 -6px rgba(0, 50, 126, 0.12), + 44px 0 0 -6px rgba(0, 50, 126, 0.12), 45px 0 0 -6px rgba(0, 50, 126, 0.12), + 46px 0 0 -6px rgba(0, 50, 126, 0.12), 47px 0 0 -6px rgba(0, 50, 126, 0.12), + 48px 0 0 -6px rgba(0, 50, 126, 0.12), 49px 0 0 -6px rgba(0, 50, 126, 0.12), + 50px 0 0 -6px rgba(0, 50, 126, 0.12), 51px 0 0 -6px rgba(0, 50, 126, 0.12), + 52px 0 0 -6px rgba(0, 50, 126, 0.12), 53px 0 0 -6px rgba(0, 50, 126, 0.12), + 54px 0 0 -6px rgba(0, 50, 126, 0.12), 55px 0 0 -6px rgba(0, 50, 126, 0.12), + 56px 0 0 -6px rgba(0, 50, 126, 0.12), 57px 0 0 -6px rgba(0, 50, 126, 0.12), + 58px 0 0 -6px rgba(0, 50, 126, 0.12), 59px 0 0 -6px rgba(0, 50, 126, 0.12), + 60px 0 0 -6px rgba(0, 50, 126, 0.12), 61px 0 0 -6px rgba(0, 50, 126, 0.12), + 62px 0 0 -6px rgba(0, 50, 126, 0.12), 63px 0 0 -6px rgba(0, 50, 126, 0.12), + 64px 0 0 -6px rgba(0, 50, 126, 0.12), 65px 0 0 -6px rgba(0, 50, 126, 0.12), + 66px 0 0 -6px rgba(0, 50, 126, 0.12), 67px 0 0 -6px rgba(0, 50, 126, 0.12), + 68px 0 0 -6px rgba(0, 50, 126, 0.12), 69px 0 0 -6px rgba(0, 50, 126, 0.12), + 70px 0 0 -6px rgba(0, 50, 126, 0.12), 71px 0 0 -6px rgba(0, 50, 126, 0.12), + 72px 0 0 -6px rgba(0, 50, 126, 0.12), 73px 0 0 -6px rgba(0, 50, 126, 0.12), + 74px 0 0 -6px rgba(0, 50, 126, 0.12), 75px 0 0 -6px rgba(0, 50, 126, 0.12), + 76px 0 0 -6px rgba(0, 50, 126, 0.12), 77px 0 0 -6px rgba(0, 50, 126, 0.12), + 78px 0 0 -6px rgba(0, 50, 126, 0.12), 79px 0 0 -6px rgba(0, 50, 126, 0.12), + 80px 0 0 -6px rgba(0, 50, 126, 0.12), 81px 0 0 -6px rgba(0, 50, 126, 0.12), + 82px 0 0 -6px rgba(0, 50, 126, 0.12), 83px 0 0 -6px rgba(0, 50, 126, 0.12), + 84px 0 0 -6px rgba(0, 50, 126, 0.12), 85px 0 0 -6px rgba(0, 50, 126, 0.12), + 86px 0 0 -6px rgba(0, 50, 126, 0.12), 87px 0 0 -6px rgba(0, 50, 126, 0.12), + 88px 0 0 -6px rgba(0, 50, 126, 0.12), 89px 0 0 -6px rgba(0, 50, 126, 0.12), + 90px 0 0 -6px rgba(0, 50, 126, 0.12), 91px 0 0 -6px rgba(0, 50, 126, 0.12), + 92px 0 0 -6px rgba(0, 50, 126, 0.12), 93px 0 0 -6px rgba(0, 50, 126, 0.12), + 94px 0 0 -6px rgba(0, 50, 126, 0.12), 95px 0 0 -6px rgba(0, 50, 126, 0.12), + 96px 0 0 -6px rgba(0, 50, 126, 0.12), 97px 0 0 -6px rgba(0, 50, 126, 0.12), + 98px 0 0 -6px rgba(0, 50, 126, 0.12), 99px 0 0 -6px rgba(0, 50, 126, 0.12), + 100px 0 0 -6px rgba(0, 50, 126, 0.12), 101px 0 0 -6px rgba(0, 50, 126, 0.12), + 102px 0 0 -6px rgba(0, 50, 126, 0.12), 103px 0 0 -6px rgba(0, 50, 126, 0.12), + 104px 0 0 -6px rgba(0, 50, 126, 0.12), 105px 0 0 -6px rgba(0, 50, 126, 0.12), + 106px 0 0 -6px rgba(0, 50, 126, 0.12), 107px 0 0 -6px rgba(0, 50, 126, 0.12), + 108px 0 0 -6px rgba(0, 50, 126, 0.12), 109px 0 0 -6px rgba(0, 50, 126, 0.12), + 110px 0 0 -6px rgba(0, 50, 126, 0.12), 111px 0 0 -6px rgba(0, 50, 126, 0.12), + 112px 0 0 -6px rgba(0, 50, 126, 0.12), 113px 0 0 -6px rgba(0, 50, 126, 0.12), + 114px 0 0 -6px rgba(0, 50, 126, 0.12), 115px 0 0 -6px rgba(0, 50, 126, 0.12), + 116px 0 0 -6px rgba(0, 50, 126, 0.12), 117px 0 0 -6px rgba(0, 50, 126, 0.12), + 118px 0 0 -6px rgba(0, 50, 126, 0.12), 119px 0 0 -6px rgba(0, 50, 126, 0.12), + 120px 0 0 -6px rgba(0, 50, 126, 0.12), 121px 0 0 -6px rgba(0, 50, 126, 0.12), + 122px 0 0 -6px rgba(0, 50, 126, 0.12), 123px 0 0 -6px rgba(0, 50, 126, 0.12), + 124px 0 0 -6px rgba(0, 50, 126, 0.12), 125px 0 0 -6px rgba(0, 50, 126, 0.12), + 126px 0 0 -6px rgba(0, 50, 126, 0.12), 127px 0 0 -6px rgba(0, 50, 126, 0.12), + 128px 0 0 -6px rgba(0, 50, 126, 0.12), 129px 0 0 -6px rgba(0, 50, 126, 0.12), + 130px 0 0 -6px rgba(0, 50, 126, 0.12), 131px 0 0 -6px rgba(0, 50, 126, 0.12), + 132px 0 0 -6px rgba(0, 50, 126, 0.12), 133px 0 0 -6px rgba(0, 50, 126, 0.12), + 134px 0 0 -6px rgba(0, 50, 126, 0.12), 135px 0 0 -6px rgba(0, 50, 126, 0.12), + 136px 0 0 -6px rgba(0, 50, 126, 0.12), 137px 0 0 -6px rgba(0, 50, 126, 0.12), + 138px 0 0 -6px rgba(0, 50, 126, 0.12), 139px 0 0 -6px rgba(0, 50, 126, 0.12), + 140px 0 0 -6px rgba(0, 50, 126, 0.12), 141px 0 0 -6px rgba(0, 50, 126, 0.12), + 142px 0 0 -6px rgba(0, 50, 126, 0.12), 143px 0 0 -6px rgba(0, 50, 126, 0.12), + 144px 0 0 -6px rgba(0, 50, 126, 0.12), 145px 0 0 -6px rgba(0, 50, 126, 0.12), + 146px 0 0 -6px rgba(0, 50, 126, 0.12), 147px 0 0 -6px rgba(0, 50, 126, 0.12), + 148px 0 0 -6px rgba(0, 50, 126, 0.12), 149px 0 0 -6px rgba(0, 50, 126, 0.12), + 150px 0 0 -6px rgba(0, 50, 126, 0.12), 151px 0 0 -6px rgba(0, 50, 126, 0.12), + 152px 0 0 -6px rgba(0, 50, 126, 0.12), 153px 0 0 -6px rgba(0, 50, 126, 0.12), + 154px 0 0 -6px rgba(0, 50, 126, 0.12), 155px 0 0 -6px rgba(0, 50, 126, 0.12), + 156px 0 0 -6px rgba(0, 50, 126, 0.12), 157px 0 0 -6px rgba(0, 50, 126, 0.12), + 158px 0 0 -6px rgba(0, 50, 126, 0.12), 159px 0 0 -6px rgba(0, 50, 126, 0.12), + 160px 0 0 -6px rgba(0, 50, 126, 0.12), 161px 0 0 -6px rgba(0, 50, 126, 0.12), + 162px 0 0 -6px rgba(0, 50, 126, 0.12), 163px 0 0 -6px rgba(0, 50, 126, 0.12), + 164px 0 0 -6px rgba(0, 50, 126, 0.12), 165px 0 0 -6px rgba(0, 50, 126, 0.12), + 166px 0 0 -6px rgba(0, 50, 126, 0.12), 167px 0 0 -6px rgba(0, 50, 126, 0.12), + 168px 0 0 -6px rgba(0, 50, 126, 0.12), 169px 0 0 -6px rgba(0, 50, 126, 0.12), + 170px 0 0 -6px rgba(0, 50, 126, 0.12), 171px 0 0 -6px rgba(0, 50, 126, 0.12), + 172px 0 0 -6px rgba(0, 50, 126, 0.12), 173px 0 0 -6px rgba(0, 50, 126, 0.12), + 174px 0 0 -6px rgba(0, 50, 126, 0.12), 175px 0 0 -6px rgba(0, 50, 126, 0.12), + 176px 0 0 -6px rgba(0, 50, 126, 0.12), 177px 0 0 -6px rgba(0, 50, 126, 0.12), + 178px 0 0 -6px rgba(0, 50, 126, 0.12), 179px 0 0 -6px rgba(0, 50, 126, 0.12), + 180px 0 0 -6px rgba(0, 50, 126, 0.12), 181px 0 0 -6px rgba(0, 50, 126, 0.12), + 182px 0 0 -6px rgba(0, 50, 126, 0.12), 183px 0 0 -6px rgba(0, 50, 126, 0.12), + 184px 0 0 -6px rgba(0, 50, 126, 0.12), 185px 0 0 -6px rgba(0, 50, 126, 0.12), + 186px 0 0 -6px rgba(0, 50, 126, 0.12), 187px 0 0 -6px rgba(0, 50, 126, 0.12), + 188px 0 0 -6px rgba(0, 50, 126, 0.12), 189px 0 0 -6px rgba(0, 50, 126, 0.12), + 190px 0 0 -6px rgba(0, 50, 126, 0.12), 191px 0 0 -6px rgba(0, 50, 126, 0.12), + 192px 0 0 -6px rgba(0, 50, 126, 0.12), 193px 0 0 -6px rgba(0, 50, 126, 0.12), + 194px 0 0 -6px rgba(0, 50, 126, 0.12), 195px 0 0 -6px rgba(0, 50, 126, 0.12), + 196px 0 0 -6px rgba(0, 50, 126, 0.12), 197px 0 0 -6px rgba(0, 50, 126, 0.12), + 198px 0 0 -6px rgba(0, 50, 126, 0.12), 199px 0 0 -6px rgba(0, 50, 126, 0.12), + 200px 0 0 -6px rgba(0, 50, 126, 0.12), 201px 0 0 -6px rgba(0, 50, 126, 0.12), + 202px 0 0 -6px rgba(0, 50, 126, 0.12), 203px 0 0 -6px rgba(0, 50, 126, 0.12), + 204px 0 0 -6px rgba(0, 50, 126, 0.12), 205px 0 0 -6px rgba(0, 50, 126, 0.12), + 206px 0 0 -6px rgba(0, 50, 126, 0.12), 207px 0 0 -6px rgba(0, 50, 126, 0.12), + 208px 0 0 -6px rgba(0, 50, 126, 0.12), 209px 0 0 -6px rgba(0, 50, 126, 0.12), + 210px 0 0 -6px rgba(0, 50, 126, 0.12), 211px 0 0 -6px rgba(0, 50, 126, 0.12), + 212px 0 0 -6px rgba(0, 50, 126, 0.12), 213px 0 0 -6px rgba(0, 50, 126, 0.12), + 214px 0 0 -6px rgba(0, 50, 126, 0.12), 215px 0 0 -6px rgba(0, 50, 126, 0.12), + 216px 0 0 -6px rgba(0, 50, 126, 0.12), 217px 0 0 -6px rgba(0, 50, 126, 0.12), + 218px 0 0 -6px rgba(0, 50, 126, 0.12), 219px 0 0 -6px rgba(0, 50, 126, 0.12), + 220px 0 0 -6px rgba(0, 50, 126, 0.12), 221px 0 0 -6px rgba(0, 50, 126, 0.12), + 222px 0 0 -6px rgba(0, 50, 126, 0.12), 223px 0 0 -6px rgba(0, 50, 126, 0.12), + 224px 0 0 -6px rgba(0, 50, 126, 0.12), 225px 0 0 -6px rgba(0, 50, 126, 0.12), + 226px 0 0 -6px rgba(0, 50, 126, 0.12), 227px 0 0 -6px rgba(0, 50, 126, 0.12), + 228px 0 0 -6px rgba(0, 50, 126, 0.12), 229px 0 0 -6px rgba(0, 50, 126, 0.12), + 230px 0 0 -6px rgba(0, 50, 126, 0.12), 231px 0 0 -6px rgba(0, 50, 126, 0.12), + 232px 0 0 -6px rgba(0, 50, 126, 0.12), 233px 0 0 -6px rgba(0, 50, 126, 0.12), + 234px 0 0 -6px rgba(0, 50, 126, 0.12), 235px 0 0 -6px rgba(0, 50, 126, 0.12), + 236px 0 0 -6px rgba(0, 50, 126, 0.12), 237px 0 0 -6px rgba(0, 50, 126, 0.12), + 238px 0 0 -6px rgba(0, 50, 126, 0.12), 239px 0 0 -6px rgba(0, 50, 126, 0.12), + 240px 0 0 -6px rgba(0, 50, 126, 0.12); + margin-top: -6px; + border: 1px solid rgba(0, 30, 75, 0.12); + transition: border-color 0.3s, background-color 0.3s; +} +.custom-range::-moz-range-track { + width: 240px; + height: 2px; + background: rgba(0, 50, 126, 0.12); +} +.custom-range::-moz-range-thumb { + width: 14px; + height: 14px; + background: #fff; + border-radius: 50px; + border: 1px solid rgba(0, 30, 75, 0.12); + position: relative; + transition: border-color 0.3s, background-color 0.3s; +} +.custom-range::-moz-range-progress { + height: 2px; + background: #467fcf; + border: 0; + margin-top: 0; +} +.custom-range::-ms-track { + background: transparent; + border: 0; + border-color: transparent; + border-radius: 0; + border-width: 0; + color: transparent; + height: 2px; + margin-top: 10px; + width: 240px; +} +.custom-range::-ms-thumb { + width: 240px; + height: 2px; + background: #fff; + border-radius: 50px; + border: 1px solid rgba(0, 30, 75, 0.12); + transition: border-color 0.3s, background-color 0.3s; +} +.custom-range::-ms-fill-lower { + background: #467fcf; + border-radius: 0; +} +.custom-range::-ms-fill-upper { + background: rgba(0, 50, 126, 0.12); + border-radius: 0; +} +.custom-range::-ms-tooltip { + display: none; +} +.selectgroup { + display: inline-flex; +} +.selectgroup-item { + flex-grow: 1; + position: relative; +} +.selectgroup-item + .selectgroup-item { + margin-left: -1px; +} +.selectgroup-item:not(:first-child) .selectgroup-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.selectgroup-item:not(:last-child) .selectgroup-button { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.selectgroup-input { + opacity: 0; + position: absolute; + z-index: -1; + top: 0; + left: 0; +} +.selectgroup-button { + display: block; + border: 1px solid rgba(0, 40, 100, 0.12); + text-align: center; + padding: 0.375rem 1rem; + position: relative; + cursor: pointer; + border-radius: 3px; + color: #9aa0ac; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 0.9375rem; + line-height: 1.5; + min-width: 2.375rem; +} +.selectgroup-button-icon { + padding-left: 0.5rem; + padding-right: 0.5rem; + font-size: 1.125rem; + line-height: 1.125rem; +} +.selectgroup-input:checked + .selectgroup-button { + border-color: #467fcf; + z-index: 1; + color: #467fcf; + background: #edf2fa; +} +.selectgroup-input:focus + .selectgroup-button { + border-color: #467fcf; + z-index: 2; + color: #467fcf; + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); +} +.selectgroup-pills { + flex-wrap: wrap; + align-items: flex-start; +} +.selectgroup-pills .selectgroup-item { + margin-right: 0.5rem; + flex-grow: 0; +} +.selectgroup-pills .selectgroup-button { + border-radius: 50px !important; +} +.custom-switch { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: default; + display: inline-flex; + align-items: center; + margin: 0; +} +.custom-switch-input { + position: absolute; + z-index: -1; + opacity: 0; +} +.custom-switches-stacked { + display: flex; + flex-direction: column; +} +.custom-switches-stacked .custom-switch { + margin-bottom: 0.5rem; +} +.custom-switch-indicator { + display: inline-block; + height: 1.25rem; + width: 2.25rem; + background: #e9ecef; + border-radius: 50px; + position: relative; + vertical-align: bottom; + border: 1px solid rgba(0, 40, 100, 0.12); + transition: border-color 0.3s, background-color 0.3s; +} +.custom-switch-indicator:before { + content: ""; + position: absolute; + height: calc(1.25rem - 4px); + width: calc(1.25rem - 4px); + top: 1px; + left: 1px; + background: #fff; + border-radius: 50%; + transition: left 0.3s; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); +} +.custom-switch-input:checked ~ .custom-switch-indicator { + background: #467fcf; +} +.custom-switch-input:checked ~ .custom-switch-indicator:before { + left: calc(1rem + 1px); +} +.custom-switch-input:focus ~ .custom-switch-indicator { + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); + border-color: #467fcf; +} +.custom-switch-description { + margin-left: 0.5rem; + color: #6e7687; + transition: color 0.3s; +} +.custom-switch-input:checked ~ .custom-switch-description { + color: #495057; +} +.imagecheck { + margin: 0; + position: relative; + cursor: pointer; +} +.imagecheck-input { + position: absolute; + z-index: -1; + opacity: 0; +} +.imagecheck-figure { + border: 1px solid rgba(0, 40, 100, 0.12); + border-radius: 3px; + margin: 0; + position: relative; +} +.imagecheck-input:focus ~ .imagecheck-figure { + border-color: #467fcf; + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); +} +.imagecheck-input:checked ~ .imagecheck-figure { + border-color: rgba(0, 40, 100, 0.24); +} +.imagecheck-figure:before { + content: ""; + position: absolute; + top: 0.25rem; + left: 0.25rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: #467fcf + url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E") + no-repeat 50%/50% 50%; + color: #fff; + z-index: 1; + border-radius: 3px; + opacity: 0; + transition: opacity 0.3s; +} +.imagecheck-input:checked ~ .imagecheck-figure:before { + opacity: 1; +} +.imagecheck-image { + max-width: 100%; + opacity: 0.64; + transition: opacity 0.3s; +} +.imagecheck-image:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} +.imagecheck-image:last-child { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} +.imagecheck-input:checked ~ .imagecheck-figure .imagecheck-image, +.imagecheck-input:focus ~ .imagecheck-figure .imagecheck-image, +.imagecheck:hover .imagecheck-image { + opacity: 1; +} +.imagecheck-caption { + text-align: center; + padding: 0.25rem; + color: #9aa0ac; + font-size: 0.875rem; + transition: color 0.3s; +} +.imagecheck-input:checked ~ .imagecheck-figure .imagecheck-caption, +.imagecheck-input:focus ~ .imagecheck-figure .imagecheck-caption, +.imagecheck:hover .imagecheck-caption { + color: #495057; +} +.colorinput { + margin: 0; + position: relative; + cursor: pointer; +} +.colorinput-input { + position: absolute; + z-index: -1; + opacity: 0; +} +.colorinput-color { + display: inline-block; + width: 1.75rem; + height: 1.75rem; + border-radius: 3px; + border: 1px solid rgba(0, 40, 100, 0.12); + color: #fff; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +.colorinput-color:before { + content: ""; + opacity: 0; + position: absolute; + top: 0.25rem; + left: 0.25rem; + height: 1.25rem; + width: 1.25rem; + transition: opacity 0.3s; + background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E") + no-repeat 50%/50% 50%; +} +.colorinput-input:checked ~ .colorinput-color:before { + opacity: 1; +} +.colorinput-input:focus ~ .colorinput-color { + border-color: #467fcf; + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); +} +.timeline { + position: relative; + margin: 0 0 2rem; + padding: 0; + list-style: none; +} +.timeline:before { + background-color: #e9ecef; + position: absolute; + display: block; + content: ""; + width: 1px; + height: 100%; + top: 0; + bottom: 0; + left: 4px; +} +.timeline-item { + position: relative; + display: flex; + padding-left: 2rem; + margin: 0.5rem 0; +} +.timeline-item:first-child:before, +.timeline-item:last-child:before { + content: ""; + position: absolute; + background: #fff; + width: 1px; + left: 0.25rem; +} +.timeline-item:first-child { + margin-top: 0; +} +.timeline-item:first-child:before { + top: 0; + height: 0.5rem; +} +.timeline-item:last-child { + margin-bottom: 0; +} +.timeline-item:last-child:before { + top: 0.5rem; + bottom: 0; +} +.timeline-badge { + position: absolute; + display: block; + width: 0.4375rem; + height: 0.4375rem; + left: 1px; + top: 0.5rem; + border-radius: 100%; + border: 1px solid #fff; + background: #adb5bd; +} +.timeline-time { + white-space: nowrap; + margin-left: auto; + color: #9aa0ac; + font-size: 87.5%; +} +.browser { + width: 1.25rem; + height: 1.25rem; + display: inline-block; + background: no-repeat 50%/100% 100%; + vertical-align: bottom; + font-style: normal; +} +.browser-android-browser { + background-image: url(/static/media/android-browser.e1d3686c.svg); +} +.browser-aol-explorer { + background-image: url(/static/media/aol-explorer.f2a4363b.svg); +} +.browser-blackberry { + background-image: url(/static/media/blackberry.ead509ae.svg); +} +.browser-camino { + background-image: url(/static/media/camino.23c5c7fa.svg); +} +.browser-chrome { + background-image: url(/static/media/chrome.2bbe801c.svg); +} +.browser-chromium { + background-image: url(/static/media/chromium.870087fd.svg); +} +.browser-dolphin { + background-image: url(/static/media/dolphin.f66d5a06.svg); +} +.browser-edge { + background-image: url(/static/media/edge.abda4ac1.svg); +} +.browser-firefox { + background-image: url(/static/media/firefox.e037fac5.svg); +} +.browser-ie { + background-image: url(/static/media/ie.57c3e539.svg); +} +.browser-maxthon { + background-image: url(/static/media/maxthon.df51f6f4.svg); +} +.browser-mozilla { + background-image: url(/static/media/mozilla.91974b40.svg); +} +.browser-netscape { + background-image: url(/static/media/netscape.f64e6793.svg); +} +.browser-opera { + background-image: url(/static/media/opera.438992de.svg); +} +.browser-safari { + background-image: url(/static/media/safari.ee79ab6a.svg); +} +.browser-sleipnir { + background-image: url(/static/media/sleipnir.1751c6d6.svg); +} +.browser-uc-browser { + background-image: url(/static/media/uc-browser.f600350d.svg); +} +.browser-vivaldi { + background-image: url(/static/media/vivaldi.6b04dfda.svg); +} +.flag { + width: 1.6rem; + height: 1.2rem; + display: inline-block; + background: no-repeat 50%/100% 100%; + vertical-align: bottom; + font-style: normal; + box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1); + border-radius: 2px; +} +.flag-ad { + background-image: url(/static/media/ad.30f99f82.svg); +} +.flag-ae { + background-image: url(/static/media/ae.1f331bd9.svg); +} +.flag-af { + background-image: url(/static/media/af.a8df755f.svg); +} +.flag-ag { + background-image: url(/static/media/ag.7cb635f0.svg); +} +.flag-ai { + background-image: url(/static/media/ai.928b5a4f.svg); +} +.flag-al { + background-image: url(/static/media/al.1c4942df.svg); +} +.flag-am { + background-image: url(/static/media/am.af917f4b.svg); +} +.flag-ao { + background-image: url(/static/media/ao.fd948d03.svg); +} +.flag-aq { + background-image: url(/static/media/aq.fb98f0e6.svg); +} +.flag-ar { + background-image: url(/static/media/ar.2ed2ee2a.svg); +} +.flag-as { + background-image: url(/static/media/as.e18a5953.svg); +} +.flag-at { + background-image: url(/static/media/at.511e196f.svg); +} +.flag-au { + background-image: url(/static/media/au.b853c2eb.svg); +} +.flag-aw { + background-image: url(/static/media/aw.dc91764d.svg); +} +.flag-ax { + background-image: url(/static/media/ax.3301f616.svg); +} +.flag-az { + background-image: url(/static/media/az.ba2d1e5e.svg); +} +.flag-ba { + background-image: url(/static/media/ba.a441d8da.svg); +} +.flag-bb { + background-image: url(/static/media/bb.c568edd5.svg); +} +.flag-bd { + background-image: url(/static/media/bd.b12e3060.svg); +} +.flag-be { + background-image: url(/static/media/be.fb18617c.svg); +} +.flag-bf { + background-image: url(/static/media/bf.f88288fa.svg); +} +.flag-bg { + background-image: url(/static/media/bg.bc04745d.svg); +} +.flag-bh { + background-image: url(/static/media/bh.805f2682.svg); +} +.flag-bi { + background-image: url(/static/media/bi.bc8085f9.svg); +} +.flag-bj { + background-image: url(/static/media/bj.ea52986c.svg); +} +.flag-bl { + background-image: url(/static/media/bl.a5c508b2.svg); +} +.flag-bm { + background-image: url(/static/media/bm.6339387e.svg); +} +.flag-bn { + background-image: url(/static/media/bn.51104069.svg); +} +.flag-bo { + background-image: url(/static/media/bo.e02afe04.svg); +} +.flag-bq { + background-image: url(/static/media/bq.4cac15ed.svg); +} +.flag-br { + background-image: url(/static/media/br.fc7b8290.svg); +} +.flag-bs { + background-image: url(/static/media/bs.421969c2.svg); +} +.flag-bt { + background-image: url(/static/media/bt.39149c62.svg); +} +.flag-bv { + background-image: url(/static/media/bv.58761e89.svg); +} +.flag-bw { + background-image: url(/static/media/bw.8ecb0b8e.svg); +} +.flag-by { + background-image: url(/static/media/by.6fd2caab.svg); +} +.flag-bz { + background-image: url(/static/media/bz.e86e9bd2.svg); +} +.flag-ca { + background-image: url(/static/media/ca.af259017.svg); +} +.flag-cc { + background-image: url(/static/media/cc.ec7f3820.svg); +} +.flag-cd { + background-image: url(/static/media/cd.020e3d1e.svg); +} +.flag-cf { + background-image: url(/static/media/cf.f75250a7.svg); +} +.flag-cg { + background-image: url(/static/media/cg.497d91d1.svg); +} +.flag-ch { + background-image: url(/static/media/ch.d5161894.svg); +} +.flag-ci { + background-image: url(/static/media/ci.1334b221.svg); +} +.flag-ck { + background-image: url(/static/media/ck.869edc71.svg); +} +.flag-cl { + background-image: url(/static/media/cl.9d5227cb.svg); +} +.flag-cm { + background-image: url(/static/media/cm.17f2e2c9.svg); +} +.flag-cn { + background-image: url(/static/media/cn.c2814ac0.svg); +} +.flag-co { + background-image: url(/static/media/co.433d22ad.svg); +} +.flag-cr { + background-image: url(/static/media/cr.20a9e6bf.svg); +} +.flag-cu { + background-image: url(/static/media/cu.050058cb.svg); +} +.flag-cv { + background-image: url(/static/media/cv.6b699492.svg); +} +.flag-cw { + background-image: url(/static/media/cw.07a0d3f9.svg); +} +.flag-cx { + background-image: url(/static/media/cx.5180dbe5.svg); +} +.flag-cy { + background-image: url(/static/media/cy.657ef7aa.svg); +} +.flag-cz { + background-image: url(/static/media/cz.6731f872.svg); +} +.flag-de { + background-image: url(/static/media/de.01e89f77.svg); +} +.flag-dj { + background-image: url(/static/media/dj.f4c086cc.svg); +} +.flag-dk { + background-image: url(/static/media/dk.44761537.svg); +} +.flag-dm { + background-image: url(/static/media/dm.89c91dc6.svg); +} +.flag-do { + background-image: url(/static/media/do.d8ab6db9.svg); +} +.flag-dz { + background-image: url(/static/media/dz.333db1ef.svg); +} +.flag-ec { + background-image: url(/static/media/ec.918e57b8.svg); +} +.flag-ee { + background-image: url(/static/media/ee.57f366b0.svg); +} +.flag-eg { + background-image: url(/static/media/eg.07f2e96d.svg); +} +.flag-eh { + background-image: url(/static/media/eh.e4f13505.svg); +} +.flag-er { + background-image: url(/static/media/er.70738db6.svg); +} +.flag-es { + background-image: url(/static/media/es.c6ca5440.svg); +} +.flag-et { + background-image: url(/static/media/et.31aa0fc0.svg); +} +.flag-eu { + background-image: url(/static/media/eu.17beaf81.svg); +} +.flag-fi { + background-image: url(/static/media/fi.58bcc4af.svg); +} +.flag-fj { + background-image: url(/static/media/fj.b1ddba60.svg); +} +.flag-fk { + background-image: url(/static/media/fk.5c64395d.svg); +} +.flag-fm { + background-image: url(/static/media/fm.2bd7d4df.svg); +} +.flag-fo { + background-image: url(/static/media/fo.dc9ed815.svg); +} +.flag-fr { + background-image: url(/static/media/fr.a178bcfb.svg); +} +.flag-ga { + background-image: url(/static/media/ga.33442fb9.svg); +} +.flag-gb-eng { + background-image: url(/static/media/gb-eng.a933214c.svg); +} +.flag-gb-nir { + background-image: url(/static/media/gb-nir.943d406a.svg); +} +.flag-gb-sct { + background-image: url(/static/media/gb-sct.772350bf.svg); +} +.flag-gb-wls { + background-image: url(/static/media/gb-wls.2831a6dd.svg); +} +.flag-gb { + background-image: url(/static/media/gb.5638bbd9.svg); +} +.flag-gd { + background-image: url(/static/media/gd.c17d779e.svg); +} +.flag-ge { + background-image: url(/static/media/ge.334a8275.svg); +} +.flag-gf { + background-image: url(/static/media/gf.4ea8e159.svg); +} +.flag-gg { + background-image: url(/static/media/gg.d339aeb2.svg); +} +.flag-gh { + background-image: url(/static/media/gh.d4b35e14.svg); +} +.flag-gi { + background-image: url(/static/media/gi.c9543d40.svg); +} +.flag-gl { + background-image: url(/static/media/gl.d02c42ea.svg); +} +.flag-gm { + background-image: url(/static/media/gm.9423800e.svg); +} +.flag-gn { + background-image: url(/static/media/gn.e472dff7.svg); +} +.flag-gp { + background-image: url(/static/media/gp.a178bcfb.svg); +} +.flag-gq { + background-image: url(/static/media/gq.6bbb0e76.svg); +} +.flag-gr { + background-image: url(/static/media/gr.9a9a62a1.svg); +} +.flag-gs { + background-image: url(/static/media/gs.37216917.svg); +} +.flag-gt { + background-image: url(/static/media/gt.0b689ffe.svg); +} +.flag-gu { + background-image: url(/static/media/gu.ad34e604.svg); +} +.flag-gw { + background-image: url(/static/media/gw.e1d47aa4.svg); +} +.flag-gy { + background-image: url(/static/media/gy.19bcfc34.svg); +} +.flag-hk { + background-image: url(/static/media/hk.fb606eb1.svg); +} +.flag-hm { + background-image: url(/static/media/hm.b43f3857.svg); +} +.flag-hn { + background-image: url(/static/media/hn.3d726baa.svg); +} +.flag-hr { + background-image: url(/static/media/hr.79e564a4.svg); +} +.flag-ht { + background-image: url(/static/media/ht.d0404e4a.svg); +} +.flag-hu { + background-image: url(/static/media/hu.a8abaf37.svg); +} +.flag-id { + background-image: url(/static/media/id.ee020a0f.svg); +} +.flag-ie { + background-image: url(/static/media/ie.d609c4e7.svg); +} +.flag-il { + background-image: url(/static/media/il.0ea7e9da.svg); +} +.flag-im { + background-image: url(/static/media/im.19884f0c.svg); +} +.flag-in { + background-image: url(/static/media/in.2d667fbb.svg); +} +.flag-io { + background-image: url(/static/media/io.2e0c61df.svg); +} +.flag-iq { + background-image: url(/static/media/iq.61fca184.svg); +} +.flag-ir { + background-image: url(/static/media/ir.3cb275a7.svg); +} +.flag-is { + background-image: url(/static/media/is.ec1fb876.svg); +} +.flag-it { + background-image: url(/static/media/it.bd6b5ff3.svg); +} +.flag-je { + background-image: url(/static/media/je.6a9e1b93.svg); +} +.flag-jm { + background-image: url(/static/media/jm.7db0ffd8.svg); +} +.flag-jo { + background-image: url(/static/media/jo.d1405940.svg); +} +.flag-jp { + background-image: url(/static/media/jp.fd264681.svg); +} +.flag-ke { + background-image: url(/static/media/ke.15b698f3.svg); +} +.flag-kg { + background-image: url(/static/media/kg.de33c048.svg); +} +.flag-kh { + background-image: url(/static/media/kh.bfffb443.svg); +} +.flag-ki { + background-image: url(/static/media/ki.fbe824dc.svg); +} +.flag-km { + background-image: url(/static/media/km.cd351374.svg); +} +.flag-kn { + background-image: url(/static/media/kn.7ab9462c.svg); +} +.flag-kp { + background-image: url(/static/media/kp.b2729dfa.svg); +} +.flag-kr { + background-image: url(/static/media/kr.32f23faf.svg); +} +.flag-kw { + background-image: url(/static/media/kw.3e24a94a.svg); +} +.flag-ky { + background-image: url(/static/media/ky.f7c3a515.svg); +} +.flag-kz { + background-image: url(/static/media/kz.529db212.svg); +} +.flag-la { + background-image: url(/static/media/la.bdfc4ab5.svg); +} +.flag-lb { + background-image: url(/static/media/lb.49819740.svg); +} +.flag-lc { + background-image: url(/static/media/lc.6c2940da.svg); +} +.flag-li { + background-image: url(/static/media/li.10e0d5b2.svg); +} +.flag-lk { + background-image: url(/static/media/lk.f0a4f4f6.svg); +} +.flag-lr { + background-image: url(/static/media/lr.5485e606.svg); +} +.flag-ls { + background-image: url(/static/media/ls.700ddad0.svg); +} +.flag-lt { + background-image: url(/static/media/lt.14b63eab.svg); +} +.flag-lu { + background-image: url(/static/media/lu.06956a13.svg); +} +.flag-lv { + background-image: url(/static/media/lv.83353fa9.svg); +} +.flag-ly { + background-image: url(/static/media/ly.ededce32.svg); +} +.flag-ma { + background-image: url(/static/media/ma.8c27c493.svg); +} +.flag-mc { + background-image: url(/static/media/mc.4241d3ff.svg); +} +.flag-md { + background-image: url(/static/media/md.f9aceffb.svg); +} +.flag-me { + background-image: url(/static/media/me.399015d8.svg); +} +.flag-mf { + background-image: url(/static/media/mf.a178bcfb.svg); +} +.flag-mg { + background-image: url(/static/media/mg.0c0da5f0.svg); +} +.flag-mh { + background-image: url(/static/media/mh.a3bb001b.svg); +} +.flag-mk { + background-image: url(/static/media/mk.29cb0cb2.svg); +} +.flag-ml { + background-image: url(/static/media/ml.be076fd9.svg); +} +.flag-mm { + background-image: url(/static/media/mm.e6d7c5a4.svg); +} +.flag-mn { + background-image: url(/static/media/mn.cfd48e45.svg); +} +.flag-mo { + background-image: url(/static/media/mo.36f1d6f2.svg); +} +.flag-mp { + background-image: url(/static/media/mp.fcdc8e39.svg); +} +.flag-mq { + background-image: url(/static/media/mq.4c4286cd.svg); +} +.flag-mr { + background-image: url(/static/media/mr.6b3d082d.svg); +} +.flag-ms { + background-image: url(/static/media/ms.8b73c710.svg); +} +.flag-mt { + background-image: url(/static/media/mt.cffcad79.svg); +} +.flag-mu { + background-image: url(/static/media/mu.974b9e6c.svg); +} +.flag-mv { + background-image: url(/static/media/mv.e343afe8.svg); +} +.flag-mw { + background-image: url(/static/media/mw.5b33db84.svg); +} +.flag-mx { + background-image: url(/static/media/mx.184d53d1.svg); +} +.flag-my { + background-image: url(/static/media/my.aae5bd9c.svg); +} +.flag-mz { + background-image: url(/static/media/mz.cd1e97af.svg); +} +.flag-na { + background-image: url(/static/media/na.f38aead1.svg); +} +.flag-nc { + background-image: url(/static/media/nc.a2dc6650.svg); +} +.flag-ne { + background-image: url(/static/media/ne.bad21adc.svg); +} +.flag-nf { + background-image: url(/static/media/nf.fc2d0f07.svg); +} +.flag-ng { + background-image: url(/static/media/ng.2ddc320b.svg); +} +.flag-ni { + background-image: url(/static/media/ni.2b983496.svg); +} +.flag-nl { + background-image: url(/static/media/nl.de2a39a2.svg); +} +.flag-no { + background-image: url(/static/media/no.8331157c.svg); +} +.flag-np { + background-image: url(/static/media/np.e6de6946.svg); +} +.flag-nr { + background-image: url(/static/media/nr.f2afa5b9.svg); +} +.flag-nu { + background-image: url(/static/media/nu.e6bfaa15.svg); +} +.flag-nz { + background-image: url(/static/media/nz.03d7410a.svg); +} +.flag-om { + background-image: url(/static/media/om.9b7a06b9.svg); +} +.flag-pa { + background-image: url(/static/media/pa.91076135.svg); +} +.flag-pe { + background-image: url(/static/media/pe.4cabbfc6.svg); +} +.flag-pf { + background-image: url(/static/media/pf.28a15c37.svg); +} +.flag-pg { + background-image: url(/static/media/pg.e444f903.svg); +} +.flag-ph { + background-image: url(/static/media/ph.8b5fbe69.svg); +} +.flag-pk { + background-image: url(/static/media/pk.db891066.svg); +} +.flag-pl { + background-image: url(/static/media/pl.2257cff6.svg); +} +.flag-pm { + background-image: url(/static/media/pm.a2dc6650.svg); +} +.flag-pn { + background-image: url(/static/media/pn.bf813bfe.svg); +} +.flag-pr { + background-image: url(/static/media/pr.e489537c.svg); +} +.flag-ps { + background-image: url(/static/media/ps.225ede35.svg); +} +.flag-pt { + background-image: url(/static/media/pt.e129260b.svg); +} +.flag-pw { + background-image: url(/static/media/pw.0557592e.svg); +} +.flag-py { + background-image: url(/static/media/py.abc5b396.svg); +} +.flag-qa { + background-image: url(/static/media/qa.20a4d741.svg); +} +.flag-re { + background-image: url(/static/media/re.a2dc6650.svg); +} +.flag-ro { + background-image: url(/static/media/ro.552b5d97.svg); +} +.flag-rs { + background-image: url(/static/media/rs.426b1d47.svg); +} +.flag-ru { + background-image: url(/static/media/ru.517e32a1.svg); +} +.flag-rw { + background-image: url(/static/media/rw.46fb809f.svg); +} +.flag-sa { + background-image: url(/static/media/sa.67b058ae.svg); +} +.flag-sb { + background-image: url(/static/media/sb.115ce3e5.svg); +} +.flag-sc { + background-image: url(/static/media/sc.fdc11a48.svg); +} +.flag-sd { + background-image: url(/static/media/sd.a14badd5.svg); +} +.flag-se { + background-image: url(/static/media/se.22475f52.svg); +} +.flag-sg { + background-image: url(/static/media/sg.22b0739e.svg); +} +.flag-sh { + background-image: url(/static/media/sh.0726abdb.svg); +} +.flag-si { + background-image: url(/static/media/si.72f83c29.svg); +} +.flag-sj { + background-image: url(/static/media/sj.8331157c.svg); +} +.flag-sk { + background-image: url(/static/media/sk.f44daf85.svg); +} +.flag-sl { + background-image: url(/static/media/sl.835d44f6.svg); +} +.flag-sm { + background-image: url(/static/media/sm.f3eb4474.svg); +} +.flag-sn { + background-image: url(/static/media/sn.4dc603d1.svg); +} +.flag-so { + background-image: url(/static/media/so.3bdb1de2.svg); +} +.flag-sr { + background-image: url(/static/media/sr.65cdb1de.svg); +} +.flag-ss { + background-image: url(/static/media/ss.0c7c9ffc.svg); +} +.flag-st { + background-image: url(/static/media/st.230410b5.svg); +} +.flag-sv { + background-image: url(/static/media/sv.a21150d5.svg); +} +.flag-sx { + background-image: url(/static/media/sx.d23d1807.svg); +} +.flag-sy { + background-image: url(/static/media/sy.0fedea07.svg); +} +.flag-sz { + background-image: url(/static/media/sz.1ae99e45.svg); +} +.flag-tc { + background-image: url(/static/media/tc.2f7d308e.svg); +} +.flag-td { + background-image: url(/static/media/td.079a2525.svg); +} +.flag-tf { + background-image: url(/static/media/tf.adc24fb2.svg); +} +.flag-tg { + background-image: url(/static/media/tg.b96ee542.svg); +} +.flag-th { + background-image: url(/static/media/th.50269587.svg); +} +.flag-tj { + background-image: url(/static/media/tj.b6533ad3.svg); +} +.flag-tk { + background-image: url(/static/media/tk.22d4831b.svg); +} +.flag-tl { + background-image: url(/static/media/tl.f563fdae.svg); +} +.flag-tm { + background-image: url(/static/media/tm.d2132088.svg); +} +.flag-tn { + background-image: url(/static/media/tn.ef273685.svg); +} +.flag-to { + background-image: url(/static/media/to.fa884203.svg); +} +.flag-tr { + background-image: url(/static/media/tr.aabe02c2.svg); +} +.flag-tt { + background-image: url(/static/media/tt.f09daa6d.svg); +} +.flag-tv { + background-image: url(/static/media/tv.1a077ad0.svg); +} +.flag-tw { + background-image: url(/static/media/tw.7baefd1c.svg); +} +.flag-tz { + background-image: url(/static/media/tz.d5c9c20a.svg); +} +.flag-ua { + background-image: url(/static/media/ua.acc88be0.svg); +} +.flag-ug { + background-image: url(/static/media/ug.1e070275.svg); +} +.flag-um { + background-image: url(/static/media/um.a1fa2de3.svg); +} +.flag-un { + background-image: url(/static/media/un.1519b6c6.svg); +} +.flag-us { + background-image: url(/static/media/us.2382ea7e.svg); +} +.flag-uy { + background-image: url(/static/media/uy.a7e91b40.svg); +} +.flag-uz { + background-image: url(/static/media/uz.791dfbda.svg); +} +.flag-va { + background-image: url(/static/media/va.6b139c75.svg); +} +.flag-vc { + background-image: url(/static/media/vc.f3912357.svg); +} +.flag-ve { + background-image: url(/static/media/ve.6f48a1b9.svg); +} +.flag-vg { + background-image: url(/static/media/vg.3b3121b2.svg); +} +.flag-vi { + background-image: url(/static/media/vi.b3c0a20f.svg); +} +.flag-vn { + background-image: url(/static/media/vn.0b7571b8.svg); +} +.flag-vu { + background-image: url(/static/media/vu.9a6c3abc.svg); +} +.flag-wf { + background-image: url(/static/media/wf.4b4f5462.svg); +} +.flag-ws { + background-image: url(/static/media/ws.23b64335.svg); +} +.flag-ye { + background-image: url(/static/media/ye.55897575.svg); +} +.flag-yt { + background-image: url(/static/media/yt.a2dc6650.svg); +} +.flag-za { + background-image: url(/static/media/za.d8ffed67.svg); +} +.flag-zm { + background-image: url(/static/media/zm.62586634.svg); +} +.flag-zw { + background-image: url(/static/media/zw.e223cee5.svg); +} +.payment { + width: 2.5rem; + height: 1.5rem; + display: inline-block; + background: no-repeat 50%/100% 100%; + vertical-align: bottom; + font-style: normal; + box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1); + border-radius: 2px; +} +.payment-2checkout-dark { + background-image: url(/static/media/2checkout-dark.65d58d80.svg); +} +.payment-2checkout { + background-image: url(/static/media/2checkout.e14c0f5e.svg); +} +.payment-alipay-dark { + background-image: url(/static/media/alipay-dark.b6a651d2.svg); +} +.payment-alipay { + background-image: url(/static/media/alipay.31580e28.svg); +} +.payment-amazon-dark { + background-image: url(/static/media/amazon-dark.b178a57f.svg); +} +.payment-amazon { + background-image: url(/static/media/amazon.5c500045.svg); +} +.payment-americanexpress-dark { + background-image: url(/static/media/americanexpress-dark.c2ea2d77.svg); +} +.payment-americanexpress { + background-image: url(/static/media/americanexpress.b89abdaf.svg); +} +.payment-applepay-dark { + background-image: url(/static/media/applepay-dark.e044dbdb.svg); +} +.payment-applepay { + background-image: url(/static/media/applepay.1ff3d3f0.svg); +} +.payment-bancontact-dark { + background-image: url(/static/media/bancontact-dark.6e786090.svg); +} +.payment-bancontact { + background-image: url(/static/media/bancontact.8c0a0fa2.svg); +} +.payment-bitcoin-dark { + background-image: url(/static/media/bitcoin-dark.edaf60e1.svg); +} +.payment-bitcoin { + background-image: url(/static/media/bitcoin.d9ac7b61.svg); +} +.payment-bitpay-dark { + background-image: url(/static/media/bitpay-dark.f86a15da.svg); +} +.payment-bitpay { + background-image: url(/static/media/bitpay.ffb94e65.svg); +} +.payment-cirrus-dark { + background-image: url(/static/media/cirrus-dark.243a362e.svg); +} +.payment-cirrus { + background-image: url(/static/media/cirrus.983db5f2.svg); +} +.payment-clickandbuy-dark { + background-image: url(/static/media/clickandbuy-dark.f7d38984.svg); +} +.payment-clickandbuy { + background-image: url(/static/media/clickandbuy.eb61d075.svg); +} +.payment-coinkite-dark { + background-image: url(/static/media/coinkite-dark.f50deb17.svg); +} +.payment-coinkite { + background-image: url(/static/media/coinkite.b6098277.svg); +} +.payment-dinersclub-dark { + background-image: url(/static/media/dinersclub-dark.baff56e3.svg); +} +.payment-dinersclub { + background-image: url(/static/media/dinersclub.45249b1d.svg); +} +.payment-directdebit-dark { + background-image: url(/static/media/directdebit-dark.bf510996.svg); +} +.payment-directdebit { + background-image: url(/static/media/directdebit.37695b62.svg); +} +.payment-discover-dark { + background-image: url(/static/media/discover-dark.00f5c21f.svg); +} +.payment-discover { + background-image: url(/static/media/discover.2f4fe159.svg); +} +.payment-dwolla-dark { + background-image: url(/static/media/dwolla-dark.ccae2767.svg); +} +.payment-dwolla { + background-image: url(/static/media/dwolla.36f57770.svg); +} +.payment-ebay-dark { + background-image: url(/static/media/ebay-dark.bd7ccde1.svg); +} +.payment-ebay { + background-image: url(/static/media/ebay.862b611a.svg); +} +.payment-eway-dark { + background-image: url(/static/media/eway-dark.bbf15466.svg); +} +.payment-eway { + background-image: url(/static/media/eway.54d6e672.svg); +} +.payment-giropay-dark { + background-image: url(/static/media/giropay-dark.ff3c753a.svg); +} +.payment-giropay { + background-image: url(/static/media/giropay.7337d9d0.svg); +} +.payment-googlewallet-dark { + background-image: url(/static/media/googlewallet-dark.7cbe03be.svg); +} +.payment-googlewallet { + background-image: url(/static/media/googlewallet.7f0e39ad.svg); +} +.payment-ingenico-dark { + background-image: url(/static/media/ingenico-dark.5bef3895.svg); +} +.payment-ingenico { + background-image: url(/static/media/ingenico.20a24d68.svg); +} +.payment-jcb-dark { + background-image: url(/static/media/jcb-dark.f9bf701d.svg); +} +.payment-jcb { + background-image: url(/static/media/jcb.2646bc51.svg); +} +.payment-klarna-dark { + background-image: url(/static/media/klarna-dark.3a666a1e.svg); +} +.payment-klarna { + background-image: url(/static/media/klarna.c05b3bba.svg); +} +.payment-laser-dark { + background-image: url(/static/media/laser-dark.758bd7b6.svg); +} +.payment-laser { + background-image: url(/static/media/laser.4642dfb3.svg); +} +.payment-maestro-dark { + background-image: url(/static/media/maestro-dark.0d91ff8f.svg); +} +.payment-maestro { + background-image: url(/static/media/maestro.31a202b4.svg); +} +.payment-mastercard-dark { + background-image: url(/static/media/mastercard-dark.b1695f2b.svg); +} +.payment-mastercard { + background-image: url(/static/media/mastercard.a6684d93.svg); +} +.payment-monero-dark { + background-image: url(/static/media/monero-dark.29d40dee.svg); +} +.payment-monero { + background-image: url(/static/media/monero.7df16d08.svg); +} +.payment-neteller-dark { + background-image: url(/static/media/neteller-dark.63736cac.svg); +} +.payment-neteller { + background-image: url(/static/media/neteller.798e0b4b.svg); +} +.payment-ogone-dark { + background-image: url(/static/media/ogone-dark.5fa709fb.svg); +} +.payment-ogone { + background-image: url(/static/media/ogone.8832c251.svg); +} +.payment-okpay-dark { + background-image: url(/static/media/okpay-dark.26eabf7a.svg); +} +.payment-okpay { + background-image: url(/static/media/okpay.72f763a2.svg); +} +.payment-paybox-dark { + background-image: url(/static/media/paybox-dark.321bd555.svg); +} +.payment-paybox { + background-image: url(/static/media/paybox.46f8af3b.svg); +} +.payment-paymill-dark { + background-image: url(/static/media/paymill-dark.d8737b88.svg); +} +.payment-paymill { + background-image: url(/static/media/paymill.6f906616.svg); +} +.payment-payone-dark { + background-image: url(/static/media/payone-dark.992480f1.svg); +} +.payment-payone { + background-image: url(/static/media/payone.2c68e11e.svg); +} +.payment-payoneer-dark { + background-image: url(/static/media/payoneer-dark.8d95de50.svg); +} +.payment-payoneer { + background-image: url(/static/media/payoneer.e460ab6b.svg); +} +.payment-paypal-dark { + background-image: url(/static/media/paypal-dark.2abbaed4.svg); +} +.payment-paypal { + background-image: url(/static/media/paypal.aa9749d2.svg); +} +.payment-paysafecard-dark { + background-image: url(/static/media/paysafecard-dark.2a3832c3.svg); +} +.payment-paysafecard { + background-image: url(/static/media/paysafecard.0db2bc55.svg); +} +.payment-payu-dark { + background-image: url(/static/media/payu-dark.80265cc7.svg); +} +.payment-payu { + background-image: url(/static/media/payu.ece9e639.svg); +} +.payment-payza-dark { + background-image: url(/static/media/payza-dark.aaf8d63f.svg); +} +.payment-payza { + background-image: url(/static/media/payza.05716451.svg); +} +.payment-ripple-dark { + background-image: url(/static/media/ripple-dark.a741b2b1.svg); +} +.payment-ripple { + background-image: url(/static/media/ripple.44f32f32.svg); +} +.payment-sage-dark { + background-image: url(/static/media/sage-dark.1560c69d.svg); +} +.payment-sage { + background-image: url(/static/media/sage.c962e60b.svg); +} +.payment-sepa-dark { + background-image: url(/static/media/sepa-dark.3834e619.svg); +} +.payment-sepa { + background-image: url(/static/media/sepa.45d27bde.svg); +} +.payment-shopify-dark { + background-image: url(/static/media/shopify-dark.937412fd.svg); +} +.payment-shopify { + background-image: url(/static/media/shopify.2a87d23f.svg); +} +.payment-skrill-dark { + background-image: url(/static/media/skrill-dark.a1a4a38c.svg); +} +.payment-skrill { + background-image: url(/static/media/skrill.b0d31271.svg); +} +.payment-solo-dark { + background-image: url(/static/media/solo-dark.17da28b9.svg); +} +.payment-solo { + background-image: url(/static/media/solo.f7fcc525.svg); +} +.payment-square-dark { + background-image: url(/static/media/square-dark.4db9c83c.svg); +} +.payment-square { + background-image: url(/static/media/square.48f11398.svg); +} +.payment-stripe-dark { + background-image: url(/static/media/stripe-dark.025afc35.svg); +} +.payment-stripe { + background-image: url(/static/media/stripe.77c6af28.svg); +} +.payment-switch-dark { + background-image: url(/static/media/switch-dark.54599ad9.svg); +} +.payment-switch { + background-image: url(/static/media/switch.c1a0e47d.svg); +} +.payment-ukash-dark { + background-image: url(/static/media/ukash-dark.89b7d2ae.svg); +} +.payment-ukash { + background-image: url(/static/media/ukash.7a542b9e.svg); +} +.payment-unionpay-dark { + background-image: url(/static/media/unionpay-dark.22beb1a2.svg); +} +.payment-unionpay { + background-image: url(/static/media/unionpay.285de38e.svg); +} +.payment-verifone-dark { + background-image: url(/static/media/verifone-dark.e7b2a0bc.svg); +} +.payment-verifone { + background-image: url(/static/media/verifone.012caff4.svg); +} +.payment-verisign-dark { + background-image: url(/static/media/verisign-dark.1f0c2c56.svg); +} +.payment-verisign { + background-image: url(/static/media/verisign.3684cf82.svg); +} +.payment-visa-dark { + background-image: url(/static/media/visa-dark.f6a55e1d.svg); +} +.payment-visa { + background-image: url(/static/media/visa.a09152e7.svg); +} +.payment-webmoney-dark { + background-image: url(/static/media/webmoney-dark.5c559c4c.svg); +} +.payment-webmoney { + background-image: url(/static/media/webmoney.c77724f3.svg); +} +.payment-westernunion-dark { + background-image: url(/static/media/westernunion-dark.5f3974a3.svg); +} +.payment-westernunion { + background-image: url(/static/media/westernunion.4082e1b1.svg); +} +.payment-worldpay-dark { + background-image: url(/static/media/worldpay-dark.a99e6d1c.svg); +} +.payment-worldpay { + background-image: url(/static/media/worldpay.d63620a3.svg); +} +svg { + touch-action: none; +} +.jvectormap-container { + width: 100%; + height: 100%; + position: relative; + overflow: hidden; + touch-action: none; +} +.jvectormap-tip { + position: absolute; + display: none; + border-radius: 3px; + background: #212529; + color: #fff; + padding: 6px; + font-size: 11px; + line-height: 1; + font-weight: 700; +} +.jvectormap-tip small { + font-size: inherit; + font-weight: 400; +} +.jvectormap-goback, +.jvectormap-zoomin, +.jvectormap-zoomout { + position: absolute; + left: 10px; + border-radius: 3px; + background: #292929; + padding: 3px; + color: #fff; + cursor: pointer; + line-height: 10px; + text-align: center; + box-sizing: initial; +} +.jvectormap-zoomin, +.jvectormap-zoomout { + width: 10px; + height: 10px; +} +.jvectormap-zoomin { + top: 10px; +} +.jvectormap-zoomout { + top: 30px; +} +.jvectormap-goback { + bottom: 10px; + z-index: 1000; + padding: 6px; +} +.jvectormap-spinner { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + background: url(data:image/gif;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==); +} +.jvectormap-legend-title { + font-weight: 700; + font-size: 14px; + text-align: center; +} +.jvectormap-legend-cnt { + position: absolute; +} +.jvectormap-legend-cnt-h { + bottom: 0; + right: 0; +} +.jvectormap-legend-cnt-v { + top: 0; + right: 0; +} +.jvectormap-legend { + background: #000; + color: #fff; + border-radius: 3px; +} +.jvectormap-legend-cnt-h .jvectormap-legend { + float: left; + margin: 0 10px 10px 0; + padding: 3px 3px 1px; +} +.jvectormap-legend-cnt-h .jvectormap-legend .jvectormap-legend-tick { + float: left; +} +.jvectormap-legend-cnt-v .jvectormap-legend { + margin: 10px 10px 0 0; + padding: 3px; +} +.jvectormap-legend-cnt-h .jvectormap-legend-tick { + width: 40px; +} +.jvectormap-legend-cnt-h .jvectormap-legend-tick-sample { + height: 15px; +} +.jvectormap-legend-cnt-v .jvectormap-legend-tick-sample { + height: 20px; + width: 20px; + display: inline-block; + vertical-align: middle; +} +.jvectormap-legend-tick-text { + font-size: 12px; +} +.jvectormap-legend-cnt-h .jvectormap-legend-tick-text { + text-align: center; +} +.jvectormap-legend-cnt-v .jvectormap-legend-tick-text { + display: inline-block; + vertical-align: middle; + line-height: 20px; + padding-left: 3px; +} +.selectize-control.plugin-drag_drop.multi + > .selectize-input + > div.ui-sortable-placeholder { + visibility: visible !important; + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 !important; + box-shadow: inset 0 0 12px 4px #fff; +} +.selectize-control.plugin-drag_drop .ui-sortable-placeholder:after { + content: "!"; + visibility: hidden; +} +.selectize-control.plugin-drag_drop .ui-sortable-helper { + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); +} +.selectize-dropdown-header { + position: relative; + padding: 5px 8px; + border-bottom: 1px solid #d0d0d0; + background: #f8f8f8; + border-radius: 3px 3px 0 0; +} +.selectize-dropdown-header-close { + position: absolute; + right: 8px; + top: 50%; + color: #495057; + opacity: 0.4; + margin-top: -12px; + line-height: 20px; + font-size: 20px !important; +} +.selectize-dropdown-header-close:hover { + color: #000; +} +.selectize-dropdown.plugin-optgroup_columns .optgroup { + border-right: 1px solid #f2f2f2; + border-top: 0; + float: left; + box-sizing: border-box; +} +.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-right: 0; +} +.selectize-dropdown.plugin-optgroup_columns .optgroup:before { + display: none; +} +.selectize-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0; +} +.selectize-control.plugin-remove_button [data-value] { + position: relative; + padding-right: 24px !important; +} +.selectize-control.plugin-remove_button [data-value] .remove { + z-index: 1; + position: absolute; + top: 0; + right: 0; + bottom: 0; + width: 17px; + text-align: center; + font-weight: 700; + font-size: 12px; + color: inherit; + text-decoration: none; + vertical-align: middle; + display: inline-block; + padding: 2px 0 0; + border-left: 1px solid #d0d0d0; + border-radius: 0 2px 2px 0; + box-sizing: border-box; +} +.selectize-control.plugin-remove_button [data-value] .remove:hover { + background: rgba(0, 0, 0, 0.05); +} +.selectize-control.plugin-remove_button [data-value].active .remove { + border-left-color: #cacaca; +} +.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover { + background: 0; +} +.selectize-control.plugin-remove_button .disabled [data-value] .remove { + border-left-color: #fff; +} +.selectize-control.plugin-remove_button .remove-single { + position: absolute; + right: 28px; + top: 6px; + font-size: 23px; +} +.selectize-control { + position: relative; + padding: 0; + border: 0; +} +.selectize-dropdown, +.selectize-input, +.selectize-input input { + color: #495057; + font-family: inherit; + font-size: 15px; + line-height: 18px; + -webkit-font-smoothing: inherit; +} +.selectize-control.single .selectize-input.input-active, +.selectize-input { + background: #fff; + cursor: text; + display: inline-block; +} +.selectize-input { + border: 1px solid rgba(0, 40, 100, 0.12); + padding: 0.5625rem 0.75rem; + display: inline-block; + display: block; + width: 100%; + overflow: hidden; + position: relative; + z-index: 1; + box-sizing: border-box; + border-radius: 3px; + transition: border-color 0.3s, box-shadow 0.3s; +} +.selectize-control.multi .selectize-input.has-items { + padding: 7px 0.75rem 4px 7px; +} +.selectize-input.full { + background-color: #fff; +} +.selectize-input.disabled, +.selectize-input.disabled * { + cursor: default !important; +} +.selectize-input.focus { + border-color: #467fcf; + box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); +} +.selectize-input.dropdown-active { + border-radius: 3px 3px 0 0; +} +.selectize-input > * { + vertical-align: initial; + display: -moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; +} +.selectize-control.multi .selectize-input > div { + cursor: pointer; + margin: 0 3px 3px 0; + padding: 2px 6px; + background: #e9ecef; + color: #495057; + font-size: 13px; + border: 0 solid rgba(0, 40, 100, 0.12); + border-radius: 3px; + font-weight: 400; +} +.selectize-control.multi .selectize-input > div.active { + background: #e8e8e8; + color: #303030; + border: 0 solid #cacaca; +} +.selectize-control.multi .selectize-input.disabled > div, +.selectize-control.multi .selectize-input.disabled > div.active { + color: #7d7d7d; + background: #fff; + border: 0 solid #fff; +} +.selectize-input > input { + display: inline-block !important; + padding: 0 !important; + min-height: 0 !important; + max-height: none !important; + max-width: 100% !important; + margin: 0 2px 0 0 !important; + text-indent: 0 !important; + border: 0 !important; + background: none !important; + line-height: inherit !important; + box-shadow: none !important; +} +.selectize-input > input::-ms-clear { + display: none; +} +.selectize-input > input:focus { + outline: none !important; +} +.selectize-input:after { + content: " "; + display: block; + clear: left; +} +.selectize-input.dropdown-active:before { + content: " "; + display: block; + position: absolute; + background: #f0f0f0; + height: 1px; + bottom: 0; + left: 0; + right: 0; +} +.selectize-dropdown { + position: absolute; + z-index: 10; + background: #fff; + margin: -1px 0 0; + border: 1px solid rgba(0, 40, 100, 0.12); + border-top: 0; + box-sizing: border-box; + border-radius: 0 0 3px 3px; + height: auto; + padding: 0; +} +.selectize-dropdown [data-selectable] { + cursor: pointer; + overflow: hidden; +} +.selectize-dropdown [data-selectable] .highlight { + background: rgba(125, 168, 208, 0.2); + border-radius: 1px; +} +.selectize-dropdown .optgroup-header, +.selectize-dropdown [data-selectable] { + padding: 6px 0.75rem; +} +.selectize-dropdown .optgroup:first-child .optgroup-header { + border-top: 0; +} +.selectize-dropdown .optgroup-header { + color: #495057; + background: #fff; + cursor: default; +} +.selectize-dropdown .active { + background-color: #f1f4f8; + color: #467fcf; +} +.selectize-dropdown .active.create { + color: #495057; +} +.selectize-dropdown .create { + color: rgba(48, 48, 48, 0.5); +} +.selectize-dropdown-content { + overflow-y: auto; + overflow-x: hidden; + max-height: 200px; + -webkit-overflow-scrolling: touch; +} +.selectize-control.single .selectize-input, +.selectize-control.single .selectize-input input { + cursor: pointer; +} +.selectize-control.single .selectize-input.input-active, +.selectize-control.single .selectize-input.input-active input { + cursor: text; +} +.selectize-control.single .selectize-input:after { + content: ""; + display: block; + position: absolute; + top: 13px; + right: 12px; + width: 8px; + height: 10px; + background: #fff + url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 5'%3E%3Cpath fill='#999' d='M0 0L10 0L5 5L0 0'/%3E%3C/svg%3E") + no-repeat 50%; + background-size: 8px 10px; + transition: -webkit-transform 0.3s; + transition: transform 0.3s; + transition: transform 0.3s, -webkit-transform 0.3s; +} +.selectize-control.single .selectize-input.dropdown-active:after { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} +.selectize-control .selectize-input.disabled { + opacity: 0.5; + background-color: #fafafa; +} +.selectize-dropdown .image, +.selectize-input .image { + width: 1.25rem; + height: 1.25rem; + background-size: contain; + margin: -1px 0.5rem -1px -4px; + line-height: 1.25rem; + float: left; + display: flex; + align-items: center; + justify-content: center; +} +.selectize-dropdown .image img, +.selectize-input .image img { + max-width: 100%; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + border-radius: 2px; +} +.selectize-input .image { + width: 1.5rem; + height: 1.5rem; + margin: -3px 0.75rem -3px -5px; +} +@font-face { + font-family: feather; + src: url(/static/media/feather-webfont.cc5143b2.eot); + src: url(/static/media/feather-webfont.cc5143b2.eot#iefix) + format("embedded-opentype"), + url(/static/media/feather-webfont.2cf523cd.woff) format("woff"), + url(/static/media/feather-webfont.b8e9cbc7.ttf) format("truetype"), + url(/static/media/feather-webfont.4a878d5b.svg#feather) format("svg"); +} +.fe { + font-family: feather !important; + speak: none; + font-style: normal; + font-weight: 400; + -webkit-font-feature-settings: normal; + font-feature-settings: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.fe-activity:before { + content: "\E900"; +} +.fe-airplay:before { + content: "\E901"; +} +.fe-alert-circle:before { + content: "\E902"; +} +.fe-alert-octagon:before { + content: "\E903"; +} +.fe-alert-triangle:before { + content: "\E904"; +} +.fe-align-center:before { + content: "\E905"; +} +.fe-align-justify:before { + content: "\E906"; +} +.fe-align-left:before { + content: "\E907"; +} +.fe-align-right:before { + content: "\E908"; +} +.fe-anchor:before { + content: "\E909"; +} +.fe-aperture:before { + content: "\E90A"; +} +.fe-arrow-down:before { + content: "\E90B"; +} +.fe-arrow-down-circle:before { + content: "\E90C"; +} +.fe-arrow-down-left:before { + content: "\E90D"; +} +.fe-arrow-down-right:before { + content: "\E90E"; +} +.fe-arrow-left:before { + content: "\E90F"; +} +.fe-arrow-left-circle:before { + content: "\E910"; +} +.fe-arrow-right:before { + content: "\E911"; +} +.fe-arrow-right-circle:before { + content: "\E912"; +} +.fe-arrow-up:before { + content: "\E913"; +} +.fe-arrow-up-circle:before { + content: "\E914"; +} +.fe-arrow-up-left:before { + content: "\E915"; +} +.fe-arrow-up-right:before { + content: "\E916"; +} +.fe-at-sign:before { + content: "\E917"; +} +.fe-award:before { + content: "\E918"; +} +.fe-bar-chart:before { + content: "\E919"; +} +.fe-bar-chart-2:before { + content: "\E91A"; +} +.fe-battery:before { + content: "\E91B"; +} +.fe-battery-charging:before { + content: "\E91C"; +} +.fe-bell:before { + content: "\E91D"; +} +.fe-bell-off:before { + content: "\E91E"; +} +.fe-bluetooth:before { + content: "\E91F"; +} +.fe-bold:before { + content: "\E920"; +} +.fe-book:before { + content: "\E921"; +} +.fe-book-open:before { + content: "\E922"; +} +.fe-bookmark:before { + content: "\E923"; +} +.fe-box:before { + content: "\E924"; +} +.fe-briefcase:before { + content: "\E925"; +} +.fe-calendar:before { + content: "\E926"; +} +.fe-camera:before { + content: "\E927"; +} +.fe-camera-off:before { + content: "\E928"; +} +.fe-cast:before { + content: "\E929"; +} +.fe-check:before { + content: "\E92A"; +} +.fe-check-circle:before { + content: "\E92B"; +} +.fe-check-square:before { + content: "\E92C"; +} +.fe-chevron-down:before { + content: "\E92D"; +} +.fe-chevron-left:before { + content: "\E92E"; +} +.fe-chevron-right:before { + content: "\E92F"; +} +.fe-chevron-up:before { + content: "\E930"; +} +.fe-chevrons-down:before { + content: "\E931"; +} +.fe-chevrons-left:before { + content: "\E932"; +} +.fe-chevrons-right:before { + content: "\E933"; +} +.fe-chevrons-up:before { + content: "\E934"; +} +.fe-chrome:before { + content: "\E935"; +} +.fe-circle:before { + content: "\E936"; +} +.fe-clipboard:before { + content: "\E937"; +} +.fe-clock:before { + content: "\E938"; +} +.fe-cloud:before { + content: "\E939"; +} +.fe-cloud-drizzle:before { + content: "\E93A"; +} +.fe-cloud-lightning:before { + content: "\E93B"; +} +.fe-cloud-off:before { + content: "\E93C"; +} +.fe-cloud-rain:before { + content: "\E93D"; +} +.fe-cloud-snow:before { + content: "\E93E"; +} +.fe-code:before { + content: "\E93F"; +} +.fe-codepen:before { + content: "\E940"; +} +.fe-command:before { + content: "\E941"; +} +.fe-compass:before { + content: "\E942"; +} +.fe-copy:before { + content: "\E943"; +} +.fe-corner-down-left:before { + content: "\E944"; +} +.fe-corner-down-right:before { + content: "\E945"; +} +.fe-corner-left-down:before { + content: "\E946"; +} +.fe-corner-left-up:before { + content: "\E947"; +} +.fe-corner-right-down:before { + content: "\E948"; +} +.fe-corner-right-up:before { + content: "\E949"; +} +.fe-corner-up-left:before { + content: "\E94A"; +} +.fe-corner-up-right:before { + content: "\E94B"; +} +.fe-cpu:before { + content: "\E94C"; +} +.fe-credit-card:before { + content: "\E94D"; +} +.fe-crop:before { + content: "\E94E"; +} +.fe-crosshair:before { + content: "\E94F"; +} +.fe-database:before { + content: "\E950"; +} +.fe-delete:before { + content: "\E951"; +} +.fe-disc:before { + content: "\E952"; +} +.fe-dollar-sign:before { + content: "\E953"; +} +.fe-download:before { + content: "\E954"; +} +.fe-download-cloud:before { + content: "\E955"; +} +.fe-droplet:before { + content: "\E956"; +} +.fe-edit:before { + content: "\E957"; +} +.fe-edit-2:before { + content: "\E958"; +} +.fe-edit-3:before { + content: "\E959"; +} +.fe-external-link:before { + content: "\E95A"; +} +.fe-eye:before { + content: "\E95B"; +} +.fe-eye-off:before { + content: "\E95C"; +} +.fe-facebook:before { + content: "\E95D"; +} +.fe-fast-forward:before { + content: "\E95E"; +} +.fe-feather:before { + content: "\E95F"; +} +.fe-file:before { + content: "\E960"; +} +.fe-file-minus:before { + content: "\E961"; +} +.fe-file-plus:before { + content: "\E962"; +} +.fe-file-text:before { + content: "\E963"; +} +.fe-film:before { + content: "\E964"; +} +.fe-filter:before { + content: "\E965"; +} +.fe-flag:before { + content: "\E966"; +} +.fe-folder:before { + content: "\E967"; +} +.fe-folder-minus:before { + content: "\E968"; +} +.fe-folder-plus:before { + content: "\E969"; +} +.fe-git-branch:before { + content: "\E96A"; +} +.fe-git-commit:before { + content: "\E96B"; +} +.fe-git-merge:before { + content: "\E96C"; +} +.fe-git-pull-request:before { + content: "\E96D"; +} +.fe-github:before { + content: "\E96E"; +} +.fe-gitlab:before { + content: "\E96F"; +} +.fe-globe:before { + content: "\E970"; +} +.fe-grid:before { + content: "\E971"; +} +.fe-hard-drive:before { + content: "\E972"; +} +.fe-hash:before { + content: "\E973"; +} +.fe-headphones:before { + content: "\E974"; +} +.fe-heart:before { + content: "\E975"; +} +.fe-help-circle:before { + content: "\E976"; +} +.fe-home:before { + content: "\E977"; +} +.fe-image:before { + content: "\E978"; +} +.fe-inbox:before { + content: "\E979"; +} +.fe-info:before { + content: "\E97A"; +} +.fe-instagram:before { + content: "\E97B"; +} +.fe-italic:before { + content: "\E97C"; +} +.fe-layers:before { + content: "\E97D"; +} +.fe-layout:before { + content: "\E97E"; +} +.fe-life-buoy:before { + content: "\E97F"; +} +.fe-link:before { + content: "\E980"; +} +.fe-link-2:before { + content: "\E981"; +} +.fe-linkedin:before { + content: "\E982"; +} +.fe-list:before { + content: "\E983"; +} +.fe-loader:before { + content: "\E984"; +} +.fe-lock:before { + content: "\E985"; +} +.fe-log-in:before { + content: "\E986"; +} +.fe-log-out:before { + content: "\E987"; +} +.fe-mail:before { + content: "\E988"; +} +.fe-map:before { + content: "\E989"; +} +.fe-map-pin:before { + content: "\E98A"; +} +.fe-maximize:before { + content: "\E98B"; +} +.fe-maximize-2:before { + content: "\E98C"; +} +.fe-menu:before { + content: "\E98D"; +} +.fe-message-circle:before { + content: "\E98E"; +} +.fe-message-square:before { + content: "\E98F"; +} +.fe-mic:before { + content: "\E990"; +} +.fe-mic-off:before { + content: "\E991"; +} +.fe-minimize:before { + content: "\E992"; +} +.fe-minimize-2:before { + content: "\E993"; +} +.fe-minus:before { + content: "\E994"; +} +.fe-minus-circle:before { + content: "\E995"; +} +.fe-minus-square:before { + content: "\E996"; +} +.fe-monitor:before { + content: "\E997"; +} +.fe-moon:before { + content: "\E998"; +} +.fe-more-horizontal:before { + content: "\E999"; +} +.fe-more-vertical:before { + content: "\E99A"; +} +.fe-move:before { + content: "\E99B"; +} +.fe-music:before { + content: "\E99C"; +} +.fe-navigation:before { + content: "\E99D"; +} +.fe-navigation-2:before { + content: "\E99E"; +} +.fe-octagon:before { + content: "\E99F"; +} +.fe-package:before { + content: "\E9A0"; +} +.fe-paperclip:before { + content: "\E9A1"; +} +.fe-pause:before { + content: "\E9A2"; +} +.fe-pause-circle:before { + content: "\E9A3"; +} +.fe-percent:before { + content: "\E9A4"; +} +.fe-phone:before { + content: "\E9A5"; +} +.fe-phone-call:before { + content: "\E9A6"; +} +.fe-phone-forwarded:before { + content: "\E9A7"; +} +.fe-phone-incoming:before { + content: "\E9A8"; +} +.fe-phone-missed:before { + content: "\E9A9"; +} +.fe-phone-off:before { + content: "\E9AA"; +} +.fe-phone-outgoing:before { + content: "\E9AB"; +} +.fe-pie-chart:before { + content: "\E9AC"; +} +.fe-play:before { + content: "\E9AD"; +} +.fe-play-circle:before { + content: "\E9AE"; +} +.fe-plus:before { + content: "\E9AF"; +} +.fe-plus-circle:before { + content: "\E9B0"; +} +.fe-plus-square:before { + content: "\E9B1"; +} +.fe-pocket:before { + content: "\E9B2"; +} +.fe-power:before { + content: "\E9B3"; +} +.fe-printer:before { + content: "\E9B4"; +} +.fe-radio:before { + content: "\E9B5"; +} +.fe-refresh-ccw:before { + content: "\E9B6"; +} +.fe-refresh-cw:before { + content: "\E9B7"; +} +.fe-repeat:before { + content: "\E9B8"; +} +.fe-rewind:before { + content: "\E9B9"; +} +.fe-rotate-ccw:before { + content: "\E9BA"; +} +.fe-rotate-cw:before { + content: "\E9BB"; +} +.fe-rss:before { + content: "\E9BC"; +} +.fe-save:before { + content: "\E9BD"; +} +.fe-scissors:before { + content: "\E9BE"; +} +.fe-search:before { + content: "\E9BF"; +} +.fe-send:before { + content: "\E9C0"; +} +.fe-server:before { + content: "\E9C1"; +} +.fe-settings:before { + content: "\E9C2"; +} +.fe-share:before { + content: "\E9C3"; +} +.fe-share-2:before { + content: "\E9C4"; +} +.fe-shield:before { + content: "\E9C5"; +} +.fe-shield-off:before { + content: "\E9C6"; +} +.fe-shopping-bag:before { + content: "\E9C7"; +} +.fe-shopping-cart:before { + content: "\E9C8"; +} +.fe-shuffle:before { + content: "\E9C9"; +} +.fe-sidebar:before { + content: "\E9CA"; +} +.fe-skip-back:before { + content: "\E9CB"; +} +.fe-skip-forward:before { + content: "\E9CC"; +} +.fe-slack:before { + content: "\E9CD"; +} +.fe-slash:before { + content: "\E9CE"; +} +.fe-sliders:before { + content: "\E9CF"; +} +.fe-smartphone:before { + content: "\E9D0"; +} +.fe-speaker:before { + content: "\E9D1"; +} +.fe-square:before { + content: "\E9D2"; +} +.fe-star:before { + content: "\E9D3"; +} +.fe-stop-circle:before { + content: "\E9D4"; +} +.fe-sun:before { + content: "\E9D5"; +} +.fe-sunrise:before { + content: "\E9D6"; +} +.fe-sunset:before { + content: "\E9D7"; +} +.fe-tablet:before { + content: "\E9D8"; +} +.fe-tag:before { + content: "\E9D9"; +} +.fe-target:before { + content: "\E9DA"; +} +.fe-terminal:before { + content: "\E9DB"; +} +.fe-thermometer:before { + content: "\E9DC"; +} +.fe-thumbs-down:before { + content: "\E9DD"; +} +.fe-thumbs-up:before { + content: "\E9DE"; +} +.fe-toggle-left:before { + content: "\E9DF"; +} +.fe-toggle-right:before { + content: "\E9E0"; +} +.fe-trash:before { + content: "\E9E1"; +} +.fe-trash-2:before { + content: "\E9E2"; +} +.fe-trending-down:before { + content: "\E9E3"; +} +.fe-trending-up:before { + content: "\E9E4"; +} +.fe-triangle:before { + content: "\E9E5"; +} +.fe-truck:before { + content: "\E9E6"; +} +.fe-tv:before { + content: "\E9E7"; +} +.fe-twitter:before { + content: "\E9E8"; +} +.fe-type:before { + content: "\E9E9"; +} +.fe-umbrella:before { + content: "\E9EA"; +} +.fe-underline:before { + content: "\E9EB"; +} +.fe-unlock:before { + content: "\E9EC"; +} +.fe-upload:before { + content: "\E9ED"; +} +.fe-upload-cloud:before { + content: "\E9EE"; +} +.fe-user:before { + content: "\E9EF"; +} +.fe-user-check:before { + content: "\E9F0"; +} +.fe-user-minus:before { + content: "\E9F1"; +} +.fe-user-plus:before { + content: "\E9F2"; +} +.fe-user-x:before { + content: "\E9F3"; +} +.fe-users:before { + content: "\E9F4"; +} +.fe-video:before { + content: "\E9F5"; +} +.fe-video-off:before { + content: "\E9F6"; +} +.fe-voicemail:before { + content: "\E9F7"; +} +.fe-volume:before { + content: "\E9F8"; +} +.fe-volume-1:before { + content: "\E9F9"; +} +.fe-volume-2:before { + content: "\E9FA"; +} +.fe-volume-x:before { + content: "\E9FB"; +} +.fe-watch:before { + content: "\E9FC"; +} +.fe-wifi:before { + content: "\E9FD"; +} +.fe-wifi-off:before { + content: "\E9FE"; +} +.fe-wind:before { + content: "\E9FF"; +} +.fe-x:before { + content: "\EA00"; +} +.fe-x-circle:before { + content: "\EA01"; +} +.fe-x-square:before { + content: "\EA02"; +} +.fe-zap:before { + content: "\EA03"; +} +.fe-zap-off:before { + content: "\EA04"; +} +.fe-zoom-in:before { + content: "\EA05"; +} +.fe-zoom-out:before { + content: "\EA06"; +} diff --git a/onvm_web/web-build/static/css/main.467df24c.chunk.css b/onvm_web/web-build/static/css/main.467df24c.chunk.css deleted file mode 100644 index 26463cfd0..000000000 --- a/onvm_web/web-build/static/css/main.467df24c.chunk.css +++ /dev/null @@ -1 +0,0 @@ -body{margin:0;padding:0;font-family:sans-serif}.c3 svg{font:10px sans-serif;-webkit-tap-highlight-color:transparent;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif}.c3 line,.c3 path{fill:none;stroke:rgba(0,40,100,.12)}.c3 text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:px2rem(12px)}.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid{shape-rendering:crispEdges}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#f0f0f0}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke:#e6e6e6;stroke-dasharray:2 4}.c3-text{font-size:12px}.c3-text.c3-empty{fill:grey;font-size:2em}.c3-line{stroke-width:2px}.c3-circle._expanded_{stroke-width:2px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:1.5px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:1;fill-opacity:.75}.c3-target.c3-focused{opacity:1}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3 !important}.c3-region{fill:#4682b4;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-item text{fill:#545454;font-size:14px}.c3-legend-item-hidden{opacity:.15}.c3-legend-background{fill:transparent;stroke:#d3d3d3;stroke-width:0}.c3-title{font:14px sans-serif}.c3-tooltip-container{z-index:10}.c3-tooltip{border-collapse:collapse;border-spacing:0;empty-cells:show;font-size:11px;line-height:1;font-weight:700;color:#fff;border-radius:3px;background:#212529 !important;white-space:nowrap}.c3-tooltip th{padding:6px;text-align:left}.c3-tooltip td{padding:4px 6px;font-weight:400}.c3-tooltip td>span{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;vertical-align:initial}.c3-tooltip td.value{text-align:right}.c3-area{stroke-width:0;opacity:.1}.c3-target-filled .c3-area{opacity:1 !important}.c3-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#000;font-size:16px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#777}.c3-chart-arc .c3-gauge-value{fill:#000}.c3-chart-arc.c3-target.c3-focused g path,.c3-chart-arc.c3-target g path{opacity:1}.c3-axis{fill:#9aa0ac} \ No newline at end of file diff --git a/onvm_web/web-build/static/css/main.c41fe2f7.chunk.css b/onvm_web/web-build/static/css/main.c41fe2f7.chunk.css new file mode 100644 index 000000000..0931f99d2 --- /dev/null +++ b/onvm_web/web-build/static/css/main.c41fe2f7.chunk.css @@ -0,0 +1,172 @@ +body { + margin: 0; + padding: 0; + font-family: sans-serif; +} +.c3 svg { + font: 10px sans-serif; + -webkit-tap-highlight-color: transparent; + font-family: Source Sans Pro, -apple-system, BlinkMacSystemFont, Segoe UI, + Helvetica Neue, Arial, sans-serif; +} +.c3 line, +.c3 path { + fill: none; + stroke: rgba(0, 40, 100, 0.12); +} +.c3 text { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: px2rem(12px); +} +.c3-bars path, +.c3-event-rect, +.c3-legend-item-tile, +.c3-xgrid-focus, +.c3-ygrid { + shape-rendering: crispEdges; +} +.c3-chart-arc path { + stroke: #fff; +} +.c3-chart-arc text { + fill: #fff; + font-size: 13px; +} +.c3-grid line { + stroke: #f0f0f0; +} +.c3-grid text { + fill: #aaa; +} +.c3-xgrid, +.c3-ygrid { + stroke: #e6e6e6; + stroke-dasharray: 2 4; +} +.c3-text { + font-size: 12px; +} +.c3-text.c3-empty { + fill: grey; + font-size: 2em; +} +.c3-line { + stroke-width: 2px; +} +.c3-circle._expanded_ { + stroke-width: 2px; + stroke: #fff; +} +.c3-selected-circle { + fill: #fff; + stroke-width: 1.5px; +} +.c3-bar { + stroke-width: 0; +} +.c3-bar._expanded_ { + fill-opacity: 1; + fill-opacity: 0.75; +} +.c3-target.c3-focused { + opacity: 1; +} +.c3-target.c3-focused path.c3-line, +.c3-target.c3-focused path.c3-step { + stroke-width: 2px; +} +.c3-target.c3-defocused { + opacity: 0.3 !important; +} +.c3-region { + fill: #4682b4; + fill-opacity: 0.1; +} +.c3-brush .extent { + fill-opacity: 0.1; +} +.c3-legend-item text { + fill: #545454; + font-size: 14px; +} +.c3-legend-item-hidden { + opacity: 0.15; +} +.c3-legend-background { + fill: transparent; + stroke: #d3d3d3; + stroke-width: 0; +} +.c3-title { + font: 14px sans-serif; +} +.c3-tooltip-container { + z-index: 10; +} +.c3-tooltip { + border-collapse: collapse; + border-spacing: 0; + empty-cells: show; + font-size: 11px; + line-height: 1; + font-weight: 700; + color: #fff; + border-radius: 3px; + background: #212529 !important; + white-space: nowrap; +} +.c3-tooltip th { + padding: 6px; + text-align: left; +} +.c3-tooltip td { + padding: 4px 6px; + font-weight: 400; +} +.c3-tooltip td > span { + display: inline-block; + width: 8px; + height: 8px; + margin-right: 8px; + border-radius: 50%; + vertical-align: initial; +} +.c3-tooltip td.value { + text-align: right; +} +.c3-area { + stroke-width: 0; + opacity: 0.1; +} +.c3-target-filled .c3-area { + opacity: 1 !important; +} +.c3-chart-arcs-title { + dominant-baseline: middle; + font-size: 1.3em; +} +.c3-chart-arcs .c3-chart-arcs-background { + fill: #e0e0e0; + stroke: none; +} +.c3-chart-arcs .c3-chart-arcs-gauge-unit { + fill: #000; + font-size: 16px; +} +.c3-chart-arcs .c3-chart-arcs-gauge-max, +.c3-chart-arcs .c3-chart-arcs-gauge-min { + fill: #777; +} +.c3-chart-arc .c3-gauge-value { + fill: #000; +} +.c3-chart-arc.c3-target.c3-focused g path, +.c3-chart-arc.c3-target g path { + opacity: 1; +} +.c3-axis { + fill: #9aa0ac; +} diff --git a/onvm_web/web-build/static/js/1.14582a4f.chunk.js b/onvm_web/web-build/static/js/1.14582a4f.chunk.js deleted file mode 100644 index 7c6b541e0..000000000 --- a/onvm_web/web-build/static/js/1.14582a4f.chunk.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[function(e,t,n){"use strict";e.exports=n(24)},function(e,t,n){e.exports=n(31)()},function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return w}),n.d(t,"b",function(){return Dr}),n.d(t,"c",function(){return M}),n.d(t,"d",function(){return ai}),n.d(t,"e",function(){return ca}),n.d(t,"f",function(){return Ta}),n.d(t,"g",function(){return Ia});var r=n(0),i=n.n(r),a={profile:{icon:"user",value:"Profile",to:"/profile"},settings:{icon:"settings",value:"Settings",to:"/settings"},mail:{icon:"mail",value:"Inbox",to:"/mail"},message:{icon:"send",value:"Message",to:"/message"},help:{icon:"help-circle",value:"Need help?",to:"/help"},logout:{icon:"log-out",value:"Sign out",to:"/logout"},divider:{isDivider:!0}},o=function(e){return e.map(function(e){return"string"===typeof e?a[e]:e})};function s(e){var t=e.avatarURL,n=e.name,i=e.description,a=e.options,s=void 0===a?[]:a,l=e.optionsRootComponent,u=o(s);return Object(r.createElement)(Kr,{isNavLink:!0,triggerClassName:"pr-0 leading-none",triggerContent:Object(r.createElement)(r.Fragment,null,Object(r.createElement)(_,{imageURL:t}),Object(r.createElement)("span",{className:"ml-2 d-none d-lg-block"},Object(r.createElement)("span",{className:"text-default"},n),Object(r.createElement)("small",{className:"text-muted d-block mt-1"},i))),position:"bottom-end",arrow:!0,arrowPosition:"right",toggle:!1,itemsObject:u,itemsRootComponent:l})}var l="undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:{};function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function c(e,t){return e(t={exports:{}},t.exports),t.exports}var d=c(function(e){!function(){var t={}.hasOwnProperty;function n(){for(var e=[],r=0;r=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},b=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t};function x(e){var t=e.className,n=e.children,i=e.stacked,a=d({"avatar-list":!0,"avatar-list-stacked":i},t);return Object(r.createElement)("div",{className:a},n)}function _(e){var t,n=e.className,i=e.children,a=e.imageURL,o=e.style,s=e.size,l=void 0===s?"":s,u=e.status,c=e.placeholder,f=e.icon,h=e.color,p=void 0===h?"":h,m=e.onClick,v=e.onMouseEnter,y=e.onMouseLeave,b=e.onPointerEnter,x=e.onPointerLeave,_=d((g(t={avatar:!0},"avatar-"+l,!!l),g(t,"avatar-placeholder",c),g(t,"avatar-"+p,!!p),t),n);return Object(r.createElement)("span",{className:_,style:a?Object.assign({backgroundImage:"url("+a+")"},o):o,onClick:m,onMouseEnter:v,onMouseLeave:y,onPointerEnter:b,onPointerLeave:x},f&&Object(r.createElement)(L,{name:f}),u&&Object(r.createElement)("span",{className:"avatar-status bg-"+u}),i)}function w(e){var t=e.className,n=e.children,i=e.color,a=void 0===i?"primary":i,o=d(g({badge:!0},"badge-"+a,a),t);return Object(r.createElement)("span",{className:o},n)}function S(e){var t=e.className,n=e.children,i=e.backgroundURL,a=void 0===i?"":i,o=d("card-header",t);return Object(r.createElement)("div",{className:o,style:a?Object.assign({backgroundImage:"url("+a+")"}):null},n)}function T(e){var t=e.className,n=e.children,i=e.RootComponent,a=d("card-title",t),o=i||"h3";return Object(r.createElement)(o,{className:a},n)}function E(e){var t=e.className,n=e.children,i=d("card-body",t);return Object(r.createElement)("div",{className:i},n)}function C(e){var t=e.className,n=e.children,i=d("card-options",t);return Object(r.createElement)("div",{className:i},n)}function O(e){var t=e.className,n=(e.children,e.icon),i=e.type,a=e.onClick,o=d({"card-options-collapse":"collapse"===i,"card-options-remove":"close"===i,"card-options-fullscreen":"fullscreen"===i},t),s=function(){switch(i){case"collapse":return"card-collapse";case"close":case"fullscreen":return"card-remove";default:return""}}(),l=function(){if(n)return n;switch(i){case"collapse":return"chevron-up";case"close":return"x";case"fullscreen":return"maximize";default:return""}}();return Object(r.createElement)("a",{className:o,"data-toggle":s,onClick:a},Object(r.createElement)(L,{name:l}))}function P(e){var t,n=e.className,i=e.children,a=e.color,o=e.side,s=d((g(t={"card-status":!0},"bg-"+a,!0),g(t,"card-status-left",o),t),n);return Object(r.createElement)("div",{className:s},i)}function A(e){var t=e.className,n=e.children,i=e.color,a=d("card-alert alert alert-"+i+" mb-0",t);return Object(r.createElement)("div",{className:a},n)}function k(e){var t=e.className,n=e.children,i=d("card-footer",t);return Object(r.createElement)("div",{className:i},n)}function N(e){var t=e.className,n=e.children,i=e.placeholder,a=d("card-map",{"card-map-placeholder":i},t);return Object(r.createElement)("div",{className:a,style:i&&{backgroundImage:"url("+i+")"}},n)}(function(e){function t(){var e,n,r;h(this,t);for(var i=arguments.length,a=Array(i),o=0;o0?le:se)(e)},ce=Math.min,de=Math.max,fe=Math.min,he=R["__core-js_shared__"]||(R["__core-js_shared__"]={}),pe=function(e){return he[e]||(he[e]={})},ge=0,me=Math.random(),ve=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++ge+me).toString(36))},ye=pe("keys"),be=function(e){return ye[e]||(ye[e]=ve(e))},xe=(ee=!1,function(e,t,n){var r,i,a=oe(e),o=(r=a.length)>0?ce(ue(r),9007199254740991):0,s=function(e,t){return(e=ue(e))<0?de(e+t,0):fe(e,t)}(n,o);if(ee&&t!=t){for(;o>s;)if((i=a[s++])!=i)return!0}else for(;o>s;s++)if((ee||s in a)&&a[s]===t)return ee||s||0;return!ee&&-1}),_e=be("IE_PROTO"),we=function(e,t){var n,r=oe(e),i=0,a=[];for(n in r)n!=_e&&Z(r,n)&&a.push(n);for(;t.length>i;)Z(r,n=t[i++])&&(~xe(a,n)||a.push(n));return a},Se="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),Te=Object.keys||function(e){return we(e,Se)},Ee={f:Object.getOwnPropertySymbols},Ce={f:{}.propertyIsEnumerable},Oe=function(e){return Object(ae(e))},Pe=Object.assign,Ae=!Pe||D(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=Pe({},e)[n]||Object.keys(Pe({},t)).join("")!=r})?function(e,t){for(var n=Oe(e),r=arguments.length,i=1,a=Ee.f,o=Ce.f;r>i;)for(var s,l=ie(arguments[i++]),u=a?Te(l).concat(a(l)):Te(l),c=u.length,d=0;c>d;)o.call(l,s=u[d++])&&(n[s]=l[s]);return n}:Pe;te(te.S+te.F,"Object",{assign:Ae});var ke=I.Object.assign,Ne=c(function(e){e.exports={default:ke,__esModule:!0}});u(Ne);var Me=u(c(function(e,t){t.__esModule=!0;var n,r=(n=Ne)&&n.__esModule?n:{default:n};t.default=r.default||function(e){for(var t=1;ta;)q.f(e,n=r[a++],t[n]);return e},Xe=R.document,Ye=Xe&&Xe.documentElement,We=be("IE_PROTO"),qe=function(){},Qe=function(){var e,t=U("iframe"),n=Se.length;for(t.style.display="none",Ye.appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write(""), + e.close(), + Qe = e.F; + n--; + + ) + delete Qe.prototype[Se[n]]; + return Qe(); + }, + $e = + Object.create || + function(e, t) { + var n; + return ( + null !== e + ? ((qe.prototype = D(e)), + (n = new qe()), + (qe.prototype = null), + (n[We] = e)) + : (n = Qe()), + void 0 === t ? n : Ue(n, t) + ); + }, + Ke = c(function(e) { + var t = pe("wks"), + n = R.Symbol, + r = "function" == typeof n; + (e.exports = function(e) { + return ( + t[e] || (t[e] = (r && n[e]) || (r ? n : ve)("Symbol." + e)) + ); + }).store = t; + }), + Ze = q.f, + Je = Ke("toStringTag"), + et = function(e, t, n) { + e && + !Z((e = n ? e : e.prototype), Je) && + Ze(e, Je, { configurable: !0, value: t }); + }, + tt = {}; + $(tt, Ke("iterator"), function() { + return this; + }); + var nt, + rt = function(e, t, n) { + (e.prototype = $e(tt, { next: Q(1, n) })), et(e, t + " Iterator"); + }, + it = Ke("iterator"), + at = !([].keys && "next" in [].keys()), + ot = function(e, t, n, r, i, a, o) { + rt(n, t, r); + var s, + u, + l, + c = function(e) { + if (!at && e in p) return p[e]; + switch (e) { + case "keys": + case "values": + return function() { + return new n(this, e); + }; + } + return function() { + return new n(this, e); + }; + }, + d = t + " Iterator", + f = "values" == i, + h = !1, + p = e.prototype, + g = p[it] || p["@@iterator"] || (i && p[i]), + m = g || c(i), + v = i ? (f ? c("entries") : m) : void 0, + y = ("Array" == t && p.entries) || g; + if ( + (y && + (l = Re(y.call(new e()))) !== Object.prototype && + l.next && + et(l, d, !0), + f && + g && + "values" !== g.name && + ((h = !0), + (m = function() { + return g.call(this); + })), + o && (at || h || !p[it]) && $(p, it, m), + i) + ) + if ( + ((s = { + values: f ? m : c("values"), + keys: a ? m : c("keys"), + entries: v + }), + o) + ) + for (u in s) u in p || He(p, u, s[u]); + else te(te.P + te.F * (at || h), t, s); + return s; + }, + st = ((nt = !0), + function(e, t) { + var n, + r, + i = String(ae(e)), + a = le(t), + o = i.length; + return a < 0 || a >= o + ? nt + ? "" + : void 0 + : (n = i.charCodeAt(a)) < 55296 || + n > 56319 || + a + 1 === o || + (r = i.charCodeAt(a + 1)) < 56320 || + r > 57343 + ? nt + ? i.charAt(a) + : n + : nt + ? i.slice(a, a + 2) + : r - 56320 + ((n - 55296) << 10) + 65536; + }); + ot( + String, + "String", + function(e) { + (this._t = String(e)), (this._i = 0); + }, + function() { + var e, + t = this._t, + n = this._i; + return n >= t.length + ? { value: void 0, done: !0 } + : ((e = st(t, n)), (this._i += e.length), { value: e, done: !1 }); + } + ); + for ( + var ut = function(e, t) { + return { value: t, done: !!e }; + }, + lt = (ot( + Array, + "Array", + function(e, t) { + (this._t = oe(e)), (this._i = 0), (this._k = t); + }, + function() { + var e = this._t, + t = this._k, + n = this._i++; + return !e || n >= e.length + ? ((this._t = void 0), ut(1)) + : ut(0, "keys" == t ? n : "values" == t ? e[n] : [n, e[n]]); + }, + "values" + ), + Ke("toStringTag")), + ct = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split( + "," + ), + dt = 0; + dt < ct.length; + dt++ + ) { + var ft = ct[dt], + ht = R[ft], + pt = ht && ht.prototype; + pt && !pt[lt] && $(pt, lt, ft); + } + var gt = { f: Ke }, + mt = gt.f("iterator"), + vt = c(function(e) { + e.exports = { default: mt, __esModule: !0 }; + }); + l(vt); + var yt = c(function(e) { + var t = ve("meta"), + n = q.f, + r = 0, + i = + Object.isExtensible || + function() { + return !0; + }, + a = !G(function() { + return i(Object.preventExtensions({})); + }), + o = function(e) { + n(e, t, { value: { i: "O" + ++r, w: {} } }); + }, + s = (e.exports = { + KEY: t, + NEED: !1, + fastKey: function(e, n) { + if (!F(e)) + return "symbol" == typeof e + ? e + : ("string" == typeof e ? "S" : "P") + e; + if (!Z(e, t)) { + if (!i(e)) return "F"; + if (!n) return "E"; + o(e); + } + return e[t].i; + }, + getWeak: function(e, n) { + if (!Z(e, t)) { + if (!i(e)) return !0; + if (!n) return !1; + o(e); + } + return e[t].w; + }, + onFreeze: function(e) { + return a && s.NEED && i(e) && !Z(e, t) && o(e), e; + } + }); + }), + xt = (yt.KEY, yt.NEED, yt.fastKey, yt.getWeak, yt.onFreeze, q.f), + bt = function(e) { + var t = I.Symbol || (I.Symbol = {}); + "_" == e.charAt(0) || e in t || xt(t, e, { value: gt.f(e) }); + }, + _t = + Array.isArray || + function(e) { + return "Array" == re(e); + }, + wt = Se.concat("length", "prototype"), + St = { + f: + Object.getOwnPropertyNames || + function(e) { + return we(e, wt); + } + }, + Tt = St.f, + Et = {}.toString, + Ct = + "object" == typeof window && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) + : [], + Ot = { + f: function(e) { + return Ct && "[object Window]" == Et.call(e) + ? (function(e) { + try { + return Tt(e); + } catch (t) { + return Ct.slice(); + } + })(e) + : Tt(oe(e)); + } + }, + Pt = Object.getOwnPropertyDescriptor, + At = { + f: z + ? Pt + : function(e, t) { + if (((e = oe(e)), (t = Y(t, !0)), X)) + try { + return Pt(e, t); + } catch (n) {} + if (Z(e, t)) return Q(!Ce.f.call(e, t), e[t]); + } + }, + kt = yt.KEY, + Nt = At.f, + Mt = q.f, + Lt = Ot.f, + jt = R.Symbol, + Rt = R.JSON, + It = Rt && Rt.stringify, + Vt = Ke("_hidden"), + Ft = Ke("toPrimitive"), + Dt = {}.propertyIsEnumerable, + Gt = pe("symbol-registry"), + zt = pe("symbols"), + Bt = pe("op-symbols"), + Ht = Object.prototype, + Ut = "function" == typeof jt, + Xt = R.QObject, + Yt = !Xt || !Xt.prototype || !Xt.prototype.findChild, + Wt = + z && + G(function() { + return ( + 7 != + $e( + Mt({}, "a", { + get: function() { + return Mt(this, "a", { value: 7 }).a; + } + }) + ).a + ); + }) + ? function(e, t, n) { + var r = Nt(Ht, t); + r && delete Ht[t], Mt(e, t, n), r && e !== Ht && Mt(Ht, t, r); + } + : Mt, + qt = function(e) { + var t = (zt[e] = $e(jt.prototype)); + return (t._k = e), t; + }, + Qt = + Ut && "symbol" == typeof jt.iterator + ? function(e) { + return "symbol" == typeof e; + } + : function(e) { + return e instanceof jt; + }, + $t = function(e, t, n) { + return ( + e === Ht && $t(Bt, t, n), + D(e), + (t = Y(t, !0)), + D(n), + Z(zt, t) + ? (n.enumerable + ? (Z(e, Vt) && e[Vt][t] && (e[Vt][t] = !1), + (n = $e(n, { enumerable: Q(0, !1) }))) + : (Z(e, Vt) || Mt(e, Vt, Q(1, {})), (e[Vt][t] = !0)), + Wt(e, t, n)) + : Mt(e, t, n) + ); + }, + Kt = function(e, t) { + D(e); + for ( + var n, + r = (function(e) { + var t = Te(e), + n = Ee.f; + if (n) + for (var r, i = n(e), a = Ce.f, o = 0; i.length > o; ) + a.call(e, (r = i[o++])) && t.push(r); + return t; + })((t = oe(t))), + i = 0, + a = r.length; + a > i; + + ) + $t(e, (n = r[i++]), t[n]); + return e; + }, + Zt = function(e) { + var t = Dt.call(this, (e = Y(e, !0))); + return ( + !(this === Ht && Z(zt, e) && !Z(Bt, e)) && + (!( + t || + !Z(this, e) || + !Z(zt, e) || + (Z(this, Vt) && this[Vt][e]) + ) || + t) + ); + }, + Jt = function(e, t) { + if ( + ((e = oe(e)), (t = Y(t, !0)), e !== Ht || !Z(zt, t) || Z(Bt, t)) + ) { + var n = Nt(e, t); + return ( + !n || + !Z(zt, t) || + (Z(e, Vt) && e[Vt][t]) || + (n.enumerable = !0), + n + ); + } + }, + en = function(e) { + for (var t, n = Lt(oe(e)), r = [], i = 0; n.length > i; ) + Z(zt, (t = n[i++])) || t == Vt || t == kt || r.push(t); + return r; + }, + tn = function(e) { + for ( + var t, n = e === Ht, r = Lt(n ? Bt : oe(e)), i = [], a = 0; + r.length > a; + + ) + !Z(zt, (t = r[a++])) || (n && !Z(Ht, t)) || i.push(zt[t]); + return i; + }; + Ut || + (He( + (jt = function() { + if (this instanceof jt) + throw TypeError("Symbol is not a constructor!"); + var e = ve(arguments.length > 0 ? arguments[0] : void 0); + return ( + z && + Yt && + Wt(Ht, e, { + configurable: !0, + set: function t(n) { + this === Ht && t.call(Bt, n), + Z(this, Vt) && Z(this[Vt], e) && (this[Vt][e] = !1), + Wt(this, e, Q(1, n)); + } + }), + qt(e) + ); + }).prototype, + "toString", + function() { + return this._k; + } + ), + (At.f = Jt), + (q.f = $t), + (St.f = Ot.f = en), + (Ce.f = Zt), + (Ee.f = tn), + (gt.f = function(e) { + return qt(Ke(e)); + })), + te(te.G + te.W + te.F * !Ut, { Symbol: jt }); + for ( + var nn = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split( + "," + ), + rn = 0; + nn.length > rn; + + ) + Ke(nn[rn++]); + for (var an = Te(Ke.store), on = 0; an.length > on; ) bt(an[on++]); + te(te.S + te.F * !Ut, "Symbol", { + for: function(e) { + return Z(Gt, (e += "")) ? Gt[e] : (Gt[e] = jt(e)); + }, + keyFor: function(e) { + if (!Qt(e)) throw TypeError(e + " is not a symbol!"); + for (var t in Gt) if (Gt[t] === e) return t; + }, + useSetter: function() { + Yt = !0; + }, + useSimple: function() { + Yt = !1; + } + }), + te(te.S + te.F * !Ut, "Object", { + create: function(e, t) { + return void 0 === t ? $e(e) : Kt($e(e), t); + }, + defineProperty: $t, + defineProperties: Kt, + getOwnPropertyDescriptor: Jt, + getOwnPropertyNames: en, + getOwnPropertySymbols: tn + }), + Rt && + te( + te.S + + te.F * + (!Ut || + G(function() { + var e = jt(); + return ( + "[null]" != It([e]) || + "{}" != It({ a: e }) || + "{}" != It(Object(e)) + ); + })), + "JSON", + { + stringify: function(e) { + for (var t, n, r = [e], i = 1; arguments.length > i; ) + r.push(arguments[i++]); + if (((n = t = r[1]), (F(t) || void 0 !== e) && !Qt(e))) + return ( + _t(t) || + (t = function(e, t) { + if ( + ("function" == typeof n && (t = n.call(this, e, t)), + !Qt(t)) + ) + return t; + }), + (r[1] = t), + It.apply(Rt, r) + ); + } + } + ), + jt.prototype[Ft] || $(jt.prototype, Ft, jt.prototype.valueOf), + et(jt, "Symbol"), + et(Math, "Math", !0), + et(R.JSON, "JSON", !0), + bt("asyncIterator"), + bt("observable"); + var sn = I.Symbol, + un = c(function(e) { + e.exports = { default: sn, __esModule: !0 }; + }); + l(un); + var ln = c(function(e, t) { + t.__esModule = !0; + var n = a(vt), + r = a(un), + i = + "function" === typeof r.default && "symbol" === typeof n.default + ? function(e) { + return typeof e; + } + : function(e) { + return e && + "function" === typeof r.default && + e.constructor === r.default && + e !== r.default.prototype + ? "symbol" + : typeof e; + }; + function a(e) { + return e && e.__esModule ? e : { default: e }; + } + t.default = + "function" === typeof r.default && "symbol" === i(n.default) + ? function(e) { + return "undefined" === typeof e ? "undefined" : i(e); + } + : function(e) { + return e && + "function" === typeof r.default && + e.constructor === r.default && + e !== r.default.prototype + ? "symbol" + : "undefined" === typeof e + ? "undefined" + : i(e); + }; + }); + l(ln); + var cn = l( + c(function(e, t) { + t.__esModule = !0; + var n, + r = (n = ln) && n.__esModule ? n : { default: n }; + t.default = function(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || + ("object" !== + ("undefined" === typeof t + ? "undefined" + : (0, r.default)(t)) && + "function" !== typeof t) + ? e + : t; + }; + }) + ), + dn = function(e, t) { + if ((D(e), !F(t) && null !== t)) + throw TypeError(t + ": can't set as prototype!"); + }, + fn = { + set: + Object.setPrototypeOf || + ("__proto__" in {} + ? (function(e, t, n) { + try { + (n = V( + Function.call, + At.f(Object.prototype, "__proto__").set, + 2 + ))(e, []), + (t = !(e instanceof Array)); + } catch (r) { + t = !0; + } + return function(e, r) { + return dn(e, r), t ? (e.__proto__ = r) : n(e, r), e; + }; + })({}, !1) + : void 0), + check: dn + }; + te(te.S, "Object", { setPrototypeOf: fn.set }); + var hn = I.Object.setPrototypeOf, + pn = c(function(e) { + e.exports = { default: hn, __esModule: !0 }; + }); + l(pn), te(te.S, "Object", { create: $e }); + var gn = I.Object, + mn = function(e, t) { + return gn.create(e, t); + }, + vn = c(function(e) { + e.exports = { default: mn, __esModule: !0 }; + }); + l(vn); + for ( + var yn = l( + c(function(e, t) { + t.__esModule = !0; + var n = a(pn), + r = a(vn), + i = a(ln); + function a(e) { + return e && e.__esModule ? e : { default: e }; + } + t.default = function(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + ("undefined" === typeof t + ? "undefined" + : (0, i.default)(t)) + ); + (e.prototype = (0, r.default)(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && (n.default ? (0, n.default)(e, t) : (e.__proto__ = t)); + }; + }) + ), + xn = + "undefined" !== typeof window && "undefined" !== typeof document, + bn = ["Edge", "Trident", "Firefox"], + _n = 0, + wn = 0; + wn < bn.length; + wn += 1 + ) + if (xn && navigator.userAgent.indexOf(bn[wn]) >= 0) { + _n = 1; + break; + } + var Sn = + xn && window.Promise + ? function(e) { + var t = !1; + return function() { + t || + ((t = !0), + window.Promise.resolve().then(function() { + (t = !1), e(); + })); + }; + } + : function(e) { + var t = !1; + return function() { + t || + ((t = !0), + setTimeout(function() { + (t = !1), e(); + }, _n)); + }; + }; + function Tn(e) { + return e && "[object Function]" === {}.toString.call(e); + } + function En(e, t) { + if (1 !== e.nodeType) return []; + var n = getComputedStyle(e, null); + return t ? n[t] : n; + } + function Cn(e) { + return "HTML" === e.nodeName ? e : e.parentNode || e.host; + } + function On(e) { + if (!e) return document.body; + switch (e.nodeName) { + case "HTML": + case "BODY": + return e.ownerDocument.body; + case "#document": + return e.body; + } + var t = En(e), + n = t.overflow, + r = t.overflowX, + i = t.overflowY; + return /(auto|scroll|overlay)/.test(n + i + r) ? e : On(Cn(e)); + } + var Pn = + xn && !(!window.MSInputMethodContext || !document.documentMode), + An = xn && /MSIE 10/.test(navigator.userAgent); + function kn(e) { + return 11 === e ? Pn : 10 === e ? An : Pn || An; + } + function Nn(e) { + if (!e) return document.documentElement; + for ( + var t = kn(10) ? document.body : null, n = e.offsetParent; + n === t && e.nextElementSibling; + + ) + n = (e = e.nextElementSibling).offsetParent; + var r = n && n.nodeName; + return r && "BODY" !== r && "HTML" !== r + ? -1 !== ["TD", "TABLE"].indexOf(n.nodeName) && + "static" === En(n, "position") + ? Nn(n) + : n + : e + ? e.ownerDocument.documentElement + : document.documentElement; + } + function Mn(e) { + return null !== e.parentNode ? Mn(e.parentNode) : e; + } + function Ln(e, t) { + if (!e || !e.nodeType || !t || !t.nodeType) + return document.documentElement; + var n = + e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING, + r = n ? e : t, + i = n ? t : e, + a = document.createRange(); + a.setStart(r, 0), a.setEnd(i, 0); + var o = a.commonAncestorContainer; + if ((e !== o && t !== o) || r.contains(i)) + return (function(e) { + var t = e.nodeName; + return ( + "BODY" !== t && ("HTML" === t || Nn(e.firstElementChild) === e) + ); + })(o) + ? o + : Nn(o); + var s = Mn(e); + return s.host ? Ln(s.host, t) : Ln(e, Mn(t).host); + } + function jn(e) { + var t = + "top" === + (arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : "top") + ? "scrollTop" + : "scrollLeft", + n = e.nodeName; + if ("BODY" === n || "HTML" === n) { + var r = e.ownerDocument.documentElement; + return (e.ownerDocument.scrollingElement || r)[t]; + } + return e[t]; + } + function Rn(e, t) { + var n = "x" === t ? "Left" : "Top", + r = "Left" === n ? "Right" : "Bottom"; + return ( + parseFloat(e["border" + n + "Width"], 10) + + parseFloat(e["border" + r + "Width"], 10) + ); + } + function In(e, t, n, r) { + return Math.max( + t["offset" + e], + t["scroll" + e], + n["client" + e], + n["offset" + e], + n["scroll" + e], + kn(10) + ? n["offset" + e] + + r["margin" + ("Height" === e ? "Top" : "Left")] + + r["margin" + ("Height" === e ? "Bottom" : "Right")] + : 0 + ); + } + function Vn() { + var e = document.body, + t = document.documentElement, + n = kn(10) && getComputedStyle(t); + return { height: In("Height", e, t, n), width: In("Width", e, t, n) }; + } + var Fn = function(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + }, + Dn = (function() { + function e(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + return function(t, n, r) { + return n && e(t.prototype, n), r && e(t, r), t; + }; + })(), + Gn = function(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) + : (e[t] = n), + e + ); + }, + zn = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }; + function Bn(e) { + return zn({}, e, { + right: e.left + e.width, + bottom: e.top + e.height + }); + } + function Hn(e) { + var t = {}; + try { + if (kn(10)) { + t = e.getBoundingClientRect(); + var n = jn(e, "top"), + r = jn(e, "left"); + (t.top += n), (t.left += r), (t.bottom += n), (t.right += r); + } else t = e.getBoundingClientRect(); + } catch (d) {} + var i = { + left: t.left, + top: t.top, + width: t.right - t.left, + height: t.bottom - t.top + }, + a = "HTML" === e.nodeName ? Vn() : {}, + o = a.width || e.clientWidth || i.right - i.left, + s = a.height || e.clientHeight || i.bottom - i.top, + u = e.offsetWidth - o, + l = e.offsetHeight - s; + if (u || l) { + var c = En(e); + (u -= Rn(c, "x")), + (l -= Rn(c, "y")), + (i.width -= u), + (i.height -= l); + } + return Bn(i); + } + function Un(e, t) { + var n = + arguments.length > 2 && void 0 !== arguments[2] && arguments[2], + r = kn(10), + i = "HTML" === t.nodeName, + a = Hn(e), + o = Hn(t), + s = On(e), + u = En(t), + l = parseFloat(u.borderTopWidth, 10), + c = parseFloat(u.borderLeftWidth, 10); + n && + "HTML" === t.nodeName && + ((o.top = Math.max(o.top, 0)), (o.left = Math.max(o.left, 0))); + var d = Bn({ + top: a.top - o.top - l, + left: a.left - o.left - c, + width: a.width, + height: a.height + }); + if (((d.marginTop = 0), (d.marginLeft = 0), !r && i)) { + var f = parseFloat(u.marginTop, 10), + h = parseFloat(u.marginLeft, 10); + (d.top -= l - f), + (d.bottom -= l - f), + (d.left -= c - h), + (d.right -= c - h), + (d.marginTop = f), + (d.marginLeft = h); + } + return ( + (r && !n ? t.contains(s) : t === s && "BODY" !== s.nodeName) && + (d = (function(e, t) { + var n = + arguments.length > 2 && + void 0 !== arguments[2] && + arguments[2], + r = jn(t, "top"), + i = jn(t, "left"), + a = n ? -1 : 1; + return ( + (e.top += r * a), + (e.bottom += r * a), + (e.left += i * a), + (e.right += i * a), + e + ); + })(d, t)), + d + ); + } + function Xn(e) { + if (!e || !e.parentElement || kn()) return document.documentElement; + for (var t = e.parentElement; t && "none" === En(t, "transform"); ) + t = t.parentElement; + return t || document.documentElement; + } + function Yn(e, t, n, r) { + var i = + arguments.length > 4 && void 0 !== arguments[4] && arguments[4], + a = { top: 0, left: 0 }, + o = i ? Xn(e) : Ln(e, t); + if ("viewport" === r) + a = (function(e) { + var t = + arguments.length > 1 && + void 0 !== arguments[1] && + arguments[1], + n = e.ownerDocument.documentElement, + r = Un(e, n), + i = Math.max(n.clientWidth, window.innerWidth || 0), + a = Math.max(n.clientHeight, window.innerHeight || 0), + o = t ? 0 : jn(n), + s = t ? 0 : jn(n, "left"); + return Bn({ + top: o - r.top + r.marginTop, + left: s - r.left + r.marginLeft, + width: i, + height: a + }); + })(o, i); + else { + var s = void 0; + "scrollParent" === r + ? "BODY" === (s = On(Cn(t))).nodeName && + (s = e.ownerDocument.documentElement) + : (s = "window" === r ? e.ownerDocument.documentElement : r); + var u = Un(s, o, i); + if ( + "HTML" !== s.nodeName || + (function e(t) { + var n = t.nodeName; + return ( + "BODY" !== n && + "HTML" !== n && + ("fixed" === En(t, "position") || e(Cn(t))) + ); + })(o) + ) + a = u; + else { + var l = Vn(), + c = l.height, + d = l.width; + (a.top += u.top - u.marginTop), + (a.bottom = c + u.top), + (a.left += u.left - u.marginLeft), + (a.right = d + u.left); + } + } + return ( + (a.left += n), (a.top += n), (a.right -= n), (a.bottom -= n), a + ); + } + function Wn(e, t, n, r, i) { + var a = + arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0; + if (-1 === e.indexOf("auto")) return e; + var o = Yn(n, r, a, i), + s = { + top: { width: o.width, height: t.top - o.top }, + right: { width: o.right - t.right, height: o.height }, + bottom: { width: o.width, height: o.bottom - t.bottom }, + left: { width: t.left - o.left, height: o.height } + }, + u = Object.keys(s) + .map(function(e) { + return zn({ key: e }, s[e], { + area: ((t = s[e]), t.width * t.height) + }); + var t; + }) + .sort(function(e, t) { + return t.area - e.area; + }), + l = u.filter(function(e) { + var t = e.width, + r = e.height; + return t >= n.clientWidth && r >= n.clientHeight; + }), + c = l.length > 0 ? l[0].key : u[0].key, + d = e.split("-")[1]; + return c + (d ? "-" + d : ""); + } + function qn(e, t, n) { + var r = + arguments.length > 3 && void 0 !== arguments[3] + ? arguments[3] + : null; + return Un(n, r ? Xn(t) : Ln(t, n), r); + } + function Qn(e) { + var t = getComputedStyle(e), + n = parseFloat(t.marginTop) + parseFloat(t.marginBottom), + r = parseFloat(t.marginLeft) + parseFloat(t.marginRight); + return { width: e.offsetWidth + r, height: e.offsetHeight + n }; + } + function $n(e) { + var t = { + left: "right", + right: "left", + bottom: "top", + top: "bottom" + }; + return e.replace(/left|right|bottom|top/g, function(e) { + return t[e]; + }); + } + function Kn(e, t, n) { + n = n.split("-")[0]; + var r = Qn(e), + i = { width: r.width, height: r.height }, + a = -1 !== ["right", "left"].indexOf(n), + o = a ? "top" : "left", + s = a ? "left" : "top", + u = a ? "height" : "width", + l = a ? "width" : "height"; + return ( + (i[o] = t[o] + t[u] / 2 - r[u] / 2), + (i[s] = n === s ? t[s] - r[l] : t[$n(s)]), + i + ); + } + function Zn(e, t) { + return Array.prototype.find ? e.find(t) : e.filter(t)[0]; + } + function Jn(e, t, n) { + return ( + (void 0 === n + ? e + : e.slice( + 0, + (function(e, t, n) { + if (Array.prototype.findIndex) + return e.findIndex(function(e) { + return e[t] === n; + }); + var r = Zn(e, function(e) { + return e[t] === n; + }); + return e.indexOf(r); + })(e, "name", n) + ) + ).forEach(function(e) { + e.function && + console.warn( + "`modifier.function` is deprecated, use `modifier.fn`!" + ); + var n = e.function || e.fn; + e.enabled && + Tn(n) && + ((t.offsets.popper = Bn(t.offsets.popper)), + (t.offsets.reference = Bn(t.offsets.reference)), + (t = n(t, e))); + }), + t + ); + } + function er(e, t) { + return e.some(function(e) { + var n = e.name; + return e.enabled && n === t; + }); + } + function tr(e) { + for ( + var t = [!1, "ms", "Webkit", "Moz", "O"], + n = e.charAt(0).toUpperCase() + e.slice(1), + r = 0; + r < t.length; + r++ + ) { + var i = t[r], + a = i ? "" + i + n : e; + if ("undefined" !== typeof document.body.style[a]) return a; + } + return null; + } + function nr(e) { + var t = e.ownerDocument; + return t ? t.defaultView : window; + } + function rr(e, t, n, r) { + (n.updateBound = r), + nr(e).addEventListener("resize", n.updateBound, { passive: !0 }); + var i = On(e); + return ( + (function e(t, n, r, i) { + var a = "BODY" === t.nodeName, + o = a ? t.ownerDocument.defaultView : t; + o.addEventListener(n, r, { passive: !0 }), + a || e(On(o.parentNode), n, r, i), + i.push(o); + })(i, "scroll", n.updateBound, n.scrollParents), + (n.scrollElement = i), + (n.eventsEnabled = !0), + n + ); + } + function ir() { + var e, t; + this.state.eventsEnabled && + (cancelAnimationFrame(this.scheduleUpdate), + (this.state = ((e = this.reference), + (t = this.state), + nr(e).removeEventListener("resize", t.updateBound), + t.scrollParents.forEach(function(e) { + e.removeEventListener("scroll", t.updateBound); + }), + (t.updateBound = null), + (t.scrollParents = []), + (t.scrollElement = null), + (t.eventsEnabled = !1), + t))); + } + function ar(e) { + return "" !== e && !isNaN(parseFloat(e)) && isFinite(e); + } + function or(e, t) { + Object.keys(t).forEach(function(n) { + var r = ""; + -1 !== + ["width", "height", "top", "right", "bottom", "left"].indexOf( + n + ) && + ar(t[n]) && + (r = "px"), + (e.style[n] = t[n] + r); + }); + } + function sr(e, t, n) { + var r = Zn(e, function(e) { + return e.name === t; + }), + i = + !!r && + e.some(function(e) { + return e.name === n && e.enabled && e.order < r.order; + }); + if (!i) { + var a = "`" + t + "`", + o = "`" + n + "`"; + console.warn( + o + + " modifier is required by " + + a + + " modifier in order to work, be sure to include it before " + + a + + "!" + ); + } + return i; + } + var ur = [ + "auto-start", + "auto", + "auto-end", + "top-start", + "top", + "top-end", + "right-start", + "right", + "right-end", + "bottom-end", + "bottom", + "bottom-start", + "left-end", + "left", + "left-start" + ], + lr = ur.slice(3); + function cr(e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = lr.indexOf(e), + r = lr.slice(n + 1).concat(lr.slice(0, n)); + return t ? r.reverse() : r; + } + var dr = { + FLIP: "flip", + CLOCKWISE: "clockwise", + COUNTERCLOCKWISE: "counterclockwise" + }; + function fr(e, t, n, r) { + var i = [0, 0], + a = -1 !== ["right", "left"].indexOf(r), + o = e.split(/(\+|\-)/).map(function(e) { + return e.trim(); + }), + s = o.indexOf( + Zn(o, function(e) { + return -1 !== e.search(/,|\s/); + }) + ); + o[s] && + -1 === o[s].indexOf(",") && + console.warn( + "Offsets separated by white space(s) are deprecated, use a comma (,) instead." + ); + var u = /\s*,\s*|\s+/, + l = + -1 !== s + ? [ + o.slice(0, s).concat([o[s].split(u)[0]]), + [o[s].split(u)[1]].concat(o.slice(s + 1)) + ] + : [o]; + return ( + (l = l.map(function(e, r) { + var i = (1 === r ? !a : a) ? "height" : "width", + o = !1; + return e + .reduce(function(e, t) { + return "" === e[e.length - 1] && -1 !== ["+", "-"].indexOf(t) + ? ((e[e.length - 1] = t), (o = !0), e) + : o + ? ((e[e.length - 1] += t), (o = !1), e) + : e.concat(t); + }, []) + .map(function(e) { + return (function(e, t, n, r) { + var i = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/), + a = +i[1], + o = i[2]; + if (!a) return e; + if (0 === o.indexOf("%")) { + var s = void 0; + switch (o) { + case "%p": + s = n; + break; + case "%": + case "%r": + default: + s = r; + } + return (Bn(s)[t] / 100) * a; + } + if ("vh" === o || "vw" === o) + return ( + (("vh" === o + ? Math.max( + document.documentElement.clientHeight, + window.innerHeight || 0 + ) + : Math.max( + document.documentElement.clientWidth, + window.innerWidth || 0 + )) / + 100) * + a + ); + return a; + })(e, i, t, n); + }); + })).forEach(function(e, t) { + e.forEach(function(n, r) { + ar(n) && (i[t] += n * ("-" === e[r - 1] ? -1 : 1)); + }); + }), + i + ); + } + var hr = { + placement: "bottom", + positionFixed: !1, + eventsEnabled: !0, + removeOnDestroy: !1, + onCreate: function() {}, + onUpdate: function() {}, + modifiers: { + shift: { + order: 100, + enabled: !0, + fn: function(e) { + var t = e.placement, + n = t.split("-")[0], + r = t.split("-")[1]; + if (r) { + var i = e.offsets, + a = i.reference, + o = i.popper, + s = -1 !== ["bottom", "top"].indexOf(n), + u = s ? "left" : "top", + l = s ? "width" : "height", + c = { + start: Gn({}, u, a[u]), + end: Gn({}, u, a[u] + a[l] - o[l]) + }; + e.offsets.popper = zn({}, o, c[r]); + } + return e; + } + }, + offset: { + order: 200, + enabled: !0, + fn: function(e, t) { + var n = t.offset, + r = e.placement, + i = e.offsets, + a = i.popper, + o = i.reference, + s = r.split("-")[0], + u = void 0; + return ( + (u = ar(+n) ? [+n, 0] : fr(n, a, o, s)), + "left" === s + ? ((a.top += u[0]), (a.left -= u[1])) + : "right" === s + ? ((a.top += u[0]), (a.left += u[1])) + : "top" === s + ? ((a.left += u[0]), (a.top -= u[1])) + : "bottom" === s && + ((a.left += u[0]), (a.top += u[1])), + (e.popper = a), + e + ); + }, + offset: 0 + }, + preventOverflow: { + order: 300, + enabled: !0, + fn: function(e, t) { + var n = t.boundariesElement || Nn(e.instance.popper); + e.instance.reference === n && (n = Nn(n)); + var r = tr("transform"), + i = e.instance.popper.style, + a = i.top, + o = i.left, + s = i[r]; + (i.top = ""), (i.left = ""), (i[r] = ""); + var u = Yn( + e.instance.popper, + e.instance.reference, + t.padding, + n, + e.positionFixed + ); + (i.top = a), (i.left = o), (i[r] = s), (t.boundaries = u); + var l = t.priority, + c = e.offsets.popper, + d = { + primary: function(e) { + var n = c[e]; + return ( + c[e] < u[e] && + !t.escapeWithReference && + (n = Math.max(c[e], u[e])), + Gn({}, e, n) + ); + }, + secondary: function(e) { + var n = "right" === e ? "left" : "top", + r = c[n]; + return ( + c[e] > u[e] && + !t.escapeWithReference && + (r = Math.min( + c[n], + u[e] - ("right" === e ? c.width : c.height) + )), + Gn({}, n, r) + ); + } + }; + return ( + l.forEach(function(e) { + var t = + -1 !== ["left", "top"].indexOf(e) + ? "primary" + : "secondary"; + c = zn({}, c, d[t](e)); + }), + (e.offsets.popper = c), + e + ); + }, + priority: ["left", "right", "top", "bottom"], + padding: 5, + boundariesElement: "scrollParent" + }, + keepTogether: { + order: 400, + enabled: !0, + fn: function(e) { + var t = e.offsets, + n = t.popper, + r = t.reference, + i = e.placement.split("-")[0], + a = Math.floor, + o = -1 !== ["top", "bottom"].indexOf(i), + s = o ? "right" : "bottom", + u = o ? "left" : "top", + l = o ? "width" : "height"; + return ( + n[s] < a(r[u]) && (e.offsets.popper[u] = a(r[u]) - n[l]), + n[u] > a(r[s]) && (e.offsets.popper[u] = a(r[s])), + e + ); + } + }, + arrow: { + order: 500, + enabled: !0, + fn: function(e, t) { + var n; + if (!sr(e.instance.modifiers, "arrow", "keepTogether")) + return e; + var r = t.element; + if ("string" === typeof r) { + if (!(r = e.instance.popper.querySelector(r))) return e; + } else if (!e.instance.popper.contains(r)) + return ( + console.warn( + "WARNING: `arrow.element` must be child of its popper element!" + ), + e + ); + var i = e.placement.split("-")[0], + a = e.offsets, + o = a.popper, + s = a.reference, + u = -1 !== ["left", "right"].indexOf(i), + l = u ? "height" : "width", + c = u ? "Top" : "Left", + d = c.toLowerCase(), + f = u ? "left" : "top", + h = u ? "bottom" : "right", + p = Qn(r)[l]; + s[h] - p < o[d] && (e.offsets.popper[d] -= o[d] - (s[h] - p)), + s[d] + p > o[h] && (e.offsets.popper[d] += s[d] + p - o[h]), + (e.offsets.popper = Bn(e.offsets.popper)); + var g = s[d] + s[l] / 2 - p / 2, + m = En(e.instance.popper), + v = parseFloat(m["margin" + c], 10), + y = parseFloat(m["border" + c + "Width"], 10), + x = g - e.offsets.popper[d] - v - y; + return ( + (x = Math.max(Math.min(o[l] - p, x), 0)), + (e.arrowElement = r), + (e.offsets.arrow = (Gn((n = {}), d, Math.round(x)), + Gn(n, f, ""), + n)), + e + ); + }, + element: "[x-arrow]" + }, + flip: { + order: 600, + enabled: !0, + fn: function(e, t) { + if (er(e.instance.modifiers, "inner")) return e; + if (e.flipped && e.placement === e.originalPlacement) + return e; + var n = Yn( + e.instance.popper, + e.instance.reference, + t.padding, + t.boundariesElement, + e.positionFixed + ), + r = e.placement.split("-")[0], + i = $n(r), + a = e.placement.split("-")[1] || "", + o = []; + switch (t.behavior) { + case dr.FLIP: + o = [r, i]; + break; + case dr.CLOCKWISE: + o = cr(r); + break; + case dr.COUNTERCLOCKWISE: + o = cr(r, !0); + break; + default: + o = t.behavior; + } + return ( + o.forEach(function(s, u) { + if (r !== s || o.length === u + 1) return e; + (r = e.placement.split("-")[0]), (i = $n(r)); + var l = e.offsets.popper, + c = e.offsets.reference, + d = Math.floor, + f = + ("left" === r && d(l.right) > d(c.left)) || + ("right" === r && d(l.left) < d(c.right)) || + ("top" === r && d(l.bottom) > d(c.top)) || + ("bottom" === r && d(l.top) < d(c.bottom)), + h = d(l.left) < d(n.left), + p = d(l.right) > d(n.right), + g = d(l.top) < d(n.top), + m = d(l.bottom) > d(n.bottom), + v = + ("left" === r && h) || + ("right" === r && p) || + ("top" === r && g) || + ("bottom" === r && m), + y = -1 !== ["top", "bottom"].indexOf(r), + x = + !!t.flipVariations && + ((y && "start" === a && h) || + (y && "end" === a && p) || + (!y && "start" === a && g) || + (!y && "end" === a && m)); + (f || v || x) && + ((e.flipped = !0), + (f || v) && (r = o[u + 1]), + x && + (a = (function(e) { + return "end" === e + ? "start" + : "start" === e + ? "end" + : e; + })(a)), + (e.placement = r + (a ? "-" + a : "")), + (e.offsets.popper = zn( + {}, + e.offsets.popper, + Kn( + e.instance.popper, + e.offsets.reference, + e.placement + ) + )), + (e = Jn(e.instance.modifiers, e, "flip"))); + }), + e + ); + }, + behavior: "flip", + padding: 5, + boundariesElement: "viewport" + }, + inner: { + order: 700, + enabled: !1, + fn: function(e) { + var t = e.placement, + n = t.split("-")[0], + r = e.offsets, + i = r.popper, + a = r.reference, + o = -1 !== ["left", "right"].indexOf(n), + s = -1 === ["top", "left"].indexOf(n); + return ( + (i[o ? "left" : "top"] = + a[n] - (s ? i[o ? "width" : "height"] : 0)), + (e.placement = $n(t)), + (e.offsets.popper = Bn(i)), + e + ); + } + }, + hide: { + order: 800, + enabled: !0, + fn: function(e) { + if (!sr(e.instance.modifiers, "hide", "preventOverflow")) + return e; + var t = e.offsets.reference, + n = Zn(e.instance.modifiers, function(e) { + return "preventOverflow" === e.name; + }).boundaries; + if ( + t.bottom < n.top || + t.left > n.right || + t.top > n.bottom || + t.right < n.left + ) { + if (!0 === e.hide) return e; + (e.hide = !0), (e.attributes["x-out-of-boundaries"] = ""); + } else { + if (!1 === e.hide) return e; + (e.hide = !1), (e.attributes["x-out-of-boundaries"] = !1); + } + return e; + } + }, + computeStyle: { + order: 850, + enabled: !0, + fn: function(e, t) { + var n = t.x, + r = t.y, + i = e.offsets.popper, + a = Zn(e.instance.modifiers, function(e) { + return "applyStyle" === e.name; + }).gpuAcceleration; + void 0 !== a && + console.warn( + "WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!" + ); + var o = void 0 !== a ? a : t.gpuAcceleration, + s = Hn(Nn(e.instance.popper)), + u = { position: i.position }, + l = { + left: Math.floor(i.left), + top: Math.round(i.top), + bottom: Math.round(i.bottom), + right: Math.floor(i.right) + }, + c = "bottom" === n ? "top" : "bottom", + d = "right" === r ? "left" : "right", + f = tr("transform"), + h = void 0, + p = void 0; + if ( + ((p = "bottom" === c ? -s.height + l.bottom : l.top), + (h = "right" === d ? -s.width + l.right : l.left), + o && f) + ) + (u[f] = "translate3d(" + h + "px, " + p + "px, 0)"), + (u[c] = 0), + (u[d] = 0), + (u.willChange = "transform"); + else { + var g = "bottom" === c ? -1 : 1, + m = "right" === d ? -1 : 1; + (u[c] = p * g), + (u[d] = h * m), + (u.willChange = c + ", " + d); + } + var v = { "x-placement": e.placement }; + return ( + (e.attributes = zn({}, v, e.attributes)), + (e.styles = zn({}, u, e.styles)), + (e.arrowStyles = zn({}, e.offsets.arrow, e.arrowStyles)), + e + ); + }, + gpuAcceleration: !0, + x: "bottom", + y: "right" + }, + applyStyle: { + order: 900, + enabled: !0, + fn: function(e) { + var t, n; + return ( + or(e.instance.popper, e.styles), + (t = e.instance.popper), + (n = e.attributes), + Object.keys(n).forEach(function(e) { + !1 !== n[e] + ? t.setAttribute(e, n[e]) + : t.removeAttribute(e); + }), + e.arrowElement && + Object.keys(e.arrowStyles).length && + or(e.arrowElement, e.arrowStyles), + e + ); + }, + onLoad: function(e, t, n, r, i) { + var a = qn(i, t, e, n.positionFixed), + o = Wn( + n.placement, + a, + t, + e, + n.modifiers.flip.boundariesElement, + n.modifiers.flip.padding + ); + return ( + t.setAttribute("x-placement", o), + or(t, { position: n.positionFixed ? "fixed" : "absolute" }), + n + ); + }, + gpuAcceleration: void 0 + } + } + }, + pr = (function() { + function e(t, n) { + var r = this, + i = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : {}; + Fn(this, e), + (this.scheduleUpdate = function() { + return requestAnimationFrame(r.update); + }), + (this.update = Sn(this.update.bind(this))), + (this.options = zn({}, e.Defaults, i)), + (this.state = { + isDestroyed: !1, + isCreated: !1, + scrollParents: [] + }), + (this.reference = t && t.jquery ? t[0] : t), + (this.popper = n && n.jquery ? n[0] : n), + (this.options.modifiers = {}), + Object.keys(zn({}, e.Defaults.modifiers, i.modifiers)).forEach( + function(t) { + r.options.modifiers[t] = zn( + {}, + e.Defaults.modifiers[t] || {}, + i.modifiers ? i.modifiers[t] : {} + ); + } + ), + (this.modifiers = Object.keys(this.options.modifiers) + .map(function(e) { + return zn({ name: e }, r.options.modifiers[e]); + }) + .sort(function(e, t) { + return e.order - t.order; + })), + this.modifiers.forEach(function(e) { + e.enabled && + Tn(e.onLoad) && + e.onLoad(r.reference, r.popper, r.options, e, r.state); + }), + this.update(); + var a = this.options.eventsEnabled; + a && this.enableEventListeners(), (this.state.eventsEnabled = a); + } + return ( + Dn(e, [ + { + key: "update", + value: function() { + return function() { + if (!this.state.isDestroyed) { + var e = { + instance: this, + styles: {}, + arrowStyles: {}, + attributes: {}, + flipped: !1, + offsets: {} + }; + (e.offsets.reference = qn( + this.state, + this.popper, + this.reference, + this.options.positionFixed + )), + (e.placement = Wn( + this.options.placement, + e.offsets.reference, + this.popper, + this.reference, + this.options.modifiers.flip.boundariesElement, + this.options.modifiers.flip.padding + )), + (e.originalPlacement = e.placement), + (e.positionFixed = this.options.positionFixed), + (e.offsets.popper = Kn( + this.popper, + e.offsets.reference, + e.placement + )), + (e.offsets.popper.position = this.options + .positionFixed + ? "fixed" + : "absolute"), + (e = Jn(this.modifiers, e)), + this.state.isCreated + ? this.options.onUpdate(e) + : ((this.state.isCreated = !0), + this.options.onCreate(e)); + } + }.call(this); + } + }, + { + key: "destroy", + value: function() { + return function() { + return ( + (this.state.isDestroyed = !0), + er(this.modifiers, "applyStyle") && + (this.popper.removeAttribute("x-placement"), + (this.popper.style.position = ""), + (this.popper.style.top = ""), + (this.popper.style.left = ""), + (this.popper.style.right = ""), + (this.popper.style.bottom = ""), + (this.popper.style.willChange = ""), + (this.popper.style[tr("transform")] = "")), + this.disableEventListeners(), + this.options.removeOnDestroy && + this.popper.parentNode.removeChild(this.popper), + this + ); + }.call(this); + } + }, + { + key: "enableEventListeners", + value: function() { + return function() { + this.state.eventsEnabled || + (this.state = rr( + this.reference, + this.options, + this.state, + this.scheduleUpdate + )); + }.call(this); + } + }, + { + key: "disableEventListeners", + value: function() { + return ir.call(this); + } + } + ]), + e + ); + })(); + function gr(e) { + return function() { + return e; + }; + } + (pr.Utils = ("undefined" !== typeof window ? window : e).PopperUtils), + (pr.placements = ur), + (pr.Defaults = hr); + var mr = function() {}; + (mr.thatReturns = gr), + (mr.thatReturnsFalse = gr(!1)), + (mr.thatReturnsTrue = gr(!0)), + (mr.thatReturnsNull = gr(null)), + (mr.thatReturnsThis = function() { + return this; + }), + (mr.thatReturnsArgument = function(e) { + return e; + }); + var vr = mr, + yr = function(e) {}; + var xr = function(e, t, n, r, i, a, o, s) { + if ((yr(t), !e)) { + var u; + if (void 0 === t) + u = new Error( + "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings." + ); + else { + var l = [n, r, i, a, o, s], + c = 0; + (u = new Error( + t.replace(/%s/g, function() { + return l[c++]; + }) + )).name = "Invariant Violation"; + } + throw ((u.framesToPop = 1), u); + } + }, + br = vr, + _r = Object.getOwnPropertySymbols, + wr = Object.prototype.hasOwnProperty, + Sr = Object.prototype.propertyIsEnumerable; + (function() { + try { + if (!Object.assign) return !1; + var e = new String("abc"); + if (((e[5] = "de"), "5" === Object.getOwnPropertyNames(e)[0])) + return !1; + for (var t = {}, n = 0; n < 10; n++) + t["_" + String.fromCharCode(n)] = n; + if ( + "0123456789" !== + Object.getOwnPropertyNames(t) + .map(function(e) { + return t[e]; + }) + .join("") + ) + return !1; + var r = {}; + return ( + "abcdefghijklmnopqrst".split("").forEach(function(e) { + r[e] = e; + }), + "abcdefghijklmnopqrst" === + Object.keys(Object.assign({}, r)).join("") + ); + } catch (i) { + return !1; + } + })() && Object.assign; + var Tr = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; + var Er = c(function(e) { + e.exports = (function() { + function e(e, t, n, r, i, a) { + a !== Tr && + xr( + !1, + "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" + ); + } + function t() { + return e; + } + e.isRequired = e; + var n = { + array: e, + bool: e, + func: e, + number: e, + object: e, + string: e, + symbol: e, + any: e, + arrayOf: t, + element: e, + instanceOf: t, + node: e, + objectOf: t, + oneOf: t, + oneOfType: t, + shape: t, + exact: t + }; + return (n.checkPropTypes = vr), (n.PropTypes = n), n; + })(); + }), + Cr = "__global_unique_id__", + Or = function() { + return (u[Cr] = (u[Cr] || 0) + 1); + }, + Pr = c(function(e, t) { + t.__esModule = !0; + a(i.a); + var n = a(Er), + r = a(Or); + a(br); + function a(e) { + return e && e.__esModule ? e : { default: e }; + } + function o(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function s(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || ("object" !== typeof t && "function" !== typeof t) + ? e + : t; + } + function u(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + } + var l = 1073741823; + (t.default = function(e, t) { + var a, + c, + d = "__create-react-context-" + (0, r.default)() + "__", + f = (function(e) { + function n() { + var t, r; + o(this, n); + for ( + var i = arguments.length, a = Array(i), u = 0; + u < i; + u++ + ) + a[u] = arguments[u]; + return ( + (t = r = s(this, e.call.apply(e, [this].concat(a)))), + (r.emitter = (function(e) { + var t = []; + return { + on: function(e) { + t.push(e); + }, + off: function(e) { + t = t.filter(function(t) { + return t !== e; + }); + }, + get: function() { + return e; + }, + set: function(n, r) { + (e = n), + t.forEach(function(t) { + return t(e, r); + }); + } + }; + })(r.props.value)), + s(r, t) + ); + } + return ( + u(n, e), + (n.prototype.getChildContext = function() { + var e; + return ((e = {})[d] = this.emitter), e; + }), + (n.prototype.componentWillReceiveProps = function(e) { + if (this.props.value !== e.value) { + var n = this.props.value, + r = e.value, + i = void 0; + ((a = n) === (o = r) + ? 0 !== a || 1 / a === 1 / o + : a !== a && o !== o) + ? (i = 0) + : ((i = "function" === typeof t ? t(n, r) : l), + 0 !== (i |= 0) && this.emitter.set(e.value, i)); + } + var a, o; + }), + (n.prototype.render = function() { + return this.props.children; + }), + n + ); + })(i.a.Component); + f.childContextTypes = (((a = {})[d] = + n.default.object.isRequired), + a); + var h = (function(t) { + function n() { + var e, r; + o(this, n); + for ( + var i = arguments.length, a = Array(i), u = 0; + u < i; + u++ + ) + a[u] = arguments[u]; + return ( + (e = r = s(this, t.call.apply(t, [this].concat(a)))), + (r.state = { value: r.getValue() }), + (r.onUpdate = function(e, t) { + 0 !== ((0 | r.observedBits) & t) && + r.setState({ value: r.getValue() }); + }), + s(r, e) + ); + } + return ( + u(n, t), + (n.prototype.componentWillReceiveProps = function(e) { + var t = e.observedBits; + this.observedBits = void 0 === t || null === t ? l : t; + }), + (n.prototype.componentDidMount = function() { + this.context[d] && this.context[d].on(this.onUpdate); + var e = this.props.observedBits; + this.observedBits = void 0 === e || null === e ? l : e; + }), + (n.prototype.componentWillUnmount = function() { + this.context[d] && this.context[d].off(this.onUpdate); + }), + (n.prototype.getValue = function() { + return this.context[d] ? this.context[d].get() : e; + }), + (n.prototype.render = function() { + return ((e = this.props.children), + Array.isArray(e) ? e[0] : e)(this.state.value); + var e; + }), + n + ); + })(i.a.Component); + return ( + (h.contextTypes = (((c = {})[d] = n.default.object), c)), + { Provider: f, Consumer: h } + ); + }), + (e.exports = t.default); + }); + l(Pr); + var Ar = l( + c(function(e, t) { + t.__esModule = !0; + var n = a(i.a), + r = a(Pr); + function a(e) { + return e && e.__esModule ? e : { default: e }; + } + (t.default = n.default.createContext || r.default), + (e.exports = t.default); + }) + )({ getReferenceRef: void 0, referenceNode: void 0 }), + kr = (function(e) { + function t() { + Fe(this, t); + var e = cn(this, (t.__proto__ || Ve(t)).call(this)); + return ( + (e.getReferenceRef = function(t) { + return e.setState(function(e) { + var n = e.context; + return { context: Me({}, n, { referenceNode: t }) }; + }); + }), + (e.state = { + context: { + getReferenceRef: e.getReferenceRef, + referenceNode: void 0 + } + }), + e + ); + } + return ( + yn(t, e), + Be(t, [ + { + key: "render", + value: function() { + return Object(r.createElement)( + Ar.Provider, + { value: this.state.context }, + this.props.children + ); + } + } + ]), + t + ); + })(r.Component), + Nr = function(e) { + return Array.isArray(e) ? e[0] : e; + }, + Mr = { + position: "absolute", + top: 0, + left: 0, + opacity: 0, + pointerEvents: "none" + }, + Lr = {}, + jr = (function(e) { + function t() { + var e, n, r; + Fe(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = cn( + this, + (e = t.__proto__ || Ve(t)).call.apply(e, [this].concat(a)) + )), + (r.state = { + popperNode: void 0, + arrowNode: void 0, + popperInstance: void 0, + data: void 0 + }), + (r.setPopperNode = function(e) { + return r.setState({ popperNode: e }); + }), + (r.setArrowNode = function(e) { + return r.setState({ arrowNode: e }); + }), + (r.updateStateModifier = { + enabled: !0, + order: 900, + fn: function(e) { + return r.setState({ data: e }), e; + } + }), + (r.getOptions = function() { + return { + placement: r.props.placement, + eventsEnabled: r.props.eventsEnabled, + positionFixed: r.props.positionFixed, + modifiers: Me({}, r.props.modifiers, { + arrow: { + enabled: !!r.state.arrowNode, + element: r.state.arrowNode + }, + applyStyle: { enabled: !1 }, + updateStateModifier: r.updateStateModifier + }) + }; + }), + (r.getPopperStyle = function() { + return r.state.popperNode && r.state.data + ? Me( + { position: r.state.data.offsets.popper.position }, + r.state.data.styles + ) + : Mr; + }), + (r.getPopperPlacement = function() { + return r.state.data ? r.state.data.placement : void 0; + }), + (r.getArrowStyle = function() { + return r.state.arrowNode && r.state.data + ? r.state.data.arrowStyles + : Lr; + }), + (r.getOutOfBoundariesState = function() { + return r.state.data ? r.state.data.hide : void 0; + }), + (r.initPopperInstance = function() { + var e = r.props.referenceElement, + t = r.state, + n = t.popperNode, + i = t.popperInstance; + if (e && n && !i) { + var a = new pr(e, n, r.getOptions()); + return r.setState({ popperInstance: a }), !0; + } + return !1; + }), + (r.destroyPopperInstance = function(e) { + r.state.popperInstance && r.state.popperInstance.destroy(), + r.setState({ popperInstance: void 0 }, e); + }), + (r.updatePopperInstance = function() { + r.state.popperInstance && + r.destroyPopperInstance(function() { + return r.initPopperInstance(); + }); + }), + (r.scheduleUpdate = function() { + r.state.popperInstance && + r.state.popperInstance.scheduleUpdate(); + }), + cn(r, n) + ); + } + return ( + yn(t, e), + Be(t, [ + { + key: "componentDidUpdate", + value: function(e, t) { + this.initPopperInstance() || + (this.props.placement === e.placement && + this.props.eventsEnabled === e.eventsEnabled && + this.state.arrowNode === t.arrowNode && + this.state.popperNode === t.popperNode && + this.props.referenceElement === e.referenceElement && + this.props.positionFixed === e.positionFixed) || + this.updatePopperInstance(); + } + }, + { + key: "componentWillUnmount", + value: function() { + this.state.popperInstance && + this.state.popperInstance.destroy(); + } + }, + { + key: "render", + value: function() { + return Nr(this.props.children)({ + ref: this.setPopperNode, + style: this.getPopperStyle(), + placement: this.getPopperPlacement(), + outOfBoundaries: this.getOutOfBoundariesState(), + scheduleUpdate: this.scheduleUpdate, + arrowProps: { + ref: this.setArrowNode, + style: this.getArrowStyle() + } + }); + } + } + ]), + t + ); + })(r.Component); + function Rr(e) { + return Object(r.createElement)(Ar.Consumer, null, function(t) { + var n = t.referenceNode; + return Object(r.createElement)(jr, Me({ referenceElement: n }, e)); + }); + } + jr.defaultProps = { + placement: "bottom", + eventsEnabled: !0, + referenceElement: void 0, + positionFixed: !1 + }; + var Ir = function() {}; + var Vr = Ir; + function Fr(e) { + var t = e.children; + return Object(r.createElement)(Ar.Consumer, null, function(e) { + var n = e.getReferenceRef; + return ( + Vr( + n, + "`Reference` should not be used outside of a `Manager` component." + ), + Nr(t)({ ref: n }) + ); + }); + } + var Dr = (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.state = { isOpen: !1 }), + (r._handleButtonOnClick = function(e) { + e.preventDefault(), + r.setState(function(e) { + return { isOpen: !e.isOpen }; + }); + }), + x(r, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this, + t = this.props, + n = t.children, + i = t.value, + a = t.dropdownProps, + o = y(t, ["children", "value", "dropdownProps"]), + s = a + ? Object.assign(a, { show: this.state.isOpen }) + : { show: this.state.isOpen }, + u = Object(r.createElement)(Kr.Menu, s, n); + return Object(r.createElement)( + kr, + null, + Object(r.createElement)(Fr, null, function(t) { + var n = t.ref, + a = Object.assign( + { + onClick: e._handleButtonOnClick, + rootRef: n, + isDropdownToggle: !0 + }, + o + ); + return Object(r.createElement)(Gr, a, i); + }), + u + ); + } + } + ]), + t + ); + })(r.Component); + Dr.displayName = "Button.Dropdown"; + var Gr = function(e) { + var t, + n = e.size, + i = void 0 === n ? "" : n, + a = e.outline, + o = e.link, + s = e.block, + u = e.className, + l = e.children, + c = e.disabled, + f = e.color, + h = void 0 === f ? "" : f, + p = e.square, + v = e.pill, + y = e.icon, + x = e.social, + b = void 0 === x ? "" : x, + _ = e.loading, + w = e.isDropdownToggle, + S = e.isOption, + T = e.rootRef, + E = e.to, + C = e.onClick, + O = e.onMouseEnter, + P = e.onMouseLeave, + A = e.onPointerEnter, + k = e.onPointerLeave, + N = { + className: d( + (g((t = { btn: !0 }), "btn-" + i, !!i), + g(t, "btn-block", s), + g(t, "btn-outline-" + h, a && !!h), + g(t, "btn-link", o), + g(t, "disabled", c), + g(t, "btn-" + h, !!h && !a), + g(t, "btn-" + b, !!b), + g(t, "btn-square", p), + g(t, "btn-pill", v), + g(t, "btn-icon", !l), + g(t, "btn-loading", _), + g(t, "dropdown-toggle", w), + g(t, "btn-option", S), + t), + u + ), + disabled: c, + onClick: C, + onMouseEnter: O, + onMouseLeave: P, + onPointerEnter: A, + onPointerLeave: k + }, + M = Object(r.createElement)( + r.Fragment, + null, + b + ? Object(r.createElement)(L, { + name: b, + prefix: "fa", + className: l ? "mr-2" : "" + }) + : y + ? Object(r.createElement)(L, { + name: y, + className: l ? "mr-2" : "" + }) + : null, + l + ); + if (e.RootComponent && "button" !== e.RootComponent) { + if ("input" === e.RootComponent) { + var j = e.type, + R = e.value; + return Object(r.createElement)( + "input", + m({}, N, { type: j, value: R, ref: T }) + ); + } + if ("a" === e.RootComponent) { + var I = e.href, + V = e.target; + return Object(r.createElement)( + "a", + m({}, N, { href: I, target: V, ref: T }), + M + ); + } + var F = e.RootComponent; + return Object(r.createElement)(F, m({}, N, { to: E }), M); + } + var D = e.type, + G = e.value; + return Object(r.createElement)( + "button", + m({}, N, { type: D, value: G, ref: T }), + M + ); + }; + function zr(e, t) { + void 0 === t && (t = {}); + var n = t.insertAt; + if (e && "undefined" !== typeof document) { + var r = document.head || document.getElementsByTagName("head")[0], + i = document.createElement("style"); + (i.type = "text/css"), + "top" === n && r.firstChild + ? r.insertBefore(i, r.firstChild) + : r.appendChild(i), + i.styleSheet + ? (i.styleSheet.cssText = e) + : i.appendChild(document.createTextNode(e)); + } + } + (Gr.List = j), (Gr.Dropdown = Dr), (Gr.displayName = "Button"); + function Br(e) { + var t = e.className, + n = e.children, + i = d("container", t); + return Object(r.createElement)("div", { className: i }, n); + } + function Hr(e) { + var t = e.className, + n = e.children, + i = d({ loader: !0 }, t); + return Object(r.createElement)("div", { className: i }, n); + } + function Ur(e) { + var t = e.className, + n = e.children, + i = d({ "dimmer-content": !0 }, t); + return Object(r.createElement)("div", { className: i }, n); + } + function Xr(e) { + var t = e.className, + n = e.children, + i = e.active, + a = e.loader, + o = d({ dimmer: !0, active: i }, t); + return Object(r.createElement)( + "div", + { className: o }, + Object(r.createElement)( + r.Fragment, + null, + a && Object(r.createElement)(Hr, null), + Object(r.createElement)(Ur, null, n) + ) + ); + } + function Yr(e) { + var t = e.className, + n = e.toggle, + i = void 0 === n || n, + a = e.value, + o = e.children, + s = e.type, + u = void 0 === s ? "link" : s, + l = e.icon, + c = e.color, + f = e.isNavLink, + h = e.isOption, + p = e.onClick, + g = (e.rootRef, d({ "dropdown-toggle": i, "nav-link": f }, t)), + m = Object(r.createElement)( + r.Fragment, + null, + l && + Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)(L, { name: l }), + " " + ), + a, + o + ); + return "link" === u + ? Object(r.createElement)(Fr, null, function(e) { + var t = e.ref; + return Object( + r.createElement + )("a", { className: g, onClick: p, ref: t }, m); + }) + : Object(r.createElement)(Fr, null, function(e) { + var t = e.ref; + return Object( + r.createElement + )(Gr, { className: g, color: c, isDropdownToggle: !0, isOption: h, onClick: p, rootRef: t }, m); + }); + } + function Wr(e) { + var t, + n = e.className, + i = e.children, + a = e.position, + o = void 0 === a ? "bottom" : a, + s = e.arrow, + u = e.arrowPosition, + l = void 0 === u ? "left" : u, + c = (e.style, e.rootRef, e.show), + f = void 0 !== c && c, + h = d( + (g((t = { "dropdown-menu": !0 }), "dropdown-menu-" + l, l), + g(t, "dropdown-menu-arrow", s), + g(t, "show", f), + t), + n + ); + return ( + f && + Object(r.createElement)( + Rr, + { placement: o, eventsEnabled: !0, positionFixed: !1 }, + function(e) { + var t = e.ref, + n = e.style, + a = e.placement; + return Object(r.createElement)( + "div", + { className: h, "data-placement": a, style: n, ref: t }, + i + ); + } + ) + ); + } + function qr(e) { + var t = e.className, + n = e.icon, + i = e.value, + a = e.children, + o = e.badge, + s = e.badgeType, + u = e.to, + l = e.RootComponent, + c = e.onClick, + f = d({ "dropdown-item": !0 }, t), + h = Object(r.createElement)( + r.Fragment, + null, + o && + Object(r.createElement)( + "span", + { className: "float-right" }, + Object(r.createElement)(w, { color: s }, o) + ), + n && + Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)(L, { + name: n, + className: "dropdown-icon" + }), + " " + ), + i, + a + ); + return l + ? Object(r.createElement)(l, { className: f, to: u, onClick: c }, h) + : Object(r.createElement)( + "a", + { className: f, href: u, onClick: c }, + h + ); + } + function Qr(e) { + return Object(r.createElement)( + "div", + { className: "dropdown-divider" }, + e.children + ); + } + zr( + '@charset "UTF-8";\n/**\nContainer customization\n */\n\n.container.center {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n' + ), + (Hr.displayName = "Loader"), + (Ur.displayName = "Dimmer.Content"), + (Xr.displayName = "Dimmer"), + (Xr.Content = Ur), + (Yr.displayName = "Dropdown.Trigger"), + (Wr.displayName = "Dropdown.Menu"), + (qr.displayName = "Dropdown.Item"), + (Qr.displayName = "Dropdown.ItemDivider"); + var $r = (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.componentDidMount = function() { + document.addEventListener( + "mousedown", + r.handleOutsideOnClick, + !1 + ); + }), + (r.componentWillUnmount = function() { + document.removeEventListener( + "mousedown", + r.handleOutsideOnClick, + !1 + ); + }), + (r.setElementRef = function(e) { + e && (r.elementRef = e); + }), + (r.isOutsideClick = function(e) { + return ( + r.elementRef && + e instanceof Node && + !r.elementRef.contains(e) + ); + }), + (r.handleOutsideOnClick = function(e) { + var t = e.target; + r.isOutsideClick(t) && r.props.onOutsideClick(); + }), + x(r, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + return (0, this.props.children)({ + setElementRef: this.setElementRef + }); + } + } + ]), + t + ); + })(r.PureComponent), + Kr = (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.state = { isOpen: !1 }), + (r._handleTriggerOnClick = function(e, t) { + e.preventDefault(), + r.setState(function(e) { + return { isOpen: !e.isOpen }; + }), + t && t.onClick && t.onClick(e); + }), + (r._handleItemClick = function(e, t) { + r.setState({ isOpen: !1 }), t && t(e); + }), + x(r, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e, + n = this, + i = this.props, + a = i.className, + o = i.children, + s = i.desktopOnly, + u = i.isOption, + l = i.flex, + c = void 0 !== l && l, + f = y(i, [ + "className", + "children", + "desktopOnly", + "isOption", + "flex" + ]), + h = d( + (g( + (e = { + dropdown: !0, + "d-none": s, + "d-md-flex": s || "md" === c + }), + "d-{flex}-flex", + ["xs", "sm", "lg", "xl"].includes(c) + ), + g(e, "d-flex", !0 === c), + g(e, "card-options-dropdown", u), + g(e, "show", this.state.isOpen), + e), + a + ), + p = (function() { + if (f.trigger) + return Object(r.cloneElement)(f.trigger, { + onClick: function(e) { + return n._handleTriggerOnClick(e, f.trigger); + } + }); + if (f.icon || f.triggerContent || f.toggle) { + var e = f.icon, + t = f.triggerContent, + i = f.isNavLink, + a = f.type, + o = f.triggerClassName, + s = f.color, + l = f.toggle; + return Object(r.createElement)( + Yr, + { + isNavLink: i, + icon: e, + type: a, + className: o, + isOption: u, + color: s, + toggle: l, + onClick: n._handleTriggerOnClick + }, + t + ); + } + return null; + })(), + m = (function() { + if (f.items) return f.items; + if (f.itemsObject) { + var e = f.itemsObject, + i = f.itemsRootComponent; + return e.map(function(e, a) { + return e.isDivider + ? Object(r.createElement)(t.ItemDivider, { + key: a + }) + : Object(r.createElement)(t.Item, { + icon: e.icon, + badge: e.badge, + badgeType: e.badgeType, + value: e.value, + key: a, + to: e.to, + RootComponent: e.RootComponent || i, + onClick: function(t) { + return n._handleItemClick(t, e.onClick); + } + }); + }); + } + return null; + })(), + v = (function() { + if (f.items || f.itemsObject) { + var e = f.position, + t = f.arrow, + i = f.arrowPosition, + a = f.dropdownMenuClassName; + return Object(r.createElement)( + Wr, + { + position: e, + arrow: t, + arrowPosition: i, + className: a, + show: n.state.isOpen + }, + m + ); + } + return null; + })(); + return Object(r.createElement)( + kr, + null, + Object(r.createElement)( + $r, + { + onOutsideClick: function() { + return n.setState({ isOpen: !1 }); + } + }, + function(e) { + var t = e.setElementRef; + return Object(r.createElement)( + "div", + { className: h, ref: t }, + p, + v || o + ); + } + ) + ); + } + } + ]), + t + ); + })(r.Component); + function Zr(e) { + var t = e.className, + n = e.aside, + i = e.children, + a = e.onClick, + o = e.onMouseEnter, + s = e.onMouseLeave, + u = e.onPointerEnter, + l = e.onPointerLeave, + c = d("form-label", t); + return Object(r.createElement)( + "label", + { + className: c, + onClick: a, + onMouseEnter: o, + onMouseLeave: s, + onPointerEnter: u, + onPointerLeave: l + }, + n && + Object(r.createElement)( + "span", + { className: "form-label-small" }, + n + ), + i + ); + } + function Jr(e) { + var t = e.className, + n = e.name, + i = e.icon, + a = e.position, + o = void 0 === a ? "prepend" : a, + s = e.valid, + u = e.tick, + l = e.invalid, + c = e.cross, + f = e.error, + h = e.placeholder, + p = e.value, + g = e.checked, + v = e.onChange, + y = e.onMouseEnter, + x = e.onMouseLeave, + b = e.onPointerEnter, + _ = e.onPointerLeave, + w = e.onFocus, + S = e.onBlur, + T = e.onKeyPress, + E = e.onKeyUp, + C = e.onKeyDown, + O = e.onCopy, + P = e.onCut, + A = e.onPaste, + k = e.disabled, + N = e.readOnly, + M = e.label, + j = e.type || "text", + R = d( + { + "form-control": "checkbox" !== j && "radio" !== j, + "custom-control-input": "checkbox" === j || "radio" === j, + "is-valid": s, + "state-valid": u, + "is-invalid": l || !!f, + "state-invalid": c || !!f + }, + t + ), + I = f || e.feedback, + V = { + name: n, + className: R, + type: j, + placeholder: h, + value: p, + disabled: k, + readOnly: N, + onChange: v, + onMouseEnter: y, + onMouseLeave: x, + onPointerEnter: b, + onPointerLeave: _, + onFocus: w, + onBlur: S, + onKeyPress: T, + onKeyUp: E, + onKeyDown: C, + onCopy: O, + onCut: P, + onPaste: A + }, + F = i + ? Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)( + "div", + { className: "input-icon" }, + "prepend" === o && + Object(r.createElement)( + "span", + { className: "input-icon-addon" }, + Object(r.createElement)(L, { name: i }) + ), + Object(r.createElement)("input", V), + "append" === o && + Object(r.createElement)( + "span", + { className: "input-icon-addon" }, + Object(r.createElement)(L, { name: i }) + ) + ), + I && + Object(r.createElement)( + "span", + { className: "invalid-feedback" }, + I + ) + ) + : Object(r.createElement)( + r.Fragment, + null, + "checkbox" === j || "radio" === j + ? Object(r.createElement)("input", m({}, V, { checked: g })) + : Object(r.createElement)("input", V), + I && + Object(r.createElement)( + "span", + { className: "invalid-feedback" }, + I + ) + ); + return M ? Object(r.createElement)(ei, { label: M }, F) : F; + } + function ei(e) { + var t = e.className, + n = e.children, + i = e.label, + a = e.isRequired, + o = e.inputProps, + s = d("form-group", t), + u = o && Object(r.createElement)(Jr, o); + return Object(r.createElement)( + "div", + { className: s }, + i + ? "string" === typeof i + ? Object(r.createElement)( + Zr, + null, + i, + a && + Object(r.createElement)( + "span", + { className: "form-required" }, + "*" + ) + ) + : i + : null, + u || n + ); + } + function ti(e) { + var t = e.className, + n = e.children, + i = e.onChange, + a = e.onBlur, + o = e.onFocus, + s = e.onClick, + u = e.onMouseEnter, + l = e.onMouseLeave, + c = e.onPointerEnter, + f = e.onPointerLeave, + h = d("form-control-plaintext", t); + return Object(r.createElement)( + "div", + { + className: h, + onChange: i, + onBlur: a, + onClick: s, + onFocus: o, + onMouseEnter: u, + onMouseLeave: l, + onPointerEnter: c, + onPointerLeave: f + }, + n + ); + } + function ni(e) { + var t = e.className, + n = e.name, + i = e.valid, + a = e.tick, + o = e.invalid, + s = e.cross, + u = e.error, + l = e.placeholder, + c = e.defaultValue, + f = e.value, + h = e.disabled, + p = e.rows, + g = e.children, + m = e.onChange, + v = e.onBlur, + y = e.onFocus, + x = e.onClick, + b = e.onMouseEnter, + _ = e.onMouseLeave, + w = e.onPointerEnter, + S = e.onPointerLeave, + T = e.label, + E = d( + "form-control", + { + "is-valid": i, + "state-valid": a, + "is-invalid": o || !!u, + "state-invalid": s || !!u + }, + t + ), + C = u || e.feedback, + O = Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)("textarea", { + className: E, + name: n, + placeholder: l, + defaultValue: c, + value: f || g, + disabled: h, + rows: p, + onChange: m, + onBlur: v, + onClick: x, + onFocus: y, + onMouseEnter: b, + onMouseLeave: _, + onPointerEnter: w, + onPointerLeave: S + }), + C && + Object(r.createElement)( + "span", + { className: "invalid-feedback" }, + C + ) + ); + return T ? Object(r.createElement)(ei, { label: T }, O) : O; + } + function ri(e) { + var t, + n = e.className, + i = e.children, + a = e.cards, + o = e.deck, + s = e.gutters, + u = void 0 === s ? "" : s, + l = e.alignItems, + c = void 0 === l ? "" : l, + f = d( + "row", + (g( + (t = { row: !0, "row-cards": a, "row-deck": o }), + "gutters-" + u, + u + ), + g(t, "align-items-" + c, c), + t), + n + ); + return Object(r.createElement)("div", { className: f }, i); + } + function ii(e) { + var t, + n = e.className, + i = e.children, + a = e.width, + o = void 0 === a ? 0 : a, + s = e.xs, + u = void 0 === s ? 0 : s, + l = e.sm, + c = void 0 === l ? 0 : l, + f = e.md, + h = void 0 === f ? 0 : f, + p = e.lg, + m = void 0 === p ? 0 : p, + v = e.xl, + y = void 0 === v ? 0 : v, + x = e.xsAuto, + b = e.smAuto, + _ = e.mdAuto, + w = e.lgAuto, + S = e.xlAuto, + T = e.auto, + E = e.offset, + C = void 0 === E ? 0 : E, + O = e.offsetXs, + P = void 0 === O ? 0 : O, + A = e.offsetSm, + k = void 0 === A ? 0 : A, + N = e.offsetMd, + M = void 0 === N ? 0 : N, + L = e.offsetLg, + j = void 0 === L ? 0 : L, + R = e.offsetXl, + I = void 0 === R ? 0 : R, + V = e.ignoreCol, + F = d( + (g((t = { col: !(void 0 !== V && V) }), "col-" + o, o), + g(t, "col-xs-" + u, u), + g(t, "col-xs-auto", x), + g(t, "col-sm-" + c, c), + g(t, "col-sm-auto", b), + g(t, "col-md-" + h, h), + g(t, "col-md-auto", _), + g(t, "col-lg-" + m, m), + g(t, "col-lg-auto", w), + g(t, "col-xl-" + y, y), + g(t, "col-xl-auto", S), + g(t, "col-auto", T), + g(t, "offset-" + C, C), + g(t, "offset-xs-" + P, P), + g(t, "offset-sm-" + k, k), + g(t, "offset-md-" + M, M), + g(t, "offset-lg-" + j, j), + g(t, "offset-xl-" + I, I), + t), + n + ); + return Object(r.createElement)("div", { className: F }, i); + } + function ai(e) { + return e.children; + } + function oi(e) { + var t = e.className, + n = e.children, + i = d("gutters-sm", t); + return Object(r.createElement)(ai.Row, { className: i }, n); + } + function si(e) { + e.className; + var t = e.col, + n = (t = void 0 === t ? {} : t).width, + i = void 0 === n ? 6 : n, + a = t.sm, + o = void 0 === a ? 4 : a, + s = t.md, + u = void 0 === s ? 0 : s, + l = t.lg, + c = void 0 === l ? 0 : l, + d = e.imageURL, + f = e.value, + h = e.onClick, + p = e.onMouseEnter, + g = e.onMouseLeave, + m = e.onPointerEnter, + v = e.onPointerLeave, + y = e.onFocus, + x = e.onBlur; + return Object(r.createElement)( + ai.Col, + { width: i, sm: o, md: u, lg: c }, + Object(r.createElement)( + "label", + { className: "imagecheck mb-4" }, + Object(r.createElement)("input", { + name: "imagecheck", + type: "checkbox", + value: f, + className: "imagecheck-input", + onClick: h, + onMouseEnter: p, + onMouseLeave: g, + onPointerEnter: m, + onPointerLeave: v, + onFocus: y, + onBlur: x + }), + Object(r.createElement)( + "figure", + { className: "imagecheck-figure" }, + Object(r.createElement)("img", { + src: d, + alt: "Select", + className: "imagecheck-image" + }) + ) + ) + ); + } + function ui(e) { + var t = e.className, + n = e.children, + i = d("gutters-xs", t); + return Object(r.createElement)(ai.Row, { className: i }, n); + } + function li(e) { + var t = e.className, + n = e.color, + i = e.onClick, + a = e.onMouseEnter, + o = e.onMouseLeave, + s = e.onPointerEnter, + u = e.onPointerLeave, + l = e.onFocus, + c = e.onBlur, + f = d(t); + return Object(r.createElement)( + ai.Col, + { auto: !0, className: f }, + Object(r.createElement)( + "label", + { className: "colorinput" }, + Object(r.createElement)("input", { + name: "color", + type: "checkbox", + value: n, + className: "colorinput-input", + onClick: i, + onMouseEnter: a, + onMouseLeave: o, + onPointerEnter: s, + onPointerLeave: u, + onFocus: l, + onBlur: c + }), + Object(r.createElement)("span", { + className: "colorinput-color bg-" + n + }) + ) + ); + } + function ci(e) { + var t = e.className, + n = e.children, + i = d("input-group-append", t); + return Object(r.createElement)("span", { className: i }, n); + } + function di(e) { + var t = e.className, + n = e.children, + i = d("input-group-prepend", t); + return Object(r.createElement)("span", { className: i }, n); + } + function fi(e) { + var t = e.className, + n = e.append, + i = e.prepend, + a = e.RootComponent, + o = e.inputProps, + s = d({ "input-group": !0 }, t), + u = a || "div", + l = o ? Object(r.createElement)(Ai.Input, o) : e.children; + return !0 === i + ? Object(r.createElement)(di, null, l) + : !0 === n + ? Object(r.createElement)(ci, null, l) + : Object(r.createElement)( + u, + { className: s }, + i && Object(r.createElement)(di, null, i), + l, + n && Object(r.createElement)(ci, null, n) + ); + } + function hi(e) { + var t = e.className, + n = e.children, + i = e.position, + a = void 0 === i ? "top" : i, + o = e.message, + s = d("form-help", t); + return Object(r.createElement)( + "span", + { + className: s, + dataContent: o, + dataToggle: "popover", + dataPlacement: a + }, + n || "?" + ); + } + function pi(e) { + var t = e.className, + n = e.children, + i = e.valid, + a = e.tick, + o = e.invalid, + s = e.cross, + u = e.error, + l = e.label, + c = e.disabled, + f = e.readOnly, + h = e.name, + p = e.value, + g = e.onChange, + m = e.onBlur, + v = e.onMouseEnter, + y = e.onMouseLeave, + x = e.onPointerEnter, + b = e.onPointerLeave, + _ = e.onClick, + w = d( + { + "form-control": !0, + "custom-select": !0, + "is-valid": i, + "state-valid": a, + "is-invalid": o || !!u, + "state-invalid": s || !!u + }, + t + ), + S = u || e.feedback, + T = Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)( + "select", + { + name: h, + value: p, + onChange: g, + onBlur: m, + onMouseEnter: v, + onMouseLeave: y, + onPointerEnter: x, + onPointerLeave: b, + onClick: _, + className: w, + disabled: c, + readOnly: f + }, + n + ), + S && + Object(r.createElement)( + "span", + { className: "invalid-feedback" }, + S + ) + ); + return l ? Object(r.createElement)(ei, { label: l }, T) : T; + } + function gi(e) { + var t = d("form-footer", e.className); + return Object(r.createElement)("div", { className: t }, e.children); + } + (Kr.Trigger = Yr), + (Kr.Menu = Wr), + (Kr.Item = qr), + (Kr.ItemDivider = Qr), + (Zr.displayName = "Form.Label"), + (Jr.displayName = "Form.Input"), + (ei.displayName = "Form.Group"), + (ti.displayName = "Form.StaticText"), + (ni.displayName = "Form.Textarea"), + (ri.displayName = "Grid.Row"), + (ii.displayName = "Grid.Col"), + (ai.Row = ri), + (ai.Col = ii), + (ai.displayName = "Grid"), + (oi.displayName = "Form.ImageCheck"), + (si.displayName = "Form.ImageCheckItem"), + (ui.displayName = "Form.ColorCheck"), + (li.displayName = "Form.ColorCheckItem"), + (ci.displayName = "Form.InputGroupAppend"), + (di.displayName = "Form.InputGroupPrepend"), + (fi.displayName = "Form.InputGroup"), + (hi.displayName = "Form.Help"), + (pi.displayName = "Form.Select"), + (gi.displayName = "Form.Footer"); + var mi = (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.state = { + internalValue: r.props.onChange ? 0 : r.props.defaultValue + }), + (r.handleOnChange = function(e) { + if (r.props.onChange) r.props.onChange(e); + else { + var t = Number(e.target.value); + r.setState({ internalValue: t }); + } + }), + x(r, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this.props, + t = e.className, + n = e.step, + i = void 0 === n ? 1 : n, + a = e.min, + o = void 0 === a ? 0 : a, + s = e.max, + u = void 0 === s ? 0 : s, + l = e.onClick, + c = e.onMouseEnter, + f = e.onMouseLeave, + h = e.onPointerEnter, + p = e.onPointerLeave, + g = e.onFocus, + m = e.onBlur, + v = d(t), + y = this.props.onChange + ? this.props.value + : this.state.internalValue; + return Object(r.createElement)( + ai.Row, + { className: v, alignItems: "center" }, + Object(r.createElement)( + ai.Col, + null, + Object(r.createElement)("input", { + type: "range", + className: "form-control custom-range", + step: i, + min: o, + max: u, + onChange: this.handleOnChange, + onClick: l, + onMouseEnter: c, + onMouseLeave: f, + onPointerEnter: h, + onPointerLeave: p, + value: y + }) + ), + Object(r.createElement)( + ai.Col, + { auto: !0 }, + Object(r.createElement)("input", { + type: "number", + className: "form-control w-8", + value: y, + onFocus: g, + onBlur: m, + readOnly: !0 + }) + ) + ); + } + } + ]), + t + ); + })(r.PureComponent); + function vi(e) { + var t = e.className, + n = e.children, + i = d("form-fieldset", t); + return Object(r.createElement)("fieldset", { className: i }, n); + } + function yi(e) { + var t = e.className, + n = e.label, + i = e.value, + a = e.name, + o = e.checked, + s = e.disabled, + u = e.readOnly, + l = e.onChange, + c = e.onMouseEnter, + f = e.onMouseLeave, + h = e.onPointerEnter, + p = e.onPointerLeave, + g = e.onBlur, + v = e.onFocus, + y = e.onClick, + x = e.isInline, + b = d( + "custom-control custom-radio", + { "custom-control-inline": x }, + t + ), + _ = { + onChange: l, + onMouseEnter: c, + onMouseLeave: f, + onPointerEnter: h, + onPointerLeave: p, + onBlur: g, + onFocus: v, + onClick: y + }, + w = Object(r.createElement)( + Ai.Input, + m({}, _, { + type: "radio", + name: a, + value: i, + checked: o, + className: b, + disabled: s, + readOnly: u, + onChange: l + }) + ); + return n + ? Object(r.createElement)( + "label", + { className: b }, + w, + Object(r.createElement)( + "span", + { className: "custom-control-label" }, + n + ) + ) + : w; + } + function xi(e) { + var t = e.className, + n = e.label, + i = e.value, + a = e.name, + o = e.checked, + s = e.disabled, + u = e.readOnly, + l = e.onChange, + c = e.onFocus, + f = e.onBlur, + h = e.isInline, + p = d( + "custom-control custom-checkbox", + { "custom-control-inline": h }, + t + ), + g = Object(r.createElement)(Ai.Input, { + type: "checkbox", + name: a, + value: i, + checked: o, + className: p, + disabled: s, + readOnly: u, + onChange: l, + onBlur: f, + onFocus: c + }); + return n + ? Object(r.createElement)( + "label", + { className: p }, + g, + Object(r.createElement)( + "span", + { className: "custom-control-label" }, + n + ) + ) + : g; + } + function bi(e) { + var t = e.className, + n = e.children, + i = e.pills, + a = e.canSelectMultiple, + o = e.onChange, + s = e.onFocus, + u = e.onBlur, + l = e.onClick, + c = e.onMouseEnter, + f = e.onMouseLeave, + h = e.onPointerEnter, + p = e.onPointerLeave, + g = d({ selectgroup: !0, "w-100": !0, "selectgroup-pills": i }, t); + return Object(r.createElement)( + "div", + { + className: g, + onChange: o, + onClick: l, + onFocus: s, + onBlur: u, + onMouseEnter: c, + onMouseLeave: f, + onPointerEnter: h, + onPointerLeave: p + }, + a + ? n.map(function(e) { + return Object(r.cloneElement)(e, { type: "checkbox" }); + }) + : n + ); + } + function _i(e) { + var t = e.className, + n = e.label, + i = e.name, + a = e.value, + o = e.checked, + s = e.icon, + u = e.type, + l = e.onChange, + c = e.onFocus, + f = e.onBlur, + h = e.onClick, + p = e.onMouseEnter, + g = e.onMouseLeave, + m = e.onPointerEnter, + v = e.onPointerLeave, + y = d({ "selectgroup-item": !0 }, t), + x = d("selectgroup-button", { "selectgroup-button-icon": s }), + b = s ? Object(r.createElement)(L, { name: s }) : n; + return Object(r.createElement)( + "label", + { className: y }, + "checkbox" === u + ? Object(r.createElement)("input", { + type: "checkbox", + name: i, + value: a, + className: "selectgroup-input", + checked: o, + onChange: l, + onClick: h, + onFocus: c, + onBlur: f, + onMouseEnter: p, + onMouseLeave: g, + onPointerEnter: m, + onPointerLeave: v + }) + : Object(r.createElement)("input", { + type: "radio", + name: i, + value: a, + className: "selectgroup-input", + checked: o, + onChange: l, + onClick: h, + onFocus: c, + onBlur: f, + onMouseEnter: p, + onMouseLeave: g, + onPointerEnter: m, + onPointerLeave: v + }), + Object(r.createElement)("span", { className: x }, b) + ); + } + (mi.displayName = "Form.Ratio"), + (vi.displayName = "Form.FieldSet"), + (yi.displayName = "Form.Radio"), + (xi.displayName = "Form.Checkbox"), + (bi.displayName = "Form.SelectGroup"), + (_i.displayName = "Form.SelectGroupItem"); + var wi = (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.state = { fileName: "" }), + (r._handleOnChange = function(e) { + console.log(e.target.files), + r.setState({ fileName: e.target.files[0].name }), + r.props.onChange && r.props.onChange(e); + }), + x(r, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this.props, + t = e.className, + n = e.value, + i = e.name, + a = e.label, + o = void 0 === a ? "Choose file" : a, + s = e.disabled, + u = e.readOnly, + l = e.onClick, + c = e.onMouseEnter, + f = e.onMouseLeave, + h = e.onPointerEnter, + p = e.onPointerLeave, + g = e.onFocus, + m = e.onBlur, + v = d("custom-file", t), + y = this.state.fileName || o; + return Object(r.createElement)( + "div", + { className: v }, + Object(r.createElement)("input", { + type: "file", + className: "custom-file-input", + name: i, + value: n, + disabled: s, + readOnly: u, + onChange: this._handleOnChange, + onClick: l, + onMouseEnter: c, + onMouseLeave: f, + onPointerEnter: h, + onPointerLeave: p, + onFocus: g, + onBlur: m + }), + Object(r.createElement)( + "label", + { + className: "custom-file-label", + style: { + whiteSpace: "nowrap", + display: "block", + overflow: "hidden" + } + }, + y + ) + ); + } + } + ]), + t + ); + })(r.Component); + function Si(e) { + var t = e.className, + n = e.children, + i = d("custom-switches-stacked", t); + return Object(r.createElement)("div", { className: i }, n); + } + function Ti(e) { + var t = e.className, + n = e.type, + i = void 0 === n ? "checkbox" : n, + a = e.name, + o = e.value, + s = e.label, + u = e.checked, + l = e.onChange, + c = e.onBlur, + f = e.onFocus, + h = e.onClick, + p = e.onMouseEnter, + g = e.onMouseLeave, + m = e.onPointerEnter, + v = e.onPointerLeave, + y = d("custom-switch", t); + return Object(r.createElement)( + "label", + { className: y }, + Object(r.createElement)("input", { + type: i, + name: a, + value: o, + className: "custom-switch-input", + checked: u, + onChange: l, + onBlur: c, + onClick: h, + onFocus: f, + onMouseEnter: p, + onMouseLeave: g, + onPointerEnter: m, + onPointerLeave: v + }), + Object(r.createElement)("span", { + className: "custom-switch-indicator" + }), + Object(r.createElement)( + "span", + { className: "custom-switch-description" }, + s + ) + ); + } + (wi.displayName = "Form.FileInput"), + (Si.displayName = "Form.ToggleStack"), + (Ti.displayName = "Form.Toggle"); + var Ei = c(function(e, t) { + var n; + e.exports = ((n = i.a), + (function(e) { + function t(r) { + if (n[r]) return n[r].exports; + var i = (n[r] = { exports: {}, id: r, loaded: !1 }); + return ( + e[r].call(i.exports, i, i.exports, t), + (i.loaded = !0), + i.exports + ); + } + var n = {}; + return (t.m = e), (t.c = n), (t.p = ""), t(0); + })([ + function(e, t, n) { + function r(e) { + return e && e.__esModule ? e : { default: e }; + } + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.conformToMask = void 0); + var i = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && + (e[r] = n[r]); + } + return e; + }, + a = (function() { + function e(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + return function(t, n, r) { + return n && e(t.prototype, n), r && e(t, r), t; + }; + })(), + o = n(2); + Object.defineProperty(t, "conformToMask", { + enumerable: !0, + get: function() { + return r(o).default; + } + }); + var s = n(11), + u = r(s), + l = n(9), + c = r(l), + d = n(5), + f = r(d), + h = (function(e) { + function t() { + var e; + !(function(e, t) { + if (!(e instanceof t)) + throw new TypeError( + "Cannot call a class as a function" + ); + })(this, t); + for ( + var n = arguments.length, r = Array(n), i = 0; + i < n; + i++ + ) + r[i] = arguments[i]; + var a = (function(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || + ("object" != typeof t && "function" != typeof t) + ? e + : t; + })( + this, + (e = + t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(r) + ) + ); + return ( + (a.onBlur = a.onBlur.bind(a)), + (a.onChange = a.onChange.bind(a)), + a + ); + } + return ( + (function(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + })(t, e), + a(t, [ + { + key: "initTextMask", + value: function() { + var e = this.props, + t = this.props.value; + (this.textMaskInputElement = (0, f.default)( + i({ inputElement: this.inputElement }, e) + )), + this.textMaskInputElement.update(t); + } + }, + { + key: "componentDidMount", + value: function() { + this.initTextMask(); + } + }, + { + key: "componentDidUpdate", + value: function() { + this.initTextMask(); + } + }, + { + key: "render", + value: function() { + var e = this, + t = this.props, + n = t.render, + r = (function(e, t) { + var n = {}; + for (var r in e) + t.indexOf(r) >= 0 || + (Object.prototype.hasOwnProperty.call( + e, + r + ) && + (n[r] = e[r])); + return n; + })(t, ["render"]); + return ( + delete r.mask, + delete r.guide, + delete r.pipe, + delete r.placeholderChar, + delete r.keepCharPositions, + delete r.value, + delete r.onBlur, + delete r.onChange, + delete r.showMask, + n(function(t) { + return (e.inputElement = t); + }, i( + { + onBlur: this.onBlur, + onChange: this.onChange, + defaultValue: this.props.value + }, + r + )) + ); + } + }, + { + key: "onChange", + value: function(e) { + this.textMaskInputElement.update(), + "function" == typeof this.props.onChange && + this.props.onChange(e); + } + }, + { + key: "onBlur", + value: function(e) { + "function" == typeof this.props.onBlur && + this.props.onBlur(e); + } + } + ]), + t + ); + })(u.default.Component); + (t.default = h), + (h.propTypes = { + mask: c.default.oneOfType([ + c.default.array, + c.default.func, + c.default.bool, + c.default.shape({ + mask: c.default.oneOfType([ + c.default.array, + c.default.func + ]), + pipe: c.default.func + }) + ]).isRequired, + guide: c.default.bool, + value: c.default.oneOfType([ + c.default.string, + c.default.number + ]), + pipe: c.default.func, + placeholderChar: c.default.string, + keepCharPositions: c.default.bool, + showMask: c.default.bool + }), + (h.defaultProps = { + render: function(e, t) { + return u.default.createElement("input", i({ ref: e }, t)); + } + }); + }, + function(e, t) { + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.placeholderChar = "_"), + (t.strFunction = "function"); + }, + function(e, t, n) { + Object.defineProperty(t, "__esModule", { value: !0 }); + var r = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function(e) { + return typeof e; + } + : function(e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + }; + t.default = function() { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : s, + t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : o, + n = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : {}; + if (!(0, i.isArray)(t)) { + if ( + ("undefined" == typeof t ? "undefined" : r(t)) !== + a.strFunction + ) + throw new Error( + "Text-mask:conformToMask; The mask property must be an array." + ); + (t = t(e, n)), + (t = (0, i.processCaretTraps)(t).maskWithoutCaretTraps); + } + var u = n.guide, + l = void 0 === u || u, + c = n.previousConformedValue, + d = void 0 === c ? s : c, + f = n.placeholderChar, + h = void 0 === f ? a.placeholderChar : f, + p = n.placeholder, + g = + void 0 === p ? (0, i.convertMaskToPlaceholder)(t, h) : p, + m = n.currentCaretPosition, + v = n.keepCharPositions, + y = !1 === l && void 0 !== d, + x = e.length, + b = d.length, + _ = g.length, + w = t.length, + S = x - b, + T = S > 0, + E = m + (T ? -S : 0), + C = E + Math.abs(S); + if (!0 === v && !T) { + for (var O = s, P = E; P < C; P++) g[P] === h && (O += h); + e = e.slice(0, E) + O + e.slice(E, x); + } + for ( + var A = e.split(s).map(function(e, t) { + return { char: e, isNew: t >= E && t < C }; + }), + k = x - 1; + k >= 0; + k-- + ) { + var N = A[k].char; + if (N !== h) { + var M = k >= E && b === w; + N === g[M ? k - S : k] && A.splice(k, 1); + } + } + var L = s, + j = !1; + e: for (var R = 0; R < _; R++) { + var I = g[R]; + if (I === h) { + if (A.length > 0) + for (; A.length > 0; ) { + var V = A.shift(), + F = V.char, + D = V.isNew; + if (F === h && !0 !== y) { + L += h; + continue e; + } + if (t[R].test(F)) { + if ( + !0 === v && + !1 !== D && + d !== s && + !1 !== l && + T + ) { + for ( + var G = A.length, z = null, B = 0; + B < G; + B++ + ) { + var H = A[B]; + if (H.char !== h && !1 === H.isNew) break; + if (H.char === h) { + z = B; + break; + } + } + null !== z ? ((L += F), A.splice(z, 1)) : R--; + } else L += F; + continue e; + } + j = !0; + } + !1 === y && (L += g.substr(R, _)); + break; + } + L += I; + } + if (y && !1 === T) { + for (var U = null, X = 0; X < L.length; X++) + g[X] === h && (U = X); + L = null !== U ? L.substr(0, U + 1) : s; + } + return { conformedValue: L, meta: { someCharsRejected: j } }; + }; + var i = n(3), + a = n(1), + o = [], + s = ""; + }, + function(e, t, n) { + function r(e) { + return ( + (Array.isArray && Array.isArray(e)) || e instanceof Array + ); + } + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.convertMaskToPlaceholder = function() { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : a, + t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : i.placeholderChar; + if (!r(e)) + throw new Error( + "Text-mask:convertMaskToPlaceholder; The mask property must be an array." + ); + if (-1 !== e.indexOf(t)) + throw new Error( + "Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\n\nThe placeholder character that was received is: " + + JSON.stringify(t) + + "\n\nThe mask that was received is: " + + JSON.stringify(e) + ); + return e + .map(function(e) { + return e instanceof RegExp ? t : e; + }) + .join(""); + }), + (t.isArray = r), + (t.isString = function(e) { + return "string" == typeof e || e instanceof String; + }), + (t.isNumber = function(e) { + return ( + "number" == typeof e && void 0 === e.length && !isNaN(e) + ); + }), + (t.processCaretTraps = function(e) { + for (var t = [], n = void 0; -1 !== (n = e.indexOf(o)); ) + t.push(n), e.splice(n, 1); + return { maskWithoutCaretTraps: e, indexes: t }; + }); + var i = n(1), + a = [], + o = "[]"; + }, + function(e, t) { + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.default = function(e) { + var t = e.previousConformedValue, + i = void 0 === t ? r : t, + a = e.previousPlaceholder, + o = void 0 === a ? r : a, + s = e.currentCaretPosition, + u = void 0 === s ? 0 : s, + l = e.conformedValue, + c = e.rawValue, + d = e.placeholderChar, + f = e.placeholder, + h = e.indexesOfPipedChars, + p = void 0 === h ? n : h, + g = e.caretTrapIndexes, + m = void 0 === g ? n : g; + if (0 === u || !c.length) return 0; + var v = c.length, + y = i.length, + x = f.length, + b = l.length, + _ = v - y, + w = _ > 0, + S = 0 === y; + if (_ > 1 && !w && !S) return u; + var T = 0, + E = void 0, + C = void 0; + if (!w || (i !== l && l !== f)) { + var O = l.toLowerCase(), + P = c.toLowerCase(), + A = P.substr(0, u).split(r), + k = A.filter(function(e) { + return -1 !== O.indexOf(e); + }); + C = k[k.length - 1]; + var N = o + .substr(0, k.length) + .split(r) + .filter(function(e) { + return e !== d; + }).length, + M = f + .substr(0, k.length) + .split(r) + .filter(function(e) { + return e !== d; + }).length, + L = M !== N, + j = + void 0 !== o[k.length - 1] && + void 0 !== f[k.length - 2] && + o[k.length - 1] !== d && + o[k.length - 1] !== f[k.length - 1] && + o[k.length - 1] === f[k.length - 2]; + !w && + (L || j) && + N > 0 && + f.indexOf(C) > -1 && + void 0 !== c[u] && + ((E = !0), (C = c[u])); + for ( + var R = p.map(function(e) { + return O[e]; + }), + I = R.filter(function(e) { + return e === C; + }).length, + V = k.filter(function(e) { + return e === C; + }).length, + F = f + .substr(0, f.indexOf(d)) + .split(r) + .filter(function(e, t) { + return e === C && c[t] !== e; + }).length, + D = F + V + I + (E ? 1 : 0), + G = 0, + z = 0; + z < b; + z++ + ) { + var B = O[z]; + if (((T = z + 1), B === C && G++, G >= D)) break; + } + } else T = u - _; + if (w) { + for (var H = T, U = T; U <= x; U++) + if ( + (f[U] === d && (H = U), + f[U] === d || -1 !== m.indexOf(U) || U === x) + ) + return H; + } else if (E) { + for (var X = T - 1; X >= 0; X--) + if (l[X] === C || -1 !== m.indexOf(X) || 0 === X) + return X; + } else + for (var Y = T; Y >= 0; Y--) + if (f[Y - 1] === d || -1 !== m.indexOf(Y) || 0 === Y) + return Y; + }); + var n = [], + r = ""; + }, + function(e, t, n) { + function r(e) { + return e && e.__esModule ? e : { default: e }; + } + function i(e, t) { + document.activeElement === e && + (m + ? v(function() { + return e.setSelectionRange(t, t, p); + }, 0) + : e.setSelectionRange(t, t, p)); + } + Object.defineProperty(t, "__esModule", { value: !0 }); + var a = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && + (e[r] = n[r]); + } + return e; + }, + o = + "function" == typeof Symbol && + "symbol" == typeof Symbol.iterator + ? function(e) { + return typeof e; + } + : function(e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + }; + t.default = function(e) { + var t = { + previousConformedValue: void 0, + previousPlaceholder: void 0 + }; + return { + state: t, + update: function(n) { + var r = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : e, + s = r.inputElement, + l = r.mask, + p = r.guide, + m = r.pipe, + v = r.placeholderChar, + y = void 0 === v ? f.placeholderChar : v, + x = r.keepCharPositions, + b = void 0 !== x && x, + _ = r.showMask, + w = void 0 !== _ && _; + if ( + ("undefined" == typeof n && (n = s.value), + n !== t.previousConformedValue) + ) { + ("undefined" == typeof l ? "undefined" : o(l)) === g && + void 0 !== l.pipe && + void 0 !== l.mask && + ((m = l.pipe), (l = l.mask)); + var S = void 0, + T = void 0; + if ( + (l instanceof Array && + (S = (0, d.convertMaskToPlaceholder)(l, y)), + !1 !== l) + ) { + var E = (function(e) { + if ((0, d.isString)(e)) return e; + if ((0, d.isNumber)(e)) return String(e); + if (void 0 === e || null === e) return h; + throw new Error( + "The 'value' provided to Text Mask needs to be a string or a number. The value received was:\n\n " + + JSON.stringify(e) + ); + })(n), + C = s.selectionEnd, + O = t.previousConformedValue, + P = t.previousPlaceholder, + A = void 0; + if ( + ("undefined" == typeof l ? "undefined" : o(l)) === + f.strFunction + ) { + if ( + !1 === + (T = l(E, { + currentCaretPosition: C, + previousConformedValue: O, + placeholderChar: y + })) + ) + return; + var k = (0, d.processCaretTraps)(T), + N = k.maskWithoutCaretTraps, + M = k.indexes; + (T = N), + (A = M), + (S = (0, d.convertMaskToPlaceholder)(T, y)); + } else T = l; + var L = { + previousConformedValue: O, + guide: p, + placeholderChar: y, + pipe: m, + placeholder: S, + currentCaretPosition: C, + keepCharPositions: b + }, + j = (0, c.default)(E, T, L), + R = j.conformedValue, + I = + ("undefined" == typeof m ? "undefined" : o(m)) === + f.strFunction, + V = {}; + I && + (!1 === (V = m(R, a({ rawValue: E }, L))) + ? (V = { value: O, rejected: !0 }) + : (0, d.isString)(V) && (V = { value: V })); + var F = I ? V.value : R, + D = (0, u.default)({ + previousConformedValue: O, + previousPlaceholder: P, + conformedValue: F, + placeholder: S, + rawValue: E, + currentCaretPosition: C, + placeholderChar: y, + indexesOfPipedChars: V.indexesOfPipedChars, + caretTrapIndexes: A + }), + G = F === S && 0 === D, + z = w ? S : h, + B = G ? z : F; + (t.previousConformedValue = B), + (t.previousPlaceholder = S), + s.value !== B && ((s.value = B), i(s, D)); + } + } + } + }; + }; + var s = n(4), + u = r(s), + l = n(2), + c = r(l), + d = n(3), + f = n(1), + h = "", + p = "none", + g = "object", + m = + "undefined" != typeof navigator && + /Android/i.test(navigator.userAgent), + v = + "undefined" != typeof requestAnimationFrame + ? requestAnimationFrame + : setTimeout; + }, + function(e, t) { + function n(e) { + return function() { + return e; + }; + } + var r = function() {}; + (r.thatReturns = n), + (r.thatReturnsFalse = n(!1)), + (r.thatReturnsTrue = n(!0)), + (r.thatReturnsNull = n(null)), + (r.thatReturnsThis = function() { + return this; + }), + (r.thatReturnsArgument = function(e) { + return e; + }), + (e.exports = r); + }, + function(e, t, n) { + e.exports = function(e, t, n, r, i, a, o, s) { + if (!e) { + var u; + if (void 0 === t) + u = new Error( + "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings." + ); + else { + var l = [n, r, i, a, o, s], + c = 0; + (u = new Error( + t.replace(/%s/g, function() { + return l[c++]; + }) + )).name = "Invariant Violation"; + } + throw ((u.framesToPop = 1), u); + } + }; + }, + function(e, t, n) { + var r = n(6), + i = n(7), + a = n(10); + e.exports = function() { + function e(e, t, n, r, o, s) { + s !== a && + i( + !1, + "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" + ); + } + function t() { + return e; + } + e.isRequired = e; + var n = { + array: e, + bool: e, + func: e, + number: e, + object: e, + string: e, + symbol: e, + any: e, + arrayOf: t, + element: e, + instanceOf: t, + node: e, + objectOf: t, + oneOf: t, + oneOfType: t, + shape: t, + exact: t + }; + return (n.checkPropTypes = r), (n.PropTypes = n), n; + }; + }, + function(e, t, n) { + e.exports = n(8)(); + }, + function(e, t) { + e.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; + }, + function(e, t) { + e.exports = n; + } + ])); + }), + Ci = l(Ei); + Ei.reactTextMask; + function Oi(e) { + var t = e.valid, + n = e.tick, + i = e.invalid, + a = e.cross, + o = e.feedback, + s = d( + { + "form-control": !0, + "is-valid": t, + "state-valid": n, + "is-invalid": i, + "state-invalid": a + }, + e.className + ); + return Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)(Ci, m({ className: s }, e)), + o && + (i || a) && + Object(r.createElement)( + "span", + { className: "invalid-feedback" }, + o + ) + ); + } + Oi.displayName = "Form.MaskedInput"; + var Pi = (function(e) { + function t() { + var e, n, i; + h(this, t); + for (var a = arguments.length, o = Array(a), s = 0; s < a; s++) + o[s] = arguments[s]; + return ( + (n = i = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(o) + ) + )), + (i.state = { currentDate: i.props.defaultDate }), + (i._handleOnChange = function(e, t) { + var n = i.state.currentDate, + r = i.props.onChange, + a = new Date(n); + "mm" === e && a.setMonth(t), + "dd" === e && a.setDate(t), + "yyyy" === e && a.setFullYear(t), + i.setState({ currentDate: a }, function() { + r && r(i.state.currentDate); + }); + }), + (i._range = function(e, t) { + return Array.from({ length: t + 1 - e }, function(t, n) { + return n + e; + }); + }), + (i._renderMonths = function() { + var e = i.state.currentDate, + t = i.props.monthLabels; + return Object(r.createElement)( + pi, + { + onChange: function(e) { + return i._handleOnChange("mm", Number(e.target.value)); + } + }, + t.map(function(t, n) { + return Object( + r.createElement + )("option", { value: n, selected: e.getUTCMonth() === n }, t); + }) + ); + }), + (i._renderDays = function() { + var e = i.state.currentDate, + t = new Date( + e.getUTCFullYear(), + e.getUTCMonth() + 1, + 0 + ).getDate(), + n = i._range(1, t), + a = e.getUTCDate(); + return Object(r.createElement)( + pi, + { + onChange: function(e) { + return i._handleOnChange("dd", Number(e.target.value)); + } + }, + n.map(function(e) { + return Object( + r.createElement + )("option", { value: e, selected: a === e }, e); + }) + ); + }), + (i._renderYears = function() { + var e = i.props, + t = e.minYear, + n = e.maxYear, + a = i.state.currentDate, + o = i._range(t, n).reverse(), + s = a.getUTCFullYear(); + return Object(r.createElement)( + pi, + { + onChange: function(e) { + return i._handleOnChange("yyyy", Number(e.target.value)); + } + }, + o.map(function(e) { + return Object( + r.createElement + )("option", { value: e, selected: s === e }, e); + }) + ); + }), + x(i, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this.props, + t = e.format, + n = e.className, + i = t.split("/"), + a = { + mm: this._renderMonths(), + dd: this._renderDays(), + yyyy: this._renderYears() + }; + return Object(r.createElement)( + "div", + { className: n }, + Object(r.createElement)( + fi, + null, + i.map(function(e) { + return a[e]; + }) + ) + ); + } + } + ]), + t + ); + })(r.PureComponent); + function Ai(e) { + var t = e.className, + n = e.children, + i = e.action, + a = e.method, + o = e.onSubmit, + s = d(t); + return Object(r.createElement)( + "form", + { className: s, onSubmit: o, action: i, method: a }, + n + ); + } + function ki(e) { + e.className; + var t = e.children, + n = e.avatarURL, + i = e.fullName, + a = e.dateString, + o = d("mr-3"), + s = d("d-block text-muted"), + u = null !== i || null !== a, + l = Object(r.createElement)(_, { + imageURL: n, + size: "md", + className: o + }), + c = Object(r.createElement)( + "div", + null, + Object(r.createElement)("div", null, i), + Object(r.createElement)("small", { className: s }, " ", a), + " " + ); + return Object(r.createElement)(r.Fragment, null, n && l, u && c, t); + } + function Ni(e) { + var t = e.children, + n = d("d-flex", "align-items-center", "px-2"); + return Object(r.createElement)("div", { className: n }, t); + } + function Mi(e) { + var t = e.children, + n = e.className, + i = d("ml-auto", "text-muted", n); + return Object(r.createElement)("div", { className: i }, t); + } + function Li(e) { + var t = e.className, + n = e.label, + i = e.name, + a = e.href, + o = e.right, + s = e.to, + u = e.RootComponent, + l = o + ? d("icon", "d-none d-md-inline-block ml-3", t) + : d("icon", t), + c = d("mr-1"), + f = Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)(L, { name: i, className: c }), + n + ), + h = {}; + return ( + a && (h.href = a), + u + ? Object(r.createElement)(u, { className: l, to: s }, f) + : Object(r.createElement)("a", m({ className: l }, h), f) + ); + } + function ji(e) { + var t = e.src, + n = e.alt, + i = e.href, + a = e.rounded, + o = void 0 === a || a, + s = e.className, + u = e.to, + l = e.RootComponent, + c = d("mb-3"), + f = d({ rounded: o }, s), + h = {}; + i && (h.href = i); + var p = Object(r.createElement)("img", { + src: t, + alt: n, + className: f + }); + return l + ? Object(r.createElement)(l, { className: c, to: u }, p) + : Object(r.createElement)("a", m({ className: c }, h), p); + } + function Ri(e) { + var t = e.children, + n = e.className, + i = d("p-3", n); + return Object(r.createElement)(M, { className: i }, t); + } + function Ii(e) { + var t = e.className, + n = e.children, + i = d("mt-0 mb-4", t); + return Object(r.createElement)( + Bi, + { RootComponent: "h1", className: i, size: 1 }, + n + ); + } + function Vi(e) { + var t = e.className, + n = e.children, + i = d("mt-0 mb-4", t); + return Object(r.createElement)( + Bi, + { RootComponent: "h2", className: i, size: 2 }, + n + ); + } + function Fi(e) { + var t = e.className, + n = e.children, + i = d("mt-0 mb-4", t); + return Object(r.createElement)( + Bi, + { RootComponent: "h3", className: i, size: 3 }, + n + ); + } + function Di(e) { + var t = e.className, + n = e.children, + i = d("mt-0 mb-4", t); + return Object(r.createElement)( + Bi, + { RootComponent: "h4", className: i, size: 4 }, + n + ); + } + function Gi(e) { + var t = e.className, + n = e.children, + i = d("mt-0 mb-4", t); + return Object(r.createElement)( + Bi, + { RootComponent: "h5", className: i, size: 5 }, + n + ); + } + function zi(e) { + var t = e.className, + n = e.children, + i = d("mt-0 mb-4", t); + return Object(r.createElement)( + Bi, + { RootComponent: "h6", className: i, size: 6 }, + n + ); + } + function Bi(e) { + var t = e.RootComponent, + n = e.className, + i = e.children, + a = e.size, + o = d("h" + (void 0 === a ? 1 : a), n), + s = t || "div"; + return Object(r.createElement)(s, { className: o }, i); + } + function Hi(e) { + var t = e.className, + n = e.children, + i = e.inline, + a = d({ "list-inline-item": i }, t); + return Object(r.createElement)("li", { className: a }, n); + } + function Ui(e) { + var t = e.className, + n = e.children, + i = e.transparent, + a = d("list-group", "mb-0", { "list-group-transparent": i }, t); + return Object(r.createElement)("div", { className: a }, n); + } + function Xi(e) { + var t = e.className, + n = e.children, + i = e.RootComponent, + a = e.active, + o = e.action, + s = e.icon, + u = e.to, + l = d( + "list-group-item", + { "list-group-item-action": o }, + { active: a }, + t + ); + return i + ? Object(r.createElement)( + i, + { to: u, className: l }, + s && + Object(r.createElement)( + "span", + { className: "mr-3 icon" }, + Object(r.createElement)(L, { prefix: "fe", name: s }), + " " + ), + n + ) + : Object(r.createElement)( + "a", + { className: l, href: u }, + s && + Object(r.createElement)( + "span", + { className: "mr-3 icon" }, + Object(r.createElement)(L, { prefix: "fe", name: s }), + " " + ), + n + ); + } + function Yi(e) { + var t = e.className, + n = e.children, + i = e.unstyled, + a = e.seperated, + o = e.inline, + s = d( + { + list: !i, + "list-unstyled": i, + "list-seperated": a, + "list-inline": o + }, + t + ); + return Object(r.createElement)("ul", { className: s }, n); + } + function Wi(e) { + var t = e.className, + n = e.children, + i = d("media", t); + return Object(r.createElement)("div", { className: i }, n); + } + (Pi.defaultProps = { + monthLabels: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + minYear: 1897, + maxYear: new Date().getFullYear(), + format: "mm/dd/yyyy", + defaultDate: new Date() + }), + (Pi.displayName = "Form.DatePicker"), + (Ai.Group = ei), + (Ai.Label = Zr), + (Ai.Input = Jr), + (Ai.StaticText = ti), + (Ai.Textarea = ni), + (Ai.ImageCheck = oi), + (Ai.ImageCheckItem = si), + (Ai.ColorCheck = ui), + (Ai.ColorCheckItem = li), + (Ai.InputGroup = fi), + (Ai.Help = hi), + (Ai.Select = pi), + (Ai.Footer = gi), + (Ai.Ratio = mi), + (Ai.FieldSet = vi), + (Ai.SelectGroup = bi), + (Ai.SelectGroupItem = _i), + (Ai.Radio = yi), + (Ai.Checkbox = xi), + (Ai.FileInput = wi), + (Ai.SwitchStack = Si), + (Ai.Switch = Ti), + (Ai.InputGroupAppend = ci), + (Ai.InputGroupPrepend = di), + (Ai.MaskedInput = Oi), + (Ai.DatePicker = Pi), + (ki.displayName = "GalleryCard.Details"), + (Ni.displayName = "GalleryCard.Footer"), + (Mi.displayName = "GalleryCard.IconGroup"), + (Li.displayName = "GalleryCard.IconItem"), + (ji.displayName = "GalleryCard.Image"), + (Ri.Details = ki), + (Ri.Footer = Ni), + (Ri.IconGroup = Mi), + (Ri.IconItem = Li), + (Ri.Image = ji), + (Ii.displayName = "Header.H1"), + (Vi.displayName = "Header.H2"), + (Fi.displayName = "Header.H3"), + (Di.displayName = "Header.H4"), + (Gi.displayName = "Header.H5"), + (zi.displayName = "Header.H6"), + (Bi.H1 = Ii), + (Bi.H2 = Vi), + (Bi.H3 = Fi), + (Bi.H4 = Di), + (Bi.H5 = Gi), + (Bi.H6 = zi), + (Hi.displayName = "List.Item"), + (Ui.displayName = "List.Group"), + (Xi.displayName = "List.GroupItem"), + (Yi.Item = Hi), + (Yi.Group = Ui), + (Yi.GroupItem = Xi), + (Wi.Body = function(e) { + var t = e.className, + n = e.children, + i = d("media-body", t); + return Object(r.createElement)("div", { className: i }, n); + }), + (Wi.BodySocial = function(e) { + e.className; + var t = e.children, + n = e.name, + i = e.workTitle, + a = e.facebook, + o = void 0 === a ? "" : a, + s = e.twitter, + u = void 0 === s ? "" : s, + l = e.phone, + c = void 0 === l ? "" : l, + d = e.skype, + f = void 0 === d ? "" : d, + h = void 0, + p = void 0, + g = void 0, + m = void 0; + return ( + o && + (h = Object(r.createElement)( + Yi.Item, + { inline: !0 }, + Object(r.createElement)( + Ya, + { content: "Facebook", placement: "top" }, + Object(r.createElement)( + "a", + { href: "/Profile" }, + Object(r.createElement)(L, { + prefix: "fa", + name: "facebook" + }) + ) + ) + )), + u && + (p = Object(r.createElement)( + Yi.Item, + { inline: !0 }, + Object(r.createElement)( + Ya, + { content: "Twitter", placement: "top" }, + Object(r.createElement)( + "a", + { href: "/Profile" }, + Object(r.createElement)(L, { + prefix: "fa", + name: "twitter" + }) + ) + ) + )), + c && + (g = Object(r.createElement)( + Yi.Item, + { inline: !0 }, + Object(r.createElement)( + Ya, + { content: "+1 234-567-8901", placement: "top" }, + Object(r.createElement)( + "a", + { href: "/Profile" }, + Object(r.createElement)(L, { + prefix: "fa", + name: "phone" + }) + ) + ) + )), + f && + (m = Object(r.createElement)( + Yi.Item, + { inline: !0 }, + Object(r.createElement)( + Ya, + { content: "@skypename", placement: "top" }, + Object(r.createElement)( + "a", + { href: "/Profile" }, + Object(r.createElement)(L, { + prefix: "fa", + name: "skype" + }) + ) + ) + )), + Object(r.createElement)( + Wi.Body, + null, + Object(r.createElement)("h4", { className: "m-0" }, n), + Object(r.createElement)( + "p", + { className: "text-muted mb-0" }, + i + ), + Object(r.createElement)( + Ea, + { className: "mb-0 mt-2" }, + h, + p, + g, + m + ), + t + ) + ); + }), + (Wi.Heading = function(e) { + var t = e.className, + n = e.children, + i = d("media-heading", t); + return Object(r.createElement)("div", { className: i }, n); + }), + (Wi.List = function(e) { + var t = e.className, + n = e.children, + i = d("media-list", t); + return Object(r.createElement)("ul", { className: i }, n); + }), + (Wi.ListItem = function(e) { + var t = e.className, + n = e.children, + i = d("media mt-4", t); + return Object(r.createElement)("li", { className: i }, n); + }), + (Wi.Object = function(e) { + var t = e.className, + n = e.children, + i = e.avatar, + a = e.objectURL, + o = e.size, + s = e.rounded, + u = e.alt, + l = d("media-object", t), + c = d({ "d-flex": !0, rounded: s }), + f = i + ? Object(r.createElement)(_, { size: o, imageURL: a }) + : a + ? Object(r.createElement)("img", { + className: c, + src: a, + alt: u + }) + : null; + return Object(r.createElement)("div", { className: l }, f, n); + }); + var qi = (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.displayName = "Nav.Item"), + (r.state = { isOpen: !1 }), + (r._handleOnClick = function() { + r.props.hasSubNav && + r.setState(function(e) { + return { isOpen: !e.isOpen }; + }), + r.props.onClick && r.props.onClick(); + }), + x(r, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this, + t = this.props, + n = t.children, + i = t.LinkComponent, + a = t.value, + o = t.className, + s = t.to, + u = t.type, + l = void 0 === u ? "li" : u, + c = t.icon, + f = t.hasSubNav, + h = t.active, + p = t.subItems, + g = t.subItemsObjects, + m = t.position, + v = void 0 === m ? "bottom-start" : m, + y = f || !!p || !!g, + x = + ("string" === typeof n || a) && y + ? Object(r.createElement)(Fr, null, function(e) { + var t = e.ref; + return Object( + r.createElement + )(Ji.Link, { className: o, to: s, icon: c, RootComponent: i, hasSubNav: y, active: h, rootRef: t }, y || "string" !== typeof n ? a : n); + }) + : Object(r.createElement)( + Ji.Link, + { + className: o, + to: s, + icon: c, + RootComponent: i, + hasSubNav: y, + active: h + }, + y || "string" !== typeof n ? a : n + ), + b = Object(r.createElement)( + r.Fragment, + null, + x, + "string" !== typeof n && !y && n, + y && + Object(r.createElement)( + Kr.Menu, + { arrow: !0, show: this.state.isOpen, position: v }, + p || + (g && + g.map(function(e, t) { + return Object( + r.createElement + )(Ji.SubItem, { key: t, value: e.value, to: e.to, icon: e.icon, LinkComponent: e.LinkComponent }); + })) || + n + ) + ), + _ = d({ "nav-item": !0, show: this.state.isOpen }), + w = + "div" === l + ? Object(r.createElement)( + $r, + { + onOutsideClick: function() { + return e.setState({ isOpen: !1 }); + } + }, + function(t) { + var n = t.setElementRef; + return Object(r.createElement)( + "div", + { + className: _, + onClick: e._handleOnClick, + ref: n + }, + b + ); + } + ) + : Object(r.createElement)( + $r, + { + onOutsideClick: function() { + return e.setState({ isOpen: !1 }); + } + }, + function(t) { + var n = t.setElementRef; + return Object(r.createElement)( + "li", + { + className: _, + onClick: e._handleOnClick, + ref: n + }, + b + ); + } + ); + return y ? Object(r.createElement)(kr, null, w) : w; + } + } + ]), + t + ); + })(r.Component); + function Qi(e) { + var t = e.children, + n = e.className, + i = e.RootComponent, + a = e.icon, + o = e.active, + s = void 0 !== o && o, + u = e.to, + l = (e.hasSubNav, e.rootRef), + c = d({ "nav-link": !0, active: s }, n), + f = Object(r.createElement)( + r.Fragment, + null, + a && + Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)(L, { name: a }), + " " + ), + t + ); + return i + ? Object(r.createElement)(i, { className: c, to: u }, f) + : Object(r.createElement)( + "a", + { className: c, href: u, ref: l }, + f + ); + } + function $i(e) { + var t = e.children, + n = e.LinkComponent, + i = (e.className, e.to), + a = e.icon, + o = (e.hasSubNav, e.value); + return Object(r.createElement)( + Kr.Item, + { to: i, icon: a, RootComponent: n }, + o || t + ); + } + function Ki(e) { + var t = e.className, + n = e.children, + i = d({ nav: !0, "nav-submenu": !0 }, t); + return Object(r.createElement)("div", { className: i }, n); + } + function Zi(e) { + var t = e.className, + n = e.RootComponent, + i = e.icon, + a = e.children, + o = e.active, + s = void 0 !== o && o, + u = e.to, + l = d({ "nav-item": !0, active: s }, t), + c = n || "a"; + return Object(r.createElement)( + c, + { className: l, to: u }, + i && + Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)(L, { name: i }), + " " + ), + a + ); + } + function Ji(e) { + var t = e.className, + n = e.children, + i = e.tabbed, + a = void 0 === i || i, + o = e.items, + s = e.itemsObjects, + u = d({ nav: !0, "nav-tabs": a }, t); + return Object(r.createElement)( + "ul", + { className: u }, + o || + (s && + s.map(function(e, t) { + return Object( + r.createElement + )(Ji.Item, { key: t, icon: e.icon, value: e.value, to: e.to, hasSubNav: !!e.subItems, LinkComponent: e.LinkComponent, subItemsObjects: e.subItems, active: e.active }); + })) || + n + ); + } + function ea(e) { + var t = e.avatarURL, + n = e.message, + i = e.time; + return Object(r.createElement)( + r.Fragment, + null, + t && + Object(r.createElement)(_, { + className: "mr-3 align-self-center", + imageURL: t + }), + Object(r.createElement)( + "div", + null, + n, + i && + Object(r.createElement)( + Pa, + { color: "muted", size: "small" }, + i + ) + ) + ); + } + function ta(e) { + var t = e.children; + return Object(r.createElement)("div", { className: "page-main" }, t); + } + function na(e) { + var t = e.className, + n = e.children, + i = d("page-title", t); + return Object(r.createElement)("h1", { className: i }, n); + } + function ra(e) { + var t = e.children; + return Object(r.createElement)( + "div", + { className: "page-subtitle" }, + t + ); + } + function ia(e) { + var t = e.children; + return Object(r.createElement)( + "div", + { className: "page-options d-flex" }, + t + ); + } + function aa(e) { + var t = e.children, + n = e.title, + i = e.subTitle, + a = e.options; + return Object(r.createElement)( + "div", + { className: "page-header" }, + n && Object(r.createElement)(na, null, n), + i && Object(r.createElement)(ra, null, i), + a && Object(r.createElement)(ia, null, a), + t + ); + } + function oa(e) { + var t = e.className, + n = e.children, + i = e.title, + a = e.subTitle, + o = e.options, + s = d("page-content", t); + return Object(r.createElement)( + "div", + { className: s }, + Object(r.createElement)( + Br, + null, + (i || a || o) && + Object(r.createElement)(aa, { + title: i, + subTitle: a, + options: o + }), + n + ) + ); + } + function sa(e) { + var t = e.children, + n = e.header, + i = e.sidebar; + return Object(r.createElement)( + ca.Content, + null, + n, + Object(r.createElement)( + ai.Row, + null, + Object(r.createElement)( + ai.Col, + { lg: 3, className: "order-lg-1 mb-4" }, + i + ), + Object(r.createElement)(ai.Col, { lg: 9 }, t) + ) + ); + } + function ua(e) { + var t = e.children, + n = e.title, + i = e.header, + a = e.footer, + o = e.RootComponent; + return Object(r.createElement)( + "div", + { className: "my-3 my-md-5" }, + Object(r.createElement)( + Br, + null, + Object(r.createElement)( + ai.Row, + null, + Object(r.createElement)( + ai.Col, + { width: 12 }, + Object(r.createElement)( + M, + { RootComponent: o }, + n && + Object(r.createElement)( + M.Header, + null, + Object(r.createElement)(M.Title, null, n) + ), + i, + Object(r.createElement)(M.Body, null, t), + a + ) + ) + ) + ) + ); + } + function la(e) { + var t = e.children; + return Object(r.createElement)("div", { className: "map-header" }, t); + } + function ca(e) { + var t = e.className, + n = e.children, + i = d("page", t); + return Object(r.createElement)("div", { className: i }, n); + } + function da(e) { + var t = e.className, + n = e.children, + i = d("card-category", t); + return Object(r.createElement)("div", { className: i }, n); + } + function fa(e) { + var t = e.className, + n = e.children, + i = d("display-3 my-4", t); + return Object(r.createElement)("div", { className: i }, n); + } + function ha(e) { + var t = e.className, + n = e.children, + i = d("list-unstyled", "leading-loose", t); + return Object(r.createElement)("ul", { className: i }, n); + } + function pa(e) { + var t = e.children, + n = e.available, + i = e.hasIcon, + a = d(n ? "text-success" : "text-danger", "mr-2"); + return i + ? Object(r.createElement)( + "li", + null, + " ", + Object(r.createElement)(L, { + prefix: "fe", + name: n ? "check" : "x", + className: a, + isAriaHidden: !0 + }), + t + ) + : Object(r.createElement)("li", null, " ", t, " "); + } + function ga(e) { + var t = e.className, + n = e.children, + i = e.RootComponent, + a = e.active, + o = e.href, + s = e.to, + u = e.onClick, + l = d("text-center", "mt-6"), + c = i || "a", + f = d("btn", a ? "btn-green" : "btn-secondary", "btn-block", t), + h = {}; + return ( + o && (h.href = o), + s && (h.to = s), + u && ((h.role = "button"), (h.onClick = u)), + Object(r.createElement)( + "div", + { className: l }, + Object(r.createElement)(c, m({ className: f }, h), n) + ) + ); + } + function ma(e) { + e.className; + var t = e.children, + n = e.active, + i = void 0 !== n && n, + a = e.category, + o = d("text-center"), + s = d("card-status", "bg-green"), + u = Object(r.createElement)("div", { className: s }), + l = Object(r.createElement)(da, null, a); + return Object(r.createElement)( + M, + null, + i && u, + Object(r.createElement)(M.Body, { className: o }, a && l, t) + ); + } + function va(e) { + var t = e.className, + n = e.color, + i = void 0 === n ? "" : n, + a = e.width, + o = void 0 === a ? 0 : a, + s = d("progress-bar", g({}, "bg-" + i, !!i), t); + return Object(r.createElement)("div", { + className: s, + style: { width: o + "%" } + }); + } + function ya(e) { + var t = e.className, + n = e.children, + i = e.size, + a = void 0 === i ? "" : i, + o = d("progress", g({}, "progress-" + a, !!a), t); + return Object(r.createElement)("div", { className: o }, n); + } + (Qi.displayName = "Nav.Link"), + ($i.displayName = "Nav.SubItem"), + (Ki.displayName = "Nav.Submenu"), + (Zi.displayName = "Nav.SubmenuItem"), + (Ji.Item = qi), + (Ji.SubItem = $i), + (Ji.Link = Qi), + (Ji.Submenu = Ki), + (Ji.SubmenuItem = Zi), + (ea.Tray = function(e) { + var t = e.children, + n = e.unread, + i = e.notificationsObjects, + a = t && r.Children.toArray(t); + return Object(r.createElement)(Kr, { + triggerContent: + n && + Object(r.createElement)("span", { className: "nav-unread" }), + toggle: !1, + icon: "bell", + isNavLink: !0, + position: "bottom-end", + arrow: !0, + arrowPosition: "right", + flex: !0, + items: Object(r.createElement)( + r.Fragment, + null, + (a && + a.map(function(e, t) { + return Object( + r.createElement + )(Kr.Item, { className: "d-flex", key: t }, e); + })) || + (i && + i.map(function(e, t) { + return Object( + r.createElement + )(Kr.Item, { className: "d-flex", key: t }, Object(r.createElement)(ea, { avatarURL: e.avatarURL, message: e.message, time: e.time })); + })), + Object(r.createElement)(Kr.ItemDivider, null), + Object(r.createElement)( + Kr.Item, + { className: "text-center text-muted-dark" }, + "Mark all as read" + ) + ) + }); + }), + (ta.displayName = "Page.Main"), + (na.displayName = "Page.Title"), + (ra.displayName = "Page.SubTitle"), + (ia.displayName = "Page.Options"), + (aa.displayName = "Page.Header"), + (oa.displayName = "Page.Content"), + (sa.displayName = "Page.ContentWithSidebar"), + (ua.displayName = "Page.Card"), + (la.displayName = "Page.MapHeader"), + (ca.Main = ta), + (ca.Content = oa), + (ca.Header = aa), + (ca.ContentWithSidebar = sa), + (ca.Card = ua), + (ca.Title = na), + (ca.MapHeader = la), + (da.displayName = "PricingCard.Category"), + (fa.displayName = "PricingCard.Price"), + (ha.displayName = "PricingCard.AttributeList"), + (pa.displayName = "PricingCard.AttributeItem"), + (ga.displayName = "PricingCard.Button"), + (ma.Category = da), + (ma.Price = fa), + (ma.AttributeList = ha), + (ma.AttributeItem = pa), + (ma.Button = ga), + (va.displayName = "Progress.Bar"), + (ya.Bar = va); + var xa = function(e) { + var t = e.children, + n = e.href, + i = e.align, + a = e.imageURL, + o = e.alt, + u = e.notificationsTray, + l = e.accountDropdown, + c = e.navItems, + d = e.onMenuToggleClick, + f = u && Object(r.createElement)(ea.Tray, u), + h = l && Object(r.createElement)(s, l); + return Object(r.createElement)( + "div", + { className: "header py-4" }, + Object(r.createElement)( + Br, + { className: i }, + Object(r.createElement)( + "div", + { className: "d-flex" }, + t || + Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)(Ta.Logo, { + href: n, + alt: o, + src: a + }), + Object(r.createElement)( + "div", + { className: "d-flex order-lg-2 ml-auto" }, + c, + f, + h + ), + Object(r.createElement)( + "a", + { + className: "header-toggler d-lg-none ml-3 ml-lg-0", + onClick: d + }, + Object(r.createElement)("span", { + className: "header-toggler-icon" + }) + ) + ) + ) + ) + ); + }; + xa.displayName = "Site.Header"; + var ba = function(e) { + var t = e.links, + n = e.note, + i = e.copyright, + a = e.nav; + return Object(r.createElement)( + r.Fragment, + null, + (t || n) && + Object(r.createElement)( + "div", + { className: "footer" }, + Object(r.createElement)( + Br, + null, + Object(r.createElement)( + ai.Row, + null, + Object(r.createElement)( + ai.Col, + { lg: 8 }, + Object(r.createElement)( + ai.Row, + null, + t && + Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)( + ai.Col, + { width: 6, md: 3 }, + Object(r.createElement)( + Yi, + { unstyled: !0, className: "mb-0" }, + Object(r.createElement)(Yi.Item, null, t[0]), + Object(r.createElement)(Yi.Item, null, t[1]) + ) + ), + Object(r.createElement)( + ai.Col, + { width: 6, md: 3 }, + Object(r.createElement)( + Yi, + { unstyled: !0, className: "mb-0" }, + Object(r.createElement)(Yi.Item, null, t[2]), + Object(r.createElement)(Yi.Item, null, t[3]) + ) + ), + Object(r.createElement)( + ai.Col, + { width: 6, md: 3 }, + Object(r.createElement)( + Yi, + { unstyled: !0, className: "mb-0" }, + Object(r.createElement)(Yi.Item, null, t[4]), + Object(r.createElement)(Yi.Item, null, t[5]) + ) + ), + Object(r.createElement)( + ai.Col, + { width: 6, md: 3 }, + Object(r.createElement)( + Yi, + { unstyled: !0, className: "mb-0" }, + Object(r.createElement)(Yi.Item, null, t[6]), + Object(r.createElement)(Yi.Item, null, t[7]) + ) + ) + ) + ) + ), + Object(r.createElement)( + ai.Col, + { lg: 4, className: "mt-4 mt-lg-0" }, + n + ) + ) + ) + ), + (a || i) && + Object(r.createElement)( + "footer", + { className: "footer" }, + Object(r.createElement)( + Br, + null, + Object(r.createElement)( + ai.Row, + { className: "align-items-center flex-row-reverse" }, + Object(r.createElement)( + ai.Col, + { auto: !0, className: "ml-auto" }, + Object(r.createElement)( + ai.Row, + { className: "align-items-center" }, + a + ) + ), + Object(r.createElement)( + ai.Col, + { + width: 12, + lgAuto: !0, + className: "mt-3 mt-lg-0 text-center" + }, + i + ) + ) + ) + ) + ); + }; + ba.displayName = "Site.Footer"; + var _a = function(e) { + var t = e.children, + n = e.items, + i = e.itemsObjects, + a = (e.withSearchForm, e.rightColumnComponent), + o = e.collapse, + s = d("header d-lg-flex p-0", { collapse: void 0 === o || o }); + return Object(r.createElement)( + "div", + { className: s }, + Object(r.createElement)( + Br, + null, + t || + Object(r.createElement)( + ai.Row, + { className: "align-items-center" }, + Object(r.createElement)( + ai.Col, + { lg: 3, className: "ml-auto", ignoreCol: !0 }, + a + ), + Object(r.createElement)( + ai.Col, + { className: "col-lg order-lg-first" }, + Object(r.createElement)(Ji, { + tabbed: !0, + className: "border-0 flex-column flex-lg-row", + items: n, + itemsObjects: i + }) + ) + ) + ) + ); + }; + _a.displayName = "Site.Nav"; + var wa = function(e) { + return Object(r.createElement)( + "a", + { className: "header-brand", href: e.href }, + Object(r.createElement)("img", { + src: e.src, + className: "header-brand-img", + alt: e.alt + }) + ); + }; + wa.displayName = "Site.Logo"; + var Sa = (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.state = { collapseMobileMenu: !0 }), + (r.handleCollapseMobileMenu = function() { + r.setState(function(e) { + return { collapseMobileMenu: !e.collapseMobileMenu }; + }); + }), + x(r, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this.props, + t = e.headerProps, + n = e.navProps, + i = e.footerProps, + a = e.children, + o = m({}, t, { + onMenuToggleClick: this.handleCollapseMobileMenu + }), + s = Object(r.createElement)(Ta.Header, o), + u = m({}, n, { collapse: this.state.collapseMobileMenu }), + l = Object(r.createElement)(Ta.Nav, u), + c = Object(r.createElement)(Ta.Footer, i); + return Object(r.createElement)( + ca, + null, + Object(r.createElement)(ca.Main, null, s, l, a), + c + ); + } + } + ]), + t + ); + })(r.PureComponent); + function Ta(e) { + return e.children; + } + function Ea(e) { + var t = e.children, + n = e.className, + i = e.asButtons, + a = e.prefix, + o = void 0 === a ? "fe" : a, + s = e.items, + u = e.itemsObjects, + l = d("social-links", n), + c = (function() { + var e = + arguments.length > 0 && + void 0 !== arguments[0] && + arguments[0], + t = arguments[1]; + return function(n) { + var i = e + ? Object(r.createElement)( + Gr, + { to: n.to, social: n.name, color: n.color, size: "sm" }, + n.label + ) + : Object(r.createElement)( + "a", + { href: n.to, "data-original-title": n.tooltip }, + Object(r.createElement)(L, { prefix: t, name: n.name }) + ); + return Object(r.createElement)(Yi.Item, { inline: !0 }, i); + }; + })(i, o), + f = + (u && u.map(c)) || + (s && + s.map(function(e) { + return Object(r.createElement)(Yi.Item, { inline: !0 }, e); + })) || + t; + return Object(r.createElement)(Yi, { inline: !0, className: l }, f); + } + function Ca(e) { + var t, + n = e.children, + i = e.className, + a = e.size, + o = void 0 === a ? "md" : a, + s = e.icon, + u = e.color, + l = void 0 === u ? "" : u, + c = d( + (g((t = { stamp: !0 }), "stamp-" + o, o), g(t, "bg-" + l, l), t), + i + ); + return Object(r.createElement)( + "span", + { className: c }, + s && Object(r.createElement)(L, { name: s }), + n + ); + } + (Sa.displayName = "Site.Wrapper"), + (Ta.Header = xa), + (Ta.Footer = ba), + (Ta.Nav = _a), + (Ta.Logo = wa), + (Ta.Wrapper = Sa), + (Ta.displayName = "Site"), + (Ea.displayName = "SocialNetworksList"), + (Ca.displayName = "Stamp"); + var Oa = function(e) { + var t = e.className, + n = e.children, + i = e.color, + a = void 0 === i ? "" : i, + o = e.wrap, + s = e.muted; + return Object(r.createElement)( + Pa, + { + RootComponent: "small", + color: a, + size: "sm", + wrap: o, + className: t, + muted: s + }, + n + ); + }; + Oa.displayName = "Text.Small"; + var Pa = function(e) { + var t, + n = e.className, + i = e.children, + a = e.RootComponent, + o = e.color, + s = void 0 === o ? "" : o, + u = e.size, + l = void 0 === u ? "" : u, + c = e.wrap, + f = e.muted, + h = y(e, [ + "className", + "children", + "RootComponent", + "color", + "size", + "wrap", + "muted" + ]), + p = h.align, + v = h.left, + x = h.center, + b = h.right, + _ = h.justify, + w = + p || + (v && "left") || + (x && "center") || + (b && "right") || + (_ && "justify") || + "", + S = h.transform, + T = h.lowercase, + E = h.uppercase, + C = h.capitalize, + O = + S || + (T && "lowercase") || + (E && "uppercase") || + (C && "capitalize") || + "", + P = h.tracking, + A = h.trackingTight, + k = h.trackingNormal, + N = h.trackingWide, + M = P || (A && "tight") || (k && "normal") || (N && "wide") || "", + L = h.leading, + j = h.leadingNone, + R = h.leadingTight, + I = h.leadingNormal, + V = h.leadingLoose, + F = + L || + (j && "none") || + (R && "tight") || + (I && "normal") || + (V && "loose") || + "", + D = d( + (g((t = {}), "text-wrap p-lg-6", c), + g(t, "text-" + s, s), + g(t, "" + l, l), + g(t, "text-muted", f), + g(t, "text-" + w, w), + g(t, "text-" + O, O), + g(t, "tracking-" + M, M), + g(t, "leading-" + F, F), + t), + n + ), + G = a || "div"; + return Object(r.createElement)(G, m({ className: D }, h), i); + }; + (Pa.displayName = "Text"), (Pa.Small = Oa); + !(function(e) { + function t() { + return ( + h(this, t), + x( + this, + (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments) + ) + ); + } + v(t, e), + p(t, [ + { + key: "render", + value: function() { + return this.props.children; + } + } + ]); + })(r.PureComponent); + function Aa(e) { + return r.Children.toArray(e.children).filter(function(t) { + return t.props.title === e.selectedTitle; + }); + } + function ka(e) { + var t = e.children, + n = e.stateCallback, + i = r.Children.toArray(t); + return Object(r.createElement)( + "ul", + { className: "nav nav-tabs Tab_header_tabs" }, + i.map(function(t, i) { + var a = t.props.title; + return Object(r.createElement)(Ji.Item, { + key: i, + value: a, + onClick: function() { + return n(a); + }, + active: a === e.selectedTitle + }); + }) + ); + } + zr(".margin-bottom-24 {\n margin-bottom: 24px !important;\n}\n"); + (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.state = { selectedTitle: r.props.initialTab }), + x(r, n) + ); + } + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this, + t = this.props.children, + n = this.state.selectedTitle; + return Object(r.createElement)( + r.Fragment, + null, + Object(r.createElement)( + ka, + { + selectedTitle: n, + stateCallback: function(t) { + return e.setState({ selectedTitle: t }); + } + }, + t + ), + Object(r.createElement)("div", { + className: "margin-bottom-24" + }), + Object(r.createElement)(Aa, { selectedTitle: n }, t) + ); + } + } + ]); + })(r.PureComponent), + (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.state = { selectedTitle: r.props.initialTab }), + x(r, n) + ); + } + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this, + t = this.props.children, + n = this.state.selectedTitle; + return Object(r.createElement)( + M, + null, + Object(r.createElement)( + M.Header, + null, + Object(r.createElement)( + ka, + { + selectedTitle: n, + stateCallback: function(t) { + return e.setState({ selectedTitle: t }); + } + }, + t + ) + ), + Object(r.createElement)( + M.Body, + null, + Object(r.createElement)(Aa, { selectedTitle: n }, t) + ) + ); + } + } + ]); + })(r.PureComponent); + function Na(e) { + var t = e.className, + n = e.children, + i = y(e, ["className", "children"]), + a = d(t); + return Object(r.createElement)("thead", m({ className: a }, i), n); + } + function Ma(e) { + var t = e.className, + n = e.children, + i = y(e, ["className", "children"]), + a = d(t); + return Object(r.createElement)("tbody", m({ className: a }, i), n); + } + function La(e) { + var t = e.className, + n = e.children, + i = y(e, ["className", "children"]), + a = d(t); + return Object(r.createElement)("tr", m({ className: a }, i), n); + } + function ja(e) { + var t = e.className, + n = e.children, + i = e.alignContent, + a = void 0 === i ? "" : i, + o = e.colSpan, + s = d(g({}, "text-" + a, a), t); + return Object(r.createElement)("td", { className: s, colSpan: o }, n); + } + function Ra(e) { + var t = e.className, + n = e.children, + i = e.colSpan, + a = e.alignContent, + o = void 0 === a ? "" : a, + s = d(g({}, "text-" + o, o), t); + return Object(r.createElement)("th", { className: s, colSpan: i }, n); + } + function Ia(e) { + var t = e.className, + n = e.children, + i = e.cards, + a = e.striped, + o = e.responsive, + s = e.highlightRowOnHover, + u = e.hasOutline, + l = e.verticalAlign, + c = y(e, [ + "className", + "children", + "cards", + "striped", + "responsive", + "highlightRowOnHover", + "hasOutline", + "verticalAlign" + ]), + f = d( + "table", + { + "card-table": i, + "table-striped": a, + "table-hover": s, + "table-outline": u, + "table-vcenter": "center" === l + }, + t + ), + h = + c.headerItems && + Object(r.createElement)( + Ia.Header, + null, + Object(r.createElement)( + Ia.Row, + null, + c.headerItems.map(function(e, t) { + return Object( + r.createElement + )(Ia.ColHeader, { key: t, className: e.className }, e.content); + }) + ) + ), + p = + c.bodyItems && + Object(r.createElement)( + Ia.Body, + null, + c.bodyItems.map(function(e, t) { + return Object(r.createElement)( + Ia.Row, + { key: e.key }, + e.item.map(function(e, t) { + return Object( + r.createElement + )(Ia.Col, { className: e.className, alignContent: e.alignContent, key: t }, e.content); + }) + ); + }) + ), + g = Object(r.createElement)( + "table", + m({ className: f }, c), + h, + p || n + ); + return o + ? Object(r.createElement)( + "div", + { className: "table-responsive" }, + g + ) + : g; + } + function Va(e) { + var t = e.children, + n = e.className, + i = d("tags", n); + return Object(r.createElement)("div", { className: i }, t); + } + function Fa(e) { + var t = e.children, + n = e.className, + i = e.icon, + a = e.color, + o = void 0 === a ? "" : a, + s = e.onClick, + u = e.onMouseEnter, + l = e.onMouseLeave, + c = e.onPointerEnter, + f = e.onPointerLeave, + h = e.onFocus, + p = e.onBlur, + v = d("tag-addon", g({}, "tag-" + o, o), n), + y = { + onClick: s, + onMouseEnter: u, + onMouseLeave: l, + onPointerEnter: c, + onPointerLeave: f, + onFocus: h, + onBlur: p + }, + x = Object(r.createElement)( + r.Fragment, + null, + i && Object(r.createElement)(L, { name: i }), + t + ); + if (e.link) { + var b = e.href; + return Object(r.createElement)( + "a", + m({ className: v, href: b }, y), + x + ); + } + if (e.RootComponent) { + var _ = e.RootComponent, + w = e.to; + return Object(r.createElement)(_, m({ to: w }, y), x); + } + return Object(r.createElement)("span", m({ className: v }, y), x); + } + (Na.displayName = "Table.Header"), + (Ma.displayName = "Table.Body"), + (La.displayName = "Table.Row"), + (ja.displayName = "Table.Col"), + (Ra.displayName = "Table.ColHeader"), + (Ia.defaultProps = { cards: !1, striped: !1, responsive: !1 }), + (Ia.Header = Na), + (Ia.Body = Ma), + (Ia.Row = La), + (Ia.Col = ja), + (Ia.ColHeader = Ra), + (Va.displayName = "Tag.List"), + (Fa.displayName = "Tag.AddOn"); + var Da = (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.state = { isDeleted: !1 }), + (r.handleOnRemoveClick = function() { + r.setState(function(e) { + return { isDeleted: !0 }; + }); + }), + x(r, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this.props, + t = e.children, + n = e.className, + i = e.rounded, + a = e.color, + o = void 0 === a ? "" : a, + s = e.avatar, + u = e.remove, + l = e.addOn, + c = e.addOnIcon, + f = e.addOnColor, + h = e.onClick, + p = e.onMouseEnter, + v = e.onMouseLeave, + y = e.onPointerEnter, + x = e.onPointerLeave, + b = e.onFocus, + _ = e.onBlur, + w = e.onRemoveClick, + S = e.onAddOnClick, + T = d( + g( + { tag: !0, expanded: !0, "tag-rounded": i }, + "tag-" + o, + o + ), + n + ), + E = { + onClick: h, + onMouseEnter: p, + onMouseLeave: v, + onPointerEnter: y, + onPointerLeave: x, + onFocus: b, + onBlur: _ + }; + if (this.state.isDeleted) return null; + var C = Object(r.createElement)( + r.Fragment, + null, + s && + Object(r.createElement)("span", { + class: "tag-avatar avatar", + style: { backgroundImage: "url(" + s + ")" } + }), + t, + (l || c) && + Object(r.createElement)( + Fa, + { icon: c, color: f, onClick: S }, + l + ), + u && w + ? Object(r.createElement)(Fa, { + onClick: w, + link: !0, + icon: "x" + }) + : u && + Object(r.createElement)(Fa, { + onClick: this.handleOnRemoveClick, + link: !0, + icon: "x" + }) + ); + if (this.props.RootComponent) { + var O = this.props.to; + return Object(r.createElement)( + r.Component, + m({ className: T, to: O }, E), + C + ); + } + if (this.props.link) { + var P = this.props.href; + return Object(r.createElement)( + "a", + m({ className: T, href: P }, E), + C + ); + } + return Object(r.createElement)( + "span", + m({ className: T }, E), + C + ); + } + } + ]), + t + ); + })(r.Component); + function Ga(e) { + var t = e.className, + n = e.children, + i = e.color, + a = void 0 === i ? "" : i, + o = d(g({ "timeline-badge": !0 }, "bg-" + a, a), t); + return Object(r.createElement)("div", { className: o }, n); + } + function za(e) { + var t = e.className, + n = e.children, + i = e.active, + a = d({ "timeline-time": !0, "text-muted-black": i }, t); + return Object(r.createElement)("div", { className: a }, n); + } + function Ba(e) { + var t = e.children; + return e.active ? Object(r.createElement)("strong", null, t) : t; + } + function Ha(e) { + var t = e.children; + return Object(r.createElement)( + "small", + { className: "d-block text-muted" }, + t + ); + } + function Ua(e) { + var t = e.className, + n = e.children, + i = e.title, + a = e.description, + o = e.badge, + s = e.badgeColor, + u = e.time, + l = e.active, + c = d({ "timeline-item": !0 }, t), + f = i || ("string" === typeof n && n), + h = f && Object(r.createElement)(Ba, { active: l }, f), + p = + h && + Object(r.createElement)( + r.Fragment, + null, + h, + a && Object(r.createElement)(Ha, null, a) + ); + return Object(r.createElement)( + "li", + { className: c }, + (o || s) && Object(r.createElement)(Ga, { color: s }), + l ? Object(r.createElement)("div", null, p) : p, + n, + u && Object(r.createElement)(za, { active: l }, u) + ); + } + function Xa(e) { + var t = e.className, + n = e.children, + i = d({ timeline: !0 }, t); + return Object(r.createElement)("ul", { className: i }, n); + } + (Da.List = Va), + (Da.AddOn = Fa), + (Ga.displayName = "Timeline.ItemBadge"), + (za.displayName = "Timeline.ItemTime"), + (Ba.displayName = "Timeline.ItemTitle"), + (Ha.displayName = "Timeline.ItemDescription"), + (Ua.displayName = "Timeline.Item"), + (Xa.Item = Ua), + (Xa.ItemTime = za), + (Xa.ItemBadge = Ga), + (Xa.ItemTitle = Ba), + (Xa.ItemDescription = Ha); + zr( + "/* Tooltip-specific Stylesheet */\n\n.tbr-arrow-vertical {\n left: calc(50% - 0.4rem);\n}\n\n.tbr-arrow-horizontal {\n top: calc(50% - 0.4rem);\n}\n" + ); + var Ya = (function(e) { + function t() { + var e, n, r; + h(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = x( + this, + (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply( + e, + [this].concat(a) + ) + )), + (r.state = { isShown: !1 }), + (r._handleTriggerOnMouseEnter = function(e) { + e.preventDefault(), r.setState({ isShown: !0 }); + }), + (r._handleTriggerOnMouseLeave = function(e) { + e.preventDefault(), r.setState({ isShown: !1 }); + }), + x(r, n) + ); + } + return ( + v(t, e), + p(t, [ + { + key: "render", + value: function() { + var e = this, + t = this.props, + n = t.className, + i = t.children, + a = t.placement, + o = t.content, + s = d( + "tooltip", + a && "bs-tooltip-" + a, + { show: this.state.isShown }, + n + ), + u = d( + "arrow", + "top" === a || "bottom" === a + ? "tbr-arrow-vertical" + : "tbr-arrow-horizontal" + ); + return Object(r.createElement)( + kr, + null, + Object(r.createElement)(Fr, null, function(t) { + var n = t.ref; + return ( + "undefined" !== typeof i && + (e.props.type + ? Object(r.cloneElement)(i, { + ref: n, + onMouseEnter: e._handleTriggerOnMouseEnter, + onMouseLeave: e._handleTriggerOnMouseLeave + }) + : Object(r.cloneElement)(i, { + rootRef: n, + onMouseEnter: e._handleTriggerOnMouseEnter, + onMouseLeave: e._handleTriggerOnMouseLeave + })) + ); + }), + this.state.isShown && + Object(r.createElement)( + Rr, + { placement: a, eventsEnabled: !0 }, + function(e) { + var t = e.ref, + n = e.style, + i = e.placement; + return Object(r.createElement)( + "div", + { + className: s, + "data-placement": i, + style: n, + ref: t + }, + Object(r.createElement)("div", { className: u }), + Object(r.createElement)( + "div", + { className: "tooltip-inner" }, + o + ) + ); + } + ) + ); + } + } + ]), + t + ); + })(r.Component); + function Wa(e) { + return Object(r.createElement)( + "div", + { className: "page" }, + Object(r.createElement)( + "div", + { className: "page-single" }, + Object(r.createElement)( + "div", + { className: "container" }, + Object(r.createElement)( + "div", + { className: "row" }, + Object(r.createElement)( + "div", + { className: "col col-login mx-auto" }, + Object(r.createElement)( + "div", + { className: "text-center mb-6" }, + Object(r.createElement)("img", { + src: "./assets/brand/tabler.svg", + className: "h-6", + alt: "" + }) + ), + e.children + ) + ) + ) + ) + ); + } + function qa(e) { + var t = e.children, + n = e.action, + i = e.method, + a = e.onSubmit, + o = e.title, + s = e.buttonText; + return Object(r.createElement)( + Ai, + { className: "card", onSubmit: a, action: n, method: i }, + Object(r.createElement)( + M.Body, + { className: "p-6" }, + Object(r.createElement)(M.Title, { RootComponent: "div" }, o), + t, + Object(r.createElement)( + Ai.Footer, + null, + Object(r.createElement)( + Gr, + { type: "submit", color: "primary", block: !0 }, + s + ) + ) + ) + ); + } + function Qa(e) { + var t = e.label, + n = y(e, ["label"]), + i = Object(r.createElement)(Ai.Input, n); + return Object(r.createElement)(Ai.Group, { label: t }, i); + } + function $a(e) { + var t = Object(r.createElement)(Ai.Checkbox, e); + return Object(r.createElement)(Ai.Group, null, t); + } + function Ka() { + var e = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; + return function(t) { + return function(n) { + var i = (function() { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : {}; + return (arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : [] + ).reduce(function(n, r) { + return Object.assign(n, g({}, r, e && e[r] && t ? t[r] : "")); + }, {}); + })(n.touched, n.errors, e); + return Object(r.createElement)(t, m({}, n, { errors: i })); + }; + }; + } + var Za = { + title: "Login to your Account", + buttonText: "Login", + emailLabel: "Email Address", + emailPlaceholder: "Enter email", + passwordLabel: "Password", + passwordPlaceholder: "Password" + }; + Ka(["email", "password"])(function(e) { + var t = e.action, + n = e.method, + i = e.onSubmit, + a = e.onChange, + o = e.onBlur, + s = e.values, + u = e.strings, + l = void 0 === u ? {} : u, + c = e.errors; + return Object( + r.createElement + )(Wa, null, Object(r.createElement)(qa, { buttonText: l.buttonText || Za.buttonText, title: l.title || Za.title, onSubmit: i, action: t, method: n }, Object(r.createElement)(Qa, { name: "email", label: l.emailLabel || Za.emailLabel, placeholder: l.emailPlaceholder || Za.emailPlaceholder, onChange: a, onBlur: o, value: s && s.email, error: c && c.email }), Object(r.createElement)(Qa, { name: "password", type: "password", label: l.passwordLabel || Za.passwordLabel, placeholder: l.passwordPlaceholder || Za.passwordPlaceholder, onChange: a, onBlur: o, value: s && s.password, error: c && c.password }))); + }); + var Ja = { + title: "Create New Account", + buttonText: "Create Account", + nameLabel: "Name", + namePlaceholder: "Enter name", + emailLabel: "Email Address", + emailPlaceholder: "Enter email", + passwordLabel: "Password", + passwordPlaceholder: "Password", + termsLabel: "Agree to the terms and policy" + }; + Ka(["name", "email", "password", "terms"])(function(e) { + var t = e.action, + n = e.method, + i = e.onSubmit, + a = e.onChange, + o = e.onBlur, + s = e.values, + u = e.strings, + l = void 0 === u ? {} : u, + c = e.errors; + return Object( + r.createElement + )(Wa, null, Object(r.createElement)(qa, { buttonText: l.buttonText || Ja.buttonText, title: l.title || Ja.title, onSubmit: i, action: t, method: n }, Object(r.createElement)(Qa, { name: "name", label: l.nameLabel || Ja.nameLabel, placeholder: l.namePlaceholder || Ja.namePlaceholder, onChange: a, onBlur: o, value: s && s.name, error: c && c.name }), Object(r.createElement)(Qa, { name: "email", label: l.emailLabel || Ja.emailLabel, placeholder: l.emailPlaceholder || Ja.emailPlaceholder, onChange: a, onBlur: o, value: s && s.email, error: c && c.email }), Object(r.createElement)(Qa, { name: "password", type: "password", label: l.passwordLabel || Ja.passwordLabel, placeholder: l.passwordPlaceholder || Ja.passwordPlaceholder, onChange: a, onBlur: o, value: s && s.password, error: c && c.password }), Object(r.createElement)($a, { onChange: a, onBlur: o, value: s && s.terms, name: "terms", label: l.termsLabel || Ja.termsLabel }))); + }); + var eo = { + title: "Forgot Password", + buttonText: "Request Password Change", + emailLabel: "Email Address", + emailPlaceholder: "Enter email", + instructions: + "Enter your email address and your password will be reset and emailed to you." + }; + Ka(["email"])(function(e) { + var t = e.action, + n = e.method, + i = e.onSubmit, + a = e.onChange, + o = e.onBlur, + s = e.values, + u = e.strings, + l = void 0 === u ? {} : u, + c = e.errors; + return Object( + r.createElement + )(Wa, null, Object(r.createElement)(qa, { buttonText: l.buttonText || eo.buttonText, title: l.title || eo.title, onSubmit: i, action: t, method: n }, Object(r.createElement)("p", { className: "text-muted" }, l.instructions || eo.instructions), Object(r.createElement)(Qa, { name: "email", label: l.emailLabel || eo.emailLabel, placeholder: l.emailPlaceholder || eo.emailPlaceholder, onChange: a, onBlur: o, value: s && s.email, error: c && c.email }))); + }); + }.call(this, n(40))); + }, + function(e, t, n) { + "use strict"; + function r(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + n.d(t, "a", function() { + return r; + }); + }, + function(e, t, n) { + "use strict"; + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function i(e, t, n) { + return t && r(e.prototype, t), n && r(e, n), e; + } + n.d(t, "a", function() { + return i; + }); + }, + function(e, t, n) { + "use strict"; + function r(e) { + return (r = Object.setPrototypeOf + ? Object.getPrototypeOf + : function(e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + n.d(t, "a", function() { + return r; + }); + }, + function(e, t, n) { + "use strict"; + function r(e) { + return (r = + "function" === typeof Symbol && "symbol" === typeof Symbol.iterator + ? function(e) { + return typeof e; + } + : function(e) { + return e && + "function" === typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function i(e) { + return (i = + "function" === typeof Symbol && "symbol" === r(Symbol.iterator) + ? function(e) { + return r(e); + } + : function(e) { + return e && + "function" === typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : r(e); + })(e); + } + function a(e, t) { + return !t || ("object" !== i(t) && "function" !== typeof t) + ? (function(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + n.d(t, "a", function() { + return a; + }); + }, + function(e, t, n) { + "use strict"; + function r(e, t) { + return (r = + Object.setPrototypeOf || + function(e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function i(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 } + })), + t && r(e, t); + } + n.d(t, "a", function() { + return i; + }); + }, + function(e, t, n) { + "use strict"; + e.exports = function() {}; + }, + function(e, t, n) { + "use strict"; + e.exports = function(e, t, n, r, i, a, o, s) { + if (!e) { + var u; + if (void 0 === t) + u = new Error( + "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings." + ); + else { + var l = [n, r, i, a, o, s], + c = 0; + (u = new Error( + t.replace(/%s/g, function() { + return l[c++]; + }) + )).name = "Invariant Violation"; + } + throw ((u.framesToPop = 1), u); + } + }; + }, + function(e, t, n) { + "use strict"; + var r = n(21), + i = Object.prototype.toString; + function a(e) { + return "[object Array]" === i.call(e); + } + function o(e) { + return "undefined" === typeof e; + } + function s(e) { + return null !== e && "object" === typeof e; + } + function u(e) { + return "[object Function]" === i.call(e); + } + function l(e, t) { + if (null !== e && "undefined" !== typeof e) + if (("object" !== typeof e && (e = [e]), a(e))) + for (var n = 0, r = e.length; n < r; n++) t.call(null, e[n], n, e); + else + for (var i in e) + Object.prototype.hasOwnProperty.call(e, i) && + t.call(null, e[i], i, e); + } + e.exports = { + isArray: a, + isArrayBuffer: function(e) { + return "[object ArrayBuffer]" === i.call(e); + }, + isBuffer: function(e) { + return ( + null !== e && + !o(e) && + null !== e.constructor && + !o(e.constructor) && + "function" === typeof e.constructor.isBuffer && + e.constructor.isBuffer(e) + ); + }, + isFormData: function(e) { + return "undefined" !== typeof FormData && e instanceof FormData; + }, + isArrayBufferView: function(e) { + return "undefined" !== typeof ArrayBuffer && ArrayBuffer.isView + ? ArrayBuffer.isView(e) + : e && e.buffer && e.buffer instanceof ArrayBuffer; + }, + isString: function(e) { + return "string" === typeof e; + }, + isNumber: function(e) { + return "number" === typeof e; + }, + isObject: s, + isUndefined: o, + isDate: function(e) { + return "[object Date]" === i.call(e); + }, + isFile: function(e) { + return "[object File]" === i.call(e); + }, + isBlob: function(e) { + return "[object Blob]" === i.call(e); + }, + isFunction: u, + isStream: function(e) { + return s(e) && u(e.pipe); + }, + isURLSearchParams: function(e) { + return ( + "undefined" !== typeof URLSearchParams && + e instanceof URLSearchParams + ); + }, + isStandardBrowserEnv: function() { + return ( + ("undefined" === typeof navigator || + ("ReactNative" !== navigator.product && + "NativeScript" !== navigator.product && + "NS" !== navigator.product)) && + "undefined" !== typeof window && + "undefined" !== typeof document + ); + }, + forEach: l, + merge: function e() { + var t = {}; + function n(n, r) { + "object" === typeof t[r] && "object" === typeof n + ? (t[r] = e(t[r], n)) + : (t[r] = n); + } + for (var r = 0, i = arguments.length; r < i; r++) l(arguments[r], n); + return t; + }, + deepMerge: function e() { + var t = {}; + function n(n, r) { + "object" === typeof t[r] && "object" === typeof n + ? (t[r] = e(t[r], n)) + : (t[r] = "object" === typeof n ? e({}, n) : n); + } + for (var r = 0, i = arguments.length; r < i; r++) l(arguments[r], n); + return t; + }, + extend: function(e, t, n) { + return ( + l(t, function(t, i) { + e[i] = n && "function" === typeof t ? r(t, n) : t; + }), + e + ); + }, + trim: function(e) { + return e.replace(/^\s*/, "").replace(/\s*$/, ""); + } + }; + }, + function(e, t, n) { + "use strict"; + var r = function() {}; + e.exports = r; + }, + function(e, t, n) { + "use strict"; + function r(e) { + return ( + (function(e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function(e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function() { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + n.d(t, "a", function() { + return r; + }); + }, + function(e, t, n) { + "use strict"; + var r = n(8), + i = n.n(r), + a = n(9), + o = n.n(a); + function s(e) { + return "/" === e.charAt(0); + } + function u(e, t) { + for (var n = t, r = n + 1, i = e.length; r < i; n += 1, r += 1) + e[n] = e[r]; + e.pop(); + } + var l = function(e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : "", + n = (e && e.split("/")) || [], + r = (t && t.split("/")) || [], + i = e && s(e), + a = t && s(t), + o = i || a; + if ( + (e && s(e) ? (r = n) : n.length && (r.pop(), (r = r.concat(n))), + !r.length) + ) + return "/"; + var l = void 0; + if (r.length) { + var c = r[r.length - 1]; + l = "." === c || ".." === c || "" === c; + } else l = !1; + for (var d = 0, f = r.length; f >= 0; f--) { + var h = r[f]; + "." === h + ? u(r, f) + : ".." === h + ? (u(r, f), d++) + : d && (u(r, f), d--); + } + if (!o) for (; d--; d) r.unshift(".."); + !o || "" === r[0] || (r[0] && s(r[0])) || r.unshift(""); + var p = r.join("/"); + return l && "/" !== p.substr(-1) && (p += "/"), p; + }, + c = + "function" === typeof Symbol && "symbol" === typeof Symbol.iterator + ? function(e) { + return typeof e; + } + : function(e) { + return e && + "function" === typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + }; + var d = function e(t, n) { + if (t === n) return !0; + if (null == t || null == n) return !1; + if (Array.isArray(t)) + return ( + Array.isArray(n) && + t.length === n.length && + t.every(function(t, r) { + return e(t, n[r]); + }) + ); + var r = "undefined" === typeof t ? "undefined" : c(t); + if (r !== ("undefined" === typeof n ? "undefined" : c(n))) return !1; + if ("object" === r) { + var i = t.valueOf(), + a = n.valueOf(); + if (i !== t || a !== n) return e(i, a); + var o = Object.keys(t), + s = Object.keys(n); + return ( + o.length === s.length && + o.every(function(r) { + return e(t[r], n[r]); + }) + ); + } + return !1; + }, + f = function(e) { + return "/" === e.charAt(0) ? e : "/" + e; + }, + h = function(e) { + return "/" === e.charAt(0) ? e.substr(1) : e; + }, + p = function(e, t) { + return new RegExp("^" + t + "(\\/|\\?|#|$)", "i").test(e); + }, + g = function(e, t) { + return p(e, t) ? e.substr(t.length) : e; + }, + m = function(e) { + return "/" === e.charAt(e.length - 1) ? e.slice(0, -1) : e; + }, + v = function(e) { + var t = e.pathname, + n = e.search, + r = e.hash, + i = t || "/"; + return ( + n && "?" !== n && (i += "?" === n.charAt(0) ? n : "?" + n), + r && "#" !== r && (i += "#" === r.charAt(0) ? r : "#" + r), + i + ); + }, + y = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }, + x = function(e, t, n, r) { + var i = void 0; + "string" === typeof e + ? ((i = (function(e) { + var t = e || "/", + n = "", + r = "", + i = t.indexOf("#"); + -1 !== i && ((r = t.substr(i)), (t = t.substr(0, i))); + var a = t.indexOf("?"); + return ( + -1 !== a && ((n = t.substr(a)), (t = t.substr(0, a))), + { + pathname: t, + search: "?" === n ? "" : n, + hash: "#" === r ? "" : r + } + ); + })(e)).state = t) + : (void 0 === (i = y({}, e)).pathname && (i.pathname = ""), + i.search + ? "?" !== i.search.charAt(0) && (i.search = "?" + i.search) + : (i.search = ""), + i.hash + ? "#" !== i.hash.charAt(0) && (i.hash = "#" + i.hash) + : (i.hash = ""), + void 0 !== t && void 0 === i.state && (i.state = t)); + try { + i.pathname = decodeURI(i.pathname); + } catch (a) { + throw a instanceof URIError + ? new URIError( + 'Pathname "' + + i.pathname + + '" could not be decoded. This is likely caused by an invalid percent-encoding.' + ) + : a; + } + return ( + n && (i.key = n), + r + ? i.pathname + ? "/" !== i.pathname.charAt(0) && + (i.pathname = l(i.pathname, r.pathname)) + : (i.pathname = r.pathname) + : i.pathname || (i.pathname = "/"), + i + ); + }, + b = function(e, t) { + return ( + e.pathname === t.pathname && + e.search === t.search && + e.hash === t.hash && + e.key === t.key && + d(e.state, t.state) + ); + }, + _ = function() { + var e = null, + t = []; + return { + setPrompt: function(t) { + return ( + i()(null == e, "A history supports only one prompt at a time"), + (e = t), + function() { + e === t && (e = null); + } + ); + }, + confirmTransitionTo: function(t, n, r, a) { + if (null != e) { + var o = "function" === typeof e ? e(t, n) : e; + "string" === typeof o + ? "function" === typeof r + ? r(o, a) + : (i()( + !1, + "A history needs a getUserConfirmation function in order to use a prompt message" + ), + a(!0)) + : a(!1 !== o); + } else a(!0); + }, + appendListener: function(e) { + var n = !0, + r = function() { + n && e.apply(void 0, arguments); + }; + return ( + t.push(r), + function() { + (n = !1), + (t = t.filter(function(e) { + return e !== r; + })); + } + ); + }, + notifyListeners: function() { + for (var e = arguments.length, n = Array(e), r = 0; r < e; r++) + n[r] = arguments[r]; + t.forEach(function(e) { + return e.apply(void 0, n); + }); + } + }; + }, + w = !( + "undefined" === typeof window || + !window.document || + !window.document.createElement + ), + S = function(e, t, n) { + return e.addEventListener + ? e.addEventListener(t, n, !1) + : e.attachEvent("on" + t, n); + }, + T = function(e, t, n) { + return e.removeEventListener + ? e.removeEventListener(t, n, !1) + : e.detachEvent("on" + t, n); + }, + E = function(e, t) { + return t(window.confirm(e)); + }, + C = ("function" === typeof Symbol && Symbol.iterator, + Object.assign, + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }), + O = { + hashbang: { + encodePath: function(e) { + return "!" === e.charAt(0) ? e : "!/" + h(e); + }, + decodePath: function(e) { + return "!" === e.charAt(0) ? e.substr(1) : e; + } + }, + noslash: { encodePath: h, decodePath: f }, + slash: { encodePath: f, decodePath: f } + }, + P = function() { + var e = window.location.href, + t = e.indexOf("#"); + return -1 === t ? "" : e.substring(t + 1); + }, + A = function(e) { + var t = window.location.href.indexOf("#"); + window.location.replace( + window.location.href.slice(0, t >= 0 ? t : 0) + "#" + e + ); + }, + k = function() { + var e = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + o()(w, "Hash history needs a DOM"); + var t = window.history, + n = -1 === window.navigator.userAgent.indexOf("Firefox"), + r = e.getUserConfirmation, + a = void 0 === r ? E : r, + s = e.hashType, + u = void 0 === s ? "slash" : s, + l = e.basename ? m(f(e.basename)) : "", + c = O[u], + d = c.encodePath, + h = c.decodePath, + y = function() { + var e = h(P()); + return ( + i()( + !l || p(e, l), + 'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "' + + e + + '" to begin with "' + + l + + '".' + ), + l && (e = g(e, l)), + x(e) + ); + }, + k = _(), + N = function(e) { + C(X, e), + (X.length = t.length), + k.notifyListeners(X.location, X.action); + }, + M = !1, + L = null, + j = function() { + var e = P(), + t = d(e); + if (e !== t) A(t); + else { + var n = y(), + r = X.location; + if (!M && b(r, n)) return; + if (L === v(n)) return; + (L = null), R(n); + } + }, + R = function(e) { + M + ? ((M = !1), N()) + : k.confirmTransitionTo(e, "POP", a, function(t) { + t ? N({ action: "POP", location: e }) : I(e); + }); + }, + I = function(e) { + var t = X.location, + n = G.lastIndexOf(v(t)); + -1 === n && (n = 0); + var r = G.lastIndexOf(v(e)); + -1 === r && (r = 0); + var i = n - r; + i && ((M = !0), z(i)); + }, + V = P(), + F = d(V); + V !== F && A(F); + var D = y(), + G = [v(D)], + z = function(e) { + i()( + n, + "Hash history go(n) causes a full page reload in this browser" + ), + t.go(e); + }, + B = 0, + H = function(e) { + 1 === (B += e) + ? S(window, "hashchange", j) + : 0 === B && T(window, "hashchange", j); + }, + U = !1, + X = { + length: t.length, + action: "POP", + location: D, + createHref: function(e) { + return "#" + d(l + v(e)); + }, + push: function(e, t) { + i()( + void 0 === t, + "Hash history cannot push state; it is ignored" + ); + var n = x(e, void 0, void 0, X.location); + k.confirmTransitionTo(n, "PUSH", a, function(e) { + if (e) { + var t = v(n), + r = d(l + t); + if (P() !== r) { + (L = t), + (function(e) { + window.location.hash = e; + })(r); + var a = G.lastIndexOf(v(X.location)), + o = G.slice(0, -1 === a ? 0 : a + 1); + o.push(t), (G = o), N({ action: "PUSH", location: n }); + } else + i()( + !1, + "Hash history cannot PUSH the same path; a new entry will not be added to the history stack" + ), + N(); + } + }); + }, + replace: function(e, t) { + i()( + void 0 === t, + "Hash history cannot replace state; it is ignored" + ); + var n = x(e, void 0, void 0, X.location); + k.confirmTransitionTo(n, "REPLACE", a, function(e) { + if (e) { + var t = v(n), + r = d(l + t); + P() !== r && ((L = t), A(r)); + var i = G.indexOf(v(X.location)); + -1 !== i && (G[i] = t), + N({ action: "REPLACE", location: n }); + } + }); + }, + go: z, + goBack: function() { + return z(-1); + }, + goForward: function() { + return z(1); + }, + block: function() { + var e = + arguments.length > 0 && + void 0 !== arguments[0] && + arguments[0], + t = k.setPrompt(e); + return ( + U || (H(1), (U = !0)), + function() { + return U && ((U = !1), H(-1)), t(); + } + ); + }, + listen: function(e) { + var t = k.appendListener(e); + return ( + H(1), + function() { + H(-1), t(); + } + ); + } + }; + return X; + }; + "function" === typeof Symbol && Symbol.iterator, Object.assign; + n.d(t, "a", function() { + return k; + }), + n.d(t, "b", function() { + return x; + }), + n.d(t, "c", function() { + return b; + }); + }, + function(e, t, n) { + "use strict"; + function r(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) + : (e[t] = n), + e + ); + } + function i(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}, + i = Object.keys(n); + "function" === typeof Object.getOwnPropertySymbols && + (i = i.concat( + Object.getOwnPropertySymbols(n).filter(function(e) { + return Object.getOwnPropertyDescriptor(n, e).enumerable; + }) + )), + i.forEach(function(t) { + r(e, t, n[t]); + }); + } + return e; + } + n.d(t, "a", function() { + return i; + }); + }, + function(e, t, n) { + "use strict"; + var r = n(11), + i = n.n(r), + a = n(9), + o = n.n(a), + s = n(0), + u = n.n(s), + l = n(1), + c = n.n(l), + d = n(16), + f = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }; + function h(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || ("object" !== typeof t && "function" !== typeof t) ? e : t; + } + var p = function(e) { + return 0 === u.a.Children.count(e); + }, + g = (function(e) { + function t() { + var n, r; + !(function(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = h(this, e.call.apply(e, [this].concat(a)))), + (r.state = { match: r.computeMatch(r.props, r.context.router) }), + h(r, n) + ); + } + return ( + (function(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + })(t, e), + (t.prototype.getChildContext = function() { + return { + router: f({}, this.context.router, { + route: { + location: + this.props.location || this.context.router.route.location, + match: this.state.match + } + }) + }; + }), + (t.prototype.computeMatch = function(e, t) { + var n = e.computedMatch, + r = e.location, + i = e.path, + a = e.strict, + s = e.exact, + u = e.sensitive; + if (n) return n; + o()( + t, + "You should not use or withRouter() outside a " + ); + var l = t.route, + c = (r || l.location).pathname; + return Object(d.a)( + c, + { path: i, strict: a, exact: s, sensitive: u }, + l.match + ); + }), + (t.prototype.componentWillMount = function() { + i()( + !(this.props.component && this.props.render), + "You should not use and in the same route; will be ignored" + ), + i()( + !( + this.props.component && + this.props.children && + !p(this.props.children) + ), + "You should not use and in the same route; will be ignored" + ), + i()( + !( + this.props.render && + this.props.children && + !p(this.props.children) + ), + "You should not use and in the same route; will be ignored" + ); + }), + (t.prototype.componentWillReceiveProps = function(e, t) { + i()( + !(e.location && !this.props.location), + ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no "location" prop and then provided one on a subsequent render.' + ), + i()( + !(!e.location && this.props.location), + ' elements should not change from controlled to uncontrolled (or vice versa). You provided a "location" prop initially but omitted it on a subsequent render.' + ), + this.setState({ match: this.computeMatch(e, t.router) }); + }), + (t.prototype.render = function() { + var e = this.state.match, + t = this.props, + n = t.children, + r = t.component, + i = t.render, + a = this.context.router, + o = a.history, + s = a.route, + l = a.staticContext, + c = { + match: e, + location: this.props.location || s.location, + history: o, + staticContext: l + }; + return r + ? e + ? u.a.createElement(r, c) + : null + : i + ? e + ? i(c) + : null + : "function" === typeof n + ? n(c) + : n && !p(n) + ? u.a.Children.only(n) + : null; + }), + t + ); + })(u.a.Component); + (g.propTypes = { + computedMatch: c.a.object, + path: c.a.string, + exact: c.a.bool, + strict: c.a.bool, + sensitive: c.a.bool, + component: c.a.func, + render: c.a.func, + children: c.a.oneOfType([c.a.func, c.a.node]), + location: c.a.object + }), + (g.contextTypes = { + router: c.a.shape({ + history: c.a.object.isRequired, + route: c.a.object.isRequired, + staticContext: c.a.object + }) + }), + (g.childContextTypes = { router: c.a.object.isRequired }), + (t.a = g); + }, + function(e, t, n) { + "use strict"; + var r = n(17), + i = n.n(r), + a = {}, + o = 0; + t.a = function(e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + n = arguments[2]; + "string" === typeof t && (t = { path: t }); + var r = t, + s = r.path, + u = r.exact, + l = void 0 !== u && u, + c = r.strict, + d = void 0 !== c && c, + f = r.sensitive; + if (null == s) return n; + var h = (function(e, t) { + var n = "" + t.end + t.strict + t.sensitive, + r = a[n] || (a[n] = {}); + if (r[e]) return r[e]; + var s = [], + u = { re: i()(e, s, t), keys: s }; + return o < 1e4 && ((r[e] = u), o++), u; + })(s, { end: l, strict: d, sensitive: void 0 !== f && f }), + p = h.re, + g = h.keys, + m = p.exec(e); + if (!m) return null; + var v = m[0], + y = m.slice(1), + x = e === v; + return l && !x + ? null + : { + path: s, + url: "/" === s && "" === v ? "/" : v, + isExact: x, + params: g.reduce(function(e, t, n) { + return (e[t.name] = y[n]), e; + }, {}) + }; + }; + }, + function(e, t, n) { + var r = n(43); + (e.exports = h), + (e.exports.parse = a), + (e.exports.compile = function(e, t) { + return s(a(e, t)); + }), + (e.exports.tokensToFunction = s), + (e.exports.tokensToRegExp = f); + var i = new RegExp( + [ + "(\\\\.)", + "([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))" + ].join("|"), + "g" + ); + function a(e, t) { + for ( + var n, r = [], a = 0, o = 0, s = "", c = (t && t.delimiter) || "/"; + null != (n = i.exec(e)); + + ) { + var d = n[0], + f = n[1], + h = n.index; + if (((s += e.slice(o, h)), (o = h + d.length), f)) s += f[1]; + else { + var p = e[o], + g = n[2], + m = n[3], + v = n[4], + y = n[5], + x = n[6], + b = n[7]; + s && (r.push(s), (s = "")); + var _ = null != g && null != p && p !== g, + w = "+" === x || "*" === x, + S = "?" === x || "*" === x, + T = n[2] || c, + E = v || y; + r.push({ + name: m || a++, + prefix: g || "", + delimiter: T, + optional: S, + repeat: w, + partial: _, + asterisk: !!b, + pattern: E ? l(E) : b ? ".*" : "[^" + u(T) + "]+?" + }); + } + } + return o < e.length && (s += e.substr(o)), s && r.push(s), r; + } + function o(e) { + return encodeURI(e).replace(/[\/?#]/g, function(e) { + return ( + "%" + + e + .charCodeAt(0) + .toString(16) + .toUpperCase() + ); + }); + } + function s(e) { + for (var t = new Array(e.length), n = 0; n < e.length; n++) + "object" === typeof e[n] && + (t[n] = new RegExp("^(?:" + e[n].pattern + ")$")); + return function(n, i) { + for ( + var a = "", + s = n || {}, + u = (i || {}).pretty ? o : encodeURIComponent, + l = 0; + l < e.length; + l++ + ) { + var c = e[l]; + if ("string" !== typeof c) { + var d, + f = s[c.name]; + if (null == f) { + if (c.optional) { + c.partial && (a += c.prefix); + continue; + } + throw new TypeError('Expected "' + c.name + '" to be defined'); + } + if (r(f)) { + if (!c.repeat) + throw new TypeError( + 'Expected "' + + c.name + + '" to not repeat, but received `' + + JSON.stringify(f) + + "`" + ); + if (0 === f.length) { + if (c.optional) continue; + throw new TypeError( + 'Expected "' + c.name + '" to not be empty' + ); + } + for (var h = 0; h < f.length; h++) { + if (((d = u(f[h])), !t[l].test(d))) + throw new TypeError( + 'Expected all "' + + c.name + + '" to match "' + + c.pattern + + '", but received `' + + JSON.stringify(d) + + "`" + ); + a += (0 === h ? c.prefix : c.delimiter) + d; + } + } else { + if ( + ((d = c.asterisk + ? encodeURI(f).replace(/[?#]/g, function(e) { + return ( + "%" + + e + .charCodeAt(0) + .toString(16) + .toUpperCase() + ); + }) + : u(f)), + !t[l].test(d)) + ) + throw new TypeError( + 'Expected "' + + c.name + + '" to match "' + + c.pattern + + '", but received "' + + d + + '"' + ); + a += c.prefix + d; + } + } else a += c; + } + return a; + }; + } + function u(e) { + return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g, "\\$1"); + } + function l(e) { + return e.replace(/([=!:$\/()])/g, "\\$1"); + } + function c(e, t) { + return (e.keys = t), e; + } + function d(e) { + return e.sensitive ? "" : "i"; + } + function f(e, t, n) { + r(t) || ((n = t || n), (t = [])); + for ( + var i = (n = n || {}).strict, a = !1 !== n.end, o = "", s = 0; + s < e.length; + s++ + ) { + var l = e[s]; + if ("string" === typeof l) o += u(l); + else { + var f = u(l.prefix), + h = "(?:" + l.pattern + ")"; + t.push(l), + l.repeat && (h += "(?:" + f + h + ")*"), + (o += h = l.optional + ? l.partial + ? f + "(" + h + ")?" + : "(?:" + f + "(" + h + "))?" + : f + "(" + h + ")"); + } + } + var p = u(n.delimiter || "/"), + g = o.slice(-p.length) === p; + return ( + i || (o = (g ? o.slice(0, -p.length) : o) + "(?:" + p + "(?=$))?"), + (o += a ? "$" : i && g ? "" : "(?=" + p + "|$)"), + c(new RegExp("^" + o, d(n)), t) + ); + } + function h(e, t, n) { + return ( + r(t) || ((n = t || n), (t = [])), + (n = n || {}), + e instanceof RegExp + ? (function(e, t) { + var n = e.source.match(/\((?!\?)/g); + if (n) + for (var r = 0; r < n.length; r++) + t.push({ + name: r, + prefix: null, + delimiter: null, + optional: !1, + repeat: !1, + partial: !1, + asterisk: !1, + pattern: null + }); + return c(e, t); + })(e, t) + : r(e) + ? (function(e, t, n) { + for (var r = [], i = 0; i < e.length; i++) + r.push(h(e[i], t, n).source); + return c(new RegExp("(?:" + r.join("|") + ")", d(n)), t); + })(e, t, n) + : (function(e, t, n) { + return f(a(e, n), t, n); + })(e, t, n) + ); + } + }, + function(e, t, n) { + e.exports = n(47); + }, + function(e, t, n) { + "use strict"; + !(function e() { + if ( + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && + "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE + ) + try { + __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e); + } catch (t) { + console.error(t); + } + })(), + (e.exports = n(35)); + }, + function(e, t, n) { + "use strict"; + var r = Object.getOwnPropertySymbols, + i = Object.prototype.hasOwnProperty, + a = Object.prototype.propertyIsEnumerable; + e.exports = (function() { + try { + if (!Object.assign) return !1; + var e = new String("abc"); + if (((e[5] = "de"), "5" === Object.getOwnPropertyNames(e)[0])) + return !1; + for (var t = {}, n = 0; n < 10; n++) + t["_" + String.fromCharCode(n)] = n; + if ( + "0123456789" !== + Object.getOwnPropertyNames(t) + .map(function(e) { + return t[e]; + }) + .join("") + ) + return !1; + var r = {}; + return ( + "abcdefghijklmnopqrst".split("").forEach(function(e) { + r[e] = e; + }), + "abcdefghijklmnopqrst" === + Object.keys(Object.assign({}, r)).join("") + ); + } catch (i) { + return !1; + } + })() + ? Object.assign + : function(e, t) { + for ( + var n, + o, + s = (function(e) { + if (null === e || void 0 === e) + throw new TypeError( + "Object.assign cannot be called with null or undefined" + ); + return Object(e); + })(e), + u = 1; + u < arguments.length; + u++ + ) { + for (var l in (n = Object(arguments[u]))) + i.call(n, l) && (s[l] = n[l]); + if (r) { + o = r(n); + for (var c = 0; c < o.length; c++) + a.call(n, o[c]) && (s[o[c]] = n[o[c]]); + } + } + return s; + }; + }, + function(e, t, n) { + "use strict"; + e.exports = function(e, t) { + return function() { + for (var n = new Array(arguments.length), r = 0; r < n.length; r++) + n[r] = arguments[r]; + return e.apply(t, n); + }; + }; + }, + function(e, t, n) { + "use strict"; + var r = n(10); + function i(e) { + return encodeURIComponent(e) + .replace(/%40/gi, "@") + .replace(/%3A/gi, ":") + .replace(/%24/g, "$") + .replace(/%2C/gi, ",") + .replace(/%20/g, "+") + .replace(/%5B/gi, "[") + .replace(/%5D/gi, "]"); + } + e.exports = function(e, t, n) { + if (!t) return e; + var a; + if (n) a = n(t); + else if (r.isURLSearchParams(t)) a = t.toString(); + else { + var o = []; + r.forEach(t, function(e, t) { + null !== e && + "undefined" !== typeof e && + (r.isArray(e) ? (t += "[]") : (e = [e]), + r.forEach(e, function(e) { + r.isDate(e) + ? (e = e.toISOString()) + : r.isObject(e) && (e = JSON.stringify(e)), + o.push(i(t) + "=" + i(e)); + })); + }), + (a = o.join("&")); + } + if (a) { + var s = e.indexOf("#"); + -1 !== s && (e = e.slice(0, s)), + (e += (-1 === e.indexOf("?") ? "?" : "&") + a); + } + return e; + }; + }, + function(e, t, n) { + "use strict"; + e.exports = function(e) { + return !(!e || !e.__CANCEL__); + }; + }, + function(e, t, n) { + "use strict"; + (function(t) { + var r = n(10), + i = n(53), + a = { "Content-Type": "application/x-www-form-urlencoded" }; + function o(e, t) { + !r.isUndefined(e) && + r.isUndefined(e["Content-Type"]) && + (e["Content-Type"] = t); + } + var s = { + adapter: (function() { + var e; + return ( + "undefined" !== typeof XMLHttpRequest + ? (e = n(25)) + : "undefined" !== typeof t && + "[object process]" === Object.prototype.toString.call(t) && + (e = n(25)), + e + ); + })(), + transformRequest: [ + function(e, t) { + return ( + i(t, "Accept"), + i(t, "Content-Type"), + r.isFormData(e) || + r.isArrayBuffer(e) || + r.isBuffer(e) || + r.isStream(e) || + r.isFile(e) || + r.isBlob(e) + ? e + : r.isArrayBufferView(e) + ? e.buffer + : r.isURLSearchParams(e) + ? (o( + t, + "application/x-www-form-urlencoded;charset=utf-8" + ), + e.toString()) + : r.isObject(e) + ? (o(t, "application/json;charset=utf-8"), + JSON.stringify(e)) + : e + ); + } + ], + transformResponse: [ + function(e) { + if ("string" === typeof e) + try { + e = JSON.parse(e); + } catch (t) {} + return e; + } + ], + timeout: 0, + xsrfCookieName: "XSRF-TOKEN", + xsrfHeaderName: "X-XSRF-TOKEN", + maxContentLength: -1, + validateStatus: function(e) { + return e >= 200 && e < 300; + }, + headers: { common: { Accept: "application/json, text/plain, */*" } } + }; + r.forEach(["delete", "get", "head"], function(e) { + s.headers[e] = {}; + }), + r.forEach(["post", "put", "patch"], function(e) { + s.headers[e] = r.merge(a); + }), + (e.exports = s); + }.call(this, n(52))); + }, + function(e, t, n) { + "use strict"; + var r = n(10), + i = n(54), + a = n(22), + o = n(56), + s = n(59), + u = n(60), + l = n(26); + e.exports = function(e) { + return new Promise(function(t, c) { + var d = e.data, + f = e.headers; + r.isFormData(d) && delete f["Content-Type"]; + var h = new XMLHttpRequest(); + if (e.auth) { + var p = e.auth.username || "", + g = e.auth.password || ""; + f.Authorization = "Basic " + btoa(p + ":" + g); + } + var m = o(e.baseURL, e.url); + if ( + (h.open( + e.method.toUpperCase(), + a(m, e.params, e.paramsSerializer), + !0 + ), + (h.timeout = e.timeout), + (h.onreadystatechange = function() { + if ( + h && + 4 === h.readyState && + (0 !== h.status || + (h.responseURL && 0 === h.responseURL.indexOf("file:"))) + ) { + var n = + "getAllResponseHeaders" in h + ? s(h.getAllResponseHeaders()) + : null, + r = { + data: + e.responseType && "text" !== e.responseType + ? h.response + : h.responseText, + status: h.status, + statusText: h.statusText, + headers: n, + config: e, + request: h + }; + i(t, c, r), (h = null); + } + }), + (h.onabort = function() { + h && (c(l("Request aborted", e, "ECONNABORTED", h)), (h = null)); + }), + (h.onerror = function() { + c(l("Network Error", e, null, h)), (h = null); + }), + (h.ontimeout = function() { + var t = "timeout of " + e.timeout + "ms exceeded"; + e.timeoutErrorMessage && (t = e.timeoutErrorMessage), + c(l(t, e, "ECONNABORTED", h)), + (h = null); + }), + r.isStandardBrowserEnv()) + ) { + var v = n(61), + y = + (e.withCredentials || u(m)) && e.xsrfCookieName + ? v.read(e.xsrfCookieName) + : void 0; + y && (f[e.xsrfHeaderName] = y); + } + if ( + ("setRequestHeader" in h && + r.forEach(f, function(e, t) { + "undefined" === typeof d && "content-type" === t.toLowerCase() + ? delete f[t] + : h.setRequestHeader(t, e); + }), + r.isUndefined(e.withCredentials) || + (h.withCredentials = !!e.withCredentials), + e.responseType) + ) + try { + h.responseType = e.responseType; + } catch (x) { + if ("json" !== e.responseType) throw x; + } + "function" === typeof e.onDownloadProgress && + h.addEventListener("progress", e.onDownloadProgress), + "function" === typeof e.onUploadProgress && + h.upload && + h.upload.addEventListener("progress", e.onUploadProgress), + e.cancelToken && + e.cancelToken.promise.then(function(e) { + h && (h.abort(), c(e), (h = null)); + }), + void 0 === d && (d = null), + h.send(d); + }); + }; + }, + function(e, t, n) { + "use strict"; + var r = n(55); + e.exports = function(e, t, n, i, a) { + var o = new Error(e); + return r(o, t, n, i, a); + }; + }, + function(e, t, n) { + "use strict"; + var r = n(10); + e.exports = function(e, t) { + t = t || {}; + var n = {}, + i = ["url", "method", "params", "data"], + a = ["headers", "auth", "proxy"], + o = [ + "baseURL", + "url", + "transformRequest", + "transformResponse", + "paramsSerializer", + "timeout", + "withCredentials", + "adapter", + "responseType", + "xsrfCookieName", + "xsrfHeaderName", + "onUploadProgress", + "onDownloadProgress", + "maxContentLength", + "validateStatus", + "maxRedirects", + "httpAgent", + "httpsAgent", + "cancelToken", + "socketPath" + ]; + r.forEach(i, function(e) { + "undefined" !== typeof t[e] && (n[e] = t[e]); + }), + r.forEach(a, function(i) { + r.isObject(t[i]) + ? (n[i] = r.deepMerge(e[i], t[i])) + : "undefined" !== typeof t[i] + ? (n[i] = t[i]) + : r.isObject(e[i]) + ? (n[i] = r.deepMerge(e[i])) + : "undefined" !== typeof e[i] && (n[i] = e[i]); + }), + r.forEach(o, function(r) { + "undefined" !== typeof t[r] + ? (n[r] = t[r]) + : "undefined" !== typeof e[r] && (n[r] = e[r]); + }); + var s = i.concat(a).concat(o), + u = Object.keys(t).filter(function(e) { + return -1 === s.indexOf(e); + }); + return ( + r.forEach(u, function(r) { + "undefined" !== typeof t[r] + ? (n[r] = t[r]) + : "undefined" !== typeof e[r] && (n[r] = e[r]); + }), + n + ); + }; + }, + function(e, t, n) { + "use strict"; + function r(e) { + this.message = e; + } + (r.prototype.toString = function() { + return "Cancel" + (this.message ? ": " + this.message : ""); + }), + (r.prototype.__CANCEL__ = !0), + (e.exports = r); + }, + function(e, t, n) { + "use strict"; + var r = { + childContextTypes: !0, + contextTypes: !0, + defaultProps: !0, + displayName: !0, + getDefaultProps: !0, + getDerivedStateFromProps: !0, + mixins: !0, + propTypes: !0, + type: !0 + }, + i = { + name: !0, + length: !0, + prototype: !0, + caller: !0, + callee: !0, + arguments: !0, + arity: !0 + }, + a = Object.defineProperty, + o = Object.getOwnPropertyNames, + s = Object.getOwnPropertySymbols, + u = Object.getOwnPropertyDescriptor, + l = Object.getPrototypeOf, + c = l && l(Object); + e.exports = function e(t, n, d) { + if ("string" !== typeof n) { + if (c) { + var f = l(n); + f && f !== c && e(t, f, d); + } + var h = o(n); + s && (h = h.concat(s(n))); + for (var p = 0; p < h.length; ++p) { + var g = h[p]; + if (!r[g] && !i[g] && (!d || !d[g])) { + var m = u(n, g); + try { + a(t, g, m); + } catch (v) {} + } + } + return t; + } + return t; + }; + }, + function(e, t, n) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }); + var r = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }, + i = (function() { + function e(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + return function(t, n, r) { + return n && e(t.prototype, n), r && e(t, r), t; + }; + })(), + a = u(n(0)), + o = u(n(1)), + s = n(19); + function u(e) { + return e && e.__esModule ? e : { default: e }; + } + var l = void 0, + c = (function(e) { + function t() { + return ( + (function(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (function(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || ("object" !== typeof t && "function" !== typeof t) + ? e + : t; + })( + this, + (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments) + ) + ); + } + return ( + (function(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + })(t, a.default.Component), + i( + t, + [ + { + key: "componentDidMount", + value: function() { + (l = n(45)), this.updateChart(this.props); + } + }, + { + key: "componentWillReceiveProps", + value: function(e) { + this.updateChart(e); + } + }, + { + key: "componentWillUnmount", + value: function() { + this.destroyChart(); + } + }, + { + key: "destroyChart", + value: function() { + try { + this.chart = this.chart.destroy(); + } catch (e) { + throw new Error("Internal C3 error", e); + } + } + }, + { + key: "generateChart", + value: function(e, t) { + var n = r({ bindto: e }, t); + return l.generate(n); + } + }, + { + key: "loadNewData", + value: function(e) { + this.chart.load(e); + } + }, + { + key: "unloadData", + value: function() { + this.chart.unload(); + } + }, + { + key: "updateChart", + value: function(e) { + this.chart || + (this.chart = this.generateChart( + (0, s.findDOMNode)(this), + e + )), + e.unloadBeforeLoad && this.unloadData(), + this.loadNewData(e.data); + } + }, + { + key: "render", + value: function() { + var e = this.props.className + ? " " + this.props.className + : "", + t = this.props.style ? this.props.style : {}; + return a.default.createElement("div", { + className: e, + style: t + }); + } + } + ], + [ + { + key: "displayName", + get: function() { + return "C3Chart"; + } + }, + { + key: "propTypes", + get: function() { + return { + data: o.default.object.isRequired, + title: o.default.object, + size: o.default.object, + padding: o.default.object, + color: o.default.object, + interaction: o.default.object, + transition: o.default.object, + oninit: o.default.func, + onrendered: o.default.func, + onmouseover: o.default.func, + onmouseout: o.default.func, + onresize: o.default.func, + onresized: o.default.func, + axis: o.default.object, + grid: o.default.object, + regions: o.default.array, + legend: o.default.object, + tooltip: o.default.object, + subchart: o.default.object, + zoom: o.default.object, + point: o.default.object, + line: o.default.object, + area: o.default.object, + bar: o.default.object, + pie: o.default.object, + donut: o.default.object, + gauge: o.default.object, + className: o.default.string, + style: o.default.object, + unloadBeforeLoad: o.default.bool + }; + } + } + ] + ), + t + ); + })(); + t.default = c; + }, + function(e, t, n) { + "use strict"; + var r = function() {}; + e.exports = r; + }, + , + , + function(e, t, n) { + "use strict"; + var r = n(20), + i = "function" === typeof Symbol && Symbol.for, + a = i ? Symbol.for("react.element") : 60103, + o = i ? Symbol.for("react.portal") : 60106, + s = i ? Symbol.for("react.fragment") : 60107, + u = i ? Symbol.for("react.strict_mode") : 60108, + l = i ? Symbol.for("react.profiler") : 60114, + c = i ? Symbol.for("react.provider") : 60109, + d = i ? Symbol.for("react.context") : 60110, + f = i ? Symbol.for("react.async_mode") : 60111, + h = i ? Symbol.for("react.forward_ref") : 60112; + i && Symbol.for("react.placeholder"); + var p = "function" === typeof Symbol && Symbol.iterator; + function g(e) { + for ( + var t = arguments.length - 1, + n = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, + r = 0; + r < t; + r++ + ) + n += "&args[]=" + encodeURIComponent(arguments[r + 1]); + !(function(e, t, n, r, i, a, o, s) { + if (!e) { + if (((e = void 0), void 0 === t)) + e = Error( + "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings." + ); + else { + var u = [n, r, i, a, o, s], + l = 0; + (e = Error( + t.replace(/%s/g, function() { + return u[l++]; + }) + )).name = "Invariant Violation"; + } + throw ((e.framesToPop = 1), e); + } + })( + !1, + "Minified React error #" + + e + + "; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ", + n + ); + } + var m = { + isMounted: function() { + return !1; + }, + enqueueForceUpdate: function() {}, + enqueueReplaceState: function() {}, + enqueueSetState: function() {} + }, + v = {}; + function y(e, t, n) { + (this.props = e), + (this.context = t), + (this.refs = v), + (this.updater = n || m); + } + function x() {} + function b(e, t, n) { + (this.props = e), + (this.context = t), + (this.refs = v), + (this.updater = n || m); + } + (y.prototype.isReactComponent = {}), + (y.prototype.setState = function(e, t) { + "object" !== typeof e && + "function" !== typeof e && + null != e && + g("85"), + this.updater.enqueueSetState(this, e, t, "setState"); + }), + (y.prototype.forceUpdate = function(e) { + this.updater.enqueueForceUpdate(this, e, "forceUpdate"); + }), + (x.prototype = y.prototype); + var _ = (b.prototype = new x()); + (_.constructor = b), r(_, y.prototype), (_.isPureReactComponent = !0); + var w = { current: null, currentDispatcher: null }, + S = Object.prototype.hasOwnProperty, + T = { key: !0, ref: !0, __self: !0, __source: !0 }; + function E(e, t, n) { + var r = void 0, + i = {}, + o = null, + s = null; + if (null != t) + for (r in (void 0 !== t.ref && (s = t.ref), + void 0 !== t.key && (o = "" + t.key), + t)) + S.call(t, r) && !T.hasOwnProperty(r) && (i[r] = t[r]); + var u = arguments.length - 2; + if (1 === u) i.children = n; + else if (1 < u) { + for (var l = Array(u), c = 0; c < u; c++) l[c] = arguments[c + 2]; + i.children = l; + } + if (e && e.defaultProps) + for (r in (u = e.defaultProps)) void 0 === i[r] && (i[r] = u[r]); + return { + $$typeof: a, + type: e, + key: o, + ref: s, + props: i, + _owner: w.current + }; + } + function C(e) { + return "object" === typeof e && null !== e && e.$$typeof === a; + } + var O = /\/+/g, + P = []; + function A(e, t, n, r) { + if (P.length) { + var i = P.pop(); + return ( + (i.result = e), + (i.keyPrefix = t), + (i.func = n), + (i.context = r), + (i.count = 0), + i + ); + } + return { result: e, keyPrefix: t, func: n, context: r, count: 0 }; + } + function k(e) { + (e.result = null), + (e.keyPrefix = null), + (e.func = null), + (e.context = null), + (e.count = 0), + 10 > P.length && P.push(e); + } + function N(e, t, n) { + return null == e + ? 0 + : (function e(t, n, r, i) { + var s = typeof t; + ("undefined" !== s && "boolean" !== s) || (t = null); + var u = !1; + if (null === t) u = !0; + else + switch (s) { + case "string": + case "number": + u = !0; + break; + case "object": + switch (t.$$typeof) { + case a: + case o: + u = !0; + } + } + if (u) return r(i, t, "" === n ? "." + M(t, 0) : n), 1; + if (((u = 0), (n = "" === n ? "." : n + ":"), Array.isArray(t))) + for (var l = 0; l < t.length; l++) { + var c = n + M((s = t[l]), l); + u += e(s, c, r, i); + } + else if ( + ((c = + null === t || "object" !== typeof t + ? null + : "function" === typeof (c = (p && t[p]) || t["@@iterator"]) + ? c + : null), + "function" === typeof c) + ) + for (t = c.call(t), l = 0; !(s = t.next()).done; ) + u += e((s = s.value), (c = n + M(s, l++)), r, i); + else + "object" === s && + g( + "31", + "[object Object]" === (r = "" + t) + ? "object with keys {" + Object.keys(t).join(", ") + "}" + : r, + "" + ); + return u; + })(e, "", t, n); + } + function M(e, t) { + return "object" === typeof e && null !== e && null != e.key + ? (function(e) { + var t = { "=": "=0", ":": "=2" }; + return ( + "$" + + ("" + e).replace(/[=:]/g, function(e) { + return t[e]; + }) + ); + })(e.key) + : t.toString(36); + } + function L(e, t) { + e.func.call(e.context, t, e.count++); + } + function j(e, t, n) { + var r = e.result, + i = e.keyPrefix; + (e = e.func.call(e.context, t, e.count++)), + Array.isArray(e) + ? R(e, r, n, function(e) { + return e; + }) + : null != e && + (C(e) && + (e = (function(e, t) { + return { + $$typeof: a, + type: e.type, + key: t, + ref: e.ref, + props: e.props, + _owner: e._owner + }; + })( + e, + i + + (!e.key || (t && t.key === e.key) + ? "" + : ("" + e.key).replace(O, "$&/") + "/") + + n + )), + r.push(e)); + } + function R(e, t, n, r, i) { + var a = ""; + null != n && (a = ("" + n).replace(O, "$&/") + "/"), + N(e, j, (t = A(t, a, r, i))), + k(t); + } + var I = { + Children: { + map: function(e, t, n) { + if (null == e) return e; + var r = []; + return R(e, r, null, t, n), r; + }, + forEach: function(e, t, n) { + if (null == e) return e; + N(e, L, (t = A(null, null, t, n))), k(t); + }, + count: function(e) { + return N( + e, + function() { + return null; + }, + null + ); + }, + toArray: function(e) { + var t = []; + return ( + R(e, t, null, function(e) { + return e; + }), + t + ); + }, + only: function(e) { + return C(e) || g("143"), e; + } + }, + createRef: function() { + return { current: null }; + }, + Component: y, + PureComponent: b, + createContext: function(e, t) { + return ( + void 0 === t && (t = null), + ((e = { + $$typeof: d, + _calculateChangedBits: t, + _currentValue: e, + _currentValue2: e, + Provider: null, + Consumer: null, + unstable_read: null + }).Provider = { $$typeof: c, _context: e }), + (e.Consumer = e), + (e.unstable_read = function(e, t) { + var n = w.currentDispatcher; + return null === n && g("277"), n.readContext(e, t); + }.bind(null, e)), + e + ); + }, + forwardRef: function(e) { + return { $$typeof: h, render: e }; + }, + Fragment: s, + StrictMode: u, + unstable_AsyncMode: f, + unstable_Profiler: l, + createElement: E, + cloneElement: function(e, t, n) { + (null === e || void 0 === e) && g("267", e); + var i = void 0, + o = r({}, e.props), + s = e.key, + u = e.ref, + l = e._owner; + if (null != t) { + void 0 !== t.ref && ((u = t.ref), (l = w.current)), + void 0 !== t.key && (s = "" + t.key); + var c = void 0; + for (i in (e.type && + e.type.defaultProps && + (c = e.type.defaultProps), + t)) + S.call(t, i) && + !T.hasOwnProperty(i) && + (o[i] = void 0 === t[i] && void 0 !== c ? c[i] : t[i]); + } + if (1 === (i = arguments.length - 2)) o.children = n; + else if (1 < i) { + c = Array(i); + for (var d = 0; d < i; d++) c[d] = arguments[d + 2]; + o.children = c; + } + return { + $$typeof: a, + type: e.type, + key: s, + ref: u, + props: o, + _owner: l + }; + }, + createFactory: function(e) { + var t = E.bind(null, e); + return (t.type = e), t; + }, + isValidElement: C, + version: "16.5.2", + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { + ReactCurrentOwner: w, + assign: r + } + }, + V = { default: I }, + F = (V && I) || V; + e.exports = F.default || F; + }, + function(e, t, n) { + "use strict"; + var r = n(0), + i = n(20), + a = n(36); + function o(e) { + for ( + var t = arguments.length - 1, + n = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, + r = 0; + r < t; + r++ + ) + n += "&args[]=" + encodeURIComponent(arguments[r + 1]); + !(function(e, t, n, r, i, a, o, s) { + if (!e) { + if (((e = void 0), void 0 === t)) + e = Error( + "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings." + ); + else { + var u = [n, r, i, a, o, s], + l = 0; + (e = Error( + t.replace(/%s/g, function() { + return u[l++]; + }) + )).name = "Invariant Violation"; + } + throw ((e.framesToPop = 1), e); + } + })( + !1, + "Minified React error #" + + e + + "; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ", + n + ); + } + r || o("227"); + var s = !1, + u = null, + l = !1, + c = null, + d = { + onError: function(e) { + (s = !0), (u = e); + } + }; + function f(e, t, n, r, i, a, o, l, c) { + (s = !1), + (u = null), + function(e, t, n, r, i, a, o, s, u) { + var l = Array.prototype.slice.call(arguments, 3); + try { + t.apply(n, l); + } catch (c) { + this.onError(c); + } + }.apply(d, arguments); + } + var h = null, + p = {}; + function g() { + if (h) + for (var e in p) { + var t = p[e], + n = h.indexOf(e); + if ((-1 < n || o("96", e), !v[n])) + for (var r in (t.extractEvents || o("97", e), + (v[n] = t), + (n = t.eventTypes))) { + var i = void 0, + a = n[r], + s = t, + u = r; + y.hasOwnProperty(u) && o("99", u), (y[u] = a); + var l = a.phasedRegistrationNames; + if (l) { + for (i in l) l.hasOwnProperty(i) && m(l[i], s, u); + i = !0; + } else + a.registrationName + ? (m(a.registrationName, s, u), (i = !0)) + : (i = !1); + i || o("98", r, e); + } + } + } + function m(e, t, n) { + x[e] && o("100", e), (x[e] = t), (b[e] = t.eventTypes[n].dependencies); + } + var v = [], + y = {}, + x = {}, + b = {}, + _ = null, + w = null, + S = null; + function T(e, t, n, r) { + (t = e.type || "unknown-event"), + (e.currentTarget = S(r)), + (function(e, t, n, r, i, a, d, h, p) { + if ((f.apply(this, arguments), s)) { + if (s) { + var g = u; + (s = !1), (u = null); + } else o("198"), (g = void 0); + l || ((l = !0), (c = g)); + } + })(t, n, void 0, e), + (e.currentTarget = null); + } + function E(e, t) { + return ( + null == t && o("30"), + null == e + ? t + : Array.isArray(e) + ? Array.isArray(t) + ? (e.push.apply(e, t), e) + : (e.push(t), e) + : Array.isArray(t) + ? [e].concat(t) + : [e, t] + ); + } + function C(e, t, n) { + Array.isArray(e) ? e.forEach(t, n) : e && t.call(n, e); + } + var O = null; + function P(e, t) { + if (e) { + var n = e._dispatchListeners, + r = e._dispatchInstances; + if (Array.isArray(n)) + for (var i = 0; i < n.length && !e.isPropagationStopped(); i++) + T(e, t, n[i], r[i]); + else n && T(e, t, n, r); + (e._dispatchListeners = null), + (e._dispatchInstances = null), + e.isPersistent() || e.constructor.release(e); + } + } + function A(e) { + return P(e, !0); + } + function k(e) { + return P(e, !1); + } + var N = { + injectEventPluginOrder: function(e) { + h && o("101"), (h = Array.prototype.slice.call(e)), g(); + }, + injectEventPluginsByName: function(e) { + var t, + n = !1; + for (t in e) + if (e.hasOwnProperty(t)) { + var r = e[t]; + (p.hasOwnProperty(t) && p[t] === r) || + (p[t] && o("102", t), (p[t] = r), (n = !0)); + } + n && g(); + } + }; + function M(e, t) { + var n = e.stateNode; + if (!n) return null; + var r = _(n); + if (!r) return null; + n = r[t]; + e: switch (t) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + (r = !r.disabled) || + (r = !( + "button" === (e = e.type) || + "input" === e || + "select" === e || + "textarea" === e + )), + (e = !r); + break e; + default: + e = !1; + } + return e + ? null + : (n && "function" !== typeof n && o("231", t, typeof n), n); + } + function L(e, t) { + if ( + (null !== e && (O = E(O, e)), + (e = O), + (O = null), + e && (C(e, t ? A : k), O && o("95"), l)) + ) + throw ((t = c), (l = !1), (c = null), t); + } + var j = Math.random() + .toString(36) + .slice(2), + R = "__reactInternalInstance$" + j, + I = "__reactEventHandlers$" + j; + function V(e) { + if (e[R]) return e[R]; + for (; !e[R]; ) { + if (!e.parentNode) return null; + e = e.parentNode; + } + return 7 === (e = e[R]).tag || 8 === e.tag ? e : null; + } + function F(e) { + return !(e = e[R]) || (7 !== e.tag && 8 !== e.tag) ? null : e; + } + function D(e) { + if (7 === e.tag || 8 === e.tag) return e.stateNode; + o("33"); + } + function G(e) { + return e[I] || null; + } + function z(e) { + do { + e = e.return; + } while (e && 7 !== e.tag); + return e || null; + } + function B(e, t, n) { + (t = M(e, n.dispatchConfig.phasedRegistrationNames[t])) && + ((n._dispatchListeners = E(n._dispatchListeners, t)), + (n._dispatchInstances = E(n._dispatchInstances, e))); + } + function H(e) { + if (e && e.dispatchConfig.phasedRegistrationNames) { + for (var t = e._targetInst, n = []; t; ) n.push(t), (t = z(t)); + for (t = n.length; 0 < t--; ) B(n[t], "captured", e); + for (t = 0; t < n.length; t++) B(n[t], "bubbled", e); + } + } + function U(e, t, n) { + e && + n && + n.dispatchConfig.registrationName && + (t = M(e, n.dispatchConfig.registrationName)) && + ((n._dispatchListeners = E(n._dispatchListeners, t)), + (n._dispatchInstances = E(n._dispatchInstances, e))); + } + function X(e) { + e && e.dispatchConfig.registrationName && U(e._targetInst, null, e); + } + function Y(e) { + C(e, H); + } + var W = !( + "undefined" === typeof window || + !window.document || + !window.document.createElement + ); + function q(e, t) { + var n = {}; + return ( + (n[e.toLowerCase()] = t.toLowerCase()), + (n["Webkit" + e] = "webkit" + t), + (n["Moz" + e] = "moz" + t), + n + ); + } + var Q = { + animationend: q("Animation", "AnimationEnd"), + animationiteration: q("Animation", "AnimationIteration"), + animationstart: q("Animation", "AnimationStart"), + transitionend: q("Transition", "TransitionEnd") + }, + $ = {}, + K = {}; + function Z(e) { + if ($[e]) return $[e]; + if (!Q[e]) return e; + var t, + n = Q[e]; + for (t in n) if (n.hasOwnProperty(t) && t in K) return ($[e] = n[t]); + return e; + } + W && + ((K = document.createElement("div").style), + "AnimationEvent" in window || + (delete Q.animationend.animation, + delete Q.animationiteration.animation, + delete Q.animationstart.animation), + "TransitionEvent" in window || delete Q.transitionend.transition); + var J = Z("animationend"), + ee = Z("animationiteration"), + te = Z("animationstart"), + ne = Z("transitionend"), + re = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split( + " " + ), + ie = null, + ae = null, + oe = null; + function se() { + if (oe) return oe; + var e, + t, + n = ae, + r = n.length, + i = "value" in ie ? ie.value : ie.textContent, + a = i.length; + for (e = 0; e < r && n[e] === i[e]; e++); + var o = r - e; + for (t = 1; t <= o && n[r - t] === i[a - t]; t++); + return (oe = i.slice(e, 1 < t ? 1 - t : void 0)); + } + function ue() { + return !0; + } + function le() { + return !1; + } + function ce(e, t, n, r) { + for (var i in ((this.dispatchConfig = e), + (this._targetInst = t), + (this.nativeEvent = n), + (e = this.constructor.Interface))) + e.hasOwnProperty(i) && + ((t = e[i]) + ? (this[i] = t(n)) + : "target" === i + ? (this.target = r) + : (this[i] = n[i])); + return ( + (this.isDefaultPrevented = (null != n.defaultPrevented + ? n.defaultPrevented + : !1 === n.returnValue) + ? ue + : le), + (this.isPropagationStopped = le), + this + ); + } + function de(e, t, n, r) { + if (this.eventPool.length) { + var i = this.eventPool.pop(); + return this.call(i, e, t, n, r), i; + } + return new this(e, t, n, r); + } + function fe(e) { + e instanceof this || o("279"), + e.destructor(), + 10 > this.eventPool.length && this.eventPool.push(e); + } + function he(e) { + (e.eventPool = []), (e.getPooled = de), (e.release = fe); + } + i(ce.prototype, { + preventDefault: function() { + this.defaultPrevented = !0; + var e = this.nativeEvent; + e && + (e.preventDefault + ? e.preventDefault() + : "unknown" !== typeof e.returnValue && (e.returnValue = !1), + (this.isDefaultPrevented = ue)); + }, + stopPropagation: function() { + var e = this.nativeEvent; + e && + (e.stopPropagation + ? e.stopPropagation() + : "unknown" !== typeof e.cancelBubble && (e.cancelBubble = !0), + (this.isPropagationStopped = ue)); + }, + persist: function() { + this.isPersistent = ue; + }, + isPersistent: le, + destructor: function() { + var e, + t = this.constructor.Interface; + for (e in t) this[e] = null; + (this.nativeEvent = this._targetInst = this.dispatchConfig = null), + (this.isPropagationStopped = this.isDefaultPrevented = le), + (this._dispatchInstances = this._dispatchListeners = null); + } + }), + (ce.Interface = { + type: null, + target: null, + currentTarget: function() { + return null; + }, + eventPhase: null, + bubbles: null, + cancelable: null, + timeStamp: function(e) { + return e.timeStamp || Date.now(); + }, + defaultPrevented: null, + isTrusted: null + }), + (ce.extend = function(e) { + function t() {} + function n() { + return r.apply(this, arguments); + } + var r = this; + t.prototype = r.prototype; + var a = new t(); + return ( + i(a, n.prototype), + (n.prototype = a), + (n.prototype.constructor = n), + (n.Interface = i({}, r.Interface, e)), + (n.extend = r.extend), + he(n), + n + ); + }), + he(ce); + var pe = ce.extend({ data: null }), + ge = ce.extend({ data: null }), + me = [9, 13, 27, 32], + ve = W && "CompositionEvent" in window, + ye = null; + W && "documentMode" in document && (ye = document.documentMode); + var xe = W && "TextEvent" in window && !ye, + be = W && (!ve || (ye && 8 < ye && 11 >= ye)), + _e = String.fromCharCode(32), + we = { + beforeInput: { + phasedRegistrationNames: { + bubbled: "onBeforeInput", + captured: "onBeforeInputCapture" + }, + dependencies: ["compositionend", "keypress", "textInput", "paste"] + }, + compositionEnd: { + phasedRegistrationNames: { + bubbled: "onCompositionEnd", + captured: "onCompositionEndCapture" + }, + dependencies: "blur compositionend keydown keypress keyup mousedown".split( + " " + ) + }, + compositionStart: { + phasedRegistrationNames: { + bubbled: "onCompositionStart", + captured: "onCompositionStartCapture" + }, + dependencies: "blur compositionstart keydown keypress keyup mousedown".split( + " " + ) + }, + compositionUpdate: { + phasedRegistrationNames: { + bubbled: "onCompositionUpdate", + captured: "onCompositionUpdateCapture" + }, + dependencies: "blur compositionupdate keydown keypress keyup mousedown".split( + " " + ) + } + }, + Se = !1; + function Te(e, t) { + switch (e) { + case "keyup": + return -1 !== me.indexOf(t.keyCode); + case "keydown": + return 229 !== t.keyCode; + case "keypress": + case "mousedown": + case "blur": + return !0; + default: + return !1; + } + } + function Ee(e) { + return "object" === typeof (e = e.detail) && "data" in e + ? e.data + : null; + } + var Ce = !1; + var Oe = { + eventTypes: we, + extractEvents: function(e, t, n, r) { + var i = void 0, + a = void 0; + if (ve) + e: { + switch (e) { + case "compositionstart": + i = we.compositionStart; + break e; + case "compositionend": + i = we.compositionEnd; + break e; + case "compositionupdate": + i = we.compositionUpdate; + break e; + } + i = void 0; + } + else + Ce + ? Te(e, n) && (i = we.compositionEnd) + : "keydown" === e && + 229 === n.keyCode && + (i = we.compositionStart); + return ( + i + ? (be && + "ko" !== n.locale && + (Ce || i !== we.compositionStart + ? i === we.compositionEnd && Ce && (a = se()) + : ((ae = "value" in (ie = r) ? ie.value : ie.textContent), + (Ce = !0))), + (i = pe.getPooled(i, t, n, r)), + a ? (i.data = a) : null !== (a = Ee(n)) && (i.data = a), + Y(i), + (a = i)) + : (a = null), + (e = xe + ? (function(e, t) { + switch (e) { + case "compositionend": + return Ee(t); + case "keypress": + return 32 !== t.which ? null : ((Se = !0), _e); + case "textInput": + return (e = t.data) === _e && Se ? null : e; + default: + return null; + } + })(e, n) + : (function(e, t) { + if (Ce) + return "compositionend" === e || (!ve && Te(e, t)) + ? ((e = se()), (oe = ae = ie = null), (Ce = !1), e) + : null; + switch (e) { + case "paste": + return null; + case "keypress": + if ( + !(t.ctrlKey || t.altKey || t.metaKey) || + (t.ctrlKey && t.altKey) + ) { + if (t.char && 1 < t.char.length) return t.char; + if (t.which) return String.fromCharCode(t.which); + } + return null; + case "compositionend": + return be && "ko" !== t.locale ? null : t.data; + default: + return null; + } + })(e, n)) + ? (((t = ge.getPooled(we.beforeInput, t, n, r)).data = e), Y(t)) + : (t = null), + null === a ? t : null === t ? a : [a, t] + ); + } + }, + Pe = null, + Ae = null, + ke = null; + function Ne(e) { + if ((e = w(e))) { + "function" !== typeof Pe && o("280"); + var t = _(e.stateNode); + Pe(e.stateNode, e.type, t); + } + } + function Me(e) { + Ae ? (ke ? ke.push(e) : (ke = [e])) : (Ae = e); + } + function Le() { + if (Ae) { + var e = Ae, + t = ke; + if (((ke = Ae = null), Ne(e), t)) + for (e = 0; e < t.length; e++) Ne(t[e]); + } + } + function je(e, t) { + return e(t); + } + function Re(e, t, n) { + return e(t, n); + } + function Ie() {} + var Ve = !1; + function Fe(e, t) { + if (Ve) return e(t); + Ve = !0; + try { + return je(e, t); + } finally { + (Ve = !1), (null !== Ae || null !== ke) && (Ie(), Le()); + } + } + var De = { + color: !0, + date: !0, + datetime: !0, + "datetime-local": !0, + email: !0, + month: !0, + number: !0, + password: !0, + range: !0, + search: !0, + tel: !0, + text: !0, + time: !0, + url: !0, + week: !0 + }; + function Ge(e) { + var t = e && e.nodeName && e.nodeName.toLowerCase(); + return "input" === t ? !!De[e.type] : "textarea" === t; + } + function ze(e) { + return ( + (e = e.target || e.srcElement || window).correspondingUseElement && + (e = e.correspondingUseElement), + 3 === e.nodeType ? e.parentNode : e + ); + } + function Be(e) { + if (!W) return !1; + var t = (e = "on" + e) in document; + return ( + t || + ((t = document.createElement("div")).setAttribute(e, "return;"), + (t = "function" === typeof t[e])), + t + ); + } + function He(e) { + var t = e.type; + return ( + (e = e.nodeName) && + "input" === e.toLowerCase() && + ("checkbox" === t || "radio" === t) + ); + } + function Ue(e) { + e._valueTracker || + (e._valueTracker = (function(e) { + var t = He(e) ? "checked" : "value", + n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), + r = "" + e[t]; + if ( + !e.hasOwnProperty(t) && + "undefined" !== typeof n && + "function" === typeof n.get && + "function" === typeof n.set + ) { + var i = n.get, + a = n.set; + return ( + Object.defineProperty(e, t, { + configurable: !0, + get: function() { + return i.call(this); + }, + set: function(e) { + (r = "" + e), a.call(this, e); + } + }), + Object.defineProperty(e, t, { enumerable: n.enumerable }), + { + getValue: function() { + return r; + }, + setValue: function(e) { + r = "" + e; + }, + stopTracking: function() { + (e._valueTracker = null), delete e[t]; + } + } + ); + } + })(e)); + } + function Xe(e) { + if (!e) return !1; + var t = e._valueTracker; + if (!t) return !0; + var n = t.getValue(), + r = ""; + return ( + e && (r = He(e) ? (e.checked ? "true" : "false") : e.value), + (e = r) !== n && (t.setValue(e), !0) + ); + } + var Ye = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, + We = /^(.*)[\\\/]/, + qe = "function" === typeof Symbol && Symbol.for, + Qe = qe ? Symbol.for("react.element") : 60103, + $e = qe ? Symbol.for("react.portal") : 60106, + Ke = qe ? Symbol.for("react.fragment") : 60107, + Ze = qe ? Symbol.for("react.strict_mode") : 60108, + Je = qe ? Symbol.for("react.profiler") : 60114, + et = qe ? Symbol.for("react.provider") : 60109, + tt = qe ? Symbol.for("react.context") : 60110, + nt = qe ? Symbol.for("react.async_mode") : 60111, + rt = qe ? Symbol.for("react.forward_ref") : 60112, + it = qe ? Symbol.for("react.placeholder") : 60113, + at = "function" === typeof Symbol && Symbol.iterator; + function ot(e) { + return null === e || "object" !== typeof e + ? null + : "function" === typeof (e = (at && e[at]) || e["@@iterator"]) + ? e + : null; + } + function st(e) { + if (null == e) return null; + if ("function" === typeof e) return e.displayName || e.name || null; + if ("string" === typeof e) return e; + switch (e) { + case nt: + return "AsyncMode"; + case Ke: + return "Fragment"; + case $e: + return "Portal"; + case Je: + return "Profiler"; + case Ze: + return "StrictMode"; + case it: + return "Placeholder"; + } + if ("object" === typeof e) { + switch (e.$$typeof) { + case tt: + return "Context.Consumer"; + case et: + return "Context.Provider"; + case rt: + var t = e.render; + return ( + (t = t.displayName || t.name || ""), + e.displayName || + ("" !== t ? "ForwardRef(" + t + ")" : "ForwardRef") + ); + } + if ( + "function" === typeof e.then && + (e = 1 === e._reactStatus ? e._reactResult : null) + ) + return st(e); + } + return null; + } + function ut(e) { + var t = ""; + do { + e: switch (e.tag) { + case 4: + case 0: + case 1: + case 2: + case 3: + case 7: + case 10: + var n = e._debugOwner, + r = e._debugSource, + i = st(e.type), + a = null; + n && (a = st(n.type)), + (n = i), + (i = ""), + r + ? (i = + " (at " + + r.fileName.replace(We, "") + + ":" + + r.lineNumber + + ")") + : a && (i = " (created by " + a + ")"), + (a = "\n in " + (n || "Unknown") + i); + break e; + default: + a = ""; + } + (t += a), (e = e.return); + } while (e); + return t; + } + var lt = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, + ct = Object.prototype.hasOwnProperty, + dt = {}, + ft = {}; + function ht(e, t, n, r, i) { + (this.acceptsBooleans = 2 === t || 3 === t || 4 === t), + (this.attributeName = r), + (this.attributeNamespace = i), + (this.mustUseProperty = n), + (this.propertyName = e), + (this.type = t); + } + var pt = {}; + "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style" + .split(" ") + .forEach(function(e) { + pt[e] = new ht(e, 0, !1, e, null); + }), + [ + ["acceptCharset", "accept-charset"], + ["className", "class"], + ["htmlFor", "for"], + ["httpEquiv", "http-equiv"] + ].forEach(function(e) { + var t = e[0]; + pt[t] = new ht(t, 1, !1, e[1], null); + }), + ["contentEditable", "draggable", "spellCheck", "value"].forEach( + function(e) { + pt[e] = new ht(e, 2, !1, e.toLowerCase(), null); + } + ), + [ + "autoReverse", + "externalResourcesRequired", + "focusable", + "preserveAlpha" + ].forEach(function(e) { + pt[e] = new ht(e, 2, !1, e, null); + }), + "allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope" + .split(" ") + .forEach(function(e) { + pt[e] = new ht(e, 3, !1, e.toLowerCase(), null); + }), + ["checked", "multiple", "muted", "selected"].forEach(function(e) { + pt[e] = new ht(e, 3, !0, e, null); + }), + ["capture", "download"].forEach(function(e) { + pt[e] = new ht(e, 4, !1, e, null); + }), + ["cols", "rows", "size", "span"].forEach(function(e) { + pt[e] = new ht(e, 6, !1, e, null); + }), + ["rowSpan", "start"].forEach(function(e) { + pt[e] = new ht(e, 5, !1, e.toLowerCase(), null); + }); + var gt = /[\-:]([a-z])/g; + function mt(e) { + return e[1].toUpperCase(); + } + function vt(e, t, n, r) { + var i = pt.hasOwnProperty(t) ? pt[t] : null; + (null !== i + ? 0 === i.type + : !r && + (2 < t.length && + ("o" === t[0] || "O" === t[0]) && + ("n" === t[1] || "N" === t[1]))) || + ((function(e, t, n, r) { + if ( + null === t || + "undefined" === typeof t || + (function(e, t, n, r) { + if (null !== n && 0 === n.type) return !1; + switch (typeof t) { + case "function": + case "symbol": + return !0; + case "boolean": + return ( + !r && + (null !== n + ? !n.acceptsBooleans + : "data-" !== (e = e.toLowerCase().slice(0, 5)) && + "aria-" !== e) + ); + default: + return !1; + } + })(e, t, n, r) + ) + return !0; + if (r) return !1; + if (null !== n) + switch (n.type) { + case 3: + return !t; + case 4: + return !1 === t; + case 5: + return isNaN(t); + case 6: + return isNaN(t) || 1 > t; + } + return !1; + })(t, n, i, r) && (n = null), + r || null === i + ? (function(e) { + return ( + !!ct.call(ft, e) || + (!ct.call(dt, e) && + (lt.test(e) ? (ft[e] = !0) : ((dt[e] = !0), !1))) + ); + })(t) && + (null === n ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) + : i.mustUseProperty + ? (e[i.propertyName] = null === n ? 3 !== i.type && "" : n) + : ((t = i.attributeName), + (r = i.attributeNamespace), + null === n + ? e.removeAttribute(t) + : ((n = + 3 === (i = i.type) || (4 === i && !0 === n) + ? "" + : "" + n), + r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n)))); + } + function yt(e) { + switch (typeof e) { + case "boolean": + case "number": + case "object": + case "string": + case "undefined": + return e; + default: + return ""; + } + } + function xt(e, t) { + var n = t.checked; + return i({}, t, { + defaultChecked: void 0, + defaultValue: void 0, + value: void 0, + checked: null != n ? n : e._wrapperState.initialChecked + }); + } + function bt(e, t) { + var n = null == t.defaultValue ? "" : t.defaultValue, + r = null != t.checked ? t.checked : t.defaultChecked; + (n = yt(null != t.value ? t.value : n)), + (e._wrapperState = { + initialChecked: r, + initialValue: n, + controlled: + "checkbox" === t.type || "radio" === t.type + ? null != t.checked + : null != t.value + }); + } + function _t(e, t) { + null != (t = t.checked) && vt(e, "checked", t, !1); + } + function wt(e, t) { + _t(e, t); + var n = yt(t.value), + r = t.type; + if (null != n) + "number" === r + ? ((0 === n && "" === e.value) || e.value != n) && + (e.value = "" + n) + : e.value !== "" + n && (e.value = "" + n); + else if ("submit" === r || "reset" === r) + return void e.removeAttribute("value"); + t.hasOwnProperty("value") + ? Tt(e, t.type, n) + : t.hasOwnProperty("defaultValue") && + Tt(e, t.type, yt(t.defaultValue)), + null == t.checked && + null != t.defaultChecked && + (e.defaultChecked = !!t.defaultChecked); + } + function St(e, t, n) { + if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) { + var r = t.type; + if ( + !( + ("submit" !== r && "reset" !== r) || + (void 0 !== t.value && null !== t.value) + ) + ) + return; + (t = "" + e._wrapperState.initialValue), + n || t === e.value || (e.value = t), + (e.defaultValue = t); + } + "" !== (n = e.name) && (e.name = ""), + (e.defaultChecked = !e.defaultChecked), + (e.defaultChecked = !!e._wrapperState.initialChecked), + "" !== n && (e.name = n); + } + function Tt(e, t, n) { + ("number" === t && e.ownerDocument.activeElement === e) || + (null == n + ? (e.defaultValue = "" + e._wrapperState.initialValue) + : e.defaultValue !== "" + n && (e.defaultValue = "" + n)); + } + "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height" + .split(" ") + .forEach(function(e) { + var t = e.replace(gt, mt); + pt[t] = new ht(t, 1, !1, e, null); + }), + "xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type" + .split(" ") + .forEach(function(e) { + var t = e.replace(gt, mt); + pt[t] = new ht(t, 1, !1, e, "http://www.w3.org/1999/xlink"); + }), + ["xml:base", "xml:lang", "xml:space"].forEach(function(e) { + var t = e.replace(gt, mt); + pt[t] = new ht(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace"); + }), + (pt.tabIndex = new ht("tabIndex", 1, !1, "tabindex", null)); + var Et = { + change: { + phasedRegistrationNames: { + bubbled: "onChange", + captured: "onChangeCapture" + }, + dependencies: "blur change click focus input keydown keyup selectionchange".split( + " " + ) + } + }; + function Ct(e, t, n) { + return ( + ((e = ce.getPooled(Et.change, e, t, n)).type = "change"), + Me(n), + Y(e), + e + ); + } + var Ot = null, + Pt = null; + function At(e) { + L(e, !1); + } + function kt(e) { + if (Xe(D(e))) return e; + } + function Nt(e, t) { + if ("change" === e) return t; + } + var Mt = !1; + function Lt() { + Ot && (Ot.detachEvent("onpropertychange", jt), (Pt = Ot = null)); + } + function jt(e) { + "value" === e.propertyName && kt(Pt) && Fe(At, (e = Ct(Pt, e, ze(e)))); + } + function Rt(e, t, n) { + "focus" === e + ? (Lt(), (Pt = n), (Ot = t).attachEvent("onpropertychange", jt)) + : "blur" === e && Lt(); + } + function It(e) { + if ("selectionchange" === e || "keyup" === e || "keydown" === e) + return kt(Pt); + } + function Vt(e, t) { + if ("click" === e) return kt(t); + } + function Ft(e, t) { + if ("input" === e || "change" === e) return kt(t); + } + W && + (Mt = + Be("input") && (!document.documentMode || 9 < document.documentMode)); + var Dt = { + eventTypes: Et, + _isInputEventSupported: Mt, + extractEvents: function(e, t, n, r) { + var i = t ? D(t) : window, + a = void 0, + o = void 0, + s = i.nodeName && i.nodeName.toLowerCase(); + if ( + ("select" === s || ("input" === s && "file" === i.type) + ? (a = Nt) + : Ge(i) + ? Mt + ? (a = Ft) + : ((a = It), (o = Rt)) + : (s = i.nodeName) && + "input" === s.toLowerCase() && + ("checkbox" === i.type || "radio" === i.type) && + (a = Vt), + a && (a = a(e, t))) + ) + return Ct(a, n, r); + o && o(e, i, t), + "blur" === e && + (e = i._wrapperState) && + e.controlled && + "number" === i.type && + Tt(i, "number", i.value); + } + }, + Gt = ce.extend({ view: null, detail: null }), + zt = { + Alt: "altKey", + Control: "ctrlKey", + Meta: "metaKey", + Shift: "shiftKey" + }; + function Bt(e) { + var t = this.nativeEvent; + return t.getModifierState + ? t.getModifierState(e) + : !!(e = zt[e]) && !!t[e]; + } + function Ht() { + return Bt; + } + var Ut = 0, + Xt = 0, + Yt = !1, + Wt = !1, + qt = Gt.extend({ + screenX: null, + screenY: null, + clientX: null, + clientY: null, + pageX: null, + pageY: null, + ctrlKey: null, + shiftKey: null, + altKey: null, + metaKey: null, + getModifierState: Ht, + button: null, + buttons: null, + relatedTarget: function(e) { + return ( + e.relatedTarget || + (e.fromElement === e.srcElement ? e.toElement : e.fromElement) + ); + }, + movementX: function(e) { + if ("movementX" in e) return e.movementX; + var t = Ut; + return ( + (Ut = e.screenX), + Yt ? ("mousemove" === e.type ? e.screenX - t : 0) : ((Yt = !0), 0) + ); + }, + movementY: function(e) { + if ("movementY" in e) return e.movementY; + var t = Xt; + return ( + (Xt = e.screenY), + Wt ? ("mousemove" === e.type ? e.screenY - t : 0) : ((Wt = !0), 0) + ); + } + }), + Qt = qt.extend({ + pointerId: null, + width: null, + height: null, + pressure: null, + tangentialPressure: null, + tiltX: null, + tiltY: null, + twist: null, + pointerType: null, + isPrimary: null + }), + $t = { + mouseEnter: { + registrationName: "onMouseEnter", + dependencies: ["mouseout", "mouseover"] + }, + mouseLeave: { + registrationName: "onMouseLeave", + dependencies: ["mouseout", "mouseover"] + }, + pointerEnter: { + registrationName: "onPointerEnter", + dependencies: ["pointerout", "pointerover"] + }, + pointerLeave: { + registrationName: "onPointerLeave", + dependencies: ["pointerout", "pointerover"] + } + }, + Kt = { + eventTypes: $t, + extractEvents: function(e, t, n, r) { + var i = "mouseover" === e || "pointerover" === e, + a = "mouseout" === e || "pointerout" === e; + if ((i && (n.relatedTarget || n.fromElement)) || (!a && !i)) + return null; + if ( + ((i = + r.window === r + ? r + : (i = r.ownerDocument) + ? i.defaultView || i.parentWindow + : window), + a + ? ((a = t), + (t = (t = n.relatedTarget || n.toElement) ? V(t) : null)) + : (a = null), + a === t) + ) + return null; + var o = void 0, + s = void 0, + u = void 0, + l = void 0; + "mouseout" === e || "mouseover" === e + ? ((o = qt), + (s = $t.mouseLeave), + (u = $t.mouseEnter), + (l = "mouse")) + : ("pointerout" !== e && "pointerover" !== e) || + ((o = Qt), + (s = $t.pointerLeave), + (u = $t.pointerEnter), + (l = "pointer")); + var c = null == a ? i : D(a); + if ( + ((i = null == t ? i : D(t)), + ((e = o.getPooled(s, a, n, r)).type = l + "leave"), + (e.target = c), + (e.relatedTarget = i), + ((n = o.getPooled(u, t, n, r)).type = l + "enter"), + (n.target = i), + (n.relatedTarget = c), + (r = t), + a && r) + ) + e: { + for (i = r, l = 0, o = t = a; o; o = z(o)) l++; + for (o = 0, u = i; u; u = z(u)) o++; + for (; 0 < l - o; ) (t = z(t)), l--; + for (; 0 < o - l; ) (i = z(i)), o--; + for (; l--; ) { + if (t === i || t === i.alternate) break e; + (t = z(t)), (i = z(i)); + } + t = null; + } + else t = null; + for ( + i = t, t = []; + a && a !== i && (null === (l = a.alternate) || l !== i); + + ) + t.push(a), (a = z(a)); + for ( + a = []; + r && r !== i && (null === (l = r.alternate) || l !== i); + + ) + a.push(r), (r = z(r)); + for (r = 0; r < t.length; r++) U(t[r], "bubbled", e); + for (r = a.length; 0 < r--; ) U(a[r], "captured", n); + return [e, n]; + } + }, + Zt = Object.prototype.hasOwnProperty; + function Jt(e, t) { + return e === t + ? 0 !== e || 0 !== t || 1 / e === 1 / t + : e !== e && t !== t; + } + function en(e, t) { + if (Jt(e, t)) return !0; + if ( + "object" !== typeof e || + null === e || + "object" !== typeof t || + null === t + ) + return !1; + var n = Object.keys(e), + r = Object.keys(t); + if (n.length !== r.length) return !1; + for (r = 0; r < n.length; r++) + if (!Zt.call(t, n[r]) || !Jt(e[n[r]], t[n[r]])) return !1; + return !0; + } + function tn(e) { + var t = e; + if (e.alternate) for (; t.return; ) t = t.return; + else { + if (0 !== (2 & t.effectTag)) return 1; + for (; t.return; ) if (0 !== (2 & (t = t.return).effectTag)) return 1; + } + return 5 === t.tag ? 2 : 3; + } + function nn(e) { + 2 !== tn(e) && o("188"); + } + function rn(e) { + if ( + !(e = (function(e) { + var t = e.alternate; + if (!t) return 3 === (t = tn(e)) && o("188"), 1 === t ? null : e; + for (var n = e, r = t; ; ) { + var i = n.return, + a = i ? i.alternate : null; + if (!i || !a) break; + if (i.child === a.child) { + for (var s = i.child; s; ) { + if (s === n) return nn(i), e; + if (s === r) return nn(i), t; + s = s.sibling; + } + o("188"); + } + if (n.return !== r.return) (n = i), (r = a); + else { + s = !1; + for (var u = i.child; u; ) { + if (u === n) { + (s = !0), (n = i), (r = a); + break; + } + if (u === r) { + (s = !0), (r = i), (n = a); + break; + } + u = u.sibling; + } + if (!s) { + for (u = a.child; u; ) { + if (u === n) { + (s = !0), (n = a), (r = i); + break; + } + if (u === r) { + (s = !0), (r = a), (n = i); + break; + } + u = u.sibling; + } + s || o("189"); + } + } + n.alternate !== r && o("190"); + } + return 5 !== n.tag && o("188"), n.stateNode.current === n ? e : t; + })(e)) + ) + return null; + for (var t = e; ; ) { + if (7 === t.tag || 8 === t.tag) return t; + if (t.child) (t.child.return = t), (t = t.child); + else { + if (t === e) break; + for (; !t.sibling; ) { + if (!t.return || t.return === e) return null; + t = t.return; + } + (t.sibling.return = t.return), (t = t.sibling); + } + } + return null; + } + var an = ce.extend({ + animationName: null, + elapsedTime: null, + pseudoElement: null + }), + on = ce.extend({ + clipboardData: function(e) { + return "clipboardData" in e + ? e.clipboardData + : window.clipboardData; + } + }), + sn = Gt.extend({ relatedTarget: null }); + function un(e) { + var t = e.keyCode; + return ( + "charCode" in e + ? 0 === (e = e.charCode) && 13 === t && (e = 13) + : (e = t), + 10 === e && (e = 13), + 32 <= e || 13 === e ? e : 0 + ); + } + var ln = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified" + }, + cn = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta" + }, + dn = Gt.extend({ + key: function(e) { + if (e.key) { + var t = ln[e.key] || e.key; + if ("Unidentified" !== t) return t; + } + return "keypress" === e.type + ? 13 === (e = un(e)) + ? "Enter" + : String.fromCharCode(e) + : "keydown" === e.type || "keyup" === e.type + ? cn[e.keyCode] || "Unidentified" + : ""; + }, + location: null, + ctrlKey: null, + shiftKey: null, + altKey: null, + metaKey: null, + repeat: null, + locale: null, + getModifierState: Ht, + charCode: function(e) { + return "keypress" === e.type ? un(e) : 0; + }, + keyCode: function(e) { + return "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0; + }, + which: function(e) { + return "keypress" === e.type + ? un(e) + : "keydown" === e.type || "keyup" === e.type + ? e.keyCode + : 0; + } + }), + fn = qt.extend({ dataTransfer: null }), + hn = Gt.extend({ + touches: null, + targetTouches: null, + changedTouches: null, + altKey: null, + metaKey: null, + ctrlKey: null, + shiftKey: null, + getModifierState: Ht + }), + pn = ce.extend({ + propertyName: null, + elapsedTime: null, + pseudoElement: null + }), + gn = qt.extend({ + deltaX: function(e) { + return "deltaX" in e + ? e.deltaX + : "wheelDeltaX" in e + ? -e.wheelDeltaX + : 0; + }, + deltaY: function(e) { + return "deltaY" in e + ? e.deltaY + : "wheelDeltaY" in e + ? -e.wheelDeltaY + : "wheelDelta" in e + ? -e.wheelDelta + : 0; + }, + deltaZ: null, + deltaMode: null + }), + mn = [ + ["abort", "abort"], + [J, "animationEnd"], + [ee, "animationIteration"], + [te, "animationStart"], + ["canplay", "canPlay"], + ["canplaythrough", "canPlayThrough"], + ["drag", "drag"], + ["dragenter", "dragEnter"], + ["dragexit", "dragExit"], + ["dragleave", "dragLeave"], + ["dragover", "dragOver"], + ["durationchange", "durationChange"], + ["emptied", "emptied"], + ["encrypted", "encrypted"], + ["ended", "ended"], + ["error", "error"], + ["gotpointercapture", "gotPointerCapture"], + ["load", "load"], + ["loadeddata", "loadedData"], + ["loadedmetadata", "loadedMetadata"], + ["loadstart", "loadStart"], + ["lostpointercapture", "lostPointerCapture"], + ["mousemove", "mouseMove"], + ["mouseout", "mouseOut"], + ["mouseover", "mouseOver"], + ["playing", "playing"], + ["pointermove", "pointerMove"], + ["pointerout", "pointerOut"], + ["pointerover", "pointerOver"], + ["progress", "progress"], + ["scroll", "scroll"], + ["seeking", "seeking"], + ["stalled", "stalled"], + ["suspend", "suspend"], + ["timeupdate", "timeUpdate"], + ["toggle", "toggle"], + ["touchmove", "touchMove"], + [ne, "transitionEnd"], + ["waiting", "waiting"], + ["wheel", "wheel"] + ], + vn = {}, + yn = {}; + function xn(e, t) { + var n = e[0], + r = "on" + ((e = e[1])[0].toUpperCase() + e.slice(1)); + (t = { + phasedRegistrationNames: { bubbled: r, captured: r + "Capture" }, + dependencies: [n], + isInteractive: t + }), + (vn[e] = t), + (yn[n] = t); + } + [ + ["blur", "blur"], + ["cancel", "cancel"], + ["click", "click"], + ["close", "close"], + ["contextmenu", "contextMenu"], + ["copy", "copy"], + ["cut", "cut"], + ["auxclick", "auxClick"], + ["dblclick", "doubleClick"], + ["dragend", "dragEnd"], + ["dragstart", "dragStart"], + ["drop", "drop"], + ["focus", "focus"], + ["input", "input"], + ["invalid", "invalid"], + ["keydown", "keyDown"], + ["keypress", "keyPress"], + ["keyup", "keyUp"], + ["mousedown", "mouseDown"], + ["mouseup", "mouseUp"], + ["paste", "paste"], + ["pause", "pause"], + ["play", "play"], + ["pointercancel", "pointerCancel"], + ["pointerdown", "pointerDown"], + ["pointerup", "pointerUp"], + ["ratechange", "rateChange"], + ["reset", "reset"], + ["seeked", "seeked"], + ["submit", "submit"], + ["touchcancel", "touchCancel"], + ["touchend", "touchEnd"], + ["touchstart", "touchStart"], + ["volumechange", "volumeChange"] + ].forEach(function(e) { + xn(e, !0); + }), + mn.forEach(function(e) { + xn(e, !1); + }); + var bn = { + eventTypes: vn, + isInteractiveTopLevelEventType: function(e) { + return void 0 !== (e = yn[e]) && !0 === e.isInteractive; + }, + extractEvents: function(e, t, n, r) { + var i = yn[e]; + if (!i) return null; + switch (e) { + case "keypress": + if (0 === un(n)) return null; + case "keydown": + case "keyup": + e = dn; + break; + case "blur": + case "focus": + e = sn; + break; + case "click": + if (2 === n.button) return null; + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + e = qt; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + e = fn; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + e = hn; + break; + case J: + case ee: + case te: + e = an; + break; + case ne: + e = pn; + break; + case "scroll": + e = Gt; + break; + case "wheel": + e = gn; + break; + case "copy": + case "cut": + case "paste": + e = on; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + e = Qt; + break; + default: + e = ce; + } + return Y((t = e.getPooled(i, t, n, r))), t; + } + }, + _n = bn.isInteractiveTopLevelEventType, + wn = []; + function Sn(e) { + var t = e.targetInst, + n = t; + do { + if (!n) { + e.ancestors.push(n); + break; + } + var r; + for (r = n; r.return; ) r = r.return; + if (!(r = 5 !== r.tag ? null : r.stateNode.containerInfo)) break; + e.ancestors.push(n), (n = V(r)); + } while (n); + for (n = 0; n < e.ancestors.length; n++) { + t = e.ancestors[n]; + var i = ze(e.nativeEvent); + r = e.topLevelType; + for (var a = e.nativeEvent, o = null, s = 0; s < v.length; s++) { + var u = v[s]; + u && (u = u.extractEvents(r, t, a, i)) && (o = E(o, u)); + } + L(o, !1); + } + } + var Tn = !0; + function En(e, t) { + if (!t) return null; + var n = (_n(e) ? On : Pn).bind(null, e); + t.addEventListener(e, n, !1); + } + function Cn(e, t) { + if (!t) return null; + var n = (_n(e) ? On : Pn).bind(null, e); + t.addEventListener(e, n, !0); + } + function On(e, t) { + Re(Pn, e, t); + } + function Pn(e, t) { + if (Tn) { + var n = ze(t); + if ( + (null === (n = V(n)) || + "number" !== typeof n.tag || + 2 === tn(n) || + (n = null), + wn.length) + ) { + var r = wn.pop(); + (r.topLevelType = e), + (r.nativeEvent = t), + (r.targetInst = n), + (e = r); + } else + e = { + topLevelType: e, + nativeEvent: t, + targetInst: n, + ancestors: [] + }; + try { + Fe(Sn, e); + } finally { + (e.topLevelType = null), + (e.nativeEvent = null), + (e.targetInst = null), + (e.ancestors.length = 0), + 10 > wn.length && wn.push(e); + } + } + } + var An = {}, + kn = 0, + Nn = "_reactListenersID" + ("" + Math.random()).slice(2); + function Mn(e) { + return ( + Object.prototype.hasOwnProperty.call(e, Nn) || + ((e[Nn] = kn++), (An[e[Nn]] = {})), + An[e[Nn]] + ); + } + function Ln(e) { + if ( + "undefined" === + typeof (e = + e || ("undefined" !== typeof document ? document : void 0)) + ) + return null; + try { + return e.activeElement || e.body; + } catch (t) { + return e.body; + } + } + function jn(e) { + for (; e && e.firstChild; ) e = e.firstChild; + return e; + } + function Rn(e, t) { + var n, + r = jn(e); + for (e = 0; r; ) { + if (3 === r.nodeType) { + if (((n = e + r.textContent.length), e <= t && n >= t)) + return { node: r, offset: t - e }; + e = n; + } + e: { + for (; r; ) { + if (r.nextSibling) { + r = r.nextSibling; + break e; + } + r = r.parentNode; + } + r = void 0; + } + r = jn(r); + } + } + function In() { + for (var e = window, t = Ln(); t instanceof e.HTMLIFrameElement; ) { + try { + e = t.contentDocument.defaultView; + } catch (n) { + break; + } + t = Ln(e.document); + } + return t; + } + function Vn(e) { + var t = e && e.nodeName && e.nodeName.toLowerCase(); + return ( + t && + (("input" === t && + ("text" === e.type || + "search" === e.type || + "tel" === e.type || + "url" === e.type || + "password" === e.type)) || + "textarea" === t || + "true" === e.contentEditable) + ); + } + var Fn = W && "documentMode" in document && 11 >= document.documentMode, + Dn = { + select: { + phasedRegistrationNames: { + bubbled: "onSelect", + captured: "onSelectCapture" + }, + dependencies: "blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split( + " " + ) + } + }, + Gn = null, + zn = null, + Bn = null, + Hn = !1; + function Un(e, t) { + var n = + t.window === t ? t.document : 9 === t.nodeType ? t : t.ownerDocument; + return Hn || null == Gn || Gn !== Ln(n) + ? null + : ("selectionStart" in (n = Gn) && Vn(n) + ? (n = { start: n.selectionStart, end: n.selectionEnd }) + : (n = { + anchorNode: (n = ( + (n.ownerDocument && n.ownerDocument.defaultView) || + window + ).getSelection()).anchorNode, + anchorOffset: n.anchorOffset, + focusNode: n.focusNode, + focusOffset: n.focusOffset + }), + Bn && en(Bn, n) + ? null + : ((Bn = n), + ((e = ce.getPooled(Dn.select, zn, e, t)).type = "select"), + (e.target = Gn), + Y(e), + e)); + } + var Xn = { + eventTypes: Dn, + extractEvents: function(e, t, n, r) { + var i, + a = + r.window === r + ? r.document + : 9 === r.nodeType + ? r + : r.ownerDocument; + if (!(i = !a)) { + e: { + (a = Mn(a)), (i = b.onSelect); + for (var o = 0; o < i.length; o++) { + var s = i[o]; + if (!a.hasOwnProperty(s) || !a[s]) { + a = !1; + break e; + } + } + a = !0; + } + i = !a; + } + if (i) return null; + switch (((a = t ? D(t) : window), e)) { + case "focus": + (Ge(a) || "true" === a.contentEditable) && + ((Gn = a), (zn = t), (Bn = null)); + break; + case "blur": + Bn = zn = Gn = null; + break; + case "mousedown": + Hn = !0; + break; + case "contextmenu": + case "mouseup": + case "dragend": + return (Hn = !1), Un(n, r); + case "selectionchange": + if (Fn) break; + case "keydown": + case "keyup": + return Un(n, r); + } + return null; + } + }; + function Yn(e, t) { + return ( + (e = i({ children: void 0 }, t)), + (t = (function(e) { + var t = ""; + return ( + r.Children.forEach(e, function(e) { + null != e && (t += e); + }), + t + ); + })(t.children)) && (e.children = t), + e + ); + } + function Wn(e, t, n, r) { + if (((e = e.options), t)) { + t = {}; + for (var i = 0; i < n.length; i++) t["$" + n[i]] = !0; + for (n = 0; n < e.length; n++) + (i = t.hasOwnProperty("$" + e[n].value)), + e[n].selected !== i && (e[n].selected = i), + i && r && (e[n].defaultSelected = !0); + } else { + for (n = "" + yt(n), t = null, i = 0; i < e.length; i++) { + if (e[i].value === n) + return ( + (e[i].selected = !0), void (r && (e[i].defaultSelected = !0)) + ); + null !== t || e[i].disabled || (t = e[i]); + } + null !== t && (t.selected = !0); + } + } + function qn(e, t) { + return ( + null != t.dangerouslySetInnerHTML && o("91"), + i({}, t, { + value: void 0, + defaultValue: void 0, + children: "" + e._wrapperState.initialValue + }) + ); + } + function Qn(e, t) { + var n = t.value; + null == n && + ((n = t.defaultValue), + null != (t = t.children) && + (null != n && o("92"), + Array.isArray(t) && (1 >= t.length || o("93"), (t = t[0])), + (n = t)), + null == n && (n = "")), + (e._wrapperState = { initialValue: yt(n) }); + } + function $n(e, t) { + var n = yt(t.value), + r = yt(t.defaultValue); + null != n && + ((n = "" + n) !== e.value && (e.value = n), + null == t.defaultValue && + e.defaultValue !== n && + (e.defaultValue = n)), + null != r && (e.defaultValue = "" + r); + } + function Kn(e) { + var t = e.textContent; + t === e._wrapperState.initialValue && (e.value = t); + } + N.injectEventPluginOrder( + "ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split( + " " + ) + ), + (_ = G), + (w = F), + (S = D), + N.injectEventPluginsByName({ + SimpleEventPlugin: bn, + EnterLeaveEventPlugin: Kt, + ChangeEventPlugin: Dt, + SelectEventPlugin: Xn, + BeforeInputEventPlugin: Oe + }); + var Zn = { + html: "http://www.w3.org/1999/xhtml", + mathml: "http://www.w3.org/1998/Math/MathML", + svg: "http://www.w3.org/2000/svg" + }; + function Jn(e) { + switch (e) { + case "svg": + return "http://www.w3.org/2000/svg"; + case "math": + return "http://www.w3.org/1998/Math/MathML"; + default: + return "http://www.w3.org/1999/xhtml"; + } + } + function er(e, t) { + return null == e || "http://www.w3.org/1999/xhtml" === e + ? Jn(t) + : "http://www.w3.org/2000/svg" === e && "foreignObject" === t + ? "http://www.w3.org/1999/xhtml" + : e; + } + var tr, + nr = void 0, + rr = ((tr = function(e, t) { + if (e.namespaceURI !== Zn.svg || "innerHTML" in e) e.innerHTML = t; + else { + for ( + (nr = nr || document.createElement("div")).innerHTML = + "" + t + "", + t = nr.firstChild; + e.firstChild; + + ) + e.removeChild(e.firstChild); + for (; t.firstChild; ) e.appendChild(t.firstChild); + } + }), + "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction + ? function(e, t, n, r) { + MSApp.execUnsafeLocalFunction(function() { + return tr(e, t); + }); + } + : tr); + function ir(e, t) { + if (t) { + var n = e.firstChild; + if (n && n === e.lastChild && 3 === n.nodeType) + return void (n.nodeValue = t); + } + e.textContent = t; + } + var ar = { + animationIterationCount: !0, + borderImageOutset: !0, + borderImageSlice: !0, + borderImageWidth: !0, + boxFlex: !0, + boxFlexGroup: !0, + boxOrdinalGroup: !0, + columnCount: !0, + columns: !0, + flex: !0, + flexGrow: !0, + flexPositive: !0, + flexShrink: !0, + flexNegative: !0, + flexOrder: !0, + gridArea: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowSpan: !0, + gridRowStart: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnSpan: !0, + gridColumnStart: !0, + fontWeight: !0, + lineClamp: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + tabSize: !0, + widows: !0, + zIndex: !0, + zoom: !0, + fillOpacity: !0, + floodOpacity: !0, + stopOpacity: !0, + strokeDasharray: !0, + strokeDashoffset: !0, + strokeMiterlimit: !0, + strokeOpacity: !0, + strokeWidth: !0 + }, + or = ["Webkit", "ms", "Moz", "O"]; + function sr(e, t) { + for (var n in ((e = e.style), t)) + if (t.hasOwnProperty(n)) { + var r = 0 === n.indexOf("--"), + i = n, + a = t[n]; + (i = + null == a || "boolean" === typeof a || "" === a + ? "" + : r || + "number" !== typeof a || + 0 === a || + (ar.hasOwnProperty(i) && ar[i]) + ? ("" + a).trim() + : a + "px"), + "float" === n && (n = "cssFloat"), + r ? e.setProperty(n, i) : (e[n] = i); + } + } + Object.keys(ar).forEach(function(e) { + or.forEach(function(t) { + (t = t + e.charAt(0).toUpperCase() + e.substring(1)), (ar[t] = ar[e]); + }); + }); + var ur = i( + { menuitem: !0 }, + { + area: !0, + base: !0, + br: !0, + col: !0, + embed: !0, + hr: !0, + img: !0, + input: !0, + keygen: !0, + link: !0, + meta: !0, + param: !0, + source: !0, + track: !0, + wbr: !0 + } + ); + function lr(e, t) { + t && + (ur[e] && + (null != t.children || null != t.dangerouslySetInnerHTML) && + o("137", e, ""), + null != t.dangerouslySetInnerHTML && + (null != t.children && o("60"), + ("object" === typeof t.dangerouslySetInnerHTML && + "__html" in t.dangerouslySetInnerHTML) || + o("61")), + null != t.style && "object" !== typeof t.style && o("62", "")); + } + function cr(e, t) { + if (-1 === e.indexOf("-")) return "string" === typeof t.is; + switch (e) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return !1; + default: + return !0; + } + } + function dr(e, t) { + var n = Mn( + (e = 9 === e.nodeType || 11 === e.nodeType ? e : e.ownerDocument) + ); + t = b[t]; + for (var r = 0; r < t.length; r++) { + var i = t[r]; + if (!n.hasOwnProperty(i) || !n[i]) { + switch (i) { + case "scroll": + Cn("scroll", e); + break; + case "focus": + case "blur": + Cn("focus", e), Cn("blur", e), (n.blur = !0), (n.focus = !0); + break; + case "cancel": + case "close": + Be(i) && Cn(i, e); + break; + case "invalid": + case "submit": + case "reset": + break; + default: + -1 === re.indexOf(i) && En(i, e); + } + n[i] = !0; + } + } + } + function fr() {} + var hr = null, + pr = null; + function gr(e, t) { + switch (e) { + case "button": + case "input": + case "select": + case "textarea": + return !!t.autoFocus; + } + return !1; + } + function mr(e, t) { + return ( + "textarea" === e || + "option" === e || + "noscript" === e || + "string" === typeof t.children || + "number" === typeof t.children || + ("object" === typeof t.dangerouslySetInnerHTML && + null !== t.dangerouslySetInnerHTML && + null != t.dangerouslySetInnerHTML.__html) + ); + } + function vr(e) { + for (e = e.nextSibling; e && 1 !== e.nodeType && 3 !== e.nodeType; ) + e = e.nextSibling; + return e; + } + function yr(e) { + for (e = e.firstChild; e && 1 !== e.nodeType && 3 !== e.nodeType; ) + e = e.nextSibling; + return e; + } + new Set(); + var xr = [], + br = -1; + function _r(e) { + 0 > br || ((e.current = xr[br]), (xr[br] = null), br--); + } + function wr(e, t) { + (xr[++br] = e.current), (e.current = t); + } + var Sr = {}, + Tr = { current: Sr }, + Er = { current: !1 }, + Cr = Sr; + function Or(e, t) { + var n = e.type.contextTypes; + if (!n) return Sr; + var r = e.stateNode; + if (r && r.__reactInternalMemoizedUnmaskedChildContext === t) + return r.__reactInternalMemoizedMaskedChildContext; + var i, + a = {}; + for (i in n) a[i] = t[i]; + return ( + r && + (((e = + e.stateNode).__reactInternalMemoizedUnmaskedChildContext = t), + (e.__reactInternalMemoizedMaskedChildContext = a)), + a + ); + } + function Pr(e) { + return null !== (e = e.childContextTypes) && void 0 !== e; + } + function Ar(e) { + _r(Er), _r(Tr); + } + function kr(e) { + _r(Er), _r(Tr); + } + function Nr(e, t, n) { + Tr.current !== Sr && o("168"), wr(Tr, t), wr(Er, n); + } + function Mr(e, t, n) { + var r = e.stateNode; + if ( + ((e = t.childContextTypes), "function" !== typeof r.getChildContext) + ) + return n; + for (var a in (r = r.getChildContext())) + a in e || o("108", st(t) || "Unknown", a); + return i({}, n, r); + } + function Lr(e) { + var t = e.stateNode; + return ( + (t = (t && t.__reactInternalMemoizedMergedChildContext) || Sr), + (Cr = Tr.current), + wr(Tr, t), + wr(Er, Er.current), + !0 + ); + } + function jr(e, t, n) { + var r = e.stateNode; + r || o("169"), + n + ? ((t = Mr(e, t, Cr)), + (r.__reactInternalMemoizedMergedChildContext = t), + _r(Er), + _r(Tr), + wr(Tr, t)) + : _r(Er), + wr(Er, n); + } + var Rr = null, + Ir = null; + function Vr(e) { + return function(t) { + try { + return e(t); + } catch (n) {} + }; + } + function Fr(e, t, n, r) { + (this.tag = e), + (this.key = n), + (this.sibling = this.child = this.return = this.stateNode = this.type = null), + (this.index = 0), + (this.ref = null), + (this.pendingProps = t), + (this.firstContextDependency = this.memoizedState = this.updateQueue = this.memoizedProps = null), + (this.mode = r), + (this.effectTag = 0), + (this.lastEffect = this.firstEffect = this.nextEffect = null), + (this.childExpirationTime = this.expirationTime = 0), + (this.alternate = null); + } + function Dr(e) { + return !(!(e = e.prototype) || !e.isReactComponent); + } + function Gr(e, t, n) { + var r = e.alternate; + return ( + null === r + ? (((r = new Fr(e.tag, t, e.key, e.mode)).type = e.type), + (r.stateNode = e.stateNode), + (r.alternate = e), + (e.alternate = r)) + : ((r.pendingProps = t), + (r.effectTag = 0), + (r.nextEffect = null), + (r.firstEffect = null), + (r.lastEffect = null)), + (r.childExpirationTime = e.childExpirationTime), + (r.expirationTime = t !== e.pendingProps ? n : e.expirationTime), + (r.child = e.child), + (r.memoizedProps = e.memoizedProps), + (r.memoizedState = e.memoizedState), + (r.updateQueue = e.updateQueue), + (r.firstContextDependency = e.firstContextDependency), + (r.sibling = e.sibling), + (r.index = e.index), + (r.ref = e.ref), + r + ); + } + function zr(e, t, n) { + var r = e.type, + i = e.key; + e = e.props; + var a = void 0; + if ("function" === typeof r) a = Dr(r) ? 2 : 4; + else if ("string" === typeof r) a = 7; + else + e: switch (r) { + case Ke: + return Br(e.children, t, n, i); + case nt: + (a = 10), (t |= 3); + break; + case Ze: + (a = 10), (t |= 2); + break; + case Je: + return ( + ((r = new Fr(15, e, i, 4 | t)).type = Je), + (r.expirationTime = n), + r + ); + case it: + a = 16; + break; + default: + if ("object" === typeof r && null !== r) + switch (r.$$typeof) { + case et: + a = 12; + break e; + case tt: + a = 11; + break e; + case rt: + a = 13; + break e; + default: + if ("function" === typeof r.then) { + a = 4; + break e; + } + } + o("130", null == r ? r : typeof r, ""); + } + return ((t = new Fr(a, e, i, t)).type = r), (t.expirationTime = n), t; + } + function Br(e, t, n, r) { + return ((e = new Fr(9, e, r, t)).expirationTime = n), e; + } + function Hr(e, t, n) { + return ((e = new Fr(8, e, null, t)).expirationTime = n), e; + } + function Ur(e, t, n) { + return ( + ((t = new Fr( + 6, + null !== e.children ? e.children : [], + e.key, + t + )).expirationTime = n), + (t.stateNode = { + containerInfo: e.containerInfo, + pendingChildren: null, + implementation: e.implementation + }), + t + ); + } + function Xr(e, t) { + e.didError = !1; + var n = e.earliestPendingTime; + 0 === n + ? (e.earliestPendingTime = e.latestPendingTime = t) + : n > t + ? (e.earliestPendingTime = t) + : e.latestPendingTime < t && (e.latestPendingTime = t), + Yr(t, e); + } + function Yr(e, t) { + var n = t.earliestSuspendedTime, + r = t.latestSuspendedTime, + i = t.earliestPendingTime, + a = t.latestPingedTime; + 0 === (i = 0 !== i ? i : a) && (0 === e || r > e) && (i = r), + 0 !== (e = i) && 0 !== n && n < e && (e = n), + (t.nextExpirationTimeToWorkOn = i), + (t.expirationTime = e); + } + var Wr = !1; + function qr(e) { + return { + baseState: e, + firstUpdate: null, + lastUpdate: null, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + } + function Qr(e) { + return { + baseState: e.baseState, + firstUpdate: e.firstUpdate, + lastUpdate: e.lastUpdate, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + } + function $r(e) { + return { + expirationTime: e, + tag: 0, + payload: null, + callback: null, + next: null, + nextEffect: null + }; + } + function Kr(e, t) { + null === e.lastUpdate + ? (e.firstUpdate = e.lastUpdate = t) + : ((e.lastUpdate.next = t), (e.lastUpdate = t)); + } + function Zr(e, t) { + var n = e.alternate; + if (null === n) { + var r = e.updateQueue, + i = null; + null === r && (r = e.updateQueue = qr(e.memoizedState)); + } else + (r = e.updateQueue), + (i = n.updateQueue), + null === r + ? null === i + ? ((r = e.updateQueue = qr(e.memoizedState)), + (i = n.updateQueue = qr(n.memoizedState))) + : (r = e.updateQueue = Qr(i)) + : null === i && (i = n.updateQueue = Qr(r)); + null === i || r === i + ? Kr(r, t) + : null === r.lastUpdate || null === i.lastUpdate + ? (Kr(r, t), Kr(i, t)) + : (Kr(r, t), (i.lastUpdate = t)); + } + function Jr(e, t) { + var n = e.updateQueue; + null === + (n = null === n ? (e.updateQueue = qr(e.memoizedState)) : ei(e, n)) + .lastCapturedUpdate + ? (n.firstCapturedUpdate = n.lastCapturedUpdate = t) + : ((n.lastCapturedUpdate.next = t), (n.lastCapturedUpdate = t)); + } + function ei(e, t) { + var n = e.alternate; + return ( + null !== n && t === n.updateQueue && (t = e.updateQueue = Qr(t)), t + ); + } + function ti(e, t, n, r, a, o) { + switch (n.tag) { + case 1: + return "function" === typeof (e = n.payload) ? e.call(o, r, a) : e; + case 3: + e.effectTag = (-1025 & e.effectTag) | 64; + case 0: + if ( + null === + (a = + "function" === typeof (e = n.payload) + ? e.call(o, r, a) + : e) || + void 0 === a + ) + break; + return i({}, r, a); + case 2: + Wr = !0; + } + return r; + } + function ni(e, t, n, r, i) { + Wr = !1; + for ( + var a = (t = ei(e, t)).baseState, + o = null, + s = 0, + u = t.firstUpdate, + l = a; + null !== u; + + ) { + var c = u.expirationTime; + c > i + ? (null === o && ((o = u), (a = l)), (0 === s || s > c) && (s = c)) + : ((l = ti(e, 0, u, l, n, r)), + null !== u.callback && + ((e.effectTag |= 32), + (u.nextEffect = null), + null === t.lastEffect + ? (t.firstEffect = t.lastEffect = u) + : ((t.lastEffect.nextEffect = u), (t.lastEffect = u)))), + (u = u.next); + } + for (c = null, u = t.firstCapturedUpdate; null !== u; ) { + var d = u.expirationTime; + d > i + ? (null === c && ((c = u), null === o && (a = l)), + (0 === s || s > d) && (s = d)) + : ((l = ti(e, 0, u, l, n, r)), + null !== u.callback && + ((e.effectTag |= 32), + (u.nextEffect = null), + null === t.lastCapturedEffect + ? (t.firstCapturedEffect = t.lastCapturedEffect = u) + : ((t.lastCapturedEffect.nextEffect = u), + (t.lastCapturedEffect = u)))), + (u = u.next); + } + null === o && (t.lastUpdate = null), + null === c ? (t.lastCapturedUpdate = null) : (e.effectTag |= 32), + null === o && null === c && (a = l), + (t.baseState = a), + (t.firstUpdate = o), + (t.firstCapturedUpdate = c), + (e.expirationTime = s), + (e.memoizedState = l); + } + function ri(e, t, n) { + null !== t.firstCapturedUpdate && + (null !== t.lastUpdate && + ((t.lastUpdate.next = t.firstCapturedUpdate), + (t.lastUpdate = t.lastCapturedUpdate)), + (t.firstCapturedUpdate = t.lastCapturedUpdate = null)), + ii(t.firstEffect, n), + (t.firstEffect = t.lastEffect = null), + ii(t.firstCapturedEffect, n), + (t.firstCapturedEffect = t.lastCapturedEffect = null); + } + function ii(e, t) { + for (; null !== e; ) { + var n = e.callback; + if (null !== n) { + e.callback = null; + var r = t; + "function" !== typeof n && o("191", n), n.call(r); + } + e = e.nextEffect; + } + } + function ai(e, t) { + return { value: e, source: t, stack: ut(t) }; + } + var oi = { current: null }, + si = null, + ui = null, + li = null; + function ci(e, t) { + var n = e.type._context; + wr(oi, n._currentValue), (n._currentValue = t); + } + function di(e) { + var t = oi.current; + _r(oi), (e.type._context._currentValue = t); + } + function fi(e) { + (si = e), (li = ui = null), (e.firstContextDependency = null); + } + function hi(e, t) { + return ( + li !== e && + !1 !== t && + 0 !== t && + (("number" === typeof t && 1073741823 !== t) || + ((li = e), (t = 1073741823)), + (t = { context: e, observedBits: t, next: null }), + null === ui + ? (null === si && o("277"), (si.firstContextDependency = ui = t)) + : (ui = ui.next = t)), + e._currentValue + ); + } + var pi = {}, + gi = { current: pi }, + mi = { current: pi }, + vi = { current: pi }; + function yi(e) { + return e === pi && o("174"), e; + } + function xi(e, t) { + wr(vi, t), wr(mi, e), wr(gi, pi); + var n = t.nodeType; + switch (n) { + case 9: + case 11: + t = (t = t.documentElement) ? t.namespaceURI : er(null, ""); + break; + default: + t = er( + (t = (n = 8 === n ? t.parentNode : t).namespaceURI || null), + (n = n.tagName) + ); + } + _r(gi), wr(gi, t); + } + function bi(e) { + _r(gi), _r(mi), _r(vi); + } + function _i(e) { + yi(vi.current); + var t = yi(gi.current), + n = er(t, e.type); + t !== n && (wr(mi, e), wr(gi, n)); + } + function wi(e) { + mi.current === e && (_r(gi), _r(mi)); + } + var Si = new r.Component().refs; + function Ti(e, t, n, r) { + (n = + null === (n = n(r, (t = e.memoizedState))) || void 0 === n + ? t + : i({}, t, n)), + (e.memoizedState = n), + null !== (r = e.updateQueue) && + 0 === e.expirationTime && + (r.baseState = n); + } + var Ei = { + isMounted: function(e) { + return !!(e = e._reactInternalFiber) && 2 === tn(e); + }, + enqueueSetState: function(e, t, n) { + e = e._reactInternalFiber; + var r = oo(), + i = $r((r = Ma(r, e))); + (i.payload = t), + void 0 !== n && null !== n && (i.callback = n), + Zr(e, i), + La(e, r); + }, + enqueueReplaceState: function(e, t, n) { + e = e._reactInternalFiber; + var r = oo(), + i = $r((r = Ma(r, e))); + (i.tag = 1), + (i.payload = t), + void 0 !== n && null !== n && (i.callback = n), + Zr(e, i), + La(e, r); + }, + enqueueForceUpdate: function(e, t) { + e = e._reactInternalFiber; + var n = oo(), + r = $r((n = Ma(n, e))); + (r.tag = 2), + void 0 !== t && null !== t && (r.callback = t), + Zr(e, r), + La(e, n); + } + }; + function Ci(e, t, n, r, i, a, o) { + return "function" === typeof (e = e.stateNode).shouldComponentUpdate + ? e.shouldComponentUpdate(r, a, o) + : !t.prototype || + !t.prototype.isPureReactComponent || + (!en(n, r) || !en(i, a)); + } + function Oi(e, t, n, r) { + (e = t.state), + "function" === typeof t.componentWillReceiveProps && + t.componentWillReceiveProps(n, r), + "function" === typeof t.UNSAFE_componentWillReceiveProps && + t.UNSAFE_componentWillReceiveProps(n, r), + t.state !== e && Ei.enqueueReplaceState(t, t.state, null); + } + function Pi(e, t, n, r) { + var i = e.stateNode, + a = Pr(t) ? Cr : Tr.current; + (i.props = n), + (i.state = e.memoizedState), + (i.refs = Si), + (i.context = Or(e, a)), + null !== (a = e.updateQueue) && + (ni(e, a, n, i, r), (i.state = e.memoizedState)), + "function" === typeof (a = t.getDerivedStateFromProps) && + (Ti(e, t, a, n), (i.state = e.memoizedState)), + "function" === typeof t.getDerivedStateFromProps || + "function" === typeof i.getSnapshotBeforeUpdate || + ("function" !== typeof i.UNSAFE_componentWillMount && + "function" !== typeof i.componentWillMount) || + ((t = i.state), + "function" === typeof i.componentWillMount && + i.componentWillMount(), + "function" === typeof i.UNSAFE_componentWillMount && + i.UNSAFE_componentWillMount(), + t !== i.state && Ei.enqueueReplaceState(i, i.state, null), + null !== (a = e.updateQueue) && + (ni(e, a, n, i, r), (i.state = e.memoizedState))), + "function" === typeof i.componentDidMount && (e.effectTag |= 4); + } + var Ai = Array.isArray; + function ki(e, t, n) { + if ( + null !== (e = n.ref) && + "function" !== typeof e && + "object" !== typeof e + ) { + if (n._owner) { + n = n._owner; + var r = void 0; + n && (2 !== n.tag && 3 !== n.tag && o("110"), (r = n.stateNode)), + r || o("147", e); + var i = "" + e; + return null !== t && + null !== t.ref && + "function" === typeof t.ref && + t.ref._stringRef === i + ? t.ref + : (((t = function(e) { + var t = r.refs; + t === Si && (t = r.refs = {}), + null === e ? delete t[i] : (t[i] = e); + })._stringRef = i), + t); + } + "string" !== typeof e && o("284"), n._owner || o("254", e); + } + return e; + } + function Ni(e, t) { + "textarea" !== e.type && + o( + "31", + "[object Object]" === Object.prototype.toString.call(t) + ? "object with keys {" + Object.keys(t).join(", ") + "}" + : t, + "" + ); + } + function Mi(e) { + function t(t, n) { + if (e) { + var r = t.lastEffect; + null !== r + ? ((r.nextEffect = n), (t.lastEffect = n)) + : (t.firstEffect = t.lastEffect = n), + (n.nextEffect = null), + (n.effectTag = 8); + } + } + function n(n, r) { + if (!e) return null; + for (; null !== r; ) t(n, r), (r = r.sibling); + return null; + } + function r(e, t) { + for (e = new Map(); null !== t; ) + null !== t.key ? e.set(t.key, t) : e.set(t.index, t), + (t = t.sibling); + return e; + } + function i(e, t, n) { + return ((e = Gr(e, t, n)).index = 0), (e.sibling = null), e; + } + function a(t, n, r) { + return ( + (t.index = r), + e + ? null !== (r = t.alternate) + ? (r = r.index) < n + ? ((t.effectTag = 2), n) + : r + : ((t.effectTag = 2), n) + : n + ); + } + function s(t) { + return e && null === t.alternate && (t.effectTag = 2), t; + } + function u(e, t, n, r) { + return null === t || 8 !== t.tag + ? (((t = Hr(n, e.mode, r)).return = e), t) + : (((t = i(t, n, r)).return = e), t); + } + function l(e, t, n, r) { + return null !== t && t.type === n.type + ? (((r = i(t, n.props, r)).ref = ki(e, t, n)), (r.return = e), r) + : (((r = zr(n, e.mode, r)).ref = ki(e, t, n)), (r.return = e), r); + } + function c(e, t, n, r) { + return null === t || + 6 !== t.tag || + t.stateNode.containerInfo !== n.containerInfo || + t.stateNode.implementation !== n.implementation + ? (((t = Ur(n, e.mode, r)).return = e), t) + : (((t = i(t, n.children || [], r)).return = e), t); + } + function d(e, t, n, r, a) { + return null === t || 9 !== t.tag + ? (((t = Br(n, e.mode, r, a)).return = e), t) + : (((t = i(t, n, r)).return = e), t); + } + function f(e, t, n) { + if ("string" === typeof t || "number" === typeof t) + return ((t = Hr("" + t, e.mode, n)).return = e), t; + if ("object" === typeof t && null !== t) { + switch (t.$$typeof) { + case Qe: + return ( + ((n = zr(t, e.mode, n)).ref = ki(e, null, t)), + (n.return = e), + n + ); + case $e: + return ((t = Ur(t, e.mode, n)).return = e), t; + } + if (Ai(t) || ot(t)) + return ((t = Br(t, e.mode, n, null)).return = e), t; + Ni(e, t); + } + return null; + } + function h(e, t, n, r) { + var i = null !== t ? t.key : null; + if ("string" === typeof n || "number" === typeof n) + return null !== i ? null : u(e, t, "" + n, r); + if ("object" === typeof n && null !== n) { + switch (n.$$typeof) { + case Qe: + return n.key === i + ? n.type === Ke + ? d(e, t, n.props.children, r, i) + : l(e, t, n, r) + : null; + case $e: + return n.key === i ? c(e, t, n, r) : null; + } + if (Ai(n) || ot(n)) return null !== i ? null : d(e, t, n, r, null); + Ni(e, n); + } + return null; + } + function p(e, t, n, r, i) { + if ("string" === typeof r || "number" === typeof r) + return u(t, (e = e.get(n) || null), "" + r, i); + if ("object" === typeof r && null !== r) { + switch (r.$$typeof) { + case Qe: + return ( + (e = e.get(null === r.key ? n : r.key) || null), + r.type === Ke + ? d(t, e, r.props.children, i, r.key) + : l(t, e, r, i) + ); + case $e: + return c( + t, + (e = e.get(null === r.key ? n : r.key) || null), + r, + i + ); + } + if (Ai(r) || ot(r)) return d(t, (e = e.get(n) || null), r, i, null); + Ni(t, r); + } + return null; + } + function g(i, o, s, u) { + for ( + var l = null, c = null, d = o, g = (o = 0), m = null; + null !== d && g < s.length; + g++ + ) { + d.index > g ? ((m = d), (d = null)) : (m = d.sibling); + var v = h(i, d, s[g], u); + if (null === v) { + null === d && (d = m); + break; + } + e && d && null === v.alternate && t(i, d), + (o = a(v, o, g)), + null === c ? (l = v) : (c.sibling = v), + (c = v), + (d = m); + } + if (g === s.length) return n(i, d), l; + if (null === d) { + for (; g < s.length; g++) + (d = f(i, s[g], u)) && + ((o = a(d, o, g)), + null === c ? (l = d) : (c.sibling = d), + (c = d)); + return l; + } + for (d = r(i, d); g < s.length; g++) + (m = p(d, i, g, s[g], u)) && + (e && + null !== m.alternate && + d.delete(null === m.key ? g : m.key), + (o = a(m, o, g)), + null === c ? (l = m) : (c.sibling = m), + (c = m)); + return ( + e && + d.forEach(function(e) { + return t(i, e); + }), + l + ); + } + function m(i, s, u, l) { + var c = ot(u); + "function" !== typeof c && o("150"), + null == (u = c.call(u)) && o("151"); + for ( + var d = (c = null), g = s, m = (s = 0), v = null, y = u.next(); + null !== g && !y.done; + m++, y = u.next() + ) { + g.index > m ? ((v = g), (g = null)) : (v = g.sibling); + var x = h(i, g, y.value, l); + if (null === x) { + g || (g = v); + break; + } + e && g && null === x.alternate && t(i, g), + (s = a(x, s, m)), + null === d ? (c = x) : (d.sibling = x), + (d = x), + (g = v); + } + if (y.done) return n(i, g), c; + if (null === g) { + for (; !y.done; m++, y = u.next()) + null !== (y = f(i, y.value, l)) && + ((s = a(y, s, m)), + null === d ? (c = y) : (d.sibling = y), + (d = y)); + return c; + } + for (g = r(i, g); !y.done; m++, y = u.next()) + null !== (y = p(g, i, m, y.value, l)) && + (e && + null !== y.alternate && + g.delete(null === y.key ? m : y.key), + (s = a(y, s, m)), + null === d ? (c = y) : (d.sibling = y), + (d = y)); + return ( + e && + g.forEach(function(e) { + return t(i, e); + }), + c + ); + } + return function(e, r, a, u) { + var l = + "object" === typeof a && + null !== a && + a.type === Ke && + null === a.key; + l && (a = a.props.children); + var c = "object" === typeof a && null !== a; + if (c) + switch (a.$$typeof) { + case Qe: + e: { + for (c = a.key, l = r; null !== l; ) { + if (l.key === c) { + if (9 === l.tag ? a.type === Ke : l.type === a.type) { + n(e, l.sibling), + ((r = i( + l, + a.type === Ke ? a.props.children : a.props, + u + )).ref = ki(e, l, a)), + (r.return = e), + (e = r); + break e; + } + n(e, l); + break; + } + t(e, l), (l = l.sibling); + } + a.type === Ke + ? (((r = Br( + a.props.children, + e.mode, + u, + a.key + )).return = e), + (e = r)) + : (((u = zr(a, e.mode, u)).ref = ki(e, r, a)), + (u.return = e), + (e = u)); + } + return s(e); + case $e: + e: { + for (l = a.key; null !== r; ) { + if (r.key === l) { + if ( + 6 === r.tag && + r.stateNode.containerInfo === a.containerInfo && + r.stateNode.implementation === a.implementation + ) { + n(e, r.sibling), + ((r = i(r, a.children || [], u)).return = e), + (e = r); + break e; + } + n(e, r); + break; + } + t(e, r), (r = r.sibling); + } + ((r = Ur(a, e.mode, u)).return = e), (e = r); + } + return s(e); + } + if ("string" === typeof a || "number" === typeof a) + return ( + (a = "" + a), + null !== r && 8 === r.tag + ? (n(e, r.sibling), ((r = i(r, a, u)).return = e), (e = r)) + : (n(e, r), ((r = Hr(a, e.mode, u)).return = e), (e = r)), + s(e) + ); + if (Ai(a)) return g(e, r, a, u); + if (ot(a)) return m(e, r, a, u); + if ((c && Ni(e, a), "undefined" === typeof a && !l)) + switch (e.tag) { + case 2: + case 3: + case 0: + o("152", (u = e.type).displayName || u.name || "Component"); + } + return n(e, r); + }; + } + var Li = Mi(!0), + ji = Mi(!1), + Ri = null, + Ii = null, + Vi = !1; + function Fi(e, t) { + var n = new Fr(7, null, null, 0); + (n.type = "DELETED"), + (n.stateNode = t), + (n.return = e), + (n.effectTag = 8), + null !== e.lastEffect + ? ((e.lastEffect.nextEffect = n), (e.lastEffect = n)) + : (e.firstEffect = e.lastEffect = n); + } + function Di(e, t) { + switch (e.tag) { + case 7: + var n = e.type; + return ( + null !== + (t = + 1 !== t.nodeType || + n.toLowerCase() !== t.nodeName.toLowerCase() + ? null + : t) && ((e.stateNode = t), !0) + ); + case 8: + return ( + null !== + (t = "" === e.pendingProps || 3 !== t.nodeType ? null : t) && + ((e.stateNode = t), !0) + ); + default: + return !1; + } + } + function Gi(e) { + if (Vi) { + var t = Ii; + if (t) { + var n = t; + if (!Di(e, t)) { + if (!(t = vr(n)) || !Di(e, t)) + return (e.effectTag |= 2), (Vi = !1), void (Ri = e); + Fi(Ri, n); + } + (Ri = e), (Ii = yr(t)); + } else (e.effectTag |= 2), (Vi = !1), (Ri = e); + } + } + function zi(e) { + for (e = e.return; null !== e && 7 !== e.tag && 5 !== e.tag; ) + e = e.return; + Ri = e; + } + function Bi(e) { + if (e !== Ri) return !1; + if (!Vi) return zi(e), (Vi = !0), !1; + var t = e.type; + if ( + 7 !== e.tag || + ("head" !== t && "body" !== t && !mr(t, e.memoizedProps)) + ) + for (t = Ii; t; ) Fi(e, t), (t = vr(t)); + return zi(e), (Ii = Ri ? vr(e.stateNode) : null), !0; + } + function Hi() { + (Ii = Ri = null), (Vi = !1); + } + var Ui = Ye.ReactCurrentOwner; + function Xi(e, t, n, r) { + t.child = null === e ? ji(t, null, n, r) : Li(t, e.child, n, r); + } + function Yi(e, t, n, r, i) { + n = n.render; + var a = t.ref; + return Er.current || + t.memoizedProps !== r || + a !== (null !== e ? e.ref : null) + ? (Xi(e, t, (n = n(r, a)), i), (t.memoizedProps = r), t.child) + : Ji(e, t, i); + } + function Wi(e, t) { + var n = t.ref; + ((null === e && null !== n) || (null !== e && e.ref !== n)) && + (t.effectTag |= 128); + } + function qi(e, t, n, r, i) { + var a = Pr(n) ? Cr : Tr.current; + return ( + (a = Or(t, a)), + fi(t), + (n = n(r, a)), + (t.effectTag |= 1), + Xi(e, t, n, i), + (t.memoizedProps = r), + t.child + ); + } + function Qi(e, t, n, r, i) { + if (Pr(n)) { + var a = !0; + Lr(t); + } else a = !1; + if ((fi(t), null === e)) + if (null === t.stateNode) { + var o = Pr(n) ? Cr : Tr.current, + s = n.contextTypes, + u = null !== s && void 0 !== s, + l = new n(r, (s = u ? Or(t, o) : Sr)); + (t.memoizedState = + null !== l.state && void 0 !== l.state ? l.state : null), + (l.updater = Ei), + (t.stateNode = l), + (l._reactInternalFiber = t), + u && + (((u = + t.stateNode).__reactInternalMemoizedUnmaskedChildContext = o), + (u.__reactInternalMemoizedMaskedChildContext = s)), + Pi(t, n, r, i), + (r = !0); + } else { + (o = t.stateNode), (s = t.memoizedProps), (o.props = s); + var c = o.context; + u = Or(t, (u = Pr(n) ? Cr : Tr.current)); + var d = n.getDerivedStateFromProps; + (l = + "function" === typeof d || + "function" === typeof o.getSnapshotBeforeUpdate) || + ("function" !== typeof o.UNSAFE_componentWillReceiveProps && + "function" !== typeof o.componentWillReceiveProps) || + ((s !== r || c !== u) && Oi(t, o, r, u)), + (Wr = !1); + var f = t.memoizedState; + c = o.state = f; + var h = t.updateQueue; + null !== h && (ni(t, h, r, o, i), (c = t.memoizedState)), + s !== r || f !== c || Er.current || Wr + ? ("function" === typeof d && + (Ti(t, n, d, r), (c = t.memoizedState)), + (s = Wr || Ci(t, n, s, r, f, c, u)) + ? (l || + ("function" !== typeof o.UNSAFE_componentWillMount && + "function" !== typeof o.componentWillMount) || + ("function" === typeof o.componentWillMount && + o.componentWillMount(), + "function" === typeof o.UNSAFE_componentWillMount && + o.UNSAFE_componentWillMount()), + "function" === typeof o.componentDidMount && + (t.effectTag |= 4)) + : ("function" === typeof o.componentDidMount && + (t.effectTag |= 4), + (t.memoizedProps = r), + (t.memoizedState = c)), + (o.props = r), + (o.state = c), + (o.context = u), + (r = s)) + : ("function" === typeof o.componentDidMount && + (t.effectTag |= 4), + (r = !1)); + } + else + (o = t.stateNode), + (s = t.memoizedProps), + (o.props = s), + (c = o.context), + (u = Or(t, (u = Pr(n) ? Cr : Tr.current))), + (l = + "function" === typeof (d = n.getDerivedStateFromProps) || + "function" === typeof o.getSnapshotBeforeUpdate) || + ("function" !== typeof o.UNSAFE_componentWillReceiveProps && + "function" !== typeof o.componentWillReceiveProps) || + ((s !== r || c !== u) && Oi(t, o, r, u)), + (Wr = !1), + (c = t.memoizedState), + (f = o.state = c), + null !== (h = t.updateQueue) && + (ni(t, h, r, o, i), (f = t.memoizedState)), + s !== r || c !== f || Er.current || Wr + ? ("function" === typeof d && + (Ti(t, n, d, r), (f = t.memoizedState)), + (d = Wr || Ci(t, n, s, r, c, f, u)) + ? (l || + ("function" !== typeof o.UNSAFE_componentWillUpdate && + "function" !== typeof o.componentWillUpdate) || + ("function" === typeof o.componentWillUpdate && + o.componentWillUpdate(r, f, u), + "function" === typeof o.UNSAFE_componentWillUpdate && + o.UNSAFE_componentWillUpdate(r, f, u)), + "function" === typeof o.componentDidUpdate && + (t.effectTag |= 4), + "function" === typeof o.getSnapshotBeforeUpdate && + (t.effectTag |= 256)) + : ("function" !== typeof o.componentDidUpdate || + (s === e.memoizedProps && c === e.memoizedState) || + (t.effectTag |= 4), + "function" !== typeof o.getSnapshotBeforeUpdate || + (s === e.memoizedProps && c === e.memoizedState) || + (t.effectTag |= 256), + (t.memoizedProps = r), + (t.memoizedState = f)), + (o.props = r), + (o.state = f), + (o.context = u), + (r = d)) + : ("function" !== typeof o.componentDidUpdate || + (s === e.memoizedProps && c === e.memoizedState) || + (t.effectTag |= 4), + "function" !== typeof o.getSnapshotBeforeUpdate || + (s === e.memoizedProps && c === e.memoizedState) || + (t.effectTag |= 256), + (r = !1)); + return $i(e, t, n, r, a, i); + } + function $i(e, t, n, r, i, a) { + Wi(e, t); + var o = 0 !== (64 & t.effectTag); + if (!r && !o) return i && jr(t, n, !1), Ji(e, t, a); + (r = t.stateNode), (Ui.current = t); + var s = o ? null : r.render(); + return ( + (t.effectTag |= 1), + null !== e && o && (Xi(e, t, null, a), (t.child = null)), + Xi(e, t, s, a), + (t.memoizedState = r.state), + (t.memoizedProps = r.props), + i && jr(t, n, !0), + t.child + ); + } + function Ki(e) { + var t = e.stateNode; + t.pendingContext + ? Nr(0, t.pendingContext, t.pendingContext !== t.context) + : t.context && Nr(0, t.context, !1), + xi(e, t.containerInfo); + } + function Zi(e, t) { + if (e && e.defaultProps) + for (var n in ((t = i({}, t)), (e = e.defaultProps))) + void 0 === t[n] && (t[n] = e[n]); + return t; + } + function Ji(e, t, n) { + null !== e && (t.firstContextDependency = e.firstContextDependency); + var r = t.childExpirationTime; + if (0 === r || r > n) return null; + if ((null !== e && t.child !== e.child && o("153"), null !== t.child)) { + for ( + n = Gr((e = t.child), e.pendingProps, e.expirationTime), + t.child = n, + n.return = t; + null !== e.sibling; + + ) + (e = e.sibling), + ((n = n.sibling = Gr( + e, + e.pendingProps, + e.expirationTime + )).return = t); + n.sibling = null; + } + return t.child; + } + function ea(e, t, n) { + var r = t.expirationTime; + if (!Er.current && (0 === r || r > n)) { + switch (t.tag) { + case 5: + Ki(t), Hi(); + break; + case 7: + _i(t); + break; + case 2: + Pr(t.type) && Lr(t); + break; + case 3: + Pr(t.type._reactResult) && Lr(t); + break; + case 6: + xi(t, t.stateNode.containerInfo); + break; + case 12: + ci(t, t.memoizedProps.value); + } + return Ji(e, t, n); + } + switch (((t.expirationTime = 0), t.tag)) { + case 4: + return (function(e, t, n, r) { + null !== e && o("155"); + var i = t.pendingProps; + if ( + "object" === typeof n && + null !== n && + "function" === typeof n.then + ) { + var a = (n = (function(e) { + switch (e._reactStatus) { + case 1: + return e._reactResult; + case 2: + throw e._reactResult; + case 0: + throw e; + default: + throw ((e._reactStatus = 0), + e.then( + function(t) { + if (0 === e._reactStatus) { + if ( + ((e._reactStatus = 1), + "object" === typeof t && null !== t) + ) { + var n = t.default; + t = void 0 !== n && null !== n ? n : t; + } + e._reactResult = t; + } + }, + function(t) { + 0 === e._reactStatus && + ((e._reactStatus = 2), (e._reactResult = t)); + } + ), + e); + } + })(n)); + (a = + "function" === typeof a + ? Dr(a) + ? 3 + : 1 + : void 0 !== a && null !== a && a.$$typeof + ? 14 + : 4), + (a = t.tag = a); + var s = Zi(n, i); + switch (a) { + case 1: + return qi(e, t, n, s, r); + case 3: + return Qi(e, t, n, s, r); + case 14: + return Yi(e, t, n, s, r); + default: + o("283", n); + } + } + if ( + ((a = Or(t, Tr.current)), + fi(t), + (a = n(i, a)), + (t.effectTag |= 1), + "object" === typeof a && + null !== a && + "function" === typeof a.render && + void 0 === a.$$typeof) + ) { + (t.tag = 2), + Pr(n) ? ((s = !0), Lr(t)) : (s = !1), + (t.memoizedState = + null !== a.state && void 0 !== a.state ? a.state : null); + var u = n.getDerivedStateFromProps; + return ( + "function" === typeof u && Ti(t, n, u, i), + (a.updater = Ei), + (t.stateNode = a), + (a._reactInternalFiber = t), + Pi(t, n, i, r), + $i(e, t, n, !0, s, r) + ); + } + return ( + (t.tag = 0), Xi(e, t, a, r), (t.memoizedProps = i), t.child + ); + })(e, t, t.type, n); + case 0: + return qi(e, t, t.type, t.pendingProps, n); + case 1: + var i = t.type._reactResult; + return ( + (e = qi(e, t, i, Zi(i, (r = t.pendingProps)), n)), + (t.memoizedProps = r), + e + ); + case 2: + return Qi(e, t, t.type, t.pendingProps, n); + case 3: + return ( + (e = Qi( + e, + t, + (i = t.type._reactResult), + Zi(i, (r = t.pendingProps)), + n + )), + (t.memoizedProps = r), + e + ); + case 5: + return ( + Ki(t), + null === (r = t.updateQueue) && o("282"), + (i = null !== (i = t.memoizedState) ? i.element : null), + ni(t, r, t.pendingProps, null, n), + (r = t.memoizedState.element) === i + ? (Hi(), (t = Ji(e, t, n))) + : ((i = t.stateNode), + (i = (null === e || null === e.child) && i.hydrate) && + ((Ii = yr(t.stateNode.containerInfo)), + (Ri = t), + (i = Vi = !0)), + i + ? ((t.effectTag |= 2), (t.child = ji(t, null, r, n))) + : (Xi(e, t, r, n), Hi()), + (t = t.child)), + t + ); + case 7: + _i(t), null === e && Gi(t), (r = t.type), (i = t.pendingProps); + var a = null !== e ? e.memoizedProps : null, + s = i.children; + return ( + mr(r, i) + ? (s = null) + : null !== a && mr(r, a) && (t.effectTag |= 16), + Wi(e, t), + 1073741823 !== n && 1 & t.mode && i.hidden + ? ((t.expirationTime = 1073741823), + (t.memoizedProps = i), + (t = null)) + : (Xi(e, t, s, n), (t.memoizedProps = i), (t = t.child)), + t + ); + case 8: + return ( + null === e && Gi(t), (t.memoizedProps = t.pendingProps), null + ); + case 16: + return null; + case 6: + return ( + xi(t, t.stateNode.containerInfo), + (r = t.pendingProps), + null === e ? (t.child = Li(t, null, r, n)) : Xi(e, t, r, n), + (t.memoizedProps = r), + t.child + ); + case 13: + return Yi(e, t, t.type, t.pendingProps, n); + case 14: + return ( + (e = Yi( + e, + t, + (i = t.type._reactResult), + Zi(i, (r = t.pendingProps)), + n + )), + (t.memoizedProps = r), + e + ); + case 9: + return ( + Xi(e, t, (r = t.pendingProps), n), (t.memoizedProps = r), t.child + ); + case 10: + return ( + Xi(e, t, (r = t.pendingProps.children), n), + (t.memoizedProps = r), + t.child + ); + case 15: + return ( + Xi(e, t, (r = t.pendingProps).children, n), + (t.memoizedProps = r), + t.child + ); + case 12: + e: { + if ( + ((r = t.type._context), + (i = t.pendingProps), + (s = t.memoizedProps), + (a = i.value), + (t.memoizedProps = i), + ci(t, a), + null !== s) + ) { + var u = s.value; + if ( + 0 === + (a = + (u === a && (0 !== u || 1 / u === 1 / a)) || + (u !== u && a !== a) + ? 0 + : 0 | + ("function" === typeof r._calculateChangedBits + ? r._calculateChangedBits(u, a) + : 1073741823)) + ) { + if (s.children === i.children && !Er.current) { + t = Ji(e, t, n); + break e; + } + } else + for (null !== (s = t.child) && (s.return = t); null !== s; ) { + if (null !== (u = s.firstContextDependency)) + do { + if (u.context === r && 0 !== (u.observedBits & a)) { + if (2 === s.tag || 3 === s.tag) { + var l = $r(n); + (l.tag = 2), Zr(s, l); + } + (0 === s.expirationTime || s.expirationTime > n) && + (s.expirationTime = n), + null !== (l = s.alternate) && + (0 === l.expirationTime || + l.expirationTime > n) && + (l.expirationTime = n); + for (var c = s.return; null !== c; ) { + if ( + ((l = c.alternate), + 0 === c.childExpirationTime || + c.childExpirationTime > n) + ) + (c.childExpirationTime = n), + null !== l && + (0 === l.childExpirationTime || + l.childExpirationTime > n) && + (l.childExpirationTime = n); + else { + if ( + null === l || + !( + 0 === l.childExpirationTime || + l.childExpirationTime > n + ) + ) + break; + l.childExpirationTime = n; + } + c = c.return; + } + } + (l = s.child), (u = u.next); + } while (null !== u); + else l = 12 === s.tag && s.type === t.type ? null : s.child; + if (null !== l) l.return = s; + else + for (l = s; null !== l; ) { + if (l === t) { + l = null; + break; + } + if (null !== (s = l.sibling)) { + (s.return = l.return), (l = s); + break; + } + l = l.return; + } + s = l; + } + } + Xi(e, t, i.children, n), (t = t.child); + } + return t; + case 11: + return ( + (a = t.type), + (i = (r = t.pendingProps).children), + fi(t), + (i = i((a = hi(a, r.unstable_observedBits)))), + (t.effectTag |= 1), + Xi(e, t, i, n), + (t.memoizedProps = r), + t.child + ); + default: + o("156"); + } + } + function ta(e) { + e.effectTag |= 4; + } + var na = void 0, + ra = void 0, + ia = void 0; + function aa(e, t) { + var n = t.source, + r = t.stack; + null === r && null !== n && (r = ut(n)), + null !== n && st(n.type), + (t = t.value), + null !== e && 2 === e.tag && st(e.type); + try { + console.error(t); + } catch (i) { + setTimeout(function() { + throw i; + }); + } + } + function oa(e) { + var t = e.ref; + if (null !== t) + if ("function" === typeof t) + try { + t(null); + } catch (n) { + Na(e, n); + } + else t.current = null; + } + function sa(e) { + switch (("function" === typeof Ir && Ir(e), e.tag)) { + case 2: + case 3: + oa(e); + var t = e.stateNode; + if ("function" === typeof t.componentWillUnmount) + try { + (t.props = e.memoizedProps), + (t.state = e.memoizedState), + t.componentWillUnmount(); + } catch (n) { + Na(e, n); + } + break; + case 7: + oa(e); + break; + case 6: + ca(e); + } + } + function ua(e) { + return 7 === e.tag || 5 === e.tag || 6 === e.tag; + } + function la(e) { + e: { + for (var t = e.return; null !== t; ) { + if (ua(t)) { + var n = t; + break e; + } + t = t.return; + } + o("160"), (n = void 0); + } + var r = (t = void 0); + switch (n.tag) { + case 7: + (t = n.stateNode), (r = !1); + break; + case 5: + case 6: + (t = n.stateNode.containerInfo), (r = !0); + break; + default: + o("161"); + } + 16 & n.effectTag && (ir(t, ""), (n.effectTag &= -17)); + e: t: for (n = e; ; ) { + for (; null === n.sibling; ) { + if (null === n.return || ua(n.return)) { + n = null; + break e; + } + n = n.return; + } + for ( + n.sibling.return = n.return, n = n.sibling; + 7 !== n.tag && 8 !== n.tag; + + ) { + if (2 & n.effectTag) continue t; + if (null === n.child || 6 === n.tag) continue t; + (n.child.return = n), (n = n.child); + } + if (!(2 & n.effectTag)) { + n = n.stateNode; + break e; + } + } + for (var i = e; ; ) { + if (7 === i.tag || 8 === i.tag) + if (n) + if (r) { + var a = t, + s = i.stateNode, + u = n; + 8 === a.nodeType + ? a.parentNode.insertBefore(s, u) + : a.insertBefore(s, u); + } else t.insertBefore(i.stateNode, n); + else + r + ? ((a = t), + (s = i.stateNode), + 8 === a.nodeType + ? (u = a.parentNode).insertBefore(s, a) + : (u = a).appendChild(s), + null === u.onclick && (u.onclick = fr)) + : t.appendChild(i.stateNode); + else if (6 !== i.tag && null !== i.child) { + (i.child.return = i), (i = i.child); + continue; + } + if (i === e) break; + for (; null === i.sibling; ) { + if (null === i.return || i.return === e) return; + i = i.return; + } + (i.sibling.return = i.return), (i = i.sibling); + } + } + function ca(e) { + for (var t = e, n = !1, r = void 0, i = void 0; ; ) { + if (!n) { + n = t.return; + e: for (;;) { + switch ((null === n && o("160"), n.tag)) { + case 7: + (r = n.stateNode), (i = !1); + break e; + case 5: + case 6: + (r = n.stateNode.containerInfo), (i = !0); + break e; + } + n = n.return; + } + n = !0; + } + if (7 === t.tag || 8 === t.tag) { + e: for (var a = t, s = a; ; ) + if ((sa(s), null !== s.child && 6 !== s.tag)) + (s.child.return = s), (s = s.child); + else { + if (s === a) break; + for (; null === s.sibling; ) { + if (null === s.return || s.return === a) break e; + s = s.return; + } + (s.sibling.return = s.return), (s = s.sibling); + } + i + ? ((a = r), + (s = t.stateNode), + 8 === a.nodeType + ? a.parentNode.removeChild(s) + : a.removeChild(s)) + : r.removeChild(t.stateNode); + } else if ( + (6 === t.tag ? ((r = t.stateNode.containerInfo), (i = !0)) : sa(t), + null !== t.child) + ) { + (t.child.return = t), (t = t.child); + continue; + } + if (t === e) break; + for (; null === t.sibling; ) { + if (null === t.return || t.return === e) return; + 6 === (t = t.return).tag && (n = !1); + } + (t.sibling.return = t.return), (t = t.sibling); + } + } + function da(e, t) { + switch (t.tag) { + case 2: + case 3: + break; + case 7: + var n = t.stateNode; + if (null != n) { + var r = t.memoizedProps, + i = null !== e ? e.memoizedProps : r; + e = t.type; + var a = t.updateQueue; + if (((t.updateQueue = null), null !== a)) { + for ( + n[I] = r, + "input" === e && + "radio" === r.type && + null != r.name && + _t(n, r), + cr(e, i), + t = cr(e, r), + i = 0; + i < a.length; + i += 2 + ) { + var s = a[i], + u = a[i + 1]; + "style" === s + ? sr(n, u) + : "dangerouslySetInnerHTML" === s + ? rr(n, u) + : "children" === s + ? ir(n, u) + : vt(n, s, u, t); + } + switch (e) { + case "input": + wt(n, r); + break; + case "textarea": + $n(n, r); + break; + case "select": + (e = n._wrapperState.wasMultiple), + (n._wrapperState.wasMultiple = !!r.multiple), + null != (a = r.value) + ? Wn(n, !!r.multiple, a, !1) + : e !== !!r.multiple && + (null != r.defaultValue + ? Wn(n, !!r.multiple, r.defaultValue, !0) + : Wn(n, !!r.multiple, r.multiple ? [] : "", !1)); + } + } + } + break; + case 8: + null === t.stateNode && o("162"), + (t.stateNode.nodeValue = t.memoizedProps); + break; + case 5: + case 15: + case 16: + break; + default: + o("163"); + } + } + function fa(e, t, n) { + ((n = $r(n)).tag = 3), (n.payload = { element: null }); + var r = t.value; + return ( + (n.callback = function() { + po(r), aa(e, t); + }), + n + ); + } + function ha(e, t, n) { + (n = $r(n)).tag = 3; + var r = e.stateNode; + return ( + null !== r && + "function" === typeof r.componentDidCatch && + (n.callback = function() { + null === Ca ? (Ca = new Set([this])) : Ca.add(this); + var n = t.value, + r = t.stack; + aa(e, t), + this.componentDidCatch(n, { + componentStack: null !== r ? r : "" + }); + }), + n + ); + } + function pa(e) { + switch (e.tag) { + case 2: + Pr(e.type) && Ar(); + var t = e.effectTag; + return 1024 & t ? ((e.effectTag = (-1025 & t) | 64), e) : null; + case 3: + return ( + Pr(e.type._reactResult) && Ar(), + 1024 & (t = e.effectTag) + ? ((e.effectTag = (-1025 & t) | 64), e) + : null + ); + case 5: + return ( + bi(), + kr(), + 0 !== (64 & (t = e.effectTag)) && o("285"), + (e.effectTag = (-1025 & t) | 64), + e + ); + case 7: + return wi(e), null; + case 16: + return 1024 & (t = e.effectTag) + ? ((e.effectTag = (-1025 & t) | 64), e) + : null; + case 6: + return bi(), null; + case 12: + return di(e), null; + default: + return null; + } + } + (na = function() {}), + (ra = function(e, t, n, r, a) { + var o = e.memoizedProps; + if (o !== r) { + var s = t.stateNode; + switch ((yi(gi.current), (e = null), n)) { + case "input": + (o = xt(s, o)), (r = xt(s, r)), (e = []); + break; + case "option": + (o = Yn(s, o)), (r = Yn(s, r)), (e = []); + break; + case "select": + (o = i({}, o, { value: void 0 })), + (r = i({}, r, { value: void 0 })), + (e = []); + break; + case "textarea": + (o = qn(s, o)), (r = qn(s, r)), (e = []); + break; + default: + "function" !== typeof o.onClick && + "function" === typeof r.onClick && + (s.onclick = fr); + } + lr(n, r), (s = n = void 0); + var u = null; + for (n in o) + if (!r.hasOwnProperty(n) && o.hasOwnProperty(n) && null != o[n]) + if ("style" === n) { + var l = o[n]; + for (s in l) + l.hasOwnProperty(s) && (u || (u = {}), (u[s] = "")); + } else + "dangerouslySetInnerHTML" !== n && + "children" !== n && + "suppressContentEditableWarning" !== n && + "suppressHydrationWarning" !== n && + "autoFocus" !== n && + (x.hasOwnProperty(n) + ? e || (e = []) + : (e = e || []).push(n, null)); + for (n in r) { + var c = r[n]; + if ( + ((l = null != o ? o[n] : void 0), + r.hasOwnProperty(n) && c !== l && (null != c || null != l)) + ) + if ("style" === n) + if (l) { + for (s in l) + !l.hasOwnProperty(s) || + (c && c.hasOwnProperty(s)) || + (u || (u = {}), (u[s] = "")); + for (s in c) + c.hasOwnProperty(s) && + l[s] !== c[s] && + (u || (u = {}), (u[s] = c[s])); + } else u || (e || (e = []), e.push(n, u)), (u = c); + else + "dangerouslySetInnerHTML" === n + ? ((c = c ? c.__html : void 0), + (l = l ? l.__html : void 0), + null != c && l !== c && (e = e || []).push(n, "" + c)) + : "children" === n + ? l === c || + ("string" !== typeof c && "number" !== typeof c) || + (e = e || []).push(n, "" + c) + : "suppressContentEditableWarning" !== n && + "suppressHydrationWarning" !== n && + (x.hasOwnProperty(n) + ? (null != c && dr(a, n), e || l === c || (e = [])) + : (e = e || []).push(n, c)); + } + u && (e = e || []).push("style", u), + (a = e), + (t.updateQueue = a) && ta(t); + } + }), + (ia = function(e, t, n, r) { + n !== r && ta(t); + }); + var ga = { readContext: hi }, + ma = Ye.ReactCurrentOwner, + va = 0, + ya = 0, + xa = !1, + ba = null, + _a = null, + wa = 0, + Sa = !1, + Ta = null, + Ea = !1, + Ca = null; + function Oa() { + if (null !== ba) + for (var e = ba.return; null !== e; ) { + var t = e; + switch (t.tag) { + case 2: + var n = t.type.childContextTypes; + null !== n && void 0 !== n && Ar(); + break; + case 3: + null !== (n = t.type._reactResult.childContextTypes) && + void 0 !== n && + Ar(); + break; + case 5: + bi(), kr(); + break; + case 7: + wi(t); + break; + case 6: + bi(); + break; + case 12: + di(t); + } + e = e.return; + } + (_a = null), (wa = 0), (Sa = !1), (ba = null); + } + function Pa(e) { + for (;;) { + var t = e.alternate, + n = e.return, + r = e.sibling; + if (0 === (512 & e.effectTag)) { + var a = t, + s = (t = e).pendingProps; + switch (t.tag) { + case 0: + case 1: + break; + case 2: + Pr(t.type) && Ar(); + break; + case 3: + Pr(t.type._reactResult) && Ar(); + break; + case 5: + bi(), + kr(), + (s = t.stateNode).pendingContext && + ((s.context = s.pendingContext), (s.pendingContext = null)), + (null !== a && null !== a.child) || + (Bi(t), (t.effectTag &= -3)), + na(t); + break; + case 7: + wi(t); + var u = yi(vi.current), + l = t.type; + if (null !== a && null != t.stateNode) + ra(a, t, l, s, u), a.ref !== t.ref && (t.effectTag |= 128); + else if (s) { + var c = yi(gi.current); + if (Bi(t)) { + a = (s = t).stateNode; + var d = s.type, + f = s.memoizedProps, + h = u; + switch (((a[R] = s), (a[I] = f), (l = void 0), (u = d))) { + case "iframe": + case "object": + En("load", a); + break; + case "video": + case "audio": + for (d = 0; d < re.length; d++) En(re[d], a); + break; + case "source": + En("error", a); + break; + case "img": + case "image": + case "link": + En("error", a), En("load", a); + break; + case "form": + En("reset", a), En("submit", a); + break; + case "details": + En("toggle", a); + break; + case "input": + bt(a, f), En("invalid", a), dr(h, "onChange"); + break; + case "select": + (a._wrapperState = { wasMultiple: !!f.multiple }), + En("invalid", a), + dr(h, "onChange"); + break; + case "textarea": + Qn(a, f), En("invalid", a), dr(h, "onChange"); + } + for (l in (lr(u, f), (d = null), f)) + f.hasOwnProperty(l) && + ((c = f[l]), + "children" === l + ? "string" === typeof c + ? a.textContent !== c && (d = ["children", c]) + : "number" === typeof c && + a.textContent !== "" + c && + (d = ["children", "" + c]) + : x.hasOwnProperty(l) && null != c && dr(h, l)); + switch (u) { + case "input": + Ue(a), St(a, f, !0); + break; + case "textarea": + Ue(a), Kn(a); + break; + case "select": + case "option": + break; + default: + "function" === typeof f.onClick && (a.onclick = fr); + } + (l = d), (s.updateQueue = l), (s = null !== l) && ta(t); + } else { + (f = t), + (a = l), + (h = s), + (d = 9 === u.nodeType ? u : u.ownerDocument), + c === Zn.html && (c = Jn(a)), + c === Zn.html + ? "script" === a + ? (((a = d.createElement("div")).innerHTML = + ""), + (d = a.removeChild(a.firstChild))) + : "string" === typeof h.is + ? (d = d.createElement(a, { is: h.is })) + : ((d = d.createElement(a)), + "select" === a && h.multiple && (d.multiple = !0)) + : (d = d.createElementNS(c, a)), + ((a = d)[R] = f), + (a[I] = s); + e: for (f = a, h = t, d = h.child; null !== d; ) { + if (7 === d.tag || 8 === d.tag) + f.appendChild(d.stateNode); + else if (6 !== d.tag && null !== d.child) { + (d.child.return = d), (d = d.child); + continue; + } + if (d === h) break; + for (; null === d.sibling; ) { + if (null === d.return || d.return === h) break e; + d = d.return; + } + (d.sibling.return = d.return), (d = d.sibling); + } + h = a; + var p = u, + g = cr((d = l), (f = s)); + switch (d) { + case "iframe": + case "object": + En("load", h), (u = f); + break; + case "video": + case "audio": + for (u = 0; u < re.length; u++) En(re[u], h); + u = f; + break; + case "source": + En("error", h), (u = f); + break; + case "img": + case "image": + case "link": + En("error", h), En("load", h), (u = f); + break; + case "form": + En("reset", h), En("submit", h), (u = f); + break; + case "details": + En("toggle", h), (u = f); + break; + case "input": + bt(h, f), + (u = xt(h, f)), + En("invalid", h), + dr(p, "onChange"); + break; + case "option": + u = Yn(h, f); + break; + case "select": + (h._wrapperState = { wasMultiple: !!f.multiple }), + (u = i({}, f, { value: void 0 })), + En("invalid", h), + dr(p, "onChange"); + break; + case "textarea": + Qn(h, f), + (u = qn(h, f)), + En("invalid", h), + dr(p, "onChange"); + break; + default: + u = f; + } + lr(d, u), (c = void 0); + var m = d, + v = h, + y = u; + for (c in y) + if (y.hasOwnProperty(c)) { + var b = y[c]; + "style" === c + ? sr(v, b) + : "dangerouslySetInnerHTML" === c + ? null != (b = b ? b.__html : void 0) && rr(v, b) + : "children" === c + ? "string" === typeof b + ? ("textarea" !== m || "" !== b) && ir(v, b) + : "number" === typeof b && ir(v, "" + b) + : "suppressContentEditableWarning" !== c && + "suppressHydrationWarning" !== c && + "autoFocus" !== c && + (x.hasOwnProperty(c) + ? null != b && dr(p, c) + : null != b && vt(v, c, b, g)); + } + switch (d) { + case "input": + Ue(h), St(h, f, !1); + break; + case "textarea": + Ue(h), Kn(h); + break; + case "option": + null != f.value && + h.setAttribute("value", "" + yt(f.value)); + break; + case "select": + ((u = h).multiple = !!f.multiple), + null != (h = f.value) + ? Wn(u, !!f.multiple, h, !1) + : null != f.defaultValue && + Wn(u, !!f.multiple, f.defaultValue, !0); + break; + default: + "function" === typeof u.onClick && (h.onclick = fr); + } + (s = gr(l, s)) && ta(t), (t.stateNode = a); + } + null !== t.ref && (t.effectTag |= 128); + } else null === t.stateNode && o("166"); + break; + case 8: + a && null != t.stateNode + ? ia(a, t, a.memoizedProps, s) + : ("string" !== typeof s && + (null === t.stateNode && o("166")), + (a = yi(vi.current)), + yi(gi.current), + Bi(t) + ? ((l = (s = t).stateNode), + (a = s.memoizedProps), + (l[R] = s), + (s = l.nodeValue !== a) && ta(t)) + : ((l = t), + ((s = (9 === a.nodeType + ? a + : a.ownerDocument + ).createTextNode(s))[R] = l), + (t.stateNode = s))); + break; + case 13: + case 14: + case 16: + case 9: + case 10: + case 15: + break; + case 6: + bi(), na(t); + break; + case 12: + di(t); + break; + case 11: + break; + case 4: + o("167"); + default: + o("156"); + } + if ( + ((t = ba = null), + (s = e), + 1073741823 === wa || 1073741823 !== s.childExpirationTime) + ) { + for (l = 0, a = s.child; null !== a; ) + (u = a.expirationTime), + (f = a.childExpirationTime), + (0 === l || (0 !== u && u < l)) && (l = u), + (0 === l || (0 !== f && f < l)) && (l = f), + (a = a.sibling); + s.childExpirationTime = l; + } + if (null !== t) return t; + null !== n && + 0 === (512 & n.effectTag) && + (null === n.firstEffect && (n.firstEffect = e.firstEffect), + null !== e.lastEffect && + (null !== n.lastEffect && + (n.lastEffect.nextEffect = e.firstEffect), + (n.lastEffect = e.lastEffect)), + 1 < e.effectTag && + (null !== n.lastEffect + ? (n.lastEffect.nextEffect = e) + : (n.firstEffect = e), + (n.lastEffect = e))); + } else { + if (null !== (e = pa(e))) return (e.effectTag &= 511), e; + null !== n && + ((n.firstEffect = n.lastEffect = null), (n.effectTag |= 512)); + } + if (null !== r) return r; + if (null === n) break; + e = n; + } + return null; + } + function Aa(e) { + var t = ea(e.alternate, e, wa); + return null === t && (t = Pa(e)), (ma.current = null), t; + } + function ka(e, t, n) { + xa && o("243"), (xa = !0), (ma.currentDispatcher = ga); + var r = e.nextExpirationTimeToWorkOn; + (r === wa && e === _a && null !== ba) || + (Oa(), + (wa = r), + (ba = Gr((_a = e).current, null, wa)), + (e.pendingCommitExpirationTime = 0)); + for (var i = !1; ; ) { + try { + if (t) for (; null !== ba && !ho(); ) ba = Aa(ba); + else for (; null !== ba; ) ba = Aa(ba); + } catch (f) { + if (null === ba) (i = !0), po(f); + else { + null === ba && o("271"); + var a = ba, + s = a.return; + if (null !== s) { + e: { + var u = s, + l = a, + c = f; + (s = wa), + (l.effectTag |= 512), + (l.firstEffect = l.lastEffect = null), + (Sa = !0), + (c = ai(c, l)); + do { + switch (u.tag) { + case 5: + (u.effectTag |= 1024), + (u.expirationTime = s), + Jr(u, (s = fa(u, c, s))); + break e; + case 2: + case 3: + l = c; + var d = u.stateNode; + if ( + 0 === (64 & u.effectTag) && + null !== d && + "function" === typeof d.componentDidCatch && + (null === Ca || !Ca.has(d)) + ) { + (u.effectTag |= 1024), + (u.expirationTime = s), + Jr(u, (s = ha(u, l, s))); + break e; + } + } + u = u.return; + } while (null !== u); + } + ba = Pa(a); + continue; + } + (i = !0), po(f); + } + } + break; + } + if (((xa = !1), (li = ui = si = ma.currentDispatcher = null), i)) + (_a = null), (e.finishedWork = null); + else if (null !== ba) e.finishedWork = null; + else { + if ( + (null === (t = e.current.alternate) && o("281"), (_a = null), Sa) + ) { + if ( + ((i = e.latestPendingTime), + (a = e.latestSuspendedTime), + (s = e.latestPingedTime), + (0 !== i && i > r) || (0 !== a && a > r) || (0 !== s && s > r)) + ) + return ( + (e.didError = !1), + 0 !== (n = e.latestPingedTime) && + n <= r && + (e.latestPingedTime = 0), + (n = e.earliestPendingTime), + (t = e.latestPendingTime), + n === r + ? (e.earliestPendingTime = + t === r ? (e.latestPendingTime = 0) : t) + : t === r && (e.latestPendingTime = n), + (n = e.earliestSuspendedTime), + (t = e.latestSuspendedTime), + 0 === n + ? (e.earliestSuspendedTime = e.latestSuspendedTime = r) + : n > r + ? (e.earliestSuspendedTime = r) + : t < r && (e.latestSuspendedTime = r), + Yr(r, e), + void (e.expirationTime = e.expirationTime) + ); + if (!e.didError && !n) + return ( + (e.didError = !0), + (e.nextExpirationTimeToWorkOn = r), + (r = e.expirationTime = 1), + void (e.expirationTime = r) + ); + } + (e.pendingCommitExpirationTime = r), (e.finishedWork = t); + } + } + function Na(e, t) { + var n; + e: { + for (xa && !Ea && o("263"), n = e.return; null !== n; ) { + switch (n.tag) { + case 2: + case 3: + var r = n.stateNode; + if ( + "function" === typeof n.type.getDerivedStateFromCatch || + ("function" === typeof r.componentDidCatch && + (null === Ca || !Ca.has(r))) + ) { + Zr(n, (e = ha(n, (e = ai(t, e)), 1))), La(n, 1), (n = void 0); + break e; + } + break; + case 5: + Zr(n, (e = fa(n, (e = ai(t, e)), 1))), La(n, 1), (n = void 0); + break e; + } + n = n.return; + } + 5 === e.tag && (Zr(e, (n = fa(e, (n = ai(t, e)), 1))), La(e, 1)), + (n = void 0); + } + return n; + } + function Ma(e, t) { + return ( + 0 !== ya + ? (e = ya) + : xa + ? (e = Ea ? 1 : wa) + : 1 & t.mode + ? ((e = Qa + ? 2 + 10 * (1 + (((e - 2 + 15) / 10) | 0)) + : 2 + 25 * (1 + (((e - 2 + 500) / 25) | 0))), + null !== _a && e === wa && (e += 1)) + : (e = 1), + Qa && (0 === Ba || e > Ba) && (Ba = e), + e + ); + } + function La(e, t) { + e: { + (0 === e.expirationTime || e.expirationTime > t) && + (e.expirationTime = t); + var n = e.alternate; + null !== n && + (0 === n.expirationTime || n.expirationTime > t) && + (n.expirationTime = t); + var r = e.return; + if (null === r && 5 === e.tag) e = e.stateNode; + else { + for (; null !== r; ) { + if ( + ((n = r.alternate), + (0 === r.childExpirationTime || r.childExpirationTime > t) && + (r.childExpirationTime = t), + null !== n && + (0 === n.childExpirationTime || n.childExpirationTime > t) && + (n.childExpirationTime = t), + null === r.return && 5 === r.tag) + ) { + e = r.stateNode; + break e; + } + r = r.return; + } + e = null; + } + } + null !== e && + (!xa && 0 !== wa && t < wa && Oa(), + Xr(e, t), + (xa && !Ea && _a === e) || + ((t = e), + (e = e.expirationTime), + null === t.nextScheduledRoot + ? ((t.expirationTime = e), + null === Ia + ? ((Ra = Ia = t), (t.nextScheduledRoot = t)) + : ((Ia = Ia.nextScheduledRoot = t).nextScheduledRoot = Ra)) + : (0 === (n = t.expirationTime) || e < n) && + (t.expirationTime = e), + Da || + (Wa + ? qa && ((Ga = t), (za = 1), co(t, 1, !0)) + : 1 === e + ? lo(1, null) + : ao(t, e))), + to > eo && ((to = 0), o("185"))); + } + function ja(e, t, n, r, i) { + var a = ya; + ya = 1; + try { + return e(t, n, r, i); + } finally { + ya = a; + } + } + var Ra = null, + Ia = null, + Va = 0, + Fa = void 0, + Da = !1, + Ga = null, + za = 0, + Ba = 0, + Ha = !1, + Ua = !1, + Xa = null, + Ya = null, + Wa = !1, + qa = !1, + Qa = !1, + $a = null, + Ka = a.unstable_now(), + Za = 2 + ((Ka / 10) | 0), + Ja = Za, + eo = 50, + to = 0, + no = null, + ro = 1; + function io() { + Za = 2 + (((a.unstable_now() - Ka) / 10) | 0); + } + function ao(e, t) { + if (0 !== Va) { + if (t > Va) return; + null !== Fa && a.unstable_cancelScheduledWork(Fa); + } + (Va = t), + (e = a.unstable_now() - Ka), + (Fa = a.unstable_scheduleWork(uo, { timeout: 10 * (t - 2) - e })); + } + function oo() { + return Da + ? Ja + : (so(), (0 !== za && 1073741823 !== za) || (io(), (Ja = Za)), Ja); + } + function so() { + var e = 0, + t = null; + if (null !== Ia) + for (var n = Ia, r = Ra; null !== r; ) { + var i = r.expirationTime; + if (0 === i) { + if ( + ((null === n || null === Ia) && o("244"), + r === r.nextScheduledRoot) + ) { + Ra = Ia = r.nextScheduledRoot = null; + break; + } + if (r === Ra) + (Ra = i = r.nextScheduledRoot), + (Ia.nextScheduledRoot = i), + (r.nextScheduledRoot = null); + else { + if (r === Ia) { + ((Ia = n).nextScheduledRoot = Ra), + (r.nextScheduledRoot = null); + break; + } + (n.nextScheduledRoot = r.nextScheduledRoot), + (r.nextScheduledRoot = null); + } + r = n.nextScheduledRoot; + } else { + if (((0 === e || i < e) && ((e = i), (t = r)), r === Ia)) break; + if (1 === e) break; + (n = r), (r = r.nextScheduledRoot); + } + } + (Ga = t), (za = e); + } + function uo(e) { + if (e.didTimeout && null !== Ra) { + io(); + var t = Ra; + do { + var n = t.expirationTime; + 0 !== n && Za >= n && (t.nextExpirationTimeToWorkOn = Za), + (t = t.nextScheduledRoot); + } while (t !== Ra); + } + lo(0, e); + } + function lo(e, t) { + if (((Ya = t), so(), null !== Ya)) + for ( + io(), Ja = Za; + null !== Ga && + 0 !== za && + (0 === e || e >= za) && + (!Ha || Za >= za); + + ) + co(Ga, za, Za >= za), so(), io(), (Ja = Za); + else + for (; null !== Ga && 0 !== za && (0 === e || e >= za); ) + co(Ga, za, !0), so(); + if ( + (null !== Ya && ((Va = 0), (Fa = null)), + 0 !== za && ao(Ga, za), + (Ya = null), + (Ha = !1), + (to = 0), + (no = null), + null !== $a) + ) + for (e = $a, $a = null, t = 0; t < e.length; t++) { + var n = e[t]; + try { + n._onComplete(); + } catch (r) { + Ua || ((Ua = !0), (Xa = r)); + } + } + if (Ua) throw ((e = Xa), (Xa = null), (Ua = !1), e); + } + function co(e, t, n) { + if ((Da && o("245"), (Da = !0), null === Ya || n)) { + var r = e.finishedWork; + null !== r + ? fo(e, r, t) + : ((e.finishedWork = null), + ka(e, !1, n), + null !== (r = e.finishedWork) && fo(e, r, t)); + } else + null !== (r = e.finishedWork) + ? fo(e, r, t) + : ((e.finishedWork = null), + ka(e, !0, n), + null !== (r = e.finishedWork) && + (ho() ? (e.finishedWork = r) : fo(e, r, t))); + Da = !1; + } + function fo(e, t, n) { + var r = e.firstBatch; + if ( + null !== r && + r._expirationTime <= n && + (null === $a ? ($a = [r]) : $a.push(r), r._defer) + ) + return (e.finishedWork = t), void (e.expirationTime = 0); + (e.finishedWork = null), + e === no ? to++ : ((no = e), (to = 0)), + (Ea = xa = !0), + e.current === t && o("177"), + 0 === (n = e.pendingCommitExpirationTime) && o("261"), + (e.pendingCommitExpirationTime = 0), + (r = t.expirationTime); + var i = t.childExpirationTime; + if ( + ((r = 0 === r || (0 !== i && i < r) ? i : r), + (e.didError = !1), + 0 === r + ? ((e.earliestPendingTime = 0), + (e.latestPendingTime = 0), + (e.earliestSuspendedTime = 0), + (e.latestSuspendedTime = 0), + (e.latestPingedTime = 0)) + : (0 !== (i = e.latestPendingTime) && + (i < r + ? (e.earliestPendingTime = e.latestPendingTime = 0) + : e.earliestPendingTime < r && + (e.earliestPendingTime = e.latestPendingTime)), + 0 === (i = e.earliestSuspendedTime) + ? Xr(e, r) + : r > e.latestSuspendedTime + ? ((e.earliestSuspendedTime = 0), + (e.latestSuspendedTime = 0), + (e.latestPingedTime = 0), + Xr(e, r)) + : r < i && Xr(e, r)), + Yr(0, e), + (ma.current = null), + 1 < t.effectTag + ? null !== t.lastEffect + ? ((t.lastEffect.nextEffect = t), (r = t.firstEffect)) + : (r = t) + : (r = t.firstEffect), + (hr = Tn), + Vn((i = In()))) + ) { + if ("selectionStart" in i) + var a = { start: i.selectionStart, end: i.selectionEnd }; + else + e: { + var s = + (a = ((a = i.ownerDocument) && a.defaultView) || window) + .getSelection && a.getSelection(); + if (s && 0 !== s.rangeCount) { + a = s.anchorNode; + var u = s.anchorOffset, + l = s.focusNode; + s = s.focusOffset; + try { + a.nodeType, l.nodeType; + } catch (F) { + a = null; + break e; + } + var c = 0, + d = -1, + f = -1, + h = 0, + p = 0, + g = i, + m = null; + t: for (;;) { + for ( + var v; + g !== a || (0 !== u && 3 !== g.nodeType) || (d = c + u), + g !== l || (0 !== s && 3 !== g.nodeType) || (f = c + s), + 3 === g.nodeType && (c += g.nodeValue.length), + null !== (v = g.firstChild); + + ) + (m = g), (g = v); + for (;;) { + if (g === i) break t; + if ( + (m === a && ++h === u && (d = c), + m === l && ++p === s && (f = c), + null !== (v = g.nextSibling)) + ) + break; + m = (g = m).parentNode; + } + g = v; + } + a = -1 === d || -1 === f ? null : { start: d, end: f }; + } else a = null; + } + a = a || { start: 0, end: 0 }; + } else a = null; + for ( + pr = { focusedElem: i, selectionRange: a }, Tn = !1, Ta = r; + null !== Ta; + + ) { + (i = !1), (a = void 0); + try { + for (; null !== Ta; ) { + if (256 & Ta.effectTag) { + var y = Ta.alternate; + e: switch (((u = Ta), u.tag)) { + case 2: + case 3: + if (256 & u.effectTag && null !== y) { + var x = y.memoizedProps, + b = y.memoizedState, + _ = u.stateNode; + (_.props = u.memoizedProps), (_.state = u.memoizedState); + var w = _.getSnapshotBeforeUpdate(x, b); + _.__reactInternalSnapshotBeforeUpdate = w; + } + break e; + case 5: + case 7: + case 8: + case 6: + break e; + default: + o("163"); + } + } + Ta = Ta.nextEffect; + } + } catch (F) { + (i = !0), (a = F); + } + i && + (null === Ta && o("178"), + Na(Ta, a), + null !== Ta && (Ta = Ta.nextEffect)); + } + for (Ta = r; null !== Ta; ) { + (y = !1), (x = void 0); + try { + for (; null !== Ta; ) { + var S = Ta.effectTag; + if ((16 & S && ir(Ta.stateNode, ""), 128 & S)) { + var T = Ta.alternate; + if (null !== T) { + var E = T.ref; + null !== E && + ("function" === typeof E ? E(null) : (E.current = null)); + } + } + switch (14 & S) { + case 2: + la(Ta), (Ta.effectTag &= -3); + break; + case 6: + la(Ta), (Ta.effectTag &= -3), da(Ta.alternate, Ta); + break; + case 4: + da(Ta.alternate, Ta); + break; + case 8: + ca((b = Ta)), + (b.return = null), + (b.child = null), + b.alternate && + ((b.alternate.child = null), (b.alternate.return = null)); + } + Ta = Ta.nextEffect; + } + } catch (F) { + (y = !0), (x = F); + } + y && + (null === Ta && o("178"), + Na(Ta, x), + null !== Ta && (Ta = Ta.nextEffect)); + } + if ( + ((E = pr), + (T = In()), + (S = E.focusedElem), + (x = E.selectionRange), + T !== S && + S && + S.ownerDocument && + (function e(t, n) { + return ( + !(!t || !n) && + (t === n || + ((!t || 3 !== t.nodeType) && + (n && 3 === n.nodeType + ? e(t, n.parentNode) + : "contains" in t + ? t.contains(n) + : !!t.compareDocumentPosition && + !!(16 & t.compareDocumentPosition(n))))) + ); + })(S.ownerDocument.documentElement, S)) + ) { + null !== x && + Vn(S) && + ((T = x.start), + void 0 === (E = x.end) && (E = T), + "selectionStart" in S + ? ((S.selectionStart = T), + (S.selectionEnd = Math.min(E, S.value.length))) + : ((T = ( + ((y = S.ownerDocument || document) && y.defaultView) || + window + ).getSelection()), + (b = S.textContent.length), + (E = Math.min(x.start, b)), + (x = void 0 === x.end ? E : Math.min(x.end, b)), + !T.extend && E > x && ((b = x), (x = E), (E = b)), + (b = Rn(S, E)), + (_ = Rn(S, x)), + b && + _ && + (1 !== T.rangeCount || + T.anchorNode !== b.node || + T.anchorOffset !== b.offset || + T.focusNode !== _.node || + T.focusOffset !== _.offset) && + ((y = y.createRange()).setStart(b.node, b.offset), + T.removeAllRanges(), + E > x + ? (T.addRange(y), T.extend(_.node, _.offset)) + : (y.setEnd(_.node, _.offset), T.addRange(y))))), + (T = []); + for (E = S; (E = E.parentNode); ) + 1 === E.nodeType && + T.push({ element: E, left: E.scrollLeft, top: E.scrollTop }); + for ( + "function" === typeof S.focus && S.focus(), S = 0; + S < T.length; + S++ + ) + ((E = T[S]).element.scrollLeft = E.left), + (E.element.scrollTop = E.top); + } + for ( + pr = null, Tn = !!hr, hr = null, e.current = t, Ta = r; + null !== Ta; + + ) { + (r = !1), (S = void 0); + try { + for (T = n; null !== Ta; ) { + var C = Ta.effectTag; + if (36 & C) { + var O = Ta.alternate; + switch (((y = T), (E = Ta).tag)) { + case 2: + case 3: + var P = E.stateNode; + if (4 & E.effectTag) + if (null === O) + (P.props = E.memoizedProps), + (P.state = E.memoizedState), + P.componentDidMount(); + else { + var A = O.memoizedProps, + k = O.memoizedState; + (P.props = E.memoizedProps), + (P.state = E.memoizedState), + P.componentDidUpdate( + A, + k, + P.__reactInternalSnapshotBeforeUpdate + ); + } + var N = E.updateQueue; + null !== N && + ((P.props = E.memoizedProps), + (P.state = E.memoizedState), + ri(0, N, P)); + break; + case 5: + var M = E.updateQueue; + if (null !== M) { + if (((x = null), null !== E.child)) + switch (E.child.tag) { + case 7: + x = E.child.stateNode; + break; + case 2: + case 3: + x = E.child.stateNode; + } + ri(0, M, x); + } + break; + case 7: + var L = E.stateNode; + null === O && + 4 & E.effectTag && + gr(E.type, E.memoizedProps) && + L.focus(); + break; + case 8: + case 6: + case 15: + case 16: + break; + default: + o("163"); + } + } + if (128 & C) { + var j = Ta.ref; + if (null !== j) { + var R = Ta.stateNode; + switch (Ta.tag) { + case 7: + var I = R; + break; + default: + I = R; + } + "function" === typeof j ? j(I) : (j.current = I); + } + } + var V = Ta.nextEffect; + (Ta.nextEffect = null), (Ta = V); + } + } catch (F) { + (r = !0), (S = F); + } + r && + (null === Ta && o("178"), + Na(Ta, S), + null !== Ta && (Ta = Ta.nextEffect)); + } + (xa = Ea = !1), + "function" === typeof Rr && Rr(t.stateNode), + (C = t.expirationTime), + (t = t.childExpirationTime), + 0 === (t = 0 === C || (0 !== t && t < C) ? t : C) && (Ca = null), + (e.expirationTime = t), + (e.finishedWork = null); + } + function ho() { + return !!Ha || (!(null === Ya || Ya.timeRemaining() > ro) && (Ha = !0)); + } + function po(e) { + null === Ga && o("246"), + (Ga.expirationTime = 0), + Ua || ((Ua = !0), (Xa = e)); + } + function go(e, t) { + var n = Wa; + Wa = !0; + try { + return e(t); + } finally { + (Wa = n) || Da || lo(1, null); + } + } + function mo(e, t) { + if (Wa && !qa) { + qa = !0; + try { + return e(t); + } finally { + qa = !1; + } + } + return e(t); + } + function vo(e, t, n) { + if (Qa) return e(t, n); + Wa || Da || 0 === Ba || (lo(Ba, null), (Ba = 0)); + var r = Qa, + i = Wa; + Wa = Qa = !0; + try { + return e(t, n); + } finally { + (Qa = r), (Wa = i) || Da || lo(1, null); + } + } + function yo(e, t, n, r, i) { + var a = t.current; + return ( + (n = (function(e) { + if (!e) return Sr; + e: { + (2 !== tn((e = e._reactInternalFiber)) || + (2 !== e.tag && 3 !== e.tag)) && + o("170"); + var t = e; + do { + switch (t.tag) { + case 5: + t = t.stateNode.context; + break e; + case 2: + if (Pr(t.type)) { + t = t.stateNode.__reactInternalMemoizedMergedChildContext; + break e; + } + break; + case 3: + if (Pr(t.type._reactResult)) { + t = t.stateNode.__reactInternalMemoizedMergedChildContext; + break e; + } + } + t = t.return; + } while (null !== t); + o("171"), (t = void 0); + } + if (2 === e.tag) { + var n = e.type; + if (Pr(n)) return Mr(e, n, t); + } else if (3 === e.tag && Pr((n = e.type._reactResult))) + return Mr(e, n, t); + return t; + })(n)), + null === t.context ? (t.context = n) : (t.pendingContext = n), + (t = i), + ((i = $r(r)).payload = { element: e }), + null !== (t = void 0 === t ? null : t) && (i.callback = t), + Zr(a, i), + La(a, r), + r + ); + } + function xo(e, t, n, r) { + var i = t.current; + return yo(e, t, n, (i = Ma(oo(), i)), r); + } + function bo(e) { + if (!(e = e.current).child) return null; + switch (e.child.tag) { + case 7: + default: + return e.child.stateNode; + } + } + function _o(e) { + var t = 2 + 25 * (1 + (((oo() - 2 + 500) / 25) | 0)); + t <= va && (t = va + 1), + (this._expirationTime = va = t), + (this._root = e), + (this._callbacks = this._next = null), + (this._hasChildren = this._didComplete = !1), + (this._children = null), + (this._defer = !0); + } + function wo() { + (this._callbacks = null), + (this._didCommit = !1), + (this._onCommit = this._onCommit.bind(this)); + } + function So(e, t, n) { + (e = { + current: (t = new Fr(5, null, null, t ? 3 : 0)), + containerInfo: e, + pendingChildren: null, + earliestPendingTime: 0, + latestPendingTime: 0, + earliestSuspendedTime: 0, + latestSuspendedTime: 0, + latestPingedTime: 0, + didError: !1, + pendingCommitExpirationTime: 0, + finishedWork: null, + timeoutHandle: -1, + context: null, + pendingContext: null, + hydrate: n, + nextExpirationTimeToWorkOn: 0, + expirationTime: 0, + firstBatch: null, + nextScheduledRoot: null + }), + (this._internalRoot = t.stateNode = e); + } + function To(e) { + return !( + !e || + (1 !== e.nodeType && + 9 !== e.nodeType && + 11 !== e.nodeType && + (8 !== e.nodeType || + " react-mount-point-unstable " !== e.nodeValue)) + ); + } + function Eo(e, t, n, r, i) { + To(n) || o("200"); + var a = n._reactRootContainer; + if (a) { + if ("function" === typeof i) { + var s = i; + i = function() { + var e = bo(a._internalRoot); + s.call(e); + }; + } + null != e + ? a.legacy_renderSubtreeIntoContainer(e, t, i) + : a.render(t, i); + } else { + if ( + ((a = n._reactRootContainer = (function(e, t) { + if ( + (t || + (t = !( + !(t = e + ? 9 === e.nodeType + ? e.documentElement + : e.firstChild + : null) || + 1 !== t.nodeType || + !t.hasAttribute("data-reactroot") + )), + !t) + ) + for (var n; (n = e.lastChild); ) e.removeChild(n); + return new So(e, !1, t); + })(n, r)), + "function" === typeof i) + ) { + var u = i; + i = function() { + var e = bo(a._internalRoot); + u.call(e); + }; + } + mo(function() { + null != e + ? a.legacy_renderSubtreeIntoContainer(e, t, i) + : a.render(t, i); + }); + } + return bo(a._internalRoot); + } + function Co(e, t) { + var n = + 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; + return ( + To(t) || o("200"), + (function(e, t, n) { + var r = + 3 < arguments.length && void 0 !== arguments[3] + ? arguments[3] + : null; + return { + $$typeof: $e, + key: null == r ? null : "" + r, + children: e, + containerInfo: t, + implementation: n + }; + })(e, t, null, n) + ); + } + (Pe = function(e, t, n) { + switch (t) { + case "input": + if ((wt(e, n), (t = n.name), "radio" === n.type && null != t)) { + for (n = e; n.parentNode; ) n = n.parentNode; + for ( + n = n.querySelectorAll( + "input[name=" + JSON.stringify("" + t) + '][type="radio"]' + ), + t = 0; + t < n.length; + t++ + ) { + var r = n[t]; + if (r !== e && r.form === e.form) { + var i = G(r); + i || o("90"), Xe(r), wt(r, i); + } + } + } + break; + case "textarea": + $n(e, n); + break; + case "select": + null != (t = n.value) && Wn(e, !!n.multiple, t, !1); + } + }), + (_o.prototype.render = function(e) { + this._defer || o("250"), + (this._hasChildren = !0), + (this._children = e); + var t = this._root._internalRoot, + n = this._expirationTime, + r = new wo(); + return yo(e, t, null, n, r._onCommit), r; + }), + (_o.prototype.then = function(e) { + if (this._didComplete) e(); + else { + var t = this._callbacks; + null === t && (t = this._callbacks = []), t.push(e); + } + }), + (_o.prototype.commit = function() { + var e = this._root._internalRoot, + t = e.firstBatch; + if (((this._defer && null !== t) || o("251"), this._hasChildren)) { + var n = this._expirationTime; + if (t !== this) { + this._hasChildren && + ((n = this._expirationTime = t._expirationTime), + this.render(this._children)); + for (var r = null, i = t; i !== this; ) (r = i), (i = i._next); + null === r && o("251"), + (r._next = i._next), + (this._next = t), + (e.firstBatch = this); + } + (this._defer = !1), + (t = n), + Da && o("253"), + (Ga = e), + (za = t), + co(e, t, !0), + lo(1, null), + (t = this._next), + (this._next = null), + null !== (t = e.firstBatch = t) && + t._hasChildren && + t.render(t._children); + } else (this._next = null), (this._defer = !1); + }), + (_o.prototype._onComplete = function() { + if (!this._didComplete) { + this._didComplete = !0; + var e = this._callbacks; + if (null !== e) for (var t = 0; t < e.length; t++) (0, e[t])(); + } + }), + (wo.prototype.then = function(e) { + if (this._didCommit) e(); + else { + var t = this._callbacks; + null === t && (t = this._callbacks = []), t.push(e); + } + }), + (wo.prototype._onCommit = function() { + if (!this._didCommit) { + this._didCommit = !0; + var e = this._callbacks; + if (null !== e) + for (var t = 0; t < e.length; t++) { + var n = e[t]; + "function" !== typeof n && o("191", n), n(); + } + } + }), + (So.prototype.render = function(e, t) { + var n = this._internalRoot, + r = new wo(); + return ( + null !== (t = void 0 === t ? null : t) && r.then(t), + xo(e, n, null, r._onCommit), + r + ); + }), + (So.prototype.unmount = function(e) { + var t = this._internalRoot, + n = new wo(); + return ( + null !== (e = void 0 === e ? null : e) && n.then(e), + xo(null, t, null, n._onCommit), + n + ); + }), + (So.prototype.legacy_renderSubtreeIntoContainer = function(e, t, n) { + var r = this._internalRoot, + i = new wo(); + return ( + null !== (n = void 0 === n ? null : n) && i.then(n), + xo(t, r, e, i._onCommit), + i + ); + }), + (So.prototype.createBatch = function() { + var e = new _o(this), + t = e._expirationTime, + n = this._internalRoot, + r = n.firstBatch; + if (null === r) (n.firstBatch = e), (e._next = null); + else { + for (n = null; null !== r && r._expirationTime <= t; ) + (n = r), (r = r._next); + (e._next = r), null !== n && (n._next = e); + } + return e; + }), + (je = go), + (Re = vo), + (Ie = function() { + Da || 0 === Ba || (lo(Ba, null), (Ba = 0)); + }); + var Oo = { + createPortal: Co, + findDOMNode: function(e) { + if (null == e) return null; + if (1 === e.nodeType) return e; + var t = e._reactInternalFiber; + return ( + void 0 === t && + ("function" === typeof e.render + ? o("188") + : o("268", Object.keys(e))), + (e = null === (e = rn(t)) ? null : e.stateNode) + ); + }, + hydrate: function(e, t, n) { + return Eo(null, e, t, !0, n); + }, + render: function(e, t, n) { + return Eo(null, e, t, !1, n); + }, + unstable_renderSubtreeIntoContainer: function(e, t, n, r) { + return ( + (null == e || void 0 === e._reactInternalFiber) && o("38"), + Eo(e, t, n, !1, r) + ); + }, + unmountComponentAtNode: function(e) { + return ( + To(e) || o("40"), + !!e._reactRootContainer && + (mo(function() { + Eo(null, null, e, !1, function() { + e._reactRootContainer = null; + }); + }), + !0) + ); + }, + unstable_createPortal: function() { + return Co.apply(void 0, arguments); + }, + unstable_batchedUpdates: go, + unstable_interactiveUpdates: vo, + flushSync: function(e, t) { + Da && o("187"); + var n = Wa; + Wa = !0; + try { + return ja(e, t); + } finally { + (Wa = n), lo(1, null); + } + }, + unstable_flushControlled: function(e) { + var t = Wa; + Wa = !0; + try { + ja(e); + } finally { + (Wa = t) || Da || lo(1, null); + } + }, + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { + Events: [ + F, + D, + G, + N.injectEventPluginsByName, + y, + Y, + function(e) { + C(e, X); + }, + Me, + Le, + Pn, + L + ] + }, + unstable_createRoot: function(e, t) { + return ( + To(e) || o("278"), new So(e, !0, null != t && !0 === t.hydrate) + ); + } + }; + !(function(e) { + var t = e.findFiberByHostInstance; + (function(e) { + if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1; + var t = __REACT_DEVTOOLS_GLOBAL_HOOK__; + if (t.isDisabled || !t.supportsFiber) return !0; + try { + var n = t.inject(e); + (Rr = Vr(function(e) { + return t.onCommitFiberRoot(n, e); + })), + (Ir = Vr(function(e) { + return t.onCommitFiberUnmount(n, e); + })); + } catch (r) {} + })( + i({}, e, { + findHostInstanceByFiber: function(e) { + return null === (e = rn(e)) ? null : e.stateNode; + }, + findFiberByHostInstance: function(e) { + return t ? t(e) : null; + } + }) + ); + })({ + findFiberByHostInstance: V, + bundleType: 0, + version: "16.5.2", + rendererPackageName: "react-dom" + }); + var Po = { default: Oo }, + Ao = (Po && Oo) || Po; + e.exports = Ao.default || Ao; + }, + function(e, t, n) { + "use strict"; + e.exports = n(37); + }, + function(e, t, n) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }); + var r = null, + i = !1, + a = !1, + o = + "object" === typeof performance && + "function" === typeof performance.now, + s = { + timeRemaining: o + ? function() { + var e = g() - performance.now(); + return 0 < e ? e : 0; + } + : function() { + var e = g() - Date.now(); + return 0 < e ? e : 0; + }, + didTimeout: !1 + }; + function u() { + if (!i) { + var e = r.timesOutAt; + a ? p() : (a = !0), h(c, e); + } + } + function l() { + var e = r, + t = r.next; + if (r === t) r = null; + else { + var n = r.previous; + (r = n.next = t), (t.previous = n); + } + (e.next = e.previous = null), (e = e.callback)(s); + } + function c(e) { + (i = !0), (s.didTimeout = e); + try { + if (e) + for (; null !== r; ) { + var n = t.unstable_now(); + if (!(r.timesOutAt <= n)) break; + do { + l(); + } while (null !== r && r.timesOutAt <= n); + } + else if (null !== r) + do { + l(); + } while (null !== r && 0 < g() - t.unstable_now()); + } finally { + (i = !1), null !== r ? u() : (a = !1); + } + } + var d, + f, + h, + p, + g, + m = Date, + v = "function" === typeof setTimeout ? setTimeout : void 0, + y = "function" === typeof clearTimeout ? clearTimeout : void 0, + x = + "function" === typeof requestAnimationFrame + ? requestAnimationFrame + : void 0, + b = + "function" === typeof cancelAnimationFrame + ? cancelAnimationFrame + : void 0; + function _(e) { + (d = x(function(t) { + y(f), e(t); + })), + (f = v(function() { + b(d), e(t.unstable_now()); + }, 100)); + } + if (o) { + var w = performance; + t.unstable_now = function() { + return w.now(); + }; + } else + t.unstable_now = function() { + return m.now(); + }; + if ("undefined" === typeof window) { + var S = -1; + (h = function(e) { + S = setTimeout(e, 0, !0); + }), + (p = function() { + clearTimeout(S); + }), + (g = function() { + return 0; + }); + } else if (window._schedMock) { + var T = window._schedMock; + (h = T[0]), (p = T[1]), (g = T[2]); + } else { + "undefined" !== typeof console && + ("function" !== typeof x && + console.error( + "This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills" + ), + "function" !== typeof b && + console.error( + "This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills" + )); + var E = null, + C = !1, + O = -1, + P = !1, + A = !1, + k = 0, + N = 33, + M = 33; + g = function() { + return k; + }; + var L = + "__reactIdleCallback$" + + Math.random() + .toString(36) + .slice(2); + window.addEventListener( + "message", + function(e) { + if (e.source === window && e.data === L) { + C = !1; + var n = t.unstable_now(); + if (((e = !1), 0 >= k - n)) { + if (!(-1 !== O && O <= n)) return void (P || ((P = !0), _(j))); + e = !0; + } + if (((O = -1), (n = E), (E = null), null !== n)) { + A = !0; + try { + n(e); + } finally { + A = !1; + } + } + } + }, + !1 + ); + var j = function(e) { + P = !1; + var t = e - k + M; + t < M && N < M ? (8 > t && (t = 8), (M = t < N ? N : t)) : (N = t), + (k = e + M), + C || ((C = !0), window.postMessage(L, "*")); + }; + (h = function(e, t) { + (E = e), + (O = t), + A ? window.postMessage(L, "*") : P || ((P = !0), _(j)); + }), + (p = function() { + (E = null), (C = !1), (O = -1); + }); + } + (t.unstable_scheduleWork = function(e, n) { + var i = t.unstable_now(); + if ( + ((e = { + callback: e, + timesOutAt: (n = + void 0 !== n && + null !== n && + null !== n.timeout && + void 0 !== n.timeout + ? i + n.timeout + : i + 5e3), + next: null, + previous: null + }), + null === r) + ) + (r = e.next = e.previous = e), u(); + else { + i = null; + var a = r; + do { + if (a.timesOutAt > n) { + i = a; + break; + } + a = a.next; + } while (a !== r); + null === i ? (i = r) : i === r && ((r = e), u()), + ((n = i.previous).next = i.previous = e), + (e.next = i), + (e.previous = n); + } + return e; + }), + (t.unstable_cancelScheduledWork = function(e) { + var t = e.next; + if (null !== t) { + if (t === e) r = null; + else { + e === r && (r = t); + var n = e.previous; + (n.next = t), (t.previous = n); + } + e.next = e.previous = null; + } + }); + }, + , + , + function(e, t) { + var n; + n = (function() { + return this; + })(); + try { + n = n || Function("return this")() || (0, eval)("this"); + } catch (r) { + "object" === typeof window && (n = window); + } + e.exports = n; + }, + function(e, t, n) { + "use strict"; + var r = n(42); + function i() {} + e.exports = function() { + function e(e, t, n, i, a, o) { + if (o !== r) { + var s = new Error( + "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" + ); + throw ((s.name = "Invariant Violation"), s); + } + } + function t() { + return e; + } + e.isRequired = e; + var n = { + array: e, + bool: e, + func: e, + number: e, + object: e, + string: e, + symbol: e, + any: e, + arrayOf: t, + element: e, + instanceOf: t, + node: e, + objectOf: t, + oneOf: t, + oneOfType: t, + shape: t, + exact: t + }; + return (n.checkPropTypes = i), (n.PropTypes = n), n; + }; + }, + function(e, t, n) { + "use strict"; + e.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; + }, + function(e, t) { + e.exports = + Array.isArray || + function(e) { + return "[object Array]" == Object.prototype.toString.call(e); + }; + }, + function(e, t, n) { + "use strict"; + var r = n(15); + t.a = r.a; + }, + function(e, t, n) { + e.exports = (function() { + "use strict"; + var e, + t, + r = { + target: "c3-target", + chart: "c3-chart", + chartLine: "c3-chart-line", + chartLines: "c3-chart-lines", + chartBar: "c3-chart-bar", + chartBars: "c3-chart-bars", + chartText: "c3-chart-text", + chartTexts: "c3-chart-texts", + chartArc: "c3-chart-arc", + chartArcs: "c3-chart-arcs", + chartArcsTitle: "c3-chart-arcs-title", + chartArcsBackground: "c3-chart-arcs-background", + chartArcsGaugeUnit: "c3-chart-arcs-gauge-unit", + chartArcsGaugeMax: "c3-chart-arcs-gauge-max", + chartArcsGaugeMin: "c3-chart-arcs-gauge-min", + selectedCircle: "c3-selected-circle", + selectedCircles: "c3-selected-circles", + eventRect: "c3-event-rect", + eventRects: "c3-event-rects", + eventRectsSingle: "c3-event-rects-single", + eventRectsMultiple: "c3-event-rects-multiple", + zoomRect: "c3-zoom-rect", + brush: "c3-brush", + focused: "c3-focused", + defocused: "c3-defocused", + region: "c3-region", + regions: "c3-regions", + title: "c3-title", + tooltipContainer: "c3-tooltip-container", + tooltip: "c3-tooltip", + tooltipName: "c3-tooltip-name", + shape: "c3-shape", + shapes: "c3-shapes", + line: "c3-line", + lines: "c3-lines", + bar: "c3-bar", + bars: "c3-bars", + circle: "c3-circle", + circles: "c3-circles", + arc: "c3-arc", + arcLabelLine: "c3-arc-label-line", + arcs: "c3-arcs", + area: "c3-area", + areas: "c3-areas", + empty: "c3-empty", + text: "c3-text", + texts: "c3-texts", + gaugeValue: "c3-gauge-value", + grid: "c3-grid", + gridLines: "c3-grid-lines", + xgrid: "c3-xgrid", + xgrids: "c3-xgrids", + xgridLine: "c3-xgrid-line", + xgridLines: "c3-xgrid-lines", + xgridFocus: "c3-xgrid-focus", + ygrid: "c3-ygrid", + ygrids: "c3-ygrids", + ygridLine: "c3-ygrid-line", + ygridLines: "c3-ygrid-lines", + axis: "c3-axis", + axisX: "c3-axis-x", + axisXLabel: "c3-axis-x-label", + axisY: "c3-axis-y", + axisYLabel: "c3-axis-y-label", + axisY2: "c3-axis-y2", + axisY2Label: "c3-axis-y2-label", + legendBackground: "c3-legend-background", + legendItem: "c3-legend-item", + legendItemEvent: "c3-legend-item-event", + legendItemTile: "c3-legend-item-tile", + legendItemHidden: "c3-legend-item-hidden", + legendItemFocused: "c3-legend-item-focused", + dragarea: "c3-dragarea", + EXPANDED: "_expanded_", + SELECTED: "_selected_", + INCLUDED: "_included_" + }, + i = + "function" === typeof Symbol && "symbol" === typeof Symbol.iterator + ? function(e) { + return typeof e; + } + : function(e) { + return e && + "function" === typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + }, + a = function(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + }, + o = function(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || ("object" !== typeof t && "function" !== typeof t) + ? e + : t; + }, + s = function(e) { + return e || 0 === e; + }, + u = function(e) { + return "function" === typeof e; + }, + l = function(e) { + return Array.isArray(e); + }, + c = function(e) { + return "string" === typeof e; + }, + d = function(e) { + return "undefined" === typeof e; + }, + f = function(e) { + return "undefined" !== typeof e; + }, + h = function(e) { + return 10 * Math.ceil(e / 10); + }, + p = function(e) { + return Math.ceil(e) + 0.5; + }, + g = function(e) { + return e[1] - e[0]; + }, + m = function(e) { + return ( + "undefined" === typeof e || + null === e || + (c(e) && 0 === e.length) || + ("object" === ("undefined" === typeof e ? "undefined" : i(e)) && + 0 === Object.keys(e).length) + ); + }, + v = function(e) { + return !E.isEmpty(e); + }, + y = function(e, t, n) { + return f(e[t]) ? e[t] : n; + }, + x = function(e, t) { + var n = !1; + return ( + Object.keys(e).forEach(function(r) { + e[r] === t && (n = !0); + }), + n + ); + }, + b = function(e) { + return "string" === typeof e + ? e.replace(//g, ">") + : e; + }, + _ = function(e) { + var t = e.getBoundingClientRect(), + n = [e.pathSegList.getItem(0), e.pathSegList.getItem(1)], + r = n[0].x, + i = Math.min(n[0].y, n[1].y); + return { x: r, y: i, width: t.width, height: t.height }; + }; + function w(e, t) { + (this.component = e), + (this.params = t || {}), + (this.d3 = e.d3), + (this.scale = this.d3.scale.linear()), + this.range, + (this.orient = "bottom"), + (this.innerTickSize = 6), + (this.outerTickSize = this.params.withOuterTick ? 6 : 0), + (this.tickPadding = 3), + (this.tickValues = null), + this.tickFormat, + this.tickArguments, + (this.tickOffset = 0), + (this.tickCulling = !0), + this.tickCentered, + this.tickTextCharSize, + (this.tickTextRotate = this.params.tickTextRotate), + this.tickLength, + (this.axis = this.generateAxis()); + } + ((t = w.prototype).axisX = function(e, t, n) { + e.attr("transform", function(e) { + return "translate(" + Math.ceil(t(e) + n) + ", 0)"; + }); + }), + (t.axisY = function(e, t) { + e.attr("transform", function(e) { + return "translate(0," + Math.ceil(t(e)) + ")"; + }); + }), + (t.scaleExtent = function(e) { + var t = e[0], + n = e[e.length - 1]; + return t < n ? [t, n] : [n, t]; + }), + (t.generateTicks = function(e) { + var t, + n, + r = []; + if (e.ticks) return e.ticks.apply(e, this.tickArguments); + for (n = e.domain(), t = Math.ceil(n[0]); t < n[1]; t++) r.push(t); + return ( + r.length > 0 && r[0] > 0 && r.unshift(r[0] - (r[1] - r[0])), r + ); + }), + (t.copyScale = function() { + var e, + t = this.scale.copy(); + return ( + this.params.isCategory && + ((e = this.scale.domain()), t.domain([e[0], e[1] - 1])), + t + ); + }), + (t.textFormatted = function(e) { + var t = this.tickFormat ? this.tickFormat(e) : e; + return "undefined" !== typeof t ? t : ""; + }), + (t.updateRange = function() { + return ( + (this.range = this.scale.rangeExtent + ? this.scale.rangeExtent() + : this.scaleExtent(this.scale.range())), + this.range + ); + }), + (t.updateTickTextCharSize = function(e) { + var t = this; + if (t.tickTextCharSize) return t.tickTextCharSize; + var n = { h: 11.5, w: 5.5 }; + return ( + e + .select("text") + .text(function(e) { + return t.textFormatted(e); + }) + .each(function(e) { + var r = this.getBoundingClientRect(), + i = t.textFormatted(e), + a = r.height, + o = i ? r.width / i.length : void 0; + a && o && ((n.h = a), (n.w = o)); + }) + .text(""), + (t.tickTextCharSize = n), + n + ); + }), + (t.transitionise = function(e) { + return this.params.withoutTransition ? e : this.d3.transition(e); + }), + (t.isVertical = function() { + return "left" === this.orient || "right" === this.orient; + }), + (t.tspanData = function(e, t, n, r) { + var i = this.params.tickMultiline + ? this.splitTickText(e, n, r) + : [].concat(this.textFormatted(e)); + return ( + this.params.tickMultiline && + this.params.tickMultilineMax > 0 && + (i = this.ellipsify(i, this.params.tickMultilineMax)), + i.map(function(e) { + return { index: t, splitted: e, length: i.length }; + }) + ); + }), + (t.splitTickText = function(e, t, n) { + var r, + i, + a, + o = this, + s = o.textFormatted(e), + u = o.params.tickWidth; + return "[object Array]" === Object.prototype.toString.call(s) + ? s + : ((!u || u <= 0) && + (u = o.isVertical() + ? 95 + : o.params.isCategory + ? Math.ceil(n(t[1]) - n(t[0])) - 12 + : 110), + (function e(t, n) { + i = void 0; + for (var s = 1; s < n.length; s++) + if ( + (" " === n.charAt(s) && (i = s), + (r = n.substr(0, s + 1)), + (a = o.tickTextCharSize.w * r.length), + u < a) + ) + return e( + t.concat(n.substr(0, i || s)), + n.slice(i ? i + 1 : s) + ); + return t.concat(n); + })([], s + "")); + }), + (t.ellipsify = function(e, t) { + if (e.length <= t) return e; + for (var n = e.slice(0, t), r = 3, i = t - 1; i >= 0; i--) { + var a = n[i].length; + if ( + ((n[i] = n[i].substr(0, a - r).padEnd(a, ".")), (r -= a) <= 0) + ) + break; + } + return n; + }), + (t.updateTickLength = function() { + this.tickLength = + Math.max(this.innerTickSize, 0) + this.tickPadding; + }), + (t.lineY2 = function(e) { + var t = this.scale(e) + (this.tickCentered ? 0 : this.tickOffset); + return this.range[0] < t && t < this.range[1] + ? this.innerTickSize + : 0; + }), + (t.textY = function() { + var e = this.tickTextRotate; + return e + ? 11.5 - (e / 15) * 2.5 * (e > 0 ? 1 : -1) + : this.tickLength; + }), + (t.textTransform = function() { + var e = this.tickTextRotate; + return e ? "rotate(" + e + ")" : ""; + }), + (t.textTextAnchor = function() { + var e = this.tickTextRotate; + return e ? (e > 0 ? "start" : "end") : "middle"; + }), + (t.tspanDx = function() { + var e = this.tickTextRotate; + return e ? 8 * Math.sin(Math.PI * (e / 180)) : 0; + }), + (t.tspanDy = function(e, t) { + var n = this.tickTextCharSize.h; + return ( + 0 === t && + (n = this.isVertical() + ? -((e.length - 1) * (this.tickTextCharSize.h / 2) - 3) + : ".71em"), + n + ); + }), + (t.generateAxis = function() { + var e = this, + t = e.d3, + n = e.params; + function r(i) { + i.each(function() { + var i, + a, + o, + s = (r.g = t.select(this)), + u = this.__chart__ || e.scale, + l = (this.__chart__ = e.copyScale()), + c = e.tickValues ? e.tickValues : e.generateTicks(l), + d = s.selectAll(".tick").data(c, l), + f = d + .enter() + .insert("g", ".domain") + .attr("class", "tick") + .style("opacity", 1e-6), + h = d.exit().remove(), + p = e.transitionise(d).style("opacity", 1); + n.isCategory + ? ((e.tickOffset = Math.ceil((l(1) - l(0)) / 2)), + (a = e.tickCentered ? 0 : e.tickOffset), + (o = e.tickCentered ? e.tickOffset : 0)) + : (e.tickOffset = a = 0), + f.append("line"), + f.append("text"), + e.updateRange(), + e.updateTickLength(), + e.updateTickTextCharSize(s.select(".tick")); + var g = p.select("line"), + m = p.select("text"), + v = d + .select("text") + .selectAll("tspan") + .data(function(t, n) { + return e.tspanData(t, n, c, l); + }); + v.enter().append("tspan"), + v.exit().remove(), + v.text(function(e) { + return e.splitted; + }); + var y = s.selectAll(".domain").data([0]), + x = (y + .enter() + .append("path") + .attr("class", "domain"), + e.transitionise(y)); + switch (e.orient) { + case "bottom": + (i = e.axisX), + g + .attr("x1", a) + .attr("x2", a) + .attr("y2", function(t, n) { + return e.lineY2(t, n); + }), + m + .attr("x", 0) + .attr("y", function(t, n) { + return e.textY(t, n); + }) + .attr("transform", function(t, n) { + return e.textTransform(t, n); + }) + .style("text-anchor", function(t, n) { + return e.textTextAnchor(t, n); + }), + v + .attr("x", 0) + .attr("dy", function(t, n) { + return e.tspanDy(t, n); + }) + .attr("dx", function(t, n) { + return e.tspanDx(t, n); + }), + x.attr( + "d", + "M" + + e.range[0] + + "," + + e.outerTickSize + + "V0H" + + e.range[1] + + "V" + + e.outerTickSize + ); + break; + case "top": + (i = e.axisX), + g + .attr("x1", a) + .attr("x2", a) + .attr("y2", function(t, n) { + return -1 * e.lineY2(t, n); + }), + m + .attr("x", 0) + .attr("y", function(t, r) { + return ( + -1 * e.textY(t, r) - + (n.isCategory ? 2 : e.tickLength - 2) + ); + }) + .attr("transform", function(t, n) { + return e.textTransform(t, n); + }) + .style("text-anchor", function(t, n) { + return e.textTextAnchor(t, n); + }), + v + .attr("x", 0) + .attr("dy", function(t, n) { + return e.tspanDy(t, n); + }) + .attr("dx", function(t, n) { + return e.tspanDx(t, n); + }), + x.attr( + "d", + "M" + + e.range[0] + + "," + + -e.outerTickSize + + "V0H" + + e.range[1] + + "V" + + -e.outerTickSize + ); + break; + case "left": + (i = e.axisY), + g + .attr("x2", -e.innerTickSize) + .attr("y1", o) + .attr("y2", o), + m + .attr("x", -e.tickLength) + .attr("y", e.tickOffset) + .style("text-anchor", "end"), + v.attr("x", -e.tickLength).attr("dy", function(t, n) { + return e.tspanDy(t, n); + }), + x.attr( + "d", + "M" + + -e.outerTickSize + + "," + + e.range[0] + + "H0V" + + e.range[1] + + "H" + + -e.outerTickSize + ); + break; + case "right": + (i = e.axisY), + g + .attr("x2", e.innerTickSize) + .attr("y1", o) + .attr("y2", o), + m + .attr("x", e.tickLength) + .attr("y", e.tickOffset) + .style("text-anchor", "start"), + v.attr("x", e.tickLength).attr("dy", function(t, n) { + return e.tspanDy(t, n); + }), + x.attr( + "d", + "M" + + e.outerTickSize + + "," + + e.range[0] + + "H0V" + + e.range[1] + + "H" + + e.outerTickSize + ); + } + if (l.rangeBand) { + var b = l, + _ = b.rangeBand() / 2; + u = l = function(e) { + return b(e) + _; + }; + } else u.rangeBand ? (u = l) : h.call(i, l, e.tickOffset); + f.call(i, u, e.tickOffset), p.call(i, l, e.tickOffset); + }); + } + return ( + (r.scale = function(t) { + return arguments.length ? ((e.scale = t), r) : e.scale; + }), + (r.orient = function(t) { + return arguments.length + ? ((e.orient = + t in { top: 1, right: 1, bottom: 1, left: 1 } + ? t + "" + : "bottom"), + r) + : e.orient; + }), + (r.tickFormat = function(t) { + return arguments.length + ? ((e.tickFormat = t), r) + : e.tickFormat; + }), + (r.tickCentered = function(t) { + return arguments.length + ? ((e.tickCentered = t), r) + : e.tickCentered; + }), + (r.tickOffset = function() { + return e.tickOffset; + }), + (r.tickInterval = function() { + var t, i; + return ( + n.isCategory + ? (t = 2 * e.tickOffset) + : ((i = + r.g + .select("path.domain") + .node() + .getTotalLength() - + 2 * e.outerTickSize), + (t = i / r.g.selectAll("line").size())), + t === 1 / 0 ? 0 : t + ); + }), + (r.ticks = function() { + return arguments.length + ? ((e.tickArguments = arguments), r) + : e.tickArguments; + }), + (r.tickCulling = function(t) { + return arguments.length + ? ((e.tickCulling = t), r) + : e.tickCulling; + }), + (r.tickValues = function(t) { + if ("function" === typeof t) + e.tickValues = function() { + return t(e.scale.domain()); + }; + else { + if (!arguments.length) return e.tickValues; + e.tickValues = t; + } + return r; + }), + r + ); + }); + var S = (function(n) { + function r(n) { + a(this, r); + var i = { fn: e, internal: { fn: t } }, + s = o( + this, + (r.__proto__ || Object.getPrototypeOf(r)).call( + this, + n, + "axis", + i + ) + ); + return (s.d3 = n.d3), (s.internal = w), s; + } + return ( + (function(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + })(r, n), + r + ); + })(function(e, t, n) { + (this.owner = e), (C.chart.internal[t] = n); + }); + ((e = S.prototype).init = function() { + var e = this.owner, + t = e.config, + n = e.main; + (e.axes.x = n + .append("g") + .attr("class", r.axis + " " + r.axisX) + .attr("clip-path", t.axis_x_inner ? "" : e.clipPathForXAxis) + .attr("transform", e.getTranslate("x")) + .style("visibility", t.axis_x_show ? "visible" : "hidden")), + e.axes.x + .append("text") + .attr("class", r.axisXLabel) + .attr("transform", t.axis_rotated ? "rotate(-90)" : "") + .style("text-anchor", this.textAnchorForXAxisLabel.bind(this)), + (e.axes.y = n + .append("g") + .attr("class", r.axis + " " + r.axisY) + .attr("clip-path", t.axis_y_inner ? "" : e.clipPathForYAxis) + .attr("transform", e.getTranslate("y")) + .style("visibility", t.axis_y_show ? "visible" : "hidden")), + e.axes.y + .append("text") + .attr("class", r.axisYLabel) + .attr("transform", t.axis_rotated ? "" : "rotate(-90)") + .style("text-anchor", this.textAnchorForYAxisLabel.bind(this)), + (e.axes.y2 = n + .append("g") + .attr("class", r.axis + " " + r.axisY2) + .attr("transform", e.getTranslate("y2")) + .style("visibility", t.axis_y2_show ? "visible" : "hidden")), + e.axes.y2 + .append("text") + .attr("class", r.axisY2Label) + .attr("transform", t.axis_rotated ? "" : "rotate(-90)") + .style("text-anchor", this.textAnchorForY2AxisLabel.bind(this)); + }), + (e.getXAxis = function(e, t, n, r, i, a, o) { + var s = this.owner, + u = s.config, + l = { + isCategory: s.isCategorized(), + withOuterTick: i, + tickMultiline: u.axis_x_tick_multiline, + tickMultilineMax: u.axis_x_tick_multiline + ? Number(u.axis_x_tick_multilineMax) + : 0, + tickWidth: u.axis_x_tick_width, + tickTextRotate: o ? 0 : u.axis_x_tick_rotate, + withoutTransition: a + }, + c = new this.internal(this, l).axis.scale(e).orient(t); + return ( + s.isTimeSeries() && + r && + "function" !== typeof r && + (r = r.map(function(e) { + return s.parseDate(e); + })), + c.tickFormat(n).tickValues(r), + s.isCategorized() && + (c.tickCentered(u.axis_x_tick_centered), + m(u.axis_x_tick_culling) && (u.axis_x_tick_culling = !1)), + c + ); + }), + (e.updateXAxisTickValues = function(e, t) { + var n, + r = this.owner, + i = r.config; + return ( + (i.axis_x_tick_fit || i.axis_x_tick_count) && + (n = this.generateTickValues( + r.mapTargetsToUniqueXs(e), + i.axis_x_tick_count, + r.isTimeSeries() + )), + t + ? t.tickValues(n) + : (r.xAxis.tickValues(n), r.subXAxis.tickValues(n)), + n + ); + }), + (e.getYAxis = function(e, t, n, r, i, a, o) { + var s = this.owner, + u = s.config, + l = { + withOuterTick: i, + withoutTransition: a, + tickTextRotate: o ? 0 : u.axis_y_tick_rotate + }, + c = new this.internal(this, l).axis + .scale(e) + .orient(t) + .tickFormat(n); + return ( + s.isTimeSeriesY() + ? c.ticks( + s.d3.time[u.axis_y_tick_time_value], + u.axis_y_tick_time_interval + ) + : c.tickValues(r), + c + ); + }), + (e.getId = function(e) { + var t = this.owner.config; + return e in t.data_axes ? t.data_axes[e] : "y"; + }), + (e.getXAxisTickFormat = function() { + var e = this.owner, + t = e.config, + n = e.isTimeSeries() + ? e.defaultAxisTimeFormat + : e.isCategorized() + ? e.categoryName + : function(e) { + return e < 0 ? e.toFixed(0) : e; + }; + return ( + t.axis_x_tick_format && + (u(t.axis_x_tick_format) + ? (n = t.axis_x_tick_format) + : e.isTimeSeries() && + (n = function(n) { + return n ? e.axisTimeFormat(t.axis_x_tick_format)(n) : ""; + })), + u(n) + ? function(t) { + return n.call(e, t); + } + : n + ); + }), + (e.getTickValues = function(e, t) { + return e || (t ? t.tickValues() : void 0); + }), + (e.getXAxisTickValues = function() { + return this.getTickValues( + this.owner.config.axis_x_tick_values, + this.owner.xAxis + ); + }), + (e.getYAxisTickValues = function() { + return this.getTickValues( + this.owner.config.axis_y_tick_values, + this.owner.yAxis + ); + }), + (e.getY2AxisTickValues = function() { + return this.getTickValues( + this.owner.config.axis_y2_tick_values, + this.owner.y2Axis + ); + }), + (e.getLabelOptionByAxisId = function(e) { + var t, + n = this.owner, + r = n.config; + return ( + "y" === e + ? (t = r.axis_y_label) + : "y2" === e + ? (t = r.axis_y2_label) + : "x" === e && (t = r.axis_x_label), + t + ); + }), + (e.getLabelText = function(e) { + var t = this.getLabelOptionByAxisId(e); + return c(t) ? t : t ? t.text : null; + }), + (e.setLabelText = function(e, t) { + var n = this.owner, + r = n.config, + i = this.getLabelOptionByAxisId(e); + c(i) + ? "y" === e + ? (r.axis_y_label = t) + : "y2" === e + ? (r.axis_y2_label = t) + : "x" === e && (r.axis_x_label = t) + : i && (i.text = t); + }), + (e.getLabelPosition = function(e, t) { + var n = this.getLabelOptionByAxisId(e), + r = + n && + "object" === ("undefined" === typeof n ? "undefined" : i(n)) && + n.position + ? n.position + : t; + return { + isInner: r.indexOf("inner") >= 0, + isOuter: r.indexOf("outer") >= 0, + isLeft: r.indexOf("left") >= 0, + isCenter: r.indexOf("center") >= 0, + isRight: r.indexOf("right") >= 0, + isTop: r.indexOf("top") >= 0, + isMiddle: r.indexOf("middle") >= 0, + isBottom: r.indexOf("bottom") >= 0 + }; + }), + (e.getXAxisLabelPosition = function() { + return this.getLabelPosition( + "x", + this.owner.config.axis_rotated ? "inner-top" : "inner-right" + ); + }), + (e.getYAxisLabelPosition = function() { + return this.getLabelPosition( + "y", + this.owner.config.axis_rotated ? "inner-right" : "inner-top" + ); + }), + (e.getY2AxisLabelPosition = function() { + return this.getLabelPosition( + "y2", + this.owner.config.axis_rotated ? "inner-right" : "inner-top" + ); + }), + (e.getLabelPositionById = function(e) { + return "y2" === e + ? this.getY2AxisLabelPosition() + : "y" === e + ? this.getYAxisLabelPosition() + : this.getXAxisLabelPosition(); + }), + (e.textForXAxisLabel = function() { + return this.getLabelText("x"); + }), + (e.textForYAxisLabel = function() { + return this.getLabelText("y"); + }), + (e.textForY2AxisLabel = function() { + return this.getLabelText("y2"); + }), + (e.xForAxisLabel = function(e, t) { + var n = this.owner; + return e + ? t.isLeft + ? 0 + : t.isCenter + ? n.width / 2 + : n.width + : t.isBottom + ? -n.height + : t.isMiddle + ? -n.height / 2 + : 0; + }), + (e.dxForAxisLabel = function(e, t) { + return e + ? t.isLeft + ? "0.5em" + : t.isRight + ? "-0.5em" + : "0" + : t.isTop + ? "-0.5em" + : t.isBottom + ? "0.5em" + : "0"; + }), + (e.textAnchorForAxisLabel = function(e, t) { + return e + ? t.isLeft + ? "start" + : t.isCenter + ? "middle" + : "end" + : t.isBottom + ? "start" + : t.isMiddle + ? "middle" + : "end"; + }), + (e.xForXAxisLabel = function() { + return this.xForAxisLabel( + !this.owner.config.axis_rotated, + this.getXAxisLabelPosition() + ); + }), + (e.xForYAxisLabel = function() { + return this.xForAxisLabel( + this.owner.config.axis_rotated, + this.getYAxisLabelPosition() + ); + }), + (e.xForY2AxisLabel = function() { + return this.xForAxisLabel( + this.owner.config.axis_rotated, + this.getY2AxisLabelPosition() + ); + }), + (e.dxForXAxisLabel = function() { + return this.dxForAxisLabel( + !this.owner.config.axis_rotated, + this.getXAxisLabelPosition() + ); + }), + (e.dxForYAxisLabel = function() { + return this.dxForAxisLabel( + this.owner.config.axis_rotated, + this.getYAxisLabelPosition() + ); + }), + (e.dxForY2AxisLabel = function() { + return this.dxForAxisLabel( + this.owner.config.axis_rotated, + this.getY2AxisLabelPosition() + ); + }), + (e.dyForXAxisLabel = function() { + var e = this.owner, + t = e.config, + n = this.getXAxisLabelPosition(); + return t.axis_rotated + ? n.isInner + ? "1.2em" + : -25 - (e.config.axis_x_inner ? 0 : this.getMaxTickWidth("x")) + : n.isInner + ? "-0.5em" + : t.axis_x_height + ? t.axis_x_height - 10 + : "3em"; + }), + (e.dyForYAxisLabel = function() { + var e = this.owner, + t = this.getYAxisLabelPosition(); + return e.config.axis_rotated + ? t.isInner + ? "-0.5em" + : "3em" + : t.isInner + ? "1.2em" + : -10 - + (e.config.axis_y_inner ? 0 : this.getMaxTickWidth("y") + 10); + }), + (e.dyForY2AxisLabel = function() { + var e = this.owner, + t = this.getY2AxisLabelPosition(); + return e.config.axis_rotated + ? t.isInner + ? "1.2em" + : "-2.2em" + : t.isInner + ? "-0.5em" + : 15 + + (e.config.axis_y2_inner + ? 0 + : this.getMaxTickWidth("y2") + 15); + }), + (e.textAnchorForXAxisLabel = function() { + var e = this.owner; + return this.textAnchorForAxisLabel( + !e.config.axis_rotated, + this.getXAxisLabelPosition() + ); + }), + (e.textAnchorForYAxisLabel = function() { + var e = this.owner; + return this.textAnchorForAxisLabel( + e.config.axis_rotated, + this.getYAxisLabelPosition() + ); + }), + (e.textAnchorForY2AxisLabel = function() { + var e = this.owner; + return this.textAnchorForAxisLabel( + e.config.axis_rotated, + this.getY2AxisLabelPosition() + ); + }), + (e.getMaxTickWidth = function(e, t) { + var n, + r, + i, + a, + o = this.owner, + s = o.config, + u = 0; + return t && o.currentMaxTickWidths[e] + ? o.currentMaxTickWidths[e] + : (o.svg && + ((n = o.filterTargetsToShow(o.data.targets)), + "y" === e + ? ((r = o.y.copy().domain(o.getYDomain(n, "y"))), + (i = this.getYAxis( + r, + o.yOrient, + s.axis_y_tick_format, + o.yAxisTickValues, + !1, + !0, + !0 + ))) + : "y2" === e + ? ((r = o.y2.copy().domain(o.getYDomain(n, "y2"))), + (i = this.getYAxis( + r, + o.y2Orient, + s.axis_y2_tick_format, + o.y2AxisTickValues, + !1, + !0, + !0 + ))) + : ((r = o.x.copy().domain(o.getXDomain(n))), + (i = this.getXAxis( + r, + o.xOrient, + o.xAxisTickFormat, + o.xAxisTickValues, + !1, + !0, + !0 + )), + this.updateXAxisTickValues(n, i)), + (a = o.d3 + .select("body") + .append("div") + .classed("c3", !0)) + .append("svg") + .style("visibility", "hidden") + .style("position", "fixed") + .style("top", 0) + .style("left", 0) + .append("g") + .call(i) + .each(function() { + o.d3 + .select(this) + .selectAll("text") + .each(function() { + var e = this.getBoundingClientRect(); + u < e.width && (u = e.width); + }), + a.remove(); + })), + (o.currentMaxTickWidths[e] = + u <= 0 ? o.currentMaxTickWidths[e] : u), + o.currentMaxTickWidths[e]); + }), + (e.updateLabels = function(e) { + var t = this.owner, + n = t.main.select("." + r.axisX + " ." + r.axisXLabel), + i = t.main.select("." + r.axisY + " ." + r.axisYLabel), + a = t.main.select("." + r.axisY2 + " ." + r.axisY2Label); + (e ? n.transition() : n) + .attr("x", this.xForXAxisLabel.bind(this)) + .attr("dx", this.dxForXAxisLabel.bind(this)) + .attr("dy", this.dyForXAxisLabel.bind(this)) + .text(this.textForXAxisLabel.bind(this)), + (e ? i.transition() : i) + .attr("x", this.xForYAxisLabel.bind(this)) + .attr("dx", this.dxForYAxisLabel.bind(this)) + .attr("dy", this.dyForYAxisLabel.bind(this)) + .text(this.textForYAxisLabel.bind(this)), + (e ? a.transition() : a) + .attr("x", this.xForY2AxisLabel.bind(this)) + .attr("dx", this.dxForY2AxisLabel.bind(this)) + .attr("dy", this.dyForY2AxisLabel.bind(this)) + .text(this.textForY2AxisLabel.bind(this)); + }), + (e.getPadding = function(e, t, n, r) { + var i = "number" === typeof e ? e : e[t]; + return s(i) + ? "ratio" === e.unit + ? e[t] * r + : this.convertPixelsToAxisPadding(i, r) + : n; + }), + (e.convertPixelsToAxisPadding = function(e, t) { + var n = this.owner, + r = n.config.axis_rotated ? n.width : n.height; + return t * (e / r); + }), + (e.generateTickValues = function(e, t, n) { + var r, + i, + a, + o, + s, + l, + c, + d = e; + if (t) + if (1 === (r = u(t) ? t() : t)) d = [e[0]]; + else if (2 === r) d = [e[0], e[e.length - 1]]; + else if (r > 2) { + for ( + o = r - 2, + i = e[0], + a = e[e.length - 1], + s = (a - i) / (o + 1), + d = [i], + l = 0; + l < o; + l++ + ) + (c = +i + s * (l + 1)), d.push(n ? new Date(c) : c); + d.push(a); + } + return ( + n || + (d = d.sort(function(e, t) { + return e - t; + })), + d + ); + }), + (e.generateTransitions = function(e) { + var t = this.owner, + n = t.axes; + return { + axisX: e ? n.x.transition().duration(e) : n.x, + axisY: e ? n.y.transition().duration(e) : n.y, + axisY2: e ? n.y2.transition().duration(e) : n.y2, + axisSubX: e ? n.subx.transition().duration(e) : n.subx + }; + }), + (e.redraw = function(e, t) { + var n = this.owner; + n.axes.x.style("opacity", t ? 0 : 1), + n.axes.y.style("opacity", t ? 0 : 1), + n.axes.y2.style("opacity", t ? 0 : 1), + n.axes.subx.style("opacity", t ? 0 : 1), + e.axisX.call(n.xAxis), + e.axisY.call(n.yAxis), + e.axisY2.call(n.y2Axis), + e.axisSubX.call(n.subXAxis); + }); + var T, + E, + C = { version: "0.4.23" }; + function O(e) { + var t = (this.internal = new P(this)); + t.loadConfig(e), + t.beforeInit(e), + t.init(), + t.afterInit(e), + (function e(t, n, r) { + Object.keys(t).forEach(function(i) { + (n[i] = t[i].bind(r)), + Object.keys(t[i]).length > 0 && e(t[i], n[i], r); + }); + })(T, this, this); + } + function P(e) { + var t = this; + (t.d3 = window.d3 ? window.d3 : n(46)), + (t.api = e), + (t.config = t.getDefaultConfig()), + (t.data = {}), + (t.cache = {}), + (t.axes = {}); + } + return ( + (C.generate = function(e) { + return new O(e); + }), + (C.chart = { fn: O.prototype, internal: { fn: P.prototype } }), + (T = C.chart.fn), + ((E = C.chart.internal.fn).beforeInit = function() {}), + (E.afterInit = function() {}), + (E.init = function() { + var e = this, + t = e.config; + if ((e.initParams(), t.data_url)) + e.convertUrlToData( + t.data_url, + t.data_mimeType, + t.data_headers, + t.data_keys, + e.initWithData + ); + else if (t.data_json) + e.initWithData(e.convertJsonToData(t.data_json, t.data_keys)); + else if (t.data_rows) + e.initWithData(e.convertRowsToData(t.data_rows)); + else { + if (!t.data_columns) + throw Error("url or json or rows or columns is required."); + e.initWithData(e.convertColumnsToData(t.data_columns)); + } + }), + (E.initParams = function() { + var e = this, + t = e.d3, + n = e.config; + (e.clipId = "c3-" + +new Date() + "-clip"), + (e.clipIdForXAxis = e.clipId + "-xaxis"), + (e.clipIdForYAxis = e.clipId + "-yaxis"), + (e.clipIdForGrid = e.clipId + "-grid"), + (e.clipIdForSubchart = e.clipId + "-subchart"), + (e.clipPath = e.getClipPath(e.clipId)), + (e.clipPathForXAxis = e.getClipPath(e.clipIdForXAxis)), + (e.clipPathForYAxis = e.getClipPath(e.clipIdForYAxis)), + (e.clipPathForGrid = e.getClipPath(e.clipIdForGrid)), + (e.clipPathForSubchart = e.getClipPath(e.clipIdForSubchart)), + (e.dragStart = null), + (e.dragging = !1), + (e.flowing = !1), + (e.cancelClick = !1), + (e.mouseover = !1), + (e.transiting = !1), + (e.color = e.generateColor()), + (e.levelColor = e.generateLevelColor()), + (e.dataTimeFormat = n.data_xLocaltime + ? t.time.format + : t.time.format.utc), + (e.axisTimeFormat = n.axis_x_localtime + ? t.time.format + : t.time.format.utc), + (e.defaultAxisTimeFormat = e.axisTimeFormat.multi([ + [ + ".%L", + function(e) { + return e.getMilliseconds(); + } + ], + [ + ":%S", + function(e) { + return e.getSeconds(); + } + ], + [ + "%I:%M", + function(e) { + return e.getMinutes(); + } + ], + [ + "%I %p", + function(e) { + return e.getHours(); + } + ], + [ + "%-m/%-d", + function(e) { + return e.getDay() && 1 !== e.getDate(); + } + ], + [ + "%-m/%-d", + function(e) { + return 1 !== e.getDate(); + } + ], + [ + "%-m/%-d", + function(e) { + return e.getMonth(); + } + ], + [ + "%Y/%-m/%-d", + function() { + return !0; + } + ] + ])), + (e.hiddenTargetIds = []), + (e.hiddenLegendIds = []), + (e.focusedTargetIds = []), + (e.defocusedTargetIds = []), + (e.xOrient = n.axis_rotated + ? n.axis_x_inner + ? "right" + : "left" + : n.axis_x_inner + ? "top" + : "bottom"), + (e.yOrient = n.axis_rotated + ? n.axis_y_inner + ? "top" + : "bottom" + : n.axis_y_inner + ? "right" + : "left"), + (e.y2Orient = n.axis_rotated + ? n.axis_y2_inner + ? "bottom" + : "top" + : n.axis_y2_inner + ? "left" + : "right"), + (e.subXOrient = n.axis_rotated ? "left" : "bottom"), + (e.isLegendRight = "right" === n.legend_position), + (e.isLegendInset = "inset" === n.legend_position), + (e.isLegendTop = + "top-left" === n.legend_inset_anchor || + "top-right" === n.legend_inset_anchor), + (e.isLegendLeft = + "top-left" === n.legend_inset_anchor || + "bottom-left" === n.legend_inset_anchor), + (e.legendStep = 0), + (e.legendItemWidth = 0), + (e.legendItemHeight = 0), + (e.currentMaxTickWidths = { x: 0, y: 0, y2: 0 }), + (e.rotated_padding_left = 30), + (e.rotated_padding_right = + n.axis_rotated && !n.axis_x_show ? 0 : 30), + (e.rotated_padding_top = 5), + (e.withoutFadeIn = {}), + (e.intervalForObserveInserted = void 0), + (e.axes.subx = t.selectAll([])); + }), + (E.initChartElements = function() { + this.initBar && this.initBar(), + this.initLine && this.initLine(), + this.initArc && this.initArc(), + this.initGauge && this.initGauge(), + this.initText && this.initText(); + }), + (E.initWithData = function(e) { + var t, + n, + i = this, + a = i.d3, + o = i.config, + s = !0; + (i.axis = new S(i)), + i.initPie && i.initPie(), + i.initBrush && i.initBrush(), + i.initZoom && i.initZoom(), + o.bindto + ? "function" === typeof o.bindto.node + ? (i.selectChart = o.bindto) + : (i.selectChart = a.select(o.bindto)) + : (i.selectChart = a.selectAll([])), + i.selectChart.empty() && + ((i.selectChart = a + .select(document.createElement("div")) + .style("opacity", 0)), + i.observeInserted(i.selectChart), + (s = !1)), + i.selectChart.html("").classed("c3", !0), + (i.data.xs = {}), + (i.data.targets = i.convertDataToTargets(e)), + o.data_filter && + (i.data.targets = i.data.targets.filter(o.data_filter)), + o.data_hide && + i.addHiddenTargetIds( + !0 === o.data_hide ? i.mapToIds(i.data.targets) : o.data_hide + ), + o.legend_hide && + i.addHiddenLegendIds( + !0 === o.legend_hide + ? i.mapToIds(i.data.targets) + : o.legend_hide + ), + i.updateSizes(), + i.updateScales(), + i.x.domain(a.extent(i.getXDomain(i.data.targets))), + i.y.domain(i.getYDomain(i.data.targets, "y")), + i.y2.domain(i.getYDomain(i.data.targets, "y2")), + i.subX.domain(i.x.domain()), + i.subY.domain(i.y.domain()), + i.subY2.domain(i.y2.domain()), + (i.orgXDomain = i.x.domain()), + i.brush && i.brush.scale(i.subX), + o.zoom_enabled && i.zoom.scale(i.x), + (i.svg = i.selectChart + .append("svg") + .style("overflow", "hidden") + .on("mouseenter", function() { + return o.onmouseover.call(i); + }) + .on("mouseleave", function() { + return o.onmouseout.call(i); + })), + i.config.svg_classname && + i.svg.attr("class", i.config.svg_classname), + (t = i.svg.append("defs")), + (i.clipChart = i.appendClip(t, i.clipId)), + (i.clipXAxis = i.appendClip(t, i.clipIdForXAxis)), + (i.clipYAxis = i.appendClip(t, i.clipIdForYAxis)), + (i.clipGrid = i.appendClip(t, i.clipIdForGrid)), + (i.clipSubchart = i.appendClip(t, i.clipIdForSubchart)), + i.updateSvgSize(), + (n = i.main = i.svg + .append("g") + .attr("transform", i.getTranslate("main"))), + i.initSubchart && i.initSubchart(), + i.initTooltip && i.initTooltip(), + i.initLegend && i.initLegend(), + i.initTitle && i.initTitle(), + n + .append("text") + .attr("class", r.text + " " + r.empty) + .attr("text-anchor", "middle") + .attr("dominant-baseline", "middle"), + i.initRegion(), + i.initGrid(), + n + .append("g") + .attr("clip-path", i.clipPath) + .attr("class", r.chart), + o.grid_lines_front && i.initGridLines(), + i.initEventRect(), + i.initChartElements(), + n + .insert("rect", o.zoom_privileged ? null : "g." + r.regions) + .attr("class", r.zoomRect) + .attr("width", i.width) + .attr("height", i.height) + .style("opacity", 0) + .on("dblclick.zoom", null), + o.axis_x_extent && i.brush.extent(i.getDefaultExtent()), + i.axis.init(), + i.updateTargets(i.data.targets), + s && + (i.updateDimension(), + i.config.oninit.call(i), + i.redraw({ + withTransition: !1, + withTransform: !0, + withUpdateXDomain: !0, + withUpdateOrgXDomain: !0, + withTransitionForAxis: !1 + })), + i.bindResize(), + (i.api.element = i.selectChart.node()); + }), + (E.smoothLines = function(e, t) { + var n = this; + "grid" === t && + e.each(function() { + var e = n.d3.select(this), + t = e.attr("x1"), + r = e.attr("x2"), + i = e.attr("y1"), + a = e.attr("y2"); + e.attr({ + x1: Math.ceil(t), + x2: Math.ceil(r), + y1: Math.ceil(i), + y2: Math.ceil(a) + }); + }); + }), + (E.updateSizes = function() { + var e = this, + t = e.config, + n = e.legend ? e.getLegendHeight() : 0, + r = e.legend ? e.getLegendWidth() : 0, + i = e.isLegendRight || e.isLegendInset ? 0 : n, + a = e.hasArcType(), + o = t.axis_rotated || a ? 0 : e.getHorizontalAxisHeight("x"), + s = t.subchart_show && !a ? t.subchart_size_height + o : 0; + (e.currentWidth = e.getCurrentWidth()), + (e.currentHeight = e.getCurrentHeight()), + (e.margin = t.axis_rotated + ? { + top: + e.getHorizontalAxisHeight("y2") + + e.getCurrentPaddingTop(), + right: a ? 0 : e.getCurrentPaddingRight(), + bottom: + e.getHorizontalAxisHeight("y") + + i + + e.getCurrentPaddingBottom(), + left: s + (a ? 0 : e.getCurrentPaddingLeft()) + } + : { + top: 4 + e.getCurrentPaddingTop(), + right: a ? 0 : e.getCurrentPaddingRight(), + bottom: o + s + i + e.getCurrentPaddingBottom(), + left: a ? 0 : e.getCurrentPaddingLeft() + }), + (e.margin2 = t.axis_rotated + ? { + top: e.margin.top, + right: NaN, + bottom: 20 + i, + left: e.rotated_padding_left + } + : { + top: e.currentHeight - s - i, + right: NaN, + bottom: o + i, + left: e.margin.left + }), + (e.margin3 = { top: 0, right: NaN, bottom: 0, left: 0 }), + e.updateSizeForLegend && e.updateSizeForLegend(n, r), + (e.width = e.currentWidth - e.margin.left - e.margin.right), + (e.height = e.currentHeight - e.margin.top - e.margin.bottom), + e.width < 0 && (e.width = 0), + e.height < 0 && (e.height = 0), + (e.width2 = t.axis_rotated + ? e.margin.left - + e.rotated_padding_left - + e.rotated_padding_right + : e.width), + (e.height2 = t.axis_rotated + ? e.height + : e.currentHeight - e.margin2.top - e.margin2.bottom), + e.width2 < 0 && (e.width2 = 0), + e.height2 < 0 && (e.height2 = 0), + (e.arcWidth = e.width - (e.isLegendRight ? r + 10 : 0)), + (e.arcHeight = e.height - (e.isLegendRight ? 0 : 10)), + e.hasType("gauge") && + !t.gauge_fullCircle && + (e.arcHeight += e.height - e.getGaugeLabelHeight()), + e.updateRadius && e.updateRadius(), + e.isLegendRight && + a && + (e.margin3.left = e.arcWidth / 2 + 1.1 * e.radiusExpanded); + }), + (E.updateTargets = function(e) { + var t = this; + t.updateTargetsForText(e), + t.updateTargetsForBar(e), + t.updateTargetsForLine(e), + t.hasArcType() && + t.updateTargetsForArc && + t.updateTargetsForArc(e), + t.updateTargetsForSubchart && t.updateTargetsForSubchart(e), + t.showTargets(); + }), + (E.showTargets = function() { + var e = this; + e.svg + .selectAll("." + r.target) + .filter(function(t) { + return e.isTargetToShow(t.id); + }) + .transition() + .duration(e.config.transition_duration) + .style("opacity", 1); + }), + (E.redraw = function(e, t) { + var n, + i, + a, + o, + s, + u, + l, + c, + d, + f, + h, + p, + g, + m, + v, + x, + b, + _, + w, + S, + T, + E, + C, + O, + P, + A, + k, + N, + M, + L = this, + j = L.main, + R = L.d3, + I = L.config, + V = L.getShapeIndices(L.isAreaType), + F = L.getShapeIndices(L.isBarType), + D = L.getShapeIndices(L.isLineType), + G = L.hasArcType(), + z = L.filterTargetsToShow(L.data.targets), + B = L.xv.bind(L); + if ( + ((n = y((e = e || {}), "withY", !0)), + (i = y(e, "withSubchart", !0)), + (a = y(e, "withTransition", !0)), + (u = y(e, "withTransform", !1)), + (l = y(e, "withUpdateXDomain", !1)), + (c = y(e, "withUpdateOrgXDomain", !1)), + (d = y(e, "withTrimXDomain", !0)), + (g = y(e, "withUpdateXAxis", l)), + (f = y(e, "withLegend", !1)), + (h = y(e, "withEventRect", !0)), + (p = y(e, "withDimension", !0)), + (o = y(e, "withTransitionForExit", a)), + (s = y(e, "withTransitionForAxis", a)), + (w = a ? I.transition_duration : 0), + (S = o ? w : 0), + (T = s ? w : 0), + (t = t || L.axis.generateTransitions(T)), + f && I.legend_show + ? L.updateLegend(L.mapToIds(L.data.targets), e, t) + : p && L.updateDimension(!0), + L.isCategorized() && + 0 === z.length && + L.x.domain([0, L.axes.x.selectAll(".tick").size()]), + z.length + ? (L.updateXDomain(z, l, c, d), + I.axis_x_tick_values || (O = L.axis.updateXAxisTickValues(z))) + : (L.xAxis.tickValues([]), L.subXAxis.tickValues([])), + I.zoom_rescale && !e.flow && (k = L.x.orgDomain()), + L.y.domain(L.getYDomain(z, "y", k)), + L.y2.domain(L.getYDomain(z, "y2", k)), + !I.axis_y_tick_values && + I.axis_y_tick_count && + L.yAxis.tickValues( + L.axis.generateTickValues(L.y.domain(), I.axis_y_tick_count) + ), + !I.axis_y2_tick_values && + I.axis_y2_tick_count && + L.y2Axis.tickValues( + L.axis.generateTickValues(L.y2.domain(), I.axis_y2_tick_count) + ), + L.axis.redraw(t, G), + L.axis.updateLabels(a), + (l || g) && z.length) + ) + if (I.axis_x_tick_culling && O) { + for (P = 1; P < O.length; P++) + if (O.length / P < I.axis_x_tick_culling_max) { + A = P; + break; + } + L.svg + .selectAll("." + r.axisX + " .tick text") + .each(function(e) { + var t = O.indexOf(e); + t >= 0 && + R.select(this).style("display", t % A ? "none" : "block"); + }); + } else + L.svg + .selectAll("." + r.axisX + " .tick text") + .style("display", "block"); + (m = L.generateDrawArea ? L.generateDrawArea(V, !1) : void 0), + (v = L.generateDrawBar ? L.generateDrawBar(F) : void 0), + (x = L.generateDrawLine ? L.generateDrawLine(D, !1) : void 0), + (b = L.generateXYForText(V, F, D, !0)), + (_ = L.generateXYForText(V, F, D, !1)), + n && + (L.subY.domain(L.getYDomain(z, "y")), + L.subY2.domain(L.getYDomain(z, "y2"))), + L.updateXgridFocus(), + j + .select("text." + r.text + "." + r.empty) + .attr("x", L.width / 2) + .attr("y", L.height / 2) + .text(I.data_empty_label_text) + .transition() + .style("opacity", z.length ? 0 : 1), + L.updateGrid(w), + L.updateRegion(w), + L.updateBar(S), + L.updateLine(S), + L.updateArea(S), + L.updateCircle(), + L.hasDataLabel() && L.updateText(S), + L.redrawTitle && L.redrawTitle(), + L.redrawArc && L.redrawArc(w, S, u), + L.redrawSubchart && L.redrawSubchart(i, t, w, S, V, F, D), + j + .selectAll("." + r.selectedCircles) + .filter(L.isBarType.bind(L)) + .selectAll("circle") + .remove(), + I.interaction_enabled && + !e.flow && + h && + (L.redrawEventRect(), L.updateZoom && L.updateZoom()), + L.updateCircleY(), + (N = (L.config.axis_rotated ? L.circleY : L.circleX).bind(L)), + (M = (L.config.axis_rotated ? L.circleX : L.circleY).bind(L)), + e.flow && + (C = L.generateFlow({ + targets: z, + flow: e.flow, + duration: e.flow.duration, + drawBar: v, + drawLine: x, + drawArea: m, + cx: N, + cy: M, + xv: B, + xForText: b, + yForText: _ + })), + (w || C) && L.isTabVisible() + ? R.transition() + .duration(w) + .each(function() { + var t = []; + [ + L.redrawBar(v, !0), + L.redrawLine(x, !0), + L.redrawArea(m, !0), + L.redrawCircle(N, M, !0), + L.redrawText(b, _, e.flow, !0), + L.redrawRegion(!0), + L.redrawGrid(!0) + ].forEach(function(e) { + e.forEach(function(e) { + t.push(e); + }); + }), + (E = L.generateWait()), + t.forEach(function(e) { + E.add(e); + }); + }) + .call(E, function() { + C && C(), I.onrendered && I.onrendered.call(L); + }) + : (L.redrawBar(v), + L.redrawLine(x), + L.redrawArea(m), + L.redrawCircle(N, M), + L.redrawText(b, _, e.flow), + L.redrawRegion(), + L.redrawGrid(), + I.onrendered && I.onrendered.call(L)), + L.mapToIds(L.data.targets).forEach(function(e) { + L.withoutFadeIn[e] = !0; + }); + }), + (E.updateAndRedraw = function(e) { + var t, + n = this, + r = n.config; + ((e = e || {}).withTransition = y(e, "withTransition", !0)), + (e.withTransform = y(e, "withTransform", !1)), + (e.withLegend = y(e, "withLegend", !1)), + (e.withUpdateXDomain = !0), + (e.withUpdateOrgXDomain = !0), + (e.withTransitionForExit = !1), + (e.withTransitionForTransform = y( + e, + "withTransitionForTransform", + e.withTransition + )), + n.updateSizes(), + (e.withLegend && r.legend_show) || + ((t = n.axis.generateTransitions( + e.withTransitionForAxis ? r.transition_duration : 0 + )), + n.updateScales(), + n.updateSvgSize(), + n.transformAll(e.withTransitionForTransform, t)), + n.redraw(e, t); + }), + (E.redrawWithoutRescale = function() { + this.redraw({ + withY: !1, + withSubchart: !1, + withEventRect: !1, + withTransitionForAxis: !1 + }); + }), + (E.isTimeSeries = function() { + return "timeseries" === this.config.axis_x_type; + }), + (E.isCategorized = function() { + return this.config.axis_x_type.indexOf("categor") >= 0; + }), + (E.isCustomX = function() { + var e = this.config; + return !this.isTimeSeries() && (e.data_x || v(e.data_xs)); + }), + (E.isTimeSeriesY = function() { + return "timeseries" === this.config.axis_y_type; + }), + (E.getTranslate = function(e) { + var t, + n, + r = this, + i = r.config; + return ( + "main" === e + ? ((t = p(r.margin.left)), (n = p(r.margin.top))) + : "context" === e + ? ((t = p(r.margin2.left)), (n = p(r.margin2.top))) + : "legend" === e + ? ((t = r.margin3.left), (n = r.margin3.top)) + : "x" === e + ? ((t = 0), (n = i.axis_rotated ? 0 : r.height)) + : "y" === e + ? ((t = 0), (n = i.axis_rotated ? r.height : 0)) + : "y2" === e + ? ((t = i.axis_rotated ? 0 : r.width), + (n = i.axis_rotated ? 1 : 0)) + : "subx" === e + ? ((t = 0), (n = i.axis_rotated ? 0 : r.height2)) + : "arc" === e && + ((t = r.arcWidth / 2), + (n = + r.arcHeight / 2 - + (r.hasType("gauge") ? 6 : 0))), + "translate(" + t + "," + n + ")" + ); + }), + (E.initialOpacity = function(e) { + return null !== e.value && this.withoutFadeIn[e.id] ? 1 : 0; + }), + (E.initialOpacityForCircle = function(e) { + return null !== e.value && this.withoutFadeIn[e.id] + ? this.opacityForCircle(e) + : 0; + }), + (E.opacityForCircle = function(e) { + var t = (u(this.config.point_show) + ? this.config.point_show(e) + : this.config.point_show) + ? 1 + : 0; + return s(e.value) ? (this.isScatterType(e) ? 0.5 : t) : 0; + }), + (E.opacityForText = function() { + return this.hasDataLabel() ? 1 : 0; + }), + (E.xx = function(e) { + return e ? this.x(e.x) : null; + }), + (E.xv = function(e) { + var t = this, + n = e.value; + return ( + t.isTimeSeries() + ? (n = t.parseDate(e.value)) + : t.isCategorized() && + "string" === typeof e.value && + (n = t.config.axis_x_categories.indexOf(e.value)), + Math.ceil(t.x(n)) + ); + }), + (E.yv = function(e) { + var t = e.axis && "y2" === e.axis ? this.y2 : this.y; + return Math.ceil(t(e.value)); + }), + (E.subxx = function(e) { + return e ? this.subX(e.x) : null; + }), + (E.transformMain = function(e, t) { + var n, + i, + a, + o = this; + t && t.axisX + ? (n = t.axisX) + : ((n = o.main.select("." + r.axisX)), e && (n = n.transition())), + t && t.axisY + ? (i = t.axisY) + : ((i = o.main.select("." + r.axisY)), + e && (i = i.transition())), + t && t.axisY2 + ? (a = t.axisY2) + : ((a = o.main.select("." + r.axisY2)), + e && (a = a.transition())), + (e ? o.main.transition() : o.main).attr( + "transform", + o.getTranslate("main") + ), + n.attr("transform", o.getTranslate("x")), + i.attr("transform", o.getTranslate("y")), + a.attr("transform", o.getTranslate("y2")), + o.main + .select("." + r.chartArcs) + .attr("transform", o.getTranslate("arc")); + }), + (E.transformAll = function(e, t) { + var n = this; + n.transformMain(e, t), + n.config.subchart_show && n.transformContext(e, t), + n.legend && n.transformLegend(e); + }), + (E.updateSvgSize = function() { + var e = this, + t = e.svg.select(".c3-brush .background"); + e.svg.attr("width", e.currentWidth).attr("height", e.currentHeight), + e.svg + .selectAll(["#" + e.clipId, "#" + e.clipIdForGrid]) + .select("rect") + .attr("width", e.width) + .attr("height", e.height), + e.svg + .select("#" + e.clipIdForXAxis) + .select("rect") + .attr("x", e.getXAxisClipX.bind(e)) + .attr("y", e.getXAxisClipY.bind(e)) + .attr("width", e.getXAxisClipWidth.bind(e)) + .attr("height", e.getXAxisClipHeight.bind(e)), + e.svg + .select("#" + e.clipIdForYAxis) + .select("rect") + .attr("x", e.getYAxisClipX.bind(e)) + .attr("y", e.getYAxisClipY.bind(e)) + .attr("width", e.getYAxisClipWidth.bind(e)) + .attr("height", e.getYAxisClipHeight.bind(e)), + e.svg + .select("#" + e.clipIdForSubchart) + .select("rect") + .attr("width", e.width) + .attr("height", t.size() ? t.attr("height") : 0), + e.svg + .select("." + r.zoomRect) + .attr("width", e.width) + .attr("height", e.height), + e.selectChart.style("max-height", e.currentHeight + "px"); + }), + (E.updateDimension = function(e) { + var t = this; + e || + (t.config.axis_rotated + ? (t.axes.x.call(t.xAxis), t.axes.subx.call(t.subXAxis)) + : (t.axes.y.call(t.yAxis), t.axes.y2.call(t.y2Axis))), + t.updateSizes(), + t.updateScales(), + t.updateSvgSize(), + t.transformAll(!1); + }), + (E.observeInserted = function(e) { + var t, + n = this; + "undefined" !== typeof MutationObserver + ? (t = new MutationObserver(function(r) { + r.forEach(function(r) { + "childList" === r.type && + r.previousSibling && + (t.disconnect(), + (n.intervalForObserveInserted = window.setInterval( + function() { + e.node().parentNode && + (window.clearInterval(n.intervalForObserveInserted), + n.updateDimension(), + n.brush && n.brush.update(), + n.config.oninit.call(n), + n.redraw({ + withTransform: !0, + withUpdateXDomain: !0, + withUpdateOrgXDomain: !0, + withTransition: !1, + withTransitionForTransform: !1, + withLegend: !0 + }), + e.transition().style("opacity", 1)); + }, + 10 + ))); + }); + })).observe(e.node(), { + attributes: !0, + childList: !0, + characterData: !0 + }) + : window.console.error("MutationObserver not defined."); + }), + (E.bindResize = function() { + var e = this, + t = e.config; + if ( + ((e.resizeFunction = e.generateResize()), + e.resizeFunction.add(function() { + t.onresize.call(e); + }), + t.resize_auto && + e.resizeFunction.add(function() { + void 0 !== e.resizeTimeout && + window.clearTimeout(e.resizeTimeout), + (e.resizeTimeout = window.setTimeout(function() { + delete e.resizeTimeout, e.api.flush(); + }, 100)); + }), + e.resizeFunction.add(function() { + t.onresized.call(e); + }), + (e.resizeIfElementDisplayed = function() { + null != e.api && + e.api.element.offsetParent && + e.resizeFunction(); + }), + window.attachEvent) + ) + window.attachEvent("onresize", e.resizeIfElementDisplayed); + else if (window.addEventListener) + window.addEventListener("resize", e.resizeIfElementDisplayed, !1); + else { + var n = window.onresize; + n + ? (n.add && n.remove) || + (n = e.generateResize()).add(window.onresize) + : (n = e.generateResize()), + n.add(e.resizeFunction), + (window.onresize = function() { + e.api.element.offsetParent && n(); + }); + } + }), + (E.generateResize = function() { + var e = []; + function t() { + e.forEach(function(e) { + e(); + }); + } + return ( + (t.add = function(t) { + e.push(t); + }), + (t.remove = function(t) { + for (var n = 0; n < e.length; n++) + if (e[n] === t) { + e.splice(n, 1); + break; + } + }), + t + ); + }), + (E.endall = function(e, t) { + var n = 0; + e.each(function() { + ++n; + }).each("end", function() { + --n || t.apply(this, arguments); + }); + }), + (E.generateWait = function() { + var e = [], + t = function(t, n) { + var r = setInterval(function() { + var t = 0; + e.forEach(function(e) { + if (e.empty()) t += 1; + else + try { + e.transition(); + } catch (n) { + t += 1; + } + }), + t === e.length && (clearInterval(r), n && n()); + }, 10); + }; + return ( + (t.add = function(t) { + e.push(t); + }), + t + ); + }), + (E.parseDate = function(e) { + var t; + return ( + e instanceof Date + ? (t = e) + : "string" === typeof e + ? (t = this.dataTimeFormat(this.config.data_xFormat).parse(e)) + : "object" === ("undefined" === typeof e ? "undefined" : i(e)) + ? (t = new Date(+e)) + : "number" !== typeof e || isNaN(e) || (t = new Date(+e)), + (t && !isNaN(+t)) || + window.console.error( + "Failed to parse x '" + e + "' to Date object" + ), + t + ); + }), + (E.isTabVisible = function() { + var e; + return ( + "undefined" !== typeof document.hidden + ? (e = "hidden") + : "undefined" !== typeof document.mozHidden + ? (e = "mozHidden") + : "undefined" !== typeof document.msHidden + ? (e = "msHidden") + : "undefined" !== typeof document.webkitHidden && + (e = "webkitHidden"), + !document[e] + ); + }), + (E.isValue = s), + (E.isFunction = u), + (E.isString = c), + (E.isUndefined = d), + (E.isDefined = f), + (E.ceil10 = h), + (E.asHalfPixel = p), + (E.diffDomain = g), + (E.isEmpty = m), + (E.notEmpty = v), + (E.notEmpty = v), + (E.getOption = y), + (E.hasValue = x), + (E.sanitise = b), + (E.getPathBox = _), + (E.CLASS = r), + Function.prototype.bind || + (Function.prototype.bind = function(e) { + if ("function" !== typeof this) + throw new TypeError( + "Function.prototype.bind - what is trying to be bound is not callable" + ); + var t = Array.prototype.slice.call(arguments, 1), + n = this, + r = function() {}, + i = function() { + return n.apply( + this instanceof r ? this : e, + t.concat(Array.prototype.slice.call(arguments)) + ); + }; + return (r.prototype = this.prototype), (i.prototype = new r()), i; + }), + "SVGPathSeg" in window || + ((window.SVGPathSeg = function(e, t, n) { + (this.pathSegType = e), + (this.pathSegTypeAsLetter = t), + (this._owningPathSegList = n); + }), + (window.SVGPathSeg.prototype.classname = "SVGPathSeg"), + (window.SVGPathSeg.PATHSEG_UNKNOWN = 0), + (window.SVGPathSeg.PATHSEG_CLOSEPATH = 1), + (window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2), + (window.SVGPathSeg.PATHSEG_MOVETO_REL = 3), + (window.SVGPathSeg.PATHSEG_LINETO_ABS = 4), + (window.SVGPathSeg.PATHSEG_LINETO_REL = 5), + (window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6), + (window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7), + (window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8), + (window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9), + (window.SVGPathSeg.PATHSEG_ARC_ABS = 10), + (window.SVGPathSeg.PATHSEG_ARC_REL = 11), + (window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12), + (window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13), + (window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14), + (window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15), + (window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16), + (window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17), + (window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18), + (window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19), + (window.SVGPathSeg.prototype._segmentChanged = function() { + this._owningPathSegList && + this._owningPathSegList.segmentChanged(this); + }), + (window.SVGPathSegClosePath = function(e) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_CLOSEPATH, + "z", + e + ); + }), + (window.SVGPathSegClosePath.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegClosePath.prototype.toString = function() { + return "[object SVGPathSegClosePath]"; + }), + (window.SVGPathSegClosePath.prototype._asPathString = function() { + return this.pathSegTypeAsLetter; + }), + (window.SVGPathSegClosePath.prototype.clone = function() { + return new window.SVGPathSegClosePath(void 0); + }), + (window.SVGPathSegMovetoAbs = function(e, t, n) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_MOVETO_ABS, + "M", + e + ), + (this._x = t), + (this._y = n); + }), + (window.SVGPathSegMovetoAbs.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegMovetoAbs.prototype.toString = function() { + return "[object SVGPathSegMovetoAbs]"; + }), + (window.SVGPathSegMovetoAbs.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._x + " " + this._y; + }), + (window.SVGPathSegMovetoAbs.prototype.clone = function() { + return new window.SVGPathSegMovetoAbs(void 0, this._x, this._y); + }), + Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, "x", { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, "y", { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + }), + (window.SVGPathSegMovetoRel = function(e, t, n) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_MOVETO_REL, + "m", + e + ), + (this._x = t), + (this._y = n); + }), + (window.SVGPathSegMovetoRel.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegMovetoRel.prototype.toString = function() { + return "[object SVGPathSegMovetoRel]"; + }), + (window.SVGPathSegMovetoRel.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._x + " " + this._y; + }), + (window.SVGPathSegMovetoRel.prototype.clone = function() { + return new window.SVGPathSegMovetoRel(void 0, this._x, this._y); + }), + Object.defineProperty(window.SVGPathSegMovetoRel.prototype, "x", { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegMovetoRel.prototype, "y", { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + }), + (window.SVGPathSegLinetoAbs = function(e, t, n) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_LINETO_ABS, + "L", + e + ), + (this._x = t), + (this._y = n); + }), + (window.SVGPathSegLinetoAbs.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegLinetoAbs.prototype.toString = function() { + return "[object SVGPathSegLinetoAbs]"; + }), + (window.SVGPathSegLinetoAbs.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._x + " " + this._y; + }), + (window.SVGPathSegLinetoAbs.prototype.clone = function() { + return new window.SVGPathSegLinetoAbs(void 0, this._x, this._y); + }), + Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, "x", { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, "y", { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + }), + (window.SVGPathSegLinetoRel = function(e, t, n) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_LINETO_REL, + "l", + e + ), + (this._x = t), + (this._y = n); + }), + (window.SVGPathSegLinetoRel.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegLinetoRel.prototype.toString = function() { + return "[object SVGPathSegLinetoRel]"; + }), + (window.SVGPathSegLinetoRel.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._x + " " + this._y; + }), + (window.SVGPathSegLinetoRel.prototype.clone = function() { + return new window.SVGPathSegLinetoRel(void 0, this._x, this._y); + }), + Object.defineProperty(window.SVGPathSegLinetoRel.prototype, "x", { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegLinetoRel.prototype, "y", { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + }), + (window.SVGPathSegCurvetoCubicAbs = function(e, t, n, r, i, a, o) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, + "C", + e + ), + (this._x = t), + (this._y = n), + (this._x1 = r), + (this._y1 = i), + (this._x2 = a), + (this._y2 = o); + }), + (window.SVGPathSegCurvetoCubicAbs.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegCurvetoCubicAbs.prototype.toString = function() { + return "[object SVGPathSegCurvetoCubicAbs]"; + }), + (window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function() { + return ( + this.pathSegTypeAsLetter + + " " + + this._x1 + + " " + + this._y1 + + " " + + this._x2 + + " " + + this._y2 + + " " + + this._x + + " " + + this._y + ); + }), + (window.SVGPathSegCurvetoCubicAbs.prototype.clone = function() { + return new window.SVGPathSegCurvetoCubicAbs( + void 0, + this._x, + this._y, + this._x1, + this._y1, + this._x2, + this._y2 + ); + }), + Object.defineProperty( + window.SVGPathSegCurvetoCubicAbs.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicAbs.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicAbs.prototype, + "x1", + { + get: function() { + return this._x1; + }, + set: function(e) { + (this._x1 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicAbs.prototype, + "y1", + { + get: function() { + return this._y1; + }, + set: function(e) { + (this._y1 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicAbs.prototype, + "x2", + { + get: function() { + return this._x2; + }, + set: function(e) { + (this._x2 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicAbs.prototype, + "y2", + { + get: function() { + return this._y2; + }, + set: function(e) { + (this._y2 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegCurvetoCubicRel = function(e, t, n, r, i, a, o) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, + "c", + e + ), + (this._x = t), + (this._y = n), + (this._x1 = r), + (this._y1 = i), + (this._x2 = a), + (this._y2 = o); + }), + (window.SVGPathSegCurvetoCubicRel.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegCurvetoCubicRel.prototype.toString = function() { + return "[object SVGPathSegCurvetoCubicRel]"; + }), + (window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function() { + return ( + this.pathSegTypeAsLetter + + " " + + this._x1 + + " " + + this._y1 + + " " + + this._x2 + + " " + + this._y2 + + " " + + this._x + + " " + + this._y + ); + }), + (window.SVGPathSegCurvetoCubicRel.prototype.clone = function() { + return new window.SVGPathSegCurvetoCubicRel( + void 0, + this._x, + this._y, + this._x1, + this._y1, + this._x2, + this._y2 + ); + }), + Object.defineProperty( + window.SVGPathSegCurvetoCubicRel.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicRel.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicRel.prototype, + "x1", + { + get: function() { + return this._x1; + }, + set: function(e) { + (this._x1 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicRel.prototype, + "y1", + { + get: function() { + return this._y1; + }, + set: function(e) { + (this._y1 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicRel.prototype, + "x2", + { + get: function() { + return this._x2; + }, + set: function(e) { + (this._x2 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicRel.prototype, + "y2", + { + get: function() { + return this._y2; + }, + set: function(e) { + (this._y2 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegCurvetoQuadraticAbs = function(e, t, n, r, i) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, + "Q", + e + ), + (this._x = t), + (this._y = n), + (this._x1 = r), + (this._y1 = i); + }), + (window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function() { + return "[object SVGPathSegCurvetoQuadraticAbs]"; + }), + (window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function() { + return ( + this.pathSegTypeAsLetter + + " " + + this._x1 + + " " + + this._y1 + + " " + + this._x + + " " + + this._y + ); + }), + (window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function() { + return new window.SVGPathSegCurvetoQuadraticAbs( + void 0, + this._x, + this._y, + this._x1, + this._y1 + ); + }), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticAbs.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticAbs.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticAbs.prototype, + "x1", + { + get: function() { + return this._x1; + }, + set: function(e) { + (this._x1 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticAbs.prototype, + "y1", + { + get: function() { + return this._y1; + }, + set: function(e) { + (this._y1 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegCurvetoQuadraticRel = function(e, t, n, r, i) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, + "q", + e + ), + (this._x = t), + (this._y = n), + (this._x1 = r), + (this._y1 = i); + }), + (window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function() { + return "[object SVGPathSegCurvetoQuadraticRel]"; + }), + (window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function() { + return ( + this.pathSegTypeAsLetter + + " " + + this._x1 + + " " + + this._y1 + + " " + + this._x + + " " + + this._y + ); + }), + (window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function() { + return new window.SVGPathSegCurvetoQuadraticRel( + void 0, + this._x, + this._y, + this._x1, + this._y1 + ); + }), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticRel.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticRel.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticRel.prototype, + "x1", + { + get: function() { + return this._x1; + }, + set: function(e) { + (this._x1 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticRel.prototype, + "y1", + { + get: function() { + return this._y1; + }, + set: function(e) { + (this._y1 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegArcAbs = function(e, t, n, r, i, a, o, s) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_ARC_ABS, + "A", + e + ), + (this._x = t), + (this._y = n), + (this._r1 = r), + (this._r2 = i), + (this._angle = a), + (this._largeArcFlag = o), + (this._sweepFlag = s); + }), + (window.SVGPathSegArcAbs.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegArcAbs.prototype.toString = function() { + return "[object SVGPathSegArcAbs]"; + }), + (window.SVGPathSegArcAbs.prototype._asPathString = function() { + return ( + this.pathSegTypeAsLetter + + " " + + this._r1 + + " " + + this._r2 + + " " + + this._angle + + " " + + (this._largeArcFlag ? "1" : "0") + + " " + + (this._sweepFlag ? "1" : "0") + + " " + + this._x + + " " + + this._y + ); + }), + (window.SVGPathSegArcAbs.prototype.clone = function() { + return new window.SVGPathSegArcAbs( + void 0, + this._x, + this._y, + this._r1, + this._r2, + this._angle, + this._largeArcFlag, + this._sweepFlag + ); + }), + Object.defineProperty(window.SVGPathSegArcAbs.prototype, "x", { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegArcAbs.prototype, "y", { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegArcAbs.prototype, "r1", { + get: function() { + return this._r1; + }, + set: function(e) { + (this._r1 = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegArcAbs.prototype, "r2", { + get: function() { + return this._r2; + }, + set: function(e) { + (this._r2 = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegArcAbs.prototype, "angle", { + get: function() { + return this._angle; + }, + set: function(e) { + (this._angle = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty( + window.SVGPathSegArcAbs.prototype, + "largeArcFlag", + { + get: function() { + return this._largeArcFlag; + }, + set: function(e) { + (this._largeArcFlag = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegArcAbs.prototype, + "sweepFlag", + { + get: function() { + return this._sweepFlag; + }, + set: function(e) { + (this._sweepFlag = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegArcRel = function(e, t, n, r, i, a, o, s) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_ARC_REL, + "a", + e + ), + (this._x = t), + (this._y = n), + (this._r1 = r), + (this._r2 = i), + (this._angle = a), + (this._largeArcFlag = o), + (this._sweepFlag = s); + }), + (window.SVGPathSegArcRel.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegArcRel.prototype.toString = function() { + return "[object SVGPathSegArcRel]"; + }), + (window.SVGPathSegArcRel.prototype._asPathString = function() { + return ( + this.pathSegTypeAsLetter + + " " + + this._r1 + + " " + + this._r2 + + " " + + this._angle + + " " + + (this._largeArcFlag ? "1" : "0") + + " " + + (this._sweepFlag ? "1" : "0") + + " " + + this._x + + " " + + this._y + ); + }), + (window.SVGPathSegArcRel.prototype.clone = function() { + return new window.SVGPathSegArcRel( + void 0, + this._x, + this._y, + this._r1, + this._r2, + this._angle, + this._largeArcFlag, + this._sweepFlag + ); + }), + Object.defineProperty(window.SVGPathSegArcRel.prototype, "x", { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegArcRel.prototype, "y", { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegArcRel.prototype, "r1", { + get: function() { + return this._r1; + }, + set: function(e) { + (this._r1 = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegArcRel.prototype, "r2", { + get: function() { + return this._r2; + }, + set: function(e) { + (this._r2 = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty(window.SVGPathSegArcRel.prototype, "angle", { + get: function() { + return this._angle; + }, + set: function(e) { + (this._angle = e), this._segmentChanged(); + }, + enumerable: !0 + }), + Object.defineProperty( + window.SVGPathSegArcRel.prototype, + "largeArcFlag", + { + get: function() { + return this._largeArcFlag; + }, + set: function(e) { + (this._largeArcFlag = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegArcRel.prototype, + "sweepFlag", + { + get: function() { + return this._sweepFlag; + }, + set: function(e) { + (this._sweepFlag = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegLinetoHorizontalAbs = function(e, t) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, + "H", + e + ), + (this._x = t); + }), + (window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function() { + return "[object SVGPathSegLinetoHorizontalAbs]"; + }), + (window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._x; + }), + (window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function() { + return new window.SVGPathSegLinetoHorizontalAbs(void 0, this._x); + }), + Object.defineProperty( + window.SVGPathSegLinetoHorizontalAbs.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegLinetoHorizontalRel = function(e, t) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, + "h", + e + ), + (this._x = t); + }), + (window.SVGPathSegLinetoHorizontalRel.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegLinetoHorizontalRel.prototype.toString = function() { + return "[object SVGPathSegLinetoHorizontalRel]"; + }), + (window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._x; + }), + (window.SVGPathSegLinetoHorizontalRel.prototype.clone = function() { + return new window.SVGPathSegLinetoHorizontalRel(void 0, this._x); + }), + Object.defineProperty( + window.SVGPathSegLinetoHorizontalRel.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegLinetoVerticalAbs = function(e, t) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, + "V", + e + ), + (this._y = t); + }), + (window.SVGPathSegLinetoVerticalAbs.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegLinetoVerticalAbs.prototype.toString = function() { + return "[object SVGPathSegLinetoVerticalAbs]"; + }), + (window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._y; + }), + (window.SVGPathSegLinetoVerticalAbs.prototype.clone = function() { + return new window.SVGPathSegLinetoVerticalAbs(void 0, this._y); + }), + Object.defineProperty( + window.SVGPathSegLinetoVerticalAbs.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegLinetoVerticalRel = function(e, t) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, + "v", + e + ), + (this._y = t); + }), + (window.SVGPathSegLinetoVerticalRel.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegLinetoVerticalRel.prototype.toString = function() { + return "[object SVGPathSegLinetoVerticalRel]"; + }), + (window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._y; + }), + (window.SVGPathSegLinetoVerticalRel.prototype.clone = function() { + return new window.SVGPathSegLinetoVerticalRel(void 0, this._y); + }), + Object.defineProperty( + window.SVGPathSegLinetoVerticalRel.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegCurvetoCubicSmoothAbs = function(e, t, n, r, i) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, + "S", + e + ), + (this._x = t), + (this._y = n), + (this._x2 = r), + (this._y2 = i); + }), + (window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function() { + return "[object SVGPathSegCurvetoCubicSmoothAbs]"; + }), + (window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function() { + return ( + this.pathSegTypeAsLetter + + " " + + this._x2 + + " " + + this._y2 + + " " + + this._x + + " " + + this._y + ); + }), + (window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function() { + return new window.SVGPathSegCurvetoCubicSmoothAbs( + void 0, + this._x, + this._y, + this._x2, + this._y2 + ); + }), + Object.defineProperty( + window.SVGPathSegCurvetoCubicSmoothAbs.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicSmoothAbs.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicSmoothAbs.prototype, + "x2", + { + get: function() { + return this._x2; + }, + set: function(e) { + (this._x2 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicSmoothAbs.prototype, + "y2", + { + get: function() { + return this._y2; + }, + set: function(e) { + (this._y2 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegCurvetoCubicSmoothRel = function(e, t, n, r, i) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, + "s", + e + ), + (this._x = t), + (this._y = n), + (this._x2 = r), + (this._y2 = i); + }), + (window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function() { + return "[object SVGPathSegCurvetoCubicSmoothRel]"; + }), + (window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function() { + return ( + this.pathSegTypeAsLetter + + " " + + this._x2 + + " " + + this._y2 + + " " + + this._x + + " " + + this._y + ); + }), + (window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function() { + return new window.SVGPathSegCurvetoCubicSmoothRel( + void 0, + this._x, + this._y, + this._x2, + this._y2 + ); + }), + Object.defineProperty( + window.SVGPathSegCurvetoCubicSmoothRel.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicSmoothRel.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicSmoothRel.prototype, + "x2", + { + get: function() { + return this._x2; + }, + set: function(e) { + (this._x2 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoCubicSmoothRel.prototype, + "y2", + { + get: function() { + return this._y2; + }, + set: function(e) { + (this._y2 = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegCurvetoQuadraticSmoothAbs = function(e, t, n) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, + "T", + e + ), + (this._x = t), + (this._y = n); + }), + (window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function() { + return "[object SVGPathSegCurvetoQuadraticSmoothAbs]"; + }), + (window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._x + " " + this._y; + }), + (window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function() { + return new window.SVGPathSegCurvetoQuadraticSmoothAbs( + void 0, + this._x, + this._y + ); + }), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathSegCurvetoQuadraticSmoothRel = function(e, t, n) { + window.SVGPathSeg.call( + this, + window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, + "t", + e + ), + (this._x = t), + (this._y = n); + }), + (window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create( + window.SVGPathSeg.prototype + )), + (window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function() { + return "[object SVGPathSegCurvetoQuadraticSmoothRel]"; + }), + (window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function() { + return this.pathSegTypeAsLetter + " " + this._x + " " + this._y; + }), + (window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function() { + return new window.SVGPathSegCurvetoQuadraticSmoothRel( + void 0, + this._x, + this._y + ); + }), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, + "x", + { + get: function() { + return this._x; + }, + set: function(e) { + (this._x = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, + "y", + { + get: function() { + return this._y; + }, + set: function(e) { + (this._y = e), this._segmentChanged(); + }, + enumerable: !0 + } + ), + (window.SVGPathElement.prototype.createSVGPathSegClosePath = function() { + return new window.SVGPathSegClosePath(void 0); + }), + (window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function( + e, + t + ) { + return new window.SVGPathSegMovetoAbs(void 0, e, t); + }), + (window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function( + e, + t + ) { + return new window.SVGPathSegMovetoRel(void 0, e, t); + }), + (window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function( + e, + t + ) { + return new window.SVGPathSegLinetoAbs(void 0, e, t); + }), + (window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function( + e, + t + ) { + return new window.SVGPathSegLinetoRel(void 0, e, t); + }), + (window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function( + e, + t, + n, + r, + i, + a + ) { + return new window.SVGPathSegCurvetoCubicAbs( + void 0, + e, + t, + n, + r, + i, + a + ); + }), + (window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function( + e, + t, + n, + r, + i, + a + ) { + return new window.SVGPathSegCurvetoCubicRel( + void 0, + e, + t, + n, + r, + i, + a + ); + }), + (window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function( + e, + t, + n, + r + ) { + return new window.SVGPathSegCurvetoQuadraticAbs( + void 0, + e, + t, + n, + r + ); + }), + (window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function( + e, + t, + n, + r + ) { + return new window.SVGPathSegCurvetoQuadraticRel( + void 0, + e, + t, + n, + r + ); + }), + (window.SVGPathElement.prototype.createSVGPathSegArcAbs = function( + e, + t, + n, + r, + i, + a, + o + ) { + return new window.SVGPathSegArcAbs(void 0, e, t, n, r, i, a, o); + }), + (window.SVGPathElement.prototype.createSVGPathSegArcRel = function( + e, + t, + n, + r, + i, + a, + o + ) { + return new window.SVGPathSegArcRel(void 0, e, t, n, r, i, a, o); + }), + (window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function( + e + ) { + return new window.SVGPathSegLinetoHorizontalAbs(void 0, e); + }), + (window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function( + e + ) { + return new window.SVGPathSegLinetoHorizontalRel(void 0, e); + }), + (window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function( + e + ) { + return new window.SVGPathSegLinetoVerticalAbs(void 0, e); + }), + (window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function( + e + ) { + return new window.SVGPathSegLinetoVerticalRel(void 0, e); + }), + (window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function( + e, + t, + n, + r + ) { + return new window.SVGPathSegCurvetoCubicSmoothAbs( + void 0, + e, + t, + n, + r + ); + }), + (window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function( + e, + t, + n, + r + ) { + return new window.SVGPathSegCurvetoCubicSmoothRel( + void 0, + e, + t, + n, + r + ); + }), + (window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function( + e, + t + ) { + return new window.SVGPathSegCurvetoQuadraticSmoothAbs( + void 0, + e, + t + ); + }), + (window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function( + e, + t + ) { + return new window.SVGPathSegCurvetoQuadraticSmoothRel( + void 0, + e, + t + ); + }), + "getPathSegAtLength" in window.SVGPathElement.prototype || + (window.SVGPathElement.prototype.getPathSegAtLength = function( + e + ) { + if (void 0 === e || !isFinite(e)) throw "Invalid arguments."; + var t = document.createElementNS( + "http://www.w3.org/2000/svg", + "path" + ); + t.setAttribute("d", this.getAttribute("d")); + var n = t.pathSegList.numberOfItems - 1; + if (n <= 0) return 0; + do { + if ((t.pathSegList.removeItem(n), e > t.getTotalLength())) + break; + n--; + } while (n > 0); + return n; + })), + "SVGPathSegList" in window || + ((window.SVGPathSegList = function(e) { + (this._pathElement = e), + (this._list = this._parsePath( + this._pathElement.getAttribute("d") + )), + (this._mutationObserverConfig = { + attributes: !0, + attributeFilter: ["d"] + }), + (this._pathElementMutationObserver = new MutationObserver( + this._updateListFromPathMutations.bind(this) + )), + this._pathElementMutationObserver.observe( + this._pathElement, + this._mutationObserverConfig + ); + }), + (window.SVGPathSegList.prototype.classname = "SVGPathSegList"), + Object.defineProperty( + window.SVGPathSegList.prototype, + "numberOfItems", + { + get: function() { + return this._checkPathSynchronizedToList(), this._list.length; + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathElement.prototype, + "pathSegList", + { + get: function() { + return ( + this._pathSegList || + (this._pathSegList = new window.SVGPathSegList(this)), + this._pathSegList + ); + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathElement.prototype, + "normalizedPathSegList", + { + get: function() { + return this.pathSegList; + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathElement.prototype, + "animatedPathSegList", + { + get: function() { + return this.pathSegList; + }, + enumerable: !0 + } + ), + Object.defineProperty( + window.SVGPathElement.prototype, + "animatedNormalizedPathSegList", + { + get: function() { + return this.pathSegList; + }, + enumerable: !0 + } + ), + (window.SVGPathSegList.prototype._checkPathSynchronizedToList = function() { + this._updateListFromPathMutations( + this._pathElementMutationObserver.takeRecords() + ); + }), + (window.SVGPathSegList.prototype._updateListFromPathMutations = function( + e + ) { + if (this._pathElement) { + var t = !1; + e.forEach(function(e) { + "d" == e.attributeName && (t = !0); + }), + t && + (this._list = this._parsePath( + this._pathElement.getAttribute("d") + )); + } + }), + (window.SVGPathSegList.prototype._writeListToPath = function() { + this._pathElementMutationObserver.disconnect(), + this._pathElement.setAttribute( + "d", + window.SVGPathSegList._pathSegArrayAsString(this._list) + ), + this._pathElementMutationObserver.observe( + this._pathElement, + this._mutationObserverConfig + ); + }), + (window.SVGPathSegList.prototype.segmentChanged = function(e) { + this._writeListToPath(); + }), + (window.SVGPathSegList.prototype.clear = function() { + this._checkPathSynchronizedToList(), + this._list.forEach(function(e) { + e._owningPathSegList = null; + }), + (this._list = []), + this._writeListToPath(); + }), + (window.SVGPathSegList.prototype.initialize = function(e) { + return ( + this._checkPathSynchronizedToList(), + (this._list = [e]), + (e._owningPathSegList = this), + this._writeListToPath(), + e + ); + }), + (window.SVGPathSegList.prototype._checkValidIndex = function(e) { + if (isNaN(e) || e < 0 || e >= this.numberOfItems) + throw "INDEX_SIZE_ERR"; + }), + (window.SVGPathSegList.prototype.getItem = function(e) { + return ( + this._checkPathSynchronizedToList(), + this._checkValidIndex(e), + this._list[e] + ); + }), + (window.SVGPathSegList.prototype.insertItemBefore = function(e, t) { + return ( + this._checkPathSynchronizedToList(), + t > this.numberOfItems && (t = this.numberOfItems), + e._owningPathSegList && (e = e.clone()), + this._list.splice(t, 0, e), + (e._owningPathSegList = this), + this._writeListToPath(), + e + ); + }), + (window.SVGPathSegList.prototype.replaceItem = function(e, t) { + return ( + this._checkPathSynchronizedToList(), + e._owningPathSegList && (e = e.clone()), + this._checkValidIndex(t), + (this._list[t] = e), + (e._owningPathSegList = this), + this._writeListToPath(), + e + ); + }), + (window.SVGPathSegList.prototype.removeItem = function(e) { + this._checkPathSynchronizedToList(), this._checkValidIndex(e); + var t = this._list[e]; + return this._list.splice(e, 1), this._writeListToPath(), t; + }), + (window.SVGPathSegList.prototype.appendItem = function(e) { + return ( + this._checkPathSynchronizedToList(), + e._owningPathSegList && (e = e.clone()), + this._list.push(e), + (e._owningPathSegList = this), + this._writeListToPath(), + e + ); + }), + (window.SVGPathSegList._pathSegArrayAsString = function(e) { + var t = "", + n = !0; + return ( + e.forEach(function(e) { + n + ? ((n = !1), (t += e._asPathString())) + : (t += " " + e._asPathString()); + }), + t + ); + }), + (window.SVGPathSegList.prototype._parsePath = function(e) { + if (!e || 0 == e.length) return []; + var t = this, + n = function() { + this.pathSegList = []; + }; + n.prototype.appendSegment = function(e) { + this.pathSegList.push(e); + }; + var r = function(e) { + (this._string = e), + (this._currentIndex = 0), + (this._endIndex = this._string.length), + (this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN), + this._skipOptionalSpaces(); + }; + (r.prototype._isCurrentSpace = function() { + var e = this._string[this._currentIndex]; + return ( + e <= " " && + (" " == e || "\n" == e || "\t" == e || "\r" == e || "\f" == e) + ); + }), + (r.prototype._skipOptionalSpaces = function() { + for ( + ; + this._currentIndex < this._endIndex && + this._isCurrentSpace(); + + ) + this._currentIndex++; + return this._currentIndex < this._endIndex; + }), + (r.prototype._skipOptionalSpacesOrDelimiter = function() { + return ( + !( + this._currentIndex < this._endIndex && + !this._isCurrentSpace() && + "," != this._string.charAt(this._currentIndex) + ) && + (this._skipOptionalSpaces() && + this._currentIndex < this._endIndex && + "," == this._string.charAt(this._currentIndex) && + (this._currentIndex++, this._skipOptionalSpaces()), + this._currentIndex < this._endIndex) + ); + }), + (r.prototype.hasMoreData = function() { + return this._currentIndex < this._endIndex; + }), + (r.prototype.peekSegmentType = function() { + var e = this._string[this._currentIndex]; + return this._pathSegTypeFromChar(e); + }), + (r.prototype._pathSegTypeFromChar = function(e) { + switch (e) { + case "Z": + case "z": + return window.SVGPathSeg.PATHSEG_CLOSEPATH; + case "M": + return window.SVGPathSeg.PATHSEG_MOVETO_ABS; + case "m": + return window.SVGPathSeg.PATHSEG_MOVETO_REL; + case "L": + return window.SVGPathSeg.PATHSEG_LINETO_ABS; + case "l": + return window.SVGPathSeg.PATHSEG_LINETO_REL; + case "C": + return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS; + case "c": + return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL; + case "Q": + return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS; + case "q": + return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL; + case "A": + return window.SVGPathSeg.PATHSEG_ARC_ABS; + case "a": + return window.SVGPathSeg.PATHSEG_ARC_REL; + case "H": + return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS; + case "h": + return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL; + case "V": + return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS; + case "v": + return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL; + case "S": + return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; + case "s": + return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL; + case "T": + return window.SVGPathSeg + .PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; + case "t": + return window.SVGPathSeg + .PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; + default: + return window.SVGPathSeg.PATHSEG_UNKNOWN; + } + }), + (r.prototype._nextCommandHelper = function(e, t) { + return ("+" == e || + "-" == e || + "." == e || + (e >= "0" && e <= "9")) && + t != window.SVGPathSeg.PATHSEG_CLOSEPATH + ? t == window.SVGPathSeg.PATHSEG_MOVETO_ABS + ? window.SVGPathSeg.PATHSEG_LINETO_ABS + : t == window.SVGPathSeg.PATHSEG_MOVETO_REL + ? window.SVGPathSeg.PATHSEG_LINETO_REL + : t + : window.SVGPathSeg.PATHSEG_UNKNOWN; + }), + (r.prototype.initialCommandIsMoveTo = function() { + if (!this.hasMoreData()) return !0; + var e = this.peekSegmentType(); + return ( + e == window.SVGPathSeg.PATHSEG_MOVETO_ABS || + e == window.SVGPathSeg.PATHSEG_MOVETO_REL + ); + }), + (r.prototype._parseNumber = function() { + var e = 0, + t = 0, + n = 1, + r = 0, + i = 1, + a = 1, + o = this._currentIndex; + if ( + (this._skipOptionalSpaces(), + this._currentIndex < this._endIndex && + "+" == this._string.charAt(this._currentIndex) + ? this._currentIndex++ + : this._currentIndex < this._endIndex && + "-" == this._string.charAt(this._currentIndex) && + (this._currentIndex++, (i = -1)), + !( + this._currentIndex == this._endIndex || + ((this._string.charAt(this._currentIndex) < "0" || + this._string.charAt(this._currentIndex) > "9") && + "." != this._string.charAt(this._currentIndex)) + )) + ) { + for ( + var s = this._currentIndex; + this._currentIndex < this._endIndex && + this._string.charAt(this._currentIndex) >= "0" && + this._string.charAt(this._currentIndex) <= "9"; + + ) + this._currentIndex++; + if (this._currentIndex != s) + for (var u = this._currentIndex - 1, l = 1; u >= s; ) + (t += l * (this._string.charAt(u--) - "0")), (l *= 10); + if ( + this._currentIndex < this._endIndex && + "." == this._string.charAt(this._currentIndex) + ) { + if ( + (this._currentIndex++, + this._currentIndex >= this._endIndex || + this._string.charAt(this._currentIndex) < "0" || + this._string.charAt(this._currentIndex) > "9") + ) + return; + for ( + ; + this._currentIndex < this._endIndex && + this._string.charAt(this._currentIndex) >= "0" && + this._string.charAt(this._currentIndex) <= "9"; + + ) + (n *= 10), + (r += + (this._string.charAt(this._currentIndex) - "0") / + n), + (this._currentIndex += 1); + } + if ( + this._currentIndex != o && + this._currentIndex + 1 < this._endIndex && + ("e" == this._string.charAt(this._currentIndex) || + "E" == this._string.charAt(this._currentIndex)) && + "x" != this._string.charAt(this._currentIndex + 1) && + "m" != this._string.charAt(this._currentIndex + 1) + ) { + if ( + (this._currentIndex++, + "+" == this._string.charAt(this._currentIndex) + ? this._currentIndex++ + : "-" == this._string.charAt(this._currentIndex) && + (this._currentIndex++, (a = -1)), + this._currentIndex >= this._endIndex || + this._string.charAt(this._currentIndex) < "0" || + this._string.charAt(this._currentIndex) > "9") + ) + return; + for ( + ; + this._currentIndex < this._endIndex && + this._string.charAt(this._currentIndex) >= "0" && + this._string.charAt(this._currentIndex) <= "9"; + + ) + (e *= 10), + (e += this._string.charAt(this._currentIndex) - "0"), + this._currentIndex++; + } + var c = t + r; + if ( + ((c *= i), + e && (c *= Math.pow(10, a * e)), + o != this._currentIndex) + ) + return this._skipOptionalSpacesOrDelimiter(), c; + } + }), + (r.prototype._parseArcFlag = function() { + if (!(this._currentIndex >= this._endIndex)) { + var e = !1, + t = this._string.charAt(this._currentIndex++); + if ("0" == t) e = !1; + else { + if ("1" != t) return; + e = !0; + } + return this._skipOptionalSpacesOrDelimiter(), e; + } + }), + (r.prototype.parseSegment = function() { + var e = this._string[this._currentIndex], + n = this._pathSegTypeFromChar(e); + if (n == window.SVGPathSeg.PATHSEG_UNKNOWN) { + if ( + this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN + ) + return null; + if ( + (n = this._nextCommandHelper(e, this._previousCommand)) == + window.SVGPathSeg.PATHSEG_UNKNOWN + ) + return null; + } else this._currentIndex++; + switch (((this._previousCommand = n), n)) { + case window.SVGPathSeg.PATHSEG_MOVETO_REL: + return new window.SVGPathSegMovetoRel( + t, + this._parseNumber(), + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_MOVETO_ABS: + return new window.SVGPathSegMovetoAbs( + t, + this._parseNumber(), + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_LINETO_REL: + return new window.SVGPathSegLinetoRel( + t, + this._parseNumber(), + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_LINETO_ABS: + return new window.SVGPathSegLinetoAbs( + t, + this._parseNumber(), + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL: + return new window.SVGPathSegLinetoHorizontalRel( + t, + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS: + return new window.SVGPathSegLinetoHorizontalAbs( + t, + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL: + return new window.SVGPathSegLinetoVerticalRel( + t, + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS: + return new window.SVGPathSegLinetoVerticalAbs( + t, + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_CLOSEPATH: + return ( + this._skipOptionalSpaces(), + new window.SVGPathSegClosePath(t) + ); + case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL: + var r = { + x1: this._parseNumber(), + y1: this._parseNumber(), + x2: this._parseNumber(), + y2: this._parseNumber(), + x: this._parseNumber(), + y: this._parseNumber() + }; + return new window.SVGPathSegCurvetoCubicRel( + t, + r.x, + r.y, + r.x1, + r.y1, + r.x2, + r.y2 + ); + case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS: + return ( + (r = { + x1: this._parseNumber(), + y1: this._parseNumber(), + x2: this._parseNumber(), + y2: this._parseNumber(), + x: this._parseNumber(), + y: this._parseNumber() + }), + new window.SVGPathSegCurvetoCubicAbs( + t, + r.x, + r.y, + r.x1, + r.y1, + r.x2, + r.y2 + ) + ); + case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL: + return ( + (r = { + x2: this._parseNumber(), + y2: this._parseNumber(), + x: this._parseNumber(), + y: this._parseNumber() + }), + new window.SVGPathSegCurvetoCubicSmoothRel( + t, + r.x, + r.y, + r.x2, + r.y2 + ) + ); + case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: + return ( + (r = { + x2: this._parseNumber(), + y2: this._parseNumber(), + x: this._parseNumber(), + y: this._parseNumber() + }), + new window.SVGPathSegCurvetoCubicSmoothAbs( + t, + r.x, + r.y, + r.x2, + r.y2 + ) + ); + case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL: + return ( + (r = { + x1: this._parseNumber(), + y1: this._parseNumber(), + x: this._parseNumber(), + y: this._parseNumber() + }), + new window.SVGPathSegCurvetoQuadraticRel( + t, + r.x, + r.y, + r.x1, + r.y1 + ) + ); + case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS: + return ( + (r = { + x1: this._parseNumber(), + y1: this._parseNumber(), + x: this._parseNumber(), + y: this._parseNumber() + }), + new window.SVGPathSegCurvetoQuadraticAbs( + t, + r.x, + r.y, + r.x1, + r.y1 + ) + ); + case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: + return new window.SVGPathSegCurvetoQuadraticSmoothRel( + t, + this._parseNumber(), + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: + return new window.SVGPathSegCurvetoQuadraticSmoothAbs( + t, + this._parseNumber(), + this._parseNumber() + ); + case window.SVGPathSeg.PATHSEG_ARC_REL: + return ( + (r = { + x1: this._parseNumber(), + y1: this._parseNumber(), + arcAngle: this._parseNumber(), + arcLarge: this._parseArcFlag(), + arcSweep: this._parseArcFlag(), + x: this._parseNumber(), + y: this._parseNumber() + }), + new window.SVGPathSegArcRel( + t, + r.x, + r.y, + r.x1, + r.y1, + r.arcAngle, + r.arcLarge, + r.arcSweep + ) + ); + case window.SVGPathSeg.PATHSEG_ARC_ABS: + return ( + (r = { + x1: this._parseNumber(), + y1: this._parseNumber(), + arcAngle: this._parseNumber(), + arcLarge: this._parseArcFlag(), + arcSweep: this._parseArcFlag(), + x: this._parseNumber(), + y: this._parseNumber() + }), + new window.SVGPathSegArcAbs( + t, + r.x, + r.y, + r.x1, + r.y1, + r.arcAngle, + r.arcLarge, + r.arcSweep + ) + ); + default: + throw "Unknown path seg type."; + } + }); + var i = new n(), + a = new r(e); + if (!a.initialCommandIsMoveTo()) return []; + for (; a.hasMoreData(); ) { + var o = a.parseSegment(); + if (!o) return []; + i.appendSegment(o); + } + return i.pathSegList; + })), + String.prototype.padEnd || + (String.prototype.padEnd = function(e, t) { + return ( + (e >>= 0), + (t = String("undefined" !== typeof t ? t : " ")), + this.length > e + ? String(this) + : ((e -= this.length) > t.length && + (t += t.repeat(e / t.length)), + String(this) + t.slice(0, e)) + ); + }), + (T.axis = function() {}), + (T.axis.labels = function(e) { + var t = this.internal; + arguments.length && + (Object.keys(e).forEach(function(n) { + t.axis.setLabelText(n, e[n]); + }), + t.axis.updateLabels()); + }), + (T.axis.max = function(e) { + var t = this.internal, + n = t.config; + if (!arguments.length) + return { x: n.axis_x_max, y: n.axis_y_max, y2: n.axis_y2_max }; + "object" === ("undefined" === typeof e ? "undefined" : i(e)) + ? (s(e.x) && (n.axis_x_max = e.x), + s(e.y) && (n.axis_y_max = e.y), + s(e.y2) && (n.axis_y2_max = e.y2)) + : (n.axis_y_max = n.axis_y2_max = e), + t.redraw({ withUpdateOrgXDomain: !0, withUpdateXDomain: !0 }); + }), + (T.axis.min = function(e) { + var t = this.internal, + n = t.config; + if (!arguments.length) + return { x: n.axis_x_min, y: n.axis_y_min, y2: n.axis_y2_min }; + "object" === ("undefined" === typeof e ? "undefined" : i(e)) + ? (s(e.x) && (n.axis_x_min = e.x), + s(e.y) && (n.axis_y_min = e.y), + s(e.y2) && (n.axis_y2_min = e.y2)) + : (n.axis_y_min = n.axis_y2_min = e), + t.redraw({ withUpdateOrgXDomain: !0, withUpdateXDomain: !0 }); + }), + (T.axis.range = function(e) { + if (!arguments.length) + return { max: this.axis.max(), min: this.axis.min() }; + f(e.max) && this.axis.max(e.max), f(e.min) && this.axis.min(e.min); + }), + (T.category = function(e, t) { + var n = this.internal, + r = n.config; + return ( + arguments.length > 1 && + ((r.axis_x_categories[e] = t), n.redraw()), + r.axis_x_categories[e] + ); + }), + (T.categories = function(e) { + var t = this.internal, + n = t.config; + return arguments.length + ? ((n.axis_x_categories = e), t.redraw(), n.axis_x_categories) + : n.axis_x_categories; + }), + (T.resize = function(e) { + var t = this.internal.config; + (t.size_width = e ? e.width : null), + (t.size_height = e ? e.height : null), + this.flush(); + }), + (T.flush = function() { + this.internal.updateAndRedraw({ + withLegend: !0, + withTransition: !1, + withTransitionForTransform: !1 + }); + }), + (T.destroy = function() { + var e = this.internal; + if ( + (window.clearInterval(e.intervalForObserveInserted), + void 0 !== e.resizeTimeout && + window.clearTimeout(e.resizeTimeout), + window.detachEvent) + ) + window.detachEvent("onresize", e.resizeIfElementDisplayed); + else if (window.removeEventListener) + window.removeEventListener("resize", e.resizeIfElementDisplayed); + else { + var t = window.onresize; + t && t.add && t.remove && t.remove(e.resizeFunction); + } + return ( + e.resizeFunction.remove(), + e.selectChart.classed("c3", !1).html(""), + Object.keys(e).forEach(function(t) { + e[t] = null; + }), + null + ); + }), + (T.color = function(e) { + return this.internal.color(e); + }), + (T.data = function(e) { + var t = this.internal.data.targets; + return "undefined" === typeof e + ? t + : t.filter(function(t) { + return [].concat(e).indexOf(t.id) >= 0; + }); + }), + (T.data.shown = function(e) { + return this.internal.filterTargetsToShow(this.data(e)); + }), + (T.data.values = function(e) { + var t, + n = null; + return ( + e && + (n = (t = this.data(e))[0] + ? t[0].values.map(function(e) { + return e.value; + }) + : null), + n + ); + }), + (T.data.names = function(e) { + return ( + this.internal.clearLegendItemTextBoxCache(), + this.internal.updateDataAttributes("names", e) + ); + }), + (T.data.colors = function(e) { + return this.internal.updateDataAttributes("colors", e); + }), + (T.data.axes = function(e) { + return this.internal.updateDataAttributes("axes", e); + }), + (T.flow = function(e) { + var t, + n, + r, + i, + a, + o, + u, + l = this.internal, + c = [], + d = l.getMaxDataCount(), + h = 0, + p = 0; + if (e.json) n = l.convertJsonToData(e.json, e.keys); + else if (e.rows) n = l.convertRowsToData(e.rows); + else { + if (!e.columns) return; + n = l.convertColumnsToData(e.columns); + } + (t = l.convertDataToTargets(n, !0)), + l.data.targets.forEach(function(e) { + var n, + r, + i = !1; + for (n = 0; n < t.length; n++) + if (e.id === t[n].id) { + for ( + i = !0, + e.values[e.values.length - 1] && + (p = e.values[e.values.length - 1].index + 1), + h = t[n].values.length, + r = 0; + r < h; + r++ + ) + (t[n].values[r].index = p + r), + l.isTimeSeries() || (t[n].values[r].x = p + r); + (e.values = e.values.concat(t[n].values)), t.splice(n, 1); + break; + } + i || c.push(e.id); + }), + l.data.targets.forEach(function(e) { + var t, n; + for (t = 0; t < c.length; t++) + if (e.id === c[t]) + for ( + p = e.values[e.values.length - 1].index + 1, n = 0; + n < h; + n++ + ) + e.values.push({ + id: e.id, + index: p + n, + x: l.isTimeSeries() ? l.getOtherTargetX(p + n) : p + n, + value: null + }); + }), + l.data.targets.length && + t.forEach(function(e) { + var t, + n = []; + for (t = l.data.targets[0].values[0].index; t < p; t++) + n.push({ + id: e.id, + index: t, + x: l.isTimeSeries() ? l.getOtherTargetX(t) : t, + value: null + }); + e.values.forEach(function(e) { + (e.index += p), l.isTimeSeries() || (e.x += p); + }), + (e.values = n.concat(e.values)); + }), + (l.data.targets = l.data.targets.concat(t)), + l.getMaxDataCount(), + (a = (i = l.data.targets[0]).values[0]), + f(e.to) + ? ((h = 0), + (u = l.isTimeSeries() ? l.parseDate(e.to) : e.to), + i.values.forEach(function(e) { + e.x < u && h++; + })) + : f(e.length) && (h = e.length), + d + ? 1 === d && + l.isTimeSeries() && + ((o = (i.values[i.values.length - 1].x - a.x) / 2), + (r = [new Date(+a.x - o), new Date(+a.x + o)]), + l.updateXDomain(null, !0, !0, !1, r)) + : ((o = l.isTimeSeries() + ? i.values.length > 1 + ? i.values[i.values.length - 1].x - a.x + : a.x - l.getXDomain(l.data.targets)[0] + : 1), + (r = [a.x - o, a.x]), + l.updateXDomain(null, !0, !0, !1, r)), + l.updateTargets(l.data.targets), + l.redraw({ + flow: { + index: a.index, + length: h, + duration: s(e.duration) + ? e.duration + : l.config.transition_duration, + done: e.done, + orgDataCount: d + }, + withLegend: !0, + withTransition: d > 1, + withTrimXDomain: !1, + withUpdateXAxis: !0 + }); + }), + (E.generateFlow = function(e) { + var t = this, + n = t.config, + i = t.d3; + return function() { + var a, + o, + s, + u, + l = e.targets, + c = e.flow, + d = e.drawBar, + f = e.drawLine, + h = e.drawArea, + p = e.cx, + m = e.cy, + v = e.xv, + y = e.xForText, + x = e.yForText, + b = e.duration, + _ = c.index, + w = c.length, + S = t.getValueOnIndex(t.data.targets[0].values, _), + T = t.getValueOnIndex(t.data.targets[0].values, _ + w), + E = t.x.domain(), + C = c.duration || b, + O = c.done || function() {}, + P = t.generateWait(), + A = t.xgrid || i.selectAll([]), + k = t.xgridLines || i.selectAll([]), + N = t.mainRegion || i.selectAll([]), + M = t.mainText || i.selectAll([]), + L = t.mainBar || i.selectAll([]), + j = t.mainLine || i.selectAll([]), + R = t.mainArea || i.selectAll([]), + I = t.mainCircle || i.selectAll([]); + (t.flowing = !0), + t.data.targets.forEach(function(e) { + e.values.splice(0, w); + }), + (u = t.updateXDomain(l, !0, !0)), + t.updateXGrid && t.updateXGrid(!0), + c.orgDataCount + ? (a = + 1 === c.orgDataCount || (S && S.x) === (T && T.x) + ? t.x(E[0]) - t.x(u[0]) + : t.isTimeSeries() + ? t.x(E[0]) - t.x(u[0]) + : t.x(S.x) - t.x(T.x)) + : 1 !== t.data.targets[0].values.length + ? (a = t.x(E[0]) - t.x(u[0])) + : t.isTimeSeries() + ? ((S = t.getValueOnIndex(t.data.targets[0].values, 0)), + (T = t.getValueOnIndex( + t.data.targets[0].values, + t.data.targets[0].values.length - 1 + )), + (a = t.x(S.x) - t.x(T.x))) + : (a = g(u) / 2), + (o = g(E) / g(u)), + (s = "translate(" + a + ",0) scale(" + o + ",1)"), + t.hideXGridFocus(), + i + .transition() + .ease("linear") + .duration(C) + .each(function() { + P.add(t.axes.x.transition().call(t.xAxis)), + P.add(L.transition().attr("transform", s)), + P.add(j.transition().attr("transform", s)), + P.add(R.transition().attr("transform", s)), + P.add(I.transition().attr("transform", s)), + P.add(M.transition().attr("transform", s)), + P.add( + N.filter(t.isRegionOnX) + .transition() + .attr("transform", s) + ), + P.add(A.transition().attr("transform", s)), + P.add(k.transition().attr("transform", s)); + }) + .call(P, function() { + var e, + i = [], + a = [], + o = []; + if (w) { + for (e = 0; e < w; e++) + i.push("." + r.shape + "-" + (_ + e)), + a.push("." + r.text + "-" + (_ + e)), + o.push("." + r.eventRect + "-" + (_ + e)); + t.svg + .selectAll("." + r.shapes) + .selectAll(i) + .remove(), + t.svg + .selectAll("." + r.texts) + .selectAll(a) + .remove(), + t.svg + .selectAll("." + r.eventRects) + .selectAll(o) + .remove(), + t.svg.select("." + r.xgrid).remove(); + } + A.attr("transform", null).attr(t.xgridAttr), + k.attr("transform", null), + k + .select("line") + .attr("x1", n.axis_rotated ? 0 : v) + .attr("x2", n.axis_rotated ? t.width : v), + k + .select("text") + .attr("x", n.axis_rotated ? t.width : 0) + .attr("y", v), + L.attr("transform", null).attr("d", d), + j.attr("transform", null).attr("d", f), + R.attr("transform", null).attr("d", h), + I.attr("transform", null) + .attr("cx", p) + .attr("cy", m), + M.attr("transform", null) + .attr("x", y) + .attr("y", x) + .style("fill-opacity", t.opacityForText.bind(t)), + N.attr("transform", null), + N.select("rect") + .filter(t.isRegionOnX) + .attr("x", t.regionX.bind(t)) + .attr("width", t.regionWidth.bind(t)), + n.interaction_enabled && t.redrawEventRect(), + O(), + (t.flowing = !1); + }); + }; + }), + (T.focus = function(e) { + var t, + n = this.internal; + (e = n.mapToTargetIds(e)), + (t = n.svg.selectAll( + n.selectorTargets(e.filter(n.isTargetToShow, n)) + )), + this.revert(), + this.defocus(), + t.classed(r.focused, !0).classed(r.defocused, !1), + n.hasArcType() && n.expandArc(e), + n.toggleFocusLegend(e, !0), + (n.focusedTargetIds = e), + (n.defocusedTargetIds = n.defocusedTargetIds.filter(function(t) { + return e.indexOf(t) < 0; + })); + }), + (T.defocus = function(e) { + var t = this.internal; + (e = t.mapToTargetIds(e)), + t.svg + .selectAll(t.selectorTargets(e.filter(t.isTargetToShow, t))) + .classed(r.focused, !1) + .classed(r.defocused, !0), + t.hasArcType() && t.unexpandArc(e), + t.toggleFocusLegend(e, !1), + (t.focusedTargetIds = t.focusedTargetIds.filter(function(t) { + return e.indexOf(t) < 0; + })), + (t.defocusedTargetIds = e); + }), + (T.revert = function(e) { + var t = this.internal; + (e = t.mapToTargetIds(e)), + t.svg + .selectAll(t.selectorTargets(e)) + .classed(r.focused, !1) + .classed(r.defocused, !1), + t.hasArcType() && t.unexpandArc(e), + t.config.legend_show && + (t.showLegend(e.filter(t.isLegendToShow.bind(t))), + t.legend + .selectAll(t.selectorLegends(e)) + .filter(function() { + return t.d3.select(this).classed(r.legendItemFocused); + }) + .classed(r.legendItemFocused, !1)), + (t.focusedTargetIds = []), + (t.defocusedTargetIds = []); + }), + (T.xgrids = function(e) { + var t = this.internal, + n = t.config; + return e + ? ((n.grid_x_lines = e), t.redrawWithoutRescale(), n.grid_x_lines) + : n.grid_x_lines; + }), + (T.xgrids.add = function(e) { + var t = this.internal; + return this.xgrids(t.config.grid_x_lines.concat(e || [])); + }), + (T.xgrids.remove = function(e) { + this.internal.removeGridLines(e, !0); + }), + (T.ygrids = function(e) { + var t = this.internal, + n = t.config; + return e + ? ((n.grid_y_lines = e), t.redrawWithoutRescale(), n.grid_y_lines) + : n.grid_y_lines; + }), + (T.ygrids.add = function(e) { + var t = this.internal; + return this.ygrids(t.config.grid_y_lines.concat(e || [])); + }), + (T.ygrids.remove = function(e) { + this.internal.removeGridLines(e, !1); + }), + (T.groups = function(e) { + var t = this.internal, + n = t.config; + return d(e) + ? n.data_groups + : ((n.data_groups = e), t.redraw(), n.data_groups); + }), + (T.legend = function() {}), + (T.legend.show = function(e) { + var t = this.internal; + t.showLegend(t.mapToTargetIds(e)), + t.updateAndRedraw({ withLegend: !0 }); + }), + (T.legend.hide = function(e) { + var t = this.internal; + t.hideLegend(t.mapToTargetIds(e)), + t.updateAndRedraw({ withLegend: !0 }); + }), + (T.load = function(e) { + var t = this.internal, + n = t.config; + e.xs && t.addXs(e.xs), + "names" in e && T.data.names.bind(this)(e.names), + "classes" in e && + Object.keys(e.classes).forEach(function(t) { + n.data_classes[t] = e.classes[t]; + }), + "categories" in e && + t.isCategorized() && + (n.axis_x_categories = e.categories), + "axes" in e && + Object.keys(e.axes).forEach(function(t) { + n.data_axes[t] = e.axes[t]; + }), + "colors" in e && + Object.keys(e.colors).forEach(function(t) { + n.data_colors[t] = e.colors[t]; + }), + "cacheIds" in e && t.hasCaches(e.cacheIds) + ? t.load(t.getCaches(e.cacheIds), e.done) + : "unload" in e + ? t.unload( + t.mapToTargetIds( + "boolean" === typeof e.unload && e.unload + ? null + : e.unload + ), + function() { + t.loadFromArgs(e); + } + ) + : t.loadFromArgs(e); + }), + (T.unload = function(e) { + var t = this.internal; + (e = e || {}) instanceof Array + ? (e = { ids: e }) + : "string" === typeof e && (e = { ids: [e] }), + t.unload(t.mapToTargetIds(e.ids), function() { + t.redraw({ + withUpdateOrgXDomain: !0, + withUpdateXDomain: !0, + withLegend: !0 + }), + e.done && e.done(); + }); + }), + (T.regions = function(e) { + var t = this.internal, + n = t.config; + return e + ? ((n.regions = e), t.redrawWithoutRescale(), n.regions) + : n.regions; + }), + (T.regions.add = function(e) { + var t = this.internal, + n = t.config; + return e + ? ((n.regions = n.regions.concat(e)), + t.redrawWithoutRescale(), + n.regions) + : n.regions; + }), + (T.regions.remove = function(e) { + var t, + n, + i, + a = this.internal, + o = a.config; + return ( + (e = e || {}), + (t = a.getOption(e, "duration", o.transition_duration)), + (n = a.getOption(e, "classes", [r.region])), + (i = a.main.select("." + r.regions).selectAll( + n.map(function(e) { + return "." + e; + }) + )), + (t ? i.transition().duration(t) : i).style("opacity", 0).remove(), + (o.regions = o.regions.filter(function(e) { + var t = !1; + return ( + !e.class || + (e.class.split(" ").forEach(function(e) { + n.indexOf(e) >= 0 && (t = !0); + }), + !t) + ); + })), + o.regions + ); + }), + (T.selected = function(e) { + var t = this.internal, + n = t.d3; + return n.merge( + t.main + .selectAll("." + r.shapes + t.getTargetSelectorSuffix(e)) + .selectAll("." + r.shape) + .filter(function() { + return n.select(this).classed(r.SELECTED); + }) + .map(function(e) { + return e.map(function(e) { + var t = e.__data__; + return t.data ? t.data : t; + }); + }) + ); + }), + (T.select = function(e, t, n) { + var i = this.internal, + a = i.d3, + o = i.config; + o.data_selection_enabled && + i.main + .selectAll("." + r.shapes) + .selectAll("." + r.shape) + .each(function(s, u) { + var l = a.select(this), + c = s.data ? s.data.id : s.id, + d = i.getToggle(this, s).bind(i), + h = o.data_selection_grouped || !e || e.indexOf(c) >= 0, + p = !t || t.indexOf(u) >= 0, + g = l.classed(r.SELECTED); + l.classed(r.line) || + l.classed(r.area) || + (h && p + ? o.data_selection_isselectable(s) && + !g && + d(!0, l.classed(r.SELECTED, !0), s, u) + : f(n) && + n && + g && + d(!1, l.classed(r.SELECTED, !1), s, u)); + }); + }), + (T.unselect = function(e, t) { + var n = this.internal, + i = n.d3, + a = n.config; + a.data_selection_enabled && + n.main + .selectAll("." + r.shapes) + .selectAll("." + r.shape) + .each(function(o, s) { + var u = i.select(this), + l = o.data ? o.data.id : o.id, + c = n.getToggle(this, o).bind(n), + d = a.data_selection_grouped || !e || e.indexOf(l) >= 0, + f = !t || t.indexOf(s) >= 0, + h = u.classed(r.SELECTED); + u.classed(r.line) || + u.classed(r.area) || + (d && + f && + a.data_selection_isselectable(o) && + h && + c(!1, u.classed(r.SELECTED, !1), o, s)); + }); + }), + (T.show = function(e, t) { + var n, + r = this.internal; + (e = r.mapToTargetIds(e)), + (t = t || {}), + r.removeHiddenTargetIds(e), + (n = r.svg.selectAll(r.selectorTargets(e))) + .transition() + .style("opacity", 1, "important") + .call(r.endall, function() { + n.style("opacity", null).style("opacity", 1); + }), + t.withLegend && r.showLegend(e), + r.redraw({ + withUpdateOrgXDomain: !0, + withUpdateXDomain: !0, + withLegend: !0 + }); + }), + (T.hide = function(e, t) { + var n, + r = this.internal; + (e = r.mapToTargetIds(e)), + (t = t || {}), + r.addHiddenTargetIds(e), + (n = r.svg.selectAll(r.selectorTargets(e))) + .transition() + .style("opacity", 0, "important") + .call(r.endall, function() { + n.style("opacity", null).style("opacity", 0); + }), + t.withLegend && r.hideLegend(e), + r.redraw({ + withUpdateOrgXDomain: !0, + withUpdateXDomain: !0, + withLegend: !0 + }); + }), + (T.toggle = function(e, t) { + var n = this, + r = this.internal; + r.mapToTargetIds(e).forEach(function(e) { + r.isTargetToShow(e) ? n.hide(e, t) : n.show(e, t); + }); + }), + (T.tooltip = function() {}), + (T.tooltip.show = function(e) { + var t, + n, + r = this.internal; + e.mouse && (n = e.mouse), + e.data + ? r.isMultipleX() + ? ((n = [ + r.x(e.data.x), + r.getYScale(e.data.id)(e.data.value) + ]), + (t = null)) + : (t = s(e.data.index) + ? e.data.index + : r.getIndexByX(e.data.x)) + : "undefined" !== typeof e.x + ? (t = r.getIndexByX(e.x)) + : "undefined" !== typeof e.index && (t = e.index), + r.dispatchEvent("mouseover", t, n), + r.dispatchEvent("mousemove", t, n), + r.config.tooltip_onshow.call(r, e.data); + }), + (T.tooltip.hide = function() { + this.internal.dispatchEvent("mouseout", 0), + this.internal.config.tooltip_onhide.call(this); + }), + (T.transform = function(e, t) { + var n = this.internal, + r = + ["pie", "donut"].indexOf(e) >= 0 ? { withTransform: !0 } : null; + n.transformTo(t, e, r); + }), + (E.transformTo = function(e, t, n) { + var r = this, + i = !r.hasArcType(), + a = n || { withTransitionForAxis: i }; + (a.withTransitionForTransform = !1), + (r.transiting = !1), + r.setTargetType(e, t), + r.updateTargets(r.data.targets), + r.updateAndRedraw(a); + }), + (T.x = function(e) { + var t = this.internal; + return ( + arguments.length && + (t.updateTargetX(t.data.targets, e), + t.redraw({ withUpdateOrgXDomain: !0, withUpdateXDomain: !0 })), + t.data.xs + ); + }), + (T.xs = function(e) { + var t = this.internal; + return ( + arguments.length && + (t.updateTargetXs(t.data.targets, e), + t.redraw({ withUpdateOrgXDomain: !0, withUpdateXDomain: !0 })), + t.data.xs + ); + }), + (T.zoom = function(e) { + var t = this.internal; + return ( + e && + (t.isTimeSeries() && + (e = e.map(function(e) { + return t.parseDate(e); + })), + t.brush.extent(e), + t.redraw({ + withUpdateXDomain: !0, + withY: t.config.zoom_rescale + }), + t.config.zoom_onzoom.call(this, t.x.orgDomain())), + t.brush.extent() + ); + }), + (T.zoom.enable = function(e) { + var t = this.internal; + (t.config.zoom_enabled = e), t.updateAndRedraw(); + }), + (T.unzoom = function() { + var e = this.internal; + e.brush.clear().update(), e.redraw({ withUpdateXDomain: !0 }); + }), + (T.zoom.max = function(e) { + var t = this.internal, + n = t.config, + r = t.d3; + if (0 !== e && !e) return n.zoom_x_max; + n.zoom_x_max = r.max([t.orgXDomain[1], e]); + }), + (T.zoom.min = function(e) { + var t = this.internal, + n = t.config, + r = t.d3; + if (0 !== e && !e) return n.zoom_x_min; + n.zoom_x_min = r.min([t.orgXDomain[0], e]); + }), + (T.zoom.range = function(e) { + if (!arguments.length) + return { max: this.domain.max(), min: this.domain.min() }; + f(e.max) && this.domain.max(e.max), + f(e.min) && this.domain.min(e.min); + }), + (E.initPie = function() { + var e = this.d3; + (this.pie = e.layout.pie().value(function(e) { + return e.values.reduce(function(e, t) { + return e + t.value; + }, 0); + })), + this.pie.sort(this.getOrderFunction() || null); + }), + (E.updateRadius = function() { + var e = this, + t = e.config, + n = t.gauge_width || t.donut_width, + r = + e.filterTargetsToShow(e.data.targets).length * + e.config.gauge_arcs_minWidth; + (e.radiusExpanded = + (Math.min(e.arcWidth, e.arcHeight) / 2) * + (e.hasType("gauge") ? 0.85 : 1)), + (e.radius = 0.95 * e.radiusExpanded), + (e.innerRadiusRatio = n ? (e.radius - n) / e.radius : 0.6), + (e.innerRadius = + e.hasType("donut") || e.hasType("gauge") + ? e.radius * e.innerRadiusRatio + : 0), + (e.gaugeArcWidth = + n || + (r <= e.radius - e.innerRadius + ? e.radius - e.innerRadius + : r <= e.radius + ? r + : e.radius)); + }), + (E.updateArc = function() { + var e = this; + (e.svgArc = e.getSvgArc()), + (e.svgArcExpanded = e.getSvgArcExpanded()), + (e.svgArcExpandedSub = e.getSvgArcExpanded(0.98)); + }), + (E.updateAngle = function(e) { + var t, + n, + r, + i, + a = this, + o = a.config, + s = !1, + u = 0; + return o + ? (a + .pie(a.filterTargetsToShow(a.data.targets)) + .forEach(function(t) { + s || + t.data.id !== e.data.id || + ((s = !0), ((e = t).index = u)), + u++; + }), + isNaN(e.startAngle) && (e.startAngle = 0), + isNaN(e.endAngle) && (e.endAngle = e.startAngle), + a.isGaugeType(e.data) && + ((t = o.gauge_min), + (n = o.gauge_max), + (r = (Math.PI * (o.gauge_fullCircle ? 2 : 1)) / (n - t)), + (i = e.value < t ? 0 : e.value < n ? e.value - t : n - t), + (e.startAngle = o.gauge_startingAngle), + (e.endAngle = e.startAngle + r * i)), + s ? e : null) + : null; + }), + (E.getSvgArc = function() { + var e = this, + t = e.hasType("gauge"), + n = + e.gaugeArcWidth / e.filterTargetsToShow(e.data.targets).length, + r = e.d3.svg + .arc() + .outerRadius(function(r) { + return t ? e.radius - n * r.index : e.radius; + }) + .innerRadius(function(r) { + return t ? e.radius - n * (r.index + 1) : e.innerRadius; + }), + i = function(t, n) { + var i; + return n ? r(t) : (i = e.updateAngle(t)) ? r(i) : "M 0 0"; + }; + return (i.centroid = r.centroid), i; + }), + (E.getSvgArcExpanded = function(e) { + e = e || 1; + var t = this, + n = t.hasType("gauge"), + r = + t.gaugeArcWidth / t.filterTargetsToShow(t.data.targets).length, + i = Math.min( + t.radiusExpanded * e - t.radius, + 0.8 * r - 100 * (1 - e) + ), + a = t.d3.svg + .arc() + .outerRadius(function(a) { + return n ? t.radius - r * a.index + i : t.radiusExpanded * e; + }) + .innerRadius(function(e) { + return n ? t.radius - r * (e.index + 1) : t.innerRadius; + }); + return function(e) { + var n = t.updateAngle(e); + return n ? a(n) : "M 0 0"; + }; + }), + (E.getArc = function(e, t, n) { + return n || this.isArcType(e.data) ? this.svgArc(e, t) : "M 0 0"; + }), + (E.transformForArcLabel = function(e) { + var t, + n, + r, + i, + a, + o = this, + s = o.config, + l = o.updateAngle(e), + c = "", + d = o.hasType("gauge"); + if (l && !d) + (t = this.svgArc.centroid(l)), + (n = isNaN(t[0]) ? 0 : t[0]), + (r = isNaN(t[1]) ? 0 : t[1]), + (i = Math.sqrt(n * n + r * r)), + (c = + "translate(" + + n * + (a = + o.hasType("donut") && s.donut_label_ratio + ? u(s.donut_label_ratio) + ? s.donut_label_ratio(e, o.radius, i) + : s.donut_label_ratio + : o.hasType("pie") && s.pie_label_ratio + ? u(s.pie_label_ratio) + ? s.pie_label_ratio(e, o.radius, i) + : s.pie_label_ratio + : o.radius && i + ? ((36 / o.radius > 0.375 + ? 1.175 - 36 / o.radius + : 0.8) * + o.radius) / + i + : 0) + + "," + + r * a + + ")"); + else if ( + l && + d && + o.filterTargetsToShow(o.data.targets).length > 1 + ) { + var f = Math.sin(l.endAngle - Math.PI / 2); + c = + "translate(" + + (n = + Math.cos(l.endAngle - Math.PI / 2) * + (o.radiusExpanded + 25)) + + "," + + (r = f * (o.radiusExpanded + 15 - Math.abs(10 * f)) + 3) + + ")"; + } + return c; + }), + (E.getArcRatio = function(e) { + var t = this.config, + n = + Math.PI * + (this.hasType("gauge") && !t.gauge_fullCircle ? 1 : 2); + return e ? (e.endAngle - e.startAngle) / n : null; + }), + (E.convertToArcData = function(e) { + return this.addName({ + id: e.data.id, + value: e.value, + ratio: this.getArcRatio(e), + index: e.index + }); + }), + (E.textForArcLabel = function(e) { + var t, + n, + r, + i, + a, + o = this; + return o.shouldShowArcLabel() + ? ((n = (t = o.updateAngle(e)) ? t.value : null), + (r = o.getArcRatio(t)), + (i = e.data.id), + o.hasType("gauge") || o.meetsArcLabelThreshold(r) + ? (a = o.getArcLabelFormat()) + ? a(n, r, i) + : o.defaultArcValueFormat(n, r) + : "") + : ""; + }), + (E.textForGaugeMinMax = function(e, t) { + var n = this.getGaugeLabelExtents(); + return n ? n(e, t) : e; + }), + (E.expandArc = function(e) { + var t, + n = this; + n.transiting + ? (t = window.setInterval(function() { + n.transiting || + (window.clearInterval(t), + n.legend.selectAll(".c3-legend-item-focused").size() > 0 && + n.expandArc(e)); + }, 10)) + : ((e = n.mapToTargetIds(e)), + n.svg + .selectAll(n.selectorTargets(e, "." + r.chartArc)) + .each(function(e) { + n.shouldExpand(e.data.id) && + n.d3 + .select(this) + .selectAll("path") + .transition() + .duration(n.expandDuration(e.data.id)) + .attr("d", n.svgArcExpanded) + .transition() + .duration(2 * n.expandDuration(e.data.id)) + .attr("d", n.svgArcExpandedSub) + .each(function(e) { + n.isDonutType(e.data); + }); + })); + }), + (E.unexpandArc = function(e) { + var t = this; + t.transiting || + ((e = t.mapToTargetIds(e)), + t.svg + .selectAll(t.selectorTargets(e, "." + r.chartArc)) + .selectAll("path") + .transition() + .duration(function(e) { + return t.expandDuration(e.data.id); + }) + .attr("d", t.svgArc), + t.svg.selectAll("." + r.arc)); + }), + (E.expandDuration = function(e) { + var t = this.config; + return this.isDonutType(e) + ? t.donut_expand_duration + : this.isGaugeType(e) + ? t.gauge_expand_duration + : this.isPieType(e) + ? t.pie_expand_duration + : 50; + }), + (E.shouldExpand = function(e) { + var t = this.config; + return ( + (this.isDonutType(e) && t.donut_expand) || + (this.isGaugeType(e) && t.gauge_expand) || + (this.isPieType(e) && t.pie_expand) + ); + }), + (E.shouldShowArcLabel = function() { + var e = this.config, + t = !0; + return ( + this.hasType("donut") + ? (t = e.donut_label_show) + : this.hasType("pie") && (t = e.pie_label_show), + t + ); + }), + (E.meetsArcLabelThreshold = function(e) { + var t = this.config; + return ( + e >= + (this.hasType("donut") + ? t.donut_label_threshold + : t.pie_label_threshold) + ); + }), + (E.getArcLabelFormat = function() { + var e = this.config, + t = e.pie_label_format; + return ( + this.hasType("gauge") + ? (t = e.gauge_label_format) + : this.hasType("donut") && (t = e.donut_label_format), + t + ); + }), + (E.getGaugeLabelExtents = function() { + return this.config.gauge_label_extents; + }), + (E.getArcTitle = function() { + return this.hasType("donut") ? this.config.donut_title : ""; + }), + (E.updateTargetsForArc = function(e) { + var t, + n = this, + i = n.main, + a = n.classChartArc.bind(n), + o = n.classArcs.bind(n), + s = n.classFocus.bind(n); + (t = i + .select("." + r.chartArcs) + .selectAll("." + r.chartArc) + .data(n.pie(e)) + .attr("class", function(e) { + return a(e) + s(e.data); + }) + .enter() + .append("g") + .attr("class", a)) + .append("g") + .attr("class", o), + t + .append("text") + .attr("dy", n.hasType("gauge") ? "-.1em" : ".35em") + .style("opacity", 0) + .style("text-anchor", "middle") + .style("pointer-events", "none"); + }), + (E.initArc = function() { + var e = this; + (e.arcs = e.main + .select("." + r.chart) + .append("g") + .attr("class", r.chartArcs) + .attr("transform", e.getTranslate("arc"))), + e.arcs + .append("text") + .attr("class", r.chartArcsTitle) + .style("text-anchor", "middle") + .text(e.getArcTitle()); + }), + (E.redrawArc = function(e, t, n) { + var i, + a, + o, + s = this, + u = s.d3, + l = s.config, + c = s.main, + d = s.hasType("gauge"); + if ( + ((i = c + .selectAll("." + r.arcs) + .selectAll("." + r.arc) + .data(s.arcData.bind(s))) + .enter() + .append("path") + .attr("class", s.classArc.bind(s)) + .style("fill", function(e) { + return s.color(e.data); + }) + .style("cursor", function(e) { + return l.interaction_enabled && + l.data_selection_isselectable(e) + ? "pointer" + : null; + }) + .each(function(e) { + s.isGaugeType(e.data) && + (e.startAngle = e.endAngle = l.gauge_startingAngle), + (this._current = e); + }), + d && + ((o = c + .selectAll("." + r.arcs) + .selectAll("." + r.arcLabelLine) + .data(s.arcData.bind(s))) + .enter() + .append("rect") + .attr("class", function(e) { + return ( + r.arcLabelLine + + " " + + r.target + + " " + + r.target + + "-" + + e.data.id + ); + }), + 1 === s.filterTargetsToShow(s.data.targets).length + ? o.style("display", "none") + : o + .style("fill", function(e) { + return l.color_pattern.length > 0 + ? s.levelColor(e.data.values[0].value) + : s.color(e.data); + }) + .style("display", l.gauge_labelLine_show ? "" : "none") + .each(function(e) { + var t = 0, + n = 0, + r = 0, + i = ""; + if (s.hiddenTargetIds.indexOf(e.data.id) < 0) { + var a = s.updateAngle(e), + o = + (s.gaugeArcWidth / + s.filterTargetsToShow(s.data.targets).length) * + (a.index + 1), + l = a.endAngle - Math.PI / 2, + c = s.radius - o, + d = l - (0 === c ? 0 : 1 / c); + (t = s.radiusExpanded - s.radius + o), + (n = Math.cos(d) * c), + (r = Math.sin(d) * c), + (i = + "rotate(" + + (180 * l) / Math.PI + + ", " + + n + + ", " + + r + + ")"); + } + u.select(this) + .attr({ + x: n, + y: r, + width: t, + height: 2, + transform: i + }) + .style("stroke-dasharray", "0, " + (t + 2) + ", 0"); + })), + i + .attr("transform", function(e) { + return !s.isGaugeType(e.data) && n ? "scale(0)" : ""; + }) + .on( + "mouseover", + l.interaction_enabled + ? function(e) { + var t, n; + s.transiting || + ((t = s.updateAngle(e)) && + ((n = s.convertToArcData(t)), + s.expandArc(t.data.id), + s.api.focus(t.data.id), + s.toggleFocusLegend(t.data.id, !0), + s.config.data_onmouseover(n, this))); + } + : null + ) + .on( + "mousemove", + l.interaction_enabled + ? function(e) { + var t, + n = s.updateAngle(e); + n && + ((t = [s.convertToArcData(n)]), + s.showTooltip(t, this)); + } + : null + ) + .on( + "mouseout", + l.interaction_enabled + ? function(e) { + var t, n; + s.transiting || + ((t = s.updateAngle(e)) && + ((n = s.convertToArcData(t)), + s.unexpandArc(t.data.id), + s.api.revert(), + s.revertLegend(), + s.hideTooltip(), + s.config.data_onmouseout(n, this))); + } + : null + ) + .on( + "click", + l.interaction_enabled + ? function(e, t) { + var n, + r = s.updateAngle(e); + r && + ((n = s.convertToArcData(r)), + s.toggleShape && s.toggleShape(this, n, t), + s.config.data_onclick.call(s.api, n, this)); + } + : null + ) + .each(function() { + s.transiting = !0; + }) + .transition() + .duration(e) + .attrTween("d", function(e) { + var t, + n = s.updateAngle(e); + return n + ? (isNaN(this._current.startAngle) && + (this._current.startAngle = 0), + isNaN(this._current.endAngle) && + (this._current.endAngle = this._current.startAngle), + (t = u.interpolate(this._current, n)), + (this._current = t(0)), + function(n) { + var r = t(n); + return (r.data = e.data), s.getArc(r, !0); + }) + : function() { + return "M 0 0"; + }; + }) + .attr("transform", n ? "scale(1)" : "") + .style("fill", function(e) { + return s.levelColor + ? s.levelColor(e.data.values[0].value) + : s.color(e.data.id); + }) + .call(s.endall, function() { + s.transiting = !1; + }), + i + .exit() + .transition() + .duration(t) + .style("opacity", 0) + .remove(), + c + .selectAll("." + r.chartArc) + .select("text") + .style("opacity", 0) + .attr("class", function(e) { + return s.isGaugeType(e.data) ? r.gaugeValue : ""; + }) + .text(s.textForArcLabel.bind(s)) + .attr("transform", s.transformForArcLabel.bind(s)) + .style("font-size", function(e) { + return s.isGaugeType(e.data) && + 1 === s.filterTargetsToShow(s.data.targets).length + ? Math.round(s.radius / 5) + "px" + : ""; + }) + .transition() + .duration(e) + .style("opacity", function(e) { + return s.isTargetToShow(e.data.id) && s.isArcType(e.data) + ? 1 + : 0; + }), + c + .select("." + r.chartArcsTitle) + .style("opacity", s.hasType("donut") || d ? 1 : 0), + d) + ) { + var f = 0; + (a = s.arcs + .select("g." + r.chartArcsBackground) + .selectAll("path." + r.chartArcsBackground) + .data(s.data.targets)) + .enter() + .append("path"), + a + .attr("class", function(e, t) { + return ( + r.chartArcsBackground + + " " + + r.chartArcsBackground + + "-" + + t + ); + }) + .attr("d", function(e) { + if (s.hiddenTargetIds.indexOf(e.id) >= 0) return "M 0 0"; + var t = { + data: [{ value: l.gauge_max }], + startAngle: l.gauge_startingAngle, + endAngle: + -1 * + l.gauge_startingAngle * + (l.gauge_fullCircle ? Math.PI : 1), + index: f++ + }; + return s.getArc(t, !0, !0); + }), + a.exit().remove(), + s.arcs + .select("." + r.chartArcsGaugeUnit) + .attr("dy", ".75em") + .text(l.gauge_label_show ? l.gauge_units : ""), + s.arcs + .select("." + r.chartArcsGaugeMin) + .attr( + "dx", + -1 * + (s.innerRadius + + (s.radius - s.innerRadius) / + (l.gauge_fullCircle ? 1 : 2)) + + "px" + ) + .attr("dy", "1.2em") + .text( + l.gauge_label_show + ? s.textForGaugeMinMax(l.gauge_min, !1) + : "" + ), + s.arcs + .select("." + r.chartArcsGaugeMax) + .attr( + "dx", + s.innerRadius + + (s.radius - s.innerRadius) / + (l.gauge_fullCircle ? 1 : 2) + + "px" + ) + .attr("dy", "1.2em") + .text( + l.gauge_label_show + ? s.textForGaugeMinMax(l.gauge_max, !0) + : "" + ); + } + }), + (E.initGauge = function() { + var e = this.arcs; + this.hasType("gauge") && + (e.append("g").attr("class", r.chartArcsBackground), + e + .append("text") + .attr("class", r.chartArcsGaugeUnit) + .style("text-anchor", "middle") + .style("pointer-events", "none"), + e + .append("text") + .attr("class", r.chartArcsGaugeMin) + .style("text-anchor", "middle") + .style("pointer-events", "none"), + e + .append("text") + .attr("class", r.chartArcsGaugeMax) + .style("text-anchor", "middle") + .style("pointer-events", "none")); + }), + (E.getGaugeLabelHeight = function() { + return this.config.gauge_label_show ? 20 : 0; + }), + (E.hasCaches = function(e) { + for (var t = 0; t < e.length; t++) + if (!(e[t] in this.cache)) return !1; + return !0; + }), + (E.addCache = function(e, t) { + this.cache[e] = this.cloneTarget(t); + }), + (E.getCaches = function(e) { + var t, + n = []; + for (t = 0; t < e.length; t++) + e[t] in this.cache && n.push(this.cloneTarget(this.cache[e[t]])); + return n; + }), + (E.categoryName = function(e) { + var t = this.config; + return e < t.axis_x_categories.length ? t.axis_x_categories[e] : e; + }), + (E.generateClass = function(e, t) { + return " " + e + " " + e + this.getTargetSelectorSuffix(t); + }), + (E.classText = function(e) { + return this.generateClass(r.text, e.index); + }), + (E.classTexts = function(e) { + return this.generateClass(r.texts, e.id); + }), + (E.classShape = function(e) { + return this.generateClass(r.shape, e.index); + }), + (E.classShapes = function(e) { + return this.generateClass(r.shapes, e.id); + }), + (E.classLine = function(e) { + return this.classShape(e) + this.generateClass(r.line, e.id); + }), + (E.classLines = function(e) { + return this.classShapes(e) + this.generateClass(r.lines, e.id); + }), + (E.classCircle = function(e) { + return this.classShape(e) + this.generateClass(r.circle, e.index); + }), + (E.classCircles = function(e) { + return this.classShapes(e) + this.generateClass(r.circles, e.id); + }), + (E.classBar = function(e) { + return this.classShape(e) + this.generateClass(r.bar, e.index); + }), + (E.classBars = function(e) { + return this.classShapes(e) + this.generateClass(r.bars, e.id); + }), + (E.classArc = function(e) { + return ( + this.classShape(e.data) + this.generateClass(r.arc, e.data.id) + ); + }), + (E.classArcs = function(e) { + return ( + this.classShapes(e.data) + this.generateClass(r.arcs, e.data.id) + ); + }), + (E.classArea = function(e) { + return this.classShape(e) + this.generateClass(r.area, e.id); + }), + (E.classAreas = function(e) { + return this.classShapes(e) + this.generateClass(r.areas, e.id); + }), + (E.classRegion = function(e, t) { + return ( + this.generateClass(r.region, t) + + " " + + ("class" in e ? e.class : "") + ); + }), + (E.classEvent = function(e) { + return this.generateClass(r.eventRect, e.index); + }), + (E.classTarget = function(e) { + var t = this.config.data_classes[e], + n = ""; + return ( + t && (n = " " + r.target + "-" + t), + this.generateClass(r.target, e) + n + ); + }), + (E.classFocus = function(e) { + return this.classFocused(e) + this.classDefocused(e); + }), + (E.classFocused = function(e) { + return ( + " " + (this.focusedTargetIds.indexOf(e.id) >= 0 ? r.focused : "") + ); + }), + (E.classDefocused = function(e) { + return ( + " " + + (this.defocusedTargetIds.indexOf(e.id) >= 0 ? r.defocused : "") + ); + }), + (E.classChartText = function(e) { + return r.chartText + this.classTarget(e.id); + }), + (E.classChartLine = function(e) { + return r.chartLine + this.classTarget(e.id); + }), + (E.classChartBar = function(e) { + return r.chartBar + this.classTarget(e.id); + }), + (E.classChartArc = function(e) { + return r.chartArc + this.classTarget(e.data.id); + }), + (E.getTargetSelectorSuffix = function(e) { + return e || 0 === e + ? ("-" + e).replace( + /[\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g, + "-" + ) + : ""; + }), + (E.selectorTarget = function(e, t) { + return (t || "") + "." + r.target + this.getTargetSelectorSuffix(e); + }), + (E.selectorTargets = function(e, t) { + var n = this; + return (e = e || []).length + ? e.map(function(e) { + return n.selectorTarget(e, t); + }) + : null; + }), + (E.selectorLegend = function(e) { + return "." + r.legendItem + this.getTargetSelectorSuffix(e); + }), + (E.selectorLegends = function(e) { + var t = this; + return e && e.length + ? e.map(function(e) { + return t.selectorLegend(e); + }) + : null; + }), + (E.getClipPath = function(e) { + return ( + "url(" + + (window.navigator.appVersion.toLowerCase().indexOf("msie 9.") >= 0 + ? "" + : document.URL.split("#")[0]) + + "#" + + e + + ")" + ); + }), + (E.appendClip = function(e, t) { + return e + .append("clipPath") + .attr("id", t) + .append("rect"); + }), + (E.getAxisClipX = function(e) { + var t = Math.max(30, this.margin.left); + return e ? -(1 + t) : -(t - 1); + }), + (E.getAxisClipY = function(e) { + return e ? -20 : -this.margin.top; + }), + (E.getXAxisClipX = function() { + return this.getAxisClipX(!this.config.axis_rotated); + }), + (E.getXAxisClipY = function() { + return this.getAxisClipY(!this.config.axis_rotated); + }), + (E.getYAxisClipX = function() { + return this.config.axis_y_inner + ? -1 + : this.getAxisClipX(this.config.axis_rotated); + }), + (E.getYAxisClipY = function() { + return this.getAxisClipY(this.config.axis_rotated); + }), + (E.getAxisClipWidth = function(e) { + var t = Math.max(30, this.margin.left), + n = Math.max(30, this.margin.right); + return e ? this.width + 2 + t + n : this.margin.left + 20; + }), + (E.getAxisClipHeight = function(e) { + return ( + (e ? this.margin.bottom : this.margin.top + this.height) + 20 + ); + }), + (E.getXAxisClipWidth = function() { + return this.getAxisClipWidth(!this.config.axis_rotated); + }), + (E.getXAxisClipHeight = function() { + return this.getAxisClipHeight(!this.config.axis_rotated); + }), + (E.getYAxisClipWidth = function() { + return ( + this.getAxisClipWidth(this.config.axis_rotated) + + (this.config.axis_y_inner ? 20 : 0) + ); + }), + (E.getYAxisClipHeight = function() { + return this.getAxisClipHeight(this.config.axis_rotated); + }), + (E.generateColor = function() { + var e = this.config, + t = this.d3, + n = e.data_colors, + r = v(e.color_pattern) + ? e.color_pattern + : t.scale.category10().range(), + i = e.data_color, + a = []; + return function(e) { + var t, + o = e.id || (e.data && e.data.id) || e; + return ( + n[o] instanceof Function + ? (t = n[o](e)) + : n[o] + ? (t = n[o]) + : (a.indexOf(o) < 0 && a.push(o), + (t = r[a.indexOf(o) % r.length]), + (n[o] = t)), + i instanceof Function ? i(t, e) : t + ); + }; + }), + (E.generateLevelColor = function() { + var e = this.config, + t = e.color_pattern, + n = e.color_threshold, + r = "value" === n.unit, + i = n.values && n.values.length ? n.values : [], + a = n.max || 100; + return v(e.color_threshold) + ? function(e) { + var n, + o = t[t.length - 1]; + for (n = 0; n < i.length; n++) + if ((r ? e : (100 * e) / a) < i[n]) { + o = t[n]; + break; + } + return o; + } + : null; + }), + (E.getDefaultConfig = function() { + var e = { + bindto: "#chart", + svg_classname: void 0, + size_width: void 0, + size_height: void 0, + padding_left: void 0, + padding_right: void 0, + padding_top: void 0, + padding_bottom: void 0, + resize_auto: !0, + zoom_enabled: !1, + zoom_extent: void 0, + zoom_privileged: !1, + zoom_rescale: !1, + zoom_onzoom: function() {}, + zoom_onzoomstart: function() {}, + zoom_onzoomend: function() {}, + zoom_x_min: void 0, + zoom_x_max: void 0, + interaction_brighten: !0, + interaction_enabled: !0, + onmouseover: function() {}, + onmouseout: function() {}, + onresize: function() {}, + onresized: function() {}, + oninit: function() {}, + onrendered: function() {}, + transition_duration: 350, + data_x: void 0, + data_xs: {}, + data_xFormat: "%Y-%m-%d", + data_xLocaltime: !0, + data_xSort: !0, + data_idConverter: function(e) { + return e; + }, + data_names: {}, + data_classes: {}, + data_groups: [], + data_axes: {}, + data_type: void 0, + data_types: {}, + data_labels: {}, + data_order: "desc", + data_regions: {}, + data_color: void 0, + data_colors: {}, + data_hide: !1, + data_filter: void 0, + data_selection_enabled: !1, + data_selection_grouped: !1, + data_selection_isselectable: function() { + return !0; + }, + data_selection_multiple: !0, + data_selection_draggable: !1, + data_onclick: function() {}, + data_onmouseover: function() {}, + data_onmouseout: function() {}, + data_onselected: function() {}, + data_onunselected: function() {}, + data_url: void 0, + data_headers: void 0, + data_json: void 0, + data_rows: void 0, + data_columns: void 0, + data_mimeType: void 0, + data_keys: void 0, + data_empty_label_text: "", + subchart_show: !1, + subchart_size_height: 60, + subchart_axis_x_show: !0, + subchart_onbrush: function() {}, + color_pattern: [], + color_threshold: {}, + legend_show: !0, + legend_hide: !1, + legend_position: "bottom", + legend_inset_anchor: "top-left", + legend_inset_x: 10, + legend_inset_y: 0, + legend_inset_step: void 0, + legend_item_onclick: void 0, + legend_item_onmouseover: void 0, + legend_item_onmouseout: void 0, + legend_equally: !1, + legend_padding: 0, + legend_item_tile_width: 10, + legend_item_tile_height: 10, + axis_rotated: !1, + axis_x_show: !0, + axis_x_type: "indexed", + axis_x_localtime: !0, + axis_x_categories: [], + axis_x_tick_centered: !1, + axis_x_tick_format: void 0, + axis_x_tick_culling: {}, + axis_x_tick_culling_max: 10, + axis_x_tick_count: void 0, + axis_x_tick_fit: !0, + axis_x_tick_values: null, + axis_x_tick_rotate: 0, + axis_x_tick_outer: !0, + axis_x_tick_multiline: !0, + axis_x_tick_multilineMax: 0, + axis_x_tick_width: null, + axis_x_max: void 0, + axis_x_min: void 0, + axis_x_padding: {}, + axis_x_height: void 0, + axis_x_extent: void 0, + axis_x_label: {}, + axis_x_inner: void 0, + axis_y_show: !0, + axis_y_type: void 0, + axis_y_max: void 0, + axis_y_min: void 0, + axis_y_inverted: !1, + axis_y_center: void 0, + axis_y_inner: void 0, + axis_y_label: {}, + axis_y_tick_format: void 0, + axis_y_tick_outer: !0, + axis_y_tick_values: null, + axis_y_tick_rotate: 0, + axis_y_tick_count: void 0, + axis_y_tick_time_value: void 0, + axis_y_tick_time_interval: void 0, + axis_y_padding: {}, + axis_y_default: void 0, + axis_y2_show: !1, + axis_y2_max: void 0, + axis_y2_min: void 0, + axis_y2_inverted: !1, + axis_y2_center: void 0, + axis_y2_inner: void 0, + axis_y2_label: {}, + axis_y2_tick_format: void 0, + axis_y2_tick_outer: !0, + axis_y2_tick_values: null, + axis_y2_tick_count: void 0, + axis_y2_padding: {}, + axis_y2_default: void 0, + grid_x_show: !1, + grid_x_type: "tick", + grid_x_lines: [], + grid_y_show: !1, + grid_y_lines: [], + grid_y_ticks: 10, + grid_focus_show: !0, + grid_lines_front: !0, + point_show: !0, + point_r: 2.5, + point_sensitivity: 10, + point_focus_expand_enabled: !0, + point_focus_expand_r: void 0, + point_select_r: void 0, + line_connectNull: !1, + line_step_type: "step", + bar_width: void 0, + bar_width_ratio: 0.6, + bar_width_max: void 0, + bar_zerobased: !0, + bar_space: 0, + area_zerobased: !0, + area_above: !1, + pie_label_show: !0, + pie_label_format: void 0, + pie_label_threshold: 0.05, + pie_label_ratio: void 0, + pie_expand: {}, + pie_expand_duration: 50, + gauge_fullCircle: !1, + gauge_label_show: !0, + gauge_labelLine_show: !0, + gauge_label_format: void 0, + gauge_min: 0, + gauge_max: 100, + gauge_startingAngle: (-1 * Math.PI) / 2, + gauge_label_extents: void 0, + gauge_units: void 0, + gauge_width: void 0, + gauge_arcs_minWidth: 5, + gauge_expand: {}, + gauge_expand_duration: 50, + donut_label_show: !0, + donut_label_format: void 0, + donut_label_threshold: 0.05, + donut_label_ratio: void 0, + donut_width: void 0, + donut_title: "", + donut_expand: {}, + donut_expand_duration: 50, + spline_interpolation_type: "cardinal", + regions: [], + tooltip_show: !0, + tooltip_grouped: !0, + tooltip_order: void 0, + tooltip_format_title: void 0, + tooltip_format_name: void 0, + tooltip_format_value: void 0, + tooltip_position: void 0, + tooltip_contents: function(e, t, n, r) { + return this.getTooltipContent + ? this.getTooltipContent(e, t, n, r) + : ""; + }, + tooltip_init_show: !1, + tooltip_init_x: 0, + tooltip_init_position: { top: "0px", left: "50px" }, + tooltip_onshow: function() {}, + tooltip_onhide: function() {}, + title_text: void 0, + title_padding: { top: 0, right: 0, bottom: 0, left: 0 }, + title_position: "top-center" + }; + return ( + Object.keys(this.additionalConfig).forEach(function(t) { + e[t] = this.additionalConfig[t]; + }, this), + e + ); + }), + (E.additionalConfig = {}), + (E.loadConfig = function(e) { + var t, + n, + r, + a = this.config; + Object.keys(a).forEach(function(o) { + (t = e), + (n = o.split("_")), + (r = (function e() { + var r = n.shift(); + return r && + t && + "object" === + ("undefined" === typeof t ? "undefined" : i(t)) && + r in t + ? ((t = t[r]), e()) + : r + ? void 0 + : t; + })()), + f(r) && (a[o] = r); + }); + }), + (E.convertUrlToData = function(e, t, n, r, i) { + var a = this, + o = t || "csv", + s = a.d3.xhr(e); + n && + Object.keys(n).forEach(function(e) { + s.header(e, n[e]); + }), + s.get(function(e, t) { + var n, + s = t.response || t.responseText; + if (!t) + throw new Error( + e.responseURL + " " + e.status + " (" + e.statusText + ")" + ); + (n = + "json" === o + ? a.convertJsonToData(JSON.parse(s), r) + : "tsv" === o + ? a.convertTsvToData(s) + : a.convertCsvToData(s)), + i.call(a, n); + }); + }), + (E.convertXsvToData = function(e, t) { + var n, + r = t.parseRows(e); + return ( + 1 === r.length + ? ((n = [{}]), + r[0].forEach(function(e) { + n[0][e] = null; + })) + : (n = t.parse(e)), + n + ); + }), + (E.convertCsvToData = function(e) { + return this.convertXsvToData(e, this.d3.csv); + }), + (E.convertTsvToData = function(e) { + return this.convertXsvToData(e, this.d3.tsv); + }), + (E.convertJsonToData = function(e, t) { + var n, + r, + i = this, + a = []; + return ( + t + ? (t.x + ? ((n = t.value.concat(t.x)), (i.config.data_x = t.x)) + : (n = t.value), + a.push(n), + e.forEach(function(e) { + var t = []; + n.forEach(function(n) { + var r = i.findValueInJson(e, n); + d(r) && (r = null), t.push(r); + }), + a.push(t); + }), + (r = i.convertRowsToData(a))) + : (Object.keys(e).forEach(function(t) { + a.push([t].concat(e[t])); + }), + (r = i.convertColumnsToData(a))), + r + ); + }), + (E.findValueInJson = function(e, t) { + for ( + var n = (t = (t = t.replace(/\[(\w+)\]/g, ".$1")).replace( + /^\./, + "" + )).split("."), + r = 0; + r < n.length; + ++r + ) { + var i = n[r]; + if (!(i in e)) return; + e = e[i]; + } + return e; + }), + (E.convertRowsToData = function(e) { + for (var t = [], n = e[0], r = 1; r < e.length; r++) { + for (var i = {}, a = 0; a < e[r].length; a++) { + if (d(e[r][a])) + throw new Error( + "Source data is missing a component at (" + + r + + "," + + a + + ")!" + ); + i[n[a]] = e[r][a]; + } + t.push(i); + } + return t; + }), + (E.convertColumnsToData = function(e) { + for (var t = [], n = 0; n < e.length; n++) + for (var r = e[n][0], i = 1; i < e[n].length; i++) { + if ((d(t[i - 1]) && (t[i - 1] = {}), d(e[n][i]))) + throw new Error( + "Source data is missing a component at (" + + n + + "," + + i + + ")!" + ); + t[i - 1][r] = e[n][i]; + } + return t; + }), + (E.convertDataToTargets = function(e, t) { + var n, + r = this, + i = r.config, + a = r.d3.keys(e[0]).filter(r.isNotX, r), + o = r.d3.keys(e[0]).filter(r.isX, r); + return ( + a.forEach(function(n) { + var a = r.getXKey(n); + r.isCustomX() || r.isTimeSeries() + ? o.indexOf(a) >= 0 + ? (r.data.xs[n] = (t && r.data.xs[n] + ? r.data.xs[n] + : [] + ).concat( + e + .map(function(e) { + return e[a]; + }) + .filter(s) + .map(function(e, t) { + return r.generateTargetX(e, n, t); + }) + )) + : i.data_x + ? (r.data.xs[n] = r.getOtherTargetXs()) + : v(i.data_xs) && + (r.data.xs[n] = r.getXValuesOfXKey(a, r.data.targets)) + : (r.data.xs[n] = e.map(function(e, t) { + return t; + })); + }), + a.forEach(function(e) { + if (!r.data.xs[e]) + throw new Error('x is not defined for id = "' + e + '".'); + }), + (n = a.map(function(t, n) { + var a = i.data_idConverter(t); + return { + id: a, + id_org: t, + values: e + .map(function(e, o) { + var s, + u = e[r.getXKey(t)], + l = null === e[t] || isNaN(e[t]) ? null : +e[t]; + return ( + r.isCustomX() && r.isCategorized() && !d(u) + ? (0 === n && 0 === o && (i.axis_x_categories = []), + -1 === (s = i.axis_x_categories.indexOf(u)) && + ((s = i.axis_x_categories.length), + i.axis_x_categories.push(u))) + : (s = r.generateTargetX(u, t, o)), + (d(e[t]) || r.data.xs[t].length <= o) && (s = void 0), + { x: s, value: l, id: a } + ); + }) + .filter(function(e) { + return f(e.x); + }) + }; + })).forEach(function(e) { + var t; + i.data_xSort && + (e.values = e.values.sort(function(e, t) { + return ( + (e.x || 0 === e.x ? e.x : 1 / 0) - + (t.x || 0 === t.x ? t.x : 1 / 0) + ); + })), + (t = 0), + e.values.forEach(function(e) { + e.index = t++; + }), + r.data.xs[e.id].sort(function(e, t) { + return e - t; + }); + }), + (r.hasNegativeValue = r.hasNegativeValueInTargets(n)), + (r.hasPositiveValue = r.hasPositiveValueInTargets(n)), + i.data_type && + r.setTargetType( + r.mapToIds(n).filter(function(e) { + return !(e in i.data_types); + }), + i.data_type + ), + n.forEach(function(e) { + r.addCache(e.id_org, e); + }), + n + ); + }), + (E.isX = function(e) { + var t = this.config; + return ( + (t.data_x && e === t.data_x) || (v(t.data_xs) && x(t.data_xs, e)) + ); + }), + (E.isNotX = function(e) { + return !this.isX(e); + }), + (E.getXKey = function(e) { + var t = this.config; + return t.data_x ? t.data_x : v(t.data_xs) ? t.data_xs[e] : null; + }), + (E.getXValuesOfXKey = function(e, t) { + var n, + r = this; + return ( + (t && v(t) ? r.mapToIds(t) : []).forEach(function(t) { + r.getXKey(t) === e && (n = r.data.xs[t]); + }), + n + ); + }), + (E.getIndexByX = function(e) { + var t = this.filterByX(this.data.targets, e); + return t.length ? t[0].index : null; + }), + (E.getXValue = function(e, t) { + return e in this.data.xs && this.data.xs[e] && s(this.data.xs[e][t]) + ? this.data.xs[e][t] + : t; + }), + (E.getOtherTargetXs = function() { + var e = Object.keys(this.data.xs); + return e.length ? this.data.xs[e[0]] : null; + }), + (E.getOtherTargetX = function(e) { + var t = this.getOtherTargetXs(); + return t && e < t.length ? t[e] : null; + }), + (E.addXs = function(e) { + var t = this; + Object.keys(e).forEach(function(n) { + t.config.data_xs[n] = e[n]; + }); + }), + (E.hasMultipleX = function(e) { + return ( + this.d3 + .set( + Object.keys(e).map(function(t) { + return e[t]; + }) + ) + .size() > 1 + ); + }), + (E.isMultipleX = function() { + return ( + v(this.config.data_xs) || + !this.config.data_xSort || + this.hasType("scatter") + ); + }), + (E.addName = function(e) { + var t; + return ( + e && + ((t = this.config.data_names[e.id]), + (e.name = void 0 !== t ? t : e.id)), + e + ); + }), + (E.getValueOnIndex = function(e, t) { + var n = e.filter(function(e) { + return e.index === t; + }); + return n.length ? n[0] : null; + }), + (E.updateTargetX = function(e, t) { + var n = this; + e.forEach(function(e) { + e.values.forEach(function(r, i) { + r.x = n.generateTargetX(t[i], e.id, i); + }), + (n.data.xs[e.id] = t); + }); + }), + (E.updateTargetXs = function(e, t) { + var n = this; + e.forEach(function(e) { + t[e.id] && n.updateTargetX([e], t[e.id]); + }); + }), + (E.generateTargetX = function(e, t, n) { + var r = this; + return r.isTimeSeries() + ? e + ? r.parseDate(e) + : r.parseDate(r.getXValue(t, n)) + : r.isCustomX() && !r.isCategorized() + ? s(e) + ? +e + : r.getXValue(t, n) + : n; + }), + (E.cloneTarget = function(e) { + return { + id: e.id, + id_org: e.id_org, + values: e.values.map(function(e) { + return { x: e.x, value: e.value, id: e.id }; + }) + }; + }), + (E.updateXs = function() { + var e = this; + e.data.targets.length && + ((e.xs = []), + e.data.targets[0].values.forEach(function(t) { + e.xs[t.index] = t.x; + })); + }), + (E.getPrevX = function(e) { + var t = this.xs[e - 1]; + return "undefined" !== typeof t ? t : null; + }), + (E.getNextX = function(e) { + var t = this.xs[e + 1]; + return "undefined" !== typeof t ? t : null; + }), + (E.getMaxDataCount = function() { + return this.d3.max(this.data.targets, function(e) { + return e.values.length; + }); + }), + (E.getMaxDataCountTarget = function(e) { + var t, + n = e.length, + r = 0; + return ( + n > 1 + ? e.forEach(function(e) { + e.values.length > r && ((t = e), (r = e.values.length)); + }) + : (t = n ? e[0] : null), + t + ); + }), + (E.getEdgeX = function(e) { + return e.length + ? [ + this.d3.min(e, function(e) { + return e.values[0].x; + }), + this.d3.max(e, function(e) { + return e.values[e.values.length - 1].x; + }) + ] + : [0, 0]; + }), + (E.mapToIds = function(e) { + return e.map(function(e) { + return e.id; + }); + }), + (E.mapToTargetIds = function(e) { + return e ? [].concat(e) : this.mapToIds(this.data.targets); + }), + (E.hasTarget = function(e, t) { + var n, + r = this.mapToIds(e); + for (n = 0; n < r.length; n++) if (r[n] === t) return !0; + return !1; + }), + (E.isTargetToShow = function(e) { + return this.hiddenTargetIds.indexOf(e) < 0; + }), + (E.isLegendToShow = function(e) { + return this.hiddenLegendIds.indexOf(e) < 0; + }), + (E.filterTargetsToShow = function(e) { + var t = this; + return e.filter(function(e) { + return t.isTargetToShow(e.id); + }); + }), + (E.mapTargetsToUniqueXs = function(e) { + var t = this.d3 + .set( + this.d3.merge( + e.map(function(e) { + return e.values.map(function(e) { + return +e.x; + }); + }) + ) + ) + .values(); + return (t = this.isTimeSeries() + ? t.map(function(e) { + return new Date(+e); + }) + : t.map(function(e) { + return +e; + })).sort(function(e, t) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + }); + }), + (E.addHiddenTargetIds = function(e) { + e = e instanceof Array ? e : new Array(e); + for (var t = 0; t < e.length; t++) + this.hiddenTargetIds.indexOf(e[t]) < 0 && + (this.hiddenTargetIds = this.hiddenTargetIds.concat(e[t])); + }), + (E.removeHiddenTargetIds = function(e) { + this.hiddenTargetIds = this.hiddenTargetIds.filter(function(t) { + return e.indexOf(t) < 0; + }); + }), + (E.addHiddenLegendIds = function(e) { + e = e instanceof Array ? e : new Array(e); + for (var t = 0; t < e.length; t++) + this.hiddenLegendIds.indexOf(e[t]) < 0 && + (this.hiddenLegendIds = this.hiddenLegendIds.concat(e[t])); + }), + (E.removeHiddenLegendIds = function(e) { + this.hiddenLegendIds = this.hiddenLegendIds.filter(function(t) { + return e.indexOf(t) < 0; + }); + }), + (E.getValuesAsIdKeyed = function(e) { + var t = {}; + return ( + e.forEach(function(e) { + (t[e.id] = []), + e.values.forEach(function(n) { + t[e.id].push(n.value); + }); + }), + t + ); + }), + (E.checkValueInTargets = function(e, t) { + var n, + r, + i, + a = Object.keys(e); + for (n = 0; n < a.length; n++) + for (i = e[a[n]].values, r = 0; r < i.length; r++) + if (t(i[r].value)) return !0; + return !1; + }), + (E.hasNegativeValueInTargets = function(e) { + return this.checkValueInTargets(e, function(e) { + return e < 0; + }); + }), + (E.hasPositiveValueInTargets = function(e) { + return this.checkValueInTargets(e, function(e) { + return e > 0; + }); + }), + (E.isOrderDesc = function() { + var e = this.config; + return ( + "string" === typeof e.data_order && + "desc" === e.data_order.toLowerCase() + ); + }), + (E.isOrderAsc = function() { + var e = this.config; + return ( + "string" === typeof e.data_order && + "asc" === e.data_order.toLowerCase() + ); + }), + (E.getOrderFunction = function() { + var e = this.config, + t = this.isOrderAsc(), + n = this.isOrderDesc(); + if (t || n) + return function(e, t) { + var r = function(e, t) { + return e + Math.abs(t.value); + }, + i = e.values.reduce(r, 0), + a = t.values.reduce(r, 0); + return n ? a - i : i - a; + }; + if (u(e.data_order)) return e.data_order; + if (l(e.data_order)) { + var r = e.data_order; + return function(e, t) { + return r.indexOf(e.id) - r.indexOf(t.id); + }; + } + }), + (E.orderTargets = function(e) { + var t = this.getOrderFunction(); + return ( + t && + (e.sort(t), + (this.isOrderAsc() || this.isOrderDesc()) && e.reverse()), + e + ); + }), + (E.filterByX = function(e, t) { + return this.d3 + .merge( + e.map(function(e) { + return e.values; + }) + ) + .filter(function(e) { + return e.x - t === 0; + }); + }), + (E.filterRemoveNull = function(e) { + return e.filter(function(e) { + return s(e.value); + }); + }), + (E.filterByXDomain = function(e, t) { + return e.map(function(e) { + return { + id: e.id, + id_org: e.id_org, + values: e.values.filter(function(e) { + return t[0] <= e.x && e.x <= t[1]; + }) + }; + }); + }), + (E.hasDataLabel = function() { + var e = this.config; + return ( + !("boolean" !== typeof e.data_labels || !e.data_labels) || + !("object" !== i(e.data_labels) || !v(e.data_labels)) + ); + }), + (E.getDataLabelLength = function(e, t, n) { + var r = this, + i = [0, 0]; + return ( + r.selectChart + .select("svg") + .selectAll(".dummy") + .data([e, t]) + .enter() + .append("text") + .text(function(e) { + return r.dataLabelFormat(e.id)(e); + }) + .each(function(e, t) { + i[t] = 1.3 * this.getBoundingClientRect()[n]; + }) + .remove(), + i + ); + }), + (E.isNoneArc = function(e) { + return this.hasTarget(this.data.targets, e.id); + }), + (E.isArc = function(e) { + return "data" in e && this.hasTarget(this.data.targets, e.data.id); + }), + (E.findSameXOfValues = function(e, t) { + var n, + r = e[t].x, + i = []; + for (n = t - 1; n >= 0 && r === e[n].x; n--) i.push(e[n]); + for (n = t; n < e.length && r === e[n].x; n++) i.push(e[n]); + return i; + }), + (E.findClosestFromTargets = function(e, t) { + var n, + r = this; + return ( + (n = e.map(function(e) { + return r.findClosest(e.values, t); + })), + r.findClosest(n, t) + ); + }), + (E.findClosest = function(e, t) { + var n, + i = this, + a = i.config.point_sensitivity; + return ( + e + .filter(function(e) { + return e && i.isBarType(e.id); + }) + .forEach(function(e) { + var t = i.main + .select( + "." + + r.bars + + i.getTargetSelectorSuffix(e.id) + + " ." + + r.bar + + "-" + + e.index + ) + .node(); + !n && i.isWithinBar(t) && (n = e); + }), + e + .filter(function(e) { + return e && !i.isBarType(e.id); + }) + .forEach(function(e) { + var r = i.dist(e, t); + r < a && ((a = r), (n = e)); + }), + n + ); + }), + (E.dist = function(e, t) { + var n = this.config, + r = n.axis_rotated ? 1 : 0, + i = n.axis_rotated ? 0 : 1, + a = this.circleY(e, e.index), + o = this.x(e.x); + return Math.sqrt(Math.pow(o - t[r], 2) + Math.pow(a - t[i], 2)); + }), + (E.convertValuesToStep = function(e) { + var t, + n = [].concat(e); + if (!this.isCategorized()) return e; + for (t = e.length + 1; 0 < t; t--) n[t] = n[t - 1]; + return ( + (n[0] = { x: n[0].x - 1, value: n[0].value, id: n[0].id }), + (n[e.length + 1] = { + x: n[e.length].x + 1, + value: n[e.length].value, + id: n[e.length].id + }), + n + ); + }), + (E.updateDataAttributes = function(e, t) { + var n = this.config["data_" + e]; + return "undefined" === typeof t + ? n + : (Object.keys(t).forEach(function(e) { + n[e] = t[e]; + }), + this.redraw({ withLegend: !0 }), + n); + }), + (E.load = function(e, t) { + var n = this; + e && + (t.filter && (e = e.filter(t.filter)), + (t.type || t.types) && + e.forEach(function(e) { + var r = t.types && t.types[e.id] ? t.types[e.id] : t.type; + n.setTargetType(e.id, r); + }), + n.data.targets.forEach(function(t) { + for (var n = 0; n < e.length; n++) + if (t.id === e[n].id) { + (t.values = e[n].values), e.splice(n, 1); + break; + } + }), + (n.data.targets = n.data.targets.concat(e))), + n.updateTargets(n.data.targets), + n.redraw({ + withUpdateOrgXDomain: !0, + withUpdateXDomain: !0, + withLegend: !0 + }), + t.done && t.done(); + }), + (E.loadFromArgs = function(e) { + var t = this; + e.data + ? t.load(t.convertDataToTargets(e.data), e) + : e.url + ? t.convertUrlToData( + e.url, + e.mimeType, + e.headers, + e.keys, + function(n) { + t.load(t.convertDataToTargets(n), e); + } + ) + : e.json + ? t.load( + t.convertDataToTargets( + t.convertJsonToData(e.json, e.keys) + ), + e + ) + : e.rows + ? t.load( + t.convertDataToTargets(t.convertRowsToData(e.rows)), + e + ) + : e.columns + ? t.load( + t.convertDataToTargets( + t.convertColumnsToData(e.columns) + ), + e + ) + : t.load(null, e); + }), + (E.unload = function(e, t) { + var n = this; + t || (t = function() {}), + (e = e.filter(function(e) { + return n.hasTarget(n.data.targets, e); + })) && 0 !== e.length + ? (n.svg + .selectAll( + e.map(function(e) { + return n.selectorTarget(e); + }) + ) + .transition() + .style("opacity", 0) + .remove() + .call(n.endall, t), + e.forEach(function(e) { + (n.withoutFadeIn[e] = !1), + n.legend && + n.legend + .selectAll( + "." + r.legendItem + n.getTargetSelectorSuffix(e) + ) + .remove(), + (n.data.targets = n.data.targets.filter(function(t) { + return t.id !== e; + })); + })) + : t(); + }), + (E.getYDomainMin = function(e) { + var t, + n, + r, + i, + a, + o, + s = this, + u = s.config, + l = s.mapToIds(e), + c = s.getValuesAsIdKeyed(e); + if (u.data_groups.length > 0) + for ( + o = s.hasNegativeValueInTargets(e), t = 0; + t < u.data_groups.length; + t++ + ) + if ( + 0 !== + (i = u.data_groups[t].filter(function(e) { + return l.indexOf(e) >= 0; + })).length + ) + for ( + r = i[0], + o && + c[r] && + c[r].forEach(function(e, t) { + c[r][t] = e < 0 ? e : 0; + }), + n = 1; + n < i.length; + n++ + ) + (a = i[n]), + c[a] && + c[a].forEach(function(e, t) { + s.axis.getId(a) !== s.axis.getId(r) || + !c[r] || + (o && +e > 0) || + (c[r][t] += +e); + }); + return s.d3.min( + Object.keys(c).map(function(e) { + return s.d3.min(c[e]); + }) + ); + }), + (E.getYDomainMax = function(e) { + var t, + n, + r, + i, + a, + o, + s = this, + u = s.config, + l = s.mapToIds(e), + c = s.getValuesAsIdKeyed(e); + if (u.data_groups.length > 0) + for ( + o = s.hasPositiveValueInTargets(e), t = 0; + t < u.data_groups.length; + t++ + ) + if ( + 0 !== + (i = u.data_groups[t].filter(function(e) { + return l.indexOf(e) >= 0; + })).length + ) + for ( + r = i[0], + o && + c[r] && + c[r].forEach(function(e, t) { + c[r][t] = e > 0 ? e : 0; + }), + n = 1; + n < i.length; + n++ + ) + (a = i[n]), + c[a] && + c[a].forEach(function(e, t) { + s.axis.getId(a) !== s.axis.getId(r) || + !c[r] || + (o && +e < 0) || + (c[r][t] += +e); + }); + return s.d3.max( + Object.keys(c).map(function(e) { + return s.d3.max(c[e]); + }) + ); + }), + (E.getYDomain = function(e, t, n) { + var r, + i, + a, + o, + u, + l, + c, + d, + f, + h, + p = this, + m = p.config, + y = e.filter(function(e) { + return p.axis.getId(e.id) === t; + }), + x = n ? p.filterByXDomain(y, n) : y, + b = "y2" === t ? m.axis_y2_min : m.axis_y_min, + _ = "y2" === t ? m.axis_y2_max : m.axis_y_max, + w = p.getYDomainMin(x), + S = p.getYDomainMax(x), + T = "y2" === t ? m.axis_y2_center : m.axis_y_center, + E = + (p.hasType("bar", x) && m.bar_zerobased) || + (p.hasType("area", x) && m.area_zerobased), + C = "y2" === t ? m.axis_y2_inverted : m.axis_y_inverted, + O = p.hasDataLabel() && m.axis_rotated, + P = p.hasDataLabel() && !m.axis_rotated; + return ( + (w = s(b) ? b : s(_) ? (w < _ ? w : _ - 10) : w), + (S = s(_) ? _ : s(b) ? (b < S ? S : b + 10) : S), + 0 === x.length + ? "y2" === t + ? p.y2.domain() + : p.y.domain() + : (isNaN(w) && (w = 0), + isNaN(S) && (S = w), + w === S && (w < 0 ? (S = 0) : (w = 0)), + (f = w >= 0 && S >= 0), + (h = w <= 0 && S <= 0), + ((s(b) && f) || (s(_) && h)) && (E = !1), + E && (f && (w = 0), h && (S = 0)), + (a = o = 0.1 * (i = Math.abs(S - w))), + "undefined" !== typeof T && + ((S = T + (u = Math.max(Math.abs(w), Math.abs(S)))), + (w = T - u)), + O + ? ((l = p.getDataLabelLength(w, S, "width")), + (c = g(p.y.range())), + (a += + i * + ((d = [l[0] / c, l[1] / c])[1] / (1 - d[0] - d[1]))), + (o += i * (d[0] / (1 - d[0] - d[1])))) + : P && + ((l = p.getDataLabelLength(w, S, "height")), + (a += p.axis.convertPixelsToAxisPadding(l[1], i)), + (o += p.axis.convertPixelsToAxisPadding(l[0], i))), + "y" === t && + v(m.axis_y_padding) && + ((a = p.axis.getPadding(m.axis_y_padding, "top", a, i)), + (o = p.axis.getPadding(m.axis_y_padding, "bottom", o, i))), + "y2" === t && + v(m.axis_y2_padding) && + ((a = p.axis.getPadding(m.axis_y2_padding, "top", a, i)), + (o = p.axis.getPadding(m.axis_y2_padding, "bottom", o, i))), + E && (f && (o = w), h && (a = -S)), + (r = [w - o, S + a]), + C ? r.reverse() : r) + ); + }), + (E.getXDomainMin = function(e) { + var t = this, + n = t.config; + return f(n.axis_x_min) + ? t.isTimeSeries() + ? this.parseDate(n.axis_x_min) + : n.axis_x_min + : t.d3.min(e, function(e) { + return t.d3.min(e.values, function(e) { + return e.x; + }); + }); + }), + (E.getXDomainMax = function(e) { + var t = this, + n = t.config; + return f(n.axis_x_max) + ? t.isTimeSeries() + ? this.parseDate(n.axis_x_max) + : n.axis_x_max + : t.d3.max(e, function(e) { + return t.d3.max(e.values, function(e) { + return e.x; + }); + }); + }), + (E.getXDomainPadding = function(e) { + var t, + n, + r, + a, + o = this.config, + u = e[1] - e[0]; + return ( + (n = this.isCategorized() + ? 0 + : this.hasType("bar") + ? (t = this.getMaxDataCount()) > 1 + ? u / (t - 1) / 2 + : 0.5 + : 0.01 * u), + "object" === i(o.axis_x_padding) && v(o.axis_x_padding) + ? ((r = s(o.axis_x_padding.left) ? o.axis_x_padding.left : n), + (a = s(o.axis_x_padding.right) ? o.axis_x_padding.right : n)) + : (r = a = + "number" === typeof o.axis_x_padding + ? o.axis_x_padding + : n), + { left: r, right: a } + ); + }), + (E.getXDomain = function(e) { + var t = this, + n = [t.getXDomainMin(e), t.getXDomainMax(e)], + r = n[0], + i = n[1], + a = t.getXDomainPadding(n), + o = 0, + s = 0; + return ( + r - i !== 0 || + t.isCategorized() || + (t.isTimeSeries() + ? ((r = new Date(0.5 * r.getTime())), + (i = new Date(1.5 * i.getTime()))) + : ((r = 0 === r ? 1 : 0.5 * r), + (i = 0 === i ? -1 : 1.5 * i))), + (r || 0 === r) && + (o = t.isTimeSeries() + ? new Date(r.getTime() - a.left) + : r - a.left), + (i || 0 === i) && + (s = t.isTimeSeries() + ? new Date(i.getTime() + a.right) + : i + a.right), + [o, s] + ); + }), + (E.updateXDomain = function(e, t, n, r, i) { + var a = this, + o = a.config; + return ( + n && + (a.x.domain(i || a.d3.extent(a.getXDomain(e))), + (a.orgXDomain = a.x.domain()), + o.zoom_enabled && a.zoom.scale(a.x).updateScaleExtent(), + a.subX.domain(a.x.domain()), + a.brush && a.brush.scale(a.subX)), + t && + (a.x.domain( + i || + (!a.brush || a.brush.empty() + ? a.orgXDomain + : a.brush.extent()) + ), + o.zoom_enabled && a.zoom.scale(a.x).updateScaleExtent()), + r && a.x.domain(a.trimXDomain(a.x.orgDomain())), + a.x.domain() + ); + }), + (E.trimXDomain = function(e) { + var t = this.getZoomDomain(), + n = t[0], + r = t[1]; + return ( + e[0] <= n && ((e[1] = +e[1] + (n - e[0])), (e[0] = n)), + r <= e[1] && ((e[0] = +e[0] - (e[1] - r)), (e[1] = r)), + e + ); + }), + (E.drag = function(e) { + var t, + n, + i, + a, + o, + s, + u, + l, + c = this, + d = c.config, + f = c.main, + h = c.d3; + c.hasArcType() || + (d.data_selection_enabled && + ((d.zoom_enabled && !c.zoom.altDomain) || + (d.data_selection_multiple && + ((t = c.dragStart[0]), + (n = c.dragStart[1]), + (i = e[0]), + (a = e[1]), + (o = Math.min(t, i)), + (s = Math.max(t, i)), + (u = d.data_selection_grouped + ? c.margin.top + : Math.min(n, a)), + (l = d.data_selection_grouped ? c.height : Math.max(n, a)), + f + .select("." + r.dragarea) + .attr("x", o) + .attr("y", u) + .attr("width", s - o) + .attr("height", l - u), + f + .selectAll("." + r.shapes) + .selectAll("." + r.shape) + .filter(function(e) { + return d.data_selection_isselectable(e); + }) + .each(function(e, t) { + var n, + i, + a, + d, + f, + p, + g = h.select(this), + m = g.classed(r.SELECTED), + v = g.classed(r.INCLUDED), + y = !1; + if (g.classed(r.circle)) + (n = 1 * g.attr("cx")), + (i = 1 * g.attr("cy")), + (f = c.togglePoint), + (y = o < n && n < s && u < i && i < l); + else { + if (!g.classed(r.bar)) return; + (n = (p = _(this)).x), + (i = p.y), + (a = p.width), + (d = p.height), + (f = c.togglePath), + (y = + !(s < n || n + a < o) && !(l < i || i + d < u)); + } + y ^ v && + (g.classed(r.INCLUDED, !v), + g.classed(r.SELECTED, !m), + f.call(c, !m, g, e, t)); + }))))); + }), + (E.dragstart = function(e) { + var t = this, + n = t.config; + t.hasArcType() || + (n.data_selection_enabled && + ((t.dragStart = e), + t.main + .select("." + r.chart) + .append("rect") + .attr("class", r.dragarea) + .style("opacity", 0.1), + (t.dragging = !0))); + }), + (E.dragend = function() { + var e = this, + t = e.config; + e.hasArcType() || + (t.data_selection_enabled && + (e.main + .select("." + r.dragarea) + .transition() + .duration(100) + .style("opacity", 0) + .remove(), + e.main.selectAll("." + r.shape).classed(r.INCLUDED, !1), + (e.dragging = !1))); + }), + (E.getYFormat = function(e) { + var t = this, + n = + e && !t.hasType("gauge") ? t.defaultArcValueFormat : t.yFormat, + r = + e && !t.hasType("gauge") ? t.defaultArcValueFormat : t.y2Format; + return function(e, i, a) { + return ("y2" === t.axis.getId(a) ? r : n).call(t, e, i); + }; + }), + (E.yFormat = function(e) { + var t = this.config; + return (t.axis_y_tick_format + ? t.axis_y_tick_format + : this.defaultValueFormat)(e); + }), + (E.y2Format = function(e) { + var t = this.config; + return (t.axis_y2_tick_format + ? t.axis_y2_tick_format + : this.defaultValueFormat)(e); + }), + (E.defaultValueFormat = function(e) { + return s(e) ? +e : ""; + }), + (E.defaultArcValueFormat = function(e, t) { + return (100 * t).toFixed(1) + "%"; + }), + (E.dataLabelFormat = function(e) { + var t = this.config.data_labels, + n = function(e) { + return s(e) ? +e : ""; + }; + return "function" === typeof t.format + ? t.format + : "object" === i(t.format) + ? t.format[e] + ? !0 === t.format[e] + ? n + : t.format[e] + : function() { + return ""; + } + : n; + }), + (E.initGrid = function() { + var e = this, + t = e.config, + n = e.d3; + (e.grid = e.main + .append("g") + .attr("clip-path", e.clipPathForGrid) + .attr("class", r.grid)), + t.grid_x_show && e.grid.append("g").attr("class", r.xgrids), + t.grid_y_show && e.grid.append("g").attr("class", r.ygrids), + t.grid_focus_show && + e.grid + .append("g") + .attr("class", r.xgridFocus) + .append("line") + .attr("class", r.xgridFocus), + (e.xgrid = n.selectAll([])), + t.grid_lines_front || e.initGridLines(); + }), + (E.initGridLines = function() { + var e = this, + t = e.d3; + (e.gridLines = e.main + .append("g") + .attr("clip-path", e.clipPathForGrid) + .attr("class", r.grid + " " + r.gridLines)), + e.gridLines.append("g").attr("class", r.xgridLines), + e.gridLines.append("g").attr("class", r.ygridLines), + (e.xgridLines = t.selectAll([])); + }), + (E.updateXGrid = function(e) { + var t = this, + n = t.config, + i = t.d3, + a = t.generateGridData(n.grid_x_type, t.x), + o = t.isCategorized() ? t.xAxis.tickOffset() : 0; + (t.xgridAttr = n.axis_rotated + ? { + x1: 0, + x2: t.width, + y1: function(e) { + return t.x(e) - o; + }, + y2: function(e) { + return t.x(e) - o; + } + } + : { + x1: function(e) { + return t.x(e) + o; + }, + x2: function(e) { + return t.x(e) + o; + }, + y1: 0, + y2: t.height + }), + (t.xgrid = t.main + .select("." + r.xgrids) + .selectAll("." + r.xgrid) + .data(a)), + t.xgrid + .enter() + .append("line") + .attr("class", r.xgrid), + e || + t.xgrid.attr(t.xgridAttr).style("opacity", function() { + return +i.select(this).attr(n.axis_rotated ? "y1" : "x1") === + (n.axis_rotated ? t.height : 0) + ? 0 + : 1; + }), + t.xgrid.exit().remove(); + }), + (E.updateYGrid = function() { + var e = this, + t = e.config, + n = e.yAxis.tickValues() || e.y.ticks(t.grid_y_ticks); + (e.ygrid = e.main + .select("." + r.ygrids) + .selectAll("." + r.ygrid) + .data(n)), + e.ygrid + .enter() + .append("line") + .attr("class", r.ygrid), + e.ygrid + .attr("x1", t.axis_rotated ? e.y : 0) + .attr("x2", t.axis_rotated ? e.y : e.width) + .attr("y1", t.axis_rotated ? 0 : e.y) + .attr("y2", t.axis_rotated ? e.height : e.y), + e.ygrid.exit().remove(), + e.smoothLines(e.ygrid, "grid"); + }), + (E.gridTextAnchor = function(e) { + return e.position ? e.position : "end"; + }), + (E.gridTextDx = function(e) { + return "start" === e.position + ? 4 + : "middle" === e.position + ? 0 + : -4; + }), + (E.xGridTextX = function(e) { + return "start" === e.position + ? -this.height + : "middle" === e.position + ? -this.height / 2 + : 0; + }), + (E.yGridTextX = function(e) { + return "start" === e.position + ? 0 + : "middle" === e.position + ? this.width / 2 + : this.width; + }), + (E.updateGrid = function(e) { + var t, + n, + i, + a = this, + o = a.main, + s = a.config; + a.grid.style("visibility", a.hasArcType() ? "hidden" : "visible"), + o.select("line." + r.xgridFocus).style("visibility", "hidden"), + s.grid_x_show && a.updateXGrid(), + (a.xgridLines = o + .select("." + r.xgridLines) + .selectAll("." + r.xgridLine) + .data(s.grid_x_lines)), + (t = a.xgridLines + .enter() + .append("g") + .attr("class", function(e) { + return r.xgridLine + (e.class ? " " + e.class : ""); + })) + .append("line") + .style("opacity", 0), + t + .append("text") + .attr("text-anchor", a.gridTextAnchor) + .attr("transform", s.axis_rotated ? "" : "rotate(-90)") + .attr("dx", a.gridTextDx) + .attr("dy", -5) + .style("opacity", 0), + a.xgridLines + .exit() + .transition() + .duration(e) + .style("opacity", 0) + .remove(), + s.grid_y_show && a.updateYGrid(), + (a.ygridLines = o + .select("." + r.ygridLines) + .selectAll("." + r.ygridLine) + .data(s.grid_y_lines)), + (n = a.ygridLines + .enter() + .append("g") + .attr("class", function(e) { + return r.ygridLine + (e.class ? " " + e.class : ""); + })) + .append("line") + .style("opacity", 0), + n + .append("text") + .attr("text-anchor", a.gridTextAnchor) + .attr("transform", s.axis_rotated ? "rotate(-90)" : "") + .attr("dx", a.gridTextDx) + .attr("dy", -5) + .style("opacity", 0), + (i = a.yv.bind(a)), + a.ygridLines + .select("line") + .transition() + .duration(e) + .attr("x1", s.axis_rotated ? i : 0) + .attr("x2", s.axis_rotated ? i : a.width) + .attr("y1", s.axis_rotated ? 0 : i) + .attr("y2", s.axis_rotated ? a.height : i) + .style("opacity", 1), + a.ygridLines + .select("text") + .transition() + .duration(e) + .attr( + "x", + s.axis_rotated ? a.xGridTextX.bind(a) : a.yGridTextX.bind(a) + ) + .attr("y", i) + .text(function(e) { + return e.text; + }) + .style("opacity", 1), + a.ygridLines + .exit() + .transition() + .duration(e) + .style("opacity", 0) + .remove(); + }), + (E.redrawGrid = function(e) { + var t = this, + n = t.config, + r = t.xv.bind(t), + i = t.xgridLines.select("line"), + a = t.xgridLines.select("text"); + return [ + (e ? i.transition() : i) + .attr("x1", n.axis_rotated ? 0 : r) + .attr("x2", n.axis_rotated ? t.width : r) + .attr("y1", n.axis_rotated ? r : 0) + .attr("y2", n.axis_rotated ? r : t.height) + .style("opacity", 1), + (e ? a.transition() : a) + .attr( + "x", + n.axis_rotated ? t.yGridTextX.bind(t) : t.xGridTextX.bind(t) + ) + .attr("y", r) + .text(function(e) { + return e.text; + }) + .style("opacity", 1) + ]; + }), + (E.showXGridFocus = function(e) { + var t = this, + n = t.config, + i = e.filter(function(e) { + return e && s(e.value); + }), + a = t.main.selectAll("line." + r.xgridFocus), + o = t.xx.bind(t); + n.tooltip_show && + (t.hasType("scatter") || + t.hasArcType() || + (a + .style("visibility", "visible") + .data([i[0]]) + .attr(n.axis_rotated ? "y1" : "x1", o) + .attr(n.axis_rotated ? "y2" : "x2", o), + t.smoothLines(a, "grid"))); + }), + (E.hideXGridFocus = function() { + this.main + .select("line." + r.xgridFocus) + .style("visibility", "hidden"); + }), + (E.updateXgridFocus = function() { + var e = this.config; + this.main + .select("line." + r.xgridFocus) + .attr("x1", e.axis_rotated ? 0 : -10) + .attr("x2", e.axis_rotated ? this.width : -10) + .attr("y1", e.axis_rotated ? -10 : 0) + .attr("y2", e.axis_rotated ? -10 : this.height); + }), + (E.generateGridData = function(e, t) { + var n, + i, + a, + o, + s = [], + u = this.main + .select("." + r.axisX) + .selectAll(".tick") + .size(); + if ("year" === e) + for ( + i = (n = this.getXDomain())[0].getFullYear(), + a = n[1].getFullYear(), + o = i; + o <= a; + o++ + ) + s.push(new Date(o + "-01-01 00:00:00")); + else + (s = t.ticks(10)).length > u && + (s = s.filter(function(e) { + return ("" + e).indexOf(".") < 0; + })); + return s; + }), + (E.getGridFilterToRemove = function(e) { + return e + ? function(t) { + var n = !1; + return ( + [].concat(e).forEach(function(e) { + (("value" in e && t.value === e.value) || + ("class" in e && t.class === e.class)) && + (n = !0); + }), + n + ); + } + : function() { + return !0; + }; + }), + (E.removeGridLines = function(e, t) { + var n = this.config, + i = this.getGridFilterToRemove(e), + a = function(e) { + return !i(e); + }, + o = t ? r.xgridLines : r.ygridLines, + s = t ? r.xgridLine : r.ygridLine; + this.main + .select("." + o) + .selectAll("." + s) + .filter(i) + .transition() + .duration(n.transition_duration) + .style("opacity", 0) + .remove(), + t + ? (n.grid_x_lines = n.grid_x_lines.filter(a)) + : (n.grid_y_lines = n.grid_y_lines.filter(a)); + }), + (E.initEventRect = function() { + this.main + .select("." + r.chart) + .append("g") + .attr("class", r.eventRects) + .style("fill-opacity", 0); + }), + (E.redrawEventRect = function() { + var e, + t, + n = this, + i = n.config, + a = n.isMultipleX(), + o = n.main + .select("." + r.eventRects) + .style( + "cursor", + i.zoom_enabled + ? i.axis_rotated + ? "ns-resize" + : "ew-resize" + : null + ) + .classed(r.eventRectsMultiple, a) + .classed(r.eventRectsSingle, !a); + o.selectAll("." + r.eventRect).remove(), + (n.eventRect = o.selectAll("." + r.eventRect)), + a + ? ((e = n.eventRect.data([0])), + n.generateEventRectsForMultipleXs(e.enter()), + n.updateEventRect(e)) + : ((t = n.getMaxDataCountTarget(n.data.targets)), + o.datum(t ? t.values : []), + (n.eventRect = o.selectAll("." + r.eventRect)), + (e = n.eventRect.data(function(e) { + return e; + })), + n.generateEventRectsForSingleX(e.enter()), + n.updateEventRect(e), + e.exit().remove()); + }), + (E.updateEventRect = function(e) { + var t, + n, + r, + i, + a, + o, + s = this, + u = s.config; + (e = + e || + s.eventRect.data(function(e) { + return e; + })), + s.isMultipleX() + ? ((t = 0), (n = 0), (r = s.width), (i = s.height)) + : ((!s.isCustomX() && !s.isTimeSeries()) || s.isCategorized() + ? ((a = s.getEventRectWidth()), + (o = function(e) { + return s.x(e.x) - a / 2; + })) + : (s.updateXs(), + (a = function(e) { + var t = s.getPrevX(e.index), + n = s.getNextX(e.index); + return null === t && null === n + ? u.axis_rotated + ? s.height + : s.width + : (null === t && (t = s.x.domain()[0]), + null === n && (n = s.x.domain()[1]), + Math.max(0, (s.x(n) - s.x(t)) / 2)); + }), + (o = function(e) { + var t = s.getPrevX(e.index), + n = s.getNextX(e.index), + r = s.data.xs[e.id][e.index]; + return null === t && null === n + ? 0 + : (null === t && (t = s.x.domain()[0]), + (s.x(r) + s.x(t)) / 2); + })), + (t = u.axis_rotated ? 0 : o), + (n = u.axis_rotated ? o : 0), + (r = u.axis_rotated ? s.width : a), + (i = u.axis_rotated ? a : s.height)), + e + .attr("class", s.classEvent.bind(s)) + .attr("x", t) + .attr("y", n) + .attr("width", r) + .attr("height", i); + }), + (E.generateEventRectsForSingleX = function(e) { + var t = this, + n = t.d3, + i = t.config; + e.append("rect") + .attr("class", t.classEvent.bind(t)) + .style( + "cursor", + i.data_selection_enabled && i.data_selection_grouped + ? "pointer" + : null + ) + .on("mouseover", function(e) { + var n = e.index; + t.dragging || + t.flowing || + t.hasArcType() || + (i.point_focus_expand_enabled && t.expandCircles(n, null, !0), + t.expandBars(n, null, !0), + t.main.selectAll("." + r.shape + "-" + n).each(function(e) { + i.data_onmouseover.call(t.api, e); + })); + }) + .on("mouseout", function(e) { + var n = e.index; + t.config && + (t.hasArcType() || + (t.hideXGridFocus(), + t.hideTooltip(), + t.unexpandCircles(), + t.unexpandBars(), + t.main.selectAll("." + r.shape + "-" + n).each(function(e) { + i.data_onmouseout.call(t.api, e); + }))); + }) + .on("mousemove", function(e) { + var a, + o = e.index, + s = t.svg.select("." + r.eventRect + "-" + o); + t.dragging || + t.flowing || + t.hasArcType() || + (t.isStepType(e) && + "step-after" === t.config.line_step_type && + n.mouse(this)[0] < t.x(t.getXValue(e.id, o)) && + (o -= 1), + (a = t.filterTargetsToShow(t.data.targets).map(function(e) { + return t.addName(t.getValueOnIndex(e.values, o)); + })), + i.tooltip_grouped && + (t.showTooltip(a, this), t.showXGridFocus(a)), + (!i.tooltip_grouped || + (i.data_selection_enabled && !i.data_selection_grouped)) && + t.main + .selectAll("." + r.shape + "-" + o) + .each(function() { + n.select(this).classed(r.EXPANDED, !0), + i.data_selection_enabled && + s.style( + "cursor", + i.data_selection_grouped ? "pointer" : null + ), + i.tooltip_grouped || + (t.hideXGridFocus(), + t.hideTooltip(), + i.data_selection_grouped || + (t.unexpandCircles(o), t.unexpandBars(o))); + }) + .filter(function(e) { + return t.isWithinShape(this, e); + }) + .each(function(e) { + i.data_selection_enabled && + (i.data_selection_grouped || + i.data_selection_isselectable(e)) && + s.style("cursor", "pointer"), + i.tooltip_grouped || + (t.showTooltip([e], this), + t.showXGridFocus([e]), + i.point_focus_expand_enabled && + t.expandCircles(o, e.id, !0), + t.expandBars(o, e.id, !0)); + })); + }) + .on("click", function(e) { + var a = e.index; + !t.hasArcType() && + t.toggleShape && + (t.cancelClick + ? (t.cancelClick = !1) + : (t.isStepType(e) && + "step-after" === i.line_step_type && + n.mouse(this)[0] < t.x(t.getXValue(e.id, a)) && + (a -= 1), + t.main + .selectAll("." + r.shape + "-" + a) + .each(function(e) { + (i.data_selection_grouped || + t.isWithinShape(this, e)) && + (t.toggleShape(this, e, a), + t.config.data_onclick.call(t.api, e, this)); + }))); + }) + .call( + i.data_selection_draggable && t.drag + ? n.behavior + .drag() + .origin(Object) + .on("drag", function() { + t.drag(n.mouse(this)); + }) + .on("dragstart", function() { + t.dragstart(n.mouse(this)); + }) + .on("dragend", function() { + t.dragend(); + }) + : function() {} + ); + }), + (E.generateEventRectsForMultipleXs = function(e) { + var t = this, + n = t.d3, + i = t.config; + function a() { + t.svg.select("." + r.eventRect).style("cursor", null), + t.hideXGridFocus(), + t.hideTooltip(), + t.unexpandCircles(), + t.unexpandBars(); + } + e.append("rect") + .attr("x", 0) + .attr("y", 0) + .attr("width", t.width) + .attr("height", t.height) + .attr("class", r.eventRect) + .on("mouseout", function() { + t.config && (t.hasArcType() || a()); + }) + .on("mousemove", function() { + var e, + o, + s, + u = t.filterTargetsToShow(t.data.targets); + t.dragging || + t.hasArcType(u) || + ((e = n.mouse(this)), + (o = t.findClosestFromTargets(u, e)), + !t.mouseover || + (o && o.id === t.mouseover.id) || + (i.data_onmouseout.call(t.api, t.mouseover), + (t.mouseover = void 0)), + o + ? ((s = (t.isScatterType(o) || !i.tooltip_grouped + ? [o] + : t.filterByX(u, o.x) + ).map(function(e) { + return t.addName(e); + })), + t.showTooltip(s, this), + i.point_focus_expand_enabled && + t.expandCircles(o.index, o.id, !0), + t.expandBars(o.index, o.id, !0), + t.showXGridFocus(s), + (t.isBarType(o.id) || + t.dist(o, e) < i.point_sensitivity) && + (t.svg + .select("." + r.eventRect) + .style("cursor", "pointer"), + t.mouseover || + (i.data_onmouseover.call(t.api, o), + (t.mouseover = o)))) + : a()); + }) + .on("click", function() { + var e, + a, + o = t.filterTargetsToShow(t.data.targets); + t.hasArcType(o) || + ((e = n.mouse(this)), + (a = t.findClosestFromTargets(o, e)) && + (t.isBarType(a.id) || t.dist(a, e) < i.point_sensitivity) && + t.main + .selectAll( + "." + r.shapes + t.getTargetSelectorSuffix(a.id) + ) + .selectAll("." + r.shape + "-" + a.index) + .each(function() { + (i.data_selection_grouped || + t.isWithinShape(this, a)) && + (t.toggleShape(this, a, a.index), + t.config.data_onclick.call(t.api, a, this)); + })); + }) + .call( + i.data_selection_draggable && t.drag + ? n.behavior + .drag() + .origin(Object) + .on("drag", function() { + t.drag(n.mouse(this)); + }) + .on("dragstart", function() { + t.dragstart(n.mouse(this)); + }) + .on("dragend", function() { + t.dragend(); + }) + : function() {} + ); + }), + (E.dispatchEvent = function(e, t, n) { + var i = "." + r.eventRect + (this.isMultipleX() ? "" : "-" + t), + a = this.main.select(i).node(), + o = a.getBoundingClientRect(), + s = o.left + (n ? n[0] : 0), + u = o.top + (n ? n[1] : 0), + l = document.createEvent("MouseEvents"); + l.initMouseEvent( + e, + !0, + !0, + window, + 0, + s, + u, + s, + u, + !1, + !1, + !1, + !1, + 0, + null + ), + a.dispatchEvent(l); + }), + (E.initLegend = function() { + var e = this; + if ( + ((e.legendItemTextBox = {}), + (e.legendHasRendered = !1), + (e.legend = e.svg + .append("g") + .attr("transform", e.getTranslate("legend"))), + !e.config.legend_show) + ) + return ( + e.legend.style("visibility", "hidden"), + void (e.hiddenLegendIds = e.mapToIds(e.data.targets)) + ); + e.updateLegendWithDefaults(); + }), + (E.updateLegendWithDefaults = function() { + this.updateLegend(this.mapToIds(this.data.targets), { + withTransform: !1, + withTransitionForTransform: !1, + withTransition: !1 + }); + }), + (E.updateSizeForLegend = function(e, t) { + var n = this, + r = n.config, + i = { + top: n.isLegendTop + ? n.getCurrentPaddingTop() + r.legend_inset_y + 5.5 + : n.currentHeight - + e - + n.getCurrentPaddingBottom() - + r.legend_inset_y, + left: n.isLegendLeft + ? n.getCurrentPaddingLeft() + r.legend_inset_x + 0.5 + : n.currentWidth - + t - + n.getCurrentPaddingRight() - + r.legend_inset_x + + 0.5 + }; + n.margin3 = { + top: n.isLegendRight + ? 0 + : n.isLegendInset + ? i.top + : n.currentHeight - e, + right: NaN, + bottom: 0, + left: n.isLegendRight + ? n.currentWidth - t + : n.isLegendInset + ? i.left + : 0 + }; + }), + (E.transformLegend = function(e) { + (e ? this.legend.transition() : this.legend).attr( + "transform", + this.getTranslate("legend") + ); + }), + (E.updateLegendStep = function(e) { + this.legendStep = e; + }), + (E.updateLegendItemWidth = function(e) { + this.legendItemWidth = e; + }), + (E.updateLegendItemHeight = function(e) { + this.legendItemHeight = e; + }), + (E.getLegendWidth = function() { + var e = this; + return e.config.legend_show + ? e.isLegendRight || e.isLegendInset + ? e.legendItemWidth * (e.legendStep + 1) + : e.currentWidth + : 0; + }), + (E.getLegendHeight = function() { + var e = this, + t = 0; + return ( + e.config.legend_show && + (t = e.isLegendRight + ? e.currentHeight + : Math.max(20, e.legendItemHeight) * (e.legendStep + 1)), + t + ); + }), + (E.opacityForLegend = function(e) { + return e.classed(r.legendItemHidden) ? null : 1; + }), + (E.opacityForUnfocusedLegend = function(e) { + return e.classed(r.legendItemHidden) ? null : 0.3; + }), + (E.toggleFocusLegend = function(e, t) { + var n = this; + (e = n.mapToTargetIds(e)), + n.legend + .selectAll("." + r.legendItem) + .filter(function(t) { + return e.indexOf(t) >= 0; + }) + .classed(r.legendItemFocused, t) + .transition() + .duration(100) + .style("opacity", function() { + return (t + ? n.opacityForLegend + : n.opacityForUnfocusedLegend + ).call(n, n.d3.select(this)); + }); + }), + (E.revertLegend = function() { + var e = this, + t = e.d3; + e.legend + .selectAll("." + r.legendItem) + .classed(r.legendItemFocused, !1) + .transition() + .duration(100) + .style("opacity", function() { + return e.opacityForLegend(t.select(this)); + }); + }), + (E.showLegend = function(e) { + var t = this, + n = t.config; + n.legend_show || + ((n.legend_show = !0), + t.legend.style("visibility", "visible"), + t.legendHasRendered || t.updateLegendWithDefaults()), + t.removeHiddenLegendIds(e), + t.legend + .selectAll(t.selectorLegends(e)) + .style("visibility", "visible") + .transition() + .style("opacity", function() { + return t.opacityForLegend(t.d3.select(this)); + }); + }), + (E.hideLegend = function(e) { + var t = this, + n = t.config; + n.legend_show && + m(e) && + ((n.legend_show = !1), t.legend.style("visibility", "hidden")), + t.addHiddenLegendIds(e), + t.legend + .selectAll(t.selectorLegends(e)) + .style("opacity", 0) + .style("visibility", "hidden"); + }), + (E.clearLegendItemTextBoxCache = function() { + this.legendItemTextBox = {}; + }), + (E.updateLegend = function(e, t, n) { + var i, + a, + o, + s, + u, + l, + c, + d, + h, + p, + g, + m, + v, + x, + b, + _, + w = this, + S = w.config, + T = 4, + E = 10, + C = 0, + O = 0, + P = 10, + A = S.legend_item_tile_width + 5, + k = 0, + N = {}, + M = {}, + L = {}, + j = [0], + R = {}, + I = 0; + function V(t, n, i) { + var a, + o, + s = 0 === i, + u = i === e.length - 1, + l = (function(e, t) { + return ( + w.legendItemTextBox[t] || + (w.legendItemTextBox[t] = w.getTextRect( + e.textContent, + r.legendItem, + e + )), + w.legendItemTextBox[t] + ); + })(t, n), + c = + l.width + + A + + (!u || w.isLegendRight || w.isLegendInset ? E : 0) + + S.legend_padding, + d = l.height + T, + f = w.isLegendRight || w.isLegendInset ? d : c, + h = + w.isLegendRight || w.isLegendInset + ? w.getLegendHeight() + : w.getLegendWidth(); + function p(e, t) { + t || + ((a = (h - k - f) / 2) < P && + ((a = (h - f) / 2), (k = 0), I++)), + (R[e] = I), + (j[I] = w.isLegendInset ? 10 : a), + (N[e] = k), + (k += f); + } + s && ((k = 0), (I = 0), (C = 0), (O = 0)), + !S.legend_show || w.isLegendToShow(n) + ? ((M[n] = c), + (L[n] = d), + (!C || c >= C) && (C = c), + (!O || d >= O) && (O = d), + (o = w.isLegendRight || w.isLegendInset ? O : C), + S.legend_equally + ? (Object.keys(M).forEach(function(e) { + M[e] = C; + }), + Object.keys(L).forEach(function(e) { + L[e] = O; + }), + (a = (h - o * e.length) / 2) < P + ? ((k = 0), + (I = 0), + e.forEach(function(e) { + p(e); + })) + : p(n, !0)) + : p(n)) + : (M[n] = L[n] = R[n] = N[n] = 0); + } + (e = e.filter(function(e) { + return !f(S.data_names[e]) || null !== S.data_names[e]; + })), + (g = y((t = t || {}), "withTransition", !0)), + (m = y(t, "withTransitionForTransform", !0)), + w.isLegendInset && + ((I = S.legend_inset_step ? S.legend_inset_step : e.length), + w.updateLegendStep(I)), + w.isLegendRight + ? ((i = function(e) { + return C * R[e]; + }), + (s = function(e) { + return j[R[e]] + N[e]; + })) + : w.isLegendInset + ? ((i = function(e) { + return C * R[e] + 10; + }), + (s = function(e) { + return j[R[e]] + N[e]; + })) + : ((i = function(e) { + return j[R[e]] + N[e]; + }), + (s = function(e) { + return O * R[e]; + })), + (a = function(e, t) { + return i(e, t) + 4 + S.legend_item_tile_width; + }), + (u = function(e, t) { + return s(e, t) + 9; + }), + (o = function(e, t) { + return i(e, t); + }), + (l = function(e, t) { + return s(e, t) - 5; + }), + (c = function(e, t) { + return i(e, t) - 2; + }), + (d = function(e, t) { + return i(e, t) - 2 + S.legend_item_tile_width; + }), + (h = function(e, t) { + return s(e, t) + 4; + }), + (p = w.legend + .selectAll("." + r.legendItem) + .data(e) + .enter() + .append("g") + .attr("class", function(e) { + return w.generateClass(r.legendItem, e); + }) + .style("visibility", function(e) { + return w.isLegendToShow(e) ? "visible" : "hidden"; + }) + .style("cursor", "pointer") + .on("click", function(e) { + S.legend_item_onclick + ? S.legend_item_onclick.call(w, e) + : w.d3.event.altKey + ? (w.api.hide(), w.api.show(e)) + : (w.api.toggle(e), + w.isTargetToShow(e) ? w.api.focus(e) : w.api.revert()); + }) + .on("mouseover", function(e) { + S.legend_item_onmouseover + ? S.legend_item_onmouseover.call(w, e) + : (w.d3.select(this).classed(r.legendItemFocused, !0), + !w.transiting && w.isTargetToShow(e) && w.api.focus(e)); + }) + .on("mouseout", function(e) { + S.legend_item_onmouseout + ? S.legend_item_onmouseout.call(w, e) + : (w.d3.select(this).classed(r.legendItemFocused, !1), + w.api.revert()); + })) + .append("text") + .text(function(e) { + return f(S.data_names[e]) ? S.data_names[e] : e; + }) + .each(function(e, t) { + V(this, e, t); + }) + .style("pointer-events", "none") + .attr("x", w.isLegendRight || w.isLegendInset ? a : -200) + .attr("y", w.isLegendRight || w.isLegendInset ? -200 : u), + p + .append("rect") + .attr("class", r.legendItemEvent) + .style("fill-opacity", 0) + .attr("x", w.isLegendRight || w.isLegendInset ? o : -200) + .attr("y", w.isLegendRight || w.isLegendInset ? -200 : l), + p + .append("line") + .attr("class", r.legendItemTile) + .style("stroke", w.color) + .style("pointer-events", "none") + .attr("x1", w.isLegendRight || w.isLegendInset ? c : -200) + .attr("y1", w.isLegendRight || w.isLegendInset ? -200 : h) + .attr("x2", w.isLegendRight || w.isLegendInset ? d : -200) + .attr("y2", w.isLegendRight || w.isLegendInset ? -200 : h) + .attr("stroke-width", S.legend_item_tile_height), + (_ = w.legend.select("." + r.legendBackground + " rect")), + w.isLegendInset && + C > 0 && + 0 === _.size() && + (_ = w.legend + .insert("g", "." + r.legendItem) + .attr("class", r.legendBackground) + .append("rect")), + (v = w.legend + .selectAll("text") + .data(e) + .text(function(e) { + return f(S.data_names[e]) ? S.data_names[e] : e; + }) + .each(function(e, t) { + V(this, e, t); + })), + (g ? v.transition() : v).attr("x", a).attr("y", u), + (x = w.legend.selectAll("rect." + r.legendItemEvent).data(e)), + (g ? x.transition() : x) + .attr("width", function(e) { + return M[e]; + }) + .attr("height", function(e) { + return L[e]; + }) + .attr("x", o) + .attr("y", l), + (b = w.legend.selectAll("line." + r.legendItemTile).data(e)), + (g ? b.transition() : b) + .style( + "stroke", + w.levelColor + ? function(e) { + return w.levelColor(w.cache[e].values[0].value); + } + : w.color + ) + .attr("x1", c) + .attr("y1", h) + .attr("x2", d) + .attr("y2", h), + _ && + (g ? _.transition() : _) + .attr("height", w.getLegendHeight() - 12) + .attr("width", C * (I + 1) + 10), + w.legend + .selectAll("." + r.legendItem) + .classed(r.legendItemHidden, function(e) { + return !w.isTargetToShow(e); + }), + w.updateLegendItemWidth(C), + w.updateLegendItemHeight(O), + w.updateLegendStep(I), + w.updateSizes(), + w.updateScales(), + w.updateSvgSize(), + w.transformAll(m, n), + (w.legendHasRendered = !0); + }), + (E.initRegion = function() { + this.region = this.main + .append("g") + .attr("clip-path", this.clipPath) + .attr("class", r.regions); + }), + (E.updateRegion = function(e) { + var t = this, + n = t.config; + t.region.style("visibility", t.hasArcType() ? "hidden" : "visible"), + (t.mainRegion = t.main + .select("." + r.regions) + .selectAll("." + r.region) + .data(n.regions)), + t.mainRegion + .enter() + .append("g") + .append("rect") + .style("fill-opacity", 0), + t.mainRegion.attr("class", t.classRegion.bind(t)), + t.mainRegion + .exit() + .transition() + .duration(e) + .style("opacity", 0) + .remove(); + }), + (E.redrawRegion = function(e) { + var t = this, + n = t.mainRegion.selectAll("rect").each(function() { + var e = t.d3.select(this.parentNode).datum(); + t.d3.select(this).datum(e); + }), + r = t.regionX.bind(t), + i = t.regionY.bind(t), + a = t.regionWidth.bind(t), + o = t.regionHeight.bind(t); + return [ + (e ? n.transition() : n) + .attr("x", r) + .attr("y", i) + .attr("width", a) + .attr("height", o) + .style("fill-opacity", function(e) { + return s(e.opacity) ? e.opacity : 0.1; + }) + ]; + }), + (E.regionX = function(e) { + var t = this, + n = t.config, + r = "y" === e.axis ? t.y : t.y2; + return "y" === e.axis || "y2" === e.axis + ? n.axis_rotated && "start" in e + ? r(e.start) + : 0 + : n.axis_rotated + ? 0 + : "start" in e + ? t.x(t.isTimeSeries() ? t.parseDate(e.start) : e.start) + : 0; + }), + (E.regionY = function(e) { + var t = this, + n = t.config, + r = "y" === e.axis ? t.y : t.y2; + return "y" === e.axis || "y2" === e.axis + ? n.axis_rotated + ? 0 + : "end" in e + ? r(e.end) + : 0 + : n.axis_rotated && "start" in e + ? t.x(t.isTimeSeries() ? t.parseDate(e.start) : e.start) + : 0; + }), + (E.regionWidth = function(e) { + var t, + n = this, + r = n.config, + i = n.regionX(e), + a = "y" === e.axis ? n.y : n.y2; + return (t = + "y" === e.axis || "y2" === e.axis + ? r.axis_rotated && "end" in e + ? a(e.end) + : n.width + : r.axis_rotated + ? n.width + : "end" in e + ? n.x(n.isTimeSeries() ? n.parseDate(e.end) : e.end) + : n.width) < i + ? 0 + : t - i; + }), + (E.regionHeight = function(e) { + var t, + n = this, + r = n.config, + i = this.regionY(e), + a = "y" === e.axis ? n.y : n.y2; + return (t = + "y" === e.axis || "y2" === e.axis + ? r.axis_rotated + ? n.height + : "start" in e + ? a(e.start) + : n.height + : r.axis_rotated && "end" in e + ? n.x(n.isTimeSeries() ? n.parseDate(e.end) : e.end) + : n.height) < i + ? 0 + : t - i; + }), + (E.isRegionOnX = function(e) { + return !e.axis || "x" === e.axis; + }), + (E.getScale = function(e, t, n) { + return (n ? this.d3.time.scale() : this.d3.scale.linear()).range([ + e, + t + ]); + }), + (E.getX = function(e, t, n, r) { + var i, + a = this.getScale(e, t, this.isTimeSeries()), + o = n ? a.domain(n) : a; + for (i in (this.isCategorized() + ? ((r = + r || + function() { + return 0; + }), + (a = function(e, t) { + var n = o(e) + r(e); + return t ? n : Math.ceil(n); + })) + : (a = function(e, t) { + var n = o(e); + return t ? n : Math.ceil(n); + }), + o)) + a[i] = o[i]; + return ( + (a.orgDomain = function() { + return o.domain(); + }), + this.isCategorized() && + (a.domain = function(e) { + return arguments.length + ? (o.domain(e), a) + : [(e = this.orgDomain())[0], e[1] + 1]; + }), + a + ); + }), + (E.getY = function(e, t, n) { + var r = this.getScale(e, t, this.isTimeSeriesY()); + return n && r.domain(n), r; + }), + (E.getYScale = function(e) { + return "y2" === this.axis.getId(e) ? this.y2 : this.y; + }), + (E.getSubYScale = function(e) { + return "y2" === this.axis.getId(e) ? this.subY2 : this.subY; + }), + (E.updateScales = function() { + var e = this, + t = e.config, + n = !e.x; + (e.xMin = t.axis_rotated ? 1 : 0), + (e.xMax = t.axis_rotated ? e.height : e.width), + (e.yMin = t.axis_rotated ? 0 : e.height), + (e.yMax = t.axis_rotated ? e.width : 1), + (e.subXMin = e.xMin), + (e.subXMax = e.xMax), + (e.subYMin = t.axis_rotated ? 0 : e.height2), + (e.subYMax = t.axis_rotated ? e.width2 : 1), + (e.x = e.getX( + e.xMin, + e.xMax, + n ? void 0 : e.x.orgDomain(), + function() { + return e.xAxis.tickOffset(); + } + )), + (e.y = e.getY( + e.yMin, + e.yMax, + n ? t.axis_y_default : e.y.domain() + )), + (e.y2 = e.getY( + e.yMin, + e.yMax, + n ? t.axis_y2_default : e.y2.domain() + )), + (e.subX = e.getX(e.xMin, e.xMax, e.orgXDomain, function(t) { + return t % 1 ? 0 : e.subXAxis.tickOffset(); + })), + (e.subY = e.getY( + e.subYMin, + e.subYMax, + n ? t.axis_y_default : e.subY.domain() + )), + (e.subY2 = e.getY( + e.subYMin, + e.subYMax, + n ? t.axis_y2_default : e.subY2.domain() + )), + (e.xAxisTickFormat = e.axis.getXAxisTickFormat()), + (e.xAxisTickValues = e.axis.getXAxisTickValues()), + (e.yAxisTickValues = e.axis.getYAxisTickValues()), + (e.y2AxisTickValues = e.axis.getY2AxisTickValues()), + (e.xAxis = e.axis.getXAxis( + e.x, + e.xOrient, + e.xAxisTickFormat, + e.xAxisTickValues, + t.axis_x_tick_outer + )), + (e.subXAxis = e.axis.getXAxis( + e.subX, + e.subXOrient, + e.xAxisTickFormat, + e.xAxisTickValues, + t.axis_x_tick_outer + )), + (e.yAxis = e.axis.getYAxis( + e.y, + e.yOrient, + t.axis_y_tick_format, + e.yAxisTickValues, + t.axis_y_tick_outer + )), + (e.y2Axis = e.axis.getYAxis( + e.y2, + e.y2Orient, + t.axis_y2_tick_format, + e.y2AxisTickValues, + t.axis_y2_tick_outer + )), + n || + (e.brush && e.brush.scale(e.subX), + t.zoom_enabled && e.zoom.scale(e.x)), + e.updateArc && e.updateArc(); + }), + (E.selectPoint = function(e, t, n) { + var i = this, + a = i.config, + o = (a.axis_rotated ? i.circleY : i.circleX).bind(i), + s = (a.axis_rotated ? i.circleX : i.circleY).bind(i), + u = i.pointSelectR.bind(i); + a.data_onselected.call(i.api, t, e.node()), + i.main + .select( + "." + r.selectedCircles + i.getTargetSelectorSuffix(t.id) + ) + .selectAll("." + r.selectedCircle + "-" + n) + .data([t]) + .enter() + .append("circle") + .attr("class", function() { + return i.generateClass(r.selectedCircle, n); + }) + .attr("cx", o) + .attr("cy", s) + .attr("stroke", function() { + return i.color(t); + }) + .attr("r", function(e) { + return 1.4 * i.pointSelectR(e); + }) + .transition() + .duration(100) + .attr("r", u); + }), + (E.unselectPoint = function(e, t, n) { + this.config.data_onunselected.call(this.api, t, e.node()), + this.main + .select( + "." + r.selectedCircles + this.getTargetSelectorSuffix(t.id) + ) + .selectAll("." + r.selectedCircle + "-" + n) + .transition() + .duration(100) + .attr("r", 0) + .remove(); + }), + (E.togglePoint = function(e, t, n, r) { + e ? this.selectPoint(t, n, r) : this.unselectPoint(t, n, r); + }), + (E.selectPath = function(e, t) { + var n = this; + n.config.data_onselected.call(n, t, e.node()), + n.config.interaction_brighten && + e + .transition() + .duration(100) + .style("fill", function() { + return n.d3.rgb(n.color(t)).brighter(0.75); + }); + }), + (E.unselectPath = function(e, t) { + var n = this; + n.config.data_onunselected.call(n, t, e.node()), + n.config.interaction_brighten && + e + .transition() + .duration(100) + .style("fill", function() { + return n.color(t); + }); + }), + (E.togglePath = function(e, t, n, r) { + e ? this.selectPath(t, n, r) : this.unselectPath(t, n, r); + }), + (E.getToggle = function(e, t) { + var n; + return ( + "circle" === e.nodeName + ? (n = this.isStepType(t) ? function() {} : this.togglePoint) + : "path" === e.nodeName && (n = this.togglePath), + n + ); + }), + (E.toggleShape = function(e, t, n) { + var i = this, + a = i.d3, + o = i.config, + s = a.select(e), + u = s.classed(r.SELECTED), + l = i.getToggle(e, t).bind(i); + o.data_selection_enabled && + o.data_selection_isselectable(t) && + (o.data_selection_multiple || + i.main + .selectAll( + "." + + r.shapes + + (o.data_selection_grouped + ? i.getTargetSelectorSuffix(t.id) + : "") + ) + .selectAll("." + r.shape) + .each(function(e, t) { + var n = a.select(this); + n.classed(r.SELECTED) && + l(!1, n.classed(r.SELECTED, !1), e, t); + }), + s.classed(r.SELECTED, !u), + l(!u, s, t, n)); + }), + (E.initBar = function() { + this.main + .select("." + r.chart) + .append("g") + .attr("class", r.chartBars); + }), + (E.updateTargetsForBar = function(e) { + var t = this, + n = t.config, + i = t.classChartBar.bind(t), + a = t.classBars.bind(t), + o = t.classFocus.bind(t); + t.main + .select("." + r.chartBars) + .selectAll("." + r.chartBar) + .data(e) + .attr("class", function(e) { + return i(e) + o(e); + }) + .enter() + .append("g") + .attr("class", i) + .style("pointer-events", "none") + .append("g") + .attr("class", a) + .style("cursor", function(e) { + return n.data_selection_isselectable(e) ? "pointer" : null; + }); + }), + (E.updateBar = function(e) { + var t = this, + n = t.barData.bind(t), + i = t.classBar.bind(t), + a = t.initialOpacity.bind(t), + o = function(e) { + return t.color(e.id); + }; + (t.mainBar = t.main + .selectAll("." + r.bars) + .selectAll("." + r.bar) + .data(n)), + t.mainBar + .enter() + .append("path") + .attr("class", i) + .style("stroke", o) + .style("fill", o), + t.mainBar.style("opacity", a), + t.mainBar + .exit() + .transition() + .duration(e) + .remove(); + }), + (E.redrawBar = function(e, t) { + return [ + (t + ? this.mainBar.transition(Math.random().toString()) + : this.mainBar + ) + .attr("d", e) + .style("stroke", this.color) + .style("fill", this.color) + .style("opacity", 1) + ]; + }), + (E.getBarW = function(e, t) { + var n = this.config, + r = + "number" === typeof n.bar_width + ? n.bar_width + : t + ? (e.tickInterval() * n.bar_width_ratio) / t + : 0; + return n.bar_width_max && r > n.bar_width_max ? n.bar_width_max : r; + }), + (E.getBars = function(e, t) { + return (t + ? this.main.selectAll( + "." + r.bars + this.getTargetSelectorSuffix(t) + ) + : this.main + ).selectAll("." + r.bar + (s(e) ? "-" + e : "")); + }), + (E.expandBars = function(e, t, n) { + n && this.unexpandBars(), + this.getBars(e, t).classed(r.EXPANDED, !0); + }), + (E.unexpandBars = function(e) { + this.getBars(e).classed(r.EXPANDED, !1); + }), + (E.generateDrawBar = function(e, t) { + var n = this.config, + r = this.generateGetBarPoints(e, t); + return function(e, t) { + var i = r(e, t), + a = n.axis_rotated ? 1 : 0, + o = n.axis_rotated ? 0 : 1; + return ( + "M " + + i[0][a] + + "," + + i[0][o] + + " L" + + i[1][a] + + "," + + i[1][o] + + " L" + + i[2][a] + + "," + + i[2][o] + + " L" + + i[3][a] + + "," + + i[3][o] + + " z" + ); + }; + }), + (E.generateGetBarPoints = function(e, t) { + var n = this, + r = t ? n.subXAxis : n.xAxis, + i = e.__max__ + 1, + a = n.getBarW(r, i), + o = n.getShapeX(a, i, e, !!t), + s = n.getShapeY(!!t), + u = n.getShapeOffset(n.isBarType, e, !!t), + l = a * (n.config.bar_space / 2), + c = t ? n.getSubYScale : n.getYScale; + return function(e, t) { + var r = c.call(n, e.id)(0), + i = u(e, t) || r, + d = o(e), + f = s(e); + return ( + n.config.axis_rotated && + ((0 < e.value && f < r) || (e.value < 0 && r < f)) && + (f = r), + [ + [d + l, i], + [d + l, f - (r - i)], + [d + a - l, f - (r - i)], + [d + a - l, i] + ] + ); + }; + }), + (E.isWithinBar = function(e) { + var t = this.d3.mouse(e), + n = e.getBoundingClientRect(), + r = e.pathSegList.getItem(0), + i = e.pathSegList.getItem(1), + a = Math.min(r.x, i.x), + o = Math.min(r.y, i.y), + s = a + n.width + 2, + u = o + n.height + 2, + l = o - 2; + return a - 2 < t[0] && t[0] < s && l < t[1] && t[1] < u; + }), + (E.getShapeIndices = function(e) { + var t, + n, + r = this.config, + i = {}, + a = 0; + return ( + this.filterTargetsToShow( + this.data.targets.filter(e, this) + ).forEach(function(e) { + for (t = 0; t < r.data_groups.length; t++) + if (!(r.data_groups[t].indexOf(e.id) < 0)) + for (n = 0; n < r.data_groups[t].length; n++) + if (r.data_groups[t][n] in i) { + i[e.id] = i[r.data_groups[t][n]]; + break; + } + d(i[e.id]) && (i[e.id] = a++); + }), + (i.__max__ = a - 1), + i + ); + }), + (E.getShapeX = function(e, t, n, r) { + var i = r ? this.subX : this.x; + return function(r) { + var a = r.id in n ? n[r.id] : 0; + return r.x || 0 === r.x ? i(r.x) - e * (t / 2 - a) : 0; + }; + }), + (E.getShapeY = function(e) { + var t = this; + return function(n) { + return (e ? t.getSubYScale(n.id) : t.getYScale(n.id))(n.value); + }; + }), + (E.getShapeOffset = function(e, t, n) { + var r = this, + i = r.orderTargets( + r.filterTargetsToShow(r.data.targets.filter(e, r)) + ), + a = i.map(function(e) { + return e.id; + }); + return function(e, o) { + var s = n ? r.getSubYScale(e.id) : r.getYScale(e.id), + u = s(0), + l = u; + return ( + i.forEach(function(n) { + var i = r.isStepType(e) + ? r.convertValuesToStep(n.values) + : n.values; + n.id !== e.id && + t[n.id] === t[e.id] && + a.indexOf(n.id) < a.indexOf(e.id) && + (("undefined" !== typeof i[o] && +i[o].x === +e.x) || + ((o = -1), + i.forEach(function(t, n) { + t.x === e.x && (o = n); + })), + o in i && + i[o].value * e.value >= 0 && + (l += s(i[o].value) - u)); + }), + l + ); + }; + }), + (E.isWithinShape = function(e, t) { + var n, + i = this, + a = i.d3.select(e); + return ( + i.isTargetToShow(t.id) + ? "circle" === e.nodeName + ? (n = i.isStepType(t) + ? i.isWithinStep(e, i.getYScale(t.id)(t.value)) + : i.isWithinCircle(e, 1.5 * i.pointSelectR(t))) + : "path" === e.nodeName && + (n = !a.classed(r.bar) || i.isWithinBar(e)) + : (n = !1), + n + ); + }), + (E.getInterpolate = function(e) { + var t = this, + n = t.isInterpolationType(t.config.spline_interpolation_type) + ? t.config.spline_interpolation_type + : "cardinal"; + return t.isSplineType(e) + ? n + : t.isStepType(e) + ? t.config.line_step_type + : "linear"; + }), + (E.initLine = function() { + this.main + .select("." + r.chart) + .append("g") + .attr("class", r.chartLines); + }), + (E.updateTargetsForLine = function(e) { + var t, + n = this, + i = n.config, + a = n.classChartLine.bind(n), + o = n.classLines.bind(n), + s = n.classAreas.bind(n), + u = n.classCircles.bind(n), + l = n.classFocus.bind(n); + (t = n.main + .select("." + r.chartLines) + .selectAll("." + r.chartLine) + .data(e) + .attr("class", function(e) { + return a(e) + l(e); + }) + .enter() + .append("g") + .attr("class", a) + .style("opacity", 0) + .style("pointer-events", "none")) + .append("g") + .attr("class", o), + t.append("g").attr("class", s), + t.append("g").attr("class", function(e) { + return n.generateClass(r.selectedCircles, e.id); + }), + t + .append("g") + .attr("class", u) + .style("cursor", function(e) { + return i.data_selection_isselectable(e) ? "pointer" : null; + }), + e.forEach(function(e) { + n.main + .selectAll( + "." + r.selectedCircles + n.getTargetSelectorSuffix(e.id) + ) + .selectAll("." + r.selectedCircle) + .each(function(t) { + t.value = e.values[t.index].value; + }); + }); + }), + (E.updateLine = function(e) { + var t = this; + (t.mainLine = t.main + .selectAll("." + r.lines) + .selectAll("." + r.line) + .data(t.lineData.bind(t))), + t.mainLine + .enter() + .append("path") + .attr("class", t.classLine.bind(t)) + .style("stroke", t.color), + t.mainLine + .style("opacity", t.initialOpacity.bind(t)) + .style("shape-rendering", function(e) { + return t.isStepType(e) ? "crispEdges" : ""; + }) + .attr("transform", null), + t.mainLine + .exit() + .transition() + .duration(e) + .style("opacity", 0) + .remove(); + }), + (E.redrawLine = function(e, t) { + return [ + (t + ? this.mainLine.transition(Math.random().toString()) + : this.mainLine + ) + .attr("d", e) + .style("stroke", this.color) + .style("opacity", 1) + ]; + }), + (E.generateDrawLine = function(e, t) { + var n = this, + r = n.config, + i = n.d3.svg.line(), + a = n.generateGetLinePoints(e, t), + o = t ? n.getSubYScale : n.getYScale, + s = function(e) { + return (t ? n.subxx : n.xx).call(n, e); + }, + u = function(e, t) { + return r.data_groups.length > 0 + ? a(e, t)[0][1] + : o.call(n, e.id)(e.value); + }; + return ( + (i = r.axis_rotated ? i.x(u).y(s) : i.x(s).y(u)), + r.line_connectNull || + (i = i.defined(function(e) { + return null != e.value; + })), + function(e) { + var a, + s = r.line_connectNull + ? n.filterRemoveNull(e.values) + : e.values, + u = t ? n.x : n.subX, + l = o.call(n, e.id), + c = 0, + d = 0; + return ( + n.isLineType(e) + ? r.data_regions[e.id] + ? (a = n.lineWithRegions(s, u, l, r.data_regions[e.id])) + : (n.isStepType(e) && (s = n.convertValuesToStep(s)), + (a = i.interpolate(n.getInterpolate(e))(s))) + : (s[0] && ((c = u(s[0].x)), (d = l(s[0].value))), + (a = r.axis_rotated + ? "M " + d + " " + c + : "M " + c + " " + d)), + a || "M 0 0" + ); + } + ); + }), + (E.generateGetLinePoints = function(e, t) { + var n = this, + r = n.config, + i = e.__max__ + 1, + a = n.getShapeX(0, i, e, !!t), + o = n.getShapeY(!!t), + s = n.getShapeOffset(n.isLineType, e, !!t), + u = t ? n.getSubYScale : n.getYScale; + return function(e, t) { + var i = u.call(n, e.id)(0), + l = s(e, t) || i, + c = a(e), + d = o(e); + return ( + r.axis_rotated && + ((0 < e.value && d < i) || (e.value < 0 && i < d)) && + (d = i), + [ + [c, d - (i - l)], + [c, d - (i - l)], + [c, d - (i - l)], + [c, d - (i - l)] + ] + ); + }; + }), + (E.lineWithRegions = function(e, t, n, r) { + var i, + a, + o, + s, + u, + l, + c, + h, + p, + g, + m, + v = this, + y = v.config, + x = "M", + b = v.isCategorized() ? 0.5 : 0, + _ = []; + function w(e, t) { + var n; + for (n = 0; n < t.length; n++) + if (t[n].start < e && e <= t[n].end) return !0; + return !1; + } + if (f(r)) + for (i = 0; i < r.length; i++) + (_[i] = {}), + d(r[i].start) + ? (_[i].start = e[0].x) + : (_[i].start = v.isTimeSeries() + ? v.parseDate(r[i].start) + : r[i].start), + d(r[i].end) + ? (_[i].end = e[e.length - 1].x) + : (_[i].end = v.isTimeSeries() + ? v.parseDate(r[i].end) + : r[i].end); + function S(e) { + return ( + "M" + e[0][0] + " " + e[0][1] + " " + e[1][0] + " " + e[1][1] + ); + } + for ( + g = y.axis_rotated + ? function(e) { + return n(e.value); + } + : function(e) { + return t(e.x); + }, + m = y.axis_rotated + ? function(e) { + return t(e.x); + } + : function(e) { + return n(e.value); + }, + o = v.isTimeSeries() + ? function(e, r, i, a) { + var o = e.x.getTime(), + s = r.x - e.x, + l = new Date(o + s * i), + c = new Date(o + s * (i + a)); + return S( + y.axis_rotated + ? [[n(u(i)), t(l)], [n(u(i + a)), t(c)]] + : [[t(l), n(u(i))], [t(c), n(u(i + a))]] + ); + } + : function(e, r, i, a) { + return S( + y.axis_rotated + ? [ + [n(u(i), !0), t(s(i))], + [n(u(i + a), !0), t(s(i + a))] + ] + : [ + [t(s(i), !0), n(u(i))], + [t(s(i + a), !0), n(u(i + a))] + ] + ); + }, + i = 0; + i < e.length; + i++ + ) { + if (d(_) || !w(e[i].x, _)) x += " " + g(e[i]) + " " + m(e[i]); + else + for ( + s = v.getScale(e[i - 1].x + b, e[i].x + b, v.isTimeSeries()), + u = v.getScale(e[i - 1].value, e[i].value), + l = t(e[i].x) - t(e[i - 1].x), + c = n(e[i].value) - n(e[i - 1].value), + p = + 2 * (h = 2 / Math.sqrt(Math.pow(l, 2) + Math.pow(c, 2))), + a = h; + a <= 1; + a += p + ) + x += o(e[i - 1], e[i], a, h); + e[i].x; + } + return x; + }), + (E.updateArea = function(e) { + var t = this, + n = t.d3; + (t.mainArea = t.main + .selectAll("." + r.areas) + .selectAll("." + r.area) + .data(t.lineData.bind(t))), + t.mainArea + .enter() + .append("path") + .attr("class", t.classArea.bind(t)) + .style("fill", t.color) + .style("opacity", function() { + return ( + (t.orgAreaOpacity = +n.select(this).style("opacity")), 0 + ); + }), + t.mainArea.style("opacity", t.orgAreaOpacity), + t.mainArea + .exit() + .transition() + .duration(e) + .style("opacity", 0) + .remove(); + }), + (E.redrawArea = function(e, t) { + return [ + (t + ? this.mainArea.transition(Math.random().toString()) + : this.mainArea + ) + .attr("d", e) + .style("fill", this.color) + .style("opacity", this.orgAreaOpacity) + ]; + }), + (E.generateDrawArea = function(e, t) { + var n = this, + r = n.config, + i = n.d3.svg.area(), + a = n.generateGetAreaPoints(e, t), + o = t ? n.getSubYScale : n.getYScale, + s = function(e) { + return (t ? n.subxx : n.xx).call(n, e); + }, + u = function(e, t) { + return r.data_groups.length > 0 + ? a(e, t)[0][1] + : o.call(n, e.id)(n.getAreaBaseValue(e.id)); + }, + l = function(e, t) { + return r.data_groups.length > 0 + ? a(e, t)[1][1] + : o.call(n, e.id)(e.value); + }; + return ( + (i = r.axis_rotated + ? i + .x0(u) + .x1(l) + .y(s) + : i + .x(s) + .y0(r.area_above ? 0 : u) + .y1(l)), + r.line_connectNull || + (i = i.defined(function(e) { + return null !== e.value; + })), + function(e) { + var t, + a = r.line_connectNull + ? n.filterRemoveNull(e.values) + : e.values, + o = 0, + s = 0; + return ( + n.isAreaType(e) + ? (n.isStepType(e) && (a = n.convertValuesToStep(a)), + (t = i.interpolate(n.getInterpolate(e))(a))) + : (a[0] && + ((o = n.x(a[0].x)), + (s = n.getYScale(e.id)(a[0].value))), + (t = r.axis_rotated + ? "M " + s + " " + o + : "M " + o + " " + s)), + t || "M 0 0" + ); + } + ); + }), + (E.getAreaBaseValue = function() { + return 0; + }), + (E.generateGetAreaPoints = function(e, t) { + var n = this, + r = n.config, + i = e.__max__ + 1, + a = n.getShapeX(0, i, e, !!t), + o = n.getShapeY(!!t), + s = n.getShapeOffset(n.isAreaType, e, !!t), + u = t ? n.getSubYScale : n.getYScale; + return function(e, t) { + var i = u.call(n, e.id)(0), + l = s(e, t) || i, + c = a(e), + d = o(e); + return ( + r.axis_rotated && + ((0 < e.value && d < i) || (e.value < 0 && i < d)) && + (d = i), + [[c, l], [c, d - (i - l)], [c, d - (i - l)], [c, l]] + ); + }; + }), + (E.updateCircle = function() { + var e = this; + (e.mainCircle = e.main + .selectAll("." + r.circles) + .selectAll("." + r.circle) + .data(e.lineOrScatterData.bind(e))), + e.mainCircle + .enter() + .append("circle") + .attr("class", e.classCircle.bind(e)) + .attr("r", e.pointR.bind(e)) + .style("fill", e.color), + e.mainCircle.style("opacity", e.initialOpacityForCircle.bind(e)), + e.mainCircle.exit().remove(); + }), + (E.redrawCircle = function(e, t, n) { + var i = this.main.selectAll("." + r.selectedCircle); + return [ + (n + ? this.mainCircle.transition(Math.random().toString()) + : this.mainCircle + ) + .style("opacity", this.opacityForCircle.bind(this)) + .style("fill", this.color) + .attr("cx", e) + .attr("cy", t), + (n ? i.transition(Math.random().toString()) : i) + .attr("cx", e) + .attr("cy", t) + ]; + }), + (E.circleX = function(e) { + return e.x || 0 === e.x ? this.x(e.x) : null; + }), + (E.updateCircleY = function() { + var e, + t, + n = this; + n.config.data_groups.length > 0 + ? ((e = n.getShapeIndices(n.isLineType)), + (t = n.generateGetLinePoints(e)), + (n.circleY = function(e, n) { + return t(e, n)[0][1]; + })) + : (n.circleY = function(e) { + return n.getYScale(e.id)(e.value); + }); + }), + (E.getCircles = function(e, t) { + return (t + ? this.main.selectAll( + "." + r.circles + this.getTargetSelectorSuffix(t) + ) + : this.main + ).selectAll("." + r.circle + (s(e) ? "-" + e : "")); + }), + (E.expandCircles = function(e, t, n) { + var i = this.pointExpandedR.bind(this); + n && this.unexpandCircles(), + this.getCircles(e, t) + .classed(r.EXPANDED, !0) + .attr("r", i); + }), + (E.unexpandCircles = function(e) { + var t = this, + n = t.pointR.bind(t); + t.getCircles(e) + .filter(function() { + return t.d3.select(this).classed(r.EXPANDED); + }) + .classed(r.EXPANDED, !1) + .attr("r", n); + }), + (E.pointR = function(e) { + var t = this.config; + return this.isStepType(e) + ? 0 + : u(t.point_r) + ? t.point_r(e) + : t.point_r; + }), + (E.pointExpandedR = function(e) { + var t = this.config; + return t.point_focus_expand_enabled + ? u(t.point_focus_expand_r) + ? t.point_focus_expand_r(e) + : t.point_focus_expand_r + ? t.point_focus_expand_r + : 1.75 * this.pointR(e) + : this.pointR(e); + }), + (E.pointSelectR = function(e) { + var t = this.config; + return u(t.point_select_r) + ? t.point_select_r(e) + : t.point_select_r + ? t.point_select_r + : 4 * this.pointR(e); + }), + (E.isWithinCircle = function(e, t) { + var n = this.d3, + r = n.mouse(e), + i = n.select(e), + a = +i.attr("cx"), + o = +i.attr("cy"); + return Math.sqrt(Math.pow(a - r[0], 2) + Math.pow(o - r[1], 2)) < t; + }), + (E.isWithinStep = function(e, t) { + return Math.abs(t - this.d3.mouse(e)[1]) < 30; + }), + (E.getCurrentWidth = function() { + var e = this.config; + return e.size_width ? e.size_width : this.getParentWidth(); + }), + (E.getCurrentHeight = function() { + var e = this.config, + t = e.size_height ? e.size_height : this.getParentHeight(); + return t > 0 + ? t + : 320 / (this.hasType("gauge") && !e.gauge_fullCircle ? 2 : 1); + }), + (E.getCurrentPaddingTop = function() { + var e = this.config, + t = s(e.padding_top) ? e.padding_top : 0; + return ( + this.title && this.title.node() && (t += this.getTitlePadding()), + t + ); + }), + (E.getCurrentPaddingBottom = function() { + var e = this.config; + return s(e.padding_bottom) ? e.padding_bottom : 0; + }), + (E.getCurrentPaddingLeft = function(e) { + var t = this.config; + return s(t.padding_left) + ? t.padding_left + : t.axis_rotated + ? !t.axis_x_show || t.axis_x_inner + ? 1 + : Math.max(h(this.getAxisWidthByAxisId("x", e)), 40) + : !t.axis_y_show || t.axis_y_inner + ? this.axis.getYAxisLabelPosition().isOuter + ? 30 + : 1 + : h(this.getAxisWidthByAxisId("y", e)); + }), + (E.getCurrentPaddingRight = function() { + var e = this, + t = e.config, + n = e.isLegendRight ? e.getLegendWidth() + 20 : 0; + return s(t.padding_right) + ? t.padding_right + 1 + : t.axis_rotated + ? 10 + n + : !t.axis_y2_show || t.axis_y2_inner + ? 2 + n + (e.axis.getY2AxisLabelPosition().isOuter ? 20 : 0) + : h(e.getAxisWidthByAxisId("y2")) + n; + }), + (E.getParentRectValue = function(e) { + for ( + var t, n = this.selectChart.node(); + n && "BODY" !== n.tagName; + + ) { + try { + t = n.getBoundingClientRect()[e]; + } catch (r) { + "width" === e && (t = n.offsetWidth); + } + if (t) break; + n = n.parentNode; + } + return t; + }), + (E.getParentWidth = function() { + return this.getParentRectValue("width"); + }), + (E.getParentHeight = function() { + var e = this.selectChart.style("height"); + return e.indexOf("px") > 0 ? +e.replace("px", "") : 0; + }), + (E.getSvgLeft = function(e) { + var t = this, + n = t.config, + i = n.axis_rotated || (!n.axis_rotated && !n.axis_y_inner), + a = n.axis_rotated ? r.axisX : r.axisY, + o = t.main.select("." + a).node(), + s = o && i ? o.getBoundingClientRect() : { right: 0 }, + u = t.selectChart.node().getBoundingClientRect(), + l = t.hasArcType(), + c = s.right - u.left - (l ? 0 : t.getCurrentPaddingLeft(e)); + return c > 0 ? c : 0; + }), + (E.getAxisWidthByAxisId = function(e, t) { + var n = this.axis.getLabelPositionById(e); + return this.axis.getMaxTickWidth(e, t) + (n.isInner ? 20 : 40); + }), + (E.getHorizontalAxisHeight = function(e) { + var t = this, + n = t.config, + r = 30; + return "x" !== e || n.axis_x_show + ? "x" === e && n.axis_x_height + ? n.axis_x_height + : "y" !== e || n.axis_y_show + ? "y2" !== e || n.axis_y2_show + ? ("x" === e && + !n.axis_rotated && + n.axis_x_tick_rotate && + (r = + 30 + + t.axis.getMaxTickWidth(e) * + Math.cos( + (Math.PI * (90 - n.axis_x_tick_rotate)) / 180 + )), + "y" === e && + n.axis_rotated && + n.axis_y_tick_rotate && + (r = + 30 + + t.axis.getMaxTickWidth(e) * + Math.cos( + (Math.PI * (90 - n.axis_y_tick_rotate)) / 180 + )), + r + + (t.axis.getLabelPositionById(e).isInner ? 0 : 10) + + ("y2" === e ? -10 : 0)) + : t.rotated_padding_top + : !n.legend_show || t.isLegendRight || t.isLegendInset + ? 1 + : 10 + : 8; + }), + (E.getEventRectWidth = function() { + return Math.max(0, this.xAxis.tickInterval()); + }), + (E.initBrush = function() { + var e = this, + t = e.d3; + (e.brush = t.svg.brush().on("brush", function() { + e.redrawForBrush(); + })), + (e.brush.update = function() { + return ( + e.context && e.context.select("." + r.brush).call(this), this + ); + }), + (e.brush.scale = function(t) { + return e.config.axis_rotated ? this.y(t) : this.x(t); + }); + }), + (E.initSubchart = function() { + var e = this, + t = e.config, + n = (e.context = e.svg + .append("g") + .attr("transform", e.getTranslate("context"))), + i = t.subchart_show ? "visible" : "hidden"; + n.style("visibility", i), + n + .append("g") + .attr("clip-path", e.clipPathForSubchart) + .attr("class", r.chart), + n + .select("." + r.chart) + .append("g") + .attr("class", r.chartBars), + n + .select("." + r.chart) + .append("g") + .attr("class", r.chartLines), + n + .append("g") + .attr("clip-path", e.clipPath) + .attr("class", r.brush) + .call(e.brush), + (e.axes.subx = n + .append("g") + .attr("class", r.axisX) + .attr("transform", e.getTranslate("subx")) + .attr("clip-path", t.axis_rotated ? "" : e.clipPathForXAxis) + .style("visibility", t.subchart_axis_x_show ? i : "hidden")); + }), + (E.updateTargetsForSubchart = function(e) { + var t, + n = this, + i = n.context, + a = n.config, + o = n.classChartBar.bind(n), + s = n.classBars.bind(n), + u = n.classChartLine.bind(n), + l = n.classLines.bind(n), + c = n.classAreas.bind(n); + a.subchart_show && + (i + .select("." + r.chartBars) + .selectAll("." + r.chartBar) + .data(e) + .attr("class", o) + .enter() + .append("g") + .style("opacity", 0) + .attr("class", o) + .append("g") + .attr("class", s), + (t = i + .select("." + r.chartLines) + .selectAll("." + r.chartLine) + .data(e) + .attr("class", u) + .enter() + .append("g") + .style("opacity", 0) + .attr("class", u)) + .append("g") + .attr("class", l), + t.append("g").attr("class", c), + i + .selectAll("." + r.brush + " rect") + .attr( + a.axis_rotated ? "width" : "height", + a.axis_rotated ? n.width2 : n.height2 + )); + }), + (E.updateBarForSubchart = function(e) { + var t = this; + (t.contextBar = t.context + .selectAll("." + r.bars) + .selectAll("." + r.bar) + .data(t.barData.bind(t))), + t.contextBar + .enter() + .append("path") + .attr("class", t.classBar.bind(t)) + .style("stroke", "none") + .style("fill", t.color), + t.contextBar.style("opacity", t.initialOpacity.bind(t)), + t.contextBar + .exit() + .transition() + .duration(e) + .style("opacity", 0) + .remove(); + }), + (E.redrawBarForSubchart = function(e, t, n) { + (t + ? this.contextBar.transition(Math.random().toString()).duration(n) + : this.contextBar + ) + .attr("d", e) + .style("opacity", 1); + }), + (E.updateLineForSubchart = function(e) { + var t = this; + (t.contextLine = t.context + .selectAll("." + r.lines) + .selectAll("." + r.line) + .data(t.lineData.bind(t))), + t.contextLine + .enter() + .append("path") + .attr("class", t.classLine.bind(t)) + .style("stroke", t.color), + t.contextLine.style("opacity", t.initialOpacity.bind(t)), + t.contextLine + .exit() + .transition() + .duration(e) + .style("opacity", 0) + .remove(); + }), + (E.redrawLineForSubchart = function(e, t, n) { + (t + ? this.contextLine + .transition(Math.random().toString()) + .duration(n) + : this.contextLine + ) + .attr("d", e) + .style("opacity", 1); + }), + (E.updateAreaForSubchart = function(e) { + var t = this, + n = t.d3; + (t.contextArea = t.context + .selectAll("." + r.areas) + .selectAll("." + r.area) + .data(t.lineData.bind(t))), + t.contextArea + .enter() + .append("path") + .attr("class", t.classArea.bind(t)) + .style("fill", t.color) + .style("opacity", function() { + return ( + (t.orgAreaOpacity = +n.select(this).style("opacity")), 0 + ); + }), + t.contextArea.style("opacity", 0), + t.contextArea + .exit() + .transition() + .duration(e) + .style("opacity", 0) + .remove(); + }), + (E.redrawAreaForSubchart = function(e, t, n) { + (t + ? this.contextArea + .transition(Math.random().toString()) + .duration(n) + : this.contextArea + ) + .attr("d", e) + .style("fill", this.color) + .style("opacity", this.orgAreaOpacity); + }), + (E.redrawSubchart = function(e, t, n, r, i, a, o) { + var s, + u, + l, + c = this, + d = c.d3, + f = c.config; + c.context.style( + "visibility", + f.subchart_show ? "visible" : "hidden" + ), + f.subchart_show && + (d.event && + "zoom" === d.event.type && + c.brush.extent(c.x.orgDomain()).update(), + e && + (c.brush.empty() || c.brush.extent(c.x.orgDomain()).update(), + (s = c.generateDrawArea(i, !0)), + (u = c.generateDrawBar(a, !0)), + (l = c.generateDrawLine(o, !0)), + c.updateBarForSubchart(n), + c.updateLineForSubchart(n), + c.updateAreaForSubchart(n), + c.redrawBarForSubchart(u, n, n), + c.redrawLineForSubchart(l, n, n), + c.redrawAreaForSubchart(s, n, n))); + }), + (E.redrawForBrush = function() { + var e = this, + t = e.x; + e.redraw({ + withTransition: !1, + withY: e.config.zoom_rescale, + withSubchart: !1, + withUpdateXDomain: !0, + withDimension: !1 + }), + e.config.subchart_onbrush.call(e.api, t.orgDomain()); + }), + (E.transformContext = function(e, t) { + var n; + t && t.axisSubX + ? (n = t.axisSubX) + : ((n = this.context.select("." + r.axisX)), + e && (n = n.transition())), + this.context.attr("transform", this.getTranslate("context")), + n.attr("transform", this.getTranslate("subx")); + }), + (E.getDefaultExtent = function() { + var e = this, + t = e.config, + n = u(t.axis_x_extent) + ? t.axis_x_extent(e.getXDomain(e.data.targets)) + : t.axis_x_extent; + return ( + e.isTimeSeries() && (n = [e.parseDate(n[0]), e.parseDate(n[1])]), + n + ); + }), + (E.initText = function() { + this.main + .select("." + r.chart) + .append("g") + .attr("class", r.chartTexts), + (this.mainText = this.d3.selectAll([])); + }), + (E.updateTargetsForText = function(e) { + var t = this, + n = t.classChartText.bind(t), + i = t.classTexts.bind(t), + a = t.classFocus.bind(t); + t.main + .select("." + r.chartTexts) + .selectAll("." + r.chartText) + .data(e) + .attr("class", function(e) { + return n(e) + a(e); + }) + .enter() + .append("g") + .attr("class", n) + .style("opacity", 0) + .style("pointer-events", "none") + .append("g") + .attr("class", i); + }), + (E.updateText = function(e) { + var t = this, + n = t.config, + i = t.barOrLineData.bind(t), + a = t.classText.bind(t); + (t.mainText = t.main + .selectAll("." + r.texts) + .selectAll("." + r.text) + .data(i)), + t.mainText + .enter() + .append("text") + .attr("class", a) + .attr("text-anchor", function(e) { + return n.axis_rotated + ? e.value < 0 + ? "end" + : "start" + : "middle"; + }) + .style("stroke", "none") + .style("fill", function(e) { + return t.color(e); + }) + .style("fill-opacity", 0), + t.mainText.text(function(e, n, r) { + return t.dataLabelFormat(e.id)(e.value, e.id, n, r); + }), + t.mainText + .exit() + .transition() + .duration(e) + .style("fill-opacity", 0) + .remove(); + }), + (E.redrawText = function(e, t, n, r) { + return [ + (r ? this.mainText.transition() : this.mainText) + .attr("x", e) + .attr("y", t) + .style("fill", this.color) + .style("fill-opacity", n ? 0 : this.opacityForText.bind(this)) + ]; + }), + (E.getTextRect = function(e, t, n) { + var r, + i = this.d3 + .select("body") + .append("div") + .classed("c3", !0), + a = i + .append("svg") + .style("visibility", "hidden") + .style("position", "fixed") + .style("top", 0) + .style("left", 0), + o = this.d3.select(n).style("font"); + return ( + a + .selectAll(".dummy") + .data([e]) + .enter() + .append("text") + .classed(t || "", !0) + .style("font", o) + .text(e) + .each(function() { + r = this.getBoundingClientRect(); + }), + i.remove(), + r + ); + }), + (E.generateXYForText = function(e, t, n, r) { + var i = this, + a = i.generateGetAreaPoints(e, !1), + o = i.generateGetBarPoints(t, !1), + s = i.generateGetLinePoints(n, !1), + u = r ? i.getXForText : i.getYForText; + return function(e, t) { + var n = i.isAreaType(e) ? a : i.isBarType(e) ? o : s; + return u.call(i, n(e, t), e, this); + }; + }), + (E.getXForText = function(e, t, n) { + var r, + i, + a = this, + o = n.getBoundingClientRect(); + return ( + a.config.axis_rotated + ? ((i = a.isBarType(t) ? 4 : 6), + (r = e[2][1] + i * (t.value < 0 ? -1 : 1))) + : (r = a.hasType("bar") ? (e[2][0] + e[0][0]) / 2 : e[0][0]), + null === t.value && + (r > a.width ? (r = a.width - o.width) : r < 0 && (r = 4)), + r + ); + }), + (E.getYForText = function(e, t, n) { + var r, + i = this, + a = n.getBoundingClientRect(); + return ( + i.config.axis_rotated + ? (r = (e[0][0] + e[2][0] + 0.6 * a.height) / 2) + : ((r = e[2][1]), + t.value < 0 || (0 === t.value && !i.hasPositiveValue) + ? ((r += a.height), + i.isBarType(t) && i.isSafari() + ? (r -= 3) + : !i.isBarType(t) && i.isChrome() && (r += 3)) + : (r += i.isBarType(t) ? -3 : -6)), + null !== t.value || + i.config.axis_rotated || + (r < a.height + ? (r = a.height) + : r > this.height && (r = this.height - 4)), + r + ); + }), + (E.initTitle = function() { + this.title = this.svg + .append("text") + .text(this.config.title_text) + .attr("class", this.CLASS.title); + }), + (E.redrawTitle = function() { + var e = this; + e.title + .attr("x", e.xForTitle.bind(e)) + .attr("y", e.yForTitle.bind(e)); + }), + (E.xForTitle = function() { + var e = this, + t = e.config, + n = t.title_position || "left"; + return n.indexOf("right") >= 0 + ? e.currentWidth - + e.getTextRect( + e.title.node().textContent, + e.CLASS.title, + e.title.node() + ).width - + t.title_padding.right + : n.indexOf("center") >= 0 + ? (e.currentWidth - + e.getTextRect( + e.title.node().textContent, + e.CLASS.title, + e.title.node() + ).width) / + 2 + : t.title_padding.left; + }), + (E.yForTitle = function() { + var e = this; + return ( + e.config.title_padding.top + + e.getTextRect( + e.title.node().textContent, + e.CLASS.title, + e.title.node() + ).height + ); + }), + (E.getTitlePadding = function() { + return this.yForTitle() + this.config.title_padding.bottom; + }), + (E.initTooltip = function() { + var e, + t = this, + n = t.config; + if ( + ((t.tooltip = t.selectChart + .style("position", "relative") + .append("div") + .attr("class", r.tooltipContainer) + .style("position", "absolute") + .style("pointer-events", "none") + .style("display", "none")), + n.tooltip_init_show) + ) { + if (t.isTimeSeries() && c(n.tooltip_init_x)) { + for ( + n.tooltip_init_x = t.parseDate(n.tooltip_init_x), e = 0; + e < t.data.targets[0].values.length && + t.data.targets[0].values[e].x - n.tooltip_init_x !== 0; + e++ + ); + n.tooltip_init_x = e; + } + t.tooltip.html( + n.tooltip_contents.call( + t, + t.data.targets.map(function(e) { + return t.addName(e.values[n.tooltip_init_x]); + }), + t.axis.getXAxisTickFormat(), + t.getYFormat(t.hasArcType()), + t.color + ) + ), + t.tooltip + .style("top", n.tooltip_init_position.top) + .style("left", n.tooltip_init_position.left) + .style("display", "block"); + } + }), + (E.getTooltipSortFunction = function() { + var e = this, + t = e.config; + if (0 !== t.data_groups.length && void 0 === t.tooltip_order) { + var n = e.orderTargets(e.data.targets).map(function(e) { + return e.id; + }); + return ( + (e.isOrderAsc() || e.isOrderDesc()) && (n = n.reverse()), + function(e, t) { + return n.indexOf(e.id) - n.indexOf(t.id); + } + ); + } + var r = t.tooltip_order; + void 0 === r && (r = t.data_order); + var i = function(e) { + return e ? e.value : null; + }; + if (c(r) && "asc" === r.toLowerCase()) + return function(e, t) { + return i(e) - i(t); + }; + if (c(r) && "desc" === r.toLowerCase()) + return function(e, t) { + return i(t) - i(e); + }; + if (u(r)) { + var a = r; + return ( + void 0 === t.tooltip_order && + (a = function(e, t) { + return r( + e ? { id: e.id, values: [e] } : null, + t ? { id: t.id, values: [t] } : null + ); + }), + a + ); + } + return l(r) + ? function(e, t) { + return r.indexOf(e.id) - r.indexOf(t.id); + } + : void 0; + }), + (E.getTooltipContent = function(e, t, n, r) { + var i, + a, + o, + s, + u, + l, + c = this, + d = c.config, + f = d.tooltip_format_title || t, + h = + d.tooltip_format_name || + function(e) { + return e; + }, + p = d.tooltip_format_value || n, + g = this.getTooltipSortFunction(); + for (g && e.sort(g), a = 0; a < e.length; a++) + if ( + e[a] && + (e[a].value || 0 === e[a].value) && + (i || + ((o = b(f ? f(e[a].x) : e[a].x)), + (i = + "" + + (o || 0 === o + ? "" + : ""))), + void 0 !== + (s = b(p(e[a].value, e[a].ratio, e[a].id, e[a].index, e)))) + ) { + if (null === e[a].name) continue; + (u = b(h(e[a].name, e[a].ratio, e[a].id, e[a].index))), + (l = c.levelColor ? c.levelColor(e[a].value) : r(e[a].id)), + (i += + ""), + (i += + ""), + (i += ""), + (i += ""); + } + return i + "
" + o + "
" + + u + + "" + s + "
"; + }), + (E.tooltipPosition = function(e, t, n, r) { + var i, + a, + o, + s, + u, + l = this, + c = l.config, + d = l.d3, + f = l.hasArcType(), + h = d.mouse(r); + return ( + f + ? ((a = + (l.width - (l.isLegendRight ? l.getLegendWidth() : 0)) / 2 + + h[0]), + (s = + (l.hasType("gauge") ? l.height : l.height / 2) + h[1] + 20)) + : ((i = l.getSvgLeft(!0)), + c.axis_rotated + ? ((o = (a = i + h[0] + 100) + t), + (u = l.currentWidth - l.getCurrentPaddingRight()), + (s = l.x(e[0].x) + 20)) + : ((o = + (a = + i + l.getCurrentPaddingLeft(!0) + l.x(e[0].x) + 20) + + t), + (u = i + l.currentWidth - l.getCurrentPaddingRight()), + (s = h[1] + 15)), + o > u && (a -= o - u + 20), + s + n > l.currentHeight && (s -= n + 30)), + s < 0 && (s = 0), + { top: s, left: a } + ); + }), + (E.showTooltip = function(e, t) { + var n, + r, + i, + a = this, + o = a.config, + u = a.hasArcType(), + l = e.filter(function(e) { + return e && s(e.value); + }), + c = o.tooltip_position || E.tooltipPosition; + 0 !== l.length && + o.tooltip_show && + (a.tooltip + .html( + o.tooltip_contents.call( + a, + e, + a.axis.getXAxisTickFormat(), + a.getYFormat(u), + a.color + ) + ) + .style("display", "block"), + (n = a.tooltip.property("offsetWidth")), + (r = a.tooltip.property("offsetHeight")), + (i = c.call(this, l, n, r, t)), + a.tooltip + .style("top", i.top + "px") + .style("left", i.left + "px")); + }), + (E.hideTooltip = function() { + this.tooltip.style("display", "none"); + }), + (E.setTargetType = function(e, t) { + var n = this, + r = n.config; + n.mapToTargetIds(e).forEach(function(e) { + (n.withoutFadeIn[e] = t === r.data_types[e]), + (r.data_types[e] = t); + }), + e || (r.data_type = t); + }), + (E.hasType = function(e, t) { + var n = this.config.data_types, + r = !1; + return ( + (t = t || this.data.targets) && t.length + ? t.forEach(function(t) { + var i = n[t.id]; + ((i && i.indexOf(e) >= 0) || (!i && "line" === e)) && + (r = !0); + }) + : Object.keys(n).length + ? Object.keys(n).forEach(function(t) { + n[t] === e && (r = !0); + }) + : (r = this.config.data_type === e), + r + ); + }), + (E.hasArcType = function(e) { + return ( + this.hasType("pie", e) || + this.hasType("donut", e) || + this.hasType("gauge", e) + ); + }), + (E.isLineType = function(e) { + var t = this.config, + n = c(e) ? e : e.id; + return ( + !t.data_types[n] || + [ + "line", + "spline", + "area", + "area-spline", + "step", + "area-step" + ].indexOf(t.data_types[n]) >= 0 + ); + }), + (E.isStepType = function(e) { + var t = c(e) ? e : e.id; + return ( + ["step", "area-step"].indexOf(this.config.data_types[t]) >= 0 + ); + }), + (E.isSplineType = function(e) { + var t = c(e) ? e : e.id; + return ( + ["spline", "area-spline"].indexOf(this.config.data_types[t]) >= 0 + ); + }), + (E.isAreaType = function(e) { + var t = c(e) ? e : e.id; + return ( + ["area", "area-spline", "area-step"].indexOf( + this.config.data_types[t] + ) >= 0 + ); + }), + (E.isBarType = function(e) { + var t = c(e) ? e : e.id; + return "bar" === this.config.data_types[t]; + }), + (E.isScatterType = function(e) { + var t = c(e) ? e : e.id; + return "scatter" === this.config.data_types[t]; + }), + (E.isPieType = function(e) { + var t = c(e) ? e : e.id; + return "pie" === this.config.data_types[t]; + }), + (E.isGaugeType = function(e) { + var t = c(e) ? e : e.id; + return "gauge" === this.config.data_types[t]; + }), + (E.isDonutType = function(e) { + var t = c(e) ? e : e.id; + return "donut" === this.config.data_types[t]; + }), + (E.isArcType = function(e) { + return ( + this.isPieType(e) || this.isDonutType(e) || this.isGaugeType(e) + ); + }), + (E.lineData = function(e) { + return this.isLineType(e) ? [e] : []; + }), + (E.arcData = function(e) { + return this.isArcType(e.data) ? [e] : []; + }), + (E.barData = function(e) { + return this.isBarType(e) ? e.values : []; + }), + (E.lineOrScatterData = function(e) { + return this.isLineType(e) || this.isScatterType(e) ? e.values : []; + }), + (E.barOrLineData = function(e) { + return this.isBarType(e) || this.isLineType(e) ? e.values : []; + }), + (E.isInterpolationType = function(e) { + return ( + [ + "linear", + "linear-closed", + "basis", + "basis-open", + "basis-closed", + "bundle", + "cardinal", + "cardinal-open", + "cardinal-closed", + "monotone" + ].indexOf(e) >= 0 + ); + }), + (E.isSafari = function() { + var e = window.navigator.userAgent; + return e.indexOf("Safari") >= 0 && e.indexOf("Chrome") < 0; + }), + (E.isChrome = function() { + return window.navigator.userAgent.indexOf("Chrome") >= 0; + }), + (E.initZoom = function() { + var e, + t = this, + n = t.d3, + r = t.config; + (t.zoom = n.behavior + .zoom() + .on("zoomstart", function() { + (e = n.event.sourceEvent), + (t.zoom.altDomain = n.event.sourceEvent.altKey + ? t.x.orgDomain() + : null), + r.zoom_onzoomstart.call(t.api, n.event.sourceEvent); + }) + .on("zoom", function() { + t.redrawForZoom.call(t); + }) + .on("zoomend", function() { + var i = n.event.sourceEvent; + (i && e.clientX === i.clientX && e.clientY === i.clientY) || + (t.redrawEventRect(), + t.updateZoom(), + r.zoom_onzoomend.call(t.api, t.x.orgDomain())); + })), + (t.zoom.scale = function(e) { + return r.axis_rotated ? this.y(e) : this.x(e); + }), + (t.zoom.orgScaleExtent = function() { + var e = r.zoom_extent ? r.zoom_extent : [1, 10]; + return [e[0], Math.max(t.getMaxDataCount() / e[1], e[1])]; + }), + (t.zoom.updateScaleExtent = function() { + var e = g(t.x.orgDomain()) / g(t.getZoomDomain()), + n = this.orgScaleExtent(); + return this.scaleExtent([n[0] * e, n[1] * e]), this; + }); + }), + (E.getZoomDomain = function() { + var e = this.config, + t = this.d3; + return [ + t.min([this.orgXDomain[0], e.zoom_x_min]), + t.max([this.orgXDomain[1], e.zoom_x_max]) + ]; + }), + (E.updateZoom = function() { + var e = this.config.zoom_enabled ? this.zoom : function() {}; + this.main + .select("." + r.zoomRect) + .call(e) + .on("dblclick.zoom", null), + this.main + .selectAll("." + r.eventRect) + .call(e) + .on("dblclick.zoom", null); + }), + (E.redrawForZoom = function() { + var e = this, + t = e.d3, + n = e.config, + r = e.zoom, + i = e.x; + if ( + n.zoom_enabled && + 0 !== e.filterTargetsToShow(e.data.targets).length + ) { + if ("mousemove" === t.event.sourceEvent.type && r.altDomain) + return ( + i.domain(r.altDomain), void r.scale(i).updateScaleExtent() + ); + e.isCategorized() && + i.orgDomain()[0] === e.orgXDomain[0] && + i.domain([e.orgXDomain[0] - 1e-10, i.orgDomain()[1]]), + e.redraw({ + withTransition: !1, + withY: n.zoom_rescale, + withSubchart: !1, + withEventRect: !1, + withDimension: !1 + }), + "mousemove" === t.event.sourceEvent.type && + (e.cancelClick = !0), + n.zoom_onzoom.call(e.api, i.orgDomain()); + } + }), + C + ); + })(); + }, + function(e, t, n) { + var r, i; + !(function() { + var a = { version: "3.5.17" }, + o = [].slice, + s = function(e) { + return o.call(e); + }, + u = this.document; + function l(e) { + return e && (e.ownerDocument || e.document || e).documentElement; + } + function c(e) { + return ( + e && + ((e.ownerDocument && e.ownerDocument.defaultView) || + (e.document && e) || + e.defaultView) + ); + } + if (u) + try { + s(u.documentElement.childNodes)[0].nodeType; + } catch (Ws) { + s = function(e) { + for (var t = e.length, n = new Array(t); t--; ) n[t] = e[t]; + return n; + }; + } + if ( + (Date.now || + (Date.now = function() { + return +new Date(); + }), + u) + ) + try { + u.createElement("DIV").style.setProperty("opacity", 0, ""); + } catch (qs) { + var d = this.Element.prototype, + f = d.setAttribute, + h = d.setAttributeNS, + p = this.CSSStyleDeclaration.prototype, + g = p.setProperty; + (d.setAttribute = function(e, t) { + f.call(this, e, t + ""); + }), + (d.setAttributeNS = function(e, t, n) { + h.call(this, e, t, n + ""); + }), + (p.setProperty = function(e, t, n) { + g.call(this, e, t + "", n); + }); + } + function m(e, t) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + } + function v(e) { + return null === e ? NaN : +e; + } + function y(e) { + return !isNaN(e); + } + function x(e) { + return { + left: function(t, n, r, i) { + for ( + arguments.length < 3 && (r = 0), + arguments.length < 4 && (i = t.length); + r < i; + + ) { + var a = (r + i) >>> 1; + e(t[a], n) < 0 ? (r = a + 1) : (i = a); + } + return r; + }, + right: function(t, n, r, i) { + for ( + arguments.length < 3 && (r = 0), + arguments.length < 4 && (i = t.length); + r < i; + + ) { + var a = (r + i) >>> 1; + e(t[a], n) > 0 ? (i = a) : (r = a + 1); + } + return r; + } + }; + } + (a.ascending = m), + (a.descending = function(e, t) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + }), + (a.min = function(e, t) { + var n, + r, + i = -1, + a = e.length; + if (1 === arguments.length) { + for (; ++i < a; ) + if (null != (r = e[i]) && r >= r) { + n = r; + break; + } + for (; ++i < a; ) null != (r = e[i]) && n > r && (n = r); + } else { + for (; ++i < a; ) + if (null != (r = t.call(e, e[i], i)) && r >= r) { + n = r; + break; + } + for (; ++i < a; ) + null != (r = t.call(e, e[i], i)) && n > r && (n = r); + } + return n; + }), + (a.max = function(e, t) { + var n, + r, + i = -1, + a = e.length; + if (1 === arguments.length) { + for (; ++i < a; ) + if (null != (r = e[i]) && r >= r) { + n = r; + break; + } + for (; ++i < a; ) null != (r = e[i]) && r > n && (n = r); + } else { + for (; ++i < a; ) + if (null != (r = t.call(e, e[i], i)) && r >= r) { + n = r; + break; + } + for (; ++i < a; ) + null != (r = t.call(e, e[i], i)) && r > n && (n = r); + } + return n; + }), + (a.extent = function(e, t) { + var n, + r, + i, + a = -1, + o = e.length; + if (1 === arguments.length) { + for (; ++a < o; ) + if (null != (r = e[a]) && r >= r) { + n = i = r; + break; + } + for (; ++a < o; ) + null != (r = e[a]) && (n > r && (n = r), i < r && (i = r)); + } else { + for (; ++a < o; ) + if (null != (r = t.call(e, e[a], a)) && r >= r) { + n = i = r; + break; + } + for (; ++a < o; ) + null != (r = t.call(e, e[a], a)) && + (n > r && (n = r), i < r && (i = r)); + } + return [n, i]; + }), + (a.sum = function(e, t) { + var n, + r = 0, + i = e.length, + a = -1; + if (1 === arguments.length) + for (; ++a < i; ) y((n = +e[a])) && (r += n); + else for (; ++a < i; ) y((n = +t.call(e, e[a], a))) && (r += n); + return r; + }), + (a.mean = function(e, t) { + var n, + r = 0, + i = e.length, + a = -1, + o = i; + if (1 === arguments.length) + for (; ++a < i; ) y((n = v(e[a]))) ? (r += n) : --o; + else + for (; ++a < i; ) y((n = v(t.call(e, e[a], a)))) ? (r += n) : --o; + if (o) return r / o; + }), + (a.quantile = function(e, t) { + var n = (e.length - 1) * t + 1, + r = Math.floor(n), + i = +e[r - 1], + a = n - r; + return a ? i + a * (e[r] - i) : i; + }), + (a.median = function(e, t) { + var n, + r = [], + i = e.length, + o = -1; + if (1 === arguments.length) + for (; ++o < i; ) y((n = v(e[o]))) && r.push(n); + else for (; ++o < i; ) y((n = v(t.call(e, e[o], o)))) && r.push(n); + if (r.length) return a.quantile(r.sort(m), 0.5); + }), + (a.variance = function(e, t) { + var n, + r, + i = e.length, + a = 0, + o = 0, + s = -1, + u = 0; + if (1 === arguments.length) + for (; ++s < i; ) + y((n = v(e[s]))) && (o += (r = n - a) * (n - (a += r / ++u))); + else + for (; ++s < i; ) + y((n = v(t.call(e, e[s], s)))) && + (o += (r = n - a) * (n - (a += r / ++u))); + if (u > 1) return o / (u - 1); + }), + (a.deviation = function() { + var e = a.variance.apply(this, arguments); + return e ? Math.sqrt(e) : e; + }); + var b = x(m); + function _(e) { + return e.length; + } + (a.bisectLeft = b.left), + (a.bisect = a.bisectRight = b.right), + (a.bisector = function(e) { + return x( + 1 === e.length + ? function(t, n) { + return m(e(t), n); + } + : e + ); + }), + (a.shuffle = function(e, t, n) { + (a = arguments.length) < 3 && ((n = e.length), a < 2 && (t = 0)); + for (var r, i, a = n - t; a; ) + (i = (Math.random() * a--) | 0), + (r = e[a + t]), + (e[a + t] = e[i + t]), + (e[i + t] = r); + return e; + }), + (a.permute = function(e, t) { + for (var n = t.length, r = new Array(n); n--; ) r[n] = e[t[n]]; + return r; + }), + (a.pairs = function(e) { + for ( + var t = 0, + n = e.length - 1, + r = e[0], + i = new Array(n < 0 ? 0 : n); + t < n; + + ) + i[t] = [r, (r = e[++t])]; + return i; + }), + (a.transpose = function(e) { + if (!(i = e.length)) return []; + for (var t = -1, n = a.min(e, _), r = new Array(n); ++t < n; ) + for (var i, o = -1, s = (r[t] = new Array(i)); ++o < i; ) + s[o] = e[o][t]; + return r; + }), + (a.zip = function() { + return a.transpose(arguments); + }), + (a.keys = function(e) { + var t = []; + for (var n in e) t.push(n); + return t; + }), + (a.values = function(e) { + var t = []; + for (var n in e) t.push(e[n]); + return t; + }), + (a.entries = function(e) { + var t = []; + for (var n in e) t.push({ key: n, value: e[n] }); + return t; + }), + (a.merge = function(e) { + for (var t, n, r, i = e.length, a = -1, o = 0; ++a < i; ) + o += e[a].length; + for (n = new Array(o); --i >= 0; ) + for (t = (r = e[i]).length; --t >= 0; ) n[--o] = r[t]; + return n; + }); + var w = Math.abs; + function S(e, t) { + for (var n in t) + Object.defineProperty(e.prototype, n, { + value: t[n], + enumerable: !1 + }); + } + function T() { + this._ = Object.create(null); + } + (a.range = function(e, t, n) { + if ( + (arguments.length < 3 && + ((n = 1), arguments.length < 2 && ((t = e), (e = 0))), + (t - e) / n === 1 / 0) + ) + throw new Error("infinite range"); + var r, + i = [], + a = (function(e) { + var t = 1; + for (; (e * t) % 1; ) t *= 10; + return t; + })(w(n)), + o = -1; + if (((e *= a), (t *= a), (n *= a) < 0)) + for (; (r = e + n * ++o) > t; ) i.push(r / a); + else for (; (r = e + n * ++o) < t; ) i.push(r / a); + return i; + }), + (a.map = function(e, t) { + var n = new T(); + if (e instanceof T) + e.forEach(function(e, t) { + n.set(e, t); + }); + else if (Array.isArray(e)) { + var r, + i = -1, + a = e.length; + if (1 === arguments.length) for (; ++i < a; ) n.set(i, e[i]); + else for (; ++i < a; ) n.set(t.call(e, (r = e[i]), i), r); + } else for (var o in e) n.set(o, e[o]); + return n; + }); + var E = "__proto__", + C = "\0"; + function O(e) { + return (e += "") === E || e[0] === C ? C + e : e; + } + function P(e) { + return (e += "")[0] === C ? e.slice(1) : e; + } + function A(e) { + return O(e) in this._; + } + function k(e) { + return (e = O(e)) in this._ && delete this._[e]; + } + function N() { + var e = []; + for (var t in this._) e.push(P(t)); + return e; + } + function M() { + var e = 0; + for (var t in this._) ++e; + return e; + } + function L() { + for (var e in this._) return !1; + return !0; + } + function j() { + this._ = Object.create(null); + } + function R(e) { + return e; + } + function I(e, t, n) { + return function() { + var r = n.apply(t, arguments); + return r === t ? e : r; + }; + } + function V(e, t) { + if (t in e) return t; + t = t.charAt(0).toUpperCase() + t.slice(1); + for (var n = 0, r = F.length; n < r; ++n) { + var i = F[n] + t; + if (i in e) return i; + } + } + S(T, { + has: A, + get: function(e) { + return this._[O(e)]; + }, + set: function(e, t) { + return (this._[O(e)] = t); + }, + remove: k, + keys: N, + values: function() { + var e = []; + for (var t in this._) e.push(this._[t]); + return e; + }, + entries: function() { + var e = []; + for (var t in this._) e.push({ key: P(t), value: this._[t] }); + return e; + }, + size: M, + empty: L, + forEach: function(e) { + for (var t in this._) e.call(this, P(t), this._[t]); + } + }), + (a.nest = function() { + var e, + t, + n = {}, + r = [], + i = []; + function o(i, a, s) { + if (s >= r.length) return t ? t.call(n, a) : e ? a.sort(e) : a; + for ( + var u, l, c, d, f = -1, h = a.length, p = r[s++], g = new T(); + ++f < h; + + ) + (d = g.get((u = p((l = a[f]))))) ? d.push(l) : g.set(u, [l]); + return ( + i + ? ((l = i()), + (c = function(e, t) { + l.set(e, o(i, t, s)); + })) + : ((l = {}), + (c = function(e, t) { + l[e] = o(i, t, s); + })), + g.forEach(c), + l + ); + } + return ( + (n.map = function(e, t) { + return o(t, e, 0); + }), + (n.entries = function(e) { + return (function e(t, n) { + if (n >= r.length) return t; + var a = [], + o = i[n++]; + return ( + t.forEach(function(t, r) { + a.push({ key: t, values: e(r, n) }); + }), + o + ? a.sort(function(e, t) { + return o(e.key, t.key); + }) + : a + ); + })(o(a.map, e, 0), 0); + }), + (n.key = function(e) { + return r.push(e), n; + }), + (n.sortKeys = function(e) { + return (i[r.length - 1] = e), n; + }), + (n.sortValues = function(t) { + return (e = t), n; + }), + (n.rollup = function(e) { + return (t = e), n; + }), + n + ); + }), + (a.set = function(e) { + var t = new j(); + if (e) for (var n = 0, r = e.length; n < r; ++n) t.add(e[n]); + return t; + }), + S(j, { + has: A, + add: function(e) { + return (this._[O((e += ""))] = !0), e; + }, + remove: k, + values: N, + size: M, + empty: L, + forEach: function(e) { + for (var t in this._) e.call(this, P(t)); + } + }), + (a.behavior = {}), + (a.rebind = function(e, t) { + for (var n, r = 1, i = arguments.length; ++r < i; ) + e[(n = arguments[r])] = I(e, t, t[n]); + return e; + }); + var F = ["webkit", "ms", "moz", "Moz", "o", "O"]; + function D() {} + function G() {} + function z(e) { + var t = [], + n = new T(); + function r() { + for (var n, r = t, i = -1, a = r.length; ++i < a; ) + (n = r[i].on) && n.apply(this, arguments); + return e; + } + return ( + (r.on = function(r, i) { + var a, + o = n.get(r); + return arguments.length < 2 + ? o && o.on + : (o && + ((o.on = null), + (t = t.slice(0, (a = t.indexOf(o))).concat(t.slice(a + 1))), + n.remove(r)), + i && t.push(n.set(r, { on: i })), + e); + }), + r + ); + } + function B() { + a.event.preventDefault(); + } + function H() { + for (var e, t = a.event; (e = t.sourceEvent); ) t = e; + return t; + } + function U(e) { + for (var t = new G(), n = 0, r = arguments.length; ++n < r; ) + t[arguments[n]] = z(t); + return ( + (t.of = function(n, r) { + return function(i) { + try { + var o = (i.sourceEvent = a.event); + (i.target = e), (a.event = i), t[i.type].apply(n, r); + } finally { + a.event = o; + } + }; + }), + t + ); + } + (a.dispatch = function() { + for (var e = new G(), t = -1, n = arguments.length; ++t < n; ) + e[arguments[t]] = z(e); + return e; + }), + (G.prototype.on = function(e, t) { + var n = e.indexOf("."), + r = ""; + if ((n >= 0 && ((r = e.slice(n + 1)), (e = e.slice(0, n))), e)) + return arguments.length < 2 ? this[e].on(r) : this[e].on(r, t); + if (2 === arguments.length) { + if (null == t) + for (e in this) this.hasOwnProperty(e) && this[e].on(r, null); + return this; + } + }), + (a.event = null), + (a.requote = function(e) { + return e.replace(X, "\\$&"); + }); + var X = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g, + Y = {}.__proto__ + ? function(e, t) { + e.__proto__ = t; + } + : function(e, t) { + for (var n in t) e[n] = t[n]; + }; + function W(e) { + return Y(e, K), e; + } + var q = function(e, t) { + return t.querySelector(e); + }, + Q = function(e, t) { + return t.querySelectorAll(e); + }, + $ = function(e, t) { + var n = e.matches || e[V(e, "matchesSelector")]; + return ($ = function(e, t) { + return n.call(e, t); + })(e, t); + }; + "function" === typeof Sizzle && + ((q = function(e, t) { + return Sizzle(e, t)[0] || null; + }), + (Q = Sizzle), + ($ = Sizzle.matchesSelector)), + (a.selection = function() { + return a.select(u.documentElement); + }); + var K = (a.selection.prototype = []); + function Z(e) { + return "function" === typeof e + ? e + : function() { + return q(e, this); + }; + } + function J(e) { + return "function" === typeof e + ? e + : function() { + return Q(e, this); + }; + } + (K.select = function(e) { + var t, + n, + r, + i, + a = []; + e = Z(e); + for (var o = -1, s = this.length; ++o < s; ) { + a.push((t = [])), (t.parentNode = (r = this[o]).parentNode); + for (var u = -1, l = r.length; ++u < l; ) + (i = r[u]) + ? (t.push((n = e.call(i, i.__data__, u, o))), + n && "__data__" in i && (n.__data__ = i.__data__)) + : t.push(null); + } + return W(a); + }), + (K.selectAll = function(e) { + var t, + n, + r = []; + e = J(e); + for (var i = -1, a = this.length; ++i < a; ) + for (var o = this[i], u = -1, l = o.length; ++u < l; ) + (n = o[u]) && + (r.push((t = s(e.call(n, n.__data__, u, i)))), + (t.parentNode = n)); + return W(r); + }); + var ee = "http://www.w3.org/1999/xhtml", + te = { + svg: "http://www.w3.org/2000/svg", + xhtml: ee, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" + }; + function ne(e, t) { + return ( + (e = a.ns.qualify(e)), + null == t + ? e.local + ? function() { + this.removeAttributeNS(e.space, e.local); + } + : function() { + this.removeAttribute(e); + } + : "function" === typeof t + ? e.local + ? function() { + var n = t.apply(this, arguments); + null == n + ? this.removeAttributeNS(e.space, e.local) + : this.setAttributeNS(e.space, e.local, n); + } + : function() { + var n = t.apply(this, arguments); + null == n + ? this.removeAttribute(e) + : this.setAttribute(e, n); + } + : e.local + ? function() { + this.setAttributeNS(e.space, e.local, t); + } + : function() { + this.setAttribute(e, t); + } + ); + } + function re(e) { + return e.trim().replace(/\s+/g, " "); + } + function ie(e) { + return new RegExp("(?:^|\\s+)" + a.requote(e) + "(?:\\s+|$)", "g"); + } + function ae(e) { + return (e + "").trim().split(/^|\s+/); + } + function oe(e, t) { + var n = (e = ae(e).map(se)).length; + return "function" === typeof t + ? function() { + for (var r = -1, i = t.apply(this, arguments); ++r < n; ) + e[r](this, i); + } + : function() { + for (var r = -1; ++r < n; ) e[r](this, t); + }; + } + function se(e) { + var t = ie(e); + return function(n, r) { + if ((i = n.classList)) return r ? i.add(e) : i.remove(e); + var i = n.getAttribute("class") || ""; + r + ? ((t.lastIndex = 0), + t.test(i) || n.setAttribute("class", re(i + " " + e))) + : n.setAttribute("class", re(i.replace(t, " "))); + }; + } + function ue(e, t, n) { + return null == t + ? function() { + this.style.removeProperty(e); + } + : "function" === typeof t + ? function() { + var r = t.apply(this, arguments); + null == r + ? this.style.removeProperty(e) + : this.style.setProperty(e, r, n); + } + : function() { + this.style.setProperty(e, t, n); + }; + } + function le(e, t) { + return null == t + ? function() { + delete this[e]; + } + : "function" === typeof t + ? function() { + var n = t.apply(this, arguments); + null == n ? delete this[e] : (this[e] = n); + } + : function() { + this[e] = t; + }; + } + function ce(e) { + return "function" === typeof e + ? e + : (e = a.ns.qualify(e)).local + ? function() { + return this.ownerDocument.createElementNS(e.space, e.local); + } + : function() { + var t = this.ownerDocument, + n = this.namespaceURI; + return n === ee && t.documentElement.namespaceURI === ee + ? t.createElement(e) + : t.createElementNS(n, e); + }; + } + function de() { + var e = this.parentNode; + e && e.removeChild(this); + } + function fe(e) { + return { __data__: e }; + } + function he(e) { + return function() { + return $(this, e); + }; + } + function pe(e, t) { + for (var n = 0, r = e.length; n < r; n++) + for (var i, a = e[n], o = 0, s = a.length; o < s; o++) + (i = a[o]) && t(i, o, n); + return e; + } + function ge(e) { + return Y(e, me), e; + } + (a.ns = { + prefix: te, + qualify: function(e) { + var t = e.indexOf(":"), + n = e; + return ( + t >= 0 && "xmlns" !== (n = e.slice(0, t)) && (e = e.slice(t + 1)), + te.hasOwnProperty(n) ? { space: te[n], local: e } : e + ); + } + }), + (K.attr = function(e, t) { + if (arguments.length < 2) { + if ("string" === typeof e) { + var n = this.node(); + return (e = a.ns.qualify(e)).local + ? n.getAttributeNS(e.space, e.local) + : n.getAttribute(e); + } + for (t in e) this.each(ne(t, e[t])); + return this; + } + return this.each(ne(e, t)); + }), + (K.classed = function(e, t) { + if (arguments.length < 2) { + if ("string" === typeof e) { + var n = this.node(), + r = (e = ae(e)).length, + i = -1; + if ((t = n.classList)) { + for (; ++i < r; ) if (!t.contains(e[i])) return !1; + } else + for (t = n.getAttribute("class"); ++i < r; ) + if (!ie(e[i]).test(t)) return !1; + return !0; + } + for (t in e) this.each(oe(t, e[t])); + return this; + } + return this.each(oe(e, t)); + }), + (K.style = function(e, t, n) { + var r = arguments.length; + if (r < 3) { + if ("string" !== typeof e) { + for (n in (r < 2 && (t = ""), e)) this.each(ue(n, e[n], t)); + return this; + } + if (r < 2) { + var i = this.node(); + return c(i) + .getComputedStyle(i, null) + .getPropertyValue(e); + } + n = ""; + } + return this.each(ue(e, t, n)); + }), + (K.property = function(e, t) { + if (arguments.length < 2) { + if ("string" === typeof e) return this.node()[e]; + for (t in e) this.each(le(t, e[t])); + return this; + } + return this.each(le(e, t)); + }), + (K.text = function(e) { + return arguments.length + ? this.each( + "function" === typeof e + ? function() { + var t = e.apply(this, arguments); + this.textContent = null == t ? "" : t; + } + : null == e + ? function() { + this.textContent = ""; + } + : function() { + this.textContent = e; + } + ) + : this.node().textContent; + }), + (K.html = function(e) { + return arguments.length + ? this.each( + "function" === typeof e + ? function() { + var t = e.apply(this, arguments); + this.innerHTML = null == t ? "" : t; + } + : null == e + ? function() { + this.innerHTML = ""; + } + : function() { + this.innerHTML = e; + } + ) + : this.node().innerHTML; + }), + (K.append = function(e) { + return ( + (e = ce(e)), + this.select(function() { + return this.appendChild(e.apply(this, arguments)); + }) + ); + }), + (K.insert = function(e, t) { + return ( + (e = ce(e)), + (t = Z(t)), + this.select(function() { + return this.insertBefore( + e.apply(this, arguments), + t.apply(this, arguments) || null + ); + }) + ); + }), + (K.remove = function() { + return this.each(de); + }), + (K.data = function(e, t) { + var n, + r, + i = -1, + a = this.length; + if (!arguments.length) { + for (e = new Array((a = (n = this[0]).length)); ++i < a; ) + (r = n[i]) && (e[i] = r.__data__); + return e; + } + function o(e, n) { + var r, + i, + a, + o = e.length, + c = n.length, + d = Math.min(o, c), + f = new Array(c), + h = new Array(c), + p = new Array(o); + if (t) { + var g, + m = new T(), + v = new Array(o); + for (r = -1; ++r < o; ) + (i = e[r]) && + (m.has((g = t.call(i, i.__data__, r))) + ? (p[r] = i) + : m.set(g, i), + (v[r] = g)); + for (r = -1; ++r < c; ) + (i = m.get((g = t.call(n, (a = n[r]), r)))) + ? !0 !== i && ((f[r] = i), (i.__data__ = a)) + : (h[r] = fe(a)), + m.set(g, !0); + for (r = -1; ++r < o; ) + r in v && !0 !== m.get(v[r]) && (p[r] = e[r]); + } else { + for (r = -1; ++r < d; ) + (i = e[r]), + (a = n[r]), + i ? ((i.__data__ = a), (f[r] = i)) : (h[r] = fe(a)); + for (; r < c; ++r) h[r] = fe(n[r]); + for (; r < o; ++r) p[r] = e[r]; + } + (h.update = f), + (h.parentNode = f.parentNode = p.parentNode = e.parentNode), + s.push(h), + u.push(f), + l.push(p); + } + var s = ge([]), + u = W([]), + l = W([]); + if ("function" === typeof e) + for (; ++i < a; ) + o((n = this[i]), e.call(n, n.parentNode.__data__, i)); + else for (; ++i < a; ) o((n = this[i]), e); + return ( + (u.enter = function() { + return s; + }), + (u.exit = function() { + return l; + }), + u + ); + }), + (K.datum = function(e) { + return arguments.length + ? this.property("__data__", e) + : this.property("__data__"); + }), + (K.filter = function(e) { + var t, + n, + r, + i = []; + "function" !== typeof e && (e = he(e)); + for (var a = 0, o = this.length; a < o; a++) { + i.push((t = [])), (t.parentNode = (n = this[a]).parentNode); + for (var s = 0, u = n.length; s < u; s++) + (r = n[s]) && e.call(r, r.__data__, s, a) && t.push(r); + } + return W(i); + }), + (K.order = function() { + for (var e = -1, t = this.length; ++e < t; ) + for (var n, r = this[e], i = r.length - 1, a = r[i]; --i >= 0; ) + (n = r[i]) && + (a && a !== n.nextSibling && a.parentNode.insertBefore(n, a), + (a = n)); + return this; + }), + (K.sort = function(e) { + e = function(e) { + arguments.length || (e = m); + return function(t, n) { + return t && n ? e(t.__data__, n.__data__) : !t - !n; + }; + }.apply(this, arguments); + for (var t = -1, n = this.length; ++t < n; ) this[t].sort(e); + return this.order(); + }), + (K.each = function(e) { + return pe(this, function(t, n, r) { + e.call(t, t.__data__, n, r); + }); + }), + (K.call = function(e) { + var t = s(arguments); + return e.apply((t[0] = this), t), this; + }), + (K.empty = function() { + return !this.node(); + }), + (K.node = function() { + for (var e = 0, t = this.length; e < t; e++) + for (var n = this[e], r = 0, i = n.length; r < i; r++) { + var a = n[r]; + if (a) return a; + } + return null; + }), + (K.size = function() { + var e = 0; + return ( + pe(this, function() { + ++e; + }), + e + ); + }); + var me = []; + function ve(e, t, n) { + var r = "__on" + e, + i = e.indexOf("."), + o = xe; + i > 0 && (e = e.slice(0, i)); + var u = ye.get(e); + function l() { + var t = this[r]; + t && (this.removeEventListener(e, t, t.$), delete this[r]); + } + return ( + u && ((e = u), (o = be)), + i + ? t + ? function() { + var i = o(t, s(arguments)); + l.call(this), + this.addEventListener(e, (this[r] = i), (i.$ = n)), + (i._ = t); + } + : l + : t + ? D + : function() { + var t, + n = new RegExp("^__on([^.]+)" + a.requote(e) + "$"); + for (var r in this) + if ((t = r.match(n))) { + var i = this[r]; + this.removeEventListener(t[1], i, i.$), delete this[r]; + } + } + ); + } + (a.selection.enter = ge), + (a.selection.enter.prototype = me), + (me.append = K.append), + (me.empty = K.empty), + (me.node = K.node), + (me.call = K.call), + (me.size = K.size), + (me.select = function(e) { + for ( + var t, n, r, i, a, o = [], s = -1, u = this.length; + ++s < u; + + ) { + (r = (i = this[s]).update), + o.push((t = [])), + (t.parentNode = i.parentNode); + for (var l = -1, c = i.length; ++l < c; ) + (a = i[l]) + ? (t.push( + (r[l] = n = e.call(i.parentNode, a.__data__, l, s)) + ), + (n.__data__ = a.__data__)) + : t.push(null); + } + return W(o); + }), + (me.insert = function(e, t) { + return ( + arguments.length < 2 && + (t = (function(e) { + var t, n; + return function(r, i, a) { + var o, + s = e[a].update, + u = s.length; + for ( + a != n && ((n = a), (t = 0)), i >= t && (t = i + 1); + !(o = s[t]) && ++t < u; + + ); + return o; + }; + })(this)), + K.insert.call(this, e, t) + ); + }), + (a.select = function(e) { + var t; + return ( + "string" === typeof e + ? ((t = [q(e, u)]).parentNode = u.documentElement) + : ((t = [e]).parentNode = l(e)), + W([t]) + ); + }), + (a.selectAll = function(e) { + var t; + return ( + "string" === typeof e + ? ((t = s(Q(e, u))).parentNode = u.documentElement) + : ((t = s(e)).parentNode = null), + W([t]) + ); + }), + (K.on = function(e, t, n) { + var r = arguments.length; + if (r < 3) { + if ("string" !== typeof e) { + for (n in (r < 2 && (t = !1), e)) this.each(ve(n, e[n], t)); + return this; + } + if (r < 2) return (r = this.node()["__on" + e]) && r._; + n = !1; + } + return this.each(ve(e, t, n)); + }); + var ye = a.map({ mouseenter: "mouseover", mouseleave: "mouseout" }); + function xe(e, t) { + return function(n) { + var r = a.event; + (a.event = n), (t[0] = this.__data__); + try { + e.apply(this, t); + } finally { + a.event = r; + } + }; + } + function be(e, t) { + var n = xe(e, t); + return function(e) { + var t = e.relatedTarget; + (t && (t === this || 8 & t.compareDocumentPosition(this))) || + n.call(this, e); + }; + } + u && + ye.forEach(function(e) { + "on" + e in u && ye.remove(e); + }); + var _e, + we = 0; + function Se(e) { + var t = ".dragsuppress-" + ++we, + n = "click" + t, + r = a + .select(c(e)) + .on("touchmove" + t, B) + .on("dragstart" + t, B) + .on("selectstart" + t, B); + if ( + (null == _e && + (_e = !("onselectstart" in e) && V(e.style, "userSelect")), + _e) + ) { + var i = l(e).style, + o = i[_e]; + i[_e] = "none"; + } + return function(e) { + if ((r.on(t, null), _e && (i[_e] = o), e)) { + var a = function() { + r.on(n, null); + }; + r.on( + n, + function() { + B(), a(); + }, + !0 + ), + setTimeout(a, 0); + } + }; + } + a.mouse = function(e) { + return Ee(e, H()); + }; + var Te = + this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0; + function Ee(e, t) { + t.changedTouches && (t = t.changedTouches[0]); + var n = e.ownerSVGElement || e; + if (n.createSVGPoint) { + var r = n.createSVGPoint(); + if (Te < 0) { + var i = c(e); + if (i.scrollX || i.scrollY) { + var o = (n = a + .select("body") + .append("svg") + .style( + { + position: "absolute", + top: 0, + left: 0, + margin: 0, + padding: 0, + border: "none" + }, + "important" + ))[0][0].getScreenCTM(); + (Te = !(o.f || o.e)), n.remove(); + } + } + return ( + Te + ? ((r.x = t.pageX), (r.y = t.pageY)) + : ((r.x = t.clientX), (r.y = t.clientY)), + [(r = r.matrixTransform(e.getScreenCTM().inverse())).x, r.y] + ); + } + var s = e.getBoundingClientRect(); + return [ + t.clientX - s.left - e.clientLeft, + t.clientY - s.top - e.clientTop + ]; + } + function Ce() { + return a.event.changedTouches[0].identifier; + } + (a.touch = function(e, t, n) { + if ((arguments.length < 3 && ((n = t), (t = H().changedTouches)), t)) + for (var r, i = 0, a = t.length; i < a; ++i) + if ((r = t[i]).identifier === n) return Ee(e, r); + }), + (a.behavior.drag = function() { + var e = U(i, "drag", "dragstart", "dragend"), + t = null, + n = o(D, a.mouse, c, "mousemove", "mouseup"), + r = o(Ce, a.touch, R, "touchmove", "touchend"); + function i() { + this.on("mousedown.drag", n).on("touchstart.drag", r); + } + function o(n, r, i, o, s) { + return function() { + var u, + l = a.event.target.correspondingElement || a.event.target, + c = this.parentNode, + d = e.of(this, arguments), + f = 0, + h = n(), + p = ".drag" + (null == h ? "" : "-" + h), + g = a + .select(i(l)) + .on(o + p, function() { + var e, + t, + n = r(c, h); + if (!n) return; + (e = n[0] - v[0]), + (t = n[1] - v[1]), + (f |= e | t), + (v = n), + d({ + type: "drag", + x: n[0] + u[0], + y: n[1] + u[1], + dx: e, + dy: t + }); + }) + .on(s + p, function() { + if (!r(c, h)) return; + g.on(o + p, null).on(s + p, null), + m(f), + d({ type: "dragend" }); + }), + m = Se(l), + v = r(c, h); + (u = t + ? [(u = t.apply(this, arguments)).x - v[0], u.y - v[1]] + : [0, 0]), + d({ type: "dragstart" }); + }; + } + return ( + (i.origin = function(e) { + return arguments.length ? ((t = e), i) : t; + }), + a.rebind(i, e, "on") + ); + }), + (a.touches = function(e, t) { + return ( + arguments.length < 2 && (t = H().touches), + t + ? s(t).map(function(t) { + var n = Ee(e, t); + return (n.identifier = t.identifier), n; + }) + : [] + ); + }); + var Oe = 1e-6, + Pe = Oe * Oe, + Ae = Math.PI, + ke = 2 * Ae, + Ne = ke - Oe, + Me = Ae / 2, + Le = Ae / 180, + je = 180 / Ae; + function Re(e) { + return e > 0 ? 1 : e < 0 ? -1 : 0; + } + function Ie(e, t, n) { + return (t[0] - e[0]) * (n[1] - e[1]) - (t[1] - e[1]) * (n[0] - e[0]); + } + function Ve(e) { + return e > 1 ? 0 : e < -1 ? Ae : Math.acos(e); + } + function Fe(e) { + return e > 1 ? Me : e < -1 ? -Me : Math.asin(e); + } + function De(e) { + return ((e = Math.exp(e)) + 1 / e) / 2; + } + function Ge(e) { + return (e = Math.sin(e / 2)) * e; + } + var ze = Math.SQRT2; + (a.interpolateZoom = function(e, t) { + var n, + r, + i = e[0], + a = e[1], + o = e[2], + s = t[0], + u = t[1], + l = t[2], + c = s - i, + d = u - a, + f = c * c + d * d; + if (f < Pe) + (r = Math.log(l / o) / ze), + (n = function(e) { + return [i + e * c, a + e * d, o * Math.exp(ze * e * r)]; + }); + else { + var h = Math.sqrt(f), + p = (l * l - o * o + 4 * f) / (2 * o * 2 * h), + g = (l * l - o * o - 4 * f) / (2 * l * 2 * h), + m = Math.log(Math.sqrt(p * p + 1) - p), + v = Math.log(Math.sqrt(g * g + 1) - g); + (r = (v - m) / ze), + (n = function(e) { + var t, + n = e * r, + s = De(m), + u = + (o / (2 * h)) * + (s * + ((t = ze * n + m), + ((t = Math.exp(2 * t)) - 1) / (t + 1)) - + (function(e) { + return ((e = Math.exp(e)) - 1 / e) / 2; + })(m)); + return [i + u * c, a + u * d, (o * s) / De(ze * n + m)]; + }); + } + return (n.duration = 1e3 * r), n; + }), + (a.behavior.zoom = function() { + var e, + t, + n, + r, + i, + o, + s, + l, + d, + f = { x: 0, y: 0, k: 1 }, + h = [960, 500], + p = Ue, + g = 250, + m = 0, + v = "mousedown.zoom", + y = "mousemove.zoom", + x = "mouseup.zoom", + b = "touchstart.zoom", + _ = U(w, "zoomstart", "zoom", "zoomend"); + function w(e) { + e.on(v, N) + .on(He + ".zoom", L) + .on("dblclick.zoom", j) + .on(b, M); + } + function S(e) { + return [(e[0] - f.x) / f.k, (e[1] - f.y) / f.k]; + } + function T(e) { + f.k = Math.max(p[0], Math.min(p[1], e)); + } + function E(e, t) { + (t = (function(e) { + return [e[0] * f.k + f.x, e[1] * f.k + f.y]; + })(t)), + (f.x += e[0] - t[0]), + (f.y += e[1] - t[1]); + } + function C(e, n, r, i) { + (e.__chart__ = { x: f.x, y: f.y, k: f.k }), + T(Math.pow(2, i)), + E((t = n), r), + (e = a.select(e)), + g > 0 && (e = e.transition().duration(g)), + e.call(w.event); + } + function O() { + s && + s.domain( + o + .range() + .map(function(e) { + return (e - f.x) / f.k; + }) + .map(o.invert) + ), + d && + d.domain( + l + .range() + .map(function(e) { + return (e - f.y) / f.k; + }) + .map(l.invert) + ); + } + function P(e) { + m++ || e({ type: "zoomstart" }); + } + function A(e) { + O(), e({ type: "zoom", scale: f.k, translate: [f.x, f.y] }); + } + function k(e) { + --m || (e({ type: "zoomend" }), (t = null)); + } + function N() { + var e = this, + t = _.of(e, arguments), + n = 0, + r = a + .select(c(e)) + .on(y, function() { + (n = 1), E(a.mouse(e), i), A(t); + }) + .on(x, function() { + r.on(y, null).on(x, null), o(n), k(t); + }), + i = S(a.mouse(e)), + o = Se(e); + ms.call(e), P(t); + } + function M() { + var e, + t = this, + n = _.of(t, arguments), + r = {}, + o = 0, + s = ".zoom-" + a.event.changedTouches[0].identifier, + u = "touchmove" + s, + l = "touchend" + s, + c = [], + d = a.select(t), + h = Se(t); + function p() { + var n = a.touches(t); + return ( + (e = f.k), + n.forEach(function(e) { + e.identifier in r && (r[e.identifier] = S(e)); + }), + n + ); + } + function g() { + var e = a.event.target; + a + .select(e) + .on(u, m) + .on(l, y), + c.push(e); + for ( + var n = a.event.changedTouches, s = 0, d = n.length; + s < d; + ++s + ) + r[n[s].identifier] = null; + var h = p(), + g = Date.now(); + if (1 === h.length) { + if (g - i < 500) { + var v = h[0]; + C( + t, + v, + r[v.identifier], + Math.floor(Math.log(f.k) / Math.LN2) + 1 + ), + B(); + } + i = g; + } else if (h.length > 1) { + v = h[0]; + var x = h[1], + b = v[0] - x[0], + _ = v[1] - x[1]; + o = b * b + _ * _; + } + } + function m() { + var s, + u, + l, + c, + d = a.touches(t); + ms.call(t); + for (var f = 0, h = d.length; f < h; ++f, c = null) + if (((l = d[f]), (c = r[l.identifier]))) { + if (u) break; + (s = l), (u = c); + } + if (c) { + var p = (p = l[0] - s[0]) * p + (p = l[1] - s[1]) * p, + g = o && Math.sqrt(p / o); + (s = [(s[0] + l[0]) / 2, (s[1] + l[1]) / 2]), + (u = [(u[0] + c[0]) / 2, (u[1] + c[1]) / 2]), + T(g * e); + } + (i = null), E(s, u), A(n); + } + function y() { + if (a.event.touches.length) { + for ( + var e = a.event.changedTouches, t = 0, i = e.length; + t < i; + ++t + ) + delete r[e[t].identifier]; + for (var o in r) return void p(); + } + a.selectAll(c).on(s, null), d.on(v, N).on(b, M), h(), k(n); + } + g(), P(n), d.on(v, null).on(b, g); + } + function L() { + var i = _.of(this, arguments); + r + ? clearTimeout(r) + : (ms.call(this), (e = S((t = n || a.mouse(this)))), P(i)), + (r = setTimeout(function() { + (r = null), k(i); + }, 50)), + B(), + T(Math.pow(2, 0.002 * Be()) * f.k), + E(t, e), + A(i); + } + function j() { + var e = a.mouse(this), + t = Math.log(f.k) / Math.LN2; + C( + this, + e, + S(e), + a.event.shiftKey ? Math.ceil(t) - 1 : Math.floor(t) + 1 + ); + } + return ( + He || + (He = + "onwheel" in u + ? ((Be = function() { + return -a.event.deltaY * (a.event.deltaMode ? 120 : 1); + }), + "wheel") + : "onmousewheel" in u + ? ((Be = function() { + return a.event.wheelDelta; + }), + "mousewheel") + : ((Be = function() { + return -a.event.detail; + }), + "MozMousePixelScroll")), + (w.event = function(e) { + e.each(function() { + var e = _.of(this, arguments), + n = f; + xs + ? a + .select(this) + .transition() + .each("start.zoom", function() { + (f = this.__chart__ || { x: 0, y: 0, k: 1 }), P(e); + }) + .tween("zoom:zoom", function() { + var r = h[0], + i = h[1], + o = t ? t[0] : r / 2, + s = t ? t[1] : i / 2, + u = a.interpolateZoom( + [(o - f.x) / f.k, (s - f.y) / f.k, r / f.k], + [(o - n.x) / n.k, (s - n.y) / n.k, r / n.k] + ); + return function(t) { + var n = u(t), + i = r / n[2]; + (this.__chart__ = f = { + x: o - n[0] * i, + y: s - n[1] * i, + k: i + }), + A(e); + }; + }) + .each("interrupt.zoom", function() { + k(e); + }) + .each("end.zoom", function() { + k(e); + }) + : ((this.__chart__ = f), P(e), A(e), k(e)); + }); + }), + (w.translate = function(e) { + return arguments.length + ? ((f = { x: +e[0], y: +e[1], k: f.k }), O(), w) + : [f.x, f.y]; + }), + (w.scale = function(e) { + return arguments.length + ? ((f = { x: f.x, y: f.y, k: null }), T(+e), O(), w) + : f.k; + }), + (w.scaleExtent = function(e) { + return arguments.length + ? ((p = null == e ? Ue : [+e[0], +e[1]]), w) + : p; + }), + (w.center = function(e) { + return arguments.length ? ((n = e && [+e[0], +e[1]]), w) : n; + }), + (w.size = function(e) { + return arguments.length ? ((h = e && [+e[0], +e[1]]), w) : h; + }), + (w.duration = function(e) { + return arguments.length ? ((g = +e), w) : g; + }), + (w.x = function(e) { + return arguments.length + ? ((s = e), (o = e.copy()), (f = { x: 0, y: 0, k: 1 }), w) + : s; + }), + (w.y = function(e) { + return arguments.length + ? ((d = e), (l = e.copy()), (f = { x: 0, y: 0, k: 1 }), w) + : d; + }), + a.rebind(w, _, "on") + ); + }); + var Be, + He, + Ue = [0, 1 / 0]; + function Xe() {} + function Ye(e, t, n) { + return this instanceof Ye + ? ((this.h = +e), (this.s = +t), void (this.l = +n)) + : arguments.length < 2 + ? e instanceof Ye + ? new Ye(e.h, e.s, e.l) + : pt("" + e, gt, Ye) + : new Ye(e, t, n); + } + (a.color = Xe), + (Xe.prototype.toString = function() { + return this.rgb() + ""; + }), + (a.hsl = Ye); + var We = (Ye.prototype = new Xe()); + function qe(e, t, n) { + var r, i; + function a(e) { + return Math.round( + 255 * + (function(e) { + return ( + e > 360 ? (e -= 360) : e < 0 && (e += 360), + e < 60 + ? r + ((i - r) * e) / 60 + : e < 180 + ? i + : e < 240 + ? r + ((i - r) * (240 - e)) / 60 + : r + ); + })(e) + ); + } + return ( + (e = isNaN(e) ? 0 : (e %= 360) < 0 ? e + 360 : e), + (t = isNaN(t) ? 0 : t < 0 ? 0 : t > 1 ? 1 : t), + (r = + 2 * (n = n < 0 ? 0 : n > 1 ? 1 : n) - + (i = n <= 0.5 ? n * (1 + t) : n + t - n * t)), + new lt(a(e + 120), a(e), a(e - 120)) + ); + } + function Qe(e, t, n) { + return this instanceof Qe + ? ((this.h = +e), (this.c = +t), void (this.l = +n)) + : arguments.length < 2 + ? e instanceof Qe + ? new Qe(e.h, e.c, e.l) + : at( + e instanceof Ze + ? e.l + : (e = mt((e = a.rgb(e)).r, e.g, e.b)).l, + e.a, + e.b + ) + : new Qe(e, t, n); + } + (We.brighter = function(e) { + return ( + (e = Math.pow(0.7, arguments.length ? e : 1)), + new Ye(this.h, this.s, this.l / e) + ); + }), + (We.darker = function(e) { + return ( + (e = Math.pow(0.7, arguments.length ? e : 1)), + new Ye(this.h, this.s, e * this.l) + ); + }), + (We.rgb = function() { + return qe(this.h, this.s, this.l); + }), + (a.hcl = Qe); + var $e = (Qe.prototype = new Xe()); + function Ke(e, t, n) { + return ( + isNaN(e) && (e = 0), + isNaN(t) && (t = 0), + new Ze(n, Math.cos((e *= Le)) * t, Math.sin(e) * t) + ); + } + function Ze(e, t, n) { + return this instanceof Ze + ? ((this.l = +e), (this.a = +t), void (this.b = +n)) + : arguments.length < 2 + ? e instanceof Ze + ? new Ze(e.l, e.a, e.b) + : e instanceof Qe + ? Ke(e.h, e.c, e.l) + : mt((e = lt(e)).r, e.g, e.b) + : new Ze(e, t, n); + } + ($e.brighter = function(e) { + return new Qe( + this.h, + this.c, + Math.min(100, this.l + Je * (arguments.length ? e : 1)) + ); + }), + ($e.darker = function(e) { + return new Qe( + this.h, + this.c, + Math.max(0, this.l - Je * (arguments.length ? e : 1)) + ); + }), + ($e.rgb = function() { + return Ke(this.h, this.c, this.l).rgb(); + }), + (a.lab = Ze); + var Je = 18, + et = 0.95047, + tt = 1, + nt = 1.08883, + rt = (Ze.prototype = new Xe()); + function it(e, t, n) { + var r = (e + 16) / 116, + i = r + t / 500, + a = r - n / 200; + return new lt( + ut( + 3.2404542 * (i = ot(i) * et) - + 1.5371385 * (r = ot(r) * tt) - + 0.4985314 * (a = ot(a) * nt) + ), + ut(-0.969266 * i + 1.8760108 * r + 0.041556 * a), + ut(0.0556434 * i - 0.2040259 * r + 1.0572252 * a) + ); + } + function at(e, t, n) { + return e > 0 + ? new Qe(Math.atan2(n, t) * je, Math.sqrt(t * t + n * n), e) + : new Qe(NaN, NaN, e); + } + function ot(e) { + return e > 0.206893034 ? e * e * e : (e - 4 / 29) / 7.787037; + } + function st(e) { + return e > 0.008856 ? Math.pow(e, 1 / 3) : 7.787037 * e + 4 / 29; + } + function ut(e) { + return Math.round( + 255 * + (e <= 0.00304 ? 12.92 * e : 1.055 * Math.pow(e, 1 / 2.4) - 0.055) + ); + } + function lt(e, t, n) { + return this instanceof lt + ? ((this.r = ~~e), (this.g = ~~t), void (this.b = ~~n)) + : arguments.length < 2 + ? e instanceof lt + ? new lt(e.r, e.g, e.b) + : pt("" + e, lt, qe) + : new lt(e, t, n); + } + function ct(e) { + return new lt(e >> 16, (e >> 8) & 255, 255 & e); + } + function dt(e) { + return ct(e) + ""; + } + (rt.brighter = function(e) { + return new Ze( + Math.min(100, this.l + Je * (arguments.length ? e : 1)), + this.a, + this.b + ); + }), + (rt.darker = function(e) { + return new Ze( + Math.max(0, this.l - Je * (arguments.length ? e : 1)), + this.a, + this.b + ); + }), + (rt.rgb = function() { + return it(this.l, this.a, this.b); + }), + (a.rgb = lt); + var ft = (lt.prototype = new Xe()); + function ht(e) { + return e < 16 + ? "0" + Math.max(0, e).toString(16) + : Math.min(255, e).toString(16); + } + function pt(e, t, n) { + var r, + i, + a, + o = 0, + s = 0, + u = 0; + if ((r = /([a-z]+)\((.*)\)/.exec((e = e.toLowerCase())))) + switch (((i = r[2].split(",")), r[1])) { + case "hsl": + return n( + parseFloat(i[0]), + parseFloat(i[1]) / 100, + parseFloat(i[2]) / 100 + ); + case "rgb": + return t(yt(i[0]), yt(i[1]), yt(i[2])); + } + return (a = xt.get(e)) + ? t(a.r, a.g, a.b) + : (null == e || + "#" !== e.charAt(0) || + isNaN((a = parseInt(e.slice(1), 16))) || + (4 === e.length + ? ((o = (3840 & a) >> 4), + (o |= o >> 4), + (s = 240 & a), + (s |= s >> 4), + (u = 15 & a), + (u |= u << 4)) + : 7 === e.length && + ((o = (16711680 & a) >> 16), + (s = (65280 & a) >> 8), + (u = 255 & a))), + t(o, s, u)); + } + function gt(e, t, n) { + var r, + i, + a = Math.min((e /= 255), (t /= 255), (n /= 255)), + o = Math.max(e, t, n), + s = o - a, + u = (o + a) / 2; + return ( + s + ? ((i = u < 0.5 ? s / (o + a) : s / (2 - o - a)), + (r = + e == o + ? (t - n) / s + (t < n ? 6 : 0) + : t == o + ? (n - e) / s + 2 + : (e - t) / s + 4), + (r *= 60)) + : ((r = NaN), (i = u > 0 && u < 1 ? 0 : r)), + new Ye(r, i, u) + ); + } + function mt(e, t, n) { + var r = st( + (0.4124564 * (e = vt(e)) + + 0.3575761 * (t = vt(t)) + + 0.1804375 * (n = vt(n))) / + et + ), + i = st((0.2126729 * e + 0.7151522 * t + 0.072175 * n) / tt); + return Ze( + 116 * i - 16, + 500 * (r - i), + 200 * (i - st((0.0193339 * e + 0.119192 * t + 0.9503041 * n) / nt)) + ); + } + function vt(e) { + return (e /= 255) <= 0.04045 + ? e / 12.92 + : Math.pow((e + 0.055) / 1.055, 2.4); + } + function yt(e) { + var t = parseFloat(e); + return "%" === e.charAt(e.length - 1) ? Math.round(2.55 * t) : t; + } + (ft.brighter = function(e) { + e = Math.pow(0.7, arguments.length ? e : 1); + var t = this.r, + n = this.g, + r = this.b, + i = 30; + return t || n || r + ? (t && t < i && (t = i), + n && n < i && (n = i), + r && r < i && (r = i), + new lt( + Math.min(255, t / e), + Math.min(255, n / e), + Math.min(255, r / e) + )) + : new lt(i, i, i); + }), + (ft.darker = function(e) { + return new lt( + (e = Math.pow(0.7, arguments.length ? e : 1)) * this.r, + e * this.g, + e * this.b + ); + }), + (ft.hsl = function() { + return gt(this.r, this.g, this.b); + }), + (ft.toString = function() { + return "#" + ht(this.r) + ht(this.g) + ht(this.b); + }); + var xt = a.map({ + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 + }); + function bt(e) { + return "function" === typeof e + ? e + : function() { + return e; + }; + } + function _t(e) { + return function(t, n, r) { + return ( + 2 === arguments.length && + "function" === typeof n && + ((r = n), (n = null)), + wt(t, n, e, r) + ); + }; + } + function wt(e, t, n, r) { + var i = {}, + o = a.dispatch("beforesend", "progress", "load", "error"), + u = {}, + l = new XMLHttpRequest(), + c = null; + function d() { + var e, + t = l.status; + if ( + (!t && + (function(e) { + var t = e.responseType; + return t && "text" !== t ? e.response : e.responseText; + })(l)) || + (t >= 200 && t < 300) || + 304 === t + ) { + try { + e = n.call(i, l); + } catch (Ws) { + return void o.error.call(i, Ws); + } + o.load.call(i, e); + } else o.error.call(i, l); + } + return ( + !this.XDomainRequest || + "withCredentials" in l || + !/^(http(s)?:)?\/\//.test(e) || + (l = new XDomainRequest()), + "onload" in l + ? (l.onload = l.onerror = d) + : (l.onreadystatechange = function() { + l.readyState > 3 && d(); + }), + (l.onprogress = function(e) { + var t = a.event; + a.event = e; + try { + o.progress.call(i, l); + } finally { + a.event = t; + } + }), + (i.header = function(e, t) { + return ( + (e = (e + "").toLowerCase()), + arguments.length < 2 + ? u[e] + : (null == t ? delete u[e] : (u[e] = t + ""), i) + ); + }), + (i.mimeType = function(e) { + return arguments.length + ? ((t = null == e ? null : e + ""), i) + : t; + }), + (i.responseType = function(e) { + return arguments.length ? ((c = e), i) : c; + }), + (i.response = function(e) { + return (n = e), i; + }), + ["get", "post"].forEach(function(e) { + i[e] = function() { + return i.send.apply(i, [e].concat(s(arguments))); + }; + }), + (i.send = function(n, r, a) { + if ( + (2 === arguments.length && + "function" === typeof r && + ((a = r), (r = null)), + l.open(n, e, !0), + null == t || "accept" in u || (u.accept = t + ",*/*"), + l.setRequestHeader) + ) + for (var s in u) l.setRequestHeader(s, u[s]); + return ( + null != t && l.overrideMimeType && l.overrideMimeType(t), + null != c && (l.responseType = c), + null != a && + i.on("error", a).on("load", function(e) { + a(null, e); + }), + o.beforesend.call(i, l), + l.send(null == r ? null : r), + i + ); + }), + (i.abort = function() { + return l.abort(), i; + }), + a.rebind(i, o, "on"), + null == r + ? i + : i.get( + (function(e) { + return 1 === e.length + ? function(t, n) { + e(null == t ? n : null); + } + : e; + })(r) + ) + ); + } + xt.forEach(function(e, t) { + xt.set(e, ct(t)); + }), + (a.functor = bt), + (a.xhr = _t(R)), + (a.dsv = function(e, t) { + var n = new RegExp('["' + e + "\n]"), + r = e.charCodeAt(0); + function i(e, n, r) { + arguments.length < 3 && ((r = n), (n = null)); + var i = wt(e, t, null == n ? a : o(n), r); + return ( + (i.row = function(e) { + return arguments.length + ? i.response(null == (n = e) ? a : o(e)) + : n; + }), + i + ); + } + function a(e) { + return i.parse(e.responseText); + } + function o(e) { + return function(t) { + return i.parse(t.responseText, e); + }; + } + function s(t) { + return t.map(u).join(e); + } + function u(e) { + return n.test(e) ? '"' + e.replace(/\"/g, '""') + '"' : e; + } + return ( + (i.parse = function(e, t) { + var n; + return i.parseRows(e, function(e, r) { + if (n) return n(e, r - 1); + var i = new Function( + "d", + "return {" + + e + .map(function(e, t) { + return JSON.stringify(e) + ": d[" + t + "]"; + }) + .join(",") + + "}" + ); + n = t + ? function(e, n) { + return t(i(e), n); + } + : i; + }); + }), + (i.parseRows = function(e, t) { + var n, + i, + a = {}, + o = {}, + s = [], + u = e.length, + l = 0, + c = 0; + function d() { + if (l >= u) return o; + if (i) return (i = !1), a; + var t = l; + if (34 === e.charCodeAt(t)) { + for (var n = t; n++ < u; ) + if (34 === e.charCodeAt(n)) { + if (34 !== e.charCodeAt(n + 1)) break; + ++n; + } + return ( + (l = n + 2), + 13 === (s = e.charCodeAt(n + 1)) + ? ((i = !0), 10 === e.charCodeAt(n + 2) && ++l) + : 10 === s && (i = !0), + e.slice(t + 1, n).replace(/""/g, '"') + ); + } + for (; l < u; ) { + var s, + c = 1; + if (10 === (s = e.charCodeAt(l++))) i = !0; + else if (13 === s) + (i = !0), 10 === e.charCodeAt(l) && (++l, ++c); + else if (s !== r) continue; + return e.slice(t, l - c); + } + return e.slice(t); + } + for (; (n = d()) !== o; ) { + for (var f = []; n !== a && n !== o; ) f.push(n), (n = d()); + (t && null == (f = t(f, c++))) || s.push(f); + } + return s; + }), + (i.format = function(t) { + if (Array.isArray(t[0])) return i.formatRows(t); + var n = new j(), + r = []; + return ( + t.forEach(function(e) { + for (var t in e) n.has(t) || r.push(n.add(t)); + }), + [r.map(u).join(e)] + .concat( + t.map(function(t) { + return r + .map(function(e) { + return u(t[e]); + }) + .join(e); + }) + ) + .join("\n") + ); + }), + (i.formatRows = function(e) { + return e.map(s).join("\n"); + }), + i + ); + }), + (a.csv = a.dsv(",", "text/csv")), + (a.tsv = a.dsv("\t", "text/tab-separated-values")); + var St, + Tt, + Et, + Ct, + Ot = + this[V(this, "requestAnimationFrame")] || + function(e) { + setTimeout(e, 17); + }; + function Pt(e, t, n) { + var r = arguments.length; + r < 2 && (t = 0), r < 3 && (n = Date.now()); + var i = { c: e, t: n + t, n: null }; + return ( + Tt ? (Tt.n = i) : (St = i), + (Tt = i), + Et || ((Ct = clearTimeout(Ct)), (Et = 1), Ot(At)), + i + ); + } + function At() { + var e = kt(), + t = Nt() - e; + t > 24 + ? (isFinite(t) && (clearTimeout(Ct), (Ct = setTimeout(At, t))), + (Et = 0)) + : ((Et = 1), Ot(At)); + } + function kt() { + for (var e = Date.now(), t = St; t; ) + e >= t.t && t.c(e - t.t) && (t.c = null), (t = t.n); + return e; + } + function Nt() { + for (var e, t = St, n = 1 / 0; t; ) + t.c + ? (t.t < n && (n = t.t), (t = (e = t).n)) + : (t = e ? (e.n = t.n) : (St = t.n)); + return (Tt = e), n; + } + function Mt(e, t) { + return t - (e ? Math.ceil(Math.log(e) / Math.LN10) : 1); + } + (a.timer = function() { + Pt.apply(this, arguments); + }), + (a.timer.flush = function() { + kt(), Nt(); + }), + (a.round = function(e, t) { + return t + ? Math.round(e * (t = Math.pow(10, t))) / t + : Math.round(e); + }); + var Lt = [ + "y", + "z", + "a", + "f", + "p", + "n", + "µ", + "m", + "", + "k", + "M", + "G", + "T", + "P", + "E", + "Z", + "Y" + ].map(function(e, t) { + var n = Math.pow(10, 3 * w(8 - t)); + return { + scale: + t > 8 + ? function(e) { + return e / n; + } + : function(e) { + return e * n; + }, + symbol: e + }; + }); + a.formatPrefix = function(e, t) { + var n = 0; + return ( + (e = +e) && + (e < 0 && (e *= -1), + t && (e = a.round(e, Mt(e, t))), + (n = 1 + Math.floor(1e-12 + Math.log(e) / Math.LN10)), + (n = Math.max(-24, Math.min(24, 3 * Math.floor((n - 1) / 3))))), + Lt[8 + n / 3] + ); + }; + var jt = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i, + Rt = a.map({ + b: function(e) { + return e.toString(2); + }, + c: function(e) { + return String.fromCharCode(e); + }, + o: function(e) { + return e.toString(8); + }, + x: function(e) { + return e.toString(16); + }, + X: function(e) { + return e.toString(16).toUpperCase(); + }, + g: function(e, t) { + return e.toPrecision(t); + }, + e: function(e, t) { + return e.toExponential(t); + }, + f: function(e, t) { + return e.toFixed(t); + }, + r: function(e, t) { + return (e = a.round(e, Mt(e, t))).toFixed( + Math.max(0, Math.min(20, Mt(e * (1 + 1e-15), t))) + ); + } + }); + function It(e) { + return e + ""; + } + var Vt = (a.time = {}), + Ft = Date; + function Dt() { + this._ = new Date( + arguments.length > 1 + ? Date.UTC.apply(this, arguments) + : arguments[0] + ); + } + Dt.prototype = { + getDate: function() { + return this._.getUTCDate(); + }, + getDay: function() { + return this._.getUTCDay(); + }, + getFullYear: function() { + return this._.getUTCFullYear(); + }, + getHours: function() { + return this._.getUTCHours(); + }, + getMilliseconds: function() { + return this._.getUTCMilliseconds(); + }, + getMinutes: function() { + return this._.getUTCMinutes(); + }, + getMonth: function() { + return this._.getUTCMonth(); + }, + getSeconds: function() { + return this._.getUTCSeconds(); + }, + getTime: function() { + return this._.getTime(); + }, + getTimezoneOffset: function() { + return 0; + }, + valueOf: function() { + return this._.valueOf(); + }, + setDate: function() { + Gt.setUTCDate.apply(this._, arguments); + }, + setDay: function() { + Gt.setUTCDay.apply(this._, arguments); + }, + setFullYear: function() { + Gt.setUTCFullYear.apply(this._, arguments); + }, + setHours: function() { + Gt.setUTCHours.apply(this._, arguments); + }, + setMilliseconds: function() { + Gt.setUTCMilliseconds.apply(this._, arguments); + }, + setMinutes: function() { + Gt.setUTCMinutes.apply(this._, arguments); + }, + setMonth: function() { + Gt.setUTCMonth.apply(this._, arguments); + }, + setSeconds: function() { + Gt.setUTCSeconds.apply(this._, arguments); + }, + setTime: function() { + Gt.setTime.apply(this._, arguments); + } + }; + var Gt = Date.prototype; + function zt(e, t, n) { + function r(t) { + var n = e(t), + r = a(n, 1); + return t - n < r - t ? n : r; + } + function i(n) { + return t((n = e(new Ft(n - 1))), 1), n; + } + function a(e, n) { + return t((e = new Ft(+e)), n), e; + } + function o(e, r, a) { + var o = i(e), + s = []; + if (a > 1) + for (; o < r; ) n(o) % a || s.push(new Date(+o)), t(o, 1); + else for (; o < r; ) s.push(new Date(+o)), t(o, 1); + return s; + } + (e.floor = e), + (e.round = r), + (e.ceil = i), + (e.offset = a), + (e.range = o); + var s = (e.utc = Bt(e)); + return ( + (s.floor = s), + (s.round = Bt(r)), + (s.ceil = Bt(i)), + (s.offset = Bt(a)), + (s.range = function(e, t, n) { + try { + Ft = Dt; + var r = new Dt(); + return (r._ = e), o(r, t, n); + } finally { + Ft = Date; + } + }), + e + ); + } + function Bt(e) { + return function(t, n) { + try { + Ft = Dt; + var r = new Dt(); + return (r._ = t), e(r, n)._; + } finally { + Ft = Date; + } + }; + } + (Vt.year = zt( + function(e) { + return (e = Vt.day(e)).setMonth(0, 1), e; + }, + function(e, t) { + e.setFullYear(e.getFullYear() + t); + }, + function(e) { + return e.getFullYear(); + } + )), + (Vt.years = Vt.year.range), + (Vt.years.utc = Vt.year.utc.range), + (Vt.day = zt( + function(e) { + var t = new Ft(2e3, 0); + return ( + t.setFullYear(e.getFullYear(), e.getMonth(), e.getDate()), t + ); + }, + function(e, t) { + e.setDate(e.getDate() + t); + }, + function(e) { + return e.getDate() - 1; + } + )), + (Vt.days = Vt.day.range), + (Vt.days.utc = Vt.day.utc.range), + (Vt.dayOfYear = function(e) { + var t = Vt.year(e); + return Math.floor( + (e - t - 6e4 * (e.getTimezoneOffset() - t.getTimezoneOffset())) / + 864e5 + ); + }), + [ + "sunday", + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday" + ].forEach(function(e, t) { + t = 7 - t; + var n = (Vt[e] = zt( + function(e) { + return ( + (e = Vt.day(e)).setDate(e.getDate() - ((e.getDay() + t) % 7)), + e + ); + }, + function(e, t) { + e.setDate(e.getDate() + 7 * Math.floor(t)); + }, + function(e) { + var n = Vt.year(e).getDay(); + return ( + Math.floor((Vt.dayOfYear(e) + ((n + t) % 7)) / 7) - (n !== t) + ); + } + )); + (Vt[e + "s"] = n.range), + (Vt[e + "s"].utc = n.utc.range), + (Vt[e + "OfYear"] = function(e) { + var n = Vt.year(e).getDay(); + return Math.floor((Vt.dayOfYear(e) + ((n + t) % 7)) / 7); + }); + }), + (Vt.week = Vt.sunday), + (Vt.weeks = Vt.sunday.range), + (Vt.weeks.utc = Vt.sunday.utc.range), + (Vt.weekOfYear = Vt.sundayOfYear); + var Ht = { "-": "", _: " ", 0: "0" }, + Ut = /^\s*\d+/, + Xt = /^%/; + function Yt(e, t, n) { + var r = e < 0 ? "-" : "", + i = (r ? -e : e) + "", + a = i.length; + return r + (a < n ? new Array(n - a + 1).join(t) + i : i); + } + function Wt(e) { + return new RegExp("^(?:" + e.map(a.requote).join("|") + ")", "i"); + } + function qt(e) { + for (var t = new T(), n = -1, r = e.length; ++n < r; ) + t.set(e[n].toLowerCase(), n); + return t; + } + function Qt(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n, n + 1)); + return r ? ((e.w = +r[0]), n + r[0].length) : -1; + } + function $t(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n)); + return r ? ((e.U = +r[0]), n + r[0].length) : -1; + } + function Kt(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n)); + return r ? ((e.W = +r[0]), n + r[0].length) : -1; + } + function Zt(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n, n + 4)); + return r ? ((e.y = +r[0]), n + r[0].length) : -1; + } + function Jt(e, t, n) { + Ut.lastIndex = 0; + var r, + i = Ut.exec(t.slice(n, n + 2)); + return i + ? ((e.y = (r = +i[0]) + (r > 68 ? 1900 : 2e3)), n + i[0].length) + : -1; + } + function en(e, t, n) { + return /^[+-]\d{4}$/.test((t = t.slice(n, n + 5))) + ? ((e.Z = -t), n + 5) + : -1; + } + function tn(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n, n + 2)); + return r ? ((e.m = r[0] - 1), n + r[0].length) : -1; + } + function nn(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n, n + 2)); + return r ? ((e.d = +r[0]), n + r[0].length) : -1; + } + function rn(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n, n + 3)); + return r ? ((e.j = +r[0]), n + r[0].length) : -1; + } + function an(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n, n + 2)); + return r ? ((e.H = +r[0]), n + r[0].length) : -1; + } + function on(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n, n + 2)); + return r ? ((e.M = +r[0]), n + r[0].length) : -1; + } + function sn(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n, n + 2)); + return r ? ((e.S = +r[0]), n + r[0].length) : -1; + } + function un(e, t, n) { + Ut.lastIndex = 0; + var r = Ut.exec(t.slice(n, n + 3)); + return r ? ((e.L = +r[0]), n + r[0].length) : -1; + } + function ln(e) { + var t = e.getTimezoneOffset(), + n = t > 0 ? "-" : "+", + r = (w(t) / 60) | 0, + i = w(t) % 60; + return n + Yt(r, "0", 2) + Yt(i, "0", 2); + } + function cn(e, t, n) { + Xt.lastIndex = 0; + var r = Xt.exec(t.slice(n, n + 1)); + return r ? n + r[0].length : -1; + } + function dn(e) { + for (var t = e.length, n = -1; ++n < t; ) e[n][0] = this(e[n][0]); + return function(t) { + for (var n = 0, r = e[n]; !r[1](t); ) r = e[++n]; + return r[0](t); + }; + } + a.locale = function(e) { + return { + numberFormat: (function(e) { + var t = e.decimal, + n = e.thousands, + r = e.grouping, + i = e.currency, + o = + r && n + ? function(e, t) { + for ( + var i = e.length, a = [], o = 0, s = r[0], u = 0; + i > 0 && + s > 0 && + (u + s + 1 > t && (s = Math.max(1, t - u)), + a.push(e.substring((i -= s), i + s)), + !((u += s + 1) > t)); + + ) + s = r[(o = (o + 1) % r.length)]; + return a.reverse().join(n); + } + : R; + return function(e) { + var n = jt.exec(e), + r = n[1] || " ", + s = n[2] || ">", + u = n[3] || "-", + l = n[4] || "", + c = n[5], + d = +n[6], + f = n[7], + h = n[8], + p = n[9], + g = 1, + m = "", + v = "", + y = !1, + x = !0; + switch ( + (h && (h = +h.substring(1)), + (c || ("0" === r && "=" === s)) && ((c = r = "0"), (s = "=")), + p) + ) { + case "n": + (f = !0), (p = "g"); + break; + case "%": + (g = 100), (v = "%"), (p = "f"); + break; + case "p": + (g = 100), (v = "%"), (p = "r"); + break; + case "b": + case "o": + case "x": + case "X": + "#" === l && (m = "0" + p.toLowerCase()); + case "c": + x = !1; + case "d": + (y = !0), (h = 0); + break; + case "s": + (g = -1), (p = "r"); + } + "$" === l && ((m = i[0]), (v = i[1])), + "r" != p || h || (p = "g"), + null != h && + ("g" == p + ? (h = Math.max(1, Math.min(21, h))) + : ("e" != p && "f" != p) || + (h = Math.max(0, Math.min(20, h)))), + (p = Rt.get(p) || It); + var b = c && f; + return function(e) { + var n = v; + if (y && e % 1) return ""; + var i = + e < 0 || (0 === e && 1 / e < 0) + ? ((e = -e), "-") + : "-" === u + ? "" + : u; + if (g < 0) { + var l = a.formatPrefix(e, h); + (e = l.scale(e)), (n = l.symbol + v); + } else e *= g; + var _, + w, + S = (e = p(e, h)).lastIndexOf("."); + if (S < 0) { + var T = x ? e.lastIndexOf("e") : -1; + T < 0 + ? ((_ = e), (w = "")) + : ((_ = e.substring(0, T)), (w = e.substring(T))); + } else (_ = e.substring(0, S)), (w = t + e.substring(S + 1)); + !c && f && (_ = o(_, 1 / 0)); + var E = m.length + _.length + w.length + (b ? 0 : i.length), + C = E < d ? new Array((E = d - E + 1)).join(r) : ""; + return ( + b && (_ = o(C + _, C.length ? d - w.length : 1 / 0)), + (i += m), + (e = _ + w), + ("<" === s + ? i + e + C + : ">" === s + ? C + i + e + : "^" === s + ? C.substring(0, (E >>= 1)) + i + e + C.substring(E) + : i + (b ? e : C + e)) + n + ); + }; + }; + })(e), + timeFormat: (function(e) { + var t = e.dateTime, + n = e.date, + r = e.time, + i = e.periods, + o = e.days, + s = e.shortDays, + u = e.months, + l = e.shortMonths; + function c(e) { + var t = e.length; + function n(n) { + for (var r, i, a, o = [], s = -1, u = 0; ++s < t; ) + 37 === e.charCodeAt(s) && + (o.push(e.slice(u, s)), + null != (i = Ht[(r = e.charAt(++s))]) && + (r = e.charAt(++s)), + (a = _[r]) && + (r = a(n, null == i ? ("e" === r ? " " : "0") : i)), + o.push(r), + (u = s + 1)); + return o.push(e.slice(u, s)), o.join(""); + } + return ( + (n.parse = function(t) { + var n = { + y: 1900, + m: 0, + d: 1, + H: 0, + M: 0, + S: 0, + L: 0, + Z: null + }; + if (d(n, e, t, 0) != t.length) return null; + "p" in n && (n.H = (n.H % 12) + 12 * n.p); + var r = null != n.Z && Ft !== Dt, + i = new (r ? Dt : Ft)(); + return ( + "j" in n + ? i.setFullYear(n.y, 0, n.j) + : "W" in n || "U" in n + ? ("w" in n || (n.w = "W" in n ? 1 : 0), + i.setFullYear(n.y, 0, 1), + i.setFullYear( + n.y, + 0, + "W" in n + ? ((n.w + 6) % 7) + + 7 * n.W - + ((i.getDay() + 5) % 7) + : n.w + 7 * n.U - ((i.getDay() + 6) % 7) + )) + : i.setFullYear(n.y, n.m, n.d), + i.setHours( + n.H + ((n.Z / 100) | 0), + n.M + (n.Z % 100), + n.S, + n.L + ), + r ? i._ : i + ); + }), + (n.toString = function() { + return e; + }), + n + ); + } + function d(e, t, n, r) { + for (var i, a, o, s = 0, u = t.length, l = n.length; s < u; ) { + if (r >= l) return -1; + if (37 === (i = t.charCodeAt(s++))) { + if ( + ((o = t.charAt(s++)), + !(a = w[o in Ht ? t.charAt(s++) : o]) || + (r = a(e, n, r)) < 0) + ) + return -1; + } else if (i != n.charCodeAt(r++)) return -1; + } + return r; + } + (c.utc = function(e) { + var t = c(e); + function n(e) { + try { + var n = new (Ft = Dt)(); + return (n._ = e), t(n); + } finally { + Ft = Date; + } + } + return ( + (n.parse = function(e) { + try { + Ft = Dt; + var n = t.parse(e); + return n && n._; + } finally { + Ft = Date; + } + }), + (n.toString = t.toString), + n + ); + }), + (c.multi = c.utc.multi = dn); + var f = a.map(), + h = Wt(o), + p = qt(o), + g = Wt(s), + m = qt(s), + v = Wt(u), + y = qt(u), + x = Wt(l), + b = qt(l); + i.forEach(function(e, t) { + f.set(e.toLowerCase(), t); + }); + var _ = { + a: function(e) { + return s[e.getDay()]; + }, + A: function(e) { + return o[e.getDay()]; + }, + b: function(e) { + return l[e.getMonth()]; + }, + B: function(e) { + return u[e.getMonth()]; + }, + c: c(t), + d: function(e, t) { + return Yt(e.getDate(), t, 2); + }, + e: function(e, t) { + return Yt(e.getDate(), t, 2); + }, + H: function(e, t) { + return Yt(e.getHours(), t, 2); + }, + I: function(e, t) { + return Yt(e.getHours() % 12 || 12, t, 2); + }, + j: function(e, t) { + return Yt(1 + Vt.dayOfYear(e), t, 3); + }, + L: function(e, t) { + return Yt(e.getMilliseconds(), t, 3); + }, + m: function(e, t) { + return Yt(e.getMonth() + 1, t, 2); + }, + M: function(e, t) { + return Yt(e.getMinutes(), t, 2); + }, + p: function(e) { + return i[+(e.getHours() >= 12)]; + }, + S: function(e, t) { + return Yt(e.getSeconds(), t, 2); + }, + U: function(e, t) { + return Yt(Vt.sundayOfYear(e), t, 2); + }, + w: function(e) { + return e.getDay(); + }, + W: function(e, t) { + return Yt(Vt.mondayOfYear(e), t, 2); + }, + x: c(n), + X: c(r), + y: function(e, t) { + return Yt(e.getFullYear() % 100, t, 2); + }, + Y: function(e, t) { + return Yt(e.getFullYear() % 1e4, t, 4); + }, + Z: ln, + "%": function() { + return "%"; + } + }, + w = { + a: function(e, t, n) { + g.lastIndex = 0; + var r = g.exec(t.slice(n)); + return r + ? ((e.w = m.get(r[0].toLowerCase())), n + r[0].length) + : -1; + }, + A: function(e, t, n) { + h.lastIndex = 0; + var r = h.exec(t.slice(n)); + return r + ? ((e.w = p.get(r[0].toLowerCase())), n + r[0].length) + : -1; + }, + b: function(e, t, n) { + x.lastIndex = 0; + var r = x.exec(t.slice(n)); + return r + ? ((e.m = b.get(r[0].toLowerCase())), n + r[0].length) + : -1; + }, + B: function(e, t, n) { + v.lastIndex = 0; + var r = v.exec(t.slice(n)); + return r + ? ((e.m = y.get(r[0].toLowerCase())), n + r[0].length) + : -1; + }, + c: function(e, t, n) { + return d(e, _.c.toString(), t, n); + }, + d: nn, + e: nn, + H: an, + I: an, + j: rn, + L: un, + m: tn, + M: on, + p: function(e, t, n) { + var r = f.get(t.slice(n, (n += 2)).toLowerCase()); + return null == r ? -1 : ((e.p = r), n); + }, + S: sn, + U: $t, + w: Qt, + W: Kt, + x: function(e, t, n) { + return d(e, _.x.toString(), t, n); + }, + X: function(e, t, n) { + return d(e, _.X.toString(), t, n); + }, + y: Jt, + Y: Zt, + Z: en, + "%": cn + }; + return c; + })(e) + }; + }; + var fn = a.locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""], + dateTime: "%a %b %e %X %Y", + date: "%m/%d/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + 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" + ] + }); + function hn() {} + (a.format = fn.numberFormat), + (a.geo = {}), + (hn.prototype = { + s: 0, + t: 0, + add: function(e) { + gn(e, this.t, pn), + gn(pn.s, this.s, this), + this.s ? (this.t += pn.t) : (this.s = pn.t); + }, + reset: function() { + this.s = this.t = 0; + }, + valueOf: function() { + return this.s; + } + }); + var pn = new hn(); + function gn(e, t, n) { + var r = (n.s = e + t), + i = r - e, + a = r - i; + n.t = e - a + (t - i); + } + function mn(e, t) { + e && yn.hasOwnProperty(e.type) && yn[e.type](e, t); + } + a.geo.stream = function(e, t) { + e && vn.hasOwnProperty(e.type) ? vn[e.type](e, t) : mn(e, t); + }; + var vn = { + Feature: function(e, t) { + mn(e.geometry, t); + }, + FeatureCollection: function(e, t) { + for (var n = e.features, r = -1, i = n.length; ++r < i; ) + mn(n[r].geometry, t); + } + }, + yn = { + Sphere: function(e, t) { + t.sphere(); + }, + Point: function(e, t) { + (e = e.coordinates), t.point(e[0], e[1], e[2]); + }, + MultiPoint: function(e, t) { + for (var n = e.coordinates, r = -1, i = n.length; ++r < i; ) + (e = n[r]), t.point(e[0], e[1], e[2]); + }, + LineString: function(e, t) { + xn(e.coordinates, t, 0); + }, + MultiLineString: function(e, t) { + for (var n = e.coordinates, r = -1, i = n.length; ++r < i; ) + xn(n[r], t, 0); + }, + Polygon: function(e, t) { + bn(e.coordinates, t); + }, + MultiPolygon: function(e, t) { + for (var n = e.coordinates, r = -1, i = n.length; ++r < i; ) + bn(n[r], t); + }, + GeometryCollection: function(e, t) { + for (var n = e.geometries, r = -1, i = n.length; ++r < i; ) + mn(n[r], t); + } + }; + function xn(e, t, n) { + var r, + i = -1, + a = e.length - n; + for (t.lineStart(); ++i < a; ) (r = e[i]), t.point(r[0], r[1], r[2]); + t.lineEnd(); + } + function bn(e, t) { + var n = -1, + r = e.length; + for (t.polygonStart(); ++n < r; ) xn(e[n], t, 1); + t.polygonEnd(); + } + a.geo.area = function(e) { + return (_n = 0), a.geo.stream(e, jn), _n; + }; + var _n, + wn, + Sn, + Tn, + En, + Cn, + On, + Pn, + An, + kn, + Nn, + Mn, + Ln = new hn(), + jn = { + sphere: function() { + _n += 4 * Ae; + }, + point: D, + lineStart: D, + lineEnd: D, + polygonStart: function() { + Ln.reset(), (jn.lineStart = Rn); + }, + polygonEnd: function() { + var e = 2 * Ln; + (_n += e < 0 ? 4 * Ae + e : e), + (jn.lineStart = jn.lineEnd = jn.point = D); + } + }; + function Rn() { + var e, t, n, r, i; + function a(e, t) { + t = (t * Le) / 2 + Ae / 4; + var a = (e *= Le) - n, + o = a >= 0 ? 1 : -1, + s = o * a, + u = Math.cos(t), + l = Math.sin(t), + c = i * l, + d = r * u + c * Math.cos(s), + f = c * o * Math.sin(s); + Ln.add(Math.atan2(f, d)), (n = e), (r = u), (i = l); + } + (jn.point = function(o, s) { + (jn.point = a), + (n = (e = o) * Le), + (r = Math.cos((s = ((t = s) * Le) / 2 + Ae / 4))), + (i = Math.sin(s)); + }), + (jn.lineEnd = function() { + a(e, t); + }); + } + function In(e) { + var t = e[0], + n = e[1], + r = Math.cos(n); + return [r * Math.cos(t), r * Math.sin(t), Math.sin(n)]; + } + function Vn(e, t) { + return e[0] * t[0] + e[1] * t[1] + e[2] * t[2]; + } + function Fn(e, t) { + return [ + e[1] * t[2] - e[2] * t[1], + e[2] * t[0] - e[0] * t[2], + e[0] * t[1] - e[1] * t[0] + ]; + } + function Dn(e, t) { + (e[0] += t[0]), (e[1] += t[1]), (e[2] += t[2]); + } + function Gn(e, t) { + return [e[0] * t, e[1] * t, e[2] * t]; + } + function zn(e) { + var t = Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]); + (e[0] /= t), (e[1] /= t), (e[2] /= t); + } + function Bn(e) { + return [Math.atan2(e[1], e[0]), Fe(e[2])]; + } + function Hn(e, t) { + return w(e[0] - t[0]) < Oe && w(e[1] - t[1]) < Oe; + } + (a.geo.bounds = (function() { + var e, + t, + n, + r, + i, + o, + s, + u, + l, + c, + d, + f = { + point: h, + lineStart: g, + lineEnd: m, + polygonStart: function() { + (f.point = v), + (f.lineStart = y), + (f.lineEnd = x), + (l = 0), + jn.polygonStart(); + }, + polygonEnd: function() { + jn.polygonEnd(), + (f.point = h), + (f.lineStart = g), + (f.lineEnd = m), + Ln < 0 + ? ((e = -(n = 180)), (t = -(r = 90))) + : l > Oe + ? (r = 90) + : l < -Oe && (t = -90), + (d[0] = e), + (d[1] = n); + } + }; + function h(i, a) { + c.push((d = [(e = i), (n = i)])), + a < t && (t = a), + a > r && (r = a); + } + function p(a, o) { + var s = In([a * Le, o * Le]); + if (u) { + var l = Fn(u, s), + c = Fn([l[1], -l[0], 0], l); + zn(c), (c = Bn(c)); + var d = a - i, + f = d > 0 ? 1 : -1, + p = c[0] * je * f, + g = w(d) > 180; + if (g ^ (f * i < p && p < f * a)) (m = c[1] * je) > r && (r = m); + else if ( + g ^ (f * i < (p = ((p + 360) % 360) - 180) && p < f * a) + ) { + var m; + (m = -c[1] * je) < t && (t = m); + } else o < t && (t = o), o > r && (r = o); + g + ? a < i + ? b(e, a) > b(e, n) && (n = a) + : b(a, n) > b(e, n) && (e = a) + : n >= e + ? (a < e && (e = a), a > n && (n = a)) + : a > i + ? b(e, a) > b(e, n) && (n = a) + : b(a, n) > b(e, n) && (e = a); + } else h(a, o); + (u = s), (i = a); + } + function g() { + f.point = p; + } + function m() { + (d[0] = e), (d[1] = n), (f.point = h), (u = null); + } + function v(e, t) { + if (u) { + var n = e - i; + l += w(n) > 180 ? n + (n > 0 ? 360 : -360) : n; + } else (o = e), (s = t); + jn.point(e, t), p(e, t); + } + function y() { + jn.lineStart(); + } + function x() { + v(o, s), + jn.lineEnd(), + w(l) > Oe && (e = -(n = 180)), + (d[0] = e), + (d[1] = n), + (u = null); + } + function b(e, t) { + return (t -= e) < 0 ? t + 360 : t; + } + function _(e, t) { + return e[0] - t[0]; + } + function S(e, t) { + return t[0] <= t[1] ? t[0] <= e && e <= t[1] : e < t[0] || t[1] < e; + } + return function(i) { + if ( + ((r = n = -(e = t = 1 / 0)), + (c = []), + a.geo.stream(i, f), + (l = c.length)) + ) { + c.sort(_); + for (var o = 1, s = [(g = c[0])]; o < l; ++o) + S((h = c[o])[0], g) || S(h[1], g) + ? (b(g[0], h[1]) > b(g[0], g[1]) && (g[1] = h[1]), + b(h[0], g[1]) > b(g[0], g[1]) && (g[0] = h[0])) + : s.push((g = h)); + for ( + var u, l, h, p = -1 / 0, g = ((o = 0), s[(l = s.length - 1)]); + o <= l; + g = h, ++o + ) + (h = s[o]), + (u = b(g[1], h[0])) > p && ((p = u), (e = h[0]), (n = g[1])); + } + return ( + (c = d = null), + e === 1 / 0 || t === 1 / 0 + ? [[NaN, NaN], [NaN, NaN]] + : [[e, t], [n, r]] + ); + }; + })()), + (a.geo.centroid = function(e) { + (wn = Sn = Tn = En = Cn = On = Pn = An = kn = Nn = Mn = 0), + a.geo.stream(e, Un); + var t = kn, + n = Nn, + r = Mn, + i = t * t + n * n + r * r; + return i < Pe && + ((t = On), + (n = Pn), + (r = An), + Sn < Oe && ((t = Tn), (n = En), (r = Cn)), + (i = t * t + n * n + r * r) < Pe) + ? [NaN, NaN] + : [Math.atan2(n, t) * je, Fe(r / Math.sqrt(i)) * je]; + }); + var Un = { + sphere: D, + point: Xn, + lineStart: Wn, + lineEnd: qn, + polygonStart: function() { + Un.lineStart = Qn; + }, + polygonEnd: function() { + Un.lineStart = Wn; + } + }; + function Xn(e, t) { + e *= Le; + var n = Math.cos((t *= Le)); + Yn(n * Math.cos(e), n * Math.sin(e), Math.sin(t)); + } + function Yn(e, t, n) { + (Tn += (e - Tn) / ++wn), (En += (t - En) / wn), (Cn += (n - Cn) / wn); + } + function Wn() { + var e, t, n; + function r(r, i) { + r *= Le; + var a = Math.cos((i *= Le)), + o = a * Math.cos(r), + s = a * Math.sin(r), + u = Math.sin(i), + l = Math.atan2( + Math.sqrt( + (l = t * u - n * s) * l + + (l = n * o - e * u) * l + + (l = e * s - t * o) * l + ), + e * o + t * s + n * u + ); + (Sn += l), + (On += l * (e + (e = o))), + (Pn += l * (t + (t = s))), + (An += l * (n + (n = u))), + Yn(e, t, n); + } + Un.point = function(i, a) { + i *= Le; + var o = Math.cos((a *= Le)); + (e = o * Math.cos(i)), + (t = o * Math.sin(i)), + (n = Math.sin(a)), + (Un.point = r), + Yn(e, t, n); + }; + } + function qn() { + Un.point = Xn; + } + function Qn() { + var e, t, n, r, i; + function a(e, t) { + e *= Le; + var a = Math.cos((t *= Le)), + o = a * Math.cos(e), + s = a * Math.sin(e), + u = Math.sin(t), + l = r * u - i * s, + c = i * o - n * u, + d = n * s - r * o, + f = Math.sqrt(l * l + c * c + d * d), + h = n * o + r * s + i * u, + p = f && -Ve(h) / f, + g = Math.atan2(f, h); + (kn += p * l), + (Nn += p * c), + (Mn += p * d), + (Sn += g), + (On += g * (n + (n = o))), + (Pn += g * (r + (r = s))), + (An += g * (i + (i = u))), + Yn(n, r, i); + } + (Un.point = function(o, s) { + (e = o), (t = s), (Un.point = a), (o *= Le); + var u = Math.cos((s *= Le)); + (n = u * Math.cos(o)), + (r = u * Math.sin(o)), + (i = Math.sin(s)), + Yn(n, r, i); + }), + (Un.lineEnd = function() { + a(e, t), (Un.lineEnd = qn), (Un.point = Xn); + }); + } + function $n(e, t) { + function n(n, r) { + return (n = e(n, r)), t(n[0], n[1]); + } + return ( + e.invert && + t.invert && + (n.invert = function(n, r) { + return (n = t.invert(n, r)) && e.invert(n[0], n[1]); + }), + n + ); + } + function Kn() { + return !0; + } + function Zn(e, t, n, r, i) { + var a = [], + o = []; + if ( + (e.forEach(function(e) { + if (!((t = e.length - 1) <= 0)) { + var t, + n = e[0], + r = e[t]; + if (Hn(n, r)) { + i.lineStart(); + for (var s = 0; s < t; ++s) i.point((n = e[s])[0], n[1]); + i.lineEnd(); + } else { + var u = new er(n, e, null, !0), + l = new er(n, null, u, !1); + (u.o = l), + a.push(u), + o.push(l), + (u = new er(r, e, null, !1)), + (l = new er(r, null, u, !0)), + (u.o = l), + a.push(u), + o.push(l); + } + } + }), + o.sort(t), + Jn(a), + Jn(o), + a.length) + ) { + for (var s = 0, u = n, l = o.length; s < l; ++s) o[s].e = u = !u; + for (var c, d, f = a[0]; ; ) { + for (var h = f, p = !0; h.v; ) if ((h = h.n) === f) return; + (c = h.z), i.lineStart(); + do { + if (((h.v = h.o.v = !0), h.e)) { + if (p) + for (s = 0, l = c.length; s < l; ++s) + i.point((d = c[s])[0], d[1]); + else r(h.x, h.n.x, 1, i); + h = h.n; + } else { + if (p) + for (s = (c = h.p.z).length - 1; s >= 0; --s) + i.point((d = c[s])[0], d[1]); + else r(h.x, h.p.x, -1, i); + h = h.p; + } + (c = (h = h.o).z), (p = !p); + } while (!h.v); + i.lineEnd(); + } + } + } + function Jn(e) { + if ((t = e.length)) { + for (var t, n, r = 0, i = e[0]; ++r < t; ) + (i.n = n = e[r]), (n.p = i), (i = n); + (i.n = n = e[0]), (n.p = i); + } + } + function er(e, t, n, r) { + (this.x = e), + (this.z = t), + (this.o = n), + (this.e = r), + (this.v = !1), + (this.n = this.p = null); + } + function tr(e, t, n, r) { + return function(i, o) { + var s, + u = t(o), + l = i.invert(r[0], r[1]), + c = { + point: d, + lineStart: h, + lineEnd: p, + polygonStart: function() { + (c.point = b), + (c.lineStart = _), + (c.lineEnd = w), + (s = []), + (g = []); + }, + polygonEnd: function() { + (c.point = d), + (c.lineStart = h), + (c.lineEnd = p), + (s = a.merge(s)); + var e = (function(e, t) { + var n = e[0], + r = e[1], + i = [Math.sin(n), -Math.cos(n), 0], + a = 0, + o = 0; + Ln.reset(); + for (var s = 0, u = t.length; s < u; ++s) { + var l = t[s], + c = l.length; + if (c) + for ( + var d = l[0], + f = d[0], + h = d[1] / 2 + Ae / 4, + p = Math.sin(h), + g = Math.cos(h), + m = 1; + ; + + ) { + m === c && (m = 0); + var v = (e = l[m])[0], + y = e[1] / 2 + Ae / 4, + x = Math.sin(y), + b = Math.cos(y), + _ = v - f, + w = _ >= 0 ? 1 : -1, + S = w * _, + T = S > Ae, + E = p * x; + if ( + (Ln.add( + Math.atan2( + E * w * Math.sin(S), + g * b + E * Math.cos(S) + ) + ), + (a += T ? _ + w * ke : _), + T ^ (f >= n) ^ (v >= n)) + ) { + var C = Fn(In(d), In(e)); + zn(C); + var O = Fn(i, C); + zn(O); + var P = (T ^ (_ >= 0) ? -1 : 1) * Fe(O[2]); + (r > P || (r === P && (C[0] || C[1]))) && + (o += T ^ (_ >= 0) ? 1 : -1); + } + if (!m++) break; + (f = v), (p = x), (g = b), (d = e); + } + } + return (a < -Oe || (a < Oe && Ln < -Oe)) ^ (1 & o); + })(l, g); + s.length + ? (x || (o.polygonStart(), (x = !0)), Zn(s, ir, e, n, o)) + : e && + (x || (o.polygonStart(), (x = !0)), + o.lineStart(), + n(null, null, 1, o), + o.lineEnd()), + x && (o.polygonEnd(), (x = !1)), + (s = g = null); + }, + sphere: function() { + o.polygonStart(), + o.lineStart(), + n(null, null, 1, o), + o.lineEnd(), + o.polygonEnd(); + } + }; + function d(t, n) { + var r = i(t, n); + e((t = r[0]), (n = r[1])) && o.point(t, n); + } + function f(e, t) { + var n = i(e, t); + u.point(n[0], n[1]); + } + function h() { + (c.point = f), u.lineStart(); + } + function p() { + (c.point = d), u.lineEnd(); + } + var g, + m, + v = rr(), + y = t(v), + x = !1; + function b(e, t) { + m.push([e, t]); + var n = i(e, t); + y.point(n[0], n[1]); + } + function _() { + y.lineStart(), (m = []); + } + function w() { + b(m[0][0], m[0][1]), y.lineEnd(); + var e, + t = y.clean(), + n = v.buffer(), + r = n.length; + if ((m.pop(), g.push(m), (m = null), r)) + if (1 & t) { + var i, + a = -1; + if ((r = (e = n[0]).length - 1) > 0) { + for ( + x || (o.polygonStart(), (x = !0)), o.lineStart(); + ++a < r; + + ) + o.point((i = e[a])[0], i[1]); + o.lineEnd(); + } + } else + r > 1 && 2 & t && n.push(n.pop().concat(n.shift())), + s.push(n.filter(nr)); + } + return c; + }; + } + function nr(e) { + return e.length > 1; + } + function rr() { + var e, + t = []; + return { + lineStart: function() { + t.push((e = [])); + }, + point: function(t, n) { + e.push([t, n]); + }, + lineEnd: D, + buffer: function() { + var n = t; + return (t = []), (e = null), n; + }, + rejoin: function() { + t.length > 1 && t.push(t.pop().concat(t.shift())); + } + }; + } + function ir(e, t) { + return ( + ((e = e.x)[0] < 0 ? e[1] - Me - Oe : Me - e[1]) - + ((t = t.x)[0] < 0 ? t[1] - Me - Oe : Me - t[1]) + ); + } + var ar = tr( + Kn, + function(e) { + var t, + n = NaN, + r = NaN, + i = NaN; + return { + lineStart: function() { + e.lineStart(), (t = 1); + }, + point: function(a, o) { + var s = a > 0 ? Ae : -Ae, + u = w(a - n); + w(u - Ae) < Oe + ? (e.point(n, (r = (r + o) / 2 > 0 ? Me : -Me)), + e.point(i, r), + e.lineEnd(), + e.lineStart(), + e.point(s, r), + e.point(a, r), + (t = 0)) + : i !== s && + u >= Ae && + (w(n - i) < Oe && (n -= i * Oe), + w(a - s) < Oe && (a -= s * Oe), + (r = (function(e, t, n, r) { + var i, + a, + o = Math.sin(e - n); + return w(o) > Oe + ? Math.atan( + (Math.sin(t) * (a = Math.cos(r)) * Math.sin(n) - + Math.sin(r) * (i = Math.cos(t)) * Math.sin(e)) / + (i * a * o) + ) + : (t + r) / 2; + })(n, r, a, o)), + e.point(i, r), + e.lineEnd(), + e.lineStart(), + e.point(s, r), + (t = 0)), + e.point((n = a), (r = o)), + (i = s); + }, + lineEnd: function() { + e.lineEnd(), (n = r = NaN); + }, + clean: function() { + return 2 - t; + } + }; + }, + function(e, t, n, r) { + var i; + if (null == e) + (i = n * Me), + r.point(-Ae, i), + r.point(0, i), + r.point(Ae, i), + r.point(Ae, 0), + r.point(Ae, -i), + r.point(0, -i), + r.point(-Ae, -i), + r.point(-Ae, 0), + r.point(-Ae, i); + else if (w(e[0] - t[0]) > Oe) { + var a = e[0] < t[0] ? Ae : -Ae; + (i = (n * a) / 2), r.point(-a, i), r.point(0, i), r.point(a, i); + } else r.point(t[0], t[1]); + }, + [-Ae, -Ae / 2] + ); + function or(e, t, n, r) { + return function(i) { + var a, + o = i.a, + s = i.b, + u = o.x, + l = o.y, + c = 0, + d = 1, + f = s.x - u, + h = s.y - l; + if (((a = e - u), f || !(a > 0))) { + if (((a /= f), f < 0)) { + if (a < c) return; + a < d && (d = a); + } else if (f > 0) { + if (a > d) return; + a > c && (c = a); + } + if (((a = n - u), f || !(a < 0))) { + if (((a /= f), f < 0)) { + if (a > d) return; + a > c && (c = a); + } else if (f > 0) { + if (a < c) return; + a < d && (d = a); + } + if (((a = t - l), h || !(a > 0))) { + if (((a /= h), h < 0)) { + if (a < c) return; + a < d && (d = a); + } else if (h > 0) { + if (a > d) return; + a > c && (c = a); + } + if (((a = r - l), h || !(a < 0))) { + if (((a /= h), h < 0)) { + if (a > d) return; + a > c && (c = a); + } else if (h > 0) { + if (a < c) return; + a < d && (d = a); + } + return ( + c > 0 && (i.a = { x: u + c * f, y: l + c * h }), + d < 1 && (i.b = { x: u + d * f, y: l + d * h }), + i + ); + } + } + } + } + }; + } + var sr = 1e9; + function ur(e, t, n, r) { + return function(u) { + var l, + c, + d, + f, + h, + p, + g, + m, + v, + y, + x, + b = u, + _ = rr(), + w = or(e, t, n, r), + S = { + point: C, + lineStart: function() { + (S.point = O), c && c.push((d = [])); + (y = !0), (v = !1), (g = m = NaN); + }, + lineEnd: function() { + l && (O(f, h), p && v && _.rejoin(), l.push(_.buffer())); + (S.point = C), v && u.lineEnd(); + }, + polygonStart: function() { + (u = _), (l = []), (c = []), (x = !0); + }, + polygonEnd: function() { + (u = b), (l = a.merge(l)); + var t = (function(e) { + for (var t = 0, n = c.length, r = e[1], i = 0; i < n; ++i) + for ( + var a, o = 1, s = c[i], u = s.length, l = s[0]; + o < u; + ++o + ) + (a = s[o]), + l[1] <= r + ? a[1] > r && Ie(l, a, e) > 0 && ++t + : a[1] <= r && Ie(l, a, e) < 0 && --t, + (l = a); + return 0 !== t; + })([e, r]), + n = x && t, + i = l.length; + (n || i) && + (u.polygonStart(), + n && (u.lineStart(), T(null, null, 1, u), u.lineEnd()), + i && Zn(l, o, t, T, u), + u.polygonEnd()), + (l = c = d = null); + } + }; + function T(a, o, u, l) { + var c = 0, + d = 0; + if ( + null == a || + (c = i(a, u)) !== (d = i(o, u)) || + (s(a, o) < 0) ^ (u > 0) + ) + do { + l.point(0 === c || 3 === c ? e : n, c > 1 ? r : t); + } while ((c = (c + u + 4) % 4) !== d); + else l.point(o[0], o[1]); + } + function E(i, a) { + return e <= i && i <= n && t <= a && a <= r; + } + function C(e, t) { + E(e, t) && u.point(e, t); + } + function O(e, t) { + var n = E( + (e = Math.max(-sr, Math.min(sr, e))), + (t = Math.max(-sr, Math.min(sr, t))) + ); + if ((c && d.push([e, t]), y)) + (f = e), + (h = t), + (p = n), + (y = !1), + n && (u.lineStart(), u.point(e, t)); + else if (n && v) u.point(e, t); + else { + var r = { a: { x: g, y: m }, b: { x: e, y: t } }; + w(r) + ? (v || (u.lineStart(), u.point(r.a.x, r.a.y)), + u.point(r.b.x, r.b.y), + n || u.lineEnd(), + (x = !1)) + : n && (u.lineStart(), u.point(e, t), (x = !1)); + } + (g = e), (m = t), (v = n); + } + return S; + }; + function i(r, i) { + return w(r[0] - e) < Oe + ? i > 0 + ? 0 + : 3 + : w(r[0] - n) < Oe + ? i > 0 + ? 2 + : 1 + : w(r[1] - t) < Oe + ? i > 0 + ? 1 + : 0 + : i > 0 + ? 3 + : 2; + } + function o(e, t) { + return s(e.x, t.x); + } + function s(e, t) { + var n = i(e, 1), + r = i(t, 1); + return n !== r + ? n - r + : 0 === n + ? t[1] - e[1] + : 1 === n + ? e[0] - t[0] + : 2 === n + ? e[1] - t[1] + : t[0] - e[0]; + } + } + function lr(e) { + var t = 0, + n = Ae / 3, + r = Lr(e), + i = r(t, n); + return ( + (i.parallels = function(e) { + return arguments.length + ? r((t = (e[0] * Ae) / 180), (n = (e[1] * Ae) / 180)) + : [(t / Ae) * 180, (n / Ae) * 180]; + }), + i + ); + } + function cr(e, t) { + var n = Math.sin(e), + r = (n + Math.sin(t)) / 2, + i = 1 + n * (2 * r - n), + a = Math.sqrt(i) / r; + function o(e, t) { + var n = Math.sqrt(i - 2 * r * Math.sin(t)) / r; + return [n * Math.sin((e *= r)), a - n * Math.cos(e)]; + } + return ( + (o.invert = function(e, t) { + var n = a - t; + return [ + Math.atan2(e, n) / r, + Fe((i - (e * e + n * n) * r * r) / (2 * r)) + ]; + }), + o + ); + } + (a.geo.clipExtent = function() { + var e, + t, + n, + r, + i, + a, + o = { + stream: function(e) { + return i && (i.valid = !1), ((i = a(e)).valid = !0), i; + }, + extent: function(s) { + return arguments.length + ? ((a = ur( + (e = +s[0][0]), + (t = +s[0][1]), + (n = +s[1][0]), + (r = +s[1][1]) + )), + i && ((i.valid = !1), (i = null)), + o) + : [[e, t], [n, r]]; + } + }; + return o.extent([[0, 0], [960, 500]]); + }), + ((a.geo.conicEqualArea = function() { + return lr(cr); + }).raw = cr), + (a.geo.albers = function() { + return a.geo + .conicEqualArea() + .rotate([96, 0]) + .center([-0.6, 38.7]) + .parallels([29.5, 45.5]) + .scale(1070); + }), + (a.geo.albersUsa = function() { + var e, + t, + n, + r, + i = a.geo.albers(), + o = a.geo + .conicEqualArea() + .rotate([154, 0]) + .center([-2, 58.5]) + .parallels([55, 65]), + s = a.geo + .conicEqualArea() + .rotate([157, 0]) + .center([-3, 19.9]) + .parallels([8, 18]), + u = { + point: function(t, n) { + e = [t, n]; + } + }; + function l(i) { + var a = i[0], + o = i[1]; + return (e = null), t(a, o), e || (n(a, o), e) || r(a, o), e; + } + return ( + (l.invert = function(e) { + var t = i.scale(), + n = i.translate(), + r = (e[0] - n[0]) / t, + a = (e[1] - n[1]) / t; + return (a >= 0.12 && a < 0.234 && r >= -0.425 && r < -0.214 + ? o + : a >= 0.166 && a < 0.234 && r >= -0.214 && r < -0.115 + ? s + : i + ).invert(e); + }), + (l.stream = function(e) { + var t = i.stream(e), + n = o.stream(e), + r = s.stream(e); + return { + point: function(e, i) { + t.point(e, i), n.point(e, i), r.point(e, i); + }, + sphere: function() { + t.sphere(), n.sphere(), r.sphere(); + }, + lineStart: function() { + t.lineStart(), n.lineStart(), r.lineStart(); + }, + lineEnd: function() { + t.lineEnd(), n.lineEnd(), r.lineEnd(); + }, + polygonStart: function() { + t.polygonStart(), n.polygonStart(), r.polygonStart(); + }, + polygonEnd: function() { + t.polygonEnd(), n.polygonEnd(), r.polygonEnd(); + } + }; + }), + (l.precision = function(e) { + return arguments.length + ? (i.precision(e), o.precision(e), s.precision(e), l) + : i.precision(); + }), + (l.scale = function(e) { + return arguments.length + ? (i.scale(e), + o.scale(0.35 * e), + s.scale(e), + l.translate(i.translate())) + : i.scale(); + }), + (l.translate = function(e) { + if (!arguments.length) return i.translate(); + var a = i.scale(), + c = +e[0], + d = +e[1]; + return ( + (t = i + .translate(e) + .clipExtent([ + [c - 0.455 * a, d - 0.238 * a], + [c + 0.455 * a, d + 0.238 * a] + ]) + .stream(u).point), + (n = o + .translate([c - 0.307 * a, d + 0.201 * a]) + .clipExtent([ + [c - 0.425 * a + Oe, d + 0.12 * a + Oe], + [c - 0.214 * a - Oe, d + 0.234 * a - Oe] + ]) + .stream(u).point), + (r = s + .translate([c - 0.205 * a, d + 0.212 * a]) + .clipExtent([ + [c - 0.214 * a + Oe, d + 0.166 * a + Oe], + [c - 0.115 * a - Oe, d + 0.234 * a - Oe] + ]) + .stream(u).point), + l + ); + }), + l.scale(1070) + ); + }); + var dr, + fr, + hr, + pr, + gr, + mr, + vr = { + point: D, + lineStart: D, + lineEnd: D, + polygonStart: function() { + (fr = 0), (vr.lineStart = yr); + }, + polygonEnd: function() { + (vr.lineStart = vr.lineEnd = vr.point = D), (dr += w(fr / 2)); + } + }; + function yr() { + var e, t, n, r; + function i(e, t) { + (fr += r * e - n * t), (n = e), (r = t); + } + (vr.point = function(a, o) { + (vr.point = i), (e = n = a), (t = r = o); + }), + (vr.lineEnd = function() { + i(e, t); + }); + } + var xr = { + point: function(e, t) { + e < hr && (hr = e); + e > gr && (gr = e); + t < pr && (pr = t); + t > mr && (mr = t); + }, + lineStart: D, + lineEnd: D, + polygonStart: D, + polygonEnd: D + }; + function br() { + var e = _r(4.5), + t = [], + n = { + point: r, + lineStart: function() { + n.point = i; + }, + lineEnd: o, + polygonStart: function() { + n.lineEnd = s; + }, + polygonEnd: function() { + (n.lineEnd = o), (n.point = r); + }, + pointRadius: function(t) { + return (e = _r(t)), n; + }, + result: function() { + if (t.length) { + var e = t.join(""); + return (t = []), e; + } + } + }; + function r(n, r) { + t.push("M", n, ",", r, e); + } + function i(e, r) { + t.push("M", e, ",", r), (n.point = a); + } + function a(e, n) { + t.push("L", e, ",", n); + } + function o() { + n.point = r; + } + function s() { + t.push("Z"); + } + return n; + } + function _r(e) { + return ( + "m0," + + e + + "a" + + e + + "," + + e + + " 0 1,1 0," + + -2 * e + + "a" + + e + + "," + + e + + " 0 1,1 0," + + 2 * e + + "z" + ); + } + var wr, + Sr = { + point: Tr, + lineStart: Er, + lineEnd: Cr, + polygonStart: function() { + Sr.lineStart = Or; + }, + polygonEnd: function() { + (Sr.point = Tr), (Sr.lineStart = Er), (Sr.lineEnd = Cr); + } + }; + function Tr(e, t) { + (Tn += e), (En += t), ++Cn; + } + function Er() { + var e, t; + function n(n, r) { + var i = n - e, + a = r - t, + o = Math.sqrt(i * i + a * a); + (On += (o * (e + n)) / 2), + (Pn += (o * (t + r)) / 2), + (An += o), + Tr((e = n), (t = r)); + } + Sr.point = function(r, i) { + (Sr.point = n), Tr((e = r), (t = i)); + }; + } + function Cr() { + Sr.point = Tr; + } + function Or() { + var e, t, n, r; + function i(e, t) { + var i = e - n, + a = t - r, + o = Math.sqrt(i * i + a * a); + (On += (o * (n + e)) / 2), + (Pn += (o * (r + t)) / 2), + (An += o), + (kn += (o = r * e - n * t) * (n + e)), + (Nn += o * (r + t)), + (Mn += 3 * o), + Tr((n = e), (r = t)); + } + (Sr.point = function(a, o) { + (Sr.point = i), Tr((e = n = a), (t = r = o)); + }), + (Sr.lineEnd = function() { + i(e, t); + }); + } + function Pr(e) { + var t = 4.5, + n = { + point: r, + lineStart: function() { + n.point = i; + }, + lineEnd: o, + polygonStart: function() { + n.lineEnd = s; + }, + polygonEnd: function() { + (n.lineEnd = o), (n.point = r); + }, + pointRadius: function(e) { + return (t = e), n; + }, + result: D + }; + function r(n, r) { + e.moveTo(n + t, r), e.arc(n, r, t, 0, ke); + } + function i(t, r) { + e.moveTo(t, r), (n.point = a); + } + function a(t, n) { + e.lineTo(t, n); + } + function o() { + n.point = r; + } + function s() { + e.closePath(); + } + return n; + } + function Ar(e) { + var t = 0.5, + n = Math.cos(30 * Le), + r = 16; + function i(t) { + return (r + ? function(t) { + var n, + i, + o, + s, + u, + l, + c, + d, + f, + h, + p, + g, + m = { + point: v, + lineStart: y, + lineEnd: b, + polygonStart: function() { + t.polygonStart(), (m.lineStart = _); + }, + polygonEnd: function() { + t.polygonEnd(), (m.lineStart = y); + } + }; + function v(n, r) { + (n = e(n, r)), t.point(n[0], n[1]); + } + function y() { + (d = NaN), (m.point = x), t.lineStart(); + } + function x(n, i) { + var o = In([n, i]), + s = e(n, i); + a( + d, + f, + c, + h, + p, + g, + (d = s[0]), + (f = s[1]), + (c = n), + (h = o[0]), + (p = o[1]), + (g = o[2]), + r, + t + ), + t.point(d, f); + } + function b() { + (m.point = v), t.lineEnd(); + } + function _() { + y(), (m.point = w), (m.lineEnd = S); + } + function w(e, t) { + x((n = e), t), + (i = d), + (o = f), + (s = h), + (u = p), + (l = g), + (m.point = x); + } + function S() { + a(d, f, c, h, p, g, i, o, n, s, u, l, r, t), + (m.lineEnd = b), + b(); + } + return m; + } + : function(t) { + return Nr(t, function(n, r) { + (n = e(n, r)), t.point(n[0], n[1]); + }); + })(t); + } + function a(r, i, o, s, u, l, c, d, f, h, p, g, m, v) { + var y = c - r, + x = d - i, + b = y * y + x * x; + if (b > 4 * t && m--) { + var _ = s + h, + S = u + p, + T = l + g, + E = Math.sqrt(_ * _ + S * S + T * T), + C = Math.asin((T /= E)), + O = + w(w(T) - 1) < Oe || w(o - f) < Oe + ? (o + f) / 2 + : Math.atan2(S, _), + P = e(O, C), + A = P[0], + k = P[1], + N = A - r, + M = k - i, + L = x * N - y * M; + ((L * L) / b > t || + w((y * N + x * M) / b - 0.5) > 0.3 || + s * h + u * p + l * g < n) && + (a(r, i, o, s, u, l, A, k, O, (_ /= E), (S /= E), T, m, v), + v.point(A, k), + a(A, k, O, _, S, T, c, d, f, h, p, g, m, v)); + } + } + return ( + (i.precision = function(e) { + return arguments.length + ? ((r = (t = e * e) > 0 && 16), i) + : Math.sqrt(t); + }), + i + ); + } + function kr(e) { + this.stream = e; + } + function Nr(e, t) { + return { + point: t, + sphere: function() { + e.sphere(); + }, + lineStart: function() { + e.lineStart(); + }, + lineEnd: function() { + e.lineEnd(); + }, + polygonStart: function() { + e.polygonStart(); + }, + polygonEnd: function() { + e.polygonEnd(); + } + }; + } + function Mr(e) { + return Lr(function() { + return e; + })(); + } + function Lr(e) { + var t, + n, + r, + i, + o, + s, + u = Ar(function(e, n) { + return [(e = t(e, n))[0] * l + i, o - e[1] * l]; + }), + l = 150, + c = 480, + d = 250, + f = 0, + h = 0, + p = 0, + g = 0, + m = 0, + v = ar, + y = R, + x = null, + b = null; + function _(e) { + return [(e = r(e[0] * Le, e[1] * Le))[0] * l + i, o - e[1] * l]; + } + function S(e) { + return ( + (e = r.invert((e[0] - i) / l, (o - e[1]) / l)) && [ + e[0] * je, + e[1] * je + ] + ); + } + function T() { + r = $n((n = Vr(p, g, m)), t); + var e = t(f, h); + return (i = c - e[0] * l), (o = d + e[1] * l), E(); + } + function E() { + return s && ((s.valid = !1), (s = null)), _; + } + return ( + (_.stream = function(e) { + return ( + s && (s.valid = !1), ((s = jr(v(n, u(y(e))))).valid = !0), s + ); + }), + (_.clipAngle = function(e) { + return arguments.length + ? ((v = + null == e + ? ((x = e), ar) + : (function(e) { + var t = Math.cos(e), + n = t > 0, + r = w(t) > Oe; + return tr( + i, + function(e) { + var t, s, u, l, c; + return { + lineStart: function() { + (l = u = !1), (c = 1); + }, + point: function(d, f) { + var h, + p = [d, f], + g = i(d, f), + m = n + ? g + ? 0 + : o(d, f) + : g + ? o(d + (d < 0 ? Ae : -Ae), f) + : 0; + if ( + (!t && (l = u = g) && e.lineStart(), + g !== u && + ((h = a(t, p)), + (Hn(t, h) || Hn(p, h)) && + ((p[0] += Oe), + (p[1] += Oe), + (g = i(p[0], p[1])))), + g !== u) + ) + (c = 0), + g + ? (e.lineStart(), + (h = a(p, t)), + e.point(h[0], h[1])) + : ((h = a(t, p)), + e.point(h[0], h[1]), + e.lineEnd()), + (t = h); + else if (r && t && n ^ g) { + var v; + m & s || + !(v = a(p, t, !0)) || + ((c = 0), + n + ? (e.lineStart(), + e.point(v[0][0], v[0][1]), + e.point(v[1][0], v[1][1]), + e.lineEnd()) + : (e.point(v[1][0], v[1][1]), + e.lineEnd(), + e.lineStart(), + e.point(v[0][0], v[0][1]))); + } + !g || (t && Hn(t, p)) || e.point(p[0], p[1]), + (t = p), + (u = g), + (s = m); + }, + lineEnd: function() { + u && e.lineEnd(), (t = null); + }, + clean: function() { + return c | ((l && u) << 1); + } + }; + }, + zr(e, 6 * Le), + n ? [0, -e] : [-Ae, e - Ae] + ); + function i(e, n) { + return Math.cos(e) * Math.cos(n) > t; + } + function a(e, n, r) { + var i = [1, 0, 0], + a = Fn(In(e), In(n)), + o = Vn(a, a), + s = a[0], + u = o - s * s; + if (!u) return !r && e; + var l = (t * o) / u, + c = (-t * s) / u, + d = Fn(i, a), + f = Gn(i, l); + Dn(f, Gn(a, c)); + var h = d, + p = Vn(f, h), + g = Vn(h, h), + m = p * p - g * (Vn(f, f) - 1); + if (!(m < 0)) { + var v = Math.sqrt(m), + y = Gn(h, (-p - v) / g); + if ((Dn(y, f), (y = Bn(y)), !r)) return y; + var x, + b = e[0], + _ = n[0], + S = e[1], + T = n[1]; + _ < b && ((x = b), (b = _), (_ = x)); + var E = _ - b, + C = w(E - Ae) < Oe; + if ( + (!C && T < S && ((x = S), (S = T), (T = x)), + C || E < Oe + ? C + ? (S + T > 0) ^ + (y[1] < (w(y[0] - b) < Oe ? S : T)) + : S <= y[1] && y[1] <= T + : (E > Ae) ^ (b <= y[0] && y[0] <= _)) + ) { + var O = Gn(h, (-p + v) / g); + return Dn(O, f), [y, Bn(O)]; + } + } + } + function o(t, r) { + var i = n ? e : Ae - e, + a = 0; + return ( + t < -i ? (a |= 1) : t > i && (a |= 2), + r < -i ? (a |= 4) : r > i && (a |= 8), + a + ); + } + })((x = +e) * Le)), + E()) + : x; + }), + (_.clipExtent = function(e) { + return arguments.length + ? ((b = e), + (y = e ? ur(e[0][0], e[0][1], e[1][0], e[1][1]) : R), + E()) + : b; + }), + (_.scale = function(e) { + return arguments.length ? ((l = +e), T()) : l; + }), + (_.translate = function(e) { + return arguments.length + ? ((c = +e[0]), (d = +e[1]), T()) + : [c, d]; + }), + (_.center = function(e) { + return arguments.length + ? ((f = (e[0] % 360) * Le), (h = (e[1] % 360) * Le), T()) + : [f * je, h * je]; + }), + (_.rotate = function(e) { + return arguments.length + ? ((p = (e[0] % 360) * Le), + (g = (e[1] % 360) * Le), + (m = e.length > 2 ? (e[2] % 360) * Le : 0), + T()) + : [p * je, g * je, m * je]; + }), + a.rebind(_, u, "precision"), + function() { + return ( + (t = e.apply(this, arguments)), (_.invert = t.invert && S), T() + ); + } + ); + } + function jr(e) { + return Nr(e, function(t, n) { + e.point(t * Le, n * Le); + }); + } + function Rr(e, t) { + return [e, t]; + } + function Ir(e, t) { + return [e > Ae ? e - ke : e < -Ae ? e + ke : e, t]; + } + function Vr(e, t, n) { + return e + ? t || n + ? $n(Dr(e), Gr(t, n)) + : Dr(e) + : t || n + ? Gr(t, n) + : Ir; + } + function Fr(e) { + return function(t, n) { + return [(t += e) > Ae ? t - ke : t < -Ae ? t + ke : t, n]; + }; + } + function Dr(e) { + var t = Fr(e); + return (t.invert = Fr(-e)), t; + } + function Gr(e, t) { + var n = Math.cos(e), + r = Math.sin(e), + i = Math.cos(t), + a = Math.sin(t); + function o(e, t) { + var o = Math.cos(t), + s = Math.cos(e) * o, + u = Math.sin(e) * o, + l = Math.sin(t), + c = l * n + s * r; + return [ + Math.atan2(u * i - c * a, s * n - l * r), + Fe(c * i + u * a) + ]; + } + return ( + (o.invert = function(e, t) { + var o = Math.cos(t), + s = Math.cos(e) * o, + u = Math.sin(e) * o, + l = Math.sin(t), + c = l * i - u * a; + return [ + Math.atan2(u * i + l * a, s * n + c * r), + Fe(c * n - s * r) + ]; + }), + o + ); + } + function zr(e, t) { + var n = Math.cos(e), + r = Math.sin(e); + return function(i, a, o, s) { + var u = o * t; + null != i + ? ((i = Br(n, i)), + (a = Br(n, a)), + (o > 0 ? i < a : i > a) && (i += o * ke)) + : ((i = e + o * ke), (a = e - 0.5 * u)); + for (var l, c = i; o > 0 ? c > a : c < a; c -= u) + s.point( + (l = Bn([n, -r * Math.cos(c), -r * Math.sin(c)]))[0], + l[1] + ); + }; + } + function Br(e, t) { + var n = In(t); + (n[0] -= e), zn(n); + var r = Ve(-n[1]); + return ((-n[2] < 0 ? -r : r) + 2 * Math.PI - Oe) % (2 * Math.PI); + } + function Hr(e, t, n) { + var r = a.range(e, t - Oe, n).concat(t); + return function(e) { + return r.map(function(t) { + return [e, t]; + }); + }; + } + function Ur(e, t, n) { + var r = a.range(e, t - Oe, n).concat(t); + return function(e) { + return r.map(function(t) { + return [t, e]; + }); + }; + } + function Xr(e) { + return e.source; + } + function Yr(e) { + return e.target; + } + (a.geo.path = function() { + var e, + t, + n, + r, + i, + o = 4.5; + function s(e) { + return ( + e && + ("function" === typeof o && + r.pointRadius(+o.apply(this, arguments)), + (i && i.valid) || (i = n(r)), + a.geo.stream(e, i)), + r.result() + ); + } + function u() { + return (i = null), s; + } + return ( + (s.area = function(e) { + return (dr = 0), a.geo.stream(e, n(vr)), dr; + }), + (s.centroid = function(e) { + return ( + (Tn = En = Cn = On = Pn = An = kn = Nn = Mn = 0), + a.geo.stream(e, n(Sr)), + Mn + ? [kn / Mn, Nn / Mn] + : An + ? [On / An, Pn / An] + : Cn + ? [Tn / Cn, En / Cn] + : [NaN, NaN] + ); + }), + (s.bounds = function(e) { + return ( + (gr = mr = -(hr = pr = 1 / 0)), + a.geo.stream(e, n(xr)), + [[hr, pr], [gr, mr]] + ); + }), + (s.projection = function(t) { + return arguments.length + ? ((n = (e = t) + ? t.stream || + (function(e) { + var t = Ar(function(t, n) { + return e([t * je, n * je]); + }); + return function(e) { + return jr(t(e)); + }; + })(t) + : R), + u()) + : e; + }), + (s.context = function(e) { + return arguments.length + ? ((r = null == (t = e) ? new br() : new Pr(e)), + "function" !== typeof o && r.pointRadius(o), + u()) + : t; + }), + (s.pointRadius = function(e) { + return arguments.length + ? ((o = "function" === typeof e ? e : (r.pointRadius(+e), +e)), + s) + : o; + }), + s.projection(a.geo.albersUsa()).context(null) + ); + }), + (a.geo.transform = function(e) { + return { + stream: function(t) { + var n = new kr(t); + for (var r in e) n[r] = e[r]; + return n; + } + }; + }), + (kr.prototype = { + point: function(e, t) { + this.stream.point(e, t); + }, + sphere: function() { + this.stream.sphere(); + }, + lineStart: function() { + this.stream.lineStart(); + }, + lineEnd: function() { + this.stream.lineEnd(); + }, + polygonStart: function() { + this.stream.polygonStart(); + }, + polygonEnd: function() { + this.stream.polygonEnd(); + } + }), + (a.geo.projection = Mr), + (a.geo.projectionMutator = Lr), + ((a.geo.equirectangular = function() { + return Mr(Rr); + }).raw = Rr.invert = Rr), + (a.geo.rotation = function(e) { + function t(t) { + return ((t = e(t[0] * Le, t[1] * Le))[0] *= je), (t[1] *= je), t; + } + return ( + (e = Vr( + (e[0] % 360) * Le, + e[1] * Le, + e.length > 2 ? e[2] * Le : 0 + )), + (t.invert = function(t) { + return ( + ((t = e.invert(t[0] * Le, t[1] * Le))[0] *= je), + (t[1] *= je), + t + ); + }), + t + ); + }), + (Ir.invert = Rr), + (a.geo.circle = function() { + var e, + t, + n = [0, 0], + r = 6; + function i() { + var e = "function" === typeof n ? n.apply(this, arguments) : n, + r = Vr(-e[0] * Le, -e[1] * Le, 0).invert, + i = []; + return ( + t(null, null, 1, { + point: function(e, t) { + i.push((e = r(e, t))), (e[0] *= je), (e[1] *= je); + } + }), + { type: "Polygon", coordinates: [i] } + ); + } + return ( + (i.origin = function(e) { + return arguments.length ? ((n = e), i) : n; + }), + (i.angle = function(n) { + return arguments.length + ? ((t = zr((e = +n) * Le, r * Le)), i) + : e; + }), + (i.precision = function(n) { + return arguments.length + ? ((t = zr(e * Le, (r = +n) * Le)), i) + : r; + }), + i.angle(90) + ); + }), + (a.geo.distance = function(e, t) { + var n, + r = (t[0] - e[0]) * Le, + i = e[1] * Le, + a = t[1] * Le, + o = Math.sin(r), + s = Math.cos(r), + u = Math.sin(i), + l = Math.cos(i), + c = Math.sin(a), + d = Math.cos(a); + return Math.atan2( + Math.sqrt((n = d * o) * n + (n = l * c - u * d * s) * n), + u * c + l * d * s + ); + }), + (a.geo.graticule = function() { + var e, + t, + n, + r, + i, + o, + s, + u, + l, + c, + d, + f, + h = 10, + p = h, + g = 90, + m = 360, + v = 2.5; + function y() { + return { type: "MultiLineString", coordinates: x() }; + } + function x() { + return a + .range(Math.ceil(r / g) * g, n, g) + .map(d) + .concat(a.range(Math.ceil(u / m) * m, s, m).map(f)) + .concat( + a + .range(Math.ceil(t / h) * h, e, h) + .filter(function(e) { + return w(e % g) > Oe; + }) + .map(l) + ) + .concat( + a + .range(Math.ceil(o / p) * p, i, p) + .filter(function(e) { + return w(e % m) > Oe; + }) + .map(c) + ); + } + return ( + (y.lines = function() { + return x().map(function(e) { + return { type: "LineString", coordinates: e }; + }); + }), + (y.outline = function() { + return { + type: "Polygon", + coordinates: [ + d(r).concat( + f(s).slice(1), + d(n) + .reverse() + .slice(1), + f(u) + .reverse() + .slice(1) + ) + ] + }; + }), + (y.extent = function(e) { + return arguments.length + ? y.majorExtent(e).minorExtent(e) + : y.minorExtent(); + }), + (y.majorExtent = function(e) { + return arguments.length + ? ((r = +e[0][0]), + (n = +e[1][0]), + (u = +e[0][1]), + (s = +e[1][1]), + r > n && ((e = r), (r = n), (n = e)), + u > s && ((e = u), (u = s), (s = e)), + y.precision(v)) + : [[r, u], [n, s]]; + }), + (y.minorExtent = function(n) { + return arguments.length + ? ((t = +n[0][0]), + (e = +n[1][0]), + (o = +n[0][1]), + (i = +n[1][1]), + t > e && ((n = t), (t = e), (e = n)), + o > i && ((n = o), (o = i), (i = n)), + y.precision(v)) + : [[t, o], [e, i]]; + }), + (y.step = function(e) { + return arguments.length + ? y.majorStep(e).minorStep(e) + : y.minorStep(); + }), + (y.majorStep = function(e) { + return arguments.length + ? ((g = +e[0]), (m = +e[1]), y) + : [g, m]; + }), + (y.minorStep = function(e) { + return arguments.length + ? ((h = +e[0]), (p = +e[1]), y) + : [h, p]; + }), + (y.precision = function(a) { + return arguments.length + ? ((v = +a), + (l = Hr(o, i, 90)), + (c = Ur(t, e, v)), + (d = Hr(u, s, 90)), + (f = Ur(r, n, v)), + y) + : v; + }), + y + .majorExtent([[-180, -90 + Oe], [180, 90 - Oe]]) + .minorExtent([[-180, -80 - Oe], [180, 80 + Oe]]) + ); + }), + (a.geo.greatArc = function() { + var e, + t, + n = Xr, + r = Yr; + function i() { + return { + type: "LineString", + coordinates: [ + e || n.apply(this, arguments), + t || r.apply(this, arguments) + ] + }; + } + return ( + (i.distance = function() { + return a.geo.distance( + e || n.apply(this, arguments), + t || r.apply(this, arguments) + ); + }), + (i.source = function(t) { + return arguments.length + ? ((n = t), (e = "function" === typeof t ? null : t), i) + : n; + }), + (i.target = function(e) { + return arguments.length + ? ((r = e), (t = "function" === typeof e ? null : e), i) + : r; + }), + (i.precision = function() { + return arguments.length ? i : 0; + }), + i + ); + }), + (a.geo.interpolate = function(e, t) { + return (function(e, t, n, r) { + var i = Math.cos(t), + a = Math.sin(t), + o = Math.cos(r), + s = Math.sin(r), + u = i * Math.cos(e), + l = i * Math.sin(e), + c = o * Math.cos(n), + d = o * Math.sin(n), + f = 2 * Math.asin(Math.sqrt(Ge(r - t) + i * o * Ge(n - e))), + h = 1 / Math.sin(f), + p = f + ? function(e) { + var t = Math.sin((e *= f)) * h, + n = Math.sin(f - e) * h, + r = n * u + t * c, + i = n * l + t * d, + o = n * a + t * s; + return [ + Math.atan2(i, r) * je, + Math.atan2(o, Math.sqrt(r * r + i * i)) * je + ]; + } + : function() { + return [e * je, t * je]; + }; + return (p.distance = f), p; + })(e[0] * Le, e[1] * Le, t[0] * Le, t[1] * Le); + }), + (a.geo.length = function(e) { + return (wr = 0), a.geo.stream(e, Wr), wr; + }); + var Wr = { + sphere: D, + point: D, + lineStart: function() { + var e, t, n; + function r(r, i) { + var a = Math.sin((i *= Le)), + o = Math.cos(i), + s = w((r *= Le) - e), + u = Math.cos(s); + (wr += Math.atan2( + Math.sqrt( + (s = o * Math.sin(s)) * s + (s = n * a - t * o * u) * s + ), + t * a + n * o * u + )), + (e = r), + (t = a), + (n = o); + } + (Wr.point = function(i, a) { + (e = i * Le), + (t = Math.sin((a *= Le))), + (n = Math.cos(a)), + (Wr.point = r); + }), + (Wr.lineEnd = function() { + Wr.point = Wr.lineEnd = D; + }); + }, + lineEnd: D, + polygonStart: D, + polygonEnd: D + }; + function qr(e, t) { + function n(t, n) { + var r = Math.cos(t), + i = Math.cos(n), + a = e(r * i); + return [a * i * Math.sin(t), a * Math.sin(n)]; + } + return ( + (n.invert = function(e, n) { + var r = Math.sqrt(e * e + n * n), + i = t(r), + a = Math.sin(i), + o = Math.cos(i); + return [Math.atan2(e * a, r * o), Math.asin(r && (n * a) / r)]; + }), + n + ); + } + var Qr = qr( + function(e) { + return Math.sqrt(2 / (1 + e)); + }, + function(e) { + return 2 * Math.asin(e / 2); + } + ); + (a.geo.azimuthalEqualArea = function() { + return Mr(Qr); + }).raw = Qr; + var $r = qr(function(e) { + var t = Math.acos(e); + return t && t / Math.sin(t); + }, R); + function Kr(e, t) { + var n = Math.cos(e), + r = function(e) { + return Math.tan(Ae / 4 + e / 2); + }, + i = + e === t + ? Math.sin(e) + : Math.log(n / Math.cos(t)) / Math.log(r(t) / r(e)), + a = (n * Math.pow(r(e), i)) / i; + if (!i) return ei; + function o(e, t) { + a > 0 + ? t < -Me + Oe && (t = -Me + Oe) + : t > Me - Oe && (t = Me - Oe); + var n = a / Math.pow(r(t), i); + return [n * Math.sin(i * e), a - n * Math.cos(i * e)]; + } + return ( + (o.invert = function(e, t) { + var n = a - t, + r = Re(i) * Math.sqrt(e * e + n * n); + return [ + Math.atan2(e, n) / i, + 2 * Math.atan(Math.pow(a / r, 1 / i)) - Me + ]; + }), + o + ); + } + function Zr(e, t) { + var n = Math.cos(e), + r = e === t ? Math.sin(e) : (n - Math.cos(t)) / (t - e), + i = n / r + e; + if (w(r) < Oe) return Rr; + function a(e, t) { + var n = i - t; + return [n * Math.sin(r * e), i - n * Math.cos(r * e)]; + } + return ( + (a.invert = function(e, t) { + var n = i - t; + return [ + Math.atan2(e, n) / r, + i - Re(r) * Math.sqrt(e * e + n * n) + ]; + }), + a + ); + } + ((a.geo.azimuthalEquidistant = function() { + return Mr($r); + }).raw = $r), + ((a.geo.conicConformal = function() { + return lr(Kr); + }).raw = Kr), + ((a.geo.conicEquidistant = function() { + return lr(Zr); + }).raw = Zr); + var Jr = qr(function(e) { + return 1 / e; + }, Math.atan); + function ei(e, t) { + return [e, Math.log(Math.tan(Ae / 4 + t / 2))]; + } + function ti(e) { + var t, + n = Mr(e), + r = n.scale, + i = n.translate, + a = n.clipExtent; + return ( + (n.scale = function() { + var e = r.apply(n, arguments); + return e === n ? (t ? n.clipExtent(null) : n) : e; + }), + (n.translate = function() { + var e = i.apply(n, arguments); + return e === n ? (t ? n.clipExtent(null) : n) : e; + }), + (n.clipExtent = function(e) { + var o = a.apply(n, arguments); + if (o === n) { + if ((t = null == e)) { + var s = Ae * r(), + u = i(); + a([[u[0] - s, u[1] - s], [u[0] + s, u[1] + s]]); + } + } else t && (o = null); + return o; + }), + n.clipExtent(null) + ); + } + ((a.geo.gnomonic = function() { + return Mr(Jr); + }).raw = Jr), + (ei.invert = function(e, t) { + return [e, 2 * Math.atan(Math.exp(t)) - Me]; + }), + ((a.geo.mercator = function() { + return ti(ei); + }).raw = ei); + var ni = qr(function() { + return 1; + }, Math.asin); + (a.geo.orthographic = function() { + return Mr(ni); + }).raw = ni; + var ri = qr( + function(e) { + return 1 / (1 + e); + }, + function(e) { + return 2 * Math.atan(e); + } + ); + function ii(e, t) { + return [Math.log(Math.tan(Ae / 4 + t / 2)), -e]; + } + function ai(e) { + return e[0]; + } + function oi(e) { + return e[1]; + } + function si(e) { + for (var t = e.length, n = [0, 1], r = 2, i = 2; i < t; i++) { + for (; r > 1 && Ie(e[n[r - 2]], e[n[r - 1]], e[i]) <= 0; ) --r; + n[r++] = i; + } + return n.slice(0, r); + } + function ui(e, t) { + return e[0] - t[0] || e[1] - t[1]; + } + ((a.geo.stereographic = function() { + return Mr(ri); + }).raw = ri), + (ii.invert = function(e, t) { + return [-t, 2 * Math.atan(Math.exp(e)) - Me]; + }), + ((a.geo.transverseMercator = function() { + var e = ti(ii), + t = e.center, + n = e.rotate; + return ( + (e.center = function(e) { + return e ? t([-e[1], e[0]]) : [(e = t())[1], -e[0]]; + }), + (e.rotate = function(e) { + return e + ? n([e[0], e[1], e.length > 2 ? e[2] + 90 : 90]) + : [(e = n())[0], e[1], e[2] - 90]; + }), + n([0, 0, 90]) + ); + }).raw = ii), + (a.geom = {}), + (a.geom.hull = function(e) { + var t = ai, + n = oi; + if (arguments.length) return r(e); + function r(e) { + if (e.length < 3) return []; + var r, + i = bt(t), + a = bt(n), + o = e.length, + s = [], + u = []; + for (r = 0; r < o; r++) + s.push([+i.call(this, e[r], r), +a.call(this, e[r], r), r]); + for (s.sort(ui), r = 0; r < o; r++) u.push([s[r][0], -s[r][1]]); + var l = si(s), + c = si(u), + d = c[0] === l[0], + f = c[c.length - 1] === l[l.length - 1], + h = []; + for (r = l.length - 1; r >= 0; --r) h.push(e[s[l[r]][2]]); + for (r = +d; r < c.length - f; ++r) h.push(e[s[c[r]][2]]); + return h; + } + return ( + (r.x = function(e) { + return arguments.length ? ((t = e), r) : t; + }), + (r.y = function(e) { + return arguments.length ? ((n = e), r) : n; + }), + r + ); + }), + (a.geom.polygon = function(e) { + return Y(e, li), e; + }); + var li = (a.geom.polygon.prototype = []); + function ci(e, t, n) { + return (n[0] - t[0]) * (e[1] - t[1]) < (n[1] - t[1]) * (e[0] - t[0]); + } + function di(e, t, n, r) { + var i = e[0], + a = n[0], + o = t[0] - i, + s = r[0] - a, + u = e[1], + l = n[1], + c = t[1] - u, + d = r[1] - l, + f = (s * (u - l) - d * (i - a)) / (d * o - s * c); + return [i + f * o, u + f * c]; + } + function fi(e) { + var t = e[0], + n = e[e.length - 1]; + return !(t[0] - n[0] || t[1] - n[1]); + } + (li.area = function() { + for ( + var e, t = -1, n = this.length, r = this[n - 1], i = 0; + ++t < n; + + ) + (e = r), (r = this[t]), (i += e[1] * r[0] - e[0] * r[1]); + return 0.5 * i; + }), + (li.centroid = function(e) { + var t, + n, + r = -1, + i = this.length, + a = 0, + o = 0, + s = this[i - 1]; + for (arguments.length || (e = -1 / (6 * this.area())); ++r < i; ) + (t = s), + (s = this[r]), + (n = t[0] * s[1] - s[0] * t[1]), + (a += (t[0] + s[0]) * n), + (o += (t[1] + s[1]) * n); + return [a * e, o * e]; + }), + (li.clip = function(e) { + for ( + var t, + n, + r, + i, + a, + o, + s = fi(e), + u = -1, + l = this.length - fi(this), + c = this[l - 1]; + ++u < l; + + ) { + for ( + t = e.slice(), + e.length = 0, + i = this[u], + a = t[(r = t.length - s) - 1], + n = -1; + ++n < r; + + ) + ci((o = t[n]), c, i) + ? (ci(a, c, i) || e.push(di(a, o, c, i)), e.push(o)) + : ci(a, c, i) && e.push(di(a, o, c, i)), + (a = o); + s && e.push(e[0]), (c = i); + } + return e; + }); + var hi, + pi, + gi, + mi, + vi, + yi = [], + xi = []; + function bi() { + Di(this), (this.edge = this.site = this.circle = null); + } + function _i(e) { + var t = yi.pop() || new bi(); + return (t.site = e), t; + } + function wi(e) { + Ni(e), gi.remove(e), yi.push(e), Di(e); + } + function Si(e) { + var t = e.circle, + n = t.x, + r = t.cy, + i = { x: n, y: r }, + a = e.P, + o = e.N, + s = [e]; + wi(e); + for ( + var u = a; + u.circle && w(n - u.circle.x) < Oe && w(r - u.circle.cy) < Oe; + + ) + (a = u.P), s.unshift(u), wi(u), (u = a); + s.unshift(u), Ni(u); + for ( + var l = o; + l.circle && w(n - l.circle.x) < Oe && w(r - l.circle.cy) < Oe; + + ) + (o = l.N), s.push(l), wi(l), (l = o); + s.push(l), Ni(l); + var c, + d = s.length; + for (c = 1; c < d; ++c) + (l = s[c]), (u = s[c - 1]), Ii(l.edge, u.site, l.site, i); + (u = s[0]), + ((l = s[d - 1]).edge = ji(u.site, l.site, null, i)), + ki(u), + ki(l); + } + function Ti(e) { + for (var t, n, r, i, a = e.x, o = e.y, s = gi._; s; ) + if ((r = Ei(s, o) - a) > Oe) s = s.L; + else { + if (!((i = a - Ci(s, o)) > Oe)) { + r > -Oe + ? ((t = s.P), (n = s)) + : i > -Oe + ? ((t = s), (n = s.N)) + : (t = n = s); + break; + } + if (!s.R) { + t = s; + break; + } + s = s.R; + } + var u = _i(e); + if ((gi.insert(t, u), t || n)) { + if (t === n) + return ( + Ni(t), + (n = _i(t.site)), + gi.insert(u, n), + (u.edge = n.edge = ji(t.site, u.site)), + ki(t), + void ki(n) + ); + if (n) { + Ni(t), Ni(n); + var l = t.site, + c = l.x, + d = l.y, + f = e.x - c, + h = e.y - d, + p = n.site, + g = p.x - c, + m = p.y - d, + v = 2 * (f * m - h * g), + y = f * f + h * h, + x = g * g + m * m, + b = { x: (m * y - h * x) / v + c, y: (f * x - g * y) / v + d }; + Ii(n.edge, l, p, b), + (u.edge = ji(l, e, null, b)), + (n.edge = ji(e, p, null, b)), + ki(t), + ki(n); + } else u.edge = ji(t.site, u.site); + } + } + function Ei(e, t) { + var n = e.site, + r = n.x, + i = n.y, + a = i - t; + if (!a) return r; + var o = e.P; + if (!o) return -1 / 0; + var s = (n = o.site).x, + u = n.y, + l = u - t; + if (!l) return s; + var c = s - r, + d = 1 / a - 1 / l, + f = c / l; + return d + ? (-f + + Math.sqrt( + f * f - 2 * d * ((c * c) / (-2 * l) - u + l / 2 + i - a / 2) + )) / + d + + r + : (r + s) / 2; + } + function Ci(e, t) { + var n = e.N; + if (n) return Ei(n, t); + var r = e.site; + return r.y === t ? r.x : 1 / 0; + } + function Oi(e) { + (this.site = e), (this.edges = []); + } + function Pi(e, t) { + return t.angle - e.angle; + } + function Ai() { + Di(this), (this.x = this.y = this.arc = this.site = this.cy = null); + } + function ki(e) { + var t = e.P, + n = e.N; + if (t && n) { + var r = t.site, + i = e.site, + a = n.site; + if (r !== a) { + var o = i.x, + s = i.y, + u = r.x - o, + l = r.y - s, + c = a.x - o, + d = 2 * (u * (m = a.y - s) - l * c); + if (!(d >= -Pe)) { + var f = u * u + l * l, + h = c * c + m * m, + p = (m * f - l * h) / d, + g = (u * h - c * f) / d, + m = g + s, + v = xi.pop() || new Ai(); + (v.arc = e), + (v.site = i), + (v.x = p + o), + (v.y = m + Math.sqrt(p * p + g * g)), + (v.cy = m), + (e.circle = v); + for (var y = null, x = vi._; x; ) + if (v.y < x.y || (v.y === x.y && v.x <= x.x)) { + if (!x.L) { + y = x.P; + break; + } + x = x.L; + } else { + if (!x.R) { + y = x; + break; + } + x = x.R; + } + vi.insert(y, v), y || (mi = v); + } + } + } + } + function Ni(e) { + var t = e.circle; + t && + (t.P || (mi = t.N), + vi.remove(t), + xi.push(t), + Di(t), + (e.circle = null)); + } + function Mi(e, t) { + var n = e.b; + if (n) return !0; + var r, + i, + a = e.a, + o = t[0][0], + s = t[1][0], + u = t[0][1], + l = t[1][1], + c = e.l, + d = e.r, + f = c.x, + h = c.y, + p = d.x, + g = d.y, + m = (f + p) / 2, + v = (h + g) / 2; + if (g === h) { + if (m < o || m >= s) return; + if (f > p) { + if (a) { + if (a.y >= l) return; + } else a = { x: m, y: u }; + n = { x: m, y: l }; + } else { + if (a) { + if (a.y < u) return; + } else a = { x: m, y: l }; + n = { x: m, y: u }; + } + } else if (((i = v - (r = (f - p) / (g - h)) * m), r < -1 || r > 1)) + if (f > p) { + if (a) { + if (a.y >= l) return; + } else a = { x: (u - i) / r, y: u }; + n = { x: (l - i) / r, y: l }; + } else { + if (a) { + if (a.y < u) return; + } else a = { x: (l - i) / r, y: l }; + n = { x: (u - i) / r, y: u }; + } + else if (h < g) { + if (a) { + if (a.x >= s) return; + } else a = { x: o, y: r * o + i }; + n = { x: s, y: r * s + i }; + } else { + if (a) { + if (a.x < o) return; + } else a = { x: s, y: r * s + i }; + n = { x: o, y: r * o + i }; + } + return (e.a = a), (e.b = n), !0; + } + function Li(e, t) { + (this.l = e), (this.r = t), (this.a = this.b = null); + } + function ji(e, t, n, r) { + var i = new Li(e, t); + return ( + hi.push(i), + n && Ii(i, e, t, n), + r && Ii(i, t, e, r), + pi[e.i].edges.push(new Vi(i, e, t)), + pi[t.i].edges.push(new Vi(i, t, e)), + i + ); + } + function Ri(e, t, n) { + var r = new Li(e, null); + return (r.a = t), (r.b = n), hi.push(r), r; + } + function Ii(e, t, n, r) { + e.a || e.b + ? e.l === n + ? (e.b = r) + : (e.a = r) + : ((e.a = r), (e.l = t), (e.r = n)); + } + function Vi(e, t, n) { + var r = e.a, + i = e.b; + (this.edge = e), + (this.site = t), + (this.angle = n + ? Math.atan2(n.y - t.y, n.x - t.x) + : e.l === t + ? Math.atan2(i.x - r.x, r.y - i.y) + : Math.atan2(r.x - i.x, i.y - r.y)); + } + function Fi() { + this._ = null; + } + function Di(e) { + e.U = e.C = e.L = e.R = e.P = e.N = null; + } + function Gi(e, t) { + var n = t, + r = t.R, + i = n.U; + i ? (i.L === n ? (i.L = r) : (i.R = r)) : (e._ = r), + (r.U = i), + (n.U = r), + (n.R = r.L), + n.R && (n.R.U = n), + (r.L = n); + } + function zi(e, t) { + var n = t, + r = t.L, + i = n.U; + i ? (i.L === n ? (i.L = r) : (i.R = r)) : (e._ = r), + (r.U = i), + (n.U = r), + (n.L = r.R), + n.L && (n.L.U = n), + (r.R = n); + } + function Bi(e) { + for (; e.L; ) e = e.L; + return e; + } + function Hi(e, t) { + var n, + r, + i, + a = e.sort(Ui).pop(); + for ( + hi = [], pi = new Array(e.length), gi = new Fi(), vi = new Fi(); + ; + + ) + if ( + ((i = mi), a && (!i || a.y < i.y || (a.y === i.y && a.x < i.x))) + ) + (a.x === n && a.y === r) || + ((pi[a.i] = new Oi(a)), Ti(a), (n = a.x), (r = a.y)), + (a = e.pop()); + else { + if (!i) break; + Si(i.arc); + } + t && + ((function(e) { + for ( + var t, + n = hi, + r = or(e[0][0], e[0][1], e[1][0], e[1][1]), + i = n.length; + i--; + + ) + (!Mi((t = n[i]), e) || + !r(t) || + (w(t.a.x - t.b.x) < Oe && w(t.a.y - t.b.y) < Oe)) && + ((t.a = t.b = null), n.splice(i, 1)); + })(t), + (function(e) { + for ( + var t, + n, + r, + i, + a, + o, + s, + u, + l, + c, + d = e[0][0], + f = e[1][0], + h = e[0][1], + p = e[1][1], + g = pi, + m = g.length; + m--; + + ) + if ((a = g[m]) && a.prepare()) + for (u = (s = a.edges).length, o = 0; o < u; ) + (r = (c = s[o].end()).x), + (i = c.y), + (t = (l = s[++o % u].start()).x), + (n = l.y), + (w(r - t) > Oe || w(i - n) > Oe) && + (s.splice( + o, + 0, + new Vi( + Ri( + a.site, + c, + w(r - d) < Oe && p - i > Oe + ? { x: d, y: w(t - d) < Oe ? n : p } + : w(i - p) < Oe && f - r > Oe + ? { x: w(n - p) < Oe ? t : f, y: p } + : w(r - f) < Oe && i - h > Oe + ? { x: f, y: w(t - f) < Oe ? n : h } + : w(i - h) < Oe && r - d > Oe + ? { x: w(n - h) < Oe ? t : d, y: h } + : null + ), + a.site, + null + ) + ), + ++u); + })(t)); + var o = { cells: pi, edges: hi }; + return (gi = vi = hi = pi = null), o; + } + function Ui(e, t) { + return t.y - e.y || t.x - e.x; + } + (Oi.prototype.prepare = function() { + for (var e, t = this.edges, n = t.length; n--; ) + ((e = t[n].edge).b && e.a) || t.splice(n, 1); + return t.sort(Pi), t.length; + }), + (Vi.prototype = { + start: function() { + return this.edge.l === this.site ? this.edge.a : this.edge.b; + }, + end: function() { + return this.edge.l === this.site ? this.edge.b : this.edge.a; + } + }), + (Fi.prototype = { + insert: function(e, t) { + var n, r, i; + if (e) { + if ( + ((t.P = e), (t.N = e.N), e.N && (e.N.P = t), (e.N = t), e.R) + ) { + for (e = e.R; e.L; ) e = e.L; + e.L = t; + } else e.R = t; + n = e; + } else + this._ + ? ((e = Bi(this._)), + (t.P = null), + (t.N = e), + (e.P = e.L = t), + (n = e)) + : ((t.P = t.N = null), (this._ = t), (n = null)); + for (t.L = t.R = null, t.U = n, t.C = !0, e = t; n && n.C; ) + n === (r = n.U).L + ? (i = r.R) && i.C + ? ((n.C = i.C = !1), (r.C = !0), (e = r)) + : (e === n.R && (Gi(this, n), (n = (e = n).U)), + (n.C = !1), + (r.C = !0), + zi(this, r)) + : (i = r.L) && i.C + ? ((n.C = i.C = !1), (r.C = !0), (e = r)) + : (e === n.L && (zi(this, n), (n = (e = n).U)), + (n.C = !1), + (r.C = !0), + Gi(this, r)), + (n = e.U); + this._.C = !1; + }, + remove: function(e) { + e.N && (e.N.P = e.P), e.P && (e.P.N = e.N), (e.N = e.P = null); + var t, + n, + r, + i = e.U, + a = e.L, + o = e.R; + if ( + ((n = a ? (o ? Bi(o) : a) : o), + i ? (i.L === e ? (i.L = n) : (i.R = n)) : (this._ = n), + a && o + ? ((r = n.C), + (n.C = e.C), + (n.L = a), + (a.U = n), + n !== o + ? ((i = n.U), + (n.U = e.U), + (e = n.R), + (i.L = e), + (n.R = o), + (o.U = n)) + : ((n.U = i), (i = n), (e = n.R))) + : ((r = e.C), (e = n)), + e && (e.U = i), + !r) + ) + if (e && e.C) e.C = !1; + else { + do { + if (e === this._) break; + if (e === i.L) { + if ( + ((t = i.R).C && + ((t.C = !1), (i.C = !0), Gi(this, i), (t = i.R)), + (t.L && t.L.C) || (t.R && t.R.C)) + ) { + (t.R && t.R.C) || + ((t.L.C = !1), (t.C = !0), zi(this, t), (t = i.R)), + (t.C = i.C), + (i.C = t.R.C = !1), + Gi(this, i), + (e = this._); + break; + } + } else if ( + ((t = i.L).C && + ((t.C = !1), (i.C = !0), zi(this, i), (t = i.L)), + (t.L && t.L.C) || (t.R && t.R.C)) + ) { + (t.L && t.L.C) || + ((t.R.C = !1), (t.C = !0), Gi(this, t), (t = i.L)), + (t.C = i.C), + (i.C = t.L.C = !1), + zi(this, i), + (e = this._); + break; + } + (t.C = !0), (e = i), (i = i.U); + } while (!e.C); + e && (e.C = !1); + } + } + }), + (a.geom.voronoi = function(e) { + var t = ai, + n = oi, + r = t, + i = n, + a = Xi; + if (e) return o(e); + function o(e) { + var t = new Array(e.length), + n = a[0][0], + r = a[0][1], + i = a[1][0], + o = a[1][1]; + return ( + Hi(s(e), a).cells.forEach(function(a, s) { + var u = a.edges, + l = a.site; + (t[s] = u.length + ? u.map(function(e) { + var t = e.start(); + return [t.x, t.y]; + }) + : l.x >= n && l.x <= i && l.y >= r && l.y <= o + ? [[n, o], [i, o], [i, r], [n, r]] + : []).point = e[s]; + }), + t + ); + } + function s(e) { + return e.map(function(e, t) { + return { + x: Math.round(r(e, t) / Oe) * Oe, + y: Math.round(i(e, t) / Oe) * Oe, + i: t + }; + }); + } + return ( + (o.links = function(e) { + return Hi(s(e)) + .edges.filter(function(e) { + return e.l && e.r; + }) + .map(function(t) { + return { source: e[t.l.i], target: e[t.r.i] }; + }); + }), + (o.triangles = function(e) { + var t = []; + return ( + Hi(s(e)).cells.forEach(function(n, r) { + for ( + var i, + a, + o, + s, + u = n.site, + l = n.edges.sort(Pi), + c = -1, + d = l.length, + f = l[d - 1].edge, + h = f.l === u ? f.r : f.l; + ++c < d; + + ) + f, + (i = h), + (h = (f = l[c].edge).l === u ? f.r : f.l), + r < i.i && + r < h.i && + ((o = i), + (s = h), + ((a = u).x - s.x) * (o.y - a.y) - + (a.x - o.x) * (s.y - a.y) < + 0) && + t.push([e[r], e[i.i], e[h.i]]); + }), + t + ); + }), + (o.x = function(e) { + return arguments.length ? ((r = bt((t = e))), o) : t; + }), + (o.y = function(e) { + return arguments.length ? ((i = bt((n = e))), o) : n; + }), + (o.clipExtent = function(e) { + return arguments.length + ? ((a = null == e ? Xi : e), o) + : a === Xi + ? null + : a; + }), + (o.size = function(e) { + return arguments.length + ? o.clipExtent(e && [[0, 0], e]) + : a === Xi + ? null + : a && a[1]; + }), + o + ); + }); + var Xi = [[-1e6, -1e6], [1e6, 1e6]]; + function Yi(e) { + return e.x; + } + function Wi(e) { + return e.y; + } + function qi(e, t) { + (e = a.rgb(e)), (t = a.rgb(t)); + var n = e.r, + r = e.g, + i = e.b, + o = t.r - n, + s = t.g - r, + u = t.b - i; + return function(e) { + return ( + "#" + + ht(Math.round(n + o * e)) + + ht(Math.round(r + s * e)) + + ht(Math.round(i + u * e)) + ); + }; + } + function Qi(e, t) { + var n, + r = {}, + i = {}; + for (n in e) n in t ? (r[n] = ea(e[n], t[n])) : (i[n] = e[n]); + for (n in t) n in e || (i[n] = t[n]); + return function(e) { + for (n in r) i[n] = r[n](e); + return i; + }; + } + function $i(e, t) { + return ( + (e = +e), + (t = +t), + function(n) { + return e * (1 - n) + t * n; + } + ); + } + function Ki(e, t) { + var n, + r, + i, + a = (Zi.lastIndex = Ji.lastIndex = 0), + o = -1, + s = [], + u = []; + for (e += "", t += ""; (n = Zi.exec(e)) && (r = Ji.exec(t)); ) + (i = r.index) > a && + ((i = t.slice(a, i)), s[o] ? (s[o] += i) : (s[++o] = i)), + (n = n[0]) === (r = r[0]) + ? s[o] + ? (s[o] += r) + : (s[++o] = r) + : ((s[++o] = null), u.push({ i: o, x: $i(n, r) })), + (a = Ji.lastIndex); + return ( + a < t.length && + ((i = t.slice(a)), s[o] ? (s[o] += i) : (s[++o] = i)), + s.length < 2 + ? u[0] + ? ((t = u[0].x), + function(e) { + return t(e) + ""; + }) + : function() { + return t; + } + : ((t = u.length), + function(e) { + for (var n, r = 0; r < t; ++r) s[(n = u[r]).i] = n.x(e); + return s.join(""); + }) + ); + } + (a.geom.delaunay = function(e) { + return a.geom.voronoi().triangles(e); + }), + (a.geom.quadtree = function(e, t, n, r, i) { + var a, + o = ai, + s = oi; + if ((a = arguments.length)) + return ( + (o = Yi), + (s = Wi), + 3 === a && ((i = n), (r = t), (n = t = 0)), + u(e) + ); + function u(e) { + var u, + l, + c, + d, + f, + h, + p, + g, + m, + v = bt(o), + y = bt(s); + if (null != t) (h = t), (p = n), (g = r), (m = i); + else if ( + ((g = m = -(h = p = 1 / 0)), + (l = []), + (c = []), + (f = e.length), + a) + ) + for (d = 0; d < f; ++d) + (u = e[d]).x < h && (h = u.x), + u.y < p && (p = u.y), + u.x > g && (g = u.x), + u.y > m && (m = u.y), + l.push(u.x), + c.push(u.y); + else + for (d = 0; d < f; ++d) { + var x = +v((u = e[d]), d), + b = +y(u, d); + x < h && (h = x), + b < p && (p = b), + x > g && (g = x), + b > m && (m = b), + l.push(x), + c.push(b); + } + var _ = g - h, + S = m - p; + function T(e, t, n, r, i, a, o, s) { + if (!isNaN(n) && !isNaN(r)) + if (e.leaf) { + var u = e.x, + l = e.y; + if (null != u) + if (w(u - n) + w(l - r) < 0.01) E(e, t, n, r, i, a, o, s); + else { + var c = e.point; + (e.x = e.y = e.point = null), + E(e, c, u, l, i, a, o, s), + E(e, t, n, r, i, a, o, s); + } + else (e.x = n), (e.y = r), (e.point = t); + } else E(e, t, n, r, i, a, o, s); + } + function E(e, t, n, r, i, a, o, s) { + var u = 0.5 * (i + o), + l = 0.5 * (a + s), + c = n >= u, + d = r >= l, + f = (d << 1) | c; + (e.leaf = !1), + c ? (i = u) : (o = u), + d ? (a = l) : (s = l), + T( + (e = + e.nodes[f] || + (e.nodes[f] = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + add: function(e) { + T(C, e, +v(e, ++d), +y(e, d), h, p, g, m); + } + })), + t, + n, + r, + i, + a, + o, + s + ); + } + _ > S ? (m = p + _) : (g = h + S); + var C = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + add: function(e) { + T(C, e, +v(e, ++d), +y(e, d), h, p, g, m); + } + }; + if ( + ((C.visit = function(e) { + !(function e(t, n, r, i, a, o) { + if (!t(n, r, i, a, o)) { + var s = 0.5 * (r + a), + u = 0.5 * (i + o), + l = n.nodes; + l[0] && e(t, l[0], r, i, s, u), + l[1] && e(t, l[1], s, i, a, u), + l[2] && e(t, l[2], r, u, s, o), + l[3] && e(t, l[3], s, u, a, o); + } + })(e, C, h, p, g, m); + }), + (C.find = function(e) { + return (function(e, t, n, r, i, a, o) { + var s, + u = 1 / 0; + return ( + (function e(l, c, d, f, h) { + if (!(c > a || d > o || f < r || h < i)) { + if ((p = l.point)) { + var p, + g = t - l.x, + m = n - l.y, + v = g * g + m * m; + if (v < u) { + var y = Math.sqrt((u = v)); + (r = t - y), + (i = n - y), + (a = t + y), + (o = n + y), + (s = p); + } + } + for ( + var x = l.nodes, + b = 0.5 * (c + f), + _ = 0.5 * (d + h), + w = ((n >= _) << 1) | (t >= b), + S = w + 4; + w < S; + ++w + ) + if ((l = x[3 & w])) + switch (3 & w) { + case 0: + e(l, c, d, b, _); + break; + case 1: + e(l, b, d, f, _); + break; + case 2: + e(l, c, _, b, h); + break; + case 3: + e(l, b, _, f, h); + } + } + })(e, r, i, a, o), + s + ); + })(C, e[0], e[1], h, p, g, m); + }), + (d = -1), + null == t) + ) { + for (; ++d < f; ) T(C, e[d], l[d], c[d], h, p, g, m); + --d; + } else e.forEach(C.add); + return (l = c = e = u = null), C; + } + return ( + (u.x = function(e) { + return arguments.length ? ((o = e), u) : o; + }), + (u.y = function(e) { + return arguments.length ? ((s = e), u) : s; + }), + (u.extent = function(e) { + return arguments.length + ? (null == e + ? (t = n = r = i = null) + : ((t = +e[0][0]), + (n = +e[0][1]), + (r = +e[1][0]), + (i = +e[1][1])), + u) + : null == t + ? null + : [[t, n], [r, i]]; + }), + (u.size = function(e) { + return arguments.length + ? (null == e + ? (t = n = r = i = null) + : ((t = n = 0), (r = +e[0]), (i = +e[1])), + u) + : null == t + ? null + : [r - t, i - n]; + }), + u + ); + }), + (a.interpolateRgb = qi), + (a.interpolateObject = Qi), + (a.interpolateNumber = $i), + (a.interpolateString = Ki); + var Zi = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + Ji = new RegExp(Zi.source, "g"); + function ea(e, t) { + for ( + var n, r = a.interpolators.length; + --r >= 0 && !(n = a.interpolators[r](e, t)); + + ); + return n; + } + function ta(e, t) { + var n, + r = [], + i = [], + a = e.length, + o = t.length, + s = Math.min(e.length, t.length); + for (n = 0; n < s; ++n) r.push(ea(e[n], t[n])); + for (; n < a; ++n) i[n] = e[n]; + for (; n < o; ++n) i[n] = t[n]; + return function(e) { + for (n = 0; n < s; ++n) i[n] = r[n](e); + return i; + }; + } + (a.interpolate = ea), + (a.interpolators = [ + function(e, t) { + var n = typeof t; + return ("string" === n + ? xt.has(t.toLowerCase()) || /^(#|rgb\(|hsl\()/i.test(t) + ? qi + : Ki + : t instanceof Xe + ? qi + : Array.isArray(t) + ? ta + : "object" === n && isNaN(t) + ? Qi + : $i)(e, t); + } + ]), + (a.interpolateArray = ta); + var na = function() { + return R; + }, + ra = a.map({ + linear: na, + poly: function(e) { + return function(t) { + return Math.pow(t, e); + }; + }, + quad: function() { + return sa; + }, + cubic: function() { + return ua; + }, + sin: function() { + return ca; + }, + exp: function() { + return da; + }, + circle: function() { + return fa; + }, + elastic: function(e, t) { + var n; + arguments.length < 2 && (t = 0.45); + arguments.length + ? (n = (t / ke) * Math.asin(1 / e)) + : ((e = 1), (n = t / 4)); + return function(r) { + return ( + 1 + e * Math.pow(2, -10 * r) * Math.sin(((r - n) * ke) / t) + ); + }; + }, + back: function(e) { + e || (e = 1.70158); + return function(t) { + return t * t * ((e + 1) * t - e); + }; + }, + bounce: function() { + return ha; + } + }), + ia = a.map({ + in: R, + out: aa, + "in-out": oa, + "out-in": function(e) { + return oa(aa(e)); + } + }); + function aa(e) { + return function(t) { + return 1 - e(1 - t); + }; + } + function oa(e) { + return function(t) { + return 0.5 * (t < 0.5 ? e(2 * t) : 2 - e(2 - 2 * t)); + }; + } + function sa(e) { + return e * e; + } + function ua(e) { + return e * e * e; + } + function la(e) { + if (e <= 0) return 0; + if (e >= 1) return 1; + var t = e * e, + n = t * e; + return 4 * (e < 0.5 ? n : 3 * (e - t) + n - 0.75); + } + function ca(e) { + return 1 - Math.cos(e * Me); + } + function da(e) { + return Math.pow(2, 10 * (e - 1)); + } + function fa(e) { + return 1 - Math.sqrt(1 - e * e); + } + function ha(e) { + return e < 1 / 2.75 + ? 7.5625 * e * e + : e < 2 / 2.75 + ? 7.5625 * (e -= 1.5 / 2.75) * e + 0.75 + : e < 2.5 / 2.75 + ? 7.5625 * (e -= 2.25 / 2.75) * e + 0.9375 + : 7.5625 * (e -= 2.625 / 2.75) * e + 0.984375; + } + function pa(e, t) { + return ( + (t -= e), + function(n) { + return Math.round(e + t * n); + } + ); + } + function ga(e) { + var t, + n, + r, + i = [e.a, e.b], + a = [e.c, e.d], + o = va(i), + s = ma(i, a), + u = + va( + (((t = a)[0] += (r = -s) * (n = i)[0]), (t[1] += r * n[1]), t) + ) || 0; + i[0] * a[1] < a[0] * i[1] && + ((i[0] *= -1), (i[1] *= -1), (o *= -1), (s *= -1)), + (this.rotate = + (o ? Math.atan2(i[1], i[0]) : Math.atan2(-a[0], a[1])) * je), + (this.translate = [e.e, e.f]), + (this.scale = [o, u]), + (this.skew = u ? Math.atan2(s, u) * je : 0); + } + function ma(e, t) { + return e[0] * t[0] + e[1] * t[1]; + } + function va(e) { + var t = Math.sqrt(ma(e, e)); + return t && ((e[0] /= t), (e[1] /= t)), t; + } + (a.ease = function(e) { + var t, + n = e.indexOf("-"), + r = n >= 0 ? e.slice(0, n) : e, + i = n >= 0 ? e.slice(n + 1) : "in"; + return ( + (r = ra.get(r) || na), + (i = ia.get(i) || R), + (t = i(r.apply(null, o.call(arguments, 1)))), + function(e) { + return e <= 0 ? 0 : e >= 1 ? 1 : t(e); + } + ); + }), + (a.interpolateHcl = function(e, t) { + (e = a.hcl(e)), (t = a.hcl(t)); + var n = e.h, + r = e.c, + i = e.l, + o = t.h - n, + s = t.c - r, + u = t.l - i; + isNaN(s) && ((s = 0), (r = isNaN(r) ? t.c : r)); + isNaN(o) + ? ((o = 0), (n = isNaN(n) ? t.h : n)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360); + return function(e) { + return Ke(n + o * e, r + s * e, i + u * e) + ""; + }; + }), + (a.interpolateHsl = function(e, t) { + (e = a.hsl(e)), (t = a.hsl(t)); + var n = e.h, + r = e.s, + i = e.l, + o = t.h - n, + s = t.s - r, + u = t.l - i; + isNaN(s) && ((s = 0), (r = isNaN(r) ? t.s : r)); + isNaN(o) + ? ((o = 0), (n = isNaN(n) ? t.h : n)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360); + return function(e) { + return qe(n + o * e, r + s * e, i + u * e) + ""; + }; + }), + (a.interpolateLab = function(e, t) { + (e = a.lab(e)), (t = a.lab(t)); + var n = e.l, + r = e.a, + i = e.b, + o = t.l - n, + s = t.a - r, + u = t.b - i; + return function(e) { + return it(n + o * e, r + s * e, i + u * e) + ""; + }; + }), + (a.interpolateRound = pa), + (a.transform = function(e) { + var t = u.createElementNS(a.ns.prefix.svg, "g"); + return (a.transform = function(e) { + if (null != e) { + t.setAttribute("transform", e); + var n = t.transform.baseVal.consolidate(); + } + return new ga(n ? n.matrix : ya); + })(e); + }), + (ga.prototype.toString = function() { + return ( + "translate(" + + this.translate + + ")rotate(" + + this.rotate + + ")skewX(" + + this.skew + + ")scale(" + + this.scale + + ")" + ); + }); + var ya = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }; + function xa(e) { + return e.length ? e.pop() + "," : ""; + } + function ba(e, t) { + var n = [], + r = []; + return ( + (e = a.transform(e)), + (t = a.transform(t)), + (function(e, t, n, r) { + if (e[0] !== t[0] || e[1] !== t[1]) { + var i = n.push("translate(", null, ",", null, ")"); + r.push( + { i: i - 4, x: $i(e[0], t[0]) }, + { i: i - 2, x: $i(e[1], t[1]) } + ); + } else (t[0] || t[1]) && n.push("translate(" + t + ")"); + })(e.translate, t.translate, n, r), + (function(e, t, n, r) { + e !== t + ? (e - t > 180 ? (t += 360) : t - e > 180 && (e += 360), + r.push({ + i: n.push(xa(n) + "rotate(", null, ")") - 2, + x: $i(e, t) + })) + : t && n.push(xa(n) + "rotate(" + t + ")"); + })(e.rotate, t.rotate, n, r), + (function(e, t, n, r) { + e !== t + ? r.push({ + i: n.push(xa(n) + "skewX(", null, ")") - 2, + x: $i(e, t) + }) + : t && n.push(xa(n) + "skewX(" + t + ")"); + })(e.skew, t.skew, n, r), + (function(e, t, n, r) { + if (e[0] !== t[0] || e[1] !== t[1]) { + var i = n.push(xa(n) + "scale(", null, ",", null, ")"); + r.push( + { i: i - 4, x: $i(e[0], t[0]) }, + { i: i - 2, x: $i(e[1], t[1]) } + ); + } else + (1 === t[0] && 1 === t[1]) || + n.push(xa(n) + "scale(" + t + ")"); + })(e.scale, t.scale, n, r), + (e = t = null), + function(e) { + for (var t, i = -1, a = r.length; ++i < a; ) + n[(t = r[i]).i] = t.x(e); + return n.join(""); + } + ); + } + function _a(e, t) { + return ( + (t = (t -= e = +e) || 1 / t), + function(n) { + return (n - e) / t; + } + ); + } + function wa(e, t) { + return ( + (t = (t -= e = +e) || 1 / t), + function(n) { + return Math.max(0, Math.min(1, (n - e) / t)); + } + ); + } + function Sa(e) { + for ( + var t = e.source, + n = e.target, + r = (function(e, t) { + if (e === t) return e; + var n = Ta(e), + r = Ta(t), + i = n.pop(), + a = r.pop(), + o = null; + for (; i === a; ) (o = i), (i = n.pop()), (a = r.pop()); + return o; + })(t, n), + i = [t]; + t !== r; + + ) + (t = t.parent), i.push(t); + for (var a = i.length; n !== r; ) i.splice(a, 0, n), (n = n.parent); + return i; + } + function Ta(e) { + for (var t = [], n = e.parent; null != n; ) + t.push(e), (e = n), (n = n.parent); + return t.push(e), t; + } + function Ea(e) { + e.fixed |= 2; + } + function Ca(e) { + e.fixed &= -7; + } + function Oa(e) { + (e.fixed |= 4), (e.px = e.x), (e.py = e.y); + } + function Pa(e) { + e.fixed &= -5; + } + (a.interpolateTransform = ba), + (a.layout = {}), + (a.layout.bundle = function() { + return function(e) { + for (var t = [], n = -1, r = e.length; ++n < r; ) + t.push(Sa(e[n])); + return t; + }; + }), + (a.layout.chord = function() { + var e, + t, + n, + r, + i, + o, + s, + u = {}, + l = 0; + function c() { + var u, + c, + f, + h, + p, + g = {}, + m = [], + v = a.range(r), + y = []; + for (e = [], t = [], u = 0, h = -1; ++h < r; ) { + for (c = 0, p = -1; ++p < r; ) c += n[h][p]; + m.push(c), y.push(a.range(r)), (u += c); + } + for ( + i && + v.sort(function(e, t) { + return i(m[e], m[t]); + }), + o && + y.forEach(function(e, t) { + e.sort(function(e, r) { + return o(n[t][e], n[t][r]); + }); + }), + u = (ke - l * r) / u, + c = 0, + h = -1; + ++h < r; + + ) { + for (f = c, p = -1; ++p < r; ) { + var x = v[h], + b = y[x][p], + _ = n[x][b], + w = c, + S = (c += _ * u); + g[x + "-" + b] = { + index: x, + subindex: b, + startAngle: w, + endAngle: S, + value: _ + }; + } + (t[x] = { index: x, startAngle: f, endAngle: c, value: m[x] }), + (c += l); + } + for (h = -1; ++h < r; ) + for (p = h - 1; ++p < r; ) { + var T = g[h + "-" + p], + E = g[p + "-" + h]; + (T.value || E.value) && + e.push( + T.value < E.value + ? { source: E, target: T } + : { source: T, target: E } + ); + } + s && d(); + } + function d() { + e.sort(function(e, t) { + return s( + (e.source.value + e.target.value) / 2, + (t.source.value + t.target.value) / 2 + ); + }); + } + return ( + (u.matrix = function(i) { + return arguments.length + ? ((r = (n = i) && n.length), (e = t = null), u) + : n; + }), + (u.padding = function(n) { + return arguments.length ? ((l = n), (e = t = null), u) : l; + }), + (u.sortGroups = function(n) { + return arguments.length ? ((i = n), (e = t = null), u) : i; + }), + (u.sortSubgroups = function(t) { + return arguments.length ? ((o = t), (e = null), u) : o; + }), + (u.sortChords = function(t) { + return arguments.length ? ((s = t), e && d(), u) : s; + }), + (u.chords = function() { + return e || c(), e; + }), + (u.groups = function() { + return t || c(), t; + }), + u + ); + }), + (a.layout.force = function() { + var e, + t, + n, + r, + i, + o, + s = {}, + u = a.dispatch("start", "tick", "end"), + l = [1, 1], + c = 0.9, + d = Aa, + f = ka, + h = -30, + p = Na, + g = 0.1, + m = 0.64, + v = [], + y = []; + function x(e) { + return function(t, n, r, i) { + if (t.point !== e) { + var a = t.cx - e.x, + o = t.cy - e.y, + s = i - n, + u = a * a + o * o; + if ((s * s) / m < u) { + if (u < p) { + var l = t.charge / u; + (e.px -= a * l), (e.py -= o * l); + } + return !0; + } + if (t.point && u && u < p) { + l = t.pointCharge / u; + (e.px -= a * l), (e.py -= o * l); + } + } + return !t.charge; + }; + } + function b(e) { + (e.px = a.event.x), (e.py = a.event.y), s.resume(); + } + return ( + (s.tick = function() { + if ((n *= 0.99) < 0.005) + return (e = null), u.end({ type: "end", alpha: (n = 0) }), !0; + var t, + s, + d, + f, + p, + m, + b, + _, + w, + S = v.length, + T = y.length; + for (s = 0; s < T; ++s) + (f = (d = y[s]).source), + (m = + (_ = (p = d.target).x - f.x) * _ + (w = p.y - f.y) * w) && + ((_ *= m = (n * i[s] * ((m = Math.sqrt(m)) - r[s])) / m), + (w *= m), + (p.x -= + _ * + (b = + f.weight + p.weight + ? f.weight / (f.weight + p.weight) + : 0.5)), + (p.y -= w * b), + (f.x += _ * (b = 1 - b)), + (f.y += w * b)); + if ( + (b = n * g) && + ((_ = l[0] / 2), (w = l[1] / 2), (s = -1), b) + ) + for (; ++s < S; ) + ((d = v[s]).x += (_ - d.x) * b), (d.y += (w - d.y) * b); + if (h) + for ( + !(function e(t, n, r) { + var i = 0, + a = 0; + t.charge = 0; + if (!t.leaf) + for ( + var o, s = t.nodes, u = s.length, l = -1; + ++l < u; + + ) + null != (o = s[l]) && + (e(o, n, r), + (t.charge += o.charge), + (i += o.charge * o.cx), + (a += o.charge * o.cy)); + if (t.point) { + t.leaf || + ((t.point.x += Math.random() - 0.5), + (t.point.y += Math.random() - 0.5)); + var c = n * r[t.point.index]; + (t.charge += t.pointCharge = c), + (i += c * t.point.x), + (a += c * t.point.y); + } + t.cx = i / t.charge; + t.cy = a / t.charge; + })((t = a.geom.quadtree(v)), n, o), + s = -1; + ++s < S; + + ) + (d = v[s]).fixed || t.visit(x(d)); + for (s = -1; ++s < S; ) + (d = v[s]).fixed + ? ((d.x = d.px), (d.y = d.py)) + : ((d.x -= (d.px - (d.px = d.x)) * c), + (d.y -= (d.py - (d.py = d.y)) * c)); + u.tick({ type: "tick", alpha: n }); + }), + (s.nodes = function(e) { + return arguments.length ? ((v = e), s) : v; + }), + (s.links = function(e) { + return arguments.length ? ((y = e), s) : y; + }), + (s.size = function(e) { + return arguments.length ? ((l = e), s) : l; + }), + (s.linkDistance = function(e) { + return arguments.length + ? ((d = "function" === typeof e ? e : +e), s) + : d; + }), + (s.distance = s.linkDistance), + (s.linkStrength = function(e) { + return arguments.length + ? ((f = "function" === typeof e ? e : +e), s) + : f; + }), + (s.friction = function(e) { + return arguments.length ? ((c = +e), s) : c; + }), + (s.charge = function(e) { + return arguments.length + ? ((h = "function" === typeof e ? e : +e), s) + : h; + }), + (s.chargeDistance = function(e) { + return arguments.length ? ((p = e * e), s) : Math.sqrt(p); + }), + (s.gravity = function(e) { + return arguments.length ? ((g = +e), s) : g; + }), + (s.theta = function(e) { + return arguments.length ? ((m = e * e), s) : Math.sqrt(m); + }), + (s.alpha = function(t) { + return arguments.length + ? ((t = +t), + n + ? t > 0 + ? (n = t) + : ((e.c = null), + (e.t = NaN), + (e = null), + u.end({ type: "end", alpha: (n = 0) })) + : t > 0 && + (u.start({ type: "start", alpha: (n = t) }), + (e = Pt(s.tick))), + s) + : n; + }), + (s.start = function() { + var e, + t, + n, + a = v.length, + u = y.length, + c = l[0], + p = l[1]; + for (e = 0; e < a; ++e) ((n = v[e]).index = e), (n.weight = 0); + for (e = 0; e < u; ++e) + "number" == typeof (n = y[e]).source && + (n.source = v[n.source]), + "number" == typeof n.target && (n.target = v[n.target]), + ++n.source.weight, + ++n.target.weight; + for (e = 0; e < a; ++e) + (n = v[e]), + isNaN(n.x) && (n.x = g("x", c)), + isNaN(n.y) && (n.y = g("y", p)), + isNaN(n.px) && (n.px = n.x), + isNaN(n.py) && (n.py = n.y); + if (((r = []), "function" === typeof d)) + for (e = 0; e < u; ++e) r[e] = +d.call(this, y[e], e); + else for (e = 0; e < u; ++e) r[e] = d; + if (((i = []), "function" === typeof f)) + for (e = 0; e < u; ++e) i[e] = +f.call(this, y[e], e); + else for (e = 0; e < u; ++e) i[e] = f; + if (((o = []), "function" === typeof h)) + for (e = 0; e < a; ++e) o[e] = +h.call(this, v[e], e); + else for (e = 0; e < a; ++e) o[e] = h; + function g(n, r) { + if (!t) { + for (t = new Array(a), l = 0; l < a; ++l) t[l] = []; + for (l = 0; l < u; ++l) { + var i = y[l]; + t[i.source.index].push(i.target), + t[i.target.index].push(i.source); + } + } + for (var o, s = t[e], l = -1, c = s.length; ++l < c; ) + if (!isNaN((o = s[l][n]))) return o; + return Math.random() * r; + } + return s.resume(); + }), + (s.resume = function() { + return s.alpha(0.1); + }), + (s.stop = function() { + return s.alpha(0); + }), + (s.drag = function() { + if ( + (t || + (t = a.behavior + .drag() + .origin(R) + .on("dragstart.force", Ea) + .on("drag.force", b) + .on("dragend.force", Ca)), + !arguments.length) + ) + return t; + this.on("mouseover.force", Oa) + .on("mouseout.force", Pa) + .call(t); + }), + a.rebind(s, u, "on") + ); + }); + var Aa = 20, + ka = 1, + Na = 1 / 0; + function Ma(e, t) { + return ( + a.rebind(e, t, "sort", "children", "value"), + (e.nodes = e), + (e.links = Fa), + e + ); + } + function La(e, t) { + for (var n = [e]; null != (e = n.pop()); ) + if ((t(e), (i = e.children) && (r = i.length))) + for (var r, i; --r >= 0; ) n.push(i[r]); + } + function ja(e, t) { + for (var n = [e], r = []; null != (e = n.pop()); ) + if ((r.push(e), (a = e.children) && (i = a.length))) + for (var i, a, o = -1; ++o < i; ) n.push(a[o]); + for (; null != (e = r.pop()); ) t(e); + } + function Ra(e) { + return e.children; + } + function Ia(e) { + return e.value; + } + function Va(e, t) { + return t.value - e.value; + } + function Fa(e) { + return a.merge( + e.map(function(e) { + return (e.children || []).map(function(t) { + return { source: e, target: t }; + }); + }) + ); + } + (a.layout.hierarchy = function() { + var e = Va, + t = Ra, + n = Ia; + function r(i) { + var a, + o = [i], + s = []; + for (i.depth = 0; null != (a = o.pop()); ) + if ((s.push(a), (l = t.call(r, a, a.depth)) && (u = l.length))) { + for (var u, l, c; --u >= 0; ) + o.push((c = l[u])), (c.parent = a), (c.depth = a.depth + 1); + n && (a.value = 0), (a.children = l); + } else + n && (a.value = +n.call(r, a, a.depth) || 0), delete a.children; + return ( + ja(i, function(t) { + var r, i; + e && (r = t.children) && r.sort(e), + n && (i = t.parent) && (i.value += t.value); + }), + s + ); + } + return ( + (r.sort = function(t) { + return arguments.length ? ((e = t), r) : e; + }), + (r.children = function(e) { + return arguments.length ? ((t = e), r) : t; + }), + (r.value = function(e) { + return arguments.length ? ((n = e), r) : n; + }), + (r.revalue = function(e) { + return ( + n && + (La(e, function(e) { + e.children && (e.value = 0); + }), + ja(e, function(e) { + var t; + e.children || (e.value = +n.call(r, e, e.depth) || 0), + (t = e.parent) && (t.value += e.value); + })), + e + ); + }), + r + ); + }), + (a.layout.partition = function() { + var e = a.layout.hierarchy(), + t = [1, 1]; + function n(n, r) { + var i = e.call(this, n, r); + return ( + (function e(t, n, r, i) { + var a = t.children; + if ( + ((t.x = n), + (t.y = t.depth * i), + (t.dx = r), + (t.dy = i), + a && (o = a.length)) + ) { + var o, + s, + u, + l = -1; + for (r = t.value ? r / t.value : 0; ++l < o; ) + e((s = a[l]), n, (u = s.value * r), i), (n += u); + } + })( + i[0], + 0, + t[0], + t[1] / + (function e(t) { + var n = t.children, + r = 0; + if (n && (i = n.length)) + for (var i, a = -1; ++a < i; ) r = Math.max(r, e(n[a])); + return 1 + r; + })(i[0]) + ), + i + ); + } + return ( + (n.size = function(e) { + return arguments.length ? ((t = e), n) : t; + }), + Ma(n, e) + ); + }), + (a.layout.pie = function() { + var e = Number, + t = Da, + n = 0, + r = ke, + i = 0; + function o(s) { + var u, + l = s.length, + c = s.map(function(t, n) { + return +e.call(o, t, n); + }), + d = +("function" === typeof n ? n.apply(this, arguments) : n), + f = + ("function" === typeof r ? r.apply(this, arguments) : r) - d, + h = Math.min( + Math.abs(f) / l, + +("function" === typeof i ? i.apply(this, arguments) : i) + ), + p = h * (f < 0 ? -1 : 1), + g = a.sum(c), + m = g ? (f - l * p) / g : 0, + v = a.range(l), + y = []; + return ( + null != t && + v.sort( + t === Da + ? function(e, t) { + return c[t] - c[e]; + } + : function(e, n) { + return t(s[e], s[n]); + } + ), + v.forEach(function(e) { + y[e] = { + data: s[e], + value: (u = c[e]), + startAngle: d, + endAngle: (d += u * m + p), + padAngle: h + }; + }), + y + ); + } + return ( + (o.value = function(t) { + return arguments.length ? ((e = t), o) : e; + }), + (o.sort = function(e) { + return arguments.length ? ((t = e), o) : t; + }), + (o.startAngle = function(e) { + return arguments.length ? ((n = e), o) : n; + }), + (o.endAngle = function(e) { + return arguments.length ? ((r = e), o) : r; + }), + (o.padAngle = function(e) { + return arguments.length ? ((i = e), o) : i; + }), + o + ); + }); + var Da = {}; + function Ga(e) { + return e.x; + } + function za(e) { + return e.y; + } + function Ba(e, t, n) { + (e.y0 = t), (e.y = n); + } + a.layout.stack = function() { + var e = R, + t = Xa, + n = Ya, + r = Ba, + i = Ga, + o = za; + function s(u, l) { + if (!(h = u.length)) return u; + var c = u.map(function(t, n) { + return e.call(s, t, n); + }), + d = c.map(function(e) { + return e.map(function(e, t) { + return [i.call(s, e, t), o.call(s, e, t)]; + }); + }), + f = t.call(s, d, l); + (c = a.permute(c, f)), (d = a.permute(d, f)); + var h, + p, + g, + m, + v = n.call(s, d, l), + y = c[0].length; + for (g = 0; g < y; ++g) + for ( + r.call(s, c[0][g], (m = v[g]), d[0][g][1]), p = 1; + p < h; + ++p + ) + r.call(s, c[p][g], (m += d[p - 1][g][1]), d[p][g][1]); + return u; + } + return ( + (s.values = function(t) { + return arguments.length ? ((e = t), s) : e; + }), + (s.order = function(e) { + return arguments.length + ? ((t = "function" === typeof e ? e : Ha.get(e) || Xa), s) + : t; + }), + (s.offset = function(e) { + return arguments.length + ? ((n = "function" === typeof e ? e : Ua.get(e) || Ya), s) + : n; + }), + (s.x = function(e) { + return arguments.length ? ((i = e), s) : i; + }), + (s.y = function(e) { + return arguments.length ? ((o = e), s) : o; + }), + (s.out = function(e) { + return arguments.length ? ((r = e), s) : r; + }), + s + ); + }; + var Ha = a.map({ + "inside-out": function(e) { + var t, + n, + r = e.length, + i = e.map(Wa), + o = e.map(qa), + s = a.range(r).sort(function(e, t) { + return i[e] - i[t]; + }), + u = 0, + l = 0, + c = [], + d = []; + for (t = 0; t < r; ++t) + (n = s[t]), + u < l ? ((u += o[n]), c.push(n)) : ((l += o[n]), d.push(n)); + return d.reverse().concat(c); + }, + reverse: function(e) { + return a.range(e.length).reverse(); + }, + default: Xa + }), + Ua = a.map({ + silhouette: function(e) { + var t, + n, + r, + i = e.length, + a = e[0].length, + o = [], + s = 0, + u = []; + for (n = 0; n < a; ++n) { + for (t = 0, r = 0; t < i; t++) r += e[t][n][1]; + r > s && (s = r), o.push(r); + } + for (n = 0; n < a; ++n) u[n] = (s - o[n]) / 2; + return u; + }, + wiggle: function(e) { + var t, + n, + r, + i, + a, + o, + s, + u, + l, + c = e.length, + d = e[0], + f = d.length, + h = []; + for (h[0] = u = l = 0, n = 1; n < f; ++n) { + for (t = 0, i = 0; t < c; ++t) i += e[t][n][1]; + for (t = 0, a = 0, s = d[n][0] - d[n - 1][0]; t < c; ++t) { + for ( + r = 0, o = (e[t][n][1] - e[t][n - 1][1]) / (2 * s); + r < t; + ++r + ) + o += (e[r][n][1] - e[r][n - 1][1]) / s; + a += o * e[t][n][1]; + } + (h[n] = u -= i ? (a / i) * s : 0), u < l && (l = u); + } + for (n = 0; n < f; ++n) h[n] -= l; + return h; + }, + expand: function(e) { + var t, + n, + r, + i = e.length, + a = e[0].length, + o = 1 / i, + s = []; + for (n = 0; n < a; ++n) { + for (t = 0, r = 0; t < i; t++) r += e[t][n][1]; + if (r) for (t = 0; t < i; t++) e[t][n][1] /= r; + else for (t = 0; t < i; t++) e[t][n][1] = o; + } + for (n = 0; n < a; ++n) s[n] = 0; + return s; + }, + zero: Ya + }); + function Xa(e) { + return a.range(e.length); + } + function Ya(e) { + for (var t = -1, n = e[0].length, r = []; ++t < n; ) r[t] = 0; + return r; + } + function Wa(e) { + for (var t, n = 1, r = 0, i = e[0][1], a = e.length; n < a; ++n) + (t = e[n][1]) > i && ((r = n), (i = t)); + return r; + } + function qa(e) { + return e.reduce(Qa, 0); + } + function Qa(e, t) { + return e + t[1]; + } + function $a(e, t) { + return Ka(e, Math.ceil(Math.log(t.length) / Math.LN2 + 1)); + } + function Ka(e, t) { + for (var n = -1, r = +e[0], i = (e[1] - r) / t, a = []; ++n <= t; ) + a[n] = i * n + r; + return a; + } + function Za(e) { + return [a.min(e), a.max(e)]; + } + function Ja(e, t) { + return e.value - t.value; + } + function eo(e, t) { + var n = e._pack_next; + (e._pack_next = t), + (t._pack_prev = e), + (t._pack_next = n), + (n._pack_prev = t); + } + function to(e, t) { + (e._pack_next = t), (t._pack_prev = e); + } + function no(e, t) { + var n = t.x - e.x, + r = t.y - e.y, + i = e.r + t.r; + return 0.999 * i * i > n * n + r * r; + } + function ro(e) { + if ((t = e.children) && (u = t.length)) { + var t, + n, + r, + i, + a, + o, + s, + u, + l = 1 / 0, + c = -1 / 0, + d = 1 / 0, + f = -1 / 0; + if ( + (t.forEach(io), + ((n = t[0]).x = -n.r), + (n.y = 0), + x(n), + u > 1 && (((r = t[1]).x = r.r), (r.y = 0), x(r), u > 2)) + ) + for ( + oo(n, r, (i = t[2])), + x(i), + eo(n, i), + n._pack_prev = i, + eo(i, r), + r = n._pack_next, + a = 3; + a < u; + a++ + ) { + oo(n, r, (i = t[a])); + var h = 0, + p = 1, + g = 1; + for (o = r._pack_next; o !== r; o = o._pack_next, p++) + if (no(o, i)) { + h = 1; + break; + } + if (1 == h) + for ( + s = n._pack_prev; + s !== o._pack_prev && !no(s, i); + s = s._pack_prev, g++ + ); + h + ? (p < g || (p == g && r.r < n.r) + ? to(n, (r = o)) + : to((n = s), r), + a--) + : (eo(n, i), (r = i), x(i)); + } + var m = (l + c) / 2, + v = (d + f) / 2, + y = 0; + for (a = 0; a < u; a++) + ((i = t[a]).x -= m), + (i.y -= v), + (y = Math.max(y, i.r + Math.sqrt(i.x * i.x + i.y * i.y))); + (e.r = y), t.forEach(ao); + } + function x(e) { + (l = Math.min(e.x - e.r, l)), + (c = Math.max(e.x + e.r, c)), + (d = Math.min(e.y - e.r, d)), + (f = Math.max(e.y + e.r, f)); + } + } + function io(e) { + e._pack_next = e._pack_prev = e; + } + function ao(e) { + delete e._pack_next, delete e._pack_prev; + } + function oo(e, t, n) { + var r = e.r + n.r, + i = t.x - e.x, + a = t.y - e.y; + if (r && (i || a)) { + var o = t.r + n.r, + s = i * i + a * a, + u = 0.5 + ((r *= r) - (o *= o)) / (2 * s), + l = + Math.sqrt(Math.max(0, 2 * o * (r + s) - (r -= s) * r - o * o)) / + (2 * s); + (n.x = e.x + u * i + l * a), (n.y = e.y + u * a - l * i); + } else (n.x = e.x + r), (n.y = e.y); + } + function so(e, t) { + return e.parent == t.parent ? 1 : 2; + } + function uo(e) { + var t = e.children; + return t.length ? t[0] : e.t; + } + function lo(e) { + var t, + n = e.children; + return (t = n.length) ? n[t - 1] : e.t; + } + function co(e, t, n) { + var r = n / (t.i - e.i); + (t.c -= r), (t.s += n), (e.c += r), (t.z += n), (t.m += n); + } + function fo(e, t, n) { + return e.a.parent === t.parent ? e.a : n; + } + function ho(e) { + return { x: e.x, y: e.y, dx: e.dx, dy: e.dy }; + } + function po(e, t) { + var n = e.x + t[3], + r = e.y + t[0], + i = e.dx - t[1] - t[3], + a = e.dy - t[0] - t[2]; + return ( + i < 0 && ((n += i / 2), (i = 0)), + a < 0 && ((r += a / 2), (a = 0)), + { x: n, y: r, dx: i, dy: a } + ); + } + function go(e) { + var t = e[0], + n = e[e.length - 1]; + return t < n ? [t, n] : [n, t]; + } + function mo(e) { + return e.rangeExtent ? e.rangeExtent() : go(e.range()); + } + function vo(e, t, n, r) { + var i = n(e[0], e[1]), + a = r(t[0], t[1]); + return function(e) { + return a(i(e)); + }; + } + function yo(e, t) { + var n, + r = 0, + i = e.length - 1, + a = e[r], + o = e[i]; + return ( + o < a && ((n = r), (r = i), (i = n), (n = a), (a = o), (o = n)), + (e[r] = t.floor(a)), + (e[i] = t.ceil(o)), + e + ); + } + function xo(e) { + return e + ? { + floor: function(t) { + return Math.floor(t / e) * e; + }, + ceil: function(t) { + return Math.ceil(t / e) * e; + } + } + : bo; + } + (a.layout.histogram = function() { + var e = !0, + t = Number, + n = Za, + r = $a; + function i(i, o) { + for ( + var s, + u, + l = [], + c = i.map(t, this), + d = n.call(this, c, o), + f = r.call(this, d, c, o), + h = ((o = -1), c.length), + p = f.length - 1, + g = e ? 1 : 1 / h; + ++o < p; + + ) + ((s = l[o] = []).dx = f[o + 1] - (s.x = f[o])), (s.y = 0); + if (p > 0) + for (o = -1; ++o < h; ) + (u = c[o]) >= d[0] && + u <= d[1] && + (((s = l[a.bisect(f, u, 1, p) - 1]).y += g), s.push(i[o])); + return l; + } + return ( + (i.value = function(e) { + return arguments.length ? ((t = e), i) : t; + }), + (i.range = function(e) { + return arguments.length ? ((n = bt(e)), i) : n; + }), + (i.bins = function(e) { + return arguments.length + ? ((r = + "number" === typeof e + ? function(t) { + return Ka(t, e); + } + : bt(e)), + i) + : r; + }), + (i.frequency = function(t) { + return arguments.length ? ((e = !!t), i) : e; + }), + i + ); + }), + (a.layout.pack = function() { + var e, + t = a.layout.hierarchy().sort(Ja), + n = 0, + r = [1, 1]; + function i(i, a) { + var o = t.call(this, i, a), + s = o[0], + u = r[0], + l = r[1], + c = + null == e + ? Math.sqrt + : "function" === typeof e + ? e + : function() { + return e; + }; + if ( + ((s.x = s.y = 0), + ja(s, function(e) { + e.r = +c(e.value); + }), + ja(s, ro), + n) + ) { + var d = + (n * (e ? 1 : Math.max((2 * s.r) / u, (2 * s.r) / l))) / 2; + ja(s, function(e) { + e.r += d; + }), + ja(s, ro), + ja(s, function(e) { + e.r -= d; + }); + } + return ( + (function e(t, n, r, i) { + var a = t.children; + t.x = n += i * t.x; + t.y = r += i * t.y; + t.r *= i; + if (a) + for (var o = -1, s = a.length; ++o < s; ) e(a[o], n, r, i); + })( + s, + u / 2, + l / 2, + e ? 1 : 1 / Math.max((2 * s.r) / u, (2 * s.r) / l) + ), + o + ); + } + return ( + (i.size = function(e) { + return arguments.length ? ((r = e), i) : r; + }), + (i.radius = function(t) { + return arguments.length + ? ((e = null == t || "function" === typeof t ? t : +t), i) + : e; + }), + (i.padding = function(e) { + return arguments.length ? ((n = +e), i) : n; + }), + Ma(i, t) + ); + }), + (a.layout.tree = function() { + var e = a.layout + .hierarchy() + .sort(null) + .value(null), + t = so, + n = [1, 1], + r = null; + function i(i, a) { + var l = e.call(this, i, a), + c = l[0], + d = (function(e) { + var t, + n = { A: null, children: [e] }, + r = [n]; + for (; null != (t = r.pop()); ) + for (var i, a = t.children, o = 0, s = a.length; o < s; ++o) + r.push( + ((a[o] = i = { + _: a[o], + parent: t, + children: ((i = a[o].children) && i.slice()) || [], + A: null, + a: null, + z: 0, + m: 0, + c: 0, + s: 0, + t: null, + i: o + }).a = i) + ); + return n.children[0]; + })(c); + if ((ja(d, o), (d.parent.m = -d.z), La(d, s), r)) La(c, u); + else { + var f = c, + h = c, + p = c; + La(c, function(e) { + e.x < f.x && (f = e), + e.x > h.x && (h = e), + e.depth > p.depth && (p = e); + }); + var g = t(f, h) / 2 - f.x, + m = n[0] / (h.x + t(h, f) / 2 + g), + v = n[1] / (p.depth || 1); + La(c, function(e) { + (e.x = (e.x + g) * m), (e.y = e.depth * v); + }); + } + return l; + } + function o(e) { + var n = e.children, + r = e.parent.children, + i = e.i ? r[e.i - 1] : null; + if (n.length) { + !(function(e) { + var t, + n = 0, + r = 0, + i = e.children, + a = i.length; + for (; --a >= 0; ) + ((t = i[a]).z += n), (t.m += n), (n += t.s + (r += t.c)); + })(e); + var a = (n[0].z + n[n.length - 1].z) / 2; + i ? ((e.z = i.z + t(e._, i._)), (e.m = e.z - a)) : (e.z = a); + } else i && (e.z = i.z + t(e._, i._)); + e.parent.A = (function(e, n, r) { + if (n) { + for ( + var i, + a = e, + o = e, + s = n, + u = a.parent.children[0], + l = a.m, + c = o.m, + d = s.m, + f = u.m; + (s = lo(s)), (a = uo(a)), s && a; + + ) + (u = uo(u)), + ((o = lo(o)).a = e), + (i = s.z + d - a.z - l + t(s._, a._)) > 0 && + (co(fo(s, e, r), e, i), (l += i), (c += i)), + (d += s.m), + (l += a.m), + (f += u.m), + (c += o.m); + s && !lo(o) && ((o.t = s), (o.m += d - c)), + a && !uo(u) && ((u.t = a), (u.m += l - f), (r = e)); + } + return r; + })(e, i, e.parent.A || r[0]); + } + function s(e) { + (e._.x = e.z + e.parent.m), (e.m += e.parent.m); + } + function u(e) { + (e.x *= n[0]), (e.y = e.depth * n[1]); + } + return ( + (i.separation = function(e) { + return arguments.length ? ((t = e), i) : t; + }), + (i.size = function(e) { + return arguments.length + ? ((r = null == (n = e) ? u : null), i) + : r + ? null + : n; + }), + (i.nodeSize = function(e) { + return arguments.length + ? ((r = null == (n = e) ? null : u), i) + : r + ? n + : null; + }), + Ma(i, e) + ); + }), + (a.layout.cluster = function() { + var e = a.layout + .hierarchy() + .sort(null) + .value(null), + t = so, + n = [1, 1], + r = !1; + function i(i, o) { + var s, + u = e.call(this, i, o), + l = u[0], + c = 0; + ja(l, function(e) { + var n = e.children; + n && n.length + ? ((e.x = (function(e) { + return ( + e.reduce(function(e, t) { + return e + t.x; + }, 0) / e.length + ); + })(n)), + (e.y = (function(e) { + return ( + 1 + + a.max(e, function(e) { + return e.y; + }) + ); + })(n))) + : ((e.x = s ? (c += t(e, s)) : 0), (e.y = 0), (s = e)); + }); + var d = (function e(t) { + var n = t.children; + return n && n.length ? e(n[0]) : t; + })(l), + f = (function e(t) { + var n, + r = t.children; + return r && (n = r.length) ? e(r[n - 1]) : t; + })(l), + h = d.x - t(d, f) / 2, + p = f.x + t(f, d) / 2; + return ( + ja( + l, + r + ? function(e) { + (e.x = (e.x - l.x) * n[0]), (e.y = (l.y - e.y) * n[1]); + } + : function(e) { + (e.x = ((e.x - h) / (p - h)) * n[0]), + (e.y = (1 - (l.y ? e.y / l.y : 1)) * n[1]); + } + ), + u + ); + } + return ( + (i.separation = function(e) { + return arguments.length ? ((t = e), i) : t; + }), + (i.size = function(e) { + return arguments.length + ? ((r = null == (n = e)), i) + : r + ? null + : n; + }), + (i.nodeSize = function(e) { + return arguments.length + ? ((r = null != (n = e)), i) + : r + ? n + : null; + }), + Ma(i, e) + ); + }), + (a.layout.treemap = function() { + var e, + t = a.layout.hierarchy(), + n = Math.round, + r = [1, 1], + i = null, + o = ho, + s = !1, + u = "squarify", + l = 0.5 * (1 + Math.sqrt(5)); + function c(e, t) { + for (var n, r, i = -1, a = e.length; ++i < a; ) + (r = (n = e[i]).value * (t < 0 ? 0 : t)), + (n.area = isNaN(r) || r <= 0 ? 0 : r); + } + function d(e) { + var t = e.children; + if (t && t.length) { + var n, + r, + i, + a = o(e), + s = [], + l = t.slice(), + f = 1 / 0, + g = + "slice" === u + ? a.dx + : "dice" === u + ? a.dy + : "slice-dice" === u + ? 1 & e.depth + ? a.dy + : a.dx + : Math.min(a.dx, a.dy); + for ( + c(l, (a.dx * a.dy) / e.value), s.area = 0; + (i = l.length) > 0; + + ) + s.push((n = l[i - 1])), + (s.area += n.area), + "squarify" !== u || (r = h(s, g)) <= f + ? (l.pop(), (f = r)) + : ((s.area -= s.pop().area), + p(s, g, a, !1), + (g = Math.min(a.dx, a.dy)), + (s.length = s.area = 0), + (f = 1 / 0)); + s.length && (p(s, g, a, !0), (s.length = s.area = 0)), + t.forEach(d); + } + } + function f(e) { + var t = e.children; + if (t && t.length) { + var n, + r = o(e), + i = t.slice(), + a = []; + for (c(i, (r.dx * r.dy) / e.value), a.area = 0; (n = i.pop()); ) + a.push(n), + (a.area += n.area), + null != n.z && + (p(a, n.z ? r.dx : r.dy, r, !i.length), + (a.length = a.area = 0)); + t.forEach(f); + } + } + function h(e, t) { + for ( + var n, r = e.area, i = 0, a = 1 / 0, o = -1, s = e.length; + ++o < s; + + ) + (n = e[o].area) && (n < a && (a = n), n > i && (i = n)); + return ( + (t *= t), + (r *= r) ? Math.max((t * i * l) / r, r / (t * a * l)) : 1 / 0 + ); + } + function p(e, t, r, i) { + var a, + o = -1, + s = e.length, + u = r.x, + l = r.y, + c = t ? n(e.area / t) : 0; + if (t == r.dx) { + for ((i || c > r.dy) && (c = r.dy); ++o < s; ) + ((a = e[o]).x = u), + (a.y = l), + (a.dy = c), + (u += a.dx = Math.min( + r.x + r.dx - u, + c ? n(a.area / c) : 0 + )); + (a.z = !0), (a.dx += r.x + r.dx - u), (r.y += c), (r.dy -= c); + } else { + for ((i || c > r.dx) && (c = r.dx); ++o < s; ) + ((a = e[o]).x = u), + (a.y = l), + (a.dx = c), + (l += a.dy = Math.min( + r.y + r.dy - l, + c ? n(a.area / c) : 0 + )); + (a.z = !1), (a.dy += r.y + r.dy - l), (r.x += c), (r.dx -= c); + } + } + function g(n) { + var i = e || t(n), + a = i[0]; + return ( + (a.x = a.y = 0), + a.value ? ((a.dx = r[0]), (a.dy = r[1])) : (a.dx = a.dy = 0), + e && t.revalue(a), + c([a], (a.dx * a.dy) / a.value), + (e ? f : d)(a), + s && (e = i), + i + ); + } + return ( + (g.size = function(e) { + return arguments.length ? ((r = e), g) : r; + }), + (g.padding = function(e) { + if (!arguments.length) return i; + function t(t) { + return po(t, e); + } + var n; + return ( + (o = + null == (i = e) + ? ho + : "function" === (n = typeof e) + ? function(t) { + var n = e.call(g, t, t.depth); + return null == n + ? ho(t) + : po(t, "number" === typeof n ? [n, n, n, n] : n); + } + : "number" === n + ? ((e = [e, e, e, e]), t) + : t), + g + ); + }), + (g.round = function(e) { + return arguments.length + ? ((n = e ? Math.round : Number), g) + : n != Number; + }), + (g.sticky = function(t) { + return arguments.length ? ((s = t), (e = null), g) : s; + }), + (g.ratio = function(e) { + return arguments.length ? ((l = e), g) : l; + }), + (g.mode = function(e) { + return arguments.length ? ((u = e + ""), g) : u; + }), + Ma(g, t) + ); + }), + (a.random = { + normal: function(e, t) { + var n = arguments.length; + return ( + n < 2 && (t = 1), + n < 1 && (e = 0), + function() { + var n, r, i; + do { + i = + (n = 2 * Math.random() - 1) * n + + (r = 2 * Math.random() - 1) * r; + } while (!i || i > 1); + return e + t * n * Math.sqrt((-2 * Math.log(i)) / i); + } + ); + }, + logNormal: function() { + var e = a.random.normal.apply(a, arguments); + return function() { + return Math.exp(e()); + }; + }, + bates: function(e) { + var t = a.random.irwinHall(e); + return function() { + return t() / e; + }; + }, + irwinHall: function(e) { + return function() { + for (var t = 0, n = 0; n < e; n++) t += Math.random(); + return t; + }; + } + }), + (a.scale = {}); + var bo = { floor: R, ceil: R }; + function _o(e, t, n, r) { + var i = [], + o = [], + s = 0, + u = Math.min(e.length, t.length) - 1; + for ( + e[u] < e[0] && + ((e = e.slice().reverse()), (t = t.slice().reverse())); + ++s <= u; + + ) + i.push(n(e[s - 1], e[s])), o.push(r(t[s - 1], t[s])); + return function(t) { + var n = a.bisect(e, t, 1, u) - 1; + return o[n](i[n](t)); + }; + } + function wo(e, t) { + return a.rebind(e, t, "range", "rangeRound", "interpolate", "clamp"); + } + function So(e, t) { + return yo(e, xo(To(e, t)[2])), yo(e, xo(To(e, t)[2])), e; + } + function To(e, t) { + null == t && (t = 10); + var n = go(e), + r = n[1] - n[0], + i = Math.pow(10, Math.floor(Math.log(r / t) / Math.LN10)), + a = (t / r) * i; + return ( + a <= 0.15 + ? (i *= 10) + : a <= 0.35 + ? (i *= 5) + : a <= 0.75 && (i *= 2), + (n[0] = Math.ceil(n[0] / i) * i), + (n[1] = Math.floor(n[1] / i) * i + 0.5 * i), + (n[2] = i), + n + ); + } + function Eo(e, t) { + return a.range.apply(a, To(e, t)); + } + function Co(e, t, n) { + var r = To(e, t); + if (n) { + var i = jt.exec(n); + if ((i.shift(), "s" === i[8])) { + var o = a.formatPrefix(Math.max(w(r[0]), w(r[1]))); + return ( + i[7] || (i[7] = "." + Po(o.scale(r[2]))), + (i[8] = "f"), + (n = a.format(i.join(""))), + function(e) { + return n(o.scale(e)) + o.symbol; + } + ); + } + i[7] || + (i[7] = + "." + + (function(e, t) { + var n = Po(t[2]); + return e in Oo + ? Math.abs(n - Po(Math.max(w(t[0]), w(t[1])))) + + +("e" !== e) + : n - 2 * ("%" === e); + })(i[8], r)), + (n = i.join("")); + } else n = ",." + Po(r[2]) + "f"; + return a.format(n); + } + a.scale.linear = function() { + return (function e(t, n, r, i) { + var a, o; + function s() { + var e = Math.min(t.length, n.length) > 2 ? _o : vo, + s = i ? wa : _a; + return (a = e(t, n, s, r)), (o = e(n, t, s, ea)), u; + } + function u(e) { + return a(e); + } + u.invert = function(e) { + return o(e); + }; + u.domain = function(e) { + return arguments.length ? ((t = e.map(Number)), s()) : t; + }; + u.range = function(e) { + return arguments.length ? ((n = e), s()) : n; + }; + u.rangeRound = function(e) { + return u.range(e).interpolate(pa); + }; + u.clamp = function(e) { + return arguments.length ? ((i = e), s()) : i; + }; + u.interpolate = function(e) { + return arguments.length ? ((r = e), s()) : r; + }; + u.ticks = function(e) { + return Eo(t, e); + }; + u.tickFormat = function(e, n) { + return Co(t, e, n); + }; + u.nice = function(e) { + return So(t, e), s(); + }; + u.copy = function() { + return e(t, n, r, i); + }; + return s(); + })([0, 1], [0, 1], ea, !1); + }; + var Oo = { s: 1, g: 1, p: 1, r: 1, e: 1 }; + function Po(e) { + return -Math.floor(Math.log(e) / Math.LN10 + 0.01); + } + a.scale.log = function() { + return (function e(t, n, r, i) { + function o(e) { + return ( + (r ? Math.log(e < 0 ? 0 : e) : -Math.log(e > 0 ? 0 : -e)) / + Math.log(n) + ); + } + function s(e) { + return r ? Math.pow(n, e) : -Math.pow(n, -e); + } + function u(e) { + return t(o(e)); + } + u.invert = function(e) { + return s(t.invert(e)); + }; + u.domain = function(e) { + return arguments.length + ? ((r = e[0] >= 0), t.domain((i = e.map(Number)).map(o)), u) + : i; + }; + u.base = function(e) { + return arguments.length ? ((n = +e), t.domain(i.map(o)), u) : n; + }; + u.nice = function() { + var e = yo(i.map(o), r ? Math : ko); + return t.domain(e), (i = e.map(s)), u; + }; + u.ticks = function() { + var e = go(i), + t = [], + a = e[0], + u = e[1], + l = Math.floor(o(a)), + c = Math.ceil(o(u)), + d = n % 1 ? 2 : n; + if (isFinite(c - l)) { + if (r) { + for (; l < c; l++) + for (var f = 1; f < d; f++) t.push(s(l) * f); + t.push(s(l)); + } else + for (t.push(s(l)); l++ < c; ) + for (var f = d - 1; f > 0; f--) t.push(s(l) * f); + for (l = 0; t[l] < a; l++); + for (c = t.length; t[c - 1] > u; c--); + t = t.slice(l, c); + } + return t; + }; + u.tickFormat = function(e, t) { + if (!arguments.length) return Ao; + arguments.length < 2 + ? (t = Ao) + : "function" !== typeof t && (t = a.format(t)); + var r = Math.max(1, (n * e) / u.ticks().length); + return function(e) { + var i = e / s(Math.round(o(e))); + return i * n < n - 0.5 && (i *= n), i <= r ? t(e) : ""; + }; + }; + u.copy = function() { + return e(t.copy(), n, r, i); + }; + return wo(u, t); + })(a.scale.linear().domain([0, 1]), 10, !0, [1, 10]); + }; + var Ao = a.format(".0e"), + ko = { + floor: function(e) { + return -Math.ceil(-e); + }, + ceil: function(e) { + return -Math.floor(-e); + } + }; + function No(e) { + return function(t) { + return t < 0 ? -Math.pow(-t, e) : Math.pow(t, e); + }; + } + (a.scale.pow = function() { + return (function e(t, n, r) { + var i = No(n), + a = No(1 / n); + function o(e) { + return t(i(e)); + } + o.invert = function(e) { + return a(t.invert(e)); + }; + o.domain = function(e) { + return arguments.length + ? (t.domain((r = e.map(Number)).map(i)), o) + : r; + }; + o.ticks = function(e) { + return Eo(r, e); + }; + o.tickFormat = function(e, t) { + return Co(r, e, t); + }; + o.nice = function(e) { + return o.domain(So(r, e)); + }; + o.exponent = function(e) { + return arguments.length + ? ((i = No((n = e))), (a = No(1 / n)), t.domain(r.map(i)), o) + : n; + }; + o.copy = function() { + return e(t.copy(), n, r); + }; + return wo(o, t); + })(a.scale.linear(), 1, [0, 1]); + }), + (a.scale.sqrt = function() { + return a.scale.pow().exponent(0.5); + }), + (a.scale.ordinal = function() { + return (function e(t, n) { + var r, i, o; + function s(e) { + return i[ + ((r.get(e) || ("range" === n.t ? r.set(e, t.push(e)) : NaN)) - + 1) % + i.length + ]; + } + function u(e, n) { + return a.range(t.length).map(function(t) { + return e + n * t; + }); + } + s.domain = function(e) { + if (!arguments.length) return t; + (t = []), (r = new T()); + for (var i, a = -1, o = e.length; ++a < o; ) + r.has((i = e[a])) || r.set(i, t.push(i)); + return s[n.t].apply(s, n.a); + }; + s.range = function(e) { + return arguments.length + ? ((i = e), (o = 0), (n = { t: "range", a: arguments }), s) + : i; + }; + s.rangePoints = function(e, r) { + arguments.length < 2 && (r = 0); + var a = e[0], + l = e[1], + c = + t.length < 2 + ? ((a = (a + l) / 2), 0) + : (l - a) / (t.length - 1 + r); + return ( + (i = u(a + (c * r) / 2, c)), + (o = 0), + (n = { t: "rangePoints", a: arguments }), + s + ); + }; + s.rangeRoundPoints = function(e, r) { + arguments.length < 2 && (r = 0); + var a = e[0], + l = e[1], + c = + t.length < 2 + ? ((a = l = Math.round((a + l) / 2)), 0) + : ((l - a) / (t.length - 1 + r)) | 0; + return ( + (i = u( + a + + Math.round( + (c * r) / 2 + (l - a - (t.length - 1 + r) * c) / 2 + ), + c + )), + (o = 0), + (n = { t: "rangeRoundPoints", a: arguments }), + s + ); + }; + s.rangeBands = function(e, r, a) { + arguments.length < 2 && (r = 0), + arguments.length < 3 && (a = r); + var l = e[1] < e[0], + c = e[l - 0], + d = e[1 - l], + f = (d - c) / (t.length - r + 2 * a); + return ( + (i = u(c + f * a, f)), + l && i.reverse(), + (o = f * (1 - r)), + (n = { t: "rangeBands", a: arguments }), + s + ); + }; + s.rangeRoundBands = function(e, r, a) { + arguments.length < 2 && (r = 0), + arguments.length < 3 && (a = r); + var l = e[1] < e[0], + c = e[l - 0], + d = e[1 - l], + f = Math.floor((d - c) / (t.length - r + 2 * a)); + return ( + (i = u(c + Math.round((d - c - (t.length - r) * f) / 2), f)), + l && i.reverse(), + (o = Math.round(f * (1 - r))), + (n = { t: "rangeRoundBands", a: arguments }), + s + ); + }; + s.rangeBand = function() { + return o; + }; + s.rangeExtent = function() { + return go(n.a[0]); + }; + s.copy = function() { + return e(t, n); + }; + return s.domain(t); + })([], { t: "range", a: [[]] }); + }), + (a.scale.category10 = function() { + return a.scale.ordinal().range(Mo); + }), + (a.scale.category20 = function() { + return a.scale.ordinal().range(Lo); + }), + (a.scale.category20b = function() { + return a.scale.ordinal().range(jo); + }), + (a.scale.category20c = function() { + return a.scale.ordinal().range(Ro); + }); + var Mo = [ + 2062260, + 16744206, + 2924588, + 14034728, + 9725885, + 9197131, + 14907330, + 8355711, + 12369186, + 1556175 + ].map(dt), + Lo = [ + 2062260, + 11454440, + 16744206, + 16759672, + 2924588, + 10018698, + 14034728, + 16750742, + 9725885, + 12955861, + 9197131, + 12885140, + 14907330, + 16234194, + 8355711, + 13092807, + 12369186, + 14408589, + 1556175, + 10410725 + ].map(dt), + jo = [ + 3750777, + 5395619, + 7040719, + 10264286, + 6519097, + 9216594, + 11915115, + 13556636, + 9202993, + 12426809, + 15186514, + 15190932, + 8666169, + 11356490, + 14049643, + 15177372, + 8077683, + 10834324, + 13528509, + 14589654 + ].map(dt), + Ro = [ + 3244733, + 7057110, + 10406625, + 13032431, + 15095053, + 16616764, + 16625259, + 16634018, + 3253076, + 7652470, + 10607003, + 13101504, + 7695281, + 10394312, + 12369372, + 14342891, + 6513507, + 9868950, + 12434877, + 14277081 + ].map(dt); + function Io() { + return 0; + } + (a.scale.quantile = function() { + return (function e(t, n) { + var r; + function i() { + var e = 0, + i = n.length; + for (r = []; ++e < i; ) r[e - 1] = a.quantile(t, e / i); + return o; + } + function o(e) { + if (!isNaN((e = +e))) return n[a.bisect(r, e)]; + } + o.domain = function(e) { + return arguments.length + ? ((t = e + .map(v) + .filter(y) + .sort(m)), + i()) + : t; + }; + o.range = function(e) { + return arguments.length ? ((n = e), i()) : n; + }; + o.quantiles = function() { + return r; + }; + o.invertExtent = function(e) { + return (e = n.indexOf(e)) < 0 + ? [NaN, NaN] + : [ + e > 0 ? r[e - 1] : t[0], + e < r.length ? r[e] : t[t.length - 1] + ]; + }; + o.copy = function() { + return e(t, n); + }; + return i(); + })([], []); + }), + (a.scale.quantize = function() { + return (function e(t, n, r) { + var i, a; + function o(e) { + return r[Math.max(0, Math.min(a, Math.floor(i * (e - t))))]; + } + function s() { + return (i = r.length / (n - t)), (a = r.length - 1), o; + } + o.domain = function(e) { + return arguments.length + ? ((t = +e[0]), (n = +e[e.length - 1]), s()) + : [t, n]; + }; + o.range = function(e) { + return arguments.length ? ((r = e), s()) : r; + }; + o.invertExtent = function(e) { + return [ + (e = (e = r.indexOf(e)) < 0 ? NaN : e / i + t), + e + 1 / i + ]; + }; + o.copy = function() { + return e(t, n, r); + }; + return s(); + })(0, 1, [0, 1]); + }), + (a.scale.threshold = function() { + return (function e(t, n) { + function r(e) { + if (e <= e) return n[a.bisect(t, e)]; + } + r.domain = function(e) { + return arguments.length ? ((t = e), r) : t; + }; + r.range = function(e) { + return arguments.length ? ((n = e), r) : n; + }; + r.invertExtent = function(e) { + return (e = n.indexOf(e)), [t[e - 1], t[e]]; + }; + r.copy = function() { + return e(t, n); + }; + return r; + })([0.5], [0, 1]); + }), + (a.scale.identity = function() { + return (function e(t) { + function n(e) { + return +e; + } + n.invert = n; + n.domain = n.range = function(e) { + return arguments.length ? ((t = e.map(n)), n) : t; + }; + n.ticks = function(e) { + return Eo(t, e); + }; + n.tickFormat = function(e, n) { + return Co(t, e, n); + }; + n.copy = function() { + return e(t); + }; + return n; + })([0, 1]); + }), + (a.svg = {}), + (a.svg.arc = function() { + var e = Fo, + t = Do, + n = Io, + r = Vo, + i = Go, + a = zo, + o = Bo; + function s() { + var s = Math.max(0, +e.apply(this, arguments)), + l = Math.max(0, +t.apply(this, arguments)), + c = i.apply(this, arguments) - Me, + d = a.apply(this, arguments) - Me, + f = Math.abs(d - c), + h = c > d ? 0 : 1; + if ((l < s && ((p = l), (l = s), (s = p)), f >= Ne)) + return u(l, h) + (s ? u(s, 1 - h) : "") + "Z"; + var p, + g, + m, + v, + y, + x, + b, + _, + w, + S, + T, + E, + C = 0, + O = 0, + P = []; + if ( + ((v = (+o.apply(this, arguments) || 0) / 2) && + ((m = + r === Vo + ? Math.sqrt(s * s + l * l) + : +r.apply(this, arguments)), + h || (O *= -1), + l && (O = Fe((m / l) * Math.sin(v))), + s && (C = Fe((m / s) * Math.sin(v)))), + l) + ) { + (y = l * Math.cos(c + O)), + (x = l * Math.sin(c + O)), + (b = l * Math.cos(d - O)), + (_ = l * Math.sin(d - O)); + var A = Math.abs(d - c - 2 * O) <= Ae ? 0 : 1; + if (O && (Ho(y, x, b, _) === h) ^ A) { + var k = (c + d) / 2; + (y = l * Math.cos(k)), (x = l * Math.sin(k)), (b = _ = null); + } + } else y = x = 0; + if (s) { + (w = s * Math.cos(d - C)), + (S = s * Math.sin(d - C)), + (T = s * Math.cos(c + C)), + (E = s * Math.sin(c + C)); + var N = Math.abs(c - d + 2 * C) <= Ae ? 0 : 1; + if (C && (Ho(w, S, T, E) === 1 - h) ^ N) { + var M = (c + d) / 2; + (w = s * Math.cos(M)), (S = s * Math.sin(M)), (T = E = null); + } + } else w = S = 0; + if ( + f > Oe && + (p = Math.min(Math.abs(l - s) / 2, +n.apply(this, arguments))) > + 0.001 + ) { + g = (s < l) ^ h ? 0 : 1; + var L = p, + j = p; + if (f < Ae) { + var R = + null == T + ? [w, S] + : null == b + ? [y, x] + : di([y, x], [T, E], [b, _], [w, S]), + I = y - R[0], + V = x - R[1], + F = b - R[0], + D = _ - R[1], + G = + 1 / + Math.sin( + Math.acos( + (I * F + V * D) / + (Math.sqrt(I * I + V * V) * + Math.sqrt(F * F + D * D)) + ) / 2 + ), + z = Math.sqrt(R[0] * R[0] + R[1] * R[1]); + (j = Math.min(p, (s - z) / (G - 1))), + (L = Math.min(p, (l - z) / (G + 1))); + } + if (null != b) { + var B = Uo(null == T ? [w, S] : [T, E], [y, x], l, L, h), + H = Uo([b, _], [w, S], l, L, h); + p === L + ? P.push( + "M", + B[0], + "A", + L, + ",", + L, + " 0 0,", + g, + " ", + B[1], + "A", + l, + ",", + l, + " 0 ", + (1 - h) ^ Ho(B[1][0], B[1][1], H[1][0], H[1][1]), + ",", + h, + " ", + H[1], + "A", + L, + ",", + L, + " 0 0,", + g, + " ", + H[0] + ) + : P.push("M", B[0], "A", L, ",", L, " 0 1,", g, " ", H[0]); + } else P.push("M", y, ",", x); + if (null != T) { + var U = Uo([y, x], [T, E], s, -j, h), + X = Uo([w, S], null == b ? [y, x] : [b, _], s, -j, h); + p === j + ? P.push( + "L", + X[0], + "A", + j, + ",", + j, + " 0 0,", + g, + " ", + X[1], + "A", + s, + ",", + s, + " 0 ", + h ^ Ho(X[1][0], X[1][1], U[1][0], U[1][1]), + ",", + 1 - h, + " ", + U[1], + "A", + j, + ",", + j, + " 0 0,", + g, + " ", + U[0] + ) + : P.push("L", X[0], "A", j, ",", j, " 0 0,", g, " ", U[0]); + } else P.push("L", w, ",", S); + } else + P.push("M", y, ",", x), + null != b && + P.push("A", l, ",", l, " 0 ", A, ",", h, " ", b, ",", _), + P.push("L", w, ",", S), + null != T && + P.push( + "A", + s, + ",", + s, + " 0 ", + N, + ",", + 1 - h, + " ", + T, + ",", + E + ); + return P.push("Z"), P.join(""); + } + function u(e, t) { + return ( + "M0," + + e + + "A" + + e + + "," + + e + + " 0 1," + + t + + " 0," + + -e + + "A" + + e + + "," + + e + + " 0 1," + + t + + " 0," + + e + ); + } + return ( + (s.innerRadius = function(t) { + return arguments.length ? ((e = bt(t)), s) : e; + }), + (s.outerRadius = function(e) { + return arguments.length ? ((t = bt(e)), s) : t; + }), + (s.cornerRadius = function(e) { + return arguments.length ? ((n = bt(e)), s) : n; + }), + (s.padRadius = function(e) { + return arguments.length ? ((r = e == Vo ? Vo : bt(e)), s) : r; + }), + (s.startAngle = function(e) { + return arguments.length ? ((i = bt(e)), s) : i; + }), + (s.endAngle = function(e) { + return arguments.length ? ((a = bt(e)), s) : a; + }), + (s.padAngle = function(e) { + return arguments.length ? ((o = bt(e)), s) : o; + }), + (s.centroid = function() { + var n = + (+e.apply(this, arguments) + +t.apply(this, arguments)) / 2, + r = + (+i.apply(this, arguments) + +a.apply(this, arguments)) / + 2 - + Me; + return [Math.cos(r) * n, Math.sin(r) * n]; + }), + s + ); + }); + var Vo = "auto"; + function Fo(e) { + return e.innerRadius; + } + function Do(e) { + return e.outerRadius; + } + function Go(e) { + return e.startAngle; + } + function zo(e) { + return e.endAngle; + } + function Bo(e) { + return e && e.padAngle; + } + function Ho(e, t, n, r) { + return (e - n) * t - (t - r) * e > 0 ? 0 : 1; + } + function Uo(e, t, n, r, i) { + var a = e[0] - t[0], + o = e[1] - t[1], + s = (i ? r : -r) / Math.sqrt(a * a + o * o), + u = s * o, + l = -s * a, + c = e[0] + u, + d = e[1] + l, + f = t[0] + u, + h = t[1] + l, + p = (c + f) / 2, + g = (d + h) / 2, + m = f - c, + v = h - d, + y = m * m + v * v, + x = n - r, + b = c * h - f * d, + _ = (v < 0 ? -1 : 1) * Math.sqrt(Math.max(0, x * x * y - b * b)), + w = (b * v - m * _) / y, + S = (-b * m - v * _) / y, + T = (b * v + m * _) / y, + E = (-b * m + v * _) / y, + C = w - p, + O = S - g, + P = T - p, + A = E - g; + return ( + C * C + O * O > P * P + A * A && ((w = T), (S = E)), + [[w - u, S - l], [(w * n) / x, (S * n) / x]] + ); + } + function Xo(e) { + var t = ai, + n = oi, + r = Kn, + i = Wo, + a = i.key, + o = 0.7; + function s(a) { + var s, + u = [], + l = [], + c = -1, + d = a.length, + f = bt(t), + h = bt(n); + function p() { + u.push("M", i(e(l), o)); + } + for (; ++c < d; ) + r.call(this, (s = a[c]), c) + ? l.push([+f.call(this, s, c), +h.call(this, s, c)]) + : l.length && (p(), (l = [])); + return l.length && p(), u.length ? u.join("") : null; + } + return ( + (s.x = function(e) { + return arguments.length ? ((t = e), s) : t; + }), + (s.y = function(e) { + return arguments.length ? ((n = e), s) : n; + }), + (s.defined = function(e) { + return arguments.length ? ((r = e), s) : r; + }), + (s.interpolate = function(e) { + return arguments.length + ? ((a = + "function" === typeof e + ? (i = e) + : (i = Yo.get(e) || Wo).key), + s) + : a; + }), + (s.tension = function(e) { + return arguments.length ? ((o = e), s) : o; + }), + s + ); + } + a.svg.line = function() { + return Xo(R); + }; + var Yo = a.map({ + linear: Wo, + "linear-closed": qo, + step: function(e) { + var t = 0, + n = e.length, + r = e[0], + i = [r[0], ",", r[1]]; + for (; ++t < n; ) + i.push("H", (r[0] + (r = e[t])[0]) / 2, "V", r[1]); + n > 1 && i.push("H", r[0]); + return i.join(""); + }, + "step-before": Qo, + "step-after": $o, + basis: Jo, + "basis-open": function(e) { + if (e.length < 4) return Wo(e); + var t, + n = [], + r = -1, + i = e.length, + a = [0], + o = [0]; + for (; ++r < 3; ) (t = e[r]), a.push(t[0]), o.push(t[1]); + n.push(es(rs, a) + "," + es(rs, o)), --r; + for (; ++r < i; ) + (t = e[r]), + a.shift(), + a.push(t[0]), + o.shift(), + o.push(t[1]), + is(n, a, o); + return n.join(""); + }, + "basis-closed": function(e) { + var t, + n, + r = -1, + i = e.length, + a = i + 4, + o = [], + s = []; + for (; ++r < 4; ) (n = e[r % i]), o.push(n[0]), s.push(n[1]); + (t = [es(rs, o), ",", es(rs, s)]), --r; + for (; ++r < a; ) + (n = e[r % i]), + o.shift(), + o.push(n[0]), + s.shift(), + s.push(n[1]), + is(t, o, s); + return t.join(""); + }, + bundle: function(e, t) { + var n = e.length - 1; + if (n) + for ( + var r, + i, + a = e[0][0], + o = e[0][1], + s = e[n][0] - a, + u = e[n][1] - o, + l = -1; + ++l <= n; + + ) + (r = e[l]), + (i = l / n), + (r[0] = t * r[0] + (1 - t) * (a + i * s)), + (r[1] = t * r[1] + (1 - t) * (o + i * u)); + return Jo(e); + }, + cardinal: function(e, t) { + return e.length < 3 ? Wo(e) : e[0] + Ko(e, Zo(e, t)); + }, + "cardinal-open": function(e, t) { + return e.length < 4 ? Wo(e) : e[1] + Ko(e.slice(1, -1), Zo(e, t)); + }, + "cardinal-closed": function(e, t) { + return e.length < 3 + ? qo(e) + : e[0] + + Ko( + (e.push(e[0]), e), + Zo([e[e.length - 2]].concat(e, [e[1]]), t) + ); + }, + monotone: function(e) { + return e.length < 3 + ? Wo(e) + : e[0] + + Ko( + e, + (function(e) { + var t, + n, + r, + i, + a = [], + o = (function(e) { + var t = 0, + n = e.length - 1, + r = [], + i = e[0], + a = e[1], + o = (r[0] = as(i, a)); + for (; ++t < n; ) + r[t] = (o + (o = as((i = a), (a = e[t + 1])))) / 2; + return (r[t] = o), r; + })(e), + s = -1, + u = e.length - 1; + for (; ++s < u; ) + (t = as(e[s], e[s + 1])), + w(t) < Oe + ? (o[s] = o[s + 1] = 0) + : ((n = o[s] / t), + (r = o[s + 1] / t), + (i = n * n + r * r) > 9 && + ((i = (3 * t) / Math.sqrt(i)), + (o[s] = i * n), + (o[s + 1] = i * r))); + s = -1; + for (; ++s <= u; ) + (i = + (e[Math.min(u, s + 1)][0] - + e[Math.max(0, s - 1)][0]) / + (6 * (1 + o[s] * o[s]))), + a.push([i || 0, o[s] * i || 0]); + return a; + })(e) + ); + } + }); + function Wo(e) { + return e.length > 1 ? e.join("L") : e + "Z"; + } + function qo(e) { + return e.join("L") + "Z"; + } + function Qo(e) { + for ( + var t = 0, n = e.length, r = e[0], i = [r[0], ",", r[1]]; + ++t < n; + + ) + i.push("V", (r = e[t])[1], "H", r[0]); + return i.join(""); + } + function $o(e) { + for ( + var t = 0, n = e.length, r = e[0], i = [r[0], ",", r[1]]; + ++t < n; + + ) + i.push("H", (r = e[t])[0], "V", r[1]); + return i.join(""); + } + function Ko(e, t) { + if ( + t.length < 1 || + (e.length != t.length && e.length != t.length + 2) + ) + return Wo(e); + var n = e.length != t.length, + r = "", + i = e[0], + a = e[1], + o = t[0], + s = o, + u = 1; + if ( + (n && + ((r += + "Q" + + (a[0] - (2 * o[0]) / 3) + + "," + + (a[1] - (2 * o[1]) / 3) + + "," + + a[0] + + "," + + a[1]), + (i = e[1]), + (u = 2)), + t.length > 1) + ) { + (s = t[1]), + (a = e[u]), + u++, + (r += + "C" + + (i[0] + o[0]) + + "," + + (i[1] + o[1]) + + "," + + (a[0] - s[0]) + + "," + + (a[1] - s[1]) + + "," + + a[0] + + "," + + a[1]); + for (var l = 2; l < t.length; l++, u++) + (a = e[u]), + (s = t[l]), + (r += + "S" + + (a[0] - s[0]) + + "," + + (a[1] - s[1]) + + "," + + a[0] + + "," + + a[1]); + } + if (n) { + var c = e[u]; + r += + "Q" + + (a[0] + (2 * s[0]) / 3) + + "," + + (a[1] + (2 * s[1]) / 3) + + "," + + c[0] + + "," + + c[1]; + } + return r; + } + function Zo(e, t) { + for ( + var n, + r = [], + i = (1 - t) / 2, + a = e[0], + o = e[1], + s = 1, + u = e.length; + ++s < u; + + ) + (n = a), + (a = o), + (o = e[s]), + r.push([i * (o[0] - n[0]), i * (o[1] - n[1])]); + return r; + } + function Jo(e) { + if (e.length < 3) return Wo(e); + var t = 1, + n = e.length, + r = e[0], + i = r[0], + a = r[1], + o = [i, i, i, (r = e[1])[0]], + s = [a, a, a, r[1]], + u = [i, ",", a, "L", es(rs, o), ",", es(rs, s)]; + for (e.push(e[n - 1]); ++t <= n; ) + (r = e[t]), + o.shift(), + o.push(r[0]), + s.shift(), + s.push(r[1]), + is(u, o, s); + return e.pop(), u.push("L", r), u.join(""); + } + function es(e, t) { + return e[0] * t[0] + e[1] * t[1] + e[2] * t[2] + e[3] * t[3]; + } + Yo.forEach(function(e, t) { + (t.key = e), (t.closed = /-closed$/.test(e)); + }); + var ts = [0, 2 / 3, 1 / 3, 0], + ns = [0, 1 / 3, 2 / 3, 0], + rs = [0, 1 / 6, 2 / 3, 1 / 6]; + function is(e, t, n) { + e.push( + "C", + es(ts, t), + ",", + es(ts, n), + ",", + es(ns, t), + ",", + es(ns, n), + ",", + es(rs, t), + ",", + es(rs, n) + ); + } + function as(e, t) { + return (t[1] - e[1]) / (t[0] - e[0]); + } + function os(e) { + for (var t, n, r, i = -1, a = e.length; ++i < a; ) + (n = (t = e[i])[0]), + (r = t[1] - Me), + (t[0] = n * Math.cos(r)), + (t[1] = n * Math.sin(r)); + return e; + } + function ss(e) { + var t = ai, + n = ai, + r = 0, + i = oi, + a = Kn, + o = Wo, + s = o.key, + u = o, + l = "L", + c = 0.7; + function d(s) { + var d, + f, + h, + p = [], + g = [], + m = [], + v = -1, + y = s.length, + x = bt(t), + b = bt(r), + _ = + t === n + ? function() { + return f; + } + : bt(n), + w = + r === i + ? function() { + return h; + } + : bt(i); + function S() { + p.push("M", o(e(m), c), l, u(e(g.reverse()), c), "Z"); + } + for (; ++v < y; ) + a.call(this, (d = s[v]), v) + ? (g.push([ + (f = +x.call(this, d, v)), + (h = +b.call(this, d, v)) + ]), + m.push([+_.call(this, d, v), +w.call(this, d, v)])) + : g.length && (S(), (g = []), (m = [])); + return g.length && S(), p.length ? p.join("") : null; + } + return ( + (d.x = function(e) { + return arguments.length ? ((t = n = e), d) : n; + }), + (d.x0 = function(e) { + return arguments.length ? ((t = e), d) : t; + }), + (d.x1 = function(e) { + return arguments.length ? ((n = e), d) : n; + }), + (d.y = function(e) { + return arguments.length ? ((r = i = e), d) : i; + }), + (d.y0 = function(e) { + return arguments.length ? ((r = e), d) : r; + }), + (d.y1 = function(e) { + return arguments.length ? ((i = e), d) : i; + }), + (d.defined = function(e) { + return arguments.length ? ((a = e), d) : a; + }), + (d.interpolate = function(e) { + return arguments.length + ? ((s = + "function" === typeof e + ? (o = e) + : (o = Yo.get(e) || Wo).key), + (u = o.reverse || o), + (l = o.closed ? "M" : "L"), + d) + : s; + }), + (d.tension = function(e) { + return arguments.length ? ((c = e), d) : c; + }), + d + ); + } + function us(e) { + return e.radius; + } + function ls(e) { + return [e.x, e.y]; + } + function cs() { + return 64; + } + function ds() { + return "circle"; + } + function fs(e) { + var t = Math.sqrt(e / Ae); + return ( + "M0," + + t + + "A" + + t + + "," + + t + + " 0 1,1 0," + + -t + + "A" + + t + + "," + + t + + " 0 1,1 0," + + t + + "Z" + ); + } + (a.svg.line.radial = function() { + var e = Xo(os); + return (e.radius = e.x), delete e.x, (e.angle = e.y), delete e.y, e; + }), + (Qo.reverse = $o), + ($o.reverse = Qo), + (a.svg.area = function() { + return ss(R); + }), + (a.svg.area.radial = function() { + var e = ss(os); + return ( + (e.radius = e.x), + delete e.x, + (e.innerRadius = e.x0), + delete e.x0, + (e.outerRadius = e.x1), + delete e.x1, + (e.angle = e.y), + delete e.y, + (e.startAngle = e.y0), + delete e.y0, + (e.endAngle = e.y1), + delete e.y1, + e + ); + }), + (a.svg.chord = function() { + var e = Xr, + t = Yr, + n = us, + r = Go, + i = zo; + function a(n, r) { + var i, + a, + l = o(this, e, n, r), + c = o(this, t, n, r); + return ( + "M" + + l.p0 + + s(l.r, l.p1, l.a1 - l.a0) + + ((a = c), + (i = l).a0 == a.a0 && i.a1 == a.a1 + ? u(l.r, l.p1, l.r, l.p0) + : u(l.r, l.p1, c.r, c.p0) + + s(c.r, c.p1, c.a1 - c.a0) + + u(c.r, c.p1, l.r, l.p0)) + + "Z" + ); + } + function o(e, t, a, o) { + var s = t.call(e, a, o), + u = n.call(e, s, o), + l = r.call(e, s, o) - Me, + c = i.call(e, s, o) - Me; + return { + r: u, + a0: l, + a1: c, + p0: [u * Math.cos(l), u * Math.sin(l)], + p1: [u * Math.cos(c), u * Math.sin(c)] + }; + } + function s(e, t, n) { + return "A" + e + "," + e + " 0 " + +(n > Ae) + ",1 " + t; + } + function u(e, t, n, r) { + return "Q 0,0 " + r; + } + return ( + (a.radius = function(e) { + return arguments.length ? ((n = bt(e)), a) : n; + }), + (a.source = function(t) { + return arguments.length ? ((e = bt(t)), a) : e; + }), + (a.target = function(e) { + return arguments.length ? ((t = bt(e)), a) : t; + }), + (a.startAngle = function(e) { + return arguments.length ? ((r = bt(e)), a) : r; + }), + (a.endAngle = function(e) { + return arguments.length ? ((i = bt(e)), a) : i; + }), + a + ); + }), + (a.svg.diagonal = function() { + var e = Xr, + t = Yr, + n = ls; + function r(r, i) { + var a = e.call(this, r, i), + o = t.call(this, r, i), + s = (a.y + o.y) / 2, + u = [a, { x: a.x, y: s }, { x: o.x, y: s }, o]; + return ( + "M" + (u = u.map(n))[0] + "C" + u[1] + " " + u[2] + " " + u[3] + ); + } + return ( + (r.source = function(t) { + return arguments.length ? ((e = bt(t)), r) : e; + }), + (r.target = function(e) { + return arguments.length ? ((t = bt(e)), r) : t; + }), + (r.projection = function(e) { + return arguments.length ? ((n = e), r) : n; + }), + r + ); + }), + (a.svg.diagonal.radial = function() { + var e = a.svg.diagonal(), + t = ls, + n = e.projection; + return ( + (e.projection = function(e) { + return arguments.length + ? n( + (function(e) { + return function() { + var t = e.apply(this, arguments), + n = t[0], + r = t[1] - Me; + return [n * Math.cos(r), n * Math.sin(r)]; + }; + })((t = e)) + ) + : t; + }), + e + ); + }), + (a.svg.symbol = function() { + var e = ds, + t = cs; + function n(n, r) { + return (hs.get(e.call(this, n, r)) || fs)(t.call(this, n, r)); + } + return ( + (n.type = function(t) { + return arguments.length ? ((e = bt(t)), n) : e; + }), + (n.size = function(e) { + return arguments.length ? ((t = bt(e)), n) : t; + }), + n + ); + }); + var hs = a.map({ + circle: fs, + cross: function(e) { + var t = Math.sqrt(e / 5) / 2; + return ( + "M" + + -3 * t + + "," + + -t + + "H" + + -t + + "V" + + -3 * t + + "H" + + t + + "V" + + -t + + "H" + + 3 * t + + "V" + + t + + "H" + + t + + "V" + + 3 * t + + "H" + + -t + + "V" + + t + + "H" + + -3 * t + + "Z" + ); + }, + diamond: function(e) { + var t = Math.sqrt(e / (2 * gs)), + n = t * gs; + return "M0," + -t + "L" + n + ",0 0," + t + " " + -n + ",0Z"; + }, + square: function(e) { + var t = Math.sqrt(e) / 2; + return ( + "M" + + -t + + "," + + -t + + "L" + + t + + "," + + -t + + " " + + t + + "," + + t + + " " + + -t + + "," + + t + + "Z" + ); + }, + "triangle-down": function(e) { + var t = Math.sqrt(e / ps), + n = (t * ps) / 2; + return "M0," + n + "L" + t + "," + -n + " " + -t + "," + -n + "Z"; + }, + "triangle-up": function(e) { + var t = Math.sqrt(e / ps), + n = (t * ps) / 2; + return "M0," + -n + "L" + t + "," + n + " " + -t + "," + n + "Z"; + } + }); + a.svg.symbolTypes = hs.keys(); + var ps = Math.sqrt(3), + gs = Math.tan(30 * Le); + (K.transition = function(e) { + for ( + var t, + n, + r = xs || ++ws, + i = Es(e), + a = [], + o = bs || { time: Date.now(), ease: la, delay: 0, duration: 250 }, + s = -1, + u = this.length; + ++s < u; + + ) { + a.push((t = [])); + for (var l = this[s], c = -1, d = l.length; ++c < d; ) + (n = l[c]) && Cs(n, c, i, r, o), t.push(n); + } + return ys(a, i, r); + }), + (K.interrupt = function(e) { + return this.each(null == e ? ms : vs(Es(e))); + }); + var ms = vs(Es()); + function vs(e) { + return function() { + var t, n, r; + (t = this[e]) && + (r = t[(n = t.active)]) && + ((r.timer.c = null), + (r.timer.t = NaN), + --t.count ? delete t[n] : delete this[e], + (t.active += 0.5), + r.event && r.event.interrupt.call(this, this.__data__, r.index)); + }; + } + function ys(e, t, n) { + return Y(e, _s), (e.namespace = t), (e.id = n), e; + } + var xs, + bs, + _s = [], + ws = 0; + function Ss(e, t, n, r) { + var i = e.id, + a = e.namespace; + return pe( + e, + "function" === typeof n + ? function(e, o, s) { + e[a][i].tween.set(t, r(n.call(e, e.__data__, o, s))); + } + : ((n = r(n)), + function(e) { + e[a][i].tween.set(t, n); + }) + ); + } + function Ts(e) { + return ( + null == e && (e = ""), + function() { + this.textContent = e; + } + ); + } + function Es(e) { + return null == e ? "__transition__" : "__transition_" + e + "__"; + } + function Cs(e, t, n, r, i) { + var a, + o, + s, + u, + l, + c = e[n] || (e[n] = { active: 0, count: 0 }), + d = c[r]; + function f(n) { + var i = c.active, + f = c[i]; + for (var p in (f && + ((f.timer.c = null), + (f.timer.t = NaN), + --c.count, + delete c[i], + f.event && f.event.interrupt.call(e, e.__data__, f.index)), + c)) + if (+p < r) { + var g = c[p]; + (g.timer.c = null), (g.timer.t = NaN), --c.count, delete c[p]; + } + (o.c = h), + Pt( + function() { + return o.c && h(n || 1) && ((o.c = null), (o.t = NaN)), 1; + }, + 0, + a + ), + (c.active = r), + d.event && d.event.start.call(e, e.__data__, t), + (l = []), + d.tween.forEach(function(n, r) { + (r = r.call(e, e.__data__, t)) && l.push(r); + }), + (u = d.ease), + (s = d.duration); + } + function h(i) { + for (var a = i / s, o = u(a), f = l.length; f > 0; ) + l[--f].call(e, o); + if (a >= 1) + return ( + d.event && d.event.end.call(e, e.__data__, t), + --c.count ? delete c[r] : delete e[n], + 1 + ); + } + d || + ((a = i.time), + (o = Pt( + function(e) { + var t = d.delay; + if (((o.t = t + a), t <= e)) return f(e - t); + o.c = f; + }, + 0, + a + )), + (d = c[r] = { + tween: new T(), + time: a, + timer: o, + delay: i.delay, + duration: i.duration, + ease: i.ease, + index: t + }), + (i = null), + ++c.count); + } + (_s.call = K.call), + (_s.empty = K.empty), + (_s.node = K.node), + (_s.size = K.size), + (a.transition = function(e, t) { + return e && e.transition + ? xs + ? e.transition(t) + : e + : a.selection().transition(e); + }), + (a.transition.prototype = _s), + (_s.select = function(e) { + var t, + n, + r, + i = this.id, + a = this.namespace, + o = []; + e = Z(e); + for (var s = -1, u = this.length; ++s < u; ) { + o.push((t = [])); + for (var l = this[s], c = -1, d = l.length; ++c < d; ) + (r = l[c]) && (n = e.call(r, r.__data__, c, s)) + ? ("__data__" in r && (n.__data__ = r.__data__), + Cs(n, c, a, i, r[a][i]), + t.push(n)) + : t.push(null); + } + return ys(o, a, i); + }), + (_s.selectAll = function(e) { + var t, + n, + r, + i, + a, + o = this.id, + s = this.namespace, + u = []; + e = J(e); + for (var l = -1, c = this.length; ++l < c; ) + for (var d = this[l], f = -1, h = d.length; ++f < h; ) + if ((r = d[f])) { + (a = r[s][o]), + (n = e.call(r, r.__data__, f, l)), + u.push((t = [])); + for (var p = -1, g = n.length; ++p < g; ) + (i = n[p]) && Cs(i, p, s, o, a), t.push(i); + } + return ys(u, s, o); + }), + (_s.filter = function(e) { + var t, + n, + r = []; + "function" !== typeof e && (e = he(e)); + for (var i = 0, a = this.length; i < a; i++) { + r.push((t = [])); + for (var o, s = 0, u = (o = this[i]).length; s < u; s++) + (n = o[s]) && e.call(n, n.__data__, s, i) && t.push(n); + } + return ys(r, this.namespace, this.id); + }), + (_s.tween = function(e, t) { + var n = this.id, + r = this.namespace; + return arguments.length < 2 + ? this.node()[r][n].tween.get(e) + : pe( + this, + null == t + ? function(t) { + t[r][n].tween.remove(e); + } + : function(i) { + i[r][n].tween.set(e, t); + } + ); + }), + (_s.attr = function(e, t) { + if (arguments.length < 2) { + for (t in e) this.attr(t, e[t]); + return this; + } + var n = "transform" == e ? ba : ea, + r = a.ns.qualify(e); + function i() { + this.removeAttribute(r); + } + function o() { + this.removeAttributeNS(r.space, r.local); + } + return Ss( + this, + "attr." + e, + t, + r.local + ? function(e) { + return null == e + ? o + : ((e += ""), + function() { + var t, + i = this.getAttributeNS(r.space, r.local); + return ( + i !== e && + ((t = n(i, e)), + function(e) { + this.setAttributeNS(r.space, r.local, t(e)); + }) + ); + }); + } + : function(e) { + return null == e + ? i + : ((e += ""), + function() { + var t, + i = this.getAttribute(r); + return ( + i !== e && + ((t = n(i, e)), + function(e) { + this.setAttribute(r, t(e)); + }) + ); + }); + } + ); + }), + (_s.attrTween = function(e, t) { + var n = a.ns.qualify(e); + return this.tween( + "attr." + e, + n.local + ? function(e, r) { + var i = t.call( + this, + e, + r, + this.getAttributeNS(n.space, n.local) + ); + return ( + i && + function(e) { + this.setAttributeNS(n.space, n.local, i(e)); + } + ); + } + : function(e, r) { + var i = t.call(this, e, r, this.getAttribute(n)); + return ( + i && + function(e) { + this.setAttribute(n, i(e)); + } + ); + } + ); + }), + (_s.style = function(e, t, n) { + var r = arguments.length; + if (r < 3) { + if ("string" !== typeof e) { + for (n in (r < 2 && (t = ""), e)) this.style(n, e[n], t); + return this; + } + n = ""; + } + function i() { + this.style.removeProperty(e); + } + return Ss(this, "style." + e, t, function(t) { + return null == t + ? i + : ((t += ""), + function() { + var r, + i = c(this) + .getComputedStyle(this, null) + .getPropertyValue(e); + return ( + i !== t && + ((r = ea(i, t)), + function(t) { + this.style.setProperty(e, r(t), n); + }) + ); + }); + }); + }), + (_s.styleTween = function(e, t, n) { + return ( + arguments.length < 3 && (n = ""), + this.tween("style." + e, function(r, i) { + var a = t.call( + this, + r, + i, + c(this) + .getComputedStyle(this, null) + .getPropertyValue(e) + ); + return ( + a && + function(t) { + this.style.setProperty(e, a(t), n); + } + ); + }) + ); + }), + (_s.text = function(e) { + return Ss(this, "text", e, Ts); + }), + (_s.remove = function() { + var e = this.namespace; + return this.each("end.transition", function() { + var t; + this[e].count < 2 && (t = this.parentNode) && t.removeChild(this); + }); + }), + (_s.ease = function(e) { + var t = this.id, + n = this.namespace; + return arguments.length < 1 + ? this.node()[n][t].ease + : ("function" !== typeof e && (e = a.ease.apply(a, arguments)), + pe(this, function(r) { + r[n][t].ease = e; + })); + }), + (_s.delay = function(e) { + var t = this.id, + n = this.namespace; + return arguments.length < 1 + ? this.node()[n][t].delay + : pe( + this, + "function" === typeof e + ? function(r, i, a) { + r[n][t].delay = +e.call(r, r.__data__, i, a); + } + : ((e = +e), + function(r) { + r[n][t].delay = e; + }) + ); + }), + (_s.duration = function(e) { + var t = this.id, + n = this.namespace; + return arguments.length < 1 + ? this.node()[n][t].duration + : pe( + this, + "function" === typeof e + ? function(r, i, a) { + r[n][t].duration = Math.max( + 1, + e.call(r, r.__data__, i, a) + ); + } + : ((e = Math.max(1, e)), + function(r) { + r[n][t].duration = e; + }) + ); + }), + (_s.each = function(e, t) { + var n = this.id, + r = this.namespace; + if (arguments.length < 2) { + var i = bs, + o = xs; + try { + (xs = n), + pe(this, function(t, i, a) { + (bs = t[r][n]), e.call(t, t.__data__, i, a); + }); + } finally { + (bs = i), (xs = o); + } + } else + pe(this, function(i) { + var o = i[r][n]; + ( + o.event || (o.event = a.dispatch("start", "end", "interrupt")) + ).on(e, t); + }); + return this; + }), + (_s.transition = function() { + for ( + var e, + t, + n, + r = this.id, + i = ++ws, + a = this.namespace, + o = [], + s = 0, + u = this.length; + s < u; + s++ + ) { + o.push((e = [])); + for (var l, c = 0, d = (l = this[s]).length; c < d; c++) + (t = l[c]) && + Cs(t, c, a, i, { + time: (n = t[a][r]).time, + ease: n.ease, + delay: n.delay + n.duration, + duration: n.duration + }), + e.push(t); + } + return ys(o, a, i); + }), + (a.svg.axis = function() { + var e, + t = a.scale.linear(), + n = Os, + r = 6, + i = 6, + o = 3, + u = [10], + l = null; + function c(s) { + s.each(function() { + var s, + c = a.select(this), + d = this.__chart__ || t, + f = (this.__chart__ = t.copy()), + h = + null == l + ? f.ticks + ? f.ticks.apply(f, u) + : f.domain() + : l, + p = + null == e + ? f.tickFormat + ? f.tickFormat.apply(f, u) + : R + : e, + g = c.selectAll(".tick").data(h, f), + m = g + .enter() + .insert("g", ".domain") + .attr("class", "tick") + .style("opacity", Oe), + v = a + .transition(g.exit()) + .style("opacity", Oe) + .remove(), + y = a.transition(g.order()).style("opacity", 1), + x = Math.max(r, 0) + o, + b = mo(f), + _ = c.selectAll(".domain").data([0]), + w = (_.enter() + .append("path") + .attr("class", "domain"), + a.transition(_)); + m.append("line"), m.append("text"); + var S, + T, + E, + C, + O = m.select("line"), + P = y.select("line"), + A = g.select("text").text(p), + k = m.select("text"), + N = y.select("text"), + M = "top" === n || "left" === n ? -1 : 1; + if ( + ("bottom" === n || "top" === n + ? ((s = As), + (S = "x"), + (E = "y"), + (T = "x2"), + (C = "y2"), + A.attr("dy", M < 0 ? "0em" : ".71em").style( + "text-anchor", + "middle" + ), + w.attr( + "d", + "M" + b[0] + "," + M * i + "V0H" + b[1] + "V" + M * i + )) + : ((s = ks), + (S = "y"), + (E = "x"), + (T = "y2"), + (C = "x2"), + A.attr("dy", ".32em").style( + "text-anchor", + M < 0 ? "end" : "start" + ), + w.attr( + "d", + "M" + M * i + "," + b[0] + "H0V" + b[1] + "H" + M * i + )), + O.attr(C, M * r), + k.attr(E, M * x), + P.attr(T, 0).attr(C, M * r), + N.attr(S, 0).attr(E, M * x), + f.rangeBand) + ) { + var L = f, + j = L.rangeBand() / 2; + d = f = function(e) { + return L(e) + j; + }; + } else d.rangeBand ? (d = f) : v.call(s, f, d); + m.call(s, d, f), y.call(s, f, f); + }); + } + return ( + (c.scale = function(e) { + return arguments.length ? ((t = e), c) : t; + }), + (c.orient = function(e) { + return arguments.length ? ((n = e in Ps ? e + "" : Os), c) : n; + }), + (c.ticks = function() { + return arguments.length ? ((u = s(arguments)), c) : u; + }), + (c.tickValues = function(e) { + return arguments.length ? ((l = e), c) : l; + }), + (c.tickFormat = function(t) { + return arguments.length ? ((e = t), c) : e; + }), + (c.tickSize = function(e) { + var t = arguments.length; + return t ? ((r = +e), (i = +arguments[t - 1]), c) : r; + }), + (c.innerTickSize = function(e) { + return arguments.length ? ((r = +e), c) : r; + }), + (c.outerTickSize = function(e) { + return arguments.length ? ((i = +e), c) : i; + }), + (c.tickPadding = function(e) { + return arguments.length ? ((o = +e), c) : o; + }), + (c.tickSubdivide = function() { + return arguments.length && c; + }), + c + ); + }); + var Os = "bottom", + Ps = { top: 1, right: 1, bottom: 1, left: 1 }; + function As(e, t, n) { + e.attr("transform", function(e) { + var r = t(e); + return "translate(" + (isFinite(r) ? r : n(e)) + ",0)"; + }); + } + function ks(e, t, n) { + e.attr("transform", function(e) { + var r = t(e); + return "translate(0," + (isFinite(r) ? r : n(e)) + ")"; + }); + } + a.svg.brush = function() { + var e, + t, + n = U(f, "brushstart", "brush", "brushend"), + r = null, + i = null, + o = [0, 0], + s = [0, 0], + u = !0, + l = !0, + d = Ms[0]; + function f(e) { + e.each(function() { + var e = a + .select(this) + .style("pointer-events", "all") + .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") + .on("mousedown.brush", m) + .on("touchstart.brush", m), + t = e.selectAll(".background").data([0]); + t + .enter() + .append("rect") + .attr("class", "background") + .style("visibility", "hidden") + .style("cursor", "crosshair"), + e + .selectAll(".extent") + .data([0]) + .enter() + .append("rect") + .attr("class", "extent") + .style("cursor", "move"); + var n = e.selectAll(".resize").data(d, R); + n.exit().remove(), + n + .enter() + .append("g") + .attr("class", function(e) { + return "resize " + e; + }) + .style("cursor", function(e) { + return Ns[e]; + }) + .append("rect") + .attr("x", function(e) { + return /[ew]$/.test(e) ? -3 : null; + }) + .attr("y", function(e) { + return /^[ns]/.test(e) ? -3 : null; + }) + .attr("width", 6) + .attr("height", 6) + .style("visibility", "hidden"), + n.style("display", f.empty() ? "none" : null); + var o, + s = a.transition(e), + u = a.transition(t); + r && + ((o = mo(r)), + u.attr("x", o[0]).attr("width", o[1] - o[0]), + p(s)), + i && + ((o = mo(i)), + u.attr("y", o[0]).attr("height", o[1] - o[0]), + g(s)), + h(s); + }); + } + function h(e) { + e.selectAll(".resize").attr("transform", function(e) { + return ( + "translate(" + o[+/e$/.test(e)] + "," + s[+/^s/.test(e)] + ")" + ); + }); + } + function p(e) { + e.select(".extent").attr("x", o[0]), + e.selectAll(".extent,.n>rect,.s>rect").attr("width", o[1] - o[0]); + } + function g(e) { + e.select(".extent").attr("y", s[0]), + e + .selectAll(".extent,.e>rect,.w>rect") + .attr("height", s[1] - s[0]); + } + function m() { + var d, + m, + v = this, + y = a.select(a.event.target), + x = n.of(v, arguments), + b = a.select(v), + _ = y.datum(), + w = !/^(n|s)$/.test(_) && r, + S = !/^(e|w)$/.test(_) && i, + T = y.classed("extent"), + E = Se(v), + C = a.mouse(v), + O = a + .select(c(v)) + .on("keydown.brush", function() { + 32 == a.event.keyCode && + (T || ((d = null), (C[0] -= o[1]), (C[1] -= s[1]), (T = 2)), + B()); + }) + .on("keyup.brush", function() { + 32 == a.event.keyCode && + 2 == T && + ((C[0] += o[1]), (C[1] += s[1]), (T = 0), B()); + }); + if ( + (a.event.changedTouches + ? O.on("touchmove.brush", k).on("touchend.brush", M) + : O.on("mousemove.brush", k).on("mouseup.brush", M), + b + .interrupt() + .selectAll("*") + .interrupt(), + T) + ) + (C[0] = o[0] - C[0]), (C[1] = s[0] - C[1]); + else if (_) { + var P = +/w$/.test(_), + A = +/^n/.test(_); + (m = [o[1 - P] - C[0], s[1 - A] - C[1]]), + (C[0] = o[P]), + (C[1] = s[A]); + } else a.event.altKey && (d = C.slice()); + function k() { + var e = a.mouse(v), + t = !1; + m && ((e[0] += m[0]), (e[1] += m[1])), + T || + (a.event.altKey + ? (d || (d = [(o[0] + o[1]) / 2, (s[0] + s[1]) / 2]), + (C[0] = o[+(e[0] < d[0])]), + (C[1] = s[+(e[1] < d[1])])) + : (d = null)), + w && N(e, r, 0) && (p(b), (t = !0)), + S && N(e, i, 1) && (g(b), (t = !0)), + t && (h(b), x({ type: "brush", mode: T ? "move" : "resize" })); + } + function N(n, r, i) { + var a, + c, + f = mo(r), + h = f[0], + p = f[1], + g = C[i], + m = i ? s : o, + v = m[1] - m[0]; + if ( + (T && ((h -= g), (p -= v + g)), + (a = (i ? l : u) ? Math.max(h, Math.min(p, n[i])) : n[i]), + T + ? (c = (a += g) + v) + : (d && (g = Math.max(h, Math.min(p, 2 * d[i] - a))), + g < a ? ((c = a), (a = g)) : (c = g)), + m[0] != a || m[1] != c) + ) + return i ? (t = null) : (e = null), (m[0] = a), (m[1] = c), !0; + } + function M() { + k(), + b + .style("pointer-events", "all") + .selectAll(".resize") + .style("display", f.empty() ? "none" : null), + a.select("body").style("cursor", null), + O.on("mousemove.brush", null) + .on("mouseup.brush", null) + .on("touchmove.brush", null) + .on("touchend.brush", null) + .on("keydown.brush", null) + .on("keyup.brush", null), + E(), + x({ type: "brushend" }); + } + b + .style("pointer-events", "none") + .selectAll(".resize") + .style("display", null), + a.select("body").style("cursor", y.style("cursor")), + x({ type: "brushstart" }), + k(); + } + return ( + (f.event = function(r) { + r.each(function() { + var r = n.of(this, arguments), + i = { x: o, y: s, i: e, j: t }, + u = this.__chart__ || i; + (this.__chart__ = i), + xs + ? a + .select(this) + .transition() + .each("start.brush", function() { + (e = u.i), + (t = u.j), + (o = u.x), + (s = u.y), + r({ type: "brushstart" }); + }) + .tween("brush:brush", function() { + var n = ta(o, i.x), + a = ta(s, i.y); + return ( + (e = t = null), + function(e) { + (o = i.x = n(e)), + (s = i.y = a(e)), + r({ type: "brush", mode: "resize" }); + } + ); + }) + .each("end.brush", function() { + (e = i.i), + (t = i.j), + r({ type: "brush", mode: "resize" }), + r({ type: "brushend" }); + }) + : (r({ type: "brushstart" }), + r({ type: "brush", mode: "resize" }), + r({ type: "brushend" })); + }); + }), + (f.x = function(e) { + return arguments.length ? ((d = Ms[(!(r = e) << 1) | !i]), f) : r; + }), + (f.y = function(e) { + return arguments.length ? ((d = Ms[(!r << 1) | !(i = e)]), f) : i; + }), + (f.clamp = function(e) { + return arguments.length + ? (r && i + ? ((u = !!e[0]), (l = !!e[1])) + : r + ? (u = !!e) + : i && (l = !!e), + f) + : r && i + ? [u, l] + : r + ? u + : i + ? l + : null; + }), + (f.extent = function(n) { + var a, u, l, c, d; + return arguments.length + ? (r && + ((a = n[0]), + (u = n[1]), + i && ((a = a[0]), (u = u[0])), + (e = [a, u]), + r.invert && ((a = r(a)), (u = r(u))), + u < a && ((d = a), (a = u), (u = d)), + (a == o[0] && u == o[1]) || (o = [a, u])), + i && + ((l = n[0]), + (c = n[1]), + r && ((l = l[1]), (c = c[1])), + (t = [l, c]), + i.invert && ((l = i(l)), (c = i(c))), + c < l && ((d = l), (l = c), (c = d)), + (l == s[0] && c == s[1]) || (s = [l, c])), + f) + : (r && + (e + ? ((a = e[0]), (u = e[1])) + : ((a = o[0]), + (u = o[1]), + r.invert && ((a = r.invert(a)), (u = r.invert(u))), + u < a && ((d = a), (a = u), (u = d)))), + i && + (t + ? ((l = t[0]), (c = t[1])) + : ((l = s[0]), + (c = s[1]), + i.invert && ((l = i.invert(l)), (c = i.invert(c))), + c < l && ((d = l), (l = c), (c = d)))), + r && i ? [[a, l], [u, c]] : r ? [a, u] : i && [l, c]); + }), + (f.clear = function() { + return ( + f.empty() || ((o = [0, 0]), (s = [0, 0]), (e = t = null)), f + ); + }), + (f.empty = function() { + return (!!r && o[0] == o[1]) || (!!i && s[0] == s[1]); + }), + a.rebind(f, n, "on") + ); + }; + var Ns = { + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize" + }, + Ms = [ + ["n", "e", "s", "w", "nw", "ne", "se", "sw"], + ["e", "w"], + ["n", "s"], + [] + ], + Ls = (Vt.format = fn.timeFormat), + js = Ls.utc, + Rs = js("%Y-%m-%dT%H:%M:%S.%LZ"); + function Is(e) { + return e.toISOString(); + } + function Vs(e, t, n) { + function r(t) { + return e(t); + } + function i(e, n) { + var r = (e[1] - e[0]) / n, + i = a.bisect(Ds, r); + return i == Ds.length + ? [ + t.year, + To( + e.map(function(e) { + return e / 31536e6; + }), + n + )[2] + ] + : i + ? t[r / Ds[i - 1] < Ds[i] / r ? i - 1 : i] + : [Bs, To(e, n)[2]]; + } + return ( + (r.invert = function(t) { + return Fs(e.invert(t)); + }), + (r.domain = function(t) { + return arguments.length ? (e.domain(t), r) : e.domain().map(Fs); + }), + (r.nice = function(e, t) { + var n = r.domain(), + a = go(n), + o = null == e ? i(a, 10) : "number" === typeof e && i(a, e); + function s(n) { + return !isNaN(n) && !e.range(n, Fs(+n + 1), t).length; + } + return ( + o && ((e = o[0]), (t = o[1])), + r.domain( + yo( + n, + t > 1 + ? { + floor: function(t) { + for (; s((t = e.floor(t))); ) t = Fs(t - 1); + return t; + }, + ceil: function(t) { + for (; s((t = e.ceil(t))); ) t = Fs(+t + 1); + return t; + } + } + : e + ) + ) + ); + }), + (r.ticks = function(e, t) { + var n = go(r.domain()), + a = + null == e + ? i(n, 10) + : "number" === typeof e + ? i(n, e) + : !e.range && [{ range: e }, t]; + return ( + a && ((e = a[0]), (t = a[1])), + e.range(n[0], Fs(+n[1] + 1), t < 1 ? 1 : t) + ); + }), + (r.tickFormat = function() { + return n; + }), + (r.copy = function() { + return Vs(e.copy(), t, n); + }), + wo(r, e) + ); + } + function Fs(e) { + return new Date(e); + } + (Ls.iso = + Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") + ? Is + : Rs), + (Is.parse = function(e) { + var t = new Date(e); + return isNaN(t) ? null : t; + }), + (Is.toString = Rs.toString), + (Vt.second = zt( + function(e) { + return new Ft(1e3 * Math.floor(e / 1e3)); + }, + function(e, t) { + e.setTime(e.getTime() + 1e3 * Math.floor(t)); + }, + function(e) { + return e.getSeconds(); + } + )), + (Vt.seconds = Vt.second.range), + (Vt.seconds.utc = Vt.second.utc.range), + (Vt.minute = zt( + function(e) { + return new Ft(6e4 * Math.floor(e / 6e4)); + }, + function(e, t) { + e.setTime(e.getTime() + 6e4 * Math.floor(t)); + }, + function(e) { + return e.getMinutes(); + } + )), + (Vt.minutes = Vt.minute.range), + (Vt.minutes.utc = Vt.minute.utc.range), + (Vt.hour = zt( + function(e) { + var t = e.getTimezoneOffset() / 60; + return new Ft(36e5 * (Math.floor(e / 36e5 - t) + t)); + }, + function(e, t) { + e.setTime(e.getTime() + 36e5 * Math.floor(t)); + }, + function(e) { + return e.getHours(); + } + )), + (Vt.hours = Vt.hour.range), + (Vt.hours.utc = Vt.hour.utc.range), + (Vt.month = zt( + function(e) { + return (e = Vt.day(e)).setDate(1), e; + }, + function(e, t) { + e.setMonth(e.getMonth() + t); + }, + function(e) { + return e.getMonth(); + } + )), + (Vt.months = Vt.month.range), + (Vt.months.utc = Vt.month.utc.range); + var Ds = [ + 1e3, + 5e3, + 15e3, + 3e4, + 6e4, + 3e5, + 9e5, + 18e5, + 36e5, + 108e5, + 216e5, + 432e5, + 864e5, + 1728e5, + 6048e5, + 2592e6, + 7776e6, + 31536e6 + ], + Gs = [ + [Vt.second, 1], + [Vt.second, 5], + [Vt.second, 15], + [Vt.second, 30], + [Vt.minute, 1], + [Vt.minute, 5], + [Vt.minute, 15], + [Vt.minute, 30], + [Vt.hour, 1], + [Vt.hour, 3], + [Vt.hour, 6], + [Vt.hour, 12], + [Vt.day, 1], + [Vt.day, 2], + [Vt.week, 1], + [Vt.month, 1], + [Vt.month, 3], + [Vt.year, 1] + ], + zs = Ls.multi([ + [ + ".%L", + function(e) { + return e.getMilliseconds(); + } + ], + [ + ":%S", + function(e) { + return e.getSeconds(); + } + ], + [ + "%I:%M", + function(e) { + return e.getMinutes(); + } + ], + [ + "%I %p", + function(e) { + return e.getHours(); + } + ], + [ + "%a %d", + function(e) { + return e.getDay() && 1 != e.getDate(); + } + ], + [ + "%b %d", + function(e) { + return 1 != e.getDate(); + } + ], + [ + "%B", + function(e) { + return e.getMonth(); + } + ], + ["%Y", Kn] + ]), + Bs = { + range: function(e, t, n) { + return a.range(Math.ceil(e / n) * n, +t, n).map(Fs); + }, + floor: R, + ceil: R + }; + (Gs.year = Vt.year), + (Vt.scale = function() { + return Vs(a.scale.linear(), Gs, zs); + }); + var Hs = Gs.map(function(e) { + return [e[0].utc, e[1]]; + }), + Us = js.multi([ + [ + ".%L", + function(e) { + return e.getUTCMilliseconds(); + } + ], + [ + ":%S", + function(e) { + return e.getUTCSeconds(); + } + ], + [ + "%I:%M", + function(e) { + return e.getUTCMinutes(); + } + ], + [ + "%I %p", + function(e) { + return e.getUTCHours(); + } + ], + [ + "%a %d", + function(e) { + return e.getUTCDay() && 1 != e.getUTCDate(); + } + ], + [ + "%b %d", + function(e) { + return 1 != e.getUTCDate(); + } + ], + [ + "%B", + function(e) { + return e.getUTCMonth(); + } + ], + ["%Y", Kn] + ]); + function Xs(e) { + return JSON.parse(e.responseText); + } + function Ys(e) { + var t = u.createRange(); + return ( + t.selectNode(u.body), t.createContextualFragment(e.responseText) + ); + } + (Hs.year = Vt.year.utc), + (Vt.scale.utc = function() { + return Vs(a.scale.linear(), Hs, Us); + }), + (a.text = _t(function(e) { + return e.responseText; + })), + (a.json = function(e, t) { + return wt(e, "application/json", Xs, t); + }), + (a.html = function(e, t) { + return wt(e, "text/html", Ys, t); + }), + (a.xml = _t(function(e) { + return e.responseXML; + })), + (this.d3 = a), + void 0 === + (i = "function" === typeof (r = a) ? r.call(t, n, t, e) : r) || + (e.exports = i); + })(); + }, + function(e, t, n) { + "use strict"; + var r = n(10), + i = n(21), + a = n(48), + o = n(27); + function s(e) { + var t = new a(e), + n = i(a.prototype.request, t); + return r.extend(n, a.prototype, t), r.extend(n, t), n; + } + var u = s(n(24)); + (u.Axios = a), + (u.create = function(e) { + return s(o(u.defaults, e)); + }), + (u.Cancel = n(28)), + (u.CancelToken = n(62)), + (u.isCancel = n(23)), + (u.all = function(e) { + return Promise.all(e); + }), + (u.spread = n(63)), + (e.exports = u), + (e.exports.default = u); + }, + function(e, t, n) { + "use strict"; + var r = n(10), + i = n(22), + a = n(49), + o = n(50), + s = n(27); + function u(e) { + (this.defaults = e), + (this.interceptors = { request: new a(), response: new a() }); + } + (u.prototype.request = function(e) { + "string" === typeof e + ? ((e = arguments[1] || {}).url = arguments[0]) + : (e = e || {}), + (e = s(this.defaults, e)).method + ? (e.method = e.method.toLowerCase()) + : this.defaults.method + ? (e.method = this.defaults.method.toLowerCase()) + : (e.method = "get"); + var t = [o, void 0], + n = Promise.resolve(e); + for ( + this.interceptors.request.forEach(function(e) { + t.unshift(e.fulfilled, e.rejected); + }), + this.interceptors.response.forEach(function(e) { + t.push(e.fulfilled, e.rejected); + }); + t.length; + + ) + n = n.then(t.shift(), t.shift()); + return n; + }), + (u.prototype.getUri = function(e) { + return ( + (e = s(this.defaults, e)), + i(e.url, e.params, e.paramsSerializer).replace(/^\?/, "") + ); + }), + r.forEach(["delete", "get", "head", "options"], function(e) { + u.prototype[e] = function(t, n) { + return this.request(r.merge(n || {}, { method: e, url: t })); + }; + }), + r.forEach(["post", "put", "patch"], function(e) { + u.prototype[e] = function(t, n, i) { + return this.request( + r.merge(i || {}, { method: e, url: t, data: n }) + ); + }; + }), + (e.exports = u); + }, + function(e, t, n) { + "use strict"; + var r = n(10); + function i() { + this.handlers = []; + } + (i.prototype.use = function(e, t) { + return ( + this.handlers.push({ fulfilled: e, rejected: t }), + this.handlers.length - 1 + ); + }), + (i.prototype.eject = function(e) { + this.handlers[e] && (this.handlers[e] = null); + }), + (i.prototype.forEach = function(e) { + r.forEach(this.handlers, function(t) { + null !== t && e(t); + }); + }), + (e.exports = i); + }, + function(e, t, n) { + "use strict"; + var r = n(10), + i = n(51), + a = n(23), + o = n(24); + function s(e) { + e.cancelToken && e.cancelToken.throwIfRequested(); + } + e.exports = function(e) { + return ( + s(e), + (e.headers = e.headers || {}), + (e.data = i(e.data, e.headers, e.transformRequest)), + (e.headers = r.merge( + e.headers.common || {}, + e.headers[e.method] || {}, + e.headers + )), + r.forEach( + ["delete", "get", "head", "post", "put", "patch", "common"], + function(t) { + delete e.headers[t]; + } + ), + (e.adapter || o.adapter)(e).then( + function(t) { + return ( + s(e), (t.data = i(t.data, t.headers, e.transformResponse)), t + ); + }, + function(t) { + return ( + a(t) || + (s(e), + t && + t.response && + (t.response.data = i( + t.response.data, + t.response.headers, + e.transformResponse + ))), + Promise.reject(t) + ); + } + ) + ); + }; + }, + function(e, t, n) { + "use strict"; + var r = n(10); + e.exports = function(e, t, n) { + return ( + r.forEach(n, function(n) { + e = n(e, t); + }), + e + ); + }; + }, + function(e, t) { + var n, + r, + i = (e.exports = {}); + function a() { + throw new Error("setTimeout has not been defined"); + } + function o() { + throw new Error("clearTimeout has not been defined"); + } + function s(e) { + if (n === setTimeout) return setTimeout(e, 0); + if ((n === a || !n) && setTimeout) + return (n = setTimeout), setTimeout(e, 0); + try { + return n(e, 0); + } catch (t) { + try { + return n.call(null, e, 0); + } catch (t) { + return n.call(this, e, 0); + } + } + } + !(function() { + try { + n = "function" === typeof setTimeout ? setTimeout : a; + } catch (e) { + n = a; + } + try { + r = "function" === typeof clearTimeout ? clearTimeout : o; + } catch (e) { + r = o; + } + })(); + var u, + l = [], + c = !1, + d = -1; + function f() { + c && + u && + ((c = !1), u.length ? (l = u.concat(l)) : (d = -1), l.length && h()); + } + function h() { + if (!c) { + var e = s(f); + c = !0; + for (var t = l.length; t; ) { + for (u = l, l = []; ++d < t; ) u && u[d].run(); + (d = -1), (t = l.length); + } + (u = null), + (c = !1), + (function(e) { + if (r === clearTimeout) return clearTimeout(e); + if ((r === o || !r) && clearTimeout) + return (r = clearTimeout), clearTimeout(e); + try { + r(e); + } catch (t) { + try { + return r.call(null, e); + } catch (t) { + return r.call(this, e); + } + } + })(e); + } + } + function p(e, t) { + (this.fun = e), (this.array = t); + } + function g() {} + (i.nextTick = function(e) { + var t = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; + l.push(new p(e, t)), 1 !== l.length || c || s(h); + }), + (p.prototype.run = function() { + this.fun.apply(null, this.array); + }), + (i.title = "browser"), + (i.browser = !0), + (i.env = {}), + (i.argv = []), + (i.version = ""), + (i.versions = {}), + (i.on = g), + (i.addListener = g), + (i.once = g), + (i.off = g), + (i.removeListener = g), + (i.removeAllListeners = g), + (i.emit = g), + (i.prependListener = g), + (i.prependOnceListener = g), + (i.listeners = function(e) { + return []; + }), + (i.binding = function(e) { + throw new Error("process.binding is not supported"); + }), + (i.cwd = function() { + return "/"; + }), + (i.chdir = function(e) { + throw new Error("process.chdir is not supported"); + }), + (i.umask = function() { + return 0; + }); + }, + function(e, t, n) { + "use strict"; + var r = n(10); + e.exports = function(e, t) { + r.forEach(e, function(n, r) { + r !== t && + r.toUpperCase() === t.toUpperCase() && + ((e[t] = n), delete e[r]); + }); + }; + }, + function(e, t, n) { + "use strict"; + var r = n(26); + e.exports = function(e, t, n) { + var i = n.config.validateStatus; + !i || i(n.status) + ? e(n) + : t( + r( + "Request failed with status code " + n.status, + n.config, + null, + n.request, + n + ) + ); + }; + }, + function(e, t, n) { + "use strict"; + e.exports = function(e, t, n, r, i) { + return ( + (e.config = t), + n && (e.code = n), + (e.request = r), + (e.response = i), + (e.isAxiosError = !0), + (e.toJSON = function() { + return { + message: this.message, + name: this.name, + description: this.description, + number: this.number, + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + config: this.config, + code: this.code + }; + }), + e + ); + }; + }, + function(e, t, n) { + "use strict"; + var r = n(57), + i = n(58); + e.exports = function(e, t) { + return e && !r(t) ? i(e, t) : t; + }; + }, + function(e, t, n) { + "use strict"; + e.exports = function(e) { + return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e); + }; + }, + function(e, t, n) { + "use strict"; + e.exports = function(e, t) { + return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e; + }; + }, + function(e, t, n) { + "use strict"; + var r = n(10), + i = [ + "age", + "authorization", + "content-length", + "content-type", + "etag", + "expires", + "from", + "host", + "if-modified-since", + "if-unmodified-since", + "last-modified", + "location", + "max-forwards", + "proxy-authorization", + "referer", + "retry-after", + "user-agent" + ]; + e.exports = function(e) { + var t, + n, + a, + o = {}; + return e + ? (r.forEach(e.split("\n"), function(e) { + if ( + ((a = e.indexOf(":")), + (t = r.trim(e.substr(0, a)).toLowerCase()), + (n = r.trim(e.substr(a + 1))), + t) + ) { + if (o[t] && i.indexOf(t) >= 0) return; + o[t] = + "set-cookie" === t + ? (o[t] ? o[t] : []).concat([n]) + : o[t] + ? o[t] + ", " + n + : n; + } + }), + o) + : o; + }; + }, + function(e, t, n) { + "use strict"; + var r = n(10); + e.exports = r.isStandardBrowserEnv() + ? (function() { + var e, + t = /(msie|trident)/i.test(navigator.userAgent), + n = document.createElement("a"); + function i(e) { + var r = e; + return ( + t && (n.setAttribute("href", r), (r = n.href)), + n.setAttribute("href", r), + { + href: n.href, + protocol: n.protocol ? n.protocol.replace(/:$/, "") : "", + host: n.host, + search: n.search ? n.search.replace(/^\?/, "") : "", + hash: n.hash ? n.hash.replace(/^#/, "") : "", + hostname: n.hostname, + port: n.port, + pathname: + "/" === n.pathname.charAt(0) ? n.pathname : "/" + n.pathname + } + ); + } + return ( + (e = i(window.location.href)), + function(t) { + var n = r.isString(t) ? i(t) : t; + return n.protocol === e.protocol && n.host === e.host; + } + ); + })() + : function() { + return !0; + }; + }, + function(e, t, n) { + "use strict"; + var r = n(10); + e.exports = r.isStandardBrowserEnv() + ? { + write: function(e, t, n, i, a, o) { + var s = []; + s.push(e + "=" + encodeURIComponent(t)), + r.isNumber(n) && s.push("expires=" + new Date(n).toGMTString()), + r.isString(i) && s.push("path=" + i), + r.isString(a) && s.push("domain=" + a), + !0 === o && s.push("secure"), + (document.cookie = s.join("; ")); + }, + read: function(e) { + var t = document.cookie.match( + new RegExp("(^|;\\s*)(" + e + ")=([^;]*)") + ); + return t ? decodeURIComponent(t[3]) : null; + }, + remove: function(e) { + this.write(e, "", Date.now() - 864e5); + } + } + : { + write: function() {}, + read: function() { + return null; + }, + remove: function() {} + }; + }, + function(e, t, n) { + "use strict"; + var r = n(28); + function i(e) { + if ("function" !== typeof e) + throw new TypeError("executor must be a function."); + var t; + this.promise = new Promise(function(e) { + t = e; + }); + var n = this; + e(function(e) { + n.reason || ((n.reason = new r(e)), t(n.reason)); + }); + } + (i.prototype.throwIfRequested = function() { + if (this.reason) throw this.reason; + }), + (i.source = function() { + var e; + return { + token: new i(function(t) { + e = t; + }), + cancel: e + }; + }), + (e.exports = i); + }, + function(e, t, n) { + "use strict"; + e.exports = function(e) { + return function(t) { + return e.apply(null, t); + }; + }; + }, + function(e, t, n) {}, + , + , + , + , + function(e, t, n) { + "use strict"; + var r = n(31), + i = n.n(r), + a = n(0), + o = n.n(a), + s = n(1), + u = n.n(s), + l = n(13), + c = n(11), + d = n.n(c), + f = n(9), + h = n.n(f), + p = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }; + function g(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || ("object" !== typeof t && "function" !== typeof t) ? e : t; + } + var m = (function(e) { + function t() { + var n, r; + !(function(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = g(this, e.call.apply(e, [this].concat(a)))), + (r.state = { + match: r.computeMatch(r.props.history.location.pathname) + }), + g(r, n) + ); + } + return ( + (function(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + })(t, e), + (t.prototype.getChildContext = function() { + return { + router: p({}, this.context.router, { + history: this.props.history, + route: { + location: this.props.history.location, + match: this.state.match + } + }) + }; + }), + (t.prototype.computeMatch = function(e) { + return { path: "/", url: "/", params: {}, isExact: "/" === e }; + }), + (t.prototype.componentWillMount = function() { + var e = this, + t = this.props, + n = t.children, + r = t.history; + h()( + null == n || 1 === o.a.Children.count(n), + "A may have only one child element" + ), + (this.unlisten = r.listen(function() { + e.setState({ match: e.computeMatch(r.location.pathname) }); + })); + }), + (t.prototype.componentWillReceiveProps = function(e) { + d()( + this.props.history === e.history, + "You cannot change " + ); + }), + (t.prototype.componentWillUnmount = function() { + this.unlisten(); + }), + (t.prototype.render = function() { + var e = this.props.children; + return e ? o.a.Children.only(e) : null; + }), + t + ); + })(o.a.Component); + (m.propTypes = { history: u.a.object.isRequired, children: u.a.node }), + (m.contextTypes = { router: u.a.object }), + (m.childContextTypes = { router: u.a.object.isRequired }); + var v = m; + function y(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || ("object" !== typeof t && "function" !== typeof t) ? e : t; + } + var x = (function(e) { + function t() { + var n, r; + !(function(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = y(this, e.call.apply(e, [this].concat(a)))), + (r.history = Object(l.a)(r.props)), + y(r, n) + ); + } + return ( + (function(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + })(t, e), + (t.prototype.componentWillMount = function() { + i()( + !this.props.history, + " ignores the history prop. To use a custom history, use `import { Router }` instead of `import { HashRouter as Router }`." + ); + }), + (t.prototype.render = function() { + return o.a.createElement(v, { + history: this.history, + children: this.props.children + }); + }), + t + ); + })(o.a.Component); + x.propTypes = { + basename: u.a.string, + getUserConfirmation: u.a.func, + hashType: u.a.oneOf(["hashbang", "noslash", "slash"]), + children: u.a.node + }; + t.a = x; + }, + function(e, t, n) { + "use strict"; + var r = n(0), + i = n.n(r), + a = n(1), + o = n.n(a), + s = n(11), + u = n.n(s), + l = n(9), + c = n.n(l), + d = n(13), + f = n(17), + h = n.n(f), + p = {}, + g = 0, + m = function() { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : "/", + t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : {}; + return "/" === e + ? e + : (function(e) { + var t = e, + n = p[t] || (p[t] = {}); + if (n[e]) return n[e]; + var r = h.a.compile(e); + return g < 1e4 && ((n[e] = r), g++), r; + })(e)(t, { pretty: !0 }); + }, + v = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }; + var y = (function(e) { + function t() { + return ( + (function(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (function(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || ("object" !== typeof t && "function" !== typeof t) + ? e + : t; + })(this, e.apply(this, arguments)) + ); + } + return ( + (function(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + })(t, e), + (t.prototype.isStatic = function() { + return this.context.router && this.context.router.staticContext; + }), + (t.prototype.componentWillMount = function() { + c()( + this.context.router, + "You should not use outside a " + ), + this.isStatic() && this.perform(); + }), + (t.prototype.componentDidMount = function() { + this.isStatic() || this.perform(); + }), + (t.prototype.componentDidUpdate = function(e) { + var t = Object(d.b)(e.to), + n = Object(d.b)(this.props.to); + Object(d.c)(t, n) + ? u()( + !1, + "You tried to redirect to the same route you're currently on: \"" + + n.pathname + + n.search + + '"' + ) + : this.perform(); + }), + (t.prototype.computeTo = function(e) { + var t = e.computedMatch, + n = e.to; + return t + ? "string" === typeof n + ? m(n, t.params) + : v({}, n, { pathname: m(n.pathname, t.params) }) + : n; + }), + (t.prototype.perform = function() { + var e = this.context.router.history, + t = this.props.push, + n = this.computeTo(this.props); + t ? e.push(n) : e.replace(n); + }), + (t.prototype.render = function() { + return null; + }), + t + ); + })(i.a.Component); + (y.propTypes = { + computedMatch: o.a.object, + push: o.a.bool, + from: o.a.string, + to: o.a.oneOfType([o.a.string, o.a.object]).isRequired + }), + (y.defaultProps = { push: !1 }), + (y.contextTypes = { + router: o.a.shape({ + history: o.a.shape({ + push: o.a.func.isRequired, + replace: o.a.func.isRequired + }).isRequired, + staticContext: o.a.object + }).isRequired + }); + var x = y; + t.a = x; + }, + function(e, t, n) { + "use strict"; + var r = n(0), + i = n.n(r), + a = n(1), + o = n.n(a), + s = n(29), + u = n.n(s), + l = n(15), + c = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }; + var d = function(e) { + var t = function(t) { + var n = t.wrappedComponentRef, + r = (function(e, t) { + var n = {}; + for (var r in e) + t.indexOf(r) >= 0 || + (Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r])); + return n; + })(t, ["wrappedComponentRef"]); + return i.a.createElement(l.a, { + children: function(t) { + return i.a.createElement(e, c({}, r, t, { ref: n })); + } + }); + }; + return ( + (t.displayName = "withRouter(" + (e.displayName || e.name) + ")"), + (t.WrappedComponent = e), + (t.propTypes = { wrappedComponentRef: o.a.func }), + u()(t, e) + ); + }; + t.a = d; + }, + function(e, t, n) { + "use strict"; + var r = n(0), + i = n.n(r), + a = n(1), + o = n.n(a), + s = n(44), + u = n(9), + l = n.n(u), + c = n(13), + d = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }; + function f(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || ("object" !== typeof t && "function" !== typeof t) ? e : t; + } + var h = function(e) { + return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey); + }, + p = (function(e) { + function t() { + var n, r; + !(function(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t); + for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) + a[o] = arguments[o]; + return ( + (n = r = f(this, e.call.apply(e, [this].concat(a)))), + (r.handleClick = function(e) { + if ( + (r.props.onClick && r.props.onClick(e), + !e.defaultPrevented && + 0 === e.button && + !r.props.target && + !h(e)) + ) { + e.preventDefault(); + var t = r.context.router.history, + n = r.props, + i = n.replace, + a = n.to; + i ? t.replace(a) : t.push(a); + } + }), + f(r, n) + ); + } + return ( + (function(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + })(t, e), + (t.prototype.render = function() { + var e = this.props, + t = (e.replace, e.to), + n = e.innerRef, + r = (function(e, t) { + var n = {}; + for (var r in e) + t.indexOf(r) >= 0 || + (Object.prototype.hasOwnProperty.call(e, r) && + (n[r] = e[r])); + return n; + })(e, ["replace", "to", "innerRef"]); + l()( + this.context.router, + "You should not use outside a " + ), + l()(void 0 !== t, 'You must specify the "to" property'); + var a = this.context.router.history, + o = + "string" === typeof t + ? Object(c.b)(t, null, null, a.location) + : t, + s = a.createHref(o); + return i.a.createElement( + "a", + d({}, r, { onClick: this.handleClick, href: s, ref: n }) + ); + }), + t + ); + })(i.a.Component); + (p.propTypes = { + onClick: o.a.func, + target: o.a.string, + replace: o.a.bool, + to: o.a.oneOfType([o.a.string, o.a.object]).isRequired, + innerRef: o.a.oneOfType([o.a.string, o.a.func]) + }), + (p.defaultProps = { replace: !1 }), + (p.contextTypes = { + router: o.a.shape({ + history: o.a.shape({ + push: o.a.func.isRequired, + replace: o.a.func.isRequired, + createHref: o.a.func.isRequired + }).isRequired + }).isRequired + }); + var g = p, + m = + Object.assign || + function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }, + v = + "function" === typeof Symbol && "symbol" === typeof Symbol.iterator + ? function(e) { + return typeof e; + } + : function(e) { + return e && + "function" === typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + }; + var y = function(e) { + var t = e.to, + n = e.exact, + r = e.strict, + a = e.location, + o = e.activeClassName, + u = e.className, + l = e.activeStyle, + c = e.style, + d = e.isActive, + f = e["aria-current"], + h = (function(e, t) { + var n = {}; + for (var r in e) + t.indexOf(r) >= 0 || + (Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r])); + return n; + })(e, [ + "to", + "exact", + "strict", + "location", + "activeClassName", + "className", + "activeStyle", + "style", + "isActive", + "aria-current" + ]), + p = + "object" === ("undefined" === typeof t ? "undefined" : v(t)) + ? t.pathname + : t, + y = p && p.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); + return i.a.createElement(s.a, { + path: y, + exact: n, + strict: r, + location: a, + children: function(e) { + var n = e.location, + r = e.match, + a = !!(d ? d(r, n) : r); + return i.a.createElement( + g, + m( + { + to: t, + className: a + ? [u, o] + .filter(function(e) { + return e; + }) + .join(" ") + : u, + style: a ? m({}, c, l) : c, + "aria-current": (a && f) || null + }, + h + ) + ); + } + }); + }; + (y.propTypes = { + to: g.propTypes.to, + exact: o.a.bool, + strict: o.a.bool, + location: o.a.object, + activeClassName: o.a.string, + className: o.a.string, + activeStyle: o.a.object, + style: o.a.object, + isActive: o.a.func, + "aria-current": o.a.oneOf([ + "page", + "step", + "location", + "date", + "time", + "true" + ]) + }), + (y.defaultProps = { + activeClassName: "active", + "aria-current": "page" + }); + t.a = y; + }, + function(e, t, n) { + "use strict"; + var r = n(0), + i = n.n(r), + a = n(1), + o = n.n(a), + s = n(11), + u = n.n(s), + l = n(9), + c = n.n(l), + d = n(16); + var f = (function(e) { + function t() { + return ( + (function(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (function(e, t) { + if (!e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return !t || ("object" !== typeof t && "function" !== typeof t) + ? e + : t; + })(this, e.apply(this, arguments)) + ); + } + return ( + (function(e, t) { + if ("function" !== typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function, not " + + typeof t + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + })), + t && + (Object.setPrototypeOf + ? Object.setPrototypeOf(e, t) + : (e.__proto__ = t)); + })(t, e), + (t.prototype.componentWillMount = function() { + c()( + this.context.router, + "You should not use outside a " + ); + }), + (t.prototype.componentWillReceiveProps = function(e) { + u()( + !(e.location && !this.props.location), + ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no "location" prop and then provided one on a subsequent render.' + ), + u()( + !(!e.location && this.props.location), + ' elements should not change from controlled to uncontrolled (or vice versa). You provided a "location" prop initially but omitted it on a subsequent render.' + ); + }), + (t.prototype.render = function() { + var e = this.context.router.route, + t = this.props.children, + n = this.props.location || e.location, + r = void 0, + a = void 0; + return ( + i.a.Children.forEach(t, function(t) { + if (null == r && i.a.isValidElement(t)) { + var o = t.props, + s = o.path, + u = o.exact, + l = o.strict, + c = o.sensitive, + f = o.from, + h = s || f; + (a = t), + (r = Object(d.a)( + n.pathname, + { path: h, exact: u, strict: l, sensitive: c }, + e.match + )); + } + }), + r ? i.a.cloneElement(a, { location: n, computedMatch: r }) : null + ); + }), + t + ); + })(i.a.Component); + (f.contextTypes = { + router: o.a.shape({ route: o.a.object.isRequired }).isRequired + }), + (f.propTypes = { children: o.a.node, location: o.a.object }); + var h = f; + t.a = h; + } + ] +]); diff --git a/onvm_web/web-build/static/js/main.72dfa24e.chunk.js b/onvm_web/web-build/static/js/main.72dfa24e.chunk.js deleted file mode 100644 index 008455549..000000000 --- a/onvm_web/web-build/static/js/main.72dfa24e.chunk.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{23:function(e,t,n){e.exports=n(41)},28:function(e,t,n){},39:function(e,t,n){},41:function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a),r=n(17),l=n.n(r),c=(n(28),n(42)),s=n(46),i=n(34),u=n(43),p=n(5),f=n(6),m=n(8),h=n(7),v=n(9),b=n(44),d=n(45),g=n(2),E=n(11),y={},L={},O=[],C=0,j=null,k=-1;function N(e,t,n){var a={name:e,callback:t,includePastEvents:n,hasBeenCalled:!1};if(n&&j){var o=j;console.log("Catching event subscriber up to all past events.");for(var r=0;r!==k+1;)a.callback(o[r]),++r;a.hasBeenCalled=!0}O.push(a)}function w(e){O=O.filter(function(t){return t.name!==e})}function P(e,t){if(e.lengtht;)e=e.slice(1);return[n].concat(Object(E.a)(e))}function R(e,t){if(e in L?L[e].push(t):L[e]=[t],e in y)return y[e]}function F(e,t,n){e in L&&(0===L[e].filter(function(e){return e!==t}).length&&delete L[e],null!=n&&(y[e]=n))}var S=function(e){function t(){var e,n;Object(p.a)(this,t);for(var a=arguments.length,o=new Array(a),r=0;rt;)e=e.slice(1);return[n].concat(Object(E.a)(e))},n}return Object(v.a)(t,e),Object(f.a)(t,[{key:"componentDidMount",value:function(){console.log("Graph Mount: "+this.props.nfLabel);var e="NF ".concat(this.props.nfLabel.split(" - ")[1]);"Port"===this.props.nfLabel.substring(0,4)&&(e=this.props.nfLabel);var t=R(e,this.dataCallback);if(t){console.log("Graph Restore: "+this.props.nfLabel);var n=Object(x.a)({},this.state.graphData);n.columns=t,this.setState({graphData:n})}}},{key:"componentWillUnmount",value:function(){console.log("Graph Unmount: "+this.props.nfLabel);var e="NF ".concat(this.props.nfLabel.split(" - ")[1]);"Port"===this.props.nfLabel.substring(0,4)&&(e=this.props.nfLabel),F(e,this.dataCallback,this.state.graphData.columns)}},{key:"render",value:function(){var e=this,t=null===this.props.showMoreInfoButton||void 0===this.props.showMoreInfoButton||this.props.showMoreInfoButton,n=this.props.extraContent;return a.createElement(g.c,null,a.createElement(g.c.Header,null,a.createElement(g.c.Title,null,this.props.nfLabel),t&&a.createElement(g.c.Options,null,a.createElement(g.b,{RootComponent:"a",color:"secondary",size:"sm",className:"ml-2",onClick:function(){var t=e.props.history;t?t.push("/nfs/".concat(e.props.nfLabel)):console.error("Failed to go to single NF page")}},"View More Info"))),a.createElement(g.c.Body,null,a.createElement(A.a,{data:this.state.graphData,axis:I,legend:{show:!0},padding:{bottom:0,top:0}}),n))}}]),t}(a.PureComponent),M=function(e){function t(){var e,n;Object(p.a)(this,t);for(var a=arguments.length,o=new Array(a),r=0;r0?a.createElement(g.d.Col,{md:6,xl:4,key:o[0].core},a.createElement(U,{coreLabel:o[0].core,extraContent:a.createElement(W,{history:e,sources:o})})):""}),function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}(t)&&"No Cores have Running NFs!"))}}]),t}(a.PureComponent);var z=function(e){return"Error404"};n(37),n(39);var V=function(e){return a.createElement(c.a,null,a.createElement(S,null,a.createElement(c.a,null,a.createElement(s.a,null,a.createElement(i.a,{exact:!0,path:"/",render:function(){return a.createElement(u.a,{to:{pathname:"/nfs"}})}}),a.createElement(i.a,{exact:!0,path:"/nfs",component:M}),a.createElement(i.a,{exact:!0,path:"/nfs/:nfLabel",component:T}),a.createElement(i.a,{exact:!0,path:"/ports",component:B}),a.createElement(i.a,{exact:!0,path:"/core-mappings",component:X}),a.createElement(i.a,{component:z})))))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));l.a.render(o.a.createElement(o.a.StrictMode,null,o.a.createElement(V,null)),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(e){e.unregister()})}},[[23,2,1]]]); \ No newline at end of file diff --git a/onvm_web/web-build/static/js/main.d6bdc8d0.chunk.js b/onvm_web/web-build/static/js/main.d6bdc8d0.chunk.js new file mode 100644 index 000000000..62028a80b --- /dev/null +++ b/onvm_web/web-build/static/js/main.d6bdc8d0.chunk.js @@ -0,0 +1,1210 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [0], + { + 33: function(e, t, n) { + e.exports = n(68); + }, + 38: function(e, t, n) {}, + 66: function(e, t, n) {}, + 68: function(e, t, n) { + "use strict"; + n.r(t); + var a = n(0), + o = n.n(a), + r = n(19), + l = n.n(r), + c = (n(38), n(69)), + i = n(73), + s = n(44), + u = n(70), + p = n(3), + f = n(4), + h = n(6), + m = n(5), + d = n(7), + b = n(71), + v = n(72), + g = n(2), + E = n(12), + y = {}, + O = {}, + C = [], + L = 0, + j = null, + N = -1; + function k(e, t, n) { + var a = { + name: e, + callback: t, + includePastEvents: n, + hasBeenCalled: !1 + }; + if (n && j) { + var o = j; + console.log("Catching event subscriber up to all past events."); + for (var r = 0; r !== N + 1; ) a.callback(o[r]), ++r; + a.hasBeenCalled = !0; + } + C.push(a); + } + function w(e) { + C = C.filter(function(t) { + return t.name !== e; + }); + } + function F(e, t) { + if (e.length < t) return e; + var n = e[0]; + for (e = e.slice(2); e.length > t; ) e = e.slice(1); + return [n].concat(Object(E.a)(e)); + } + function x(e, t) { + if ((e in O ? O[e].push(t) : (O[e] = [t]), e in y)) return y[e]; + } + function S(e, t, n) { + e in O && + (0 === + O[e].filter(function(e) { + return e !== t; + }).length && delete O[e], + null != n && (y[e] = n)); + } + var P = (function(e) { + function t() { + var e, n; + Object(p.a)(this, t); + for (var a = arguments.length, o = new Array(a), r = 0; r < a; r++) + o[r] = arguments[r]; + return ( + ((n = Object(h.a)( + this, + (e = Object(m.a)(t)).call.apply(e, [this].concat(o)) + )).state = { interval: null }), + n + ); + } + return ( + Object(d.a)(t, e), + Object(f.a)(t, [ + { + key: "dataFetcher", + value: function() { + var e = window.location.hostname; + fetch("http://".concat(e, ":8000/onvm_json_stats.json")) + .then(function(e) { + return e.json(); + }) + .then(function(e) { + return (function(e) { + var t = e.onvm_nf_stats, + n = function(e) { + if (e in O) + O[e].forEach(function(n) { + return n(t[e], L); + }); + else if ( + (console.log( + "No NF Subscriber callback for label: " + e + ), + e in y) + ) { + var n = t[e], + a = y[e]; + a[0].push(L), + (a[0] = F(a[0], 40)), + a[1].push(n.TX), + (a[1] = F(a[1], 40)), + a[2].push(n.RX), + (a[2] = F(a[2], 40)); + } else + console.error( + "No NF Restore state for label: " + e + ); + }; + for (var a in t) n(a); + var o = e.onvm_port_stats, + r = function(e) { + if (e in O) + O[e].forEach(function(t) { + return t(o[e], L); + }); + else if ( + (console.log( + "No NF Subscriber callback for label: " + e + ), + e in y) + ) { + var t = o[e], + n = y[e]; + n[0].push(L), + (n[0] = F(n[0], 40)), + n[1].push(t.TX), + (n[1] = F(n[1], 40)), + n[2].push(t.RX), + (n[2] = F(n[2], 40)); + } else + console.error( + "No NF Restore state for label: " + e + ); + }; + for (var l in o) r(l); + ++L; + })(e); + }) + .catch(function(e) { + return console.error(e); + }), + fetch("http://".concat(e, ":8000/onvm_json_events.json")) + .then(function(e) { + return e.json(); + }) + .then(function(e) { + return (function(e) { + for ( + var t = function() { + var t = e[++N]; + t && + C.forEach(function(e) { + return e.callback(t); + }); + }; + N < e.length - 1; + + ) + t(); + j = e; + })(e); + }) + .catch(function(e) { + return console.error(e); + }); + } + }, + { + key: "componentDidMount", + value: function() { + var e = setInterval(this.dataFetcher, 3e3); + this.setState({ interval: e }); + } + }, + { + key: "componentWillUnmount", + value: function() { + var e = this.state.interval; + e && clearInterval(e); + } + }, + { + key: "render", + value: function() { + var e = this.props.children, + t = { + itemsObjects: [ + { + value: "NF Dashboard", + to: "/nfs", + icon: "home", + LinkComponent: Object(b.a)(v.a) + }, + { + value: "Port Dashboard", + to: "/ports", + icon: "server", + LinkComponent: Object(b.a)(v.a) + }, + { + value: "Core Mappings", + to: "/core-mappings", + icon: "cpu", + LinkComponent: Object(b.a)(v.a) + }, + { + value: "Grafana Page", + to: "/grafana", + icon: "home", + LinkComponent: Object(b.a)(v.a) + }, + { + value: "NF Chain Launch", + to: "/nf-chain", + icon: "ports", + LinkComponent: Object(b.a)(v.a) + } + ] + }; + return a.createElement( + g.f.Wrapper, + { + headerProps: { + href: "/", + alt: "openNetVM", + imageURL: "/onvm-logo.png" + }, + navProps: t, + footerProps: {} + }, + e + ); + } + } + ]), + t + ); + })(a.PureComponent), + _ = n(14), + R = n(30), + D = n.n(R), + A = { + x: { label: { text: "X Axis", position: "outer-center" } }, + y: { label: { text: "Y Axis", position: "outer-middle" } } + }, + M = (function(e) { + function t() { + var e, n; + Object(p.a)(this, t); + for (var a = arguments.length, o = new Array(a), r = 0; r < a; r++) + o[r] = arguments[r]; + return ( + ((n = Object(h.a)( + this, + (e = Object(m.a)(t)).call.apply(e, [this].concat(o)) + )).state = { + graphData: { + xs: { + tx_pps: "".concat(n.props.nfLabel, "x1"), + rx_pps: "".concat(n.props.nfLabel, "x1") + }, + names: { tx_pps: "TX PPS", rx_pps: "RX PPS" }, + empty: { label: { text: "No Data to Display" } }, + columns: [ + ["".concat(n.props.nfLabel, "x1")], + ["tx_pps"], + ["rx_pps"] + ] + } + }), + (n.dataCallback = function(e, t) { + var a = Object(_.a)({}, n.state.graphData), + o = a.columns; + o[0].push(t), + (o[0] = n.trimToSize(o[0], 40)), + o[1].push(e.TX), + (o[1] = n.trimToSize(o[1], 40)), + o[2].push(e.RX), + (o[2] = n.trimToSize(o[2], 40)), + n.setState({ graphData: a }); + }), + (n.trimToSize = function(e, t) { + if (e.length < t) return e; + var n = e[0]; + for (e = e.slice(2); e.length > t; ) e = e.slice(1); + return [n].concat(Object(E.a)(e)); + }), + n + ); + } + return ( + Object(d.a)(t, e), + Object(f.a)(t, [ + { + key: "componentDidMount", + value: function() { + console.log("Graph Mount: " + this.props.nfLabel); + var e = "NF ".concat(this.props.nfLabel.split(" - ")[1]); + "Port" === this.props.nfLabel.substring(0, 4) && + (e = this.props.nfLabel); + var t = x(e, this.dataCallback); + if (t) { + console.log("Graph Restore: " + this.props.nfLabel); + var n = Object(_.a)({}, this.state.graphData); + (n.columns = t), this.setState({ graphData: n }); + } + } + }, + { + key: "componentWillUnmount", + value: function() { + console.log("Graph Unmount: " + this.props.nfLabel); + var e = "NF ".concat(this.props.nfLabel.split(" - ")[1]); + "Port" === this.props.nfLabel.substring(0, 4) && + (e = this.props.nfLabel), + S(e, this.dataCallback, this.state.graphData.columns); + } + }, + { + key: "render", + value: function() { + var e = this, + t = + null === this.props.showMoreInfoButton || + void 0 === this.props.showMoreInfoButton || + this.props.showMoreInfoButton, + n = this.props.extraContent; + return a.createElement( + g.c, + null, + a.createElement( + g.c.Header, + null, + a.createElement(g.c.Title, null, this.props.nfLabel), + t && + a.createElement( + g.c.Options, + null, + a.createElement( + g.b, + { + RootComponent: "a", + color: "secondary", + size: "sm", + className: "ml-2", + onClick: function() { + var t = e.props.history; + t + ? t.push("/nfs/".concat(e.props.nfLabel)) + : console.error( + "Failed to go to single NF page" + ); + } + }, + "View More Info" + ) + ) + ), + a.createElement( + g.c.Body, + null, + a.createElement(D.a, { + data: this.state.graphData, + axis: A, + legend: { show: !0 }, + padding: { bottom: 0, top: 0 } + }), + n + ) + ); + } + } + ]), + t + ); + })(a.PureComponent), + I = (function(e) { + function t() { + var e, n; + Object(p.a)(this, t); + for (var a = arguments.length, o = new Array(a), r = 0; r < a; r++) + o[r] = arguments[r]; + return ( + ((n = Object(h.a)( + this, + (e = Object(m.a)(t)).call.apply(e, [this].concat(o)) + )).state = { nfLabelList: [] }), + (n.eventHandler = function(e) { + var t; + console.log(e), + "NF Ready" === e.message && + ((t = " - ".concat(e.source.instance_id)), + (t = "NF" === e.source.type ? "NF" + t : e.source.type + t), + n.setState(function(e) { + return { + nfLabelList: [t].concat(Object(E.a)(e.nfLabelList)) + }; + })), + "NF Stopping" === e.message && + ((t = " - ".concat(e.source.instance_id)), + (t = "NF" === e.source.type ? "NF" + t : e.source.type + t), + console.log(t), + n.setState(function(e) { + console.log(e.nfLabelList); + var n = Object(E.a)( + e.nfLabelList.filter(function(e) { + return e.split(" - ")[1] !== t.split(" - ")[1]; + }) + ); + return ( + console.log("end: " + e.nfLabelList), { nfLabelList: n } + ); + })); + }), + n + ); + } + return ( + Object(d.a)(t, e), + Object(f.a)(t, [ + { + key: "componentDidMount", + value: function() { + k("NF DASHBOARD PAGE", this.eventHandler, !0); + } + }, + { + key: "componentWillUnmount", + value: function() { + w("NF DASHBOARD PAGE"); + } + }, + { + key: "render", + value: function() { + var e = this.props.history, + t = this.state.nfLabelList; + return a.createElement( + g.e.Content, + null, + a.createElement( + g.d.Row, + null, + t.map(function(t) { + return a.createElement( + g.d.Col, + { md: 6, xl: 4, key: t }, + a.createElement(M, { nfLabel: t, history: e }) + ); + }), + 0 === t.length && "No Running NFS to Display!" + ) + ); + } + } + ]), + t + ); + })(a.PureComponent), + H = (function(e) { + function t() { + var e, n; + Object(p.a)(this, t); + for (var a = arguments.length, o = new Array(a), r = 0; r < a; r++) + o[r] = arguments[r]; + return ( + ((n = Object(h.a)( + this, + (e = Object(m.a)(t)).call.apply(e, [this].concat(o)) + )).state = { portList: [] }), + (n.eventHandler = function(e) { + if ( + e.message.includes("Port ") && + e.message.includes(" initialized") + ) { + var t = e.message.replace(" initialized", ""); + n.setState(function(e) { + return { portList: [t].concat(Object(E.a)(e.portList)) }; + }); + } + }), + n + ); + } + return ( + Object(d.a)(t, e), + Object(f.a)(t, [ + { + key: "componentDidMount", + value: function() { + k("PORT DASHBOARD PAGE", this.eventHandler, !0); + } + }, + { + key: "componentWillUnmount", + value: function() { + w("PORT DASHBOARD PAGE"); + } + }, + { + key: "render", + value: function() { + var e = this.state.portList, + t = this.props.history; + return a.createElement( + g.e.Content, + null, + a.createElement( + g.d.Row, + null, + e.map(function(e) { + return a.createElement( + g.d.Col, + { md: 6, xl: 4, key: e }, + a.createElement(M, { + nfLabel: e, + history: t, + showMoreInfoButton: !1 + }) + ); + }), + 0 === e.length && "No ports in use!" + ) + ); + } + } + ]), + t + ); + })(a.PureComponent); + var T = function(e) { + return a.createElement( + g.g, + { + cards: !0, + striped: !0, + responsive: !0, + className: "table-vcenter" + }, + a.createElement( + g.g.Header, + null, + a.createElement( + g.g.Row, + null, + a.createElement(g.g.ColHeader, null, "Event"), + a.createElement(g.g.ColHeader, null, "Timestamp") + ) + ), + a.createElement( + g.g.Body, + null, + e.events.map(function(e) { + return a.createElement( + g.g.Row, + null, + a.createElement(g.g.Col, null, e.message), + a.createElement(g.g.Col, null, e.timestamp) + ); + }) + ) + ); + }, + B = (function(e) { + function t() { + var e, n; + Object(p.a)(this, t); + for (var a = arguments.length, o = new Array(a), r = 0; r < a; r++) + o[r] = arguments[r]; + return ( + ((n = Object(h.a)( + this, + (e = Object(m.a)(t)).call.apply(e, [this].concat(o)) + )).state = { instanceId: null, serviceId: null, core: null }), + (n.dataCallback = function(e, t) { + n.setState({ + instanceId: e.instance_id, + serviceId: e.service_id, + core: e.core + }); + }), + n + ); + } + return ( + Object(d.a)(t, e), + Object(f.a)(t, [ + { + key: "componentDidMount", + value: function() { + console.log("NF Info Mount: " + this.props.nfLabel), + x( + "NF ".concat(this.props.nfLabel.split(" - ")[1]), + this.dataCallback + ); + } + }, + { + key: "componentWillUnmount", + value: function() { + console.log("NF Info Unmount: " + this.props.nfLabel), + S( + "NF ".concat(this.props.nfLabel.split(" - ")[1]), + this.dataCallback, + null + ); + } + }, + { + key: "render", + value: function() { + var e = this.state, + t = e.serviceId, + n = e.instanceId, + o = e.core; + return a.createElement( + g.c, + { title: "NF Info" }, + a.createElement( + g.g, + { cards: !0 }, + a.createElement( + g.g.Row, + null, + a.createElement(g.g.Col, null, "Service ID"), + a.createElement( + g.g.Col, + { alignContent: "right" }, + a.createElement(g.a, { color: "default" }, t) + ) + ), + a.createElement( + g.g.Row, + null, + a.createElement(g.g.Col, null, "Instance ID"), + a.createElement( + g.g.Col, + { alignContent: "right" }, + a.createElement(g.a, { color: "default" }, n) + ) + ), + a.createElement( + g.g.Row, + null, + a.createElement(g.g.Col, null, "Core"), + a.createElement( + g.g.Col, + { alignContent: "right" }, + a.createElement(g.a, { color: "default" }, o) + ) + ) + ) + ); + } + } + ]), + t + ); + })(a.PureComponent), + G = (function(e) { + function t() { + var e, n; + Object(p.a)(this, t); + for (var a = arguments.length, o = new Array(a), r = 0; r < a; r++) + o[r] = arguments[r]; + return ( + ((n = Object(h.a)( + this, + (e = Object(m.a)(t)).call.apply(e, [this].concat(o)) + )).state = { + nfLabel: n.props.match.params.nfLabel, + eventList: [] + }), + (n.eventHandler = function(e) { + var t = parseInt(n.state.nfLabel.split(" - ")[1]), + a = e.source; + a.type && + "MGR" !== a.type && + e.source.instance_id === t && + n.setState(function(t) { + return { eventList: Object(E.a)(t.eventList).concat([e]) }; + }); + }), + n + ); + } + return ( + Object(d.a)(t, e), + Object(f.a)(t, [ + { + key: "componentDidMount", + value: function() { + k( + "SINGLE NF PAGE ".concat(this.state.nfLabel), + this.eventHandler, + !0 + ); + } + }, + { + key: "componentWillUnmount", + value: function() { + w("SINGLE NF PAGE ".concat(this.state.nfLabel)); + } + }, + { + key: "render", + value: function() { + return a.createElement( + g.e.Content, + null, + a.createElement( + g.d.Row, + null, + a.createElement( + g.d.Col, + { md: 8, xl: 8 }, + a.createElement(M, { + nfLabel: this.state.nfLabel, + showMoreInfoButton: !1, + extraContent: a.createElement(T, { + events: this.state.eventList + }) + }) + ), + a.createElement( + g.d.Col, + { sm: 4, lg: 4 }, + a.createElement(B, { nfLabel: this.state.nfLabel }) + ) + ) + ); + } + } + ]), + t + ); + })(a.PureComponent); + var U = function(e) { + return a.createElement( + g.c, + null, + a.createElement( + g.c.Header, + null, + a.createElement(g.c.Title, null, "Core ", e.coreLabel) + ), + a.createElement(g.c.Body, null, e.extraContent) + ); + }; + var W = function(e) { + return a.createElement( + g.g, + { + cards: !0, + striped: !0, + responsive: !0, + className: "table-vcenter" + }, + a.createElement( + g.g.Body, + null, + e.sources.map(function(t) { + return t.type + ? a.createElement( + g.g.Row, + null, + a.createElement( + g.g.Col, + null, + "".concat(t.type, " - ").concat(t.instance_id) + ), + a.createElement( + g.b, + { + RootComponent: "a", + color: "secondary", + size: "sm", + className: "ml-2", + onClick: function() { + var n = e.history; + n + ? n.push( + "/nfs/" + .concat(t.type, " - ") + .concat(t.instance_id) + ) + : console.error("Failed to go to single NF page"); + } + }, + "View More Info" + ) + ) + : a.createElement( + g.g.Row, + null, + a.createElement( + g.g.Col, + null, + "".concat(t.msg.split(" ")[0], " Thread") + ) + ); + }) + ) + ); + }, + X = (function(e) { + function t() { + var e, n; + Object(p.a)(this, t); + for (var a = arguments.length, o = new Array(a), r = 0; r < a; r++) + o[r] = arguments[r]; + return ( + ((n = Object(h.a)( + this, + (e = Object(m.a)(t)).call.apply(e, [this].concat(o)) + )).state = { coreList: {} }), + (n.eventHandler = function(e) { + var t = e.source; + ("NF Ready" === e.message || e.message.includes("Start")) && + n.setState(function(n) { + var a = Object(_.a)({}, n.coreList), + o = t.core; + if (((t.msg = e.message), o in a && a[o].length)) { + var r = t.instance_id; + r && r !== a[o][0].instance_id && a[o].unshift(t); + } else a[o] = [t]; + return { coreList: a }; + }), + ("NF Stopping" === e.message || e.message.includes("End")) && + n.setState(function(t) { + var n, + a = Object(_.a)({}, t.coreList), + o = e.source.instance_id, + r = !1; + for (n in a) + if ( + a.hasOwnProperty(n) && + ((a[n] = a[n].filter(function(e) { + return !(r = e.instance_id === o); + })), + r) + ) + break; + return ( + r || console.log("Nothing removed from list!"), + 0 === a[n].length && delete a[n], + { coreList: a } + ); + }); + }), + n + ); + } + return ( + Object(d.a)(t, e), + Object(f.a)(t, [ + { + key: "componentDidMount", + value: function() { + k("CORE MAPPINGS PAGE", this.eventHandler, !0); + } + }, + { + key: "componentWillUnmount", + value: function() { + w("CORE MAPPINGS PAGE"); + } + }, + { + key: "render", + value: function() { + var e = this.props.history, + t = this.state.coreList; + return a.createElement( + g.e.Content, + null, + a.createElement( + g.d.Row, + null, + Object.keys(t).map(function(n) { + var o = t[n]; + return o && o.length > 0 + ? a.createElement( + g.d.Col, + { md: 6, xl: 4, key: o[0].core }, + a.createElement(U, { + coreLabel: o[0].core, + extraContent: a.createElement(W, { + history: e, + sources: o + }) + }) + ) + : ""; + }), + (function(e) { + for (var t in e) if (e.hasOwnProperty(t)) return !1; + return !0; + })(t) && "No Cores have Running NFs!" + ) + ); + } + } + ]), + t + ); + })(a.PureComponent); + var z = function(e) { + return "Error404"; + }, + V = window.location.hostname, + q = (function(e) { + function t(e) { + var n; + return ( + Object(p.a)(this, t), + ((n = Object(h.a)( + this, + Object(m.a)(t).call(this) + )).state = Object(_.a)({}, e)), + n + ); + } + return ( + Object(d.a)(t, e), + Object(f.a)(t, [ + { + key: "componentWillMount", + value: function() { + window.open("http://".concat(V, ":3000")); + } + }, + { + key: "render", + value: function() { + return a.createElement("section", null, "..."); + } + } + ]), + t + ); + })(a.Component), + J = n(18), + Y = n.n(J), + $ = window.location.hostname, + K = (function(e) { + function t() { + var e, n; + Object(p.a)(this, t); + for (var a = arguments.length, o = new Array(a), r = 0; r < a; r++) + o[r] = arguments[r]; + return ( + ((n = Object(h.a)( + this, + (e = Object(m.a)(t)).call.apply(e, [this].concat(o)) + )).nf_chain_list = []), + (n.nf_chain_counter = 0), + (n.state = { selectedFile: null }), + (n.onFileChange = function(e) { + n.setState({ selectedFile: e.target.files[0], launch: 0 }); + }), + (n.OnStopHandler = function(e) { + (n.state = { chain_id: 0 }), + Y.a + .post("http://".concat($, ":8000/stop-nf"), n.state) + .then(function(e) { + console.log(e), + alert( + "Post request succeeded. Status: " + e.statusText + ); + }) + .catch(function(e) { + console.log(e), alert(e); + }), + n.setState({ launch: 0 }); + }), + (n.onFileUpload = function() { + var e = new FormData(); + e.append( + "configFile", + n.state.selectedFile, + n.state.selectedFile.name + ); + console.log(n.state.selectedFile), + Y.a + .post("http://".concat($, ":8000/upload-file"), e, { + headers: { "Content-Type": "multipart/form-data" } + }) + .then(function(e) { + console.log(e), + alert( + "Post request succeeded. Status: " + e.statusText + ); + }) + .catch(function(e) { + console.log(e), alert(e); + }); + }), + (n.onLaunchChain = function() { + Y.a + .post("http://".concat($, ":8000/start-nf"), n.state) + .then(function(e) { + console.log(e), + (n.nf_chain_counter += 1), + n.nf_chain_list.push(n.nf_chain_counter), + alert("Post request succeeded. Status: " + e.statusText); + }) + .catch(function(e) { + console.log(e), alert(e); + }), + n.setState({ launch: 1 }); + }), + n + ); + } + return ( + Object(d.a)(t, e), + Object(f.a)(t, [ + { + key: "render", + value: function() { + return o.a.createElement( + g.e.Content, + null, + o.a.createElement( + "div", + { style: { marginLeft: "50px" } }, + o.a.createElement("br", null), + o.a.createElement( + "h1", + null, + "Network Function Chain Deployment" + ), + o.a.createElement( + "h4", + null, + "Upload a JSON Configuration File to Launch a Chain of NFs" + ), + o.a.createElement( + "p", + null, + "Ensure your ONVM manager is running before uploading and launching your chain of NFs. Navigate to the various dashboards on ONVM web to observe NF behavior.", + o.a.createElement("br", null), + "Output from each NF will be written to the directory specified in your file or to a default timestamped directory." + ), + o.a.createElement( + "p", + null, + "Follow the", + " ", + o.a.createElement( + "a", + { + href: + "https://github.com/catherinemeadows/openNetVM/blob/configScript/docs/NF_Dev.md" + }, + "documentation" + ), + " ", + "in the ONVM repository to learn more about proper formatting for your config file. See an", + " ", + o.a.createElement( + "a", + { + href: + "https://github.com/catherinemeadows/openNetVM/blob/configScript/examples/example_chain.json" + }, + "example" + ), + " ", + "config file." + ), + o.a.createElement( + "div", + null, + o.a.createElement("input", { + type: "file", + onChange: this.onFileChange + }), + o.a.createElement( + "button", + { onClick: this.onFileUpload }, + "Upload" + ), + o.a.createElement("br", null), + o.a.createElement("br", null), + o.a.createElement( + "button", + { + onClick: this.onLaunchChain, + style: { + backgroundColor: "#48cf7c", + borderRadius: "4px", + border: "none", + padding: "14px 28px" + } + }, + "Launch NF Chain" + ), + o.a.createElement( + "button", + { + onClick: this.OnStopHandler, + style: { + margin: "5px", + backgroundColor: "#db4d5b", + borderRadius: "4px", + border: "none", + padding: "14px 28px" + } + }, + "Terminate" + ) + ) + ) + ); + } + } + ]), + t + ); + })(a.Component); + n(64), n(66); + var Q = function(e) { + return a.createElement( + c.a, + null, + a.createElement( + P, + null, + a.createElement( + c.a, + null, + a.createElement( + i.a, + null, + a.createElement(s.a, { + exact: !0, + path: "/", + render: function() { + return a.createElement(u.a, { to: { pathname: "/nfs" } }); + } + }), + a.createElement(s.a, { exact: !0, path: "/nfs", component: I }), + a.createElement(s.a, { + exact: !0, + path: "/nfs/:nfLabel", + component: G + }), + a.createElement(s.a, { + exact: !0, + path: "/ports", + component: H + }), + a.createElement(s.a, { + exact: !0, + path: "/core-mappings", + component: X + }), + a.createElement(s.a, { + exact: !0, + path: "/grafana", + component: q + }), + a.createElement(s.a, { + exact: !0, + path: "/nf-chain", + component: K + }), + a.createElement(s.a, { component: z }) + ) + ) + ) + ); + }; + Boolean( + "localhost" === window.location.hostname || + "[::1]" === window.location.hostname || + window.location.hostname.match( + /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ + ) + ); + l.a.render( + o.a.createElement(o.a.StrictMode, null, o.a.createElement(Q, null)), + document.getElementById("root") + ), + "serviceWorker" in navigator && + navigator.serviceWorker.ready.then(function(e) { + e.unregister(); + }); + } + }, + [[33, 2, 1]] +]);