From 8e7bef13c52af3449952514148c6375280547365 Mon Sep 17 00:00:00 2001 From: ipatini Date: Fri, 11 Aug 2023 09:31:47 +0300 Subject: [PATCH] Merge branch 'ems/prepare-for-nebulous' --- .DS_Store | Bin 0 -> 6148 bytes .gitignore | 15 + README.md | 1 + ems-core/.gitattributes | 9 + ems-core/.gitignore | 10 + ems-core/README-for-TESTING.md | 1328 ++++ ems-core/baguette-client-install/pom.xml | 66 + .../install/ClientInstallationProperties.java | 111 + .../install/ClientInstallationTask.java | 37 + .../client/install/ClientInstaller.java | 147 + .../client/install/ClientInstallerPlugin.java | 23 + .../InstallationContextProcessorPlugin.java | 17 + .../client/install/SshClientInstaller.java | 963 +++ .../baguette/client/install/SshConfig.java | 30 + .../client/install/SshJsClientInstaller.java | 187 + .../baguette/client/install/StreamLogger.java | 166 + .../helper/AbstractInstallationHelper.java | 286 + .../install/helper/InstallationHelper.java | 32 + .../helper/InstallationHelperFactory.java | 63 + .../install/helper/VmInstallationHelper.java | 321 + .../instruction/AbstractInstructionsBase.java | 18 + .../instruction/INSTRUCTION_RESULT.java | 12 + .../install/instruction/INSTRUCTION_TYPE.java | 15 + .../install/instruction/Instruction.java | 99 + .../instruction/InstructionsService.java | 154 + .../install/instruction/InstructionsSet.java | 69 + .../plugin/AllowedTopicsProcessorPlugin.java | 115 + .../plugin/PrometheusProcessorPlugin.java | 153 + .../selfhealing/ClientRecoveryPlugin.java | 182 + .../selfhealing/SelfHealingManagerImpl.java | 146 + .../ServerSelfHealingProperties.java | 33 + ems-core/baguette-client/LICENSE | 373 + ems-core/baguette-client/bin/baguette-client | 46 + ems-core/baguette-client/bin/client.sh | 19 + ems-core/baguette-client/bin/install.sh | 210 + ems-core/baguette-client/bin/kill.sh | 26 + ems-core/baguette-client/bin/run.bat | 44 + ems-core/baguette-client/bin/run.sh | 71 + .../conf/baguette-client.properties.sample | 214 + .../baguette-client/conf/baguette-client.yml | 246 + ems-core/baguette-client/conf/baguette.json | 16 + .../baguette-client/conf/logback-spring.xml | 38 + ems-core/baguette-client/conf/netdata.json | 16 + ems-core/baguette-client/logs/output.txt | 0 ems-core/baguette-client/pom.xml | 175 + .../baguette-client-installation-package.xml | 102 + .../ems/baguette/client/BaguetteClient.java | 271 + .../baguette/client/BaguetteClientCLI.java | 68 + .../client/BaguetteClientProperties.java | 48 + .../imu/ems/baguette/client/Collector.java | 16 + .../ems/baguette/client/CommandExecutor.java | 1416 ++++ .../gr/iccs/imu/ems/baguette/client/Sshc.java | 284 + .../client/cluster/AbstractLogBase.java | 114 + .../baguette/client/cluster/BrokerUtil.java | 437 ++ .../baguette/client/cluster/ClusterCLI.java | 228 + .../client/cluster/ClusterManager.java | 472 ++ .../cluster/ClusterManagerProperties.java | 88 + .../baguette/client/cluster/ClusterTest.java | 82 + .../client/cluster/MemberScoreFunction.java | 114 + .../client/cluster/MemberWithScore.java | 44 + .../baguette/client/cluster/TestCallback.java | 84 + .../collector/ClientCollectorContext.java | 70 + .../collector/netdata/NetdataCollector.java | 68 + .../prometheus/PrometheusCollector.java | 68 + .../plugin/recovery/NodeInfoHelper.java | 67 + .../plugin/recovery/SelfHealingPlugin.java | 321 + .../main/resources/META-INF/spring.factories | 1 + .../src/main/resources/banner-1.txt | 6 + .../src/main/resources/banner.txt | 8 + ems-core/baguette-server/pom.xml | 105 + .../ems/baguette/server/BaguetteServer.java | 553 ++ .../baguette/server/ClientShellCommand.java | 735 ++ .../server/GroupingConfigurationHelper.java | 36 + .../imu/ems/baguette/server/NodeRegistry.java | 137 + .../baguette/server/NodeRegistryEntry.java | 169 + .../baguette/server/ServerCoordinator.java | 73 + .../gr/iccs/imu/ems/baguette/server/Sshd.java | 320 + .../server/coordinator/NoopCoordinator.java | 108 + .../coordinator/ServerCoordinatorTimeWin.java | 217 + .../coordinator/ServerCoordinatorWaitAll.java | 143 + .../server/coordinator/TestCoordinator.java | 60 + .../coordinator/TwoLevelCoordinator.java | 107 + .../AtLeastTwoZoneManagementStrategy.java | 82 + .../cluster/ClusterSelfHealing.java | 102 + .../coordinator/cluster/ClusterZone.java | 202 + .../cluster/ClusterZoneDetector.java | 166 + .../cluster/ClusteringCoordinator.java | 446 ++ .../DefaultZoneManagementStrategy.java | 57 + .../coordinator/cluster/IClusterZone.java | 44 + .../cluster/IClusterZoneDetector.java | 21 + .../cluster/IZoneManagementStrategy.java | 31 + .../properties/BaguetteServerProperties.java | 94 + ems-core/bin/client.sh | 17 + ems-core/bin/cp2cdo.bat | 27 + ems-core/bin/cp2cdo.sh | 29 + ems-core/bin/detect.sh | 53 + ems-core/bin/initialize-MELODIC-keystores.sh | 157 + ems-core/bin/initialize-keystores.bat | 85 + ems-core/bin/initialize-keystores.sh | 81 + ems-core/bin/jwtutil.bat | 33 + ems-core/bin/jwtutil.sh | 33 + ems-core/bin/run.bat | 97 + ems-core/bin/run.sh | 108 + ems-core/bin/sysmon.sh | 54 + ems-core/bin/update-credentials.sh | 33 + ems-core/broker-cep/client.bat | 25 + ems-core/broker-cep/pom.xml | 112 + .../imu/ems/brokercep/BrokerCepConsumer.java | 299 + .../imu/ems/brokercep/BrokerCepService.java | 400 ++ .../BrokerCepStatementSubscriber.java | 108 + .../gr/iccs/imu/ems/brokercep/EventCache.java | 104 + .../imu/ems/brokercep/EventForwarder.java | 273 + .../broker/BrokerAdvisoryWatcher.java | 188 + .../ems/brokercep/broker/BrokerConfig.java | 522 ++ .../brokercep/broker/InterceptorHelper.java | 152 + .../SimpleBrokerAuthorizationPlugin.java | 84 + .../AbstractMessageInterceptor.java | 47 + .../interceptor/CompositeInterceptor.java | 16 + .../LogMessageUpdateInterceptor.java | 42 + .../MessageForwarderInterceptor.java | 200 + ...odePropertiesMessageUpdateInterceptor.java | 73 + .../SequentialCompositeInterceptor.java | 56 + ...SourceAddressMessageUpdateInterceptor.java | 74 + .../ems/brokercep/cep/CepEvalAggregator.java | 268 + .../cep/CepEvalAggregatorFactory.java | 59 + .../ems/brokercep/cep/CepEvalFunction.java | 239 + .../imu/ems/brokercep/cep/CepExtensions.java | 37 + .../imu/ems/brokercep/cep/CepService.java | 224 + .../iccs/imu/ems/brokercep/cep/MathUtil.java | 257 + .../brokercep/cep/StatementSubscriber.java | 31 + .../imu/ems/brokercep/event/EventMap.java | 249 + .../ems/brokercep/event/EventRecorder.java | 294 + .../properties/BrokerCepProperties.java | 132 + .../brokercep/properties/NodeProperties.java | 35 + ems-core/broker-client/client.bat | 22 + ems-core/broker-client/client.sh | 17 + ems-core/broker-client/pom.xml | 107 + .../imu/ems/brokerclient/BrokerClient.java | 494 ++ .../imu/ems/brokerclient/BrokerClientApp.java | 761 ++ .../brokerclient/event/EventGenerator.java | 87 + .../imu/ems/brokerclient/event/EventMap.java | 43 + .../properties/BrokerClientProperties.java | 83 + .../src/main/resources/logback.xml | 33 + ems-core/common/pom.xml | 45 + .../iccs/imu/ems/common/client/SshClient.java | 24 + .../common/client/SshClientProperties.java | 40 + .../collector/AbstractEndpointCollector.java | 392 + .../AbstractEndpointCollectorProperties.java | 35 + .../common/collector/CollectorContext.java | 30 + .../collector/netdata/NetdataCollector.java | 102 + .../netdata/NetdataCollectorProperties.java | 30 + .../prometheus/OpenMetricsParser.java | 340 + .../prometheus/PrometheusCollector.java | 121 + .../PrometheusCollectorProperties.java | 44 + .../imu/ems/common/misc/EventConstant.java | 17 + .../common/misc/SystemResourceMonitor.java | 163 + .../imu/ems/common/plugin/PluginManager.java | 77 + .../common/recovery/AbstractRecoveryTask.java | 87 + .../recovery/EmsClientRecoveryTask.java | 53 + .../NetdataAgentLocalRecoveryTask.java | 53 + .../recovery/NetdataAgentRecoveryTask.java | 55 + .../ems/common/recovery/RECOVERY_COMMAND.java | 20 + .../ems/common/recovery/RecoveryConstant.java | 20 + .../ems/common/recovery/RecoveryContext.java | 87 + .../imu/ems/common/recovery/RecoveryTask.java | 41 + .../recovery/SelfHealingProperties.java | 43 + .../common/recovery/ShellRecoveryTask.java | 87 + .../common/recovery/VmNodeRecoveryTask.java | 174 + .../selfhealing/SelfHealingManager.java | 40 + .../main/resources/META-INF/spring.factories | 1 + .../linux-yaml/baguette-skip.yml | 33 + .../linux-yaml/baguette.yml | 133 + .../linux-yaml/check-ignore.yml | 35 + .../linux-yaml/detect.yml | 83 + .../linux-yaml/jre8.yml | 79 + .../linux-yaml/netdata.yml | 61 + .../linux-yaml/recover-baguette.yml | 31 + .../linux-yaml/start-agents.yml | 54 + .../linux/baguette-remove.json | 33 + .../linux/baguette-skip.json | 23 + .../linux/baguette.json | 154 + .../linux/check-ignore.json | 31 + .../baguette-client-install/linux/detect.json | 69 + .../baguette-client-install/linux/jre.json | 79 + .../linux/netdata.json | 57 + .../linux/recover-baguette.json | 24 + .../linux/start-agents.json | 52 + .../netdata/go.d/prometheus.conf | 4 + .../baguette-client-install/win/win.json | 0 .../conf/baguette-client.properties.sample | 224 + .../baguette-client/conf/baguette-client.yml | 259 + .../baguette-client/conf/baguette.json | 16 + .../baguette-client/conf/logback-spring.xml | 38 + .../baguette-client/conf/netdata.json | 16 + .../config-files/ems-server.properties.sample | 608 ++ ems-core/config-files/ems-server.yml | 666 ++ .../eu.melodic.upperware.security.properties | 17 + .../eu.paasage.mddb.cdo.client.properties | 29 + .../logback-conf/logback-spring.xml | 28 + ems-core/config-files/secrets.properties | 28 + ems-core/control-service/pom.xml | 721 ++ .../src/main/docker/Dockerfile | 80 + .../src/main/docker/Dockerfile-alpine | 79 + .../models/commons/NotificationResult.java | 42 + .../commons/NotificationResultImpl.java | 72 + .../eu/melodic/models/commons/Watermark.java | 32 + .../melodic/models/commons/WatermarkImpl.java | 92 + .../models/interfaces/CamelModelRequest.java | 29 + .../interfaces/CamelModelRequestImpl.java | 74 + .../melodic/models/interfaces/Interval.java | 53 + .../models/interfaces/IntervalImpl.java | 58 + .../models/interfaces/KeyValuePair.java | 23 + .../models/interfaces/KeyValuePairImpl.java | 58 + .../eu/melodic/models/interfaces/Monitor.java | 37 + .../models/interfaces/MonitorImpl.java | 102 + .../interfaces/MonitorsDataRequest.java | 25 + .../interfaces/MonitorsDataRequestImpl.java | 60 + .../interfaces/MonitorsDataResponse.java | 26 + .../interfaces/MonitorsDataResponseImpl.java | 61 + .../melodic/models/interfaces/PullSensor.java | 29 + .../models/interfaces/PullSensorImpl.java | 73 + .../melodic/models/interfaces/PushSensor.java | 19 + .../models/interfaces/PushSensorImpl.java | 42 + .../eu/melodic/models/interfaces/Sensor.java | 49 + .../eu/melodic/models/interfaces/Sink.java | 46 + .../melodic/models/interfaces/SinkImpl.java | 60 + .../models/resources/SensorDeserializer.java | 36 + .../models/resources/SensorSerializer.java | 25 + .../CamelModelNotificationRequest.java | 30 + .../CamelModelNotificationRequestImpl.java | 75 + .../imu/ems/control/ApplicationContext.java | 53 + .../control/ControlServiceApplication.java | 144 + .../imu/ems/control/collector/Collector.java | 15 + .../collector/ServerCollectorContext.java | 68 + .../netdata/ServerNetdataCollector.java | 38 + .../controller/BrokerCepController.java | 40 + .../controller/ControlServiceController.java | 229 + .../controller/ControlServiceCoordinator.java | 903 +++ .../controller/ControlServiceRequestInfo.java | 35 + .../controller/CredentialsController.java | 169 + .../controller/CredentialsCoordinator.java | 25 + .../controller/ManagementController.java | 133 + .../controller/ManagementCoordinator.java | 222 + .../NodeRegistrationController.java | 143 + .../NodeRegistrationCoordinator.java | 186 + .../controller/RestControllerException.java | 28 + .../RestControllerExceptionHandler.java | 75 + .../ems/control/info/BuildInfoProvider.java | 101 + .../info/ControlServiceBuildInfoEndpoint.java | 33 + .../info/ControlServiceHealthIndicator.java | 36 + .../ControlServiceInfoEndpointExtension.java | 48 + .../info/ControlServiceLiveInfoEndpoint.java | 41 + .../ems/control/info/ControlServiceMBean.java | 95 + .../control/info/ControlServiceMetrics.java | 43 + .../ems/control/info/EmsInfoServiceImpl.java | 361 + .../imu/ems/control/info/FilesController.java | 277 + .../control/info/FilesDisabledController.java | 33 + .../ems/control/info/IEmsInfoProvider.java | 24 + .../imu/ems/control/info/IEmsInfoService.java | 33 + .../control/info/InfoServiceController.java | 377 + .../ems/control/info/SystemInfoProvider.java | 64 + .../imu/ems/control/plugin/BeaconPlugin.java | 20 + .../imu/ems/control/plugin/EmsInfoPlugin.java | 22 + .../control/plugin/PostTranslationPlugin.java | 24 + .../plugin/TranslationContextPlugin.java | 23 + .../ems/control/plugin/WebAdminPlugin.java | 76 + .../control/plugin/noop/NoopBeaconPlugin.java | 23 + .../noop/NoopPostTranslationPlugin.java | 32 + .../noop/NoopTranslationContextPlugin.java | 31 + .../properties/ControlServiceProperties.java | 82 + .../properties/InfoServiceProperties.java | 66 + .../properties/StaticResourceProperties.java | 46 + .../properties/TopicBeaconProperties.java | 49 + .../properties/WebSecurityProperties.java | 99 + .../imu/ems/control/util/EventBusCache.java | 106 + .../imu/ems/control/util/TopicBeacon.java | 233 + ...slationContextMonitorGsonDeserializer.java | 174 + .../imu/ems/control/util/WebClientUtil.java | 65 + .../control/util/jwt/JwtTokenProperties.java | 43 + .../ems/control/util/jwt/JwtTokenService.java | 103 + .../ems/control/util/jwt/JwtTokenUtil.java | 167 + .../NoopMetricVariableValuesServiceImpl.java | 34 + .../webconf/StaticResourceConfiguration.java | 116 + .../imu/ems/control/webconf/WebMvcConfig.java | 70 + .../control/webconf/WebSecurityConfig.java | 565 ++ .../main/resources/META-INF/spring.factories | 1 + .../src/main/resources/banner-0.txt | 16 + .../src/main/resources/banner-1.txt | 9 + .../src/main/resources/banner.txt | 17 + .../src/main/resources/public/client.bat | 22 + .../src/main/resources/public/client.sh | 17 + .../src/main/resources/public/favicon.ico | Bin 0 -> 32924 bytes .../src/main/resources/public/index.html | 442 ++ .../src/main/resources/version.txt | 8 + ems-core/pom.xml | 295 + ems-core/translator/pom.xml | 74 + .../gr/iccs/imu/ems/translate/Grouping.java | 42 + .../imu/ems/translate/NoopTranslator.java | 24 + .../imu/ems/translate/TranslationContext.java | 707 ++ .../translate/TranslationContextPrinter.java | 176 + .../TranslationContextPrinterProperties.java | 45 + .../gr/iccs/imu/ems/translate/Translator.java | 14 + .../translate/TranslatorApplication.java_OFF | 73 + .../gr/iccs/imu/ems/translate/dag/DAG.java | 460 ++ .../iccs/imu/ems/translate/dag/DAGEdge.java | 48 + .../iccs/imu/ems/translate/dag/DAGNode.java | 63 + .../model/AbstractInterfaceRootObject.java | 25 + .../translate/model/AbstractRootObject.java | 37 + .../iccs/imu/ems/translate/model/Action.java | 21 + .../imu/ems/translate/model/Annotation.java | 24 + .../imu/ems/translate/model/Attribute.java | 28 + .../translate/model/BinaryEventPattern.java | 26 + .../model/BinaryPatternOperatorType.java | 14 + .../imu/ems/translate/model/BooleanValue.java | 22 + .../model/ComparisonOperatorType.java | 27 + .../imu/ems/translate/model/Component.java | 21 + .../translate/model/CompositeConstraint.java | 21 + .../ems/translate/model/CompositeMetric.java | 32 + .../model/CompositeMetricContext.java | 29 + .../imu/ems/translate/model/Constraint.java | 21 + .../ems/translate/model/CriterionType.java | 14 + .../gr/iccs/imu/ems/translate/model/Data.java | 28 + .../imu/ems/translate/model/DataSource.java | 23 + .../imu/ems/translate/model/DoubleValue.java | 22 + .../iccs/imu/ems/translate/model/Event.java | 21 + .../imu/ems/translate/model/EventPattern.java | 22 + .../iccs/imu/ems/translate/model/Feature.java | 25 + .../imu/ems/translate/model/FloatValue.java | 22 + .../imu/ems/translate/model/Function.java | 28 + .../imu/ems/translate/model/GroupingType.java | 14 + .../ems/translate/model/IfThenConstraint.java | 36 + .../imu/ems/translate/model/IntValue.java | 22 + .../imu/ems/translate/model/Interval.java | 28 + .../translate/model/LoadMetricVariable.java | 25 + .../translate/model/LogicalConstraint.java | 33 + .../translate/model/LogicalOperatorType.java | 14 + .../translate/model/MeasurableAttribute.java | 27 + .../iccs/imu/ems/translate/model/Metric.java | 22 + .../ems/translate/model/MetricConstraint.java | 22 + .../ems/translate/model/MetricContext.java | 36 + .../ems/translate/model/MetricTemplate.java | 25 + .../ems/translate/model/MetricVariable.java | 36 + .../model/MetricVariableConstraint.java | 22 + .../iccs/imu/ems/translate/model/Monitor.java | 30 + .../imu/ems/translate/model/NamedElement.java | 26 + .../translate/model/NonFunctionalEvent.java | 23 + .../imu/ems/translate/model/NumericValue.java | 21 + .../ems/translate/model/ObjectContext.java | 24 + .../model/OptimisationRequirement.java | 25 + .../imu/ems/translate/model/PullSensor.java | 30 + .../imu/ems/translate/model/PushSensor.java | 23 + .../imu/ems/translate/model/RawMetric.java | 21 + .../ems/translate/model/RawMetricContext.java | 22 + .../imu/ems/translate/model/Requirement.java | 21 + .../ems/translate/model/ScalabilityRule.java | 28 + .../ems/translate/model/ScalingAction.java | 22 + .../imu/ems/translate/model/Schedule.java | 34 + .../iccs/imu/ems/translate/model/Sensor.java | 47 + .../model/ServiceLevelObjective.java | 23 + .../imu/ems/translate/model/SingleEvent.java | 21 + .../gr/iccs/imu/ems/translate/model/Sink.java | 32 + .../imu/ems/translate/model/StringValue.java | 22 + .../iccs/imu/ems/translate/model/Timer.java | 25 + .../imu/ems/translate/model/TimerType.java | 14 + .../ems/translate/model/UnaryConstraint.java | 26 + .../translate/model/UnaryEventPattern.java | 24 + .../model/UnaryPatternOperatorType.java | 14 + .../iccs/imu/ems/translate/model/Value.java | 21 + .../imu/ems/translate/model/ValueType.java | 16 + .../imu/ems/translate/model/VariableType.java | 30 + .../iccs/imu/ems/translate/model/Window.java | 31 + .../ems/translate/model/WindowCriterion.java | 25 + .../ems/translate/model/WindowProcessing.java | 30 + .../translate/model/WindowProcessingType.java | 14 + .../ems/translate/model/WindowSizeType.java | 14 + .../imu/ems/translate/model/WindowType.java | 14 + .../mvv/MetricVariableValuesService.java | 21 + .../src/main/resources/banner-alternative.txt | 7 + .../translator/src/main/resources/banner.txt | 8 + .../src/main/resources/rule-templates.yml | 237 + ems-core/util/pom.xml | 100 + .../imu/ems/util/ClientConfiguration.java | 26 + .../gr/iccs/imu/ems/util/CredentialsMap.java | 63 + .../imu/ems/util/CredentialsMapConverter.java | 49 + .../gr/iccs/imu/ems/util/EmsConstant.java | 24 + .../java/gr/iccs/imu/ems/util/EventBus.java | 146 + .../iccs/imu/ems/util/FunctionDefinition.java | 40 + .../java/gr/iccs/imu/ems/util/GROUPING.java | 32 + .../imu/ems/util/GroupingConfiguration.java | 50 + .../IKeystoreAndCertificateProperties.java | 28 + .../KeystoreAndCertificateProperties.java | 35 + .../gr/iccs/imu/ems/util/KeystoreUtil.java | 577 ++ .../java/gr/iccs/imu/ems/util/NetUtil.java | 292 + .../imu/ems/util/NetUtilPostProcessor.java | 61 + .../gr/iccs/imu/ems/util/PasswordUtil.java | 113 + .../java/gr/iccs/imu/ems/util/Plugin.java | 15 + .../iccs/imu/ems/util/SerializationUtil.java | 40 + .../java/gr/iccs/imu/ems/util/StrUtil.java | 374 + .../password/AsterisksPasswordEncoder.java | 16 + .../password/IdentityPasswordEncoder.java | 16 + .../ems/util/password/PasswordEncoder.java | 14 + .../util/password/PresentPasswordEncoder.java | 20 + ems-core/web-admin/.dockerignore | 3 + ems-core/web-admin/.gitignore | 26 + ems-core/web-admin/Dockerfile | 25 + ems-core/web-admin/README.md | 33 + ems-core/web-admin/babel.config.js | 5 + ems-core/web-admin/package.json | 63 + ems-core/web-admin/pom.xml | 178 + .../public/assets/css/adminlte.min.css | 12 + .../img/circuit-board-5907811_1920-bw.png | Bin 0 -> 602336 bytes .../public/assets/img/ems-logo-192x192.png | Bin 0 -> 14494 bytes .../assets/img/wave-loader-green-sm.gif | Bin 0 -> 32217 bytes .../public/assets/img/wave-loader-green.gif | Bin 0 -> 35569 bytes .../public/assets/img/wave-loader-grey-sm.gif | Bin 0 -> 30338 bytes .../public/assets/img/wave-loader-grey.gif | Bin 0 -> 38179 bytes .../web-admin/public/assets/js/adminlte.js | 2962 ++++++++ .../public/assets/js/adminlte.js.map | 1 + .../public/assets/js/adminlte.min.js | 7 + .../public/assets/js/adminlte.min.js.map | 1 + .../plugins/bootstrap/css/bootstrap.min.css | 7 + .../bootstrap/css/bootstrap.min.css.map | 1 + .../plugins/bootstrap/js/bootstrap.bundle.js | 6328 +++++++++++++++++ .../bootstrap/js/bootstrap.bundle.js.map | 1 + .../bootstrap/js/bootstrap.bundle.min.js | 7 + .../bootstrap/js/bootstrap.bundle.min.js.map | 1 + .../plugins/fontawesome-free/css/all.css | 4616 ++++++++++++ .../plugins/fontawesome-free/css/all.min.css | 5 + .../plugins/fontawesome-free/css/brands.css | 15 + .../fontawesome-free/css/brands.min.css | 5 + .../fontawesome-free/css/fontawesome.css | 4582 ++++++++++++ .../fontawesome-free/css/fontawesome.min.css | 5 + .../plugins/fontawesome-free/css/regular.css | 15 + .../fontawesome-free/css/regular.min.css | 5 + .../plugins/fontawesome-free/css/solid.css | 16 + .../fontawesome-free/css/solid.min.css | 5 + .../fontawesome-free/css/svg-with-js.css | 371 + .../fontawesome-free/css/svg-with-js.min.css | 5 + .../plugins/fontawesome-free/css/v4-shims.css | 2172 ++++++ .../fontawesome-free/css/v4-shims.min.css | 5 + .../assets/plugins/fontawesome-free/js/all.js | 4466 ++++++++++++ .../plugins/fontawesome-free/js/all.min.js | 5 + .../plugins/fontawesome-free/js/brands.js | 585 ++ .../plugins/fontawesome-free/js/brands.min.js | 5 + .../fontawesome-free/js/conflict-detection.js | 998 +++ .../js/conflict-detection.min.js | 5 + .../fontawesome-free/js/fontawesome.js | 2483 +++++++ .../fontawesome-free/js/fontawesome.min.js | 5 + .../plugins/fontawesome-free/js/regular.js | 280 + .../fontawesome-free/js/regular.min.js | 5 + .../plugins/fontawesome-free/js/solid.js | 1130 +++ .../plugins/fontawesome-free/js/solid.min.js | 5 + .../plugins/fontawesome-free/js/v4-shims.js | 68 + .../fontawesome-free/js/v4-shims.min.js | 5 + .../webfonts/fa-brands-400.eot | Bin 0 -> 134294 bytes .../webfonts/fa-brands-400.svg | 3717 ++++++++++ .../webfonts/fa-brands-400.ttf | Bin 0 -> 133988 bytes .../webfonts/fa-brands-400.woff | Bin 0 -> 89988 bytes .../webfonts/fa-brands-400.woff2 | Bin 0 -> 76736 bytes .../webfonts/fa-regular-400.eot | Bin 0 -> 34034 bytes .../webfonts/fa-regular-400.svg | 801 +++ .../webfonts/fa-regular-400.ttf | Bin 0 -> 33736 bytes .../webfonts/fa-regular-400.woff | Bin 0 -> 16276 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 13224 bytes .../webfonts/fa-solid-900.eot | Bin 0 -> 203030 bytes .../webfonts/fa-solid-900.svg | 5034 +++++++++++++ .../webfonts/fa-solid-900.ttf | Bin 0 -> 202744 bytes .../webfonts/fa-solid-900.woff | Bin 0 -> 101648 bytes .../webfonts/fa-solid-900.woff2 | Bin 0 -> 78268 bytes .../assets/plugins/jquery/jquery.min.js | 2 + .../plugins/jquery/jquery.slimscroll.min.js | 16 + ems-core/web-admin/public/favicon.ico | Bin 0 -> 32924 bytes ems-core/web-admin/public/index.html | 55 + ems-core/web-admin/public/login.html | 116 + ems-core/web-admin/src/App.vue | 129 + .../circuit-board-5907811_1920-bw.png | Bin 0 -> 602336 bytes .../src/assets/img/ems-logo-192x192.png | Bin 0 -> 14494 bytes .../web-admin/src/assets/img/ems-logo.png | Bin 0 -> 91296 bytes .../web-admin/src/assets/img/ems-logo.svg | 1 + ems-core/web-admin/src/assets/img/party.gif | Bin 0 -> 4733322 bytes .../web-admin/src/components/7seg/7seg.vue | 127 + .../DSEG14-Classic/DSEG14Classic-Bold.woff2 | Bin 0 -> 5920 bytes .../DSEG14Classic-BoldItalic.woff2 | Bin 0 -> 5940 bytes .../DSEG14-Classic/DSEG14Classic-Italic.woff2 | Bin 0 -> 5904 bytes .../DSEG14Classic-Regular.woff2 | Bin 0 -> 5804 bytes .../DSEG14-Modern/DSEG14Modern-Bold.woff2 | Bin 0 -> 5916 bytes .../DSEG14Modern-BoldItalic.woff2 | Bin 0 -> 5908 bytes .../DSEG14-Modern/DSEG14Modern-Italic.woff2 | Bin 0 -> 5968 bytes .../DSEG14-Modern/DSEG14Modern-Regular.woff2 | Bin 0 -> 5916 bytes .../DSEG7-Classic/DSEG7Classic-Bold.woff2 | Bin 0 -> 5132 bytes .../DSEG7Classic-BoldItalic.woff2 | Bin 0 -> 5168 bytes .../DSEG7-Classic/DSEG7Classic-Italic.woff2 | Bin 0 -> 5124 bytes .../DSEG7-Classic/DSEG7Classic-Regular.woff2 | Bin 0 -> 5188 bytes .../7seg/DSEG7-Modern/DSEG7Modern-Bold.woff2 | Bin 0 -> 5176 bytes .../DSEG7-Modern/DSEG7Modern-BoldItalic.woff2 | Bin 0 -> 5128 bytes .../DSEG7-Modern/DSEG7Modern-Italic.woff2 | Bin 0 -> 5112 bytes .../DSEG7-Modern/DSEG7Modern-Regular.woff2 | Bin 0 -> 5132 bytes .../src/components/ace-editor/ace-editor.vue | 177 + .../web-admin/src/components/card/card.html | 40 + .../web-admin/src/components/card/card.js | 35 + .../web-admin/src/components/card/card.vue | 11 + .../src/components/chartjs/chartjs.vue | 147 + .../web-admin/src/components/clock/clock.vue | 45 + .../src/components/ems/sse/ems-sse.vue | 377 + .../web-admin/src/components/ems/ts/ts.js | 92 + .../src/components/infobox/infobox.html | 13 + .../src/components/infobox/infobox.js | 25 + .../src/components/infobox/infobox.vue | 11 + .../src/components/jqvmap/jqvmap.vue | 77 + .../src/components/jvectormap/jvectormap.vue | 166 + .../web-admin/src/components/knob/knob.vue | 103 + .../components/leaflet-map/leaflet-map.vue | 322 + .../web-admin/src/components/modal/modal.vue | 151 + .../src/components/smallbox/smallbox.html | 17 + .../src/components/smallbox/smallbox.js | 19 + .../src/components/smallbox/smallbox.vue | 11 + .../src/components/sparkline/sparkline.vue | 78 + .../src/components/status-led/status-led.vue | 194 + .../src/components/worldmap/WorldMap.vue | 65 + .../src/components/worldmap/countries.js | 246 + ems-core/web-admin/src/main.js | 21 + ems-core/web-admin/src/resources/.env | 2 + ems-core/web-admin/src/router.js | 45 + ems-core/web-admin/src/utils.js | 115 + ems-core/web-admin/src/views/404.vue | 23 + ems-core/web-admin/src/views/about.vue | 41 + .../views/admin/admin-1-overview-header.vue | 268 + .../src/views/admin/admin-1-overview.vue | 263 + .../src/views/admin/admin-1-overview.vue.old | 263 + .../src/views/admin/admin-2-topology.vue | 1010 +++ .../src/views/admin/admin-3-geography.vue | 246 + .../src/views/admin/admin-4-commands.vue | 140 + .../src/views/admin/admin-5-broker-cep.vue | 23 + ems-core/web-admin/src/views/admin/admin.vue | 112 + .../src/views/admin/country-coordinates.js | 256 + .../web-admin/src/views/admin/old/admin.html | 609 ++ .../web-admin/src/views/admin/old/admin.js | 309 + .../web-admin/src/views/admin/old/admin.vue | 11 + .../src/views/admin/widgets/cdo-mgnt.vue | 456 ++ .../views/admin/widgets/client-commands.vue | 157 + .../src/views/admin/widgets/client-events.vue | 392 + .../src/views/admin/widgets/clients-list.vue | 44 + .../src/views/admin/widgets/command-input.vue | 38 + .../views/admin/widgets/destinations-list.vue | 41 + .../src/views/admin/widgets/fileexplorer.vue | 398 ++ .../src/views/admin/widgets/img/blank-64.png | Bin 0 -> 298 bytes .../admin/widgets/img/camel-model-32.png | Bin 0 -> 1506 bytes .../admin/widgets/img/camel-model-64.png | Bin 0 -> 18977 bytes .../admin/widgets/img/camel-model-80.png | Bin 0 -> 1227 bytes .../views/admin/widgets/img/cp-model-32.png | Bin 0 -> 1691 bytes .../views/admin/widgets/img/cp-model-64.png | Bin 0 -> 6876 bytes .../src/views/admin/widgets/img/folder-64.png | Bin 0 -> 2640 bytes .../views/admin/widgets/img/unknown-64.png | Bin 0 -> 1294 bytes .../src/views/admin/widgets/latest-events.vue | 130 + .../views/admin/widgets/node-actions-list.vue | 60 + .../views/admin/widgets/rest-call-forms.js | 137 + .../src/views/admin/widgets/rest-call.vue | 444 ++ .../src/views/admin/widgets/textarea-dnd.vue | 61 + .../control-sidebar/control-sidebar.html | 52 + .../common/control-sidebar/control-sidebar.js | 16 + .../control-sidebar/control-sidebar.vue | 11 + .../src/views/common/footer/footer.html | 16 + .../src/views/common/footer/footer.js | 21 + .../src/views/common/footer/footer.vue | 11 + .../src/views/common/header/header.html | 113 + .../src/views/common/header/header.js | 27 + .../src/views/common/header/header.vue | 11 + .../common/menu-sidebar/menu-sidebar.html | 156 + .../views/common/menu-sidebar/menu-sidebar.js | 16 + .../common/menu-sidebar/menu-sidebar.vue | 11 + .../src/views/common/section/section.vue | 88 + .../title-and-breadcrumb.vue | 45 + .../connection-info/connection-info.vue | 446 ++ .../widgets/connection-info/img/plug-blue.png | Bin 0 -> 2302 bytes .../connection-info/img/plug-green.png | Bin 0 -> 2550 bytes .../connection-info/img/plug-orange.png | Bin 0 -> 2485 bytes .../widgets/connection-info/img/plug-red.png | Bin 0 -> 2243 bytes .../widgets/connection-info/img/wave-blue.gif | Bin 0 -> 38179 bytes .../connection-info/img/wave-green.gif | Bin 0 -> 35569 bytes .../connection-info/img/wave-orange.gif | Bin 0 -> 24409 bytes .../widgets/connection-info/img/wave-red.gif | Bin 0 -> 38179 bytes .../widgets/health-info/health-info.vue | 98 + .../widgets/notifications/notifications.html | 28 + .../widgets/notifications/notifications.js | 16 + .../widgets/notifications/notifications.vue | 11 + .../views/common/widgets/search/search.vue | 21 + .../web-admin/src/views/sample/sample.html | 663 ++ ems-core/web-admin/src/views/sample/sample.js | 322 + .../web-admin/src/views/sample/sample.vue | 11 + ems-core/web-admin/vue.config.js | 22 + 590 files changed, 94535 insertions(+) create mode 100644 .DS_Store create mode 100644 .gitignore create mode 100644 README.md create mode 100644 ems-core/.gitattributes create mode 100644 ems-core/.gitignore create mode 100644 ems-core/README-for-TESTING.md create mode 100644 ems-core/baguette-client-install/pom.xml create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallationProperties.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallationTask.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstaller.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallerPlugin.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/InstallationContextProcessorPlugin.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshClientInstaller.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshConfig.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshJsClientInstaller.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/StreamLogger.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/AbstractInstallationHelper.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/InstallationHelper.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/InstallationHelperFactory.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/VmInstallationHelper.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/AbstractInstructionsBase.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/INSTRUCTION_RESULT.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/INSTRUCTION_TYPE.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/Instruction.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/InstructionsService.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/InstructionsSet.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/plugin/AllowedTopicsProcessorPlugin.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/plugin/PrometheusProcessorPlugin.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/ClientRecoveryPlugin.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/SelfHealingManagerImpl.java create mode 100644 ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/ServerSelfHealingProperties.java create mode 100644 ems-core/baguette-client/LICENSE create mode 100644 ems-core/baguette-client/bin/baguette-client create mode 100644 ems-core/baguette-client/bin/client.sh create mode 100644 ems-core/baguette-client/bin/install.sh create mode 100644 ems-core/baguette-client/bin/kill.sh create mode 100644 ems-core/baguette-client/bin/run.bat create mode 100644 ems-core/baguette-client/bin/run.sh create mode 100644 ems-core/baguette-client/conf/baguette-client.properties.sample create mode 100644 ems-core/baguette-client/conf/baguette-client.yml create mode 100644 ems-core/baguette-client/conf/baguette.json create mode 100644 ems-core/baguette-client/conf/logback-spring.xml create mode 100644 ems-core/baguette-client/conf/netdata.json create mode 100644 ems-core/baguette-client/logs/output.txt create mode 100644 ems-core/baguette-client/pom.xml create mode 100644 ems-core/baguette-client/src/main/assembly/baguette-client-installation-package.xml create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClient.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClientCLI.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClientProperties.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/Collector.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/CommandExecutor.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/Sshc.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/AbstractLogBase.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/BrokerUtil.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterCLI.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterManager.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterManagerProperties.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterTest.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/MemberScoreFunction.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/MemberWithScore.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/TestCallback.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/ClientCollectorContext.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/netdata/NetdataCollector.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/prometheus/PrometheusCollector.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/plugin/recovery/NodeInfoHelper.java create mode 100644 ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/plugin/recovery/SelfHealingPlugin.java create mode 100644 ems-core/baguette-client/src/main/resources/META-INF/spring.factories create mode 100644 ems-core/baguette-client/src/main/resources/banner-1.txt create mode 100644 ems-core/baguette-client/src/main/resources/banner.txt create mode 100644 ems-core/baguette-server/pom.xml create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/BaguetteServer.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/ClientShellCommand.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/GroupingConfigurationHelper.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/NodeRegistry.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/NodeRegistryEntry.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/ServerCoordinator.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/Sshd.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/NoopCoordinator.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/ServerCoordinatorTimeWin.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/ServerCoordinatorWaitAll.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/TestCoordinator.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/TwoLevelCoordinator.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/AtLeastTwoZoneManagementStrategy.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterSelfHealing.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterZone.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterZoneDetector.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusteringCoordinator.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/DefaultZoneManagementStrategy.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IClusterZone.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IClusterZoneDetector.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IZoneManagementStrategy.java create mode 100644 ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/properties/BaguetteServerProperties.java create mode 100644 ems-core/bin/client.sh create mode 100644 ems-core/bin/cp2cdo.bat create mode 100644 ems-core/bin/cp2cdo.sh create mode 100644 ems-core/bin/detect.sh create mode 100644 ems-core/bin/initialize-MELODIC-keystores.sh create mode 100644 ems-core/bin/initialize-keystores.bat create mode 100644 ems-core/bin/initialize-keystores.sh create mode 100644 ems-core/bin/jwtutil.bat create mode 100644 ems-core/bin/jwtutil.sh create mode 100644 ems-core/bin/run.bat create mode 100644 ems-core/bin/run.sh create mode 100644 ems-core/bin/sysmon.sh create mode 100644 ems-core/bin/update-credentials.sh create mode 100644 ems-core/broker-cep/client.bat create mode 100644 ems-core/broker-cep/pom.xml create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepConsumer.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepService.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepStatementSubscriber.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/EventCache.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/EventForwarder.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/BrokerAdvisoryWatcher.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/BrokerConfig.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/InterceptorHelper.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/SimpleBrokerAuthorizationPlugin.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/AbstractMessageInterceptor.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/CompositeInterceptor.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/LogMessageUpdateInterceptor.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/MessageForwarderInterceptor.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/NodePropertiesMessageUpdateInterceptor.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/SequentialCompositeInterceptor.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/SourceAddressMessageUpdateInterceptor.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepEvalAggregator.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepEvalAggregatorFactory.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepEvalFunction.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepExtensions.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepService.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/MathUtil.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/StatementSubscriber.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/event/EventMap.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/event/EventRecorder.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/properties/BrokerCepProperties.java create mode 100644 ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/properties/NodeProperties.java create mode 100644 ems-core/broker-client/client.bat create mode 100644 ems-core/broker-client/client.sh create mode 100644 ems-core/broker-client/pom.xml create mode 100644 ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/BrokerClient.java create mode 100644 ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/BrokerClientApp.java create mode 100644 ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/event/EventGenerator.java create mode 100644 ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/event/EventMap.java create mode 100644 ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/properties/BrokerClientProperties.java create mode 100644 ems-core/broker-client/src/main/resources/logback.xml create mode 100644 ems-core/common/pom.xml create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/client/SshClient.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/client/SshClientProperties.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/AbstractEndpointCollector.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/AbstractEndpointCollectorProperties.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/CollectorContext.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/netdata/NetdataCollector.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/netdata/NetdataCollectorProperties.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/OpenMetricsParser.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/PrometheusCollector.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/PrometheusCollectorProperties.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/misc/EventConstant.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/misc/SystemResourceMonitor.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/plugin/PluginManager.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/AbstractRecoveryTask.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/EmsClientRecoveryTask.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/NetdataAgentLocalRecoveryTask.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/NetdataAgentRecoveryTask.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RECOVERY_COMMAND.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryConstant.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryContext.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryTask.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/SelfHealingProperties.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/ShellRecoveryTask.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/VmNodeRecoveryTask.java create mode 100644 ems-core/common/src/main/java/gr/iccs/imu/ems/common/selfhealing/SelfHealingManager.java create mode 100644 ems-core/common/src/main/resources/META-INF/spring.factories create mode 100644 ems-core/config-files/baguette-client-install/linux-yaml/baguette-skip.yml create mode 100644 ems-core/config-files/baguette-client-install/linux-yaml/baguette.yml create mode 100644 ems-core/config-files/baguette-client-install/linux-yaml/check-ignore.yml create mode 100644 ems-core/config-files/baguette-client-install/linux-yaml/detect.yml create mode 100644 ems-core/config-files/baguette-client-install/linux-yaml/jre8.yml create mode 100644 ems-core/config-files/baguette-client-install/linux-yaml/netdata.yml create mode 100644 ems-core/config-files/baguette-client-install/linux-yaml/recover-baguette.yml create mode 100644 ems-core/config-files/baguette-client-install/linux-yaml/start-agents.yml create mode 100644 ems-core/config-files/baguette-client-install/linux/baguette-remove.json create mode 100644 ems-core/config-files/baguette-client-install/linux/baguette-skip.json create mode 100644 ems-core/config-files/baguette-client-install/linux/baguette.json create mode 100644 ems-core/config-files/baguette-client-install/linux/check-ignore.json create mode 100644 ems-core/config-files/baguette-client-install/linux/detect.json create mode 100644 ems-core/config-files/baguette-client-install/linux/jre.json create mode 100644 ems-core/config-files/baguette-client-install/linux/netdata.json create mode 100644 ems-core/config-files/baguette-client-install/linux/recover-baguette.json create mode 100644 ems-core/config-files/baguette-client-install/linux/start-agents.json create mode 100644 ems-core/config-files/baguette-client-install/netdata/go.d/prometheus.conf create mode 100644 ems-core/config-files/baguette-client-install/win/win.json create mode 100644 ems-core/config-files/baguette-client/conf/baguette-client.properties.sample create mode 100644 ems-core/config-files/baguette-client/conf/baguette-client.yml create mode 100644 ems-core/config-files/baguette-client/conf/baguette.json create mode 100644 ems-core/config-files/baguette-client/conf/logback-spring.xml create mode 100644 ems-core/config-files/baguette-client/conf/netdata.json create mode 100644 ems-core/config-files/ems-server.properties.sample create mode 100644 ems-core/config-files/ems-server.yml create mode 100644 ems-core/config-files/eu.melodic.upperware.security.properties create mode 100644 ems-core/config-files/eu.paasage.mddb.cdo.client.properties create mode 100644 ems-core/config-files/logback-conf/logback-spring.xml create mode 100644 ems-core/config-files/secrets.properties create mode 100644 ems-core/control-service/pom.xml create mode 100644 ems-core/control-service/src/main/docker/Dockerfile create mode 100644 ems-core/control-service/src/main/docker/Dockerfile-alpine create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/commons/NotificationResult.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/commons/NotificationResultImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/commons/Watermark.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/commons/WatermarkImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/CamelModelRequest.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/CamelModelRequestImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Interval.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/IntervalImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/KeyValuePair.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/KeyValuePairImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Monitor.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataRequest.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataRequestImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataResponse.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataResponseImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PullSensor.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PullSensorImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PushSensor.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PushSensorImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Sensor.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Sink.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/interfaces/SinkImpl.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/resources/SensorDeserializer.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/resources/SensorSerializer.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/services/CamelModelNotificationRequest.java create mode 100644 ems-core/control-service/src/main/java/eu/melodic/models/services/CamelModelNotificationRequestImpl.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/ApplicationContext.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/ControlServiceApplication.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/Collector.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/ServerCollectorContext.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/netdata/ServerNetdataCollector.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/BrokerCepController.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ControlServiceController.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ControlServiceCoordinator.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ControlServiceRequestInfo.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/CredentialsController.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/CredentialsCoordinator.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ManagementController.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ManagementCoordinator.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/NodeRegistrationController.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/NodeRegistrationCoordinator.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/RestControllerException.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/RestControllerExceptionHandler.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/BuildInfoProvider.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceBuildInfoEndpoint.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceHealthIndicator.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceInfoEndpointExtension.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceLiveInfoEndpoint.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceMBean.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceMetrics.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/EmsInfoServiceImpl.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/FilesController.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/FilesDisabledController.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/IEmsInfoProvider.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/IEmsInfoService.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/InfoServiceController.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/SystemInfoProvider.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/BeaconPlugin.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/EmsInfoPlugin.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/PostTranslationPlugin.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/TranslationContextPlugin.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/WebAdminPlugin.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopBeaconPlugin.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopPostTranslationPlugin.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopTranslationContextPlugin.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/ControlServiceProperties.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/InfoServiceProperties.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/StaticResourceProperties.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/TopicBeaconProperties.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/WebSecurityProperties.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/EventBusCache.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/TopicBeacon.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/TranslationContextMonitorGsonDeserializer.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/WebClientUtil.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenProperties.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenService.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenUtil.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/mvv/NoopMetricVariableValuesServiceImpl.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/StaticResourceConfiguration.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/WebMvcConfig.java create mode 100644 ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/WebSecurityConfig.java create mode 100644 ems-core/control-service/src/main/resources/META-INF/spring.factories create mode 100644 ems-core/control-service/src/main/resources/banner-0.txt create mode 100644 ems-core/control-service/src/main/resources/banner-1.txt create mode 100644 ems-core/control-service/src/main/resources/banner.txt create mode 100644 ems-core/control-service/src/main/resources/public/client.bat create mode 100644 ems-core/control-service/src/main/resources/public/client.sh create mode 100644 ems-core/control-service/src/main/resources/public/favicon.ico create mode 100644 ems-core/control-service/src/main/resources/public/index.html create mode 100644 ems-core/control-service/src/main/resources/version.txt create mode 100644 ems-core/pom.xml create mode 100644 ems-core/translator/pom.xml create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/Grouping.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/NoopTranslator.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContext.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContextPrinter.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContextPrinterProperties.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/Translator.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslatorApplication.java_OFF create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAG.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAGEdge.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAGNode.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/AbstractInterfaceRootObject.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/AbstractRootObject.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Action.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Annotation.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Attribute.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BinaryEventPattern.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BinaryPatternOperatorType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BooleanValue.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ComparisonOperatorType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Component.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeConstraint.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeMetric.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeMetricContext.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Constraint.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CriterionType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Data.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/DataSource.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/DoubleValue.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Event.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/EventPattern.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Feature.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/FloatValue.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Function.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/GroupingType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/IfThenConstraint.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/IntValue.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Interval.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LoadMetricVariable.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LogicalConstraint.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LogicalOperatorType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MeasurableAttribute.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Metric.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricConstraint.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricContext.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricTemplate.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricVariable.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricVariableConstraint.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Monitor.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NamedElement.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NonFunctionalEvent.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NumericValue.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ObjectContext.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/OptimisationRequirement.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/PullSensor.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/PushSensor.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/RawMetric.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/RawMetricContext.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Requirement.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ScalabilityRule.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ScalingAction.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Schedule.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Sensor.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ServiceLevelObjective.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/SingleEvent.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Sink.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/StringValue.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Timer.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/TimerType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryConstraint.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryEventPattern.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryPatternOperatorType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Value.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ValueType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/VariableType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Window.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowCriterion.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowProcessing.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowProcessingType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowSizeType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowType.java create mode 100644 ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/mvv/MetricVariableValuesService.java create mode 100644 ems-core/translator/src/main/resources/banner-alternative.txt create mode 100644 ems-core/translator/src/main/resources/banner.txt create mode 100644 ems-core/translator/src/main/resources/rule-templates.yml create mode 100644 ems-core/util/pom.xml create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/ClientConfiguration.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/CredentialsMap.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/CredentialsMapConverter.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/EmsConstant.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/EventBus.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/FunctionDefinition.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/GROUPING.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/GroupingConfiguration.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/IKeystoreAndCertificateProperties.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/KeystoreAndCertificateProperties.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/KeystoreUtil.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/NetUtil.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/NetUtilPostProcessor.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/PasswordUtil.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/Plugin.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/SerializationUtil.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/StrUtil.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/AsterisksPasswordEncoder.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/IdentityPasswordEncoder.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/PasswordEncoder.java create mode 100644 ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/PresentPasswordEncoder.java create mode 100644 ems-core/web-admin/.dockerignore create mode 100644 ems-core/web-admin/.gitignore create mode 100644 ems-core/web-admin/Dockerfile create mode 100644 ems-core/web-admin/README.md create mode 100644 ems-core/web-admin/babel.config.js create mode 100644 ems-core/web-admin/package.json create mode 100644 ems-core/web-admin/pom.xml create mode 100644 ems-core/web-admin/public/assets/css/adminlte.min.css create mode 100644 ems-core/web-admin/public/assets/img/circuit-board-5907811_1920-bw.png create mode 100644 ems-core/web-admin/public/assets/img/ems-logo-192x192.png create mode 100644 ems-core/web-admin/public/assets/img/wave-loader-green-sm.gif create mode 100644 ems-core/web-admin/public/assets/img/wave-loader-green.gif create mode 100644 ems-core/web-admin/public/assets/img/wave-loader-grey-sm.gif create mode 100644 ems-core/web-admin/public/assets/img/wave-loader-grey.gif create mode 100644 ems-core/web-admin/public/assets/js/adminlte.js create mode 100644 ems-core/web-admin/public/assets/js/adminlte.js.map create mode 100644 ems-core/web-admin/public/assets/js/adminlte.min.js create mode 100644 ems-core/web-admin/public/assets/js/adminlte.min.js.map create mode 100644 ems-core/web-admin/public/assets/plugins/bootstrap/css/bootstrap.min.css create mode 100644 ems-core/web-admin/public/assets/plugins/bootstrap/css/bootstrap.min.css.map create mode 100644 ems-core/web-admin/public/assets/plugins/bootstrap/js/bootstrap.bundle.js create mode 100644 ems-core/web-admin/public/assets/plugins/bootstrap/js/bootstrap.bundle.js.map create mode 100644 ems-core/web-admin/public/assets/plugins/bootstrap/js/bootstrap.bundle.min.js create mode 100644 ems-core/web-admin/public/assets/plugins/bootstrap/js/bootstrap.bundle.min.js.map create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/all.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/all.min.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/brands.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/brands.min.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/fontawesome.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/fontawesome.min.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/regular.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/regular.min.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/solid.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/solid.min.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/svg-with-js.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/svg-with-js.min.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/v4-shims.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/css/v4-shims.min.css create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/all.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/all.min.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/brands.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/brands.min.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/conflict-detection.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/conflict-detection.min.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/fontawesome.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/fontawesome.min.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/regular.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/regular.min.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/solid.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/solid.min.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/v4-shims.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/js/v4-shims.min.js create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-brands-400.eot create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-brands-400.svg create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-brands-400.ttf create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-brands-400.woff create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-brands-400.woff2 create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-regular-400.eot create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-regular-400.svg create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-regular-400.ttf create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-regular-400.woff create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-regular-400.woff2 create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-solid-900.eot create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-solid-900.svg create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-solid-900.ttf create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-solid-900.woff create mode 100644 ems-core/web-admin/public/assets/plugins/fontawesome-free/webfonts/fa-solid-900.woff2 create mode 100644 ems-core/web-admin/public/assets/plugins/jquery/jquery.min.js create mode 100644 ems-core/web-admin/public/assets/plugins/jquery/jquery.slimscroll.min.js create mode 100644 ems-core/web-admin/public/favicon.ico create mode 100644 ems-core/web-admin/public/index.html create mode 100644 ems-core/web-admin/public/login.html create mode 100644 ems-core/web-admin/src/App.vue create mode 100644 ems-core/web-admin/src/assets/img/backgrounds/circuit-board-5907811_1920-bw.png create mode 100644 ems-core/web-admin/src/assets/img/ems-logo-192x192.png create mode 100644 ems-core/web-admin/src/assets/img/ems-logo.png create mode 100644 ems-core/web-admin/src/assets/img/ems-logo.svg create mode 100644 ems-core/web-admin/src/assets/img/party.gif create mode 100644 ems-core/web-admin/src/components/7seg/7seg.vue create mode 100644 ems-core/web-admin/src/components/7seg/DSEG14-Classic/DSEG14Classic-Bold.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG14-Classic/DSEG14Classic-BoldItalic.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG14-Classic/DSEG14Classic-Italic.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG14-Classic/DSEG14Classic-Regular.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG14-Modern/DSEG14Modern-Bold.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG14-Modern/DSEG14Modern-BoldItalic.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG14-Modern/DSEG14Modern-Italic.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG14-Modern/DSEG14Modern-Regular.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-Bold.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-BoldItalic.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-Italic.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-Regular.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG7-Modern/DSEG7Modern-Bold.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG7-Modern/DSEG7Modern-BoldItalic.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG7-Modern/DSEG7Modern-Italic.woff2 create mode 100644 ems-core/web-admin/src/components/7seg/DSEG7-Modern/DSEG7Modern-Regular.woff2 create mode 100644 ems-core/web-admin/src/components/ace-editor/ace-editor.vue create mode 100644 ems-core/web-admin/src/components/card/card.html create mode 100644 ems-core/web-admin/src/components/card/card.js create mode 100644 ems-core/web-admin/src/components/card/card.vue create mode 100644 ems-core/web-admin/src/components/chartjs/chartjs.vue create mode 100644 ems-core/web-admin/src/components/clock/clock.vue create mode 100644 ems-core/web-admin/src/components/ems/sse/ems-sse.vue create mode 100644 ems-core/web-admin/src/components/ems/ts/ts.js create mode 100644 ems-core/web-admin/src/components/infobox/infobox.html create mode 100644 ems-core/web-admin/src/components/infobox/infobox.js create mode 100644 ems-core/web-admin/src/components/infobox/infobox.vue create mode 100644 ems-core/web-admin/src/components/jqvmap/jqvmap.vue create mode 100644 ems-core/web-admin/src/components/jvectormap/jvectormap.vue create mode 100644 ems-core/web-admin/src/components/knob/knob.vue create mode 100644 ems-core/web-admin/src/components/leaflet-map/leaflet-map.vue create mode 100644 ems-core/web-admin/src/components/modal/modal.vue create mode 100644 ems-core/web-admin/src/components/smallbox/smallbox.html create mode 100644 ems-core/web-admin/src/components/smallbox/smallbox.js create mode 100644 ems-core/web-admin/src/components/smallbox/smallbox.vue create mode 100644 ems-core/web-admin/src/components/sparkline/sparkline.vue create mode 100644 ems-core/web-admin/src/components/status-led/status-led.vue create mode 100644 ems-core/web-admin/src/components/worldmap/WorldMap.vue create mode 100644 ems-core/web-admin/src/components/worldmap/countries.js create mode 100644 ems-core/web-admin/src/main.js create mode 100644 ems-core/web-admin/src/resources/.env create mode 100644 ems-core/web-admin/src/router.js create mode 100644 ems-core/web-admin/src/utils.js create mode 100644 ems-core/web-admin/src/views/404.vue create mode 100644 ems-core/web-admin/src/views/about.vue create mode 100644 ems-core/web-admin/src/views/admin/admin-1-overview-header.vue create mode 100644 ems-core/web-admin/src/views/admin/admin-1-overview.vue create mode 100644 ems-core/web-admin/src/views/admin/admin-1-overview.vue.old create mode 100644 ems-core/web-admin/src/views/admin/admin-2-topology.vue create mode 100644 ems-core/web-admin/src/views/admin/admin-3-geography.vue create mode 100644 ems-core/web-admin/src/views/admin/admin-4-commands.vue create mode 100644 ems-core/web-admin/src/views/admin/admin-5-broker-cep.vue create mode 100644 ems-core/web-admin/src/views/admin/admin.vue create mode 100644 ems-core/web-admin/src/views/admin/country-coordinates.js create mode 100644 ems-core/web-admin/src/views/admin/old/admin.html create mode 100644 ems-core/web-admin/src/views/admin/old/admin.js create mode 100644 ems-core/web-admin/src/views/admin/old/admin.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/cdo-mgnt.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/client-commands.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/client-events.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/clients-list.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/command-input.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/destinations-list.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/fileexplorer.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/img/blank-64.png create mode 100644 ems-core/web-admin/src/views/admin/widgets/img/camel-model-32.png create mode 100644 ems-core/web-admin/src/views/admin/widgets/img/camel-model-64.png create mode 100644 ems-core/web-admin/src/views/admin/widgets/img/camel-model-80.png create mode 100644 ems-core/web-admin/src/views/admin/widgets/img/cp-model-32.png create mode 100644 ems-core/web-admin/src/views/admin/widgets/img/cp-model-64.png create mode 100644 ems-core/web-admin/src/views/admin/widgets/img/folder-64.png create mode 100644 ems-core/web-admin/src/views/admin/widgets/img/unknown-64.png create mode 100644 ems-core/web-admin/src/views/admin/widgets/latest-events.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/node-actions-list.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/rest-call-forms.js create mode 100644 ems-core/web-admin/src/views/admin/widgets/rest-call.vue create mode 100644 ems-core/web-admin/src/views/admin/widgets/textarea-dnd.vue create mode 100644 ems-core/web-admin/src/views/common/control-sidebar/control-sidebar.html create mode 100644 ems-core/web-admin/src/views/common/control-sidebar/control-sidebar.js create mode 100644 ems-core/web-admin/src/views/common/control-sidebar/control-sidebar.vue create mode 100644 ems-core/web-admin/src/views/common/footer/footer.html create mode 100644 ems-core/web-admin/src/views/common/footer/footer.js create mode 100644 ems-core/web-admin/src/views/common/footer/footer.vue create mode 100644 ems-core/web-admin/src/views/common/header/header.html create mode 100644 ems-core/web-admin/src/views/common/header/header.js create mode 100644 ems-core/web-admin/src/views/common/header/header.vue create mode 100644 ems-core/web-admin/src/views/common/menu-sidebar/menu-sidebar.html create mode 100644 ems-core/web-admin/src/views/common/menu-sidebar/menu-sidebar.js create mode 100644 ems-core/web-admin/src/views/common/menu-sidebar/menu-sidebar.vue create mode 100644 ems-core/web-admin/src/views/common/section/section.vue create mode 100644 ems-core/web-admin/src/views/common/title-and-breadcrumb/title-and-breadcrumb.vue create mode 100644 ems-core/web-admin/src/views/common/widgets/connection-info/connection-info.vue create mode 100644 ems-core/web-admin/src/views/common/widgets/connection-info/img/plug-blue.png create mode 100644 ems-core/web-admin/src/views/common/widgets/connection-info/img/plug-green.png create mode 100644 ems-core/web-admin/src/views/common/widgets/connection-info/img/plug-orange.png create mode 100644 ems-core/web-admin/src/views/common/widgets/connection-info/img/plug-red.png create mode 100644 ems-core/web-admin/src/views/common/widgets/connection-info/img/wave-blue.gif create mode 100644 ems-core/web-admin/src/views/common/widgets/connection-info/img/wave-green.gif create mode 100644 ems-core/web-admin/src/views/common/widgets/connection-info/img/wave-orange.gif create mode 100644 ems-core/web-admin/src/views/common/widgets/connection-info/img/wave-red.gif create mode 100644 ems-core/web-admin/src/views/common/widgets/health-info/health-info.vue create mode 100644 ems-core/web-admin/src/views/common/widgets/notifications/notifications.html create mode 100644 ems-core/web-admin/src/views/common/widgets/notifications/notifications.js create mode 100644 ems-core/web-admin/src/views/common/widgets/notifications/notifications.vue create mode 100644 ems-core/web-admin/src/views/common/widgets/search/search.vue create mode 100644 ems-core/web-admin/src/views/sample/sample.html create mode 100644 ems-core/web-admin/src/views/sample/sample.js create mode 100644 ems-core/web-admin/src/views/sample/sample.vue create mode 100644 ems-core/web-admin/vue.config.js diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e0e65d7fd2d17122c123afaf464bc53638e6525e GIT binary patch literal 6148 zcmeH~JqiLr422WjLa^D=avBfd4F=H@>;)_qZ2SR5>p8kFnIJe?i^vNkZ<3j?>{sk; zL`2uOaV64=$P8{OOAC!D@=iuM$WgBM;c_~hPkYp?K8drohWFC!$2NroNPq-LfCNb3 zhX~lc4V%rYGLirZkie6GeIF9sG>4X|{^>yQ5dhku?1r_^63}D?Xbvq^QGsbp4;roN zV~Ewg9h%}?4lPw{yJ!p_8c$Z6VqjX^MH3R3W)}t$Ac2O!wC26t|6BN{`M+slN&+PC zX9Tp{44XAxD(=>|*R%RAsTesting of New EMS Features + + +## New features of EMS + +- Support for **Resource-Limited (RL)** nodes, like edge devices or small VMs +- Support for **Self-Healing** monitoring topology (partially implemented) + + +## Definitions +We distinguish between ***Resource-Limited (RL)*** nodes and ***Normal or Non-RL*** nodes. + +- **Normal nodes** are VMs have enough resources, where an EMS client will be installed, along with JRE and Netdata. +- **RL nodes** are VMs with few resources, where only Netdata will be installed. +- Currently, EMS will classify a VM as an RL node if: + * it has 1 or 2 cores, or + * it has 2GB of RAM or less, or + * it has Total Disk space 1GB or less, or + * its architecture name starts with `ARM` (it will normally be `x86_64`). + * Thresholds can be changed in `gr.iccs.imu.ems.baguette-client-install.properties` file. + + +We also distinguish between ***Monitoring Topologies***: + +- **2-LEVEL Monitoring Topology**: Nodes send their metrics directly to EMS server. + + * Includes an EMS server, and any number of Normal and/or RL nodes. + * No clustering occurs in 2-LEVEL topologies, hence Aggregator role is not used. + * CAMEL Metric Models will only use `GLOBAL` and `PER_INSTANCE` groupings or no groupings at all (`GLOBAL` and `PER_INSTANCE` are then implied). + +- **3-LEVEL Monitoring Topology**: Nodes send their metrics to cluster-wide Aggregators, then Aggregators send (composite) metrics to EMS server. + + * Includes an EMS server, Aggregators (one per cluster), and Normal and/or RL nodes. + * Nodes are groupped into clusters. Each cluster has a node with the Aggregator role. + * Only Normal nodes can be Aggregators. + * There must be exactly one Aggregator per cluster. + * Each cluster must have at least one Normal node (in order to become Aggregator). + * CAMEL Metric Model will use `GLOBAL`, `PER_ZONE` / `PER_REGION` / `PER_CLOUD`, and `PER_INSTANCE` groupings. + + Clustering of nodes is used for faster failure detection, as well as distribution of load: + - Only 3-LEVEL topologies are clustered. + - 2-LEVEL topologies are not clustered. + + Currently, nodes are clustered based on their: + - Availability Zone or Region or Cloud Service Provider, or + - assigned to a default cluster. + + +------ + + +## A) Support for Resource-Limited nodes +> Feature Quick Notes: +> - EMS server will NOT install EMS client and JRE in RL nodes. +> - EMS server will install Netdata in RL nodes. +> - EMS server or an Aggregator will periodically query Netdata agents of RL nodes for metrics. +> - Normal nodes will periodically query their Local Netdata agent for metrics. + + + +### Test Cases + +**A.1) Metrics collection from RL nodes in a 2-LEVEL topology** + +> Test Case Quick Notes: +> - EMS server MUST log when it collects metrics from RL nodes. +> - EMS server MUST *NOT* log or collect metrics from Normal (Non-RL) nodes. +> - Normal nodes MUST log when they collect metrics from their Local Netdata agents. (The Log records are slightly different). + +**You need a CAMEL model:** + +* with two Requirement Sets: + - for Normal nodes: 4 cores, 4GB RAM, >1 GB Disk, and + - for RL nodes: 1-2 cores, or <2GB RAM, or <1GB Disk +* with 1-2 COMPONENTS using Requirement Set #1 (Normal nodes) +* with 1-2 COMPONENTS with Requirement Set #2 (RL nodes) +* with no Groupings in Metric Model + +**After Application deployment you need to check the logs of:** + +* ***EMS server***, for log messages about collecting metrics from RL-nodes' Netdata agents. E.g. + + ``` + e.m.e.c.c.netdata.NetdataCollector : Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.32.2, 192.168.32.4] + e.m.e.c.c.netdata.NetdataCollector : Collectors::Netdata: Collecting data from url: http://192.168.32.2:19999/api/v1/allmetrics?format=json + e.m.e.c.c.netdata.NetdataCollector : Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + e.m.e.c.c.netdata.NetdataCollector : Collectors::Netdata: Collecting data from url: http://192.168.32.4:19999/api/v1/allmetrics?format=json + e.m.e.c.c.netdata.NetdataCollector : Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ``` + +* ***Normal nodes***, for log messages about collecting metrics from their Local Netdata agent + + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ``` + + + +**A.2) Metrics collection from RL nodes in a 3-LEVEL topology** + +> Test Case Quick Notes: +> - The Aggregator (it is a Normal node) MUST log each time it collects metrics from RL nodes in its cluster. +> - The Aggregator MUST *NOT* log or collect metrics from Normal (Non-RL) nodes in its cluster. +> - Normal nodes (including Aggregator) MUST log each time they collect metrics from their Local Netdata agents. (The Log records are slightly different). + +**You need a CAMEL model:** + +* with two Requirement Sets: + - for Normal nodes: 4 cores, 4GB RAM, >1 GB Disk, and + - for RL nodes: 1-2 cores, or <2GB RAM, or <1GB Disk +* with 1-2 COMPONENTS with Requirement Set #1 (Normal nodes) +* with 1-2 COMPONENTS with Requirement Set #2 (RL nodes) +* with three (3) Groupings used in the Metric Model (`GLOBAL`, `PER_ZONE`, `PER_INSTANCE`) + +**After Application deployment you need to check the logs of:** + +* ***EMS server***, for NO logs related collecting metrics from any Netdata agent +* ***Aggregator node(s)***, for logs about collecting metrics from the Netdata agents of RL nodes, in the same cluster. E.g. + + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.96.2, 192.168.96.5] + Collectors::Netdata: Collecting data from url: http://192.168.96.2:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting data from url: http://192.168.96.5:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ``` + +* ***Normal nodes*** (including Aggregator node), for logs about collecting metrics from their Local Netdata agents. E.g. + + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ``` + + + +------ + +## B) Support for Monitoring Self-Healing +> Feature Quick Notes: +> - Self-Healing refers to recovering the monitoring software running at the nodes. +> - In Normal nodes, specifically refers to recovering of EMS client and/or Netdata agent. +> - In RL nodes, refers to recovering Netdata agent only. + + + +#### Design Choices + +1. Each EMS client (in a Normal node) is responsible for recovering the Local Netdata agent, collocated with it. +2. When clustering is used (i.e. in a 3-level topology), Aggregator is responsible for recovering other nodes in its cluster, both Normal and RL. +3. When clustering is not used (i.e. in a 2-level topology), EMS server is responsible for recovering nodes (both Normal and RL). + + + +#### Self-Healing actions + +We distinguish between monitoring topologies: + +* **2-LEVEL Monitoring topology:** Only EMS server and nodes (Normal & RL) are used. No Aggregators or clustering. + + * EMS server will try to recover any *Normal node* that disconnects and not reconnects after a configured period of time. + + ***Condition:*** + + * EMS client disconnects and not re-connects after X seconds + + ***Recovery steps taken by EMS server:*** + + * SSH to node (assuming it is a VM) + * Kill EMS client (if it is still running) + * Launch EMS client + * Close SSH connection + * Wait for a configured period of time for recovered EMS client to reconnect to EMS server + * After that period of time, the process is repeated (up to a configured number of retries, and then gives up). + + * EMS server will try to recovery any *RL node* with inaccessible Netdata agent. + + ***Condition:*** + + * X consecutive connection failures to Netdata agent occur. + + ***Recovery steps taken by EMS server:*** + + * SSH to node (assuming it is a VM) + * Kill Netdata (if it is still running) + * Launch Netdata + * Close SSH connection + * Reset the consecutive failures counter. + + +* **3-LEVEL Monitoring topology:** EMS server, Aggregators (one per cluster), and Nodes in clusters exist. Use of clustering. + + * Aggregator will try to recover any *Normal node* that leaves the cluster and not joins back in a configured period of time. + + ***Condition:*** + + * EMS client leaves cluster and not joins back after X seconds + + ***Recovery steps taken by Aggregators:*** + + * Contact EMS server to get node's credentials + * SSH to node (assuming it is a VM) + * Kill EMS client (if it is still running) + * Launch EMS client + * Close SSH connection + * Wait for a configured period of time for EMS client to join back to cluster + * After that period of time the process is repeated (up to a configured number of retries, and then it gives up and notifies EMS server) + * When EMS client joins to cluster or in case of giving up, the node credentials are cleared from Aggregator's cache. + + * Aggregator will try to recover any *RL node* with inaccessible Netdata agent. + + ***Condition:*** + + * X consecutive connection failures to Netdata agent occur. + + ***Recovery steps taken by Aggregators:*** + + * Contact EMS server to get node's credentials + * SSH to node (assuming it is a VM) + * Kill Netdata agent (if it is still running) + * Launch Netdata agent + * Close SSH connection + * Reset the consecutive failures counter + * On successful connection to Netdata agent the node credentials are cleared from Aggregator cache. + + +* **2-LEVEL or 3-LEVEL Monitoring topology** + + * Any Normal node will try to recover its Local Netdata agent, if it becomes inaccessible. + + ***Condition:*** + + * X consecutive connection failures to Local Netdata agent occur. + + ***Recovery steps (taken by NORMAL node):*** + + * Kill Netdata agent (if it is still running) + * Launch Netdata agent + * Reset the consecutive failures counter + + + +### Test Cases for 2-LEVEL topology + +> ***PREREQUISITE:*** +> +> You need a CAMEL model with a 2-LEVEL monitoring topology: +> +> * with two Requirement Sets: +> - for Normal nodes: 4 cores, 4GB RAM, >1 GB Disk, and +> - for RL nodes: 1-2 cores, or <2GB RAM, or <1GB Disk +> * with 1-2 components with Requirement Set #1 (Normal nodes) +> * with 1-2 components with Requirement Set #2 (RL nodes) +> * with no Groupings used in Metric Model. +> +> This CAMEL model is ***common*** to the following test cases, unless another CAMEL model is specified. +> +> CAMEL model MUST be re-deployed after each test case execution. + + + +**B.1.a) Successful recovery of an EMS client in a Normal node** + +> Test Case Quick Notes: +> - Kill EMS client of any Normal node. +> - The EMS server will recover the killed EMS client after a configured period of time. +> - Check EMS server logs for disconnection, recovery actions and re-connection messages. + +**After Application deployment...** + + * Connect to a Normal node and ***kill*** EMS client + +**Next, check the logs of:** + + * ***EMS server***, for messages reporting an EMS client disconnection, the recovery attempt(s) and EMS client re-connection. + + *

EMS server log: An EMS client disconnected

* + ``` + e.m.e.b.server.ClientShellCommand : #00000==> Signaling client to exit + e.m.e.b.server.ClientShellCommand : #00000--> Thread stops + e.m.e.b.s.coordinator.NoopCoordinator : TwoLevelCoordinator: unregister(): Method invoked. CSC: ClientShellCommand_#00000 + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: -------------------------------------------------- + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: Client unregistered: #00000 @ 172.29.0.3 + e.m.e.b.c.s.ClientRecoveryPlugin : ClientRecoveryPlugin: processExitEvent(): client-id=#00000, client-address=172.29.0.3 + ``` + *

EMS server log: EMS client recovery actions

* + ``` + e.m.e.b.c.s.ClientRecoveryPlugin : ClientRecoveryPlugin: runClientRecovery(): Starting client recovery: node-info=NodeRegistryEntry(ipAddress=172.29.0.3, clientId=VM-UBUNTU-vm1-vm1-AWS-vm1-85499eeb-14bc-481d-9c42-eac879845450, baguetteServer=eu.melodi + o.a.s.c.k.AcceptAllServerKeyVerifier : Server at /172.29.0.3:22 presented unverified EC key: SHA256:gNU4ScwysUpv050SaorPj7zlZrkiyGq4YSsOGBl+DCk + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task #0: Session will be recorded in file: /logs/172.29.0.3-22-2022.02.16.09.33.31.121-0.txt + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Connected to remote host: task #0: host: 172.29.0.3:22 + e.m.e.b.c.install.SshClientInstaller : + ---------------------------------------------------------------------- + Task #0 : Instruction Set: Restarting Baguette agent at VM node + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task #0: Executing installation instructions set: Restarting Baguette agent at VM node + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task #0: Executing instruction 1/2: Killing previous EMS client process + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task #0: EXEC: /opt/baguette-client/bin/kill.sh + o.a.s.c.session.ClientConnectionService : globalRequest(ClientConnectionService[ClientSessionImpl[ubuntu@/172.29.0.3:22]])[hostkeys-00@openssh.com, want-reply=false] failed (SshException) to process: EdDSA provider not supported + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task #0: EXEC: exit-status=0 + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task #0: Executing instruction 2/2: Starting new EMS client process + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task #0: EXEC: /opt/baguette-client/bin/run.sh + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task #0: EXEC: exit-status=0 + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task #0: Installation Instructions set succeeded: Restarting Baguette agent at VM node + e.m.e.b.c.install.SshClientInstaller : + ------------------------------------------------------------------------- + Task #0 : Instruction sets processed: successful=1, failed=0, exit-result=SUCCESS + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Disconnected from remote host: task #0: host: 172.29.0.3:22 + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Task completed successfully #0 + e.m.e.b.c.s.ClientRecoveryPlugin : ClientRecoveryPlugin: runClientRecovery(): Client recovery completed: result=true, node-info=NodeRegistryEntry(ipAddress=172.29.0.3, clientId=VM-UBUNTU-vm1-vm1-AWS-vm1-85499eeb-14bc-481d-9c42-eac879845450, baguetteSe + ``` + *

EMS server log: EMS client reconnected

* + ``` + o.a.s.s.session.ServerUserAuthService : Session user-bbb5b809-3296-485c-a605-cc8bae646bbb@/172.29.0.3:39696 authenticated + e.m.e.b.server.ClientShellCommand : #00001--> Got session : ServerSessionImpl[user-bbb5b809-3296-485c-a605-cc8bae646bbb@/172.29.0.3:39696] + e.m.e.b.server.ClientShellCommand : #00001==> Thread started + e.m.e.b.server.ClientShellCommand : #00001--> Client Id: VM-UBUNTU-vm1-vm1-AWS-vm1-85499eeb-14bc-481d-9c42-eac879845450 + e.m.e.b.server.ClientShellCommand : #00001--> Broker URL: ssl://172.29.0.3:61617?daemon=true&trace=false&useInactivityMonitor=false&connectionTimeout=0&keepAlive=true + e.m.e.b.server.ClientShellCommand : #00001--> Broker Username: user-local-Q1mnKfNgzM + e.m.e.b.server.ClientShellCommand : #00001--> Broker Password: xityAHGDhIiVeAxJdfax + e.m.e.b.server.ClientShellCommand : #00001--> Broker Cert.: -----BEGIN CERTIFICATE----- + ......................... + -----END CERTIFICATE----- + e.m.e.b.server.ClientShellCommand : #00001--> Adding/Replacing client certificate in Truststore: alias=172.29.0.3 + e.m.e.b.server.ClientShellCommand : #00001--> Added/Replaced client certificate in Truststore: alias=172.29.0.3, CN=C=GR, ST=Attika, L=Athens, O=Institute of Communication and Computer Systems (ICCS), OU=Information Management Unit (IMU), CN=172.29.0.3, certificate-na + e.m.e.b.s.coordinator.NoopCoordinator : TwoLevelCoordinator: register(): Method invoked. CSC: ClientShellCommand_#00001 + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: -------------------------------------------------- + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: Sending grouping configurations to client #00001... + ......................... + e.m.e.b.server.ClientShellCommand : sendGroupingConfiguration: Serialization of Grouping configuration for PER_INSTANCE: rO0ABXNyACt......................... + e.m.e.b.server.ClientShellCommand : #00001==> PUSH : SET-GROUPING-CONFIG rO0ABXNyACt......................... + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: Sending grouping configurations to client #00001... done + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: -------------------------------------------------- + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: Setting active grouping of client #00001: PER_INSTANCE + e.m.e.b.server.ClientShellCommand : #00001==> PUSH : SET-ACTIVE-GROUPING PER_INSTANCE + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: -------------------------------------------------- + e.m.e.b.server.ClientShellCommand : #00001--> Client grouping changed: null --> PER_INSTANCE + ``` + * ***Normal node where EMS client killed***, for EMS client's logs indicating its restart. + *

Normal node: EMS client restarts

* + ``` + Starting baguette client... + EMS_CONFIG_DIR=/opt/baguette-client/conf + LOG_FILE=/opt/baguette-client/logs/output.txt + ____ _ _ _____ _ _ _ + | _ \ | | | | / ____| (_) | | + | |_) | __ _ __ _ _ _ ___| |_| |_ ___ | | | |_ ___ _ __ | |_ + | _ < / _` |/ _` | | | |/ _ \ __| __/ _ \ | | | | |/ _ \ '_ \| __| + | |_) | (_| | (_| | |_| | __/ |_| || __/ | |____| | | __/ | | | |_ + |____/ \__,_|\__, |\__,_|\___|\__|\__\___| \_____|_|_|\___|_| |_|\__| + __/ | + |___/ + Starting BaguetteClient v4.5.0-SNAPSHOT on 21845bcaf772 with PID 779 (/opt/baguette-client/jars/baguette-client-4.5.0-SNAPSHOT.jar started by ubuntu in /opt/baguette-client) + No active profile set, falling back to default profiles: default + loadCachedClientId: Used cached Client Id: null + Password encoder class name is empty. Default instance of PasswordEncoder will be created + ......................... + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ......................... + ``` + * ***Other Normal nodes***, for NO logs indicating failure or recovery attempts. + + + +**B.1.b) Failed recovery of EMS client in a Normal node** + +> Test Case Quick Notes: +> - Kill the VM of any Normal node. +> - The EMS server will try to connect to the affected VM but fail. +> - After a configured number of retries EMS server will give up. + +**After Application deployment...** + + * Terminate the VM of a Normal node + +**Next, check the logs of:** + + * ***EMS server***, for messages reporting an EMS client disconnection, failed recovery attempts and giving up recovery + + *

EMS server log: An EMS client disconnected

* + ``` + e.m.e.b.server.ClientShellCommand : #00001==> Signaling client to exit + e.m.e.b.server.ClientShellCommand : #00001--> Thread stops + e.m.e.b.s.coordinator.NoopCoordinator : TwoLevelCoordinator: unregister(): Method invoked. CSC: ClientShellCommand_#00001 + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: -------------------------------------------------- + e.m.e.b.s.c.TwoLevelCoordinator : TwoLevelCoordinator: Client unregistered: #00001 @ 172.29.0.3 + e.m.e.b.c.s.ClientRecoveryPlugin : ClientRecoveryPlugin: processExitEvent(): client-id=#00001, client-address=172.29.0.3 + ``` + *

EMS server log: EMS client recovery actions and give up message

* + ``` + e.m.e.b.c.s.ClientRecoveryPlugin : ClientRecoveryPlugin: runClientRecovery(): Starting client recovery: node-info=NodeRegistryEntry(ipAddress=172.29.0.3, clientId=VM-UBUNTU-vm1-vm1-AWS-vm1-85499eeb-14bc-481d-9c42-eac879845450, baguetteServer=eu.melodi + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Error while connecting to remote host: task #0: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Failed executing task #0, Exception: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + ......................... + ......................... + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Retry 5/5 executing task #0 + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Error while connecting to remote host: task #0: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Failed executing task #0, Exception: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + + e.m.e.b.c.install.SshClientInstaller : SshClientInstaller: Giving up executing task #0 after 5 retries + e.m.e.b.c.s.ClientRecoveryPlugin : ClientRecoveryPlugin: runClientRecovery(): Client recovery completed: result=false, node-info=NodeRegistryEntry(ipAddress=172.29.0.3, clientId=VM-UBUNTU-vm1-vm1-AWS-vm1-85499eeb-14bc-481d-9c42-eac879845450, baguetteS + ``` + * ***Normal nodes that operate***, for NO logs indicating any failure or recovery attempts + + + +**B.2.a) Successful recovery of a Netdata agent in a RL node** + +> Test Case Quick Notes: +> - Kill Netdata agent of any RL node. +> - The EMS server will recover the killed Netdata agent after a configured period of time. +> - Check EMS server log messages reporting failures to collect metrics, recovery actions, and successful metrics collection. + +**After Application deployment...** + + * Connect to a RL node and kill Netdata agent. + + *

EMS server log: Failed metric collection attempts from a Netdata agent

* + ``` + ......................... Not yet implemented + ``` + +**Next, check the logs of:** + + * ***EMS server***, for logs reporting connection failure to a Netdata agent, and recovery actions. + + *

EMS server log: Netdata agent recovery actions

* + ``` + ......................... Not yet implemented + ``` + * ***RL node with killed Netdata***, check if the Netdata processes have started again. + *

RL node shell: Recovered Netdata agent process

* + ``` + ......................... Not yet implemented + ``` + * ***Normal nodes (that operate)***, for NO Logs indicating failure or recovery attempts. + + + +**B.2.b) Failed recovery of a Netdata agent in a RL node** + +> Test Case Quick Notes: +> - Kill the VM of any RL node. +> - The EMS server will try to connect to the affected VM but fail. +> - After a configured number of retries EMS server will give up. + +**After Application deployment...** + + * Terminate the VM of a RL node + +**You need to check the logs of:** + + * ***EMS server***, for logs reporting connection failure to a Netdata agent, and then a number of failed attempts to connect to VM. + + *

EMS server log: Failed metric collection attempts from a Netdata agent

* + ``` + ......................... Not yet implemented + ``` + *

EMS server log: Failed Netdata agent recovery actions and give up message

* + ``` + ......................... Not yet implemented + ``` + * ***Normal nodes (that operate)***, for NO logs indicating connection failures or recovery actions. + + + +**B.3) Successful recovery of a Netdata agent in a Normal node** + +> Test Case Quick Notes: +> - Kill Netdata agent of any Normal node. +> - The EMS client of the node will recover the killed Netdata agent after a configured period of time. +> - Check EMS client's logs for messages reporting failures to collect metrics, recovery actions, and successful metrics collection. + +**After Application deployment...** + + * Connect to a Normal node and kill Netdata agent. + +**Next, check the logs of:** + + * ***EMS server***, for No log messages indicating connection failures to Netdata, or recovery actions. + * ***Normal node with killed Netdata***, check if the Netdata processes have started again. Also check EMS client's log messages reporting failed metric collections, recovery actions, and successful metric collection. + + *

Normal node - EMS client log: Failed attempts to collect metrics from Local Netdata agent

* + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: , #errors=1, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://127.0.0.1:19999/api/v1/allmetrics": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) -> java.net.ConnectException: Connection refused (Connection refused) + + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: , #errors=2, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://127.0.0.1:19999/api/v1/allmetrics": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) -> java.net.ConnectException: Connection refused (Connection refused) + + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: , #errors=3, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://127.0.0.1:19999/api/v1/allmetrics": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) -> java.net.ConnectException: Connection refused (Connection refused) + Collectors::Netdata: Too many consecutive errors occurred while attempting to collect metrics from node: , num-of-errors=3 + Collectors::Netdata: Will pause metrics collection from node for 60 seconds: + SelfHealingPlugin: createRecoveryTask(): Created recovery task for Node: id=null, address= + ``` + *

Normal node - EMS client log: Local Netdata agent recovery actions

* + ``` + SelfHealingPlugin: Retry #0: Recovering node: id=null, address= + ShellRecoveryTask: runNodeRecovery(): Executing 3 recovery commands + ############## Initial wait...... + ############## Waiting for 5000ms after Initial wait...... + ############## Sending Netdata agent kill command...... + ############## Waiting for 2000ms after Sending Netdata agent kill command...... + ############## Sending Netdata agent start command...... + ############## Waiting for 10000ms after Sending Netdata agent start command...... + ShellRecoveryTask: runNodeRecovery(): Executed 3 recovery commands + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Node is in ignore list: + OUT> /opt/baguette-client + ERR> -U: 1: -U: Syntax error: Unterminated quoted string + ERR> 2022-02-16 10:23:29: netdata INFO : MAIN : CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/cloud.conf'. Running with internal defaults. + ``` + *

Normal node - EMS client log: Successful metrics collection from Local Netdata agent

* + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Node is in ignore list: + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Node is in ignore list: + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Node is in ignore list: + + Collectors::Netdata: Resumed metrics collection from node: + SelfHealingPlugin: cancelRecoveryTask(): Cancelled recovery task for Node: id=null, address= + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ``` + * ***Normal nodes (that operate)***, for NO logs indicating connection failures or recovery actions. + + + +### Test Cases for 3-LEVEL topology + +> ***PREREQUISITE:*** +> +> You need a CAMEL model for 3-LEVEL topology: +> +> * with two Requirement Sets: +> - for Normal nodes: 4 cores, 4GB RAM, >1 GB Disk, and +> - for RL nodes: 1-2 cores, or <2GB RAM, or <1GB Disk, +> * with 1-2 COMPONENTS with Requirement Set #1 (Normal nodes) +> * with 1-2 COMPONENTS with Requirement Set #2 (RL nodes) +> * with three (3) Groupings used in the Metric Model (`GLOBAL`, `PER_ZONE`, `PER_INSTANCE`). +> +> This CAMEL model is ***common*** to the following test cases, unless another CAMEL model is specified. +> +> CAMEL model MUST be re-deployed after each test case execution. + + + +**B.4.a) Successful recovery of an EMS client in a clustered Normal node** + +> Test Case Quick Notes: +> - Kill EMS client of any Normal node except the Aggregator. +> - The Aggregator will recover the killed EMS client after a configured period of time. +> - Check Aggregator log messages for node leaving cluster, recovery actions, and node joining back. + +**After Application deployment...** + + * Connect to a Normal node, except Aggregator, and ***kill*** EMS client + +**Next, check the logs of:** + + * ***EMS server***, for Aggregator's query for node credentials. + *

EMS server log: Aggregator queries for node's credentials

* + ``` + e.m.e.b.server.ClientShellCommand : #00000==> PUSH : {"random":"cecab3d4-4c09-43b1-b6fa-3534d37bbc8f","zone-id":"IMU-ZONE","address":"192.168.16.4","provider":"AWS","name":"vm2","ssh.port":"22","ssh.username":"ubuntu","ssh.password":"ubuntu","id":"vm2","type":"VM","operatingSystem":"UBUNTU","CLIENT_ID":"VM-UBUNTU-vm2-vm2-AWS-vm2-cecab3d4-4c09-43b1-b6fa-3534d37bbc8f",......................... + ``` + Note: EMS client disconnection from EMS server will also be logged in EMS server logs, but no recovery action will be taken by EMS server. + + * ***Aggregator***, for log messages about, (i) EMS client leaving cluster, (ii) recovery actions, and (iii) EMS client joining back to the cluster. + *

Aggregator log: An EMS client left cluster

* + ``` + CLM: MEMBER_REMOVED: node=node_3866738cb0f4_2002 + BRU: Brokers after cluster change: [Member{id=node_581d745be52c_2001, address=192.168.16.3:2001, properties={aggregator-connection-configuration=eyJncm91cGluZyI6I......................... + SEND: SERVER-GET-NODE-SSH-CREDENTIALS 192.168.16.4 + SelfHealingPlugin: createRecoveryTask(): Created recovery task for Node: id=node_3866738cb0f4_2002, address=192.168.16.4 + ``` + *

Aggregator log: EMS client recovery actions

* + ``` + SelfHealingPlugin: Retry #0: Recovering node: id=node_3866738cb0f4_2002, address=192.168.16.4 + VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address=192.168.16.4, port=22, username=ubuntu + Connecting to server... + SSH client is ready + VmNodeRecoveryTask: runNodeRecovery(): Executing 3 recovery commands + ############## Initial wait...... + ############## Waiting for 5000ms after Initial wait...... + ############## Sending baguette client kill command...... + ############## Waiting for 2000ms after Sending baguette client kill command...... + ############## Sending baguette client start command...... + ############## Waiting for 10000ms after Sending baguette client start command...... + SET-CLIENT-CONFIG rO0ABXNyAClldS5tZWxvZGljLmV2ZW50LnV0aWwuQ2xpZW50Q29uZmlndXJhdGlvbiAe4raCjfZzAgABTAASbm9kZXNXaXRob3V0Q2xpZW50dAAPTGphdmEvdXRpbC9TZXQ7eHBzcgARamF2YS51dGlsLkhhc2hTZXS6RIWVlri3NAMAAHhwdwwAAAAQP0AAAAAAAAB4 + New client config.: ClientConfiguration(nodesWithoutClient=[]) + VmNodeRecoveryTask: runNodeRecovery(): Executed 3 recovery commands + VmNodeRecoveryTask: disconnectFromNode(): Disconnecting from node: address=192.168.16.4, port=22, username=ubuntu + Stopping SSH client... + SSH client stopped + OUT> Last login: Sat Feb 12 10:40:09 2022 from 172.29.0.4 + OUT> + OUT> pwd + OUT> ubuntu@3866738cb0f4:~$ pwd + OUT> /home/ubuntu + OUT> ubuntu@3866738cb0f4:~$ /opt/baguette-client/bin/kill.sh + OUT> Baguette client is not running + OUT> ubuntu@3866738cb0f4:~$ /opt/baguette-client/bin/run.sh + OUT> Starting baguette client... + OUT> EMS_CONFIG_DIR=/opt/baguette-client/conf + OUT> LOG_FILE=/opt/baguette-client/logs/output.txt + OUT> Baguette client PID: 973 + VmNodeRecoveryTask: redirectSshOutput(): Connection closed: id=OUT + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ``` + *

Aggregator log: EMS client joined back to cluster

* + ``` + CLM: MEMBER_ADDED: node=node_3866738cb0f4_2002 + BRU: Brokers after cluster change: [Member{id=node_581d745be52c_2001, address=192.168.16.3:2001, properties={aggregator-connection-configuration=eyJncm91cGluZyI6I......................... + SelfHealingPlugin: cancelRecoveryTask(): Cancelled recovery task for Node: id=node_3866738cb0f4_2002, address=192.168.16.4 + ``` + * ***Normal node whose EMS client killed***, for EMS client's logs indicating its restart. + *

Normal node: EMS client restarts

* + ``` + Starting baguette client... + EMS_CONFIG_DIR=/opt/baguette-client/conf + LOG_FILE=/opt/baguette-client/logs/output.txt + ____ _ _ _____ _ _ _ + | _ \ | | | | / ____| (_) | | + | |_) | __ _ __ _ _ _ ___| |_| |_ ___ | | | |_ ___ _ __ | |_ + | _ < / _` |/ _` | | | |/ _ \ __| __/ _ \ | | | | |/ _ \ '_ \| __| + | |_) | (_| | (_| | |_| | __/ |_| || __/ | |____| | | __/ | | | |_ + |____/ \__,_|\__, |\__,_|\___|\__|\__\___| \_____|_|_|\___|_| |_|\__| + __/ | + |___/ + Starting BaguetteClient v4.5.0-SNAPSHOT on 3866738cb0f4 with PID 973 (/opt/baguette-client/jars/baguette-client-4.5.0-SNAPSHOT.jar started by ubuntu in /opt/baguette-client) + No active profile set, falling back to default profiles: default + loadCachedClientId: Used cached Client Id: null + Password encoder class name is empty. Default instance of PasswordEncoder will be created + PasswordUtil.setPasswordEncoder(): PasswordEncoder set to: password.gr.iccs.imu.ems.util.AsterisksPasswordEncoder + PasswordUtil: Initialized default Password Encoder: password.gr.iccs.imu.ems.util.AsterisksPasswordEncoder + BrokerConfig.initializeKeyAndCert(): Initializing keystore, truststore and certificate for Broker-SSL... + KeystoreUtil.initializeKeystoresAndCertificate(): Initializing keystores and certificate + BrokerConfig.initializeKeyAndCert(): Initializing keystore, truststore and certificate for Broker-SSL... done + BrokerConfig: Creating new Broker Service instance: url=ssl://0.0.0.0:61617 + ......................... + ......................... + CLUSTER-JOIN IMU-ZONE GLOBAL:PER_ZONE:PER_INSTANCE start-election=true 192.168.16.4:2002 192.168.16.3:2001 + CLUSTER-JOIN ARGS: cluster-id=IMU-ZONE, groupings=GLOBAL:PER_ZONE:PER_INSTANCE, local-node=192.168.16.4:2002, other-nodes=[192.168.16.3:2001] + CLUSTER-JOIN ARGS: Groupings: global=GLOBAL, aggregator=PER_ZONE, node=PER_INSTANCE + CLM: Local address used for building Atomix: 192.168.16.4:2002 + CLM: Building Atomix: Other members: [Node{id=node_3866738cb0f4_2001, address=192.168.16.3:2001}] + ......................... + ......................... + CLUSTER-EXEC broker list + Cluster executes command: broker list + CLI: Node status and scores: + CLI: node_581d745be52c_2001 [AGGREGATOR, 0.6640625, 9e790362-704c-4d9e-aa74-77f76e297816] + CLI: node_3866738cb0f4_2002 [CANDIDATE, 0.6640625, 44a5afb7-890a-4090-9f80-c65f046aeddd] + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ``` + * ***Other Normal nodes***, for logs about, (i) EMS client leaving cluster, (ii) EMS client joining to cluster, but NO logs about recovery actions. + + + +**B.4.b) Failed recovery of an EMS client in a clustered Normal node** + +> Test Case Quick Notes: +> - Kill the VM of any Normal node, except Aggregator. +> - The Aggregator will try to connect to the affected VM but fail. +> - After a configured number of retries Aggregator will give up. + +**After Application deployment...** + + * Terminate the VM of a Normal node, except the Aggregator's + +**Next, check the logs of:** + + * ***EMS server***, for a recovery Give up message from Aggregator + *

EMS server log: Aggregator queries for node's credentials

* + ``` + e.m.e.b.server.ClientShellCommand : #00000==> PUSH : {"random":"cecab3d4-4c09-43b1-b6fa-3534d37bbc8f","zone-id":"IMU-ZONE","address":"192.168.16.4","provider":"AWS","name":"vm2","ssh.port":"22","ssh.username":"ubuntu","ssh.password":"ubuntu","id":"vm2","type":"VM","operatingSystem":"UBUNTU","CLIENT_ID":"VM-UBUNTU-vm2-vm2-AWS-vm2-cecab3d4-4c09-43b1-b6fa-3534d37bbc8f",......................... + ``` + *

EMS server log: Aggregator give up message

* + ``` + e.m.e.b.server.ClientShellCommand : #00000--> Client notification: CMD=RECOVERY, ARGS=GIVE_UP node_3866738cb0f4_2002 @ 192.168.16.4 + e.m.e.b.server.ClientShellCommand : #00000--> Client Recovery Notification: GIVE_UP: node_3866738cb0f4_2002 @ 192.168.16.4 + ``` + Note: EMS client disconnection from EMS server will also be logged in EMS server logs, but no recovery action will be taken by EMS server. + + * ***Aggregator***, for messages reporting, (i) an EMS client left cluster, (ii) a number of failed connection attempts to the VM, and (iii) a recovery give up message. + *

Aggregator log: An EMS client left cluster

* + ``` + CLM: MEMBER_REMOVED: node=node_3866738cb0f4_2002 + BRU: Brokers after cluster change: [Member{id=node_581d745be52c_2001, address=192.168.16.3:2001, properties={aggregator-connection-configuration=eyJncm91cGluZyI6I......................... + SEND: SERVER-GET-NODE-SSH-CREDENTIALS 192.168.16.4 + SelfHealingPlugin: createRecoveryTask(): Created recovery task for Node: id=node_3866738cb0f4_2002, address=192.168.16.4 + ``` + *

Aggregator log: EMS client recovery actions and give up message

* + ``` + SelfHealingPlugin: Retry #0: Recovering node: id=node_3866738cb0f4_2002, address=192.168.16.4 + VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address=192.168.16.4, port=22, username=ubuntu + Connecting to server... + SelfHealingPlugin: EXCEPTION while recovering node: node-address=192.168.16.4 -- Exception: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + ......................... + ......................... + SelfHealingPlugin: Retry #3: Recovering node: id=node_3866738cb0f4_2002, address=192.168.16.4 + VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address=192.168.16.4, port=22, username=ubuntu + Connecting to server... + SelfHealingPlugin: EXCEPTION while recovering node: node-address=192.168.16.4 -- Exception: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + ``` + ``` + SelfHealingPlugin: Max retries reached. No more recovery retries for node: id=node_3866738cb0f4_2002, address=192.168.16.4 + SelfHealingPlugin: cancelRecoveryTask(): Cancelled recovery task for Node: id=node_3866738cb0f4_2002, address=192.168.16.4 + NOTIFY-X: RECOVERY GIVE_UP node_3866738cb0f4_2002 @ 192.168.16.4 + ``` + * ***Normal nodes that operate***, for logs about EMS client leaving cluster, and NO logs about recovery actions or EMS client joining back. + + + +**B.5.a) Successful recovery of EMS client of the cluster Aggregator** + +> Test Case Quick Notes: +> - Kill EMS client of the Aggregator. +> - The cluster nodes will elect a new Aggregator. Check logs of any cluster node. +> - The new Aggregator will recover the killed EMS client after a configured period of time. +> - Check new Aggregator log messages for node leaving cluster, being elected as Aggregator, recovery actions, and node joining back. +> - Old Aggregator will join back as a Normal node. + +**After Application deployment...** + + * Connect to the Aggregator node, and ***kill*** EMS client. + +**Next, check the logs of:** + + * ***EMS server***, for message about Aggregator change. + *

EMS server log: A new Aggregator initialized

* + ``` + e.m.e.b.server.ClientShellCommand : #00003--> Client status changed: CANDIDATE --> INITIALIZING + e.m.e.b.server.ClientShellCommand : #00003--> Client grouping changed: PER_INSTANCE --> PER_ZONE + e.m.e.b.s.c.c.ClusteringCoordinator : Updated aggregator of zone: IMU-ZONE -- New aggregator: #00003 @ 192.168.16.4 (VM-UBUNTU-vm2-vm2-AWS-vm2-cecab3d4-4c09-43b1-b6fa-3534d37bbc8f) + e.m.e.b.server.ClientShellCommand : #00003--> Client status changed: INITIALIZING --> AGGREGATOR + ``` + *

EMS server log: Aggregator queries for node's credentials

* + ``` + e.m.e.b.server.ClientShellCommand : #00003==> PUSH : {"random":"8a20f11c-eaf2-4b6e-b827-d8a25a57cb0a","zone-id":"IMU-ZONE","address":"192.168.16.3","provider":"AWS",......................... + ``` + Note: Aggregator disconnection from EMS server will also be logged in EMS server logs, but no recovery action will be taken by EMS server. + + * ***New Aggregator***, for log messages about, (i) EMS client leaving cluster, (ii) being elected as Aggregator, (iii) recovery actions, and (iv) EMS client joining to cluster. + *

New Aggregator log: Old Aggregator left cluster - New Aggregator election

* + ``` + CLM: MEMBER_REMOVED: node=node_581d745be52c_2001 + BRU: Brokers after cluster change: [] + + BRU: Broker election requested: broadcasting election message... + BRU: **** Broker message received: election + BRU: **** BROKER: Starting Broker election: + BRU: Member-Score: node_3866738cb0f4_2002 => 0.6640625 d4f2eb55-c355-4715-8a27-9f7c12c32924 + BRU: Broker: node_3866738cb0f4_2002 + ``` + *

New Aggregator log: Initializing to become the new Aggregator

* + ``` + BRU: Node will become Broker. Initializing... + NOTIFY-STATUS-CHANGE: INITIALIZING + initialize(): Node starts initializing as Aggregator... + ......................... + ......................... + Notifying Baguette Server i am the new aggregator + ......................... + ......................... + BRU: Node is ready to act as Aggregator. Ready + BRU: **** Broker message received: ready node_3866738cb0f4_2002 New config: eyJncm91cGluZyI6IlBFUl9aT05FIiwidXJsIjoic3NsOi8vMTkyLjE2OC4xNi40OjYxNjE3P2RhZW1vbj10cn......................... + BRU: **** BROKER: New Broker is ready: node_3866738cb0f4_2002, New config: eyJncm91cGluZyI6IlBFUl9aT05FIiwidXJsIjoic3NsOi8vMTkyLjE2OC4xNi40OjYxNjE3P2RhZW1vbj10cn......................... + BRU: Node configuration updated: eyJncm91cGluZyI6IlBFUl9aT05FIiwidXJsIjoic3NsOi8vMTkyLjE2OC4xNi40OjYxNjE3P2RhZW1vbj10cn......................... + ``` + *

New Aggregator log: Requesting old Aggregator node's credentials

* + ``` + SEND: SERVER-GET-NODE-SSH-CREDENTIALS 192.168.16.3 + SelfHealingPlugin: createRecoveryTask(): Created recovery task for Node: id=node_581d745be52c_2001, address=192.168.16.3 + ``` + *

New Aggregator log: Recovery actions of old Aggregator

* + ``` + SelfHealingPlugin: Retry #0: Recovering node: id=node_581d745be52c_2001, address=192.168.16.3 + VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address=192.168.16.3, port=22, username=ubuntu + Connecting to server... + SSH client is ready + VmNodeRecoveryTask: runNodeRecovery(): Executing 3 recovery commands + ############## Initial wait...... + ############## Waiting for 5000ms after Initial wait...... + ############## Sending baguette client kill command...... + ############## Waiting for 2000ms after Sending baguette client kill command...... + ############## Sending baguette client start command...... + ############## Waiting for 10000ms after Sending baguette client start command...... + SET-CLIENT-CONFIG rO0ABXNyAClldS5tZWxvZGljLmV2ZW50LnV0aWwuQ2xpZW50Q29uZmlndXJhdGlvbiAe4raCjfZzAgABTAASbm9kZXNXaXRob3V0Q2xpZW50dAAPTGphdmEvdXRpbC9TZXQ7eHBzcgARamF2YS51dGlsLkhhc2hTZXS6RIWVlri3NAMAAHhwdwwAAAAQP0AAAAAAAAB4 + New client config.: ClientConfiguration(nodesWithoutClient=[]) + VmNodeRecoveryTask: runNodeRecovery(): Executed 3 recovery commands + VmNodeRecoveryTask: disconnectFromNode(): Disconnecting from node: address=192.168.16.3, port=22, username=ubuntu + Stopping SSH client... + SSH client stopped + OUT> Last login: Sat Feb 12 10:40:09 2022 from 172.29.0.4 + OUT> + OUT> pwd + OUT> ubuntu@581d745be52c:~$ pwd + OUT> /home/ubuntu + OUT> ubuntu@581d745be52c:~$ /opt/baguette-client/bin/kill.sh + OUT> Baguette client is not running + OUT> ubuntu@581d745be52c:~$ /opt/baguette-client/bin/run.sh + OUT> Starting baguette client... + OUT> EMS_CONFIG_DIR=/opt/baguette-client/conf + OUT> LOG_FILE=/opt/baguette-client/logs/output.txt + OUT> Baguette client PID: 1242 + VmNodeRecoveryTask: redirectSshOutput(): Connection closed: id=OUT + ``` + *

New Aggregator log: Old Aggregator joins back to cluster as plain node

* + ``` + CLM: MEMBER_ADDED: node=node_581d745be52c_2001 + BRU: Brokers after cluster change: [Member{id=node_581d745be52c_2001, address=192.168.16.3:2001, properties={aggregator-connection-configuration=eyJncm91cGluZyI6I......................... + SelfHealingPlugin: cancelRecoveryTask(): Cancelled recovery task for Node: id=node_581d745be52c_2001, address=192.168.16.3 + ``` + * ***Old Aggregator node whose EMS client killed***, for EMS client's logs indicating its restart (as a `PER_INSTANCE` node). + *

Normal node: Old Aggregator restarts as a plain Normal node

* + ``` + Starting baguette client... + EMS_CONFIG_DIR=/opt/baguette-client/conf + LOG_FILE=/opt/baguette-client/logs/output.txt + ____ _ _ _____ _ _ _ + | _ \ | | | | / ____| (_) | | + | |_) | __ _ __ _ _ _ ___| |_| |_ ___ | | | |_ ___ _ __ | |_ + | _ < / _` |/ _` | | | |/ _ \ __| __/ _ \ | | | | |/ _ \ '_ \| __| + | |_) | (_| | (_| | |_| | __/ |_| || __/ | |____| | | __/ | | | |_ + |____/ \__,_|\__, |\__,_|\___|\__|\__\___| \_____|_|_|\___|_| |_|\__| + __/ | + |___/ + Starting BaguetteClient v4.5.0-SNAPSHOT on 581d745be52c with PID 1242 (/opt/baguette-client/jars/baguette-client-4.5.0-SNAPSHOT.jar started by ubuntu in /opt/baguette-client) + No active profile set, falling back to default profiles: default + loadCachedClientId: Used cached Client Id: null + Password encoder class name is empty. Default instance of PasswordEncoder will be created + PasswordUtil.setPasswordEncoder(): PasswordEncoder set to: password.gr.iccs.imu.ems.util.AsterisksPasswordEncoder + PasswordUtil: Initialized default Password Encoder: password.gr.iccs.imu.ems.util.AsterisksPasswordEncoder + BrokerConfig.initializeKeyAndCert(): Initializing keystore, truststore and certificate for Broker-SSL... + KeystoreUtil.initializeKeystoresAndCertificate(): Initializing keystores and certificate + BrokerConfig.initializeKeyAndCert(): Initializing keystore, truststore and certificate for Broker-SSL... done + ......................... + ......................... + CLM: Joining cluster... + NOTIFY-STATUS-CHANGE: CANDIDATE + ......................... + ......................... + Joined to cluster + ......................... + ......................... + CLUSTER-EXEC broker list + Cluster executes command: broker list + CLI: Node status and scores: + CLI: node_3866738cb0f4_2002 [AGGREGATOR, 0.6640625, d4f2eb55-c355-4715-8a27-9f7c12c32924] + CLI: node_581d745be52c_2001 [CANDIDATE, 0.6640625, e974ebcd-e11e-4baa-b3cb-fa34242705ff] + ``` + * ***Other Normal nodes***, for log messages about, (i) EMS client leaving cluster, (ii) Aggregator election, (iii) EMS client joining to cluster, but NO logs about recovery actions. + + + +**B.5.b) Failed recovery of EMS client of the cluster Aggregator** + +> Test Case Quick Notes: +> - Kill the VM of the Aggregator. +> - The cluster nodes will elect a new Aggregator. Check logs of any cluster node. +> - The new Aggregator will try to connect to the affected VM but fail. +> - After a configured number of retries new Aggregator will give up. + +**After Application deployment...** + + * Terminate the VM of the Aggregator + +**Next, check the logs of:** + + * ***EMS server***, for one message about Aggregator change, and one about new Aggregator giving up recovery. + *

EMS server log: A new Aggregator initialized

* + ``` + e.m.e.b.server.ClientShellCommand : #00004--> Client status changed: CANDIDATE --> INITIALIZING + e.m.e.b.server.ClientShellCommand : #00004--> Client grouping changed: PER_INSTANCE --> PER_ZONE + e.m.e.b.s.c.c.ClusteringCoordinator : Updated aggregator of zone: IMU-ZONE -- New aggregator: #00004 @ 192.168.16.3 (VM-UBUNTU-vm1-vm1-AWS-vm1-8a20f11c-eaf2-4b6e-b827-d8a25a57cb0a) + e.m.e.b.server.ClientShellCommand : #00004--> Client status changed: INITIALIZING --> AGGREGATOR + ``` + *

EMS server log: New Aggregator queries for node's credentials

* + ``` + e.m.e.b.server.ClientShellCommand : #00004==> PUSH : {"random":"4abf9ae2-b7fc-4e8c-b6d9-464623d1b05f","zone-id":"IMU-ZONE","address":"192.168.16.4",......................... + ``` + *

EMS server log: New Aggregator give up message

* + ``` + e.m.e.b.server.ClientShellCommand : #00004--> Client notification: CMD=RECOVERY, ARGS=GIVE_UP node_3866738cb0f4_2002 @ 192.168.16.4 + e.m.e.b.server.ClientShellCommand : #00004--> Client Recovery Notification: GIVE_UP: node_3866738cb0f4_2002 @ 192.168.16.4 + ``` + Note: Aggregator disconnection from EMS server will also be logged in EMS server logs, but no recovery action will be taken by EMS server. + + * ***New Aggregator***, for messages reporting, (i) an EMS client left cluster, (ii) being elected as Aggregator, (iii) a number of failed connection attempts to the VM, and (iv) a recovery give up message. + *

New Aggregator log: Old Aggregator left cluster - New Aggregator election

* + ``` + CLM: MEMBER_REMOVED: node=node_3866738cb0f4_2002 + BRU: Brokers after cluster change: [] + BRU: Broker election requested: broadcasting election message... + BRU: **** Broker message received: election + BRU: **** BROKER: Starting Broker election: + BRU: Member-Score: node_581d745be52c_2001 => 0.6640625 e974ebcd-e11e-4baa-b3cb-fa34242705ff + BRU: Broker: node_581d745be52c_2001 + ``` + *

New Aggregator log: Initializing to become the new Aggregator

* + ``` + CLM: MEMBER_REMOVED: node=node_3866738cb0f4_2002 + BRU: Brokers after cluster change: [] + BRU: Broker election requested: broadcasting election message... + BRU: **** Broker message received: election + BRU: **** BROKER: Starting Broker election: + BRU: Member-Score: node_581d745be52c_2001 => 0.6640625 e974ebcd-e11e-4baa-b3cb-fa34242705ff + BRU: Broker: node_581d745be52c_2001 + + BRU: Node will become Broker. Initializing... + 2022-02-16 12:01:34.448 [INFO ] NOTIFY-STATUS-CHANGE: INITIALIZING + initialize(): Node starts initializing as Aggregator... + ......................... + ......................... + Notifying Baguette Server i am the new aggregator + ......................... + ......................... + BRU: Node is ready to act as Aggregator. Ready + BRU: **** Broker message received: ready node_581d745be52c_2001 New config: eyJncm91cGluZyI6IlBFUl9aT05FIiwidXJsIjoic3NsOi8vMTkyLjE2OC4xNi4zOjYxNjE3P2RhZW1vbj10cn......................... + BRU: **** BROKER: New Broker is ready: node_581d745be52c_2001, New config: eyJncm91cGluZyI6IlBFUl9aT05FIiwidXJsIjoic3NsOi8vMTkyLjE2OC4xNi4zOjYxNjE3P2RhZW1vbj10cn......................... + BRU: Node configuration updated: eyJncm91cGluZyI6IlBFUl9aT05FIiwidXJsIjoic3NsOi8vMTkyLjE2OC4xNi4zOjYxNjE3P2RhZW1vbj10cn......................... + ``` + *

New Aggregator log: Requesting old Aggregator node's credentials

* + ``` + SEND: SERVER-GET-NODE-SSH-CREDENTIALS 192.168.16.4 + SelfHealingPlugin: createRecoveryTask(): Created recovery task for Node: id=node_3866738cb0f4_2002, address=192.168.16.4 + ``` + *

New Aggregator log: Failing recovery actions of old Aggregator

* + ``` + SelfHealingPlugin: Retry #0: Recovering node: id=node_3866738cb0f4_2002, address=192.168.16.4 + VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address=192.168.16.4, port=22, username=ubuntu + Connecting to server... + SelfHealingPlugin: EXCEPTION while recovering node: node-address=192.168.16.4 -- Exception: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + ......................... + ......................... + SelfHealingPlugin: Retry #3: Recovering node: id=node_3866738cb0f4_2002, address=192.168.16.4 + VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address=192.168.16.4, port=22, username=ubuntu + Connecting to server... + SelfHealingPlugin: EXCEPTION while recovering node: node-address=192.168.16.4 -- Exception: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + ``` + *

New Aggregator log: Recovery actions Give Up message

* + ``` + SelfHealingPlugin: Max retries reached. No more recovery retries for node: id=node_3866738cb0f4_2002, address=192.168.16.4 + SelfHealingPlugin: cancelRecoveryTask(): Cancelled recovery task for Node: id=node_3866738cb0f4_2002, address=192.168.16.4 + NOTIFY-X: RECOVERY GIVE_UP node_3866738cb0f4_2002 @ 192.168.16.4 + ``` + * ***Normal nodes that operate***, for log messages about, (i) EMS client leaving cluster, (ii) Aggregator election, but NO logs about recovery actions, or EMS client joining back to cluster. + + + +**B.6.a) Successful recovery of Netdata agent in a clustered RL node** + +> Test Case Quick Notes: +> - Kill Netdata agent of any RL node. +> - The Aggregator will recover the killed Netdata agent after a configured period of time. +> - Check Aggregator log messages reporting failures to collect metrics, recovery actions, and successful metrics collection. + +**After Application deployment...** + + * Connect to a RL node and ***kill*** Netdata agent. + +**Next, check the logs of:** + + * ***EMS server***, for NO logs indicating a Netdata failure and recovery. + *

EMS server log: Aggregator queries for RL node's credentials

* + ``` + e.m.e.b.server.ClientShellCommand : #00000==> PUSH : {"random":"4b676a58-e00e-4ddf-a21e-b1c0d1382cd6","zone-id":"IMU-ZONE","address":"192.168.96.2","provider":"AWS",......................... + ``` + * ***Aggregator***, for logs reporting, (i) connection failures to a Netdata agent, (ii) recovery actions, and (iii) successful connection to Netdata agent and collection of metrics. + *

Aggregator log: Failed metric collection attempts from a RL node's Netdata agent

* + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.96.2] + Collectors::Netdata: Collecting data from url: http://192.168.96.2:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: 192.168.96.2, #errors=1, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://192.168.96.2:19999/api/v1/allmetrics": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) -> java.net.ConnectException: Connection refused (Connection refused) + + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.96.2] + Collectors::Netdata: Collecting data from url: http://192.168.96.2:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: 192.168.96.2, #errors=2, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://192.168.96.2:19999/api/v1/allmetrics": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) -> java.net.ConnectException: Connection refused (Connection refused) + + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.96.2] + Collectors::Netdata: Collecting data from url: http://192.168.96.2:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: 192.168.96.2, #errors=3, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://192.168.96.2:19999/api/v1/allmetrics": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) -> java.net.ConnectException: Connection refused (Connection refused) + Collectors::Netdata: Too many consecutive errors occurred while attempting to collect metrics from node: 192.168.96.2, num-of-errors=3 + Collectors::Netdata: Pausing collection from Node: 192.168.96.2 + ``` + *

Aggregator log: Requesting RL node's credentials

* + ``` + SEND: SERVER-GET-NODE-SSH-CREDENTIALS 192.168.96.2 + SelfHealingPlugin: createRecoveryTask(): Created recovery task for Node: id=null, address=192.168.96.2 + ``` + *

Aggregator log: Netdata agent recovery actions

* + ``` + SelfHealingPlugin: Retry #0: Recovering node: id=null, address=192.168.96.2 + VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address=192.168.96.2, port=22, username=ubuntu + Connecting to server... + SSH client is ready + VmNodeRecoveryTask: runNodeRecovery(): Executing 3 recovery commands + ############## Initial wait...... + ############## Waiting for 5000ms after Initial wait...... + ############## Sending Netdata agent kill command...... + ############## Waiting for 2000ms after Sending Netdata agent kill command...... + ############## Sending Netdata agent start command...... + ############## Waiting for 10000ms after Sending Netdata agent start command...... + VmNodeRecoveryTask: runNodeRecovery(): Executed 3 recovery commands + VmNodeRecoveryTask: disconnectFromNode(): Disconnecting from node: address=192.168.96.2, port=22, username=ubuntu + Stopping SSH client... + SSH client stopped + Collectors::Netdata: Resuming collection from Node: 192.168.96.2 + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.96.2] + Collectors::Netdata: Collecting data from url: http://192.168.96.2:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + SelfHealingPlugin: cancelRecoveryTask(): Cancelled recovery task for Node: id=null, address=192.168.96.2 + OUT> Last login: Sat Feb 12 10:40:09 2022 from 172.29.0.4 + OUT> + OUT> pwd + OUT> ubuntu@ec17d3e87fb4:~$ pwd + OUT> /home/ubuntu + OUT> ubuntu@ec17d3e87fb4:~$ + OUT> < -U netdata -o "pid" --no-headers | xargs kill -9' + OUT> + OUT> Usage: + OUT> kill [options] [...] + OUT> + OUT> Options: + OUT> [...] send signal to every listed + OUT> -, -s, --signal + OUT> specify the to be sent + OUT> -l, --list=[] list all signal names, or convert one to a name + OUT> -L, --table list all signal names in a nice table + OUT> + OUT> -h, --help display this help and exit + OUT> -V, --version output version information and exit + OUT> + OUT> For more details see kill(1). + OUT> ubuntu@ec17d3e87fb4:~$ sudo netdata + OUT> 2022-02-16 12:27:55: netdata INFO : MAIN : CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/cloud.conf'. Running with internal defaults. + VmNodeRecoveryTask: redirectSshOutput(): Connection closed: id=OUT + ``` + *

Aggregator log: Successful metrics collection from RL node's Netdata agent

* + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.96.2] + Collectors::Netdata: Collecting data from url: http://192.168.96.2:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ``` + * ***RL node with killed Netdata***, check if the Netdata processes have started again. + *

RL node shell: Recovered Netdata agent process

* + ```sh + # ps -ef |grep netdata + root 610 29 0 12:27 pts/0 00:00:00 grep --color=auto netd + ......................... + ......................... + # ps -ef |grep netdata + netdata 623 1 5 12:27 ? 00:00:51 netdata + netdata 625 623 0 12:27 ? 00:00:02 /usr/sbin/netdata --special-spawn-server + root 894 623 0 12:28 ? 00:00:05 /usr/libexec/netdata/plugins.d/apps.plugin 1 + netdata 1050 623 0 12:28 ? 00:00:04 /usr/libexec/netdata/plugins.d/go.d.plugin 1 + root 1105 29 0 12:45 pts/0 00:00:00 grep --color=auto netd + ``` + * ***Normal nodes (that operate)***, for NO logs indicating connection failures or recovery action. + + + +**B.6.b) Failed recovery of Netdata agent in a clustered RL node** + +> Test Case Quick Notes: +> - Kill the VM of any RL node. +> - The EMS server will try to connect to the affected VM but fail. +> - After a configured number of retries EMS server will give up. + +**After Application deployment...** + + * Terminate the VM of a RL node + +**You need to check the logs of:** + + * ***EMS server***, for NO logs indicating a Netdata failure and recovery, BUT reporting a recovery give up from Aggregator. + *

EMS server log: Aggregator queries for RL node's credentials

* + ``` + e.m.e.b.server.ClientShellCommand : #00000==> PUSH : {"random":"4b676a58-e00e-4ddf-a21e-b1c0d1382cd6","zone-id":"IMU-ZONE","address":"192.168.96.2","provider":"AWS",......................... + ``` + *

EMS server log: Aggregator give up message

* + ``` + e.m.e.b.server.ClientShellCommand : #00000--> Client notification: CMD=RECOVERY, ARGS=GIVE_UP null @ 192.168.96.2 + e.m.e.b.server.ClientShellCommand : #00000--> Client Recovery Notification: GIVE_UP: null @ 192.168.96.2 + e.m.e.baguette.server.BaguetteServer : BaguetteServer.onMessage: Marked Node as Failed: 192.168.96.2 + ``` + * ***Aggregator***, for logs reporting (i) connection failures to a Netdata agent, (ii) a number of failed attempts to connect to VM, and (iii) a recovery give up message. + *

Aggregator log: Failed metric collection attempts from a RL node's Netdata agent

* + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.96.2] + Collectors::Netdata: Collecting data from url: http://192.168.96.2:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: 192.168.96.2, #errors=1, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://192.168.96.2:19999/api/v1/allmetrics": connect timed out; nested exception is java.net.SocketTimeoutException: connect timed out -> java.net.SocketTimeoutException: connect timed out + + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.96.2] + Collectors::Netdata: Collecting data from url: http://192.168.96.2:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: 192.168.96.2, #errors=2, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://192.168.96.2:19999/api/v1/allmetrics": connect timed out; nested exception is java.net.SocketTimeoutException: connect timed out -> java.net.SocketTimeoutException: connect timed out + + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + Collectors::Netdata: Collecting metrics from remote nodes (without EMS client): [192.168.96.2] + Collectors::Netdata: Collecting data from url: http://192.168.96.2:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: 192.168.96.2, #errors=3, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://192.168.96.2:19999/api/v1/allmetrics": connect timed out; nested exception is java.net.SocketTimeoutException: connect timed out -> java.net.SocketTimeoutException: connect timed out + Collectors::Netdata: Too many consecutive errors occurred while attempting to collect metrics from node: 192.168.96.2, num-of-errors=3 + Collectors::Netdata: Pausing collection from Node: 192.168.96.2 + ``` + *

Aggregator log: Requesting RL node's credentials

* + ``` + SEND: SERVER-GET-NODE-SSH-CREDENTIALS 192.168.96.2 + SelfHealingPlugin: createRecoveryTask(): Created recovery task for Node: id=null, address=192.168.96.2 + ``` + *

Aggregator log: Netdata agent (failing) recovery actions

* + ``` + SelfHealingPlugin: Retry #0: Recovering node: id=null, address=192.168.96.2 + VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address=192.168.96.2, port=22, username=ubuntu + Connecting to server... + SelfHealingPlugin: EXCEPTION while recovering node: node-address=192.168.96.2 -- Exception: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + + Collecting metrics from local node... + Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Metrics: extracted=0, published=0, failed=0 + Collecting metrics from remote nodes (without EMS client): [192.168.96.2] + Node is in ignore list: 192.168.96.2 + ......................... + ......................... + SelfHealingPlugin: Retry #3: Recovering node: id=null, address=192.168.96.2 + VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address=192.168.96.2, port=22, username=ubuntu + Connecting to server... + SelfHealingPlugin: EXCEPTION while recovering node: node-address=192.168.96.2 -- Exception: + java.net.NoRouteToHostException: No route to host + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198) + at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) + at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) + at java.lang.Thread.run(Thread.java:748) + ``` + *

Aggregator log: Netdata agent recovery Give Up message

* + ``` + SelfHealingPlugin: Max retries reached. No more recovery retries for node: id=null, address=192.168.96.2 + SelfHealingPlugin: cancelRecoveryTask(): Cancelled recovery task for Node: id=null, address=192.168.96.2 + Collectors::Netdata: Giving up collection from Node: 192.168.96.2 + NOTIFY-X: RECOVERY GIVE_UP null @ 192.168.96.2 + ``` + * ***Normal nodes (that operate)***, for NO logs indicating connection failures or recovery actions. + + + +**B.7) Successful recovery of local Netdata agent, in a clustered Normal node (including Aggregator)** + +> Test Case Quick Notes: +> - Kill Netdata agent of any Normal node. +> - The EMS client of the affected node will recover the killed Netdata agent after a configured period of time. +> - Check EMS client's log for messages reporting failures to collect metrics, recovery actions, and successful metrics collection. + +**After Application deployment...** + + * Connect to a Normal node and ***kill*** Netdata agent. + +**Next, check the logs of:** + + * ***EMS server***, for No log messages indicating connection failures to a Netdata agent or recovery actions. + * ***Aggregator***, for No log messages indicating connection failures to a Netdata agent or recovery actions. + * ***Normal node with killed Netdata***, check if the Netdata processes have started again. Also check EMS client's log messages reporting failed metric collection attempts, recovery actions, and successful metric collection. + *

Normal node - EMS client log: Failed attempts to collect metrics from Local Netdata agent

* + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: , #errors=1, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://127.0.0.1:19999/api/v1/allmetrics": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) -> java.net.ConnectException: Connection refused (Connection refused) + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: , #errors=2, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://127.0.0.1:19999/api/v1/allmetrics": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) -> java.net.ConnectException: Connection refused (Connection refused) + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Exception while collecting metrics from node: , #errors=3, exception: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://127.0.0.1:19999/api/v1/allmetrics": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused) -> java.net.ConnectException: Connection refused (Connection refused) + Collectors::Netdata: Too many consecutive errors occurred while attempting to collect metrics from node: , num-of-errors=3 + Collectors::Netdata: Will pause metrics collection from node for 60 seconds: + SelfHealingPlugin: createRecoveryTask(): Created recovery task for Node: id=null, address= + ``` + *

Normal node - EMS client log: Local Netdata agent recovery actions

* + ``` + SelfHealingPlugin: Retry #0: Recovering node: id=null, address= + ShellRecoveryTask: runNodeRecovery(): Executing 3 recovery commands + ############## Initial wait...... + ############## Waiting for 5000ms after Initial wait...... + ############## Sending Netdata agent kill command...... + ############## Waiting for 2000ms after Sending Netdata agent kill command...... + ############## Sending Netdata agent start command...... + ############## Waiting for 10000ms after Sending Netdata agent start command...... + ShellRecoveryTask: runNodeRecovery(): Executed 3 recovery commands + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Node is in ignore list: + OUT> /opt/baguette-client + ERR> -U: 1: -U: Syntax error: Unterminated quoted string + ERR> 2022-02-16 13:21:52: netdata INFO : MAIN : CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/cloud.conf'. Running with internal defaults. + ``` + *

Normal node - EMS client log: Successful metrics collection from Local Netdata agent

* + ``` + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Node is in ignore list: + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Node is in ignore list: + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Node is in ignore list: + + Collectors::Netdata: Resumed metrics collection from node: + SelfHealingPlugin: cancelRecoveryTask(): Cancelled recovery task for Node: id=null, address= + + Collectors::Netdata: Collecting metrics from local node... + Collectors::Netdata: Collecting data from url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + Collectors::Netdata: Metrics: extracted=0, published=0, failed=0 + ``` + * ***Other Normal nodes (that operate)***, for NO logs indicating connection failures or recovery actions. + + + +------ + +## Limitations + +* Clustering is never used for 2-level monitoring topologies. +* When no Normal nodes (and hence no Aggregator) exist in a cluster, no one will collect metrics from the (orphan) RL nodes. +* When no Normal nodes (and hence no Aggregator) exist in a cluster, no one will recover the (orphan) RL nodes. +* If EMS server fails no one will recover it. +* Metric messages are not cached/redirected, if the next node has failed. diff --git a/ems-core/baguette-client-install/pom.xml b/ems-core/baguette-client-install/pom.xml new file mode 100644 index 0000000..66e1895 --- /dev/null +++ b/ems-core/baguette-client-install/pom.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + baguette-client-install + EMS - Baguette Client install utilities + + + + gr.iccs.imu.ems + baguette-server + ${project.version} + compile + + + + + org.projectlombok + lombok + provided + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-web + provided + + + + + org.rauschig + jarchivelib + 1.2.0 + + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + + + + org.yaml + snakeyaml + + + + diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallationProperties.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallationProperties.java new file mode 100644 index 0000000..277d9cb --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallationProperties.java @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install; + +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; + +@Slf4j +@Data +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "baguette.client.install") +public class ClientInstallationProperties implements InitializingBean { + + @Override + public void afterPropertiesSet() throws Exception { + log.debug("ClientInstallationProperties: {}", this); + } + + enum INSTALLER_TYPE { DEFAULT_INSTALLER, JS_INSTALLER } + + private final Map> osFamilies = new LinkedHashMap<>(); + + private int workers = 1; + private INSTALLER_TYPE installerType = INSTALLER_TYPE.DEFAULT_INSTALLER; + + private String baseDir; // EMS client home directory + private String rootCmd; // Root command (e.g. 'sudo', or 'echo ${NODE_SSH_PASSWORD} | sudo -S ') + private List mkdirs; + private List touchFiles; + private String checkInstalledFile; + + private String downloadUrl; // Base URL of EMS server downloads + @ToString.Exclude + private String apiKey; // API Key for accessing EMS server downloads + private String installScriptUrl; + private String installScriptFile; + + private String archiveSourceDir; // the directory in server that will be archived (it must contain client configuration) + private String archiveDir; // the directory in server where client config. archive will be placed into + private String archiveFile; // name of the client configuration archive (in server) + private String clientConfArchiveFile; // location in VM, where client config. archive will be stored (in BASE64 encoding) + //private String clientConfArchiveDest; // location in VM, where client config. archive will be extracted + + private String serverCertFileAtServer; // location of EMS server certificate in server (in config-files) + private String serverCertFileAtClient; // location in VM, where EMS server certificate will be stored + private String copyFilesFromServerDir; // location in EMS server whose contents will be copied to VM + private String copyFilesToClientDir; // location in VM where server files will be copied into + + private String clientTmpDir; // location of temp. directory in VM (typically /tmp) + private String serverTmpDir; // location of temp. directory in EMS server + private boolean keepTempFiles; // keep temporary files in EMS server (during debug) + + // ---------------------------------------------------- + + private boolean simulateConnection; + private boolean simulateExecution; + + private int maxRetries = 5; + private long retryDelay = 1000L; + private double retryBackoffFactor = 1.0; + + private long connectTimeout = 60000; + private long authenticateTimeout = 60000; + private long heartbeatInterval = 60000; + private long heartbeatReplyWait = heartbeatInterval; + private long commandExecutionTimeout = 60000; + + private final Map> instructions = new LinkedHashMap<>(); + private final Map parameters = new LinkedHashMap<>(); + + private boolean continueOnFail = false; + private String sessionRecordingDir = "logs"; + + // ---------------------------------------------------- + + private String clientInstallVarName = "__EMS_CLIENT_INSTALL__"; + private Pattern clientInstallSuccessPattern = Pattern.compile("^INSTALLED($|[\\s:=])", Pattern.CASE_INSENSITIVE); + private Pattern clientInstallErrorPattern = Pattern.compile("^ERROR($|[\\s:=])", Pattern.CASE_INSENSITIVE); + private boolean clientInstallSuccessIfVarIsMissing = false; + private boolean clientInstallErrorIfVarIsMissing = true; + + private String skipInstallVarName = "__EMS_CLIENT_INSTALL__"; + private Pattern skipInstallPattern = Pattern.compile("^SKIPPED($|[\\s:=])", Pattern.CASE_INSENSITIVE); + private boolean skipInstallIfVarIsMissing = false; + + private String ignoreNodeVarName = "__EMS_IGNORE_NODE__"; + private Pattern ignoreNodePattern = Pattern.compile("^IGNORED($|[\\s:=])", Pattern.CASE_INSENSITIVE); + private boolean ignoreNodeIfVarIsMissing = false; + + // ---------------------------------------------------- + + private List> installationContextProcessorPlugins = Collections.emptyList(); +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallationTask.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallationTask.java new file mode 100644 index 0000000..256b28a --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallationTask.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install; + +import gr.iccs.imu.ems.baguette.client.install.instruction.InstructionsSet; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.translate.TranslationContext; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +/** + * Client installation task + */ +@Data +@Builder +public class ClientInstallationTask { + private final String id; + private final String nodeId; + private final String name; + private final String os; + private final String address; + private final String type; + private final String provider; + private final SshConfig ssh; + private final NodeRegistryEntry nodeRegistryEntry; + private final List instructionSets; + private final TranslationContext translationContext; +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstaller.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstaller.java new file mode 100644 index 0000000..5e97f75 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstaller.java @@ -0,0 +1,147 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install; + +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.common.plugin.PluginManager; +import lombok.NoArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.validation.constraints.NotNull; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicLong; + +/** + * Client installer + */ +@Slf4j +@Service +@NoArgsConstructor +public class ClientInstaller implements InitializingBean { + private static ClientInstaller singleton; + + @Autowired + private ClientInstallationProperties properties; + @Autowired + private BaguetteServer baguetteServer; + @Autowired + private PluginManager pluginManager; + + private final AtomicLong taskCounter = new AtomicLong(); + private ExecutorService executorService; + + @Override + public void afterPropertiesSet() { + singleton = this; + executorService = Executors.newFixedThreadPool(properties.getWorkers()); + properties.getInstallationContextProcessorPlugins().forEach(pluginClass -> { + log.debug("ClientInstaller: Initializing plugin: {}", pluginClass); + pluginManager.initializePlugin(pluginClass); + }); + } + + public static ClientInstaller instance() { return singleton; } + + public void addTask(@NotNull ClientInstallationTask task) { + executorService.submit(() -> { + long taskCnt = taskCounter.getAndIncrement(); + try { + log.info("ClientInstaller: Executing Client installation Task #{}: task-id={}, node-id={}, name={}, type={}, address={}", + taskCnt, task.getId(), task.getNodeId(), task.getName(), task.getType(), task.getAddress()); + long startTm = System.currentTimeMillis(); + boolean result = executeTask(task, taskCnt); + long endTm = System.currentTimeMillis(); + log.info("ClientInstaller: Client installation Task #{}: result={}, duration={}ms", + taskCnt, result ? "SUCCESS" : "FAILED", endTm - startTm); + } catch (Throwable t) { + log.info("ClientInstaller: Exception caught in Client installation Task #{}: Exception: ", taskCnt, t); + } + }); + } + + private boolean executeTask(ClientInstallationTask task, long taskCounter) { + if (baguetteServer.getNodeRegistry().getCoordinator()==null) + throw new IllegalStateException("Baguette Server Coordinator has not yet been initialized"); + + if ("VM".equalsIgnoreCase(task.getType()) || "baremetal".equalsIgnoreCase(task.getType())) { + NodeRegistryEntry entry = baguetteServer.getNodeRegistry().getNodeByAddress(task.getAddress()); + if (entry==null) + throw new IllegalStateException("Node entry has been removed from Node Registry before installation: Node IP address: "+task.getAddress()); + //baguetteServer.handleNodeSituation(task.getAddress(), INTERNAL_ERROR); + entry.nodeInstalling(task); + + // Call InstallationContextPlugin's before installation + log.debug("ClientInstaller: PRE-INSTALLATION: Calling installation context processors: {}", properties.getInstallationContextProcessorPlugins()); + pluginManager.getActivePlugins(InstallationContextProcessorPlugin.class) + .forEach(plugin->((InstallationContextProcessorPlugin)plugin).processBeforeInstallation(task, taskCounter)); + + log.debug("ClientInstaller: INSTALLATION: Executing installation task: task-counter={}, task={}", taskCounter, task); + boolean success = executeVmTask(task, taskCounter); + log.debug("ClientInstaller: NODE_REGISTRY_ENTRY after installation execution: \n{}", task.getNodeRegistryEntry()); + + if (entry.getState()==NodeRegistryEntry.STATE.INSTALLING) { + log.warn("ClientInstaller: NODE_REGISTRY_ENTRY status is still INSTALLING after executing client installation. Changing to INSTALL_ERROR"); + entry.nodeInstallationError(null); + } + + // Call InstallationContextPlugin's after installation + log.debug("ClientInstaller: POST-INSTALLATION: Calling installation context processors: {}", properties.getInstallationContextProcessorPlugins()); + pluginManager.getActivePlugins(InstallationContextProcessorPlugin.class) + .forEach(plugin->((InstallationContextProcessorPlugin)plugin).processAfterInstallation(task, taskCounter, success)); + + // Pre-register Node to baguette Server Coordinator + log.debug("ClientInstaller: POST-INSTALLATION: Node is being pre-registered: {}", entry); + baguetteServer.getNodeRegistry().getCoordinator().preregister(entry); + + log.debug("ClientInstaller: Installation outcome: {}", success ? "Success" : "Error"); + return success; + } else { + log.error("ClientInstaller: UNSUPPORTED TASK TYPE: {}", task.getType()); + } + return false; + } + + private boolean executeVmTask(ClientInstallationTask task, long taskCounter) { + // Select the appropriate client installer plugin to run installation task. + // Currently, two installer plugins are available: SshClientInstaller, and SshJsClientInstaller + boolean result; + if (properties.getInstallerType()==ClientInstallationProperties.INSTALLER_TYPE.JS_INSTALLER) { + log.info("ClientInstaller: Using SshJsClientInstaller for task #{}", taskCounter); + result = SshJsClientInstaller.jsBuilder() + .task(task) + .taskCounter(taskCounter) + .properties(properties) + .build() + .execute(); + } else { + log.info("ClientInstaller: Using SshClientInstaller (default) for task #{}", taskCounter); + result = SshClientInstaller.builder() + .task(task) + .taskCounter(taskCounter) + /*.maxRetries(properties.getMaxRetries()) + .authenticationTimeout(properties.getAuthenticateTimeout()) + .connectTimeout(properties.getConnectTimeout()) + .heartbeatInterval(properties.getHeartbeatInterval()) + .simulateConnection(properties.isSimulateConnection()) + .simulateExecution(properties.isSimulateExecution()) + .commandExecutionTimeout(properties.getCommandExecutionTimeout())*/ + .properties(properties) + .build() + .execute(); + } + log.info("ClientInstaller: Task execution result #{}: success={}", taskCounter, result); + return result; + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallerPlugin.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallerPlugin.java new file mode 100644 index 0000000..2dc186b --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/ClientInstallerPlugin.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install; + +public interface ClientInstallerPlugin { + default boolean execute() { + preProcessTask(); + boolean result = executeTask(); + result = result && postProcessTask(); + return result; + } + + void preProcessTask(); // Throw exception to block task execution + boolean executeTask(); + boolean postProcessTask(); +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/InstallationContextProcessorPlugin.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/InstallationContextProcessorPlugin.java new file mode 100644 index 0000000..3b77754 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/InstallationContextProcessorPlugin.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install; + +import gr.iccs.imu.ems.util.Plugin; + +public interface InstallationContextProcessorPlugin extends Plugin { + void processBeforeInstallation(ClientInstallationTask task, long taskCounter); + void processAfterInstallation(ClientInstallationTask task, long taskCounter, boolean success); +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshClientInstaller.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshClientInstaller.java new file mode 100644 index 0000000..c019c72 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshClientInstaller.java @@ -0,0 +1,963 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install; + +import gr.iccs.imu.ems.baguette.client.install.instruction.INSTRUCTION_RESULT; +import gr.iccs.imu.ems.baguette.client.install.instruction.Instruction; +import gr.iccs.imu.ems.baguette.client.install.instruction.InstructionsService; +import gr.iccs.imu.ems.baguette.client.install.instruction.InstructionsSet; +import lombok.Builder; +import lombok.Getter; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringSubstitutor; +import org.apache.sshd.client.SshClient; +import org.apache.sshd.client.channel.ChannelExec; +import org.apache.sshd.client.channel.ChannelSession; +import org.apache.sshd.client.channel.ClientChannelEvent; +import org.apache.sshd.client.config.hosts.HostConfigEntryResolver; +import org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier; +import org.apache.sshd.client.session.ClientSession; +import org.apache.sshd.common.PropertyResolverUtils; +import org.apache.sshd.core.CoreModuleProperties; +import org.apache.sshd.mina.MinaServiceFactoryFactory; +import org.apache.sshd.scp.client.DefaultScpClientCreator; +import org.apache.sshd.scp.client.ScpClient; +import org.apache.sshd.scp.client.ScpClientCreator; +import org.bouncycastle.util.io.pem.PemObject; +import org.bouncycastle.util.io.pem.PemReader; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.StringReader; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.security.*; +import java.security.spec.InvalidKeySpecException; +import java.security.spec.PKCS8EncodedKeySpec; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.function.Function; +import java.util.function.Supplier; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * SSH client installer + */ +@Slf4j +@Getter +public class SshClientInstaller implements ClientInstallerPlugin { + private final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss.SSS"); + + private final ClientInstallationTask task; + private final long taskCounter; + + private final int maxRetries; + private final long retryDelay; + private final double retryBackoffFactor; + private final long connectTimeout; + private final long authenticationTimeout; + private final long heartbeatInterval; + private final long heartbeatReplyWait; + private final boolean simulateConnection; + private final boolean simulateExecution; + private final long commandExecutionTimeout; + private final boolean continueOnFail; + + private final ClientInstallationProperties properties; + + private SshClient sshClient; + //private SimpleClient simpleClient; + private ClientSession session; + //private ChannelShell shellChannel; + private StreamLogger streamLogger; + + @Builder + public SshClientInstaller(ClientInstallationTask task, long taskCounter, ClientInstallationProperties properties) { + this.task = task; + this.taskCounter = taskCounter; + + this.maxRetries = properties.getMaxRetries()>=0 ? properties.getMaxRetries() : 5; + this.retryDelay = properties.getRetryDelay()>0 ? properties.getRetryDelay() : 1000L; + this.retryBackoffFactor = properties.getRetryBackoffFactor()>0 ? properties.getRetryBackoffFactor() : 1.0; + + this.connectTimeout = properties.getConnectTimeout()>0 ? properties.getConnectTimeout() : 60000; + this.authenticationTimeout = properties.getAuthenticateTimeout()>0 ? properties.getAuthenticateTimeout() : 60000; + this.heartbeatInterval = properties.getHeartbeatInterval()>0 ? properties.getHeartbeatInterval() : 10000; + this.heartbeatReplyWait = properties.getHeartbeatReplyWait()>0 ? properties.getHeartbeatReplyWait() : 10 * heartbeatInterval; + this.simulateConnection = properties.isSimulateConnection(); + this.simulateExecution = properties.isSimulateExecution(); + this.commandExecutionTimeout = properties.getCommandExecutionTimeout()>0 ? properties.getCommandExecutionTimeout() : 120000; + this.continueOnFail = properties.isContinueOnFail(); + + this.properties = properties; + } + + @Override + public boolean executeTask(/*int retries*/) { + if (! openSshConnection()) + return false; + + boolean success; + try { + INSTRUCTION_RESULT exitResult = executeInstructionSets(); + success = exitResult != INSTRUCTION_RESULT.FAIL; + } catch (Exception ex) { + log.error("SshClientInstaller: Failed executing installation instructions for task #{}, Exception: ", taskCounter, ex); + success = false; + } + + if (success) log.info("SshClientInstaller: Task completed successfully #{}", taskCounter); + else log.info("SshClientInstaller: Error occurred while executing task #{}", taskCounter); + return closeSshConnection(success); + } + + protected boolean openSshConnection() { + task.getNodeRegistryEntry().nodeInstalling(task.getNodeRegistryEntry().getPreregistration()); + boolean success = false; + int retries = 0; + while (!success && retries<=maxRetries) { + if (retries>0) log.warn("SshClientInstaller: Retry {}/{} executing task #{}", retries, maxRetries, taskCounter); + try { + sshConnect(); + //sshOpenShell(); + success = true; + } catch (Exception ex) { + log.error("SshClientInstaller: Failed executing task #{}, Exception: ", taskCounter, ex); + retries++; + if (retries<=maxRetries) + waitToRetry(retries); + } + } + if (!success) { + log.error("SshClientInstaller: Giving up executing task #{} after {} retries", taskCounter, maxRetries); + return false; + } + return true; + } + + protected boolean closeSshConnection(boolean success) { + try { + //sshCloseShell(); + sshDisconnect(); + return success; + } catch (Exception ex) { + log.error("SshClientInstaller: Exception while disconnecting. Task #{}, Exception: ", taskCounter, ex); + return false; + } + } + + private void waitToRetry(int retries) { + long delay = Math.max(1, (long)(retryDelay * Math.pow(retryBackoffFactor, retries-1))); + try { + log.debug("SshClientInstaller: waitToRetry: Waiting for {}ms to retry", delay); + Thread.sleep(delay); + } catch (InterruptedException e) { + log.warn("SshClientInstaller: waitToRetry: Waiting to retry interrupted: ", e); + } + } + + private boolean sshConnect() throws Exception { + SshConfig config = task.getSsh(); + String host = config.getHost(); + int port = config.getPort(); + + if (simulateConnection) { + log.info("SshClientInstaller: Simulate connection to remote host: task #{}: host: {}:{}", taskCounter, host, port); + return true; + } + + // Get connection information + String privateKey = config.getPrivateKey(); + String fingerprint = config.getFingerprint(); + String username = config.getUsername(); + String password = config.getPassword(); + + // Create and configure SSH client + this.sshClient = SshClient.setUpDefaultClient(); + sshClient.setHostConfigEntryResolver(HostConfigEntryResolver.EMPTY); + sshClient.setServerKeyVerifier(AcceptAllServerKeyVerifier.INSTANCE); + + //this.simpleClient = SshClient.wrapAsSimpleClient(sshClient); + //simpleClient.setConnectTimeout(connectTimeout); + //simpleClient.setAuthenticationTimeout(authenticationTimeout); + + // Set a huge idle timeout, keep-alive to true and heartbeat to configured value + PropertyResolverUtils.updateProperty(sshClient, CoreModuleProperties.HEARTBEAT_INTERVAL.getName(), heartbeatInterval); // Prevents server-side connection closing + PropertyResolverUtils.updateProperty(sshClient, CoreModuleProperties.HEARTBEAT_REPLY_WAIT.getName(), heartbeatReplyWait); // Prevents client-side connection closing + PropertyResolverUtils.updateProperty(sshClient, CoreModuleProperties.IDLE_TIMEOUT.getName(), Integer.MAX_VALUE); + PropertyResolverUtils.updateProperty(sshClient, CoreModuleProperties.SOCKET_KEEPALIVE.getName(), true); // Socket keep-alive at OS-level + log.debug("SshClientInstaller: Set IDLE_TIMEOUT to MAX, SOCKET-KEEP-ALIVE to true, and HEARTBEAT to {}", heartbeatInterval); + + // Explicitly set IO service factory factory to prevent conflict between MINA and Netty options + sshClient.setIoServiceFactoryFactory(new MinaServiceFactoryFactory()); + + // Start client and connect to SSH server + try { + sshClient.start(); + this.session = sshClient.connect(username, host, port) + .verify(connectTimeout) + .getSession(); + if (StringUtils.isNotBlank(privateKey)) { + PrivateKey privKey = getPrivateKey(privateKey); + //PublicKey pubKey = getPublicKey(publicKeyStr); + PublicKey pubKey = getPublicKey(privKey); + KeyPair keyPair = new KeyPair(pubKey, privKey); + session.addPublicKeyIdentity(keyPair); + } + if (StringUtils.isNotBlank(password)) { + session.addPasswordIdentity(password); + } + session.auth() + .verify(authenticationTimeout); + + // Initialize standard streams' logger + initStreamLogger(); + + log.info("SshClientInstaller: Connected to remote host: task #{}: host: {}:{}", taskCounter, host, port); + return true; + + } catch (Exception ex) { + log.error("SshClientInstaller: Error while connecting to remote host: task #{}: ", taskCounter, ex); + throw ex; + } + } + + private PrivateKey getPrivateKey(String pemStr) throws IOException, NoSuchAlgorithmException, InvalidKeySpecException { + KeyFactory factory = KeyFactory.getInstance("RSA"); + try (StringReader keyReader = new StringReader(pemStr); PemReader pemReader = new PemReader(keyReader)) { + PemObject pemObject = pemReader.readPemObject(); + byte[] content = pemObject.getContent(); + PKCS8EncodedKeySpec keySpecPKCS8 = new PKCS8EncodedKeySpec(content); + PrivateKey privKey = factory.generatePrivate(keySpecPKCS8); + return privKey; + } + //PKCS8EncodedKeySpec keySpecPKCS8 = new PKCS8EncodedKeySpec(Base64.decode(privateKeyContent.replaceAll("\\n", "").replace("-----BEGIN PRIVATE KEY-----", "").replace("-----END PRIVATE KEY-----", ""))); + //PrivateKey privKey = kf.generatePrivate(keySpecPKCS8); + } + + private PublicKey getPublicKey(PrivateKey privateKey) throws NoSuchAlgorithmException, InvalidKeySpecException { + KeyFactory factory = KeyFactory.getInstance(privateKey.getAlgorithm()); + PKCS8EncodedKeySpec pubKeySpec = new PKCS8EncodedKeySpec(privateKey.getEncoded()); + PublicKey publicKey = factory.generatePublic(pubKeySpec); + return publicKey; + } + + /*private PublicKey getPublicKey(String pemStr) throws IOException, NoSuchAlgorithmException, InvalidKeySpecException { + KeyFactory factory = KeyFactory.getInstance("RSA"); + try (StringReader keyReader = new StringReader(pemStr); PemReader pemReader = new PemReader(keyReader)) { + PemObject pemObject = pemReader.readPemObject(); + byte[] content = pemObject.getContent(); + X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(content); + PublicKey publicKey = factory.generatePublic(pubKeySpec); + return publicKey; + } + //X509EncodedKeySpec keySpecX509 = new X509EncodedKeySpec( + // Base64.decode( + // pemStr.replaceAll("\\n", "").replace("-----BEGIN PUBLIC KEY-----", "").replace("-----END PUBLIC KEY-----", "") + // .getBytes())); + //RSAPublicKey pubKey = (RSAPublicKey) factory.generatePublic(keySpecX509); + } + + private PublicKey getPublicKey(RSAPublicKeySpec rsaPrivateKey) throws NoSuchAlgorithmException, InvalidKeySpecException { + KeyFactory factory = KeyFactory.getInstance("RSA"); + PublicKey publicKey = factory.generatePublic(new RSAPublicKeySpec(rsaPrivateKey.getModulus(), rsaPrivateKey.getPublicExponent())); + return publicKey; + } + + private PublicKey getPublicKey(BCRSAPrivateCrtKey rsaPrivateKey) throws NoSuchAlgorithmException, InvalidKeySpecException { + KeyFactory factory = KeyFactory.getInstance("RSA"); + PublicKey publicKey = factory.generatePublic(new RSAPublicKeySpec(rsaPrivateKey.getModulus(), rsaPrivateKey.getPublicExponent())); + return publicKey; + }*/ + + private boolean sshDisconnect() throws Exception { + SshConfig config = task.getSsh(); + String host = config.getHost(); + int port = config.getPort(); + if (simulateConnection) { + log.info("SshClientInstaller: Simulate disconnect from remote host: task #{}: host: {}:{}", taskCounter, host, port); + return true; + } + + try { + if (streamLogger!=null) + streamLogger.close(); + + //channel.close(false).await(); + session.close(false); + //simpleClient.close(); + sshClient.stop(); + + log.info("SshClientInstaller: Disconnected from remote host: task #{}: host: {}:{}", taskCounter, host, port); + return true; + } catch (Exception ex) { + log.error("SshClientInstaller: Error while disconnecting from remote host: task #{}: ", taskCounter, ex); + throw ex; + } finally { + session = null; + //simpleClient = null; + sshClient = null; + } + } + + private void initStreamLogger() throws IOException { + if (streamLogger!=null) return; + + String address = session.getConnectAddress().toString().replace("/","").replace(":", "-"); + //log.trace("SshClientInstaller: address: {}", address); + String logFile = StringUtils.isNotBlank(properties.getSessionRecordingDir()) + ? properties.getSessionRecordingDir()+"/"+address+"-"+ simpleDateFormat.format(new Date())+"-"+taskCounter+".txt" + : null; + log.info("SshClientInstaller: Task #{}: Session will be recorded in file: {}", taskCounter, logFile); + this.streamLogger = new StreamLogger(logFile, " Task #"+taskCounter); + } + + private void setChannelStreams(ChannelSession channel) throws IOException { + initStreamLogger(); + channel.setIn( streamLogger.getIn() ); + channel.setOut( streamLogger.getOut() ); + channel.setErr( streamLogger.getErr() ); + } + + /*public boolean sshOpenShell() throws IOException { + if (simulateConnection) { + log.info("SshClientInstaller: Simulate open shell channel: task #{}", taskCounter); + return true; + } + + shellChannel = session.createShellChannel(); + setChannelStreams(shellChannel); + shellChannel.open().verify(connectTimeout); + //shellPipedIn = shellChannel.getInvertedIn(); + log.info("SshClientInstaller: Opened shell channel: task #{}", taskCounter); + + shellChannel.waitFor( + EnumSet.of(ClientChannelEvent.CLOSED), + authenticationTimeout); + //TimeUnit.SECONDS.toMillis(5)); + log.info("SshClientInstaller: Shell channel ready: task #{}", taskCounter); + + return true; + } + + public boolean sshCloseShell() throws IOException { + if (simulateConnection) { + log.info("SshClientInstaller: Simulate close shell channel: task #{}", taskCounter); + return true; + } + + shellChannel.close(); + shellChannel = null; + //shellPipedIn = null; + streamLogger.close(); + streamLogger = null; + log.info("SshClientInstaller: Closed shell channel: task #{}", taskCounter); + return true; + } + + public boolean sshShellExec(@NotNull String command, long executionTimeout) throws IOException { + if (simulateConnection || simulateExecution) { + log.info("SshClientInstaller: Simulate command execution: task #{}: command: {}", taskCounter, command); + return true; + } + + // Send command to remote side + if (!command.endsWith("\n")) + command += "\n"; + log.info("SshClientInstaller: Sending command: {}", command); + streamLogger.getInvertedIn().write(command.getBytes()); + streamLogger.getInvertedIn().flush(); + + // Search remote side output for expected patterns + // Not implemented + + shellChannel.waitFor( + EnumSet.of(ClientChannelEvent.CLOSED), + executionTimeout>0 ? executionTimeout : commandExecutionTimeout); + //TimeUnit.SECONDS.toMillis(5)); + return true; + }*/ + + public Integer sshExecCmd(String command) throws IOException { + return sshExecCmd(command, commandExecutionTimeout); + } + + public Integer sshExecCmd(String command, long executionTimeout) throws IOException { + if (simulateConnection || simulateExecution) { + log.info("SshClientInstaller: Simulate shell command execution: task #{}: command: {}", taskCounter, command); + return null; + } + + // Using EXEC channel + Integer exitStatus = null; + ChannelExec channel = session.createExecChannel(command); + setChannelStreams(channel); + log.debug("SshClientInstaller: task #{}: EXEC: New channel id: {}", taskCounter, channel.getChannelId()); + //streamLogger.getInvertedIn().write(command.getBytes()); + streamLogger.logMessage(String.format("EXEC: %s\n", command)); + try { + // Sending command to remote side + log.debug("SshClientInstaller: task #{}: EXEC: Sending command for execution: {} (connect timeout: {}ms)", taskCounter, command, connectTimeout); + session.resetIdleTimeout(); + channel.open().verify(connectTimeout); + log.trace("SshClientInstaller: task #{}: EXEC: Sending command verified: {}", taskCounter, command); + log.debug("SshClientInstaller: task #{}: EXEC: Opened channel id: {}", taskCounter, channel.getChannelId()); + + //XXX: TODO: Search remote side output for expected patterns + + // Wait until channel closes from server side (i.e. command completed) or timeout occurs + log.trace("SshClientInstaller: task #{}: EXEC: instruction execution-timeout: {}", taskCounter, executionTimeout); + log.trace("SshClientInstaller: task #{}: EXEC: default command-execution-timeout: {}", taskCounter, commandExecutionTimeout); + long execTimeout = executionTimeout != 0 ? executionTimeout : commandExecutionTimeout; + log.debug("SshClientInstaller: task #{}: EXEC: effective instruction execution-timeout: {}", taskCounter, execTimeout); + Set eventSet = channel.waitFor( + EnumSet.of(ClientChannelEvent.CLOSED), + execTimeout); + //TimeUnit.SECONDS.toMillis(50)); + log.debug("SshClientInstaller: task #{}: EXEC: Exit event set: {}", taskCounter, eventSet); + exitStatus = channel.getExitStatus(); + log.debug("SshClientInstaller: task #{}: EXEC: Exit status: {}", taskCounter, exitStatus); + } finally { + channel.close(); + } + + return exitStatus; + } + + public boolean sshFileDownload(String remoteFilePath, String localFilePath) throws IOException { + if (simulateConnection || simulateExecution) { + log.info("SshClientInstaller: Simulate file download: task #{}: remote: {} -> local: {}", taskCounter, remoteFilePath, localFilePath); + return true; + } + + streamLogger.logMessage(String.format("DOWNLOAD: SCP: %s -> %s\n", remoteFilePath, localFilePath)); + try { + log.info("SshClientInstaller: Downloading file: task #{}: remote: {} -> local: {}", taskCounter, remoteFilePath, localFilePath); + ScpClientCreator creator = new DefaultScpClientCreator(); + ScpClient scpClient = creator.createScpClient(session); + scpClient.download(remoteFilePath, localFilePath, ScpClient.Option.PreserveAttributes); + log.info("SshClientInstaller: File download completed: task #{}: remote: {} -> local: {}", taskCounter, remoteFilePath, localFilePath); + } catch (Exception ex) { + log.error("SshClientInstaller: File download failed: task #{}: remote: {} -> local: {} Exception: ", taskCounter, remoteFilePath, localFilePath, ex); + throw ex; + } + + return true; + } + + public boolean sshFileUpload(String localFilePath, String remoteFilePath) throws IOException { + if (simulateConnection || simulateExecution) { + log.info("SshClientInstaller: Simulate file upload: task #{}: local: {} -> remote: {}", taskCounter, localFilePath, remoteFilePath); + return true; + } + + streamLogger.logMessage(String.format("UPLOAD: SCP: %s -> %s\n", localFilePath, remoteFilePath)); + try { + long startTm = System.currentTimeMillis(); + log.info("SshClientInstaller: Uploading file: task #{}: local: {} -> remote: {}", taskCounter, localFilePath, remoteFilePath); + ScpClientCreator creator = new DefaultScpClientCreator(); + ScpClient scpClient = creator.createScpClient(session); + scpClient.upload(localFilePath, remoteFilePath, ScpClient.Option.PreserveAttributes); + long endTm = System.currentTimeMillis(); + log.info("SshClientInstaller: File upload completed in {}ms: task #{}: local: {} -> remote: {}", endTm-startTm, taskCounter, localFilePath, remoteFilePath); + } catch (Exception ex) { + log.error("SshClientInstaller: File upload failed: task #{}: local: {} -> remote: {} Exception: ", taskCounter, localFilePath, remoteFilePath, ex); + throw ex; + } + + return true; + } + + public boolean sshFileWrite(String content, String remoteFilePath, boolean isExecutable) throws IOException { + if (simulateConnection || simulateExecution) { + log.info("SshClientInstaller: Simulate file upload: task #{}: remote: {}, content-length={}", taskCounter, remoteFilePath, content.length()); + return true; + } + + streamLogger.logMessage(String.format("WRITE FILE: SCP: %s, content-length=%d \n", remoteFilePath, content.length())); + try { + long timestamp = System.currentTimeMillis(); + /*Collection permissions = isExecutable + ? Arrays.asList(PosixFilePermission.OWNER_READ, PosixFilePermission.OWNER_WRITE, PosixFilePermission.OWNER_EXECUTE) + : Arrays.asList(PosixFilePermission.OWNER_READ, PosixFilePermission.OWNER_WRITE); + log.info("SshClientInstaller: Uploading file: task #{}: remote: {}, perm={}, content-length={}", taskCounter, remoteFilePath, permissions, content.length()); + log.trace("SshClientInstaller: Uploading file: task #{}: remote: {}, perm={}, content:\n{}", taskCounter, remoteFilePath, permissions, content); + ScpClient scpClient = session.createScpClient(); + scpClient.upload(content.getBytes(), remoteFilePath, permissions, new ScpTimestamp(timestamp, timestamp)); + */ + + /* + The alternative approach next is much faster than the original approach above (commented out) + Old approach: write bytes directly to remote file + New approach: write contents to a local temp. file and then upload it to remote side + */ + + // Write contents to a temporary local file + File tmpDir = Paths.get(properties.getServerTmpDir()).toFile(); + tmpDir.mkdirs(); + File tmp = File.createTempFile("bci_upload_", ".tmp", tmpDir); + log.debug("SshClientInstaller: Write to temp. file: task #{}: temp-file: {}, remote: {}, content-length: {}", taskCounter, tmp, remoteFilePath, content.length()); + log.trace("SshClientInstaller: Write to temp. file: task #{}: temp-file: {}, remote: {}, content:\n{}", taskCounter, tmp, remoteFilePath, content); + try (FileWriter fw = new FileWriter(tmp.getAbsoluteFile())) { fw.write(content); } + + // Upload temporary local file to remote side + log.trace("SshClientInstaller: Call 'sshFileUpload': task #{}: temp-file={}, remote={}", taskCounter, tmp, remoteFilePath); + sshFileUpload(tmp.getAbsolutePath(), remoteFilePath); + + // Delete temporary file + if (!properties.isKeepTempFiles()) { + log.trace("SshClientInstaller: Remove temp. file: task #{}: temp-file={}", taskCounter, tmp); + tmp.delete(); + } + + long endTm = System.currentTimeMillis(); + log.info("SshClientInstaller: File upload completed in {}ms: task #{}: remote: {}, content-length={}", endTm-timestamp, taskCounter, remoteFilePath, content.length()); + log.trace("SshClientInstaller: File upload completed in {}ms: task #{}: remote: {}, content:\n{}", endTm-timestamp, taskCounter, remoteFilePath, content); + } catch (Exception ex) { + log.error("SshClientInstaller: File upload failed: task #{}: remote: {}, Exception: ", taskCounter, remoteFilePath, ex); + throw ex; + } + + return true; + } + + private INSTRUCTION_RESULT executeInstructionSets() throws IOException { + List instructionsSetList = task.getInstructionSets(); + INSTRUCTION_RESULT exitResult = INSTRUCTION_RESULT.SUCCESS; + int cntSuccess = 0; + int cntFail = 0; + for (InstructionsSet instructionsSet : instructionsSetList) { + log.info("\n ----------------------------------------------------------------------\n Task #{} : Instruction Set: {}", taskCounter, instructionsSet.getDescription()); + + // Check installation instructions condition + try { + if (! InstructionsService.getInstance().checkCondition(instructionsSet, task.getNodeRegistryEntry().getPreregistration())) { + log.info("SshClientInstaller: Task #{}: Installation Instructions set is skipped due to failed condition: {}", taskCounter, instructionsSet.getDescription()); + if (instructionsSet.isStopOnConditionFail()) { + log.info("SshClientInstaller: Task #{}: No further installation instructions sets will be executed due to stopOnConditionFail: {}", taskCounter, instructionsSet.getDescription()); + exitResult = INSTRUCTION_RESULT.FAIL; + break; + } + continue; + } + log.debug("SshClientInstaller: Task #{}: Condition evaluation for Installation Instructions Set succeeded: {}", taskCounter, instructionsSet.getDescription()); + } catch (Exception e) { + log.error("sshClientInstaller: Task #{}: Installation Instructions Set Condition evaluation error. Will not process remaining installation instructions sets: {}\n", taskCounter, instructionsSet.getDescription(), e); + exitResult = INSTRUCTION_RESULT.FAIL; + break; + } + + // Execute installation instructions + log.info("SshClientInstaller: Task #{}: Executing installation instructions set: {}", taskCounter, instructionsSet.getDescription()); + streamLogger.logMessage( + String.format("\n ----------------------------------------------------------------------\n Task #%d : Executing instruction set: %s\n", + taskCounter, instructionsSet.getDescription())); + INSTRUCTION_RESULT result = executeInstructions(instructionsSet); + if (result==INSTRUCTION_RESULT.FAIL) { + log.error("SshClientInstaller: Task #{}: Installation Instructions set failed: {}", taskCounter, instructionsSet.getDescription()); + cntFail++; + if (!continueOnFail) { + exitResult = INSTRUCTION_RESULT.FAIL; + break; + } + } else + if (result==INSTRUCTION_RESULT.EXIT) { + log.info("SshClientInstaller: Task #{}: Instruction set processing exits", taskCounter); + cntSuccess++; + exitResult = INSTRUCTION_RESULT.EXIT; + break; + } else { + log.info("SshClientInstaller: Task #{}: Installation Instructions set succeeded: {}", taskCounter, instructionsSet.getDescription()); + cntSuccess++; + } + } + log.info("\n -------------------------------------------------------------------------\n Task #{} : Instruction sets processed: successful={}, failed={}, exit-result={}", taskCounter, cntSuccess, cntFail, exitResult); + return exitResult; + } + + private INSTRUCTION_RESULT executeInstructions(InstructionsSet instructionsSet) throws IOException { + Map valueMap = task.getNodeRegistryEntry().getPreregistration(); + int numOfInstructions = instructionsSet.getInstructions().size(); + int cnt = 0; + int insCount = instructionsSet.getInstructions().size(); + for (Instruction ins : instructionsSet.getInstructions()) { + if (ins==null) continue; + cnt++; + + // Check instruction condition + try { + if (! InstructionsService.getInstance().checkCondition(ins, valueMap)) { + log.info("SshClientInstaller: Task #{}: Instruction is skipped due to failed condition {}/{}: {}", taskCounter, cnt, numOfInstructions, ins.description()); + if (ins.isStopOnConditionFail()) { + log.info("SshClientInstaller: Task #{}: No further instructions will be executed due to stopOnConditionFail: {}/{}: {}", taskCounter, cnt, numOfInstructions, ins.description()); + return INSTRUCTION_RESULT.FAIL; + } + continue; + } + log.debug("SshClientInstaller: Task #{}: Condition evaluation for instruction succeeded: {}/{}: {}", taskCounter, cnt, numOfInstructions, ins.description()); + } catch (Exception e) { + log.error("sshClientInstaller: Task #{}: Instruction Condition evaluation error. Will not process remaining instructions: {}/{}: {}\n", taskCounter, cnt, numOfInstructions, ins.description(), e); + return INSTRUCTION_RESULT.FAIL; + } + + // Execute instruction + ins = InstructionsService + .getInstance() + .resolvePlaceholders(ins, valueMap); + log.trace("SshClientInstaller: Task #{}: Executing instruction {}/{}: {}", taskCounter, cnt, numOfInstructions, ins); + log.info("SshClientInstaller: Task #{}: Executing instruction {}/{}: {}", taskCounter, cnt, numOfInstructions, ins.description()); + Integer exitStatus; + boolean result = true; + switch (ins.taskType()) { + case LOG: + log.info("SshClientInstaller: Task #{}: LOG: {}", taskCounter, ins.message()); + break; + case CMD: + log.info("SshClientInstaller: Task #{}: EXEC: {}", taskCounter, ins.command()); + int retries = 0; + int maxRetries = ins.retries(); + while (true) { + try { + exitStatus = sshExecCmd(ins.command(), ins.executionTimeout()); + result = (exitStatus!=null); + //result = (exitStatus==0); + log.info("SshClientInstaller: Task #{}: EXEC: exit-status={}", taskCounter, exitStatus); + if (result) break; + } catch (Exception ex) { + if (retries+1>=maxRetries) + throw ex; + else + log.error("SshClientInstaller: Task #{}: EXEC: Last command raised exception: ", taskCounter, ex); + } + + retries++; + if (retries<=maxRetries) { + log.info("SshClientInstaller: Task #{}: Retry {}/{} for instruction {}/{}: {}", + taskCounter, retries, maxRetries, cnt, numOfInstructions, ins.description()); + } else { + if (maxRetries>0) + log.error("sshClientInstaller: Task #{}: Last instruction failed {} times. Giving up", taskCounter, maxRetries); + result = false; + break; + } + } + break; + /*case SHELL: + log.info("SshClientInstaller: Task #{}: SHELL: {}", taskCounter, ins.getCommand()); + retries = 0; + maxRetries = ins.getRetries(); + while (true) { + try { + result = sshShellExec(ins.getCommand(), ins.getExecutionTimeout()); + log.info("SshClientInstaller: Task #{}: SHELL: exit-status={}", taskCounter, result); + if (result) break; + } catch (Exception ex) { + if (retries+1>=maxRetries) + throw ex; + else + log.error("SshClientInstaller: Task #{}: SHELL: Last command raised exception: ", taskCounter, ex); + } + + retries++; + if (retries<=maxRetries) { + log.info("SshClientInstaller: Task #{}: Retry {}/{} for instruction {}/{}: {}", + taskCounter, retries, maxRetries, cnt, numOfInstructions, ins.getDescription()); + } else { + if (maxRetries>0) + log.error("sshClientInstaller: Task #{}: Last instruction failed {} times. Giving up", taskCounter, maxRetries); + result = false; + break; + } + } + break;*/ + case FILE: + //log.info("SshClientInstaller: Task #{}: FILE: {}, content-length={}", taskCounter, ins.getFileName(), ins.getContents().length()); + if (Paths.get(ins.localFileName()).toFile().isDirectory()) { + log.info("SshClientInstaller: Task #{}: FILE: COPY-PROCESS DIR: {} -> {}", taskCounter, ins.localFileName(), ins.fileName()); + result = copyDir(ins.localFileName(), ins.fileName(), valueMap); + } else + if (Paths.get(ins.localFileName()).toFile().isFile()) { + log.info("SshClientInstaller: Task #{}: FILE: COPY-PROCESS FILE: {} -> {}", taskCounter, ins.localFileName(), ins.fileName()); + Path sourceFile = Paths.get(ins.localFileName()); + Path sourceBaseDir = Paths.get(ins.localFileName()).getParent(); + result = copyFile(sourceFile, sourceBaseDir, ins.fileName(), valueMap, ins.executable()); + } else { + log.error("SshClientInstaller: Task #{}: FILE: ERROR: Local file is not directory or normal file: {}", taskCounter, ins.localFileName()); + result = false; + } + break; + case COPY: + case UPLOAD: + log.info("SshClientInstaller: Task #{}: UPLOAD: {} -> {}", taskCounter, ins.localFileName(), ins.fileName()); + result = sshFileUpload(ins.localFileName(), ins.fileName()); + break; + case DOWNLOAD: + log.info("SshClientInstaller: Task #{}: DOWNLOAD: {} -> {}", taskCounter, ins.fileName(), ins.localFileName()); + result = sshFileDownload(ins.fileName(), ins.localFileName()); + if (result) + result = processPatterns(ins, valueMap); + break; + case CHECK: + log.info("SshClientInstaller: Task #{}: CHECK: {}", taskCounter, ins.command()); + exitStatus = sshExecCmd(ins.command()); + log.info("SshClientInstaller: Task #{}: CHECK: exit-status={}", taskCounter, exitStatus); + log.debug("SshClientInstaller: Task #{}: CHECK: Result: match={}, match-status={}, exec-status={}", + taskCounter, ins.match(), ins.exitCode(), exitStatus); + if (ins.match() && exitStatus==ins.exitCode() + || !ins.match() && exitStatus!=ins.exitCode()) + { + log.info("SshClientInstaller: Task #{}: CHECK: MATCH: {}", taskCounter, ins.message()); + log.info("SshClientInstaller: Task #{}: CHECK: MATCH: Will not process more instructions", taskCounter); + return INSTRUCTION_RESULT.SUCCESS; + } + break; + + case SET_VARS: + log.info("SshClientInstaller: Task #{}: SET_VARS:", taskCounter); + if (ins.variables()!=null && ins.variables().size()>0) { + ins.variables().forEach((varName, varExpression) -> { + try { + String varValue = InstructionsService.getInstance().processPlaceholders(varExpression, valueMap); + log.info("SshClientInstaller: Task #{}: Setting VAR: {} = {}", taskCounter, varName, varValue); + valueMap.put(varName, varValue); + } catch (Exception e) { + log.error("SshClientInstaller: Task #{}: ERROR while Setting VAR: {}: {}\n", taskCounter, varName, varExpression, e); + } + }); + } else + log.warn("SshClientInstaller: Task #{}: SET_VARS: No variables specified", taskCounter); + break; + case UNSET_VARS: + log.info("SshClientInstaller: Task #{}: UNSET_VARS:", taskCounter); + if (ins.variables()!=null && ins.variables().size()>0) { + Set vars = ins.variables().keySet(); + log.info("SshClientInstaller: Task #{}: Unsetting VAR: {}", taskCounter, vars); + valueMap.keySet().removeAll(vars); + } else + log.warn("SshClientInstaller: Task #{}: UNSET_VARS: No variables specified", taskCounter); + break; + case PRINT_VARS: + //log.info("SshClientInstaller: Task #{}: PRINT_VARS:", taskCounter); + String output = valueMap.entrySet().stream() + .map(e -> " VAR: "+e.getKey()+" = "+e.getValue()) + .collect(Collectors.joining("\n")); + log.info("SshClientInstaller: Task #{}: PRINT_VARS:\n{}", taskCounter, output); + break; + case EXIT_SET: + log.info("SshClientInstaller: Task #{}: EXIT_SET: Stop this instruction set processing", taskCounter); + try { + if (StringUtils.isNotBlank(ins.command())) { + String exitResult = ins.command().trim().toUpperCase(); + log.info("SshClientInstaller: Task #{}: EXIT_SET: Result={}", taskCounter, exitResult); + return INSTRUCTION_RESULT.valueOf(exitResult); + } + } catch (Exception e) { + log.error("SshClientInstaller: Task #{}: EXIT_SET: Invalid EXIT_SET result: {}. Will return FAIL", taskCounter, ins.command()); + return INSTRUCTION_RESULT.FAIL; + } + log.info("SshClientInstaller: Task #{}: EXIT_SET: Result={}", taskCounter, INSTRUCTION_RESULT.SUCCESS); + return INSTRUCTION_RESULT.SUCCESS; + case EXIT: + log.info("SshClientInstaller: Task #{}: EXIT: Stop any further instruction processing", taskCounter); + return INSTRUCTION_RESULT.EXIT; + default: + log.error("sshClientInstaller: Unknown instruction type. Ignoring it: {}", ins); + } + if (!result) { + log.error("sshClientInstaller: Last instruction failed. Will not process remaining instructions"); + return INSTRUCTION_RESULT.FAIL; + } + + if (cnt valueMap) throws IOException { + // Copy files from EMS server to Baguette Client + if (StringUtils.isNotEmpty(sourceDir) && StringUtils.isNotEmpty(targetDir)) { + Path baseDir = Paths.get(sourceDir).toAbsolutePath(); + try (Stream stream = Files.walk(baseDir, Integer.MAX_VALUE)) { + List paths = stream + .filter(Files::isRegularFile) + .map(Path::toAbsolutePath) + .sorted() + .collect(Collectors.toList()); + for (Path p : paths) { + if (!copyFile(p, baseDir, targetDir, valueMap, false)) + return false; + } + } + } + return true; + } + + public boolean copyFile(Path sourcePath, Path sourceBaseDir, String targetDir, Map valueMap, boolean isExecutable) throws IOException { + String targetFile = StringUtils.substringAfter(sourcePath.toUri().toString(), sourceBaseDir.toUri().toString()); + if (!targetFile.startsWith("/")) targetFile = "/"+targetFile; + targetFile = targetDir + targetFile; + + String contents = new String(Files.readAllBytes(sourcePath)); + log.info("SshClientInstaller: Task #{}: FILE: {}, content-length={}", taskCounter, targetFile, contents.length()); + contents = StringSubstitutor.replace(contents, valueMap); + log.trace("SshClientInstaller: Task #{}: FILE: {}, final-content:\n{}", taskCounter, targetFile, contents); + + String description = String.format("Copy file from server to temp to client: %s -> %s", sourcePath.toString(), targetFile); + + return sshFileWrite(contents, targetFile, isExecutable); + } + + private boolean processPatterns(Instruction ins, Map valueMap) { + Map patterns = ins.patterns(); + if (patterns==null || patterns.size()==0) { + log.info("SshClientInstaller: processPatterns: No patterns to process"); + return true; + } + + // Read local file + String[] linesArr; + try (Stream lines = Files.lines(Paths.get(ins.localFileName()))) { + linesArr = lines.toArray(String[]::new); + } catch (IOException e) { + log.error("SshClientInstaller: processPatterns: Error while reading local file: {} -- Exception: ", ins.localFileName(), e); + return false; + } + + // Process file lines against instruction patterns + patterns.forEach((varName,pattern) -> { + log.trace("SshClientInstaller: processPatterns: For-Each: var-name={}, pattern={}, pattern-flags={}", varName, pattern, pattern.flags()); + Matcher matcher = null; + for (String line : linesArr) { + Matcher m = pattern.matcher(line); + if (m.matches()) { + matcher = m; + //break; // Uncomment to return the first match. Comment to return the last match. + } + } + if (matcher!=null && matcher.matches()) { + String varValue = matcher.group( matcher.groupCount()>0 ? 1 : 0 ); + log.info("SshClientInstaller: processPatterns: Setting variable '{}' to: {}", varName, varValue); + valueMap.put(varName, varValue); + } else { + log.info("SshClientInstaller: processPatterns: No match for variable '{}' with pattern: {}", varName, pattern); + } + }); + + return true; + } + + @Override + public void preProcessTask() { + // Throw exception to prevent task exception, if task data have problem + } + + @Override + public boolean postProcessTask() { + log.trace("SshClientInstaller: postProcessTask: BEGIN:\n{}", task.getNodeRegistryEntry().getPreregistration()); + + // Check if Baguette client has been installed (or failed to install) + log.trace("SshClientInstaller: postProcessTask: CLIENT INSTALLATION...."); + boolean result = postProcessVariable( + properties.getClientInstallVarName(), + properties.getClientInstallSuccessPattern(), + value -> { task.getNodeRegistryEntry().nodeInstallationComplete(value); return true; }, + null, null); + log.trace("SshClientInstaller: postProcessTask: CLIENT INSTALLATION.... result: {}", result); + if (result) return true; + + // Check if Baguette client installation has failed + log.trace("SshClientInstaller: postProcessTask: CLIENT INSTALLATION FAILED...."); + result = postProcessVariable( + properties.getClientInstallVarName(), + properties.getClientInstallErrorPattern(), + value -> { task.getNodeRegistryEntry().nodeInstallationError(value); return true; }, + null, null); + log.trace("SshClientInstaller: postProcessTask: CLIENT INSTALLATION.... result: {}", result); + if (result) return true; + + // Check if Baguette client installation has been skipped (not attempted at all) + log.trace("SshClientInstaller: postProcessTask: CLIENT INSTALLATION SKIP...."); + result = postProcessVariable( + properties.getSkipInstallVarName(), + properties.getSkipInstallPattern(), + value -> { task.getNodeRegistryEntry().nodeNotInstalled(value); return true; }, + null, null); + log.trace("SshClientInstaller: postProcessTask: CLIENT INSTALLATION SKIP.... result: {}", result); + if (result) return true; + + // Check if the Node must be ignored by EMS + log.trace("SshClientInstaller: postProcessTask: NODE IGNORE...."); + result = postProcessVariable( + properties.getIgnoreNodeVarName(), + properties.getIgnoreNodePattern(), + value -> { task.getNodeRegistryEntry().nodeIgnore(value); return true; }, + null, null); + log.trace("SshClientInstaller: postProcessTask: NODE IGNORE.... result: {}", result); + if (result) return true; + + // Process defaults, if variables are missing or inconclusive + log.trace("SshClientInstaller: postProcessTask: DEFAULTS...."); + if (properties.isIgnoreNodeIfVarIsMissing()) { + log.trace("SshClientInstaller: postProcessTask: DEFAULTS.... NODE IGNORED"); + task.getNodeRegistryEntry().nodeIgnore(null); + } else + if (properties.isSkipInstallIfVarIsMissing()) { + log.trace("SshClientInstaller: postProcessTask: DEFAULTS.... CLIENT INSTALLATION SKIPPED"); + task.getNodeRegistryEntry().nodeNotInstalled(null); + } else + if (properties.isClientInstallSuccessIfVarIsMissing()) { + log.trace("SshClientInstaller: postProcessTask: DEFAULTS.... CLIENT INSTALLED"); + task.getNodeRegistryEntry().nodeInstallationComplete(null); + } else + if (properties.isClientInstallErrorIfVarIsMissing()) { + log.trace("SshClientInstaller: postProcessTask: DEFAULTS.... CLIENT INSTALLATION ERROR"); + task.getNodeRegistryEntry().nodeInstallationError(null); + } else + log.trace("SshClientInstaller: postProcessTask: DEFAULTS.... NO DEFAULT"); + log.trace("SshClientInstaller: postProcessTask: END"); + return true; + } + + private boolean postProcessVariable(String varName, Pattern pattern, @NonNull Function match, Function notMatch, Supplier missing) { + log.trace("SshClientInstaller: postProcessVariable: var={}, pattern={}", varName, pattern); + if (StringUtils.isNotBlank(varName) && pattern!=null) { + String value = task.getNodeRegistryEntry().getPreregistration().get(varName); + log.trace("SshClientInstaller: postProcessVariable: var={}, value={}", varName, value); + if (value!=null) { + if (pattern.matcher(value).matches()) { + log.trace("SshClientInstaller: postProcessVariable: MATCH-END: var={}, value={}, pattern={}", varName, value, pattern); + return match.apply(value); + } else { + log.trace("SshClientInstaller: postProcessVariable: NO MATCH: var={}, value={}, pattern={}", varName, value, pattern); + if (notMatch!=null) { + log.trace("SshClientInstaller: postProcessVariable: NO MATCH-END: var={}, value={}, pattern={}", varName, value, pattern); + return notMatch.apply(value); + } + } + } + } + if (missing!=null) { + log.trace("SshClientInstaller: postProcessVariable: DEFAULT-END: var={}", varName); + return missing.get(); + } + log.trace("SshClientInstaller: postProcessVariable: False-END: var={}", varName); + return false; + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshConfig.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshConfig.java new file mode 100644 index 0000000..489a3f7 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshConfig.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install; + +import lombok.Builder; +import lombok.Data; +import lombok.ToString; + +/** + * SSH connection information + */ +@Data +@Builder +@ToString(exclude = {"password", "privateKey"}) +public class SshConfig { + private String host; + @Builder.Default + private int port = 22; + private String username; + private String password; + private String privateKey; + private String fingerprint; +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshJsClientInstaller.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshJsClientInstaller.java new file mode 100644 index 0000000..ddc2722 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/SshJsClientInstaller.java @@ -0,0 +1,187 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install; + +import gr.iccs.imu.ems.baguette.client.install.instruction.INSTRUCTION_RESULT; +import gr.iccs.imu.ems.baguette.client.install.instruction.InstructionsSet; +import lombok.Builder; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.util.ResourceUtils; + +import javax.script.ScriptContext; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import java.util.function.Consumer; +import java.util.stream.Collectors; + +/** + * SSH-Javascript client installer + */ +@Slf4j +public class SshJsClientInstaller extends SshClientInstaller { + + @Builder(builderMethodName = "jsBuilder") + public SshJsClientInstaller(ClientInstallationTask task, long taskCounter, ClientInstallationProperties properties) { + super(task, taskCounter, properties); + } + + @Override + public boolean executeTask() { + log.info("SshJsClientInstaller: Task #{}: Opening SSH connection...", getTaskCounter()); + if (!openSshConnection()) { + return false; + } + + boolean success; + try { + log.info("SshJsClientInstaller: Task #{}: Executing JS installation scripts...", getTaskCounter()); + INSTRUCTION_RESULT exitResult = executeJsScripts(); + success = exitResult != INSTRUCTION_RESULT.FAIL; + } catch (Exception ex) { + log.error("SshJsClientInstaller: Task #{}: Exception while executing JS installation scripts: ", getTaskCounter(), ex); + success = false; + } + + log.info("SshJsClientInstaller: Task #{}: Closing SSH connection...", getTaskCounter()); + return closeSshConnection(success); + } + + private INSTRUCTION_RESULT executeJsScripts() throws IOException { + List jsScriptList = Optional.ofNullable(getTask().getInstructionSets()) + .orElseThrow(() -> new IllegalArgumentException("No SSH-Javascript installer scripts configured")) + .stream() + .map(InstructionsSet::getFileName) + .filter(StringUtils::isNotBlank) + .map(String::trim) + .collect(Collectors.toList()); + log.debug("SshJsClientInstaller: Task #{}: Configured installation scripts: {}", getTaskCounter(), jsScriptList); + if (jsScriptList.isEmpty()) + throw new IllegalArgumentException("SSH-Javascript installation scripts are blank"); + + INSTRUCTION_RESULT exitResult = null; + int cntSuccess = 0; + int cntFail = 0; + for (String jsScript : jsScriptList) { + log.info("\n ----------------------------------------------------------------------\n Task #{} : JS installation script: {}", getTaskCounter(), jsScript); + + // Execute JS installation script + getStreamLogger().logMessage( + String.format("\n ----------------------------------------------------------------------\n Task #%d : JS installation script: %s\n", + getTaskCounter(), jsScript)); + + INSTRUCTION_RESULT result = executeJsScript(jsScript); + + if (result==INSTRUCTION_RESULT.FAIL) { + log.error("SshJsClientInstaller: Task #{}: JS installation script failed: {}", getTaskCounter(), jsScript); + getStreamLogger().logMessage( + String.format("\n Task #%d : JS installation script failed: %s\n", getTaskCounter(), jsScript)); + cntFail++; + exitResult = INSTRUCTION_RESULT.FAIL; + if (!isContinueOnFail()) { + break; + } + } else + if (result==INSTRUCTION_RESULT.EXIT) { + log.info("SshJsClientInstaller: Task #{}: JS installation script processing exits", getTaskCounter()); + getStreamLogger().logMessage( + String.format("\n Task #%d : JS installation script processing exits\n", getTaskCounter())); + cntSuccess++; + exitResult = INSTRUCTION_RESULT.EXIT; + break; + } else { + log.info("SshJsClientInstaller: Task #{}: JS installation script succeeded: {}", getTaskCounter(), jsScript); + getStreamLogger().logMessage( + String.format("\n Task #%d : JS installation script succeeded: %s\n", getTaskCounter(), jsScript)); + cntSuccess++; + exitResult = INSTRUCTION_RESULT.SUCCESS; + } + } + log.info("\n -------------------------------------------------------------------------\n Task #{} : JS installation scripts processed: successful={}, failed={}, exit-result={}", getTaskCounter(), cntSuccess, cntFail, exitResult); + getStreamLogger().logMessage( + String.format("\n ----------------------------------------------------------------------\n Task #%d : JS installation scripts processed: successful=%d, failed=%d, exit-result=%s\n", getTaskCounter(), cntSuccess, cntFail, exitResult)); + return exitResult; + } + + public void printAndLog(Object args) { + try { + String message; + if (args==null) { + message = "null"; + } else + if (args.getClass().isArray()) { + message = Arrays.stream((Object[]) args) + .map(o -> o == null ? "null" : o.toString()) + .collect(Collectors.joining(" ")); + } else { + message = args.toString(); + } + if (!message.endsWith("\n")) message += "\n"; +// getStreamLogger().getOut().write(String.format(message).getBytes()); + getStreamLogger().logMessage(message); + } catch (IOException e) { + log.error("SshJsClientInstaller: printAndLog: ", e); + } + } + + private INSTRUCTION_RESULT executeJsScript(String jsScript) { + try { + // Initializing JS engine + log.debug("SshJsClientInstaller: Task #{}: Initializing JS engine", getTaskCounter()); + ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); + ScriptEngine engine = scriptEngineManager.getEngineByName("nashorn"); + engine.getContext().getBindings(ScriptContext.GLOBAL_SCOPE).put("installer", this); + engine.getContext().getBindings(ScriptContext.GLOBAL_SCOPE).put("log", (Consumer)this::printAndLog); + + log.debug("SshJsClientInstaller: Task #{}: Executing JS script: {}", getTaskCounter(), jsScript); + File jsFile = ResourceUtils.getFile(jsScript); + log.trace("SshJsClientInstaller: Task #{}: JS script file: {}", getTaskCounter(), jsFile); + Object result = engine.eval(new FileReader(jsFile)); + + if (result==null) { + log.error("SshJsClientInstaller: Task #{}: JS installation script returned NULL: {}", getTaskCounter(), jsScript); + return INSTRUCTION_RESULT.FAIL; + } + if (result instanceof Integer) { + int code = (int)result; + log.info("SshJsClientInstaller: Task #{}: JS installation script returned: code={}, script: {}", getTaskCounter(), code, jsScript); + return code==0 ? INSTRUCTION_RESULT.SUCCESS : INSTRUCTION_RESULT.FAIL; + } else { + log.error("SshJsClientInstaller: Task #{}: JS installation script returned NON-INTEGER value: {}, script: {}", getTaskCounter(), result, jsScript); + return INSTRUCTION_RESULT.FAIL; + } + } catch (ScriptException | IOException e) { + log.error("SshJsClientInstaller: Task #{}: Exception while executing script: {}, Exception: ", getTaskCounter(), jsScript, e); + return INSTRUCTION_RESULT.FAIL; + } + } + + public String getInstallationResult() { + return getTask().getNodeRegistryEntry().getPreregistration().get(getProperties().getClientInstallVarName()); + } + + public void setInstallationResult(boolean success) { + getTask().getNodeRegistryEntry().getPreregistration().put( + getProperties().getClientInstallVarName(), + success ? "INSTALLED" : "ERROR"); + } + + public void clearInstallationResult() { + getTask().getNodeRegistryEntry().getPreregistration().remove( + getProperties().getClientInstallVarName()); + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/StreamLogger.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/StreamLogger.java new file mode 100644 index 0000000..101717f --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/StreamLogger.java @@ -0,0 +1,166 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.io.*; +import java.util.Arrays; +import java.util.Objects; + +/** + * Logs and formats In/Out/Err streams + */ +@Slf4j +public class StreamLogger { + private final FileOutputStream fos; + private final PipedOutputStream pos; + private final PipedInputStream pis; + private final MonitorOutputStream mos; + + private final OutputStream ncInvertedIn; + private final InputStream ncIn; + private final OutputStream ncOut; + private final OutputStream ncErr; + + private String lastLine; + private long lastLineTime; + + public StreamLogger(String logFile) throws IOException { + this(logFile, ""); + } + + public StreamLogger(String logFile, String prefix) throws IOException { + this.fos = StringUtils.isNotBlank(logFile) ? new FileOutputStream(logFile) : null; + this.pos = new PipedOutputStream(); + this.pis = new PipedInputStream(pos); + this.mos = new MonitorOutputStream(this); + + this.ncIn = new LoggerInputStream(pis, prefix+" IN", toArray(System.out, fos)); + this.ncInvertedIn = pos; + this.ncOut = new LoggerOutputStream(prefix+" OUT", toArray(System.out, mos, fos)); + this.ncErr = new LoggerOutputStream(prefix+" ERR", toArray(System.err, fos)); + } + + private OutputStream[] toArray(OutputStream...streams) { + return Arrays.stream(streams) + .filter(Objects::nonNull) + .toArray(OutputStream[]::new); + } + + public InputStream getIn() { return ncIn; } + + public OutputStream getInvertedIn() { + return ncInvertedIn; + } + + public OutputStream getOut() { + return ncOut; + } + + public OutputStream getErr() { + return ncErr; + } + + public void close() throws IOException { + if (fos!=null) fos.close(); + pos.close(); + } + + public void logMessage(String message) throws IOException { + if (fos!=null) fos.write(message.getBytes()); + } + + private void newLine(String line, long timestamp) { + lastLine = line; + lastLineTime = timestamp; + } + + static class LoggerInputStream extends InputStream { + private final InputStream in; + private final OutputStream[] streams; + private final byte[] prefix; + + public LoggerInputStream(InputStream in, String prefix, OutputStream...streams) { + this.in = in; + this.prefix = (prefix+"< ").getBytes(); + this.streams = streams; + } + + @Override + public int read() throws IOException { + int b = in.read(); + writeToStreams(b); + return b; + } + + private void writeToStreams(int b) throws IOException { + for (int i=0; i ").getBytes(); + this.streams = streams; + } + + @Override + public void write(int b) throws IOException { + if (newline) { + writeToStreams(prefix); + newline = false; + } + writeToStreams(b); + if (b=='\n') newline = true; + } + + private void writeToStreams(int b) throws IOException { + for (int i=0; i, InstallationHelper { + protected static AbstractInstallationHelper instance = null; + protected static List LINUX_OS_FAMILIES; + protected static List WINDOWS_OS_FAMILIES; + + @Autowired + @Getter @Setter + protected ClientInstallationProperties properties; + @Autowired + protected PasswordUtil passwordUtil; + + protected String archiveBase64; + protected boolean isServerSecure; + protected String serverCert; + + public synchronized static AbstractInstallationHelper getInstance() { + return instance; + } + + @Override + public void afterPropertiesSet() { + log.debug("AbstractInstallationHelper.afterPropertiesSet(): class={}: configuration: {}", getClass().getName(), properties); + AbstractInstallationHelper.instance = this; + LINUX_OS_FAMILIES = properties.getOsFamilies().get("LINUX"); + WINDOWS_OS_FAMILIES = properties.getOsFamilies().get("WINDOWS"); + } + + @Override + public void onApplicationEvent(WebServerInitializedEvent event) { + log.debug("AbstractInstallationHelper.onApplicationEvent(): event={}", event); + TomcatWebServer tomcat = (TomcatWebServer) event.getSource(); + + try { + initServerCertificateFile(tomcat); + initBaguetteClientConfigArchive(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private void initServerCertificateFile(TomcatWebServer tomcat) throws Exception { + this.isServerSecure = tomcat.getTomcat().getConnector().getSecure(); + log.debug("AbstractInstallationHelper.initServerCertificate(): Embedded Tomcat is secure: {}", isServerSecure); + + if (isServerSecure) { + // If HTTPS is enabled + SSLHostConfig[] sslHostConfigArr = tomcat.getTomcat().getConnector().findSslHostConfigs(); + if (log.isDebugEnabled()) + log.debug("AbstractInstallationHelper.initServerCertificate(): Tomcat SSL host config array: {}", Arrays.asList(sslHostConfigArr)); + if (sslHostConfigArr.length!=1) + throw new RuntimeException("Embedded Tomcat has zero or more than one SSL host configurations: "+sslHostConfigArr.length); + + // Get certificate entries (in key manager/store) for this SSL Hosting configuration + Set sslCertificatesSet = sslHostConfigArr[0].getCertificates(); + log.debug("AbstractInstallationHelper.initServerCertificate(): SSL certificates set: {}", sslCertificatesSet); + int n = 0; + String serverCert = null; + for (SSLHostConfigCertificate sslCertificate : sslCertificatesSet) { + // Get entry alias + log.debug("AbstractInstallationHelper.initServerCertificate(): SSL certificate[{}]: {}", n, sslCertificate); + String keyAlias = sslCertificate.getCertificateKeyAlias(); + log.debug("AbstractInstallationHelper.initServerCertificate(): SSL certificate[{}]: alias={}", n, keyAlias); + + // Get certificate chain for entry with 'alias' + X509Certificate[] chain = sslCertificate.getSslContext().getCertificateChain(keyAlias); + StringBuilder sb = new StringBuilder(); + int m = 0; + for (X509Certificate c : chain) { + // Export certificate in PEM format (for each chain item) + String certPem = KeystoreUtil.exportCertificateAsPEM(c); + log.debug("AbstractInstallationHelper.initServerCertificate(): SSL certificate[{}]: {}: \n{}", n, m, certPem); + // Append PEM certificate to 'sb' + sb.append(certPem).append(System.getProperty("line.separator")); + m++; + } + // The first entry is used as the server certificate + if (serverCert==null) + serverCert = sb.toString(); + + n++; + } + this.serverCert = serverCert; + log.debug("AbstractInstallationHelper.initServerCertificate(): Server certificate:\n{}", serverCert); + + // Write server certificate to PEM file (server.pem) + String certFileName = properties.getServerCertFileAtServer(); + if (this.serverCert!=null && StringUtils.isNotEmpty(certFileName)) { + File certFile = new File(certFileName); + Files.writeString(certFile.toPath(), this.serverCert, StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING); + if (! certFile.exists()) + throw new RuntimeException("Server PEM certificate file not found: "+certFile); + log.debug("AbstractInstallationHelper.initServerCertificate(): Server PEM certificate stored in file: {}", certFile); + log.info("Server PEM certificate stored in file: {}", certFile); + } + + } else { + // If HTTPS is disabled + if (StringUtils.isNotEmpty(properties.getServerCertFileAtServer())) { + File certFile = new File(properties.getServerCertFileAtServer()); + if (certFile.exists()) { + log.debug("AbstractInstallationHelper.initServerCertificate(): Removing previous server certificate file"); + if (!certFile.delete()) + throw new RuntimeException("Could not remove previous server certificate file: " + certFile); + } + this.serverCert = null; + } + } + } + + private void initBaguetteClientConfigArchive() throws IOException { + if (StringUtils.isEmpty(properties.getArchiveSourceDir()) || StringUtils.isEmpty(properties.getArchiveFile())) { + log.debug("AbstractInstallationHelper: No baguette client configuration archiving has been configured"); + return; + } + log.info("AbstractInstallationHelper: Building baguette client configuration archive..."); + + // Get archiving settings + String configDirName = properties.getArchiveSourceDir(); + File configDir = new File(configDirName); + log.debug("AbstractInstallationHelper: Baguette client configuration directory: {}", configDir); + if (!configDir.exists()) + throw new FileNotFoundException("Baguette client configuration directory not found: " + configDirName); + + String archiveName = properties.getArchiveFile(); + String archiveDirName = properties.getArchiveDir(); + File archiveDir = new File(archiveDirName); + log.debug("AbstractInstallationHelper: Baguette client configuration archive: {}/{}", archiveDirName, archiveName); + if (!archiveDir.exists()) + throw new FileNotFoundException("Baguette client configuration archive directory not found: " + archiveDirName); + + // Remove previous baguette client configuration archive + File archiveFile = new File(archiveDirName, archiveName); + if (archiveFile.exists()) { + log.debug("AbstractInstallationHelper: Removing previous archive..."); + if (!archiveFile.delete()) + throw new RuntimeException("AbstractInstallationHelper: Failed removing previous archive: " + archiveName); + } + + // Create baguette client configuration archive + Archiver archiver = ArchiverFactory.createArchiver(archiveFile); + String tempFileName = "archive_" + System.currentTimeMillis(); + log.debug("AbstractInstallationHelper: Temp. archive name: {}", tempFileName); + archiveFile = archiver.create(tempFileName, archiveDir, configDir); + log.debug("AbstractInstallationHelper: Archive generated: {}", archiveFile); + if (!archiveFile.getName().equals(archiveName)) { + log.debug("AbstractInstallationHelper: Renaming archive to: {}", archiveName); + if (!archiveFile.renameTo(archiveFile = new File(archiveDir, archiveName))) + throw new RuntimeException("AbstractInstallationHelper: Failed renaming generated archive to: " + archiveName); + } + log.info("AbstractInstallationHelper: Baguette client configuration archive: {}", archiveFile); + + // Base64 encode archive and cache in memory + byte[] archiveBytes = Files.readAllBytes(archiveFile.toPath()); + this.archiveBase64 = Base64.getEncoder().encodeToString(archiveBytes); + log.debug("AbstractInstallationHelper: Archive Base64 encoded: {}", archiveBase64); + } + + private String getResourceAsString(String resourcePath) throws IOException { + InputStream resource = new FileSystemResource(resourcePath).getInputStream(); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(resource))) { + return reader.lines().collect(Collectors.joining("\n")); + } + } + + public Optional> getInstallationInstructionsForOs(NodeRegistryEntry entry) throws IOException { + if (! entry.getBaguetteServer().isServerRunning()) throw new RuntimeException("Baguette Server is not running"); + + List instructionsSets = prepareInstallationInstructionsForOs(entry); + if (instructionsSets==null) { + String nodeOs = entry.getPreregistration().get("operatingSystem"); + log.warn("AbstractInstallationHelper.getInstallationInstructionsForOs(): ERROR: Unknown node OS: {}: node-map={}", nodeOs, entry.getPreregistration()); + return Optional.empty(); + } + + List jsonSets = null; + if (!instructionsSets.isEmpty()) { + // Convert 'instructionsSet' into json string + Gson gson = new Gson(); + jsonSets = instructionsSets.stream().map(instructionsSet -> gson.toJson(instructionsSet, InstructionsSet.class)).collect(Collectors.toList()); + } + log.trace("AbstractInstallationHelper.getInstallationInstructionsForOs(): JSON instruction sets for node: node-map={}\n{}", entry.getPreregistration(), jsonSets); + return Optional.ofNullable(jsonSets); + } + + public List prepareInstallationInstructionsForOs(NodeRegistryEntry entry) throws IOException { + if (! entry.getBaguetteServer().isServerRunning()) throw new RuntimeException("Baguette Server is not running"); + log.trace("AbstractInstallationHelper.prepareInstallationInstructionsForOs(): node-map={}", entry.getPreregistration()); + + String osFamily = entry.getPreregistration().get("operatingSystem"); + List instructionsSetList = null; + if (LINUX_OS_FAMILIES.contains(osFamily.toUpperCase())) + instructionsSetList = prepareInstallationInstructionsForLinux(entry); + else if (WINDOWS_OS_FAMILIES.contains(osFamily.toUpperCase())) + instructionsSetList = prepareInstallationInstructionsForWin(entry); + else + log.warn("AbstractInstallationHelper.prepareInstallationInstructionsForOs(): Unsupported OS family: {}", osFamily); + return instructionsSetList; + } + + protected InstructionsSet _appendCopyInstructions( + InstructionsSet instructionsSet, + Path p, + Path startDir, + String copyToClientDir, + String clientTmpDir, + Map valueMap + ) throws IOException + { + String targetFile = StringUtils.substringAfter(p.toUri().toString(), startDir.toUri().toString()); + if (!targetFile.startsWith("/")) targetFile = "/"+targetFile; + targetFile = copyToClientDir + targetFile; + String contents = new String(Files.readAllBytes(p)); + contents = StringSubstitutor.replace(contents, valueMap); + String tmpFile = clientTmpDir+"/installEMS_"+System.currentTimeMillis(); + instructionsSet + .appendLog(String.format("Copy file from server to temp to client: %s -> %s -> %s", p.toString(), tmpFile, targetFile)); + return _appendCopyInstructions(instructionsSet, targetFile, tmpFile, contents, clientTmpDir); + } + + protected InstructionsSet _appendCopyInstructions( + InstructionsSet instructionsSet, + String targetFile, + String tmpFile, + String contents, + String clientTmpDir + ) throws IOException + { + if (StringUtils.isEmpty(tmpFile)) + tmpFile = clientTmpDir+"/installEMS_"+System.currentTimeMillis(); + instructionsSet + .appendWriteFile(tmpFile, contents, false) + .appendExec("sudo mv " + tmpFile + " " + targetFile) + .appendExec("sudo chmod u+rw,og-rwx " + targetFile); + return instructionsSet; + } + + protected String _prepareUrl(String urlTemplate, String baseUrl) { + return urlTemplate + .replace("%{BASE_URL}%", Optional.ofNullable(baseUrl).orElse("")); + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/InstallationHelper.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/InstallationHelper.java new file mode 100644 index 0000000..420016a --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/InstallationHelper.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.helper; + +import gr.iccs.imu.ems.baguette.client.install.ClientInstallationTask; +import gr.iccs.imu.ems.baguette.client.install.instruction.InstructionsSet; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.translate.TranslationContext; + +import java.io.IOException; +import java.util.List; +import java.util.Optional; + +public interface InstallationHelper { + Optional> getInstallationInstructionsForOs(NodeRegistryEntry entry) throws IOException; + + List prepareInstallationInstructionsForOs(NodeRegistryEntry entry) throws IOException; + List prepareInstallationInstructionsForWin(NodeRegistryEntry entry); + List prepareInstallationInstructionsForLinux(NodeRegistryEntry entry) throws IOException; + + default ClientInstallationTask createClientInstallationTask(NodeRegistryEntry entry) throws Exception { + return createClientInstallationTask(entry, null); + } + ClientInstallationTask createClientInstallationTask(NodeRegistryEntry entry, TranslationContext translationContext) throws Exception; +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/InstallationHelperFactory.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/InstallationHelperFactory.java new file mode 100644 index 0000000..c3ab4df --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/InstallationHelperFactory.java @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.helper; + +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.stereotype.Service; + +import java.lang.reflect.InvocationTargetException; +import java.util.Map; + +/** + * Installation helper factory + */ +@Slf4j +@Service +public class InstallationHelperFactory implements InitializingBean { + private static InstallationHelperFactory instance; + + public synchronized static InstallationHelperFactory getInstance() { return instance; } + + @Autowired + private ApplicationContext applicationContext; + + @Override + public void afterPropertiesSet() { + InstallationHelperFactory.instance = this; + } + + public InstallationHelper createInstallationHelper(NodeRegistryEntry entry) { + String nodeType = entry.getPreregistration().get("type"); + if ("VM".equalsIgnoreCase(nodeType) || "baremetal".equalsIgnoreCase(nodeType)) { + return createVmInstallationHelper(entry); + } + throw new IllegalArgumentException("Unsupported or missing Node type: "+nodeType); + } + + public InstallationHelper createInstallationHelperBean(String className, NodeRegistryEntry entry) throws ClassNotFoundException { + Class clzz = Class.forName(className); + return (InstallationHelper) applicationContext.getBean(clzz); + } + + public InstallationHelper createInstallationHelperInstance(String className, Map nodeMap) + throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException + { + Class clzz = Class.forName(className); + return (InstallationHelper) clzz.getDeclaredMethod("getInstance").invoke(null); + } + + private InstallationHelper createVmInstallationHelper(NodeRegistryEntry entry) { + return VmInstallationHelper.getInstance(); + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/VmInstallationHelper.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/VmInstallationHelper.java new file mode 100644 index 0000000..d85264b --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/helper/VmInstallationHelper.java @@ -0,0 +1,321 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.helper; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import gr.iccs.imu.ems.baguette.client.install.ClientInstallationProperties; +import gr.iccs.imu.ems.baguette.client.install.ClientInstallationTask; +import gr.iccs.imu.ems.baguette.client.install.SshConfig; +import gr.iccs.imu.ems.baguette.client.install.instruction.Instruction; +import gr.iccs.imu.ems.baguette.client.install.instruction.InstructionsService; +import gr.iccs.imu.ems.baguette.client.install.instruction.InstructionsSet; +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.util.CredentialsMap; +import gr.iccs.imu.ems.util.NetUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringSubstitutor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ResourceLoader; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.nio.file.Files; +import java.nio.file.Path; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Baguette Client installation helper + */ +@Slf4j +@Service +public class VmInstallationHelper extends AbstractInstallationHelper { + private final static SimpleDateFormat tsW3C = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); + private final static SimpleDateFormat tsUTC = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS"); + private final static SimpleDateFormat tsFile = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss.SSS"); + static { + tsW3C.setTimeZone(TimeZone.getDefault()); + tsUTC.setTimeZone(TimeZone.getTimeZone("UTC")); + tsFile.setTimeZone(TimeZone.getDefault()); + } + + @Autowired + private ResourceLoader resourceLoader; + @Autowired + private ClientInstallationProperties clientInstallationProperties; + + @Override + public ClientInstallationTask createClientInstallationTask(NodeRegistryEntry entry, TranslationContext translationContext) throws IOException { + Map nodeMap = entry.getPreregistration(); + + String baseUrl = nodeMap.get("BASE_URL"); + String clientId = nodeMap.get("CLIENT_ID"); + String ipSetting = nodeMap.get("IP_SETTING"); + + // Extract node identification and type information + String nodeId = nodeMap.get("id"); + String nodeOs = nodeMap.get("operatingSystem"); + String nodeAddress = nodeMap.get("address"); + String nodeType = nodeMap.get("type"); + String nodeName = nodeMap.get("name"); + String nodeProvider = nodeMap.get("provider"); + + if (StringUtils.isBlank(nodeType)) nodeType = "VM"; + + if (StringUtils.isBlank(nodeOs)) throw new IllegalArgumentException("Missing OS information for Node"); + if (StringUtils.isBlank(nodeAddress)) throw new IllegalArgumentException("Missing Address for Node"); + + // Extract node SSH information + int port = (int) Double.parseDouble(Objects.toString(nodeMap.get("ssh.port"), "22")); + if (port<1) port = 22; + String username = nodeMap.get("ssh.username"); + String password = nodeMap.get("ssh.password"); + String privateKey = nodeMap.get("ssh.key"); + String fingerprint = nodeMap.get("ssh.fingerprint"); + + if (port>65535) + throw new IllegalArgumentException("Invalid SSH port for Node: " + port); + if (StringUtils.isBlank(username)) + throw new IllegalArgumentException("Missing SSH username for Node"); + if (StringUtils.isEmpty(password) && StringUtils.isBlank(privateKey)) + throw new IllegalArgumentException("Missing SSH password or private key for Node"); + + // Get EMS client installation instructions for VM node + List instructionsSetList = + prepareInstallationInstructionsForOs(entry); + + // Create Installation Task for VM node + ClientInstallationTask installationTask = ClientInstallationTask.builder() + .id(clientId) + .nodeId(nodeId) + .name(nodeName) + .os(nodeOs) + .address(nodeAddress) + .ssh(SshConfig.builder() + .host(nodeAddress) + .port(port) + .username(username) + .password(password) + .privateKey(privateKey) + .fingerprint(fingerprint) + .build()) + .type(nodeType) + .provider(nodeProvider) + .instructionSets(instructionsSetList) + .nodeRegistryEntry(entry) + .translationContext(translationContext) + .build(); + log.debug("VmInstallationHelper.createClientInstallationTask(): Created client installation task: {}", installationTask); + + return installationTask; + } + + @Override + public List prepareInstallationInstructionsForWin(NodeRegistryEntry entry) { + log.warn("VmInstallationHelper.prepareInstallationInstructionsForWin(): NOT YET IMPLEMENTED"); + throw new IllegalArgumentException("VmInstallationHelper.prepareInstallationInstructionsForWin(): NOT YET IMPLEMENTED"); + } + + @Override + public List prepareInstallationInstructionsForLinux(NodeRegistryEntry entry) throws IOException { + Map nodeMap = entry.getPreregistration(); + BaguetteServer baguette = entry.getBaguetteServer(); + + String baseUrl = StringUtils.removeEnd(nodeMap.get("BASE_URL"), "/"); + String clientId = nodeMap.get("CLIENT_ID"); + String ipSetting = nodeMap.get("IP_SETTING"); + log.debug("VmInstallationHelper.prepareInstallationInstructionsForLinux(): Invoked: base-url={}", baseUrl); + + // Get parameters + log.trace("VmInstallationHelper.prepareInstallationInstructionsForLinux(): properties: {}", properties); + String rootCmd = properties.getRootCmd(); + String baseDir = properties.getBaseDir(); + String checkInstallationFile = properties.getCheckInstalledFile(); + + String baseDownloadUrl = _prepareUrl(properties.getDownloadUrl(), baseUrl); + String apiKey = properties.getApiKey(); + String installScriptUrl = _prepareUrl(properties.getInstallScriptUrl(), baseUrl); + String installScriptPath = properties.getInstallScriptFile(); + + String serverCertFile = properties.getServerCertFileAtClient(); + String clientConfArchive = properties.getClientConfArchiveFile(); + + String copyFromServerDir = properties.getCopyFilesFromServerDir(); + String copyToClientDir = properties.getCopyFilesToClientDir(); + + String clientTmpDir = StringUtils.firstNonBlank(properties.getClientTmpDir(), "/tmp"); + + // Create additional keys (with NODE_ prefix) for node map values (as aliases to the already existing keys) + /* + Map additionalKeysMap = nodeMap.entrySet().stream() + .collect(Collectors.toMap( + e -> e.getKey().startsWith("ssh.") + ? "NODE_SSH_" + e.getKey().substring(4).toUpperCase() + : "NODE_" + e.getKey().toUpperCase(), + Map.Entry::getValue, + (v1, v2) -> { + log.warn("VmInstallationHelper.prepareInstallationInstructionsForLinux(): DUPLICATE KEY FOUND: key={}, old-value={}, new-value={}", + k, v1, v2); + return v2; + } + ));*/ + final Map additionalKeysMap = new HashMap<>(); + nodeMap.forEach((k, v) -> { + try { + k = k.startsWith("ssh.") + ? "NODE_SSH_" + k.substring(4).toUpperCase() + : "NODE_" + k.toUpperCase(); + if (additionalKeysMap.containsKey(k)) { + log.warn("VmInstallationHelper.prepareInstallationInstructionsForLinux(): DUPLICATE KEY FOUND: key={}, old-value={}, new-value={}", + k, additionalKeysMap.get(k), v); + } + additionalKeysMap.put(k, v); + } catch (Exception ex) { + log.error("VmInstallationHelper.prepareInstallationInstructionsForLinux(): EXCEPTION in additional keys copy loop: key={}, value={}, additionalKeysMap={}, Exception:\n", + k, v, additionalKeysMap, ex); + } + }); + nodeMap.putAll(additionalKeysMap); + + // Load client config. template and prepare configuration + nodeMap.put("ROOT_CMD", rootCmd!=null ? rootCmd : ""); + nodeMap.put("BAGUETTE_CLIENT_ID", clientId); + nodeMap.put("BAGUETTE_CLIENT_BASE_DIR", baseDir); + nodeMap.put("BAGUETTE_SERVER_ADDRESS", baguette.getConfiguration().getServerAddress()); + nodeMap.put("BAGUETTE_SERVER_HOSTNAME", NetUtil.getHostname()); + nodeMap.put("BAGUETTE_SERVER_PORT", ""+baguette.getConfiguration().getServerPort()); + nodeMap.put("BAGUETTE_SERVER_PUBKEY", baguette.getServerPubkey()); + nodeMap.put("BAGUETTE_SERVER_PUBKEY_FINGERPRINT", baguette.getServerPubkeyFingerprint()); + nodeMap.put("BAGUETTE_SERVER_PUBKEY_ALGORITHM", baguette.getServerPubkeyAlgorithm()); + nodeMap.put("BAGUETTE_SERVER_PUBKEY_FORMAT", baguette.getServerPubkeyFormat()); + CredentialsMap.Entry pair = + baguette.getConfiguration().getCredentials().hasPreferredPair() + ? baguette.getConfiguration().getCredentials().getPreferredPair() + : baguette.getConfiguration().getCredentials().entrySet().iterator().next(); + nodeMap.put("BAGUETTE_SERVER_USERNAME", pair.getKey()); + nodeMap.put("BAGUETTE_SERVER_PASSWORD", pair.getValue()); + + if (StringUtils.isEmpty(ipSetting)) throw new IllegalArgumentException("IP_SETTING must have a value"); + nodeMap.put("IP_SETTING", ipSetting); + + // Misc. installation property values + nodeMap.put("BASE_URL", baseUrl); + nodeMap.put("DOWNLOAD_URL", baseDownloadUrl); + nodeMap.put("API_KEY", apiKey); + nodeMap.put("SERVER_CERT_FILE", serverCertFile); + nodeMap.put("REMOTE_TMP_DIR", clientTmpDir); + + Date ts = new Date(); + nodeMap.put("TIMESTAMP", Long.toString(ts.getTime())); + nodeMap.put("TIMESTAMP-W3C", tsW3C.format(ts)); + nodeMap.put("TIMESTAMP-UTC", tsUTC.format(ts)); + nodeMap.put("TIMESTAMP-FILE", tsFile.format(ts)); + + nodeMap.putAll(clientInstallationProperties.getParameters()); + nodeMap.put("EMS_PUBLIC_DIR", System.getProperty("PUBLIC_DIR", System.getenv("PUBLIC_DIR"))); + log.trace("VmInstallationHelper.prepareInstallationInstructionsForLinux: value-map: {}", nodeMap); + +/* // Clear EMS server certificate (PEM) file, if not secure + if (!isServerSecure) { + serverCertFile = ""; + } + + // Copy files from server to Baguette Client + if (StringUtils.isNotEmpty(copyFromServerDir) && StringUtils.isNotEmpty(copyToClientDir)) { + Path startDir = Paths.get(copyFromServerDir).toAbsolutePath(); + try (Stream stream = Files.walk(startDir, Integer.MAX_VALUE)) { + List paths = stream + .filter(Files::isRegularFile) + .map(Path::toAbsolutePath) + .sorted() + .collect(Collectors.toList()); + for (Path p : paths) { + _appendCopyInstructions(instructionSets, p, startDir, copyToClientDir, clientTmpDir, valueMap); + } + } + }*/ + + List instructionsSetList = new ArrayList<>(); + + try { + // Read installation instructions from JSON file + List instructionSetFileList = null; + if (nodeMap.containsKey("instruction-files")) { + instructionSetFileList = Arrays.stream(nodeMap.getOrDefault("instruction-files", "").split(",")) + .filter(StringUtils::isNotBlank) + .map(String::trim) + .collect(Collectors.toList()); + if (instructionSetFileList.isEmpty()) + log.warn("VmInstallationHelper.prepareInstallationInstructionsForLinux: Context map contains 'instruction-files' entry with no contents"); + } else { + instructionSetFileList = properties.getInstructions().get("LINUX"); + } + for (String instructionSetFile : instructionSetFileList) { + // Load instructions set from file + log.debug("VmInstallationHelper.prepareInstallationInstructionsForLinux: Installation instructions file for LINUX: {}", instructionSetFile); + InstructionsSet instructionsSet = InstructionsService.getInstance().loadInstructionsFile(instructionSetFile); + log.debug("VmInstallationHelper.prepareInstallationInstructionsForLinux: Instructions set loaded from file: {}\n{}", instructionSetFile, instructionsSet); + + // Pretty print instructionsSet JSON + if (log.isTraceEnabled()) { + Gson gson = new GsonBuilder().setPrettyPrinting().create(); + StringWriter stringWriter = new StringWriter(); + try (PrintWriter writer = new PrintWriter(stringWriter)) { + gson.toJson(instructionsSet, writer); + } + log.trace("VmInstallationHelper.prepareInstallationInstructionsForLinux: Installation instructions for LINUX: json:\n{}", stringWriter); + } + + instructionsSetList.add(instructionsSet); + } + + return instructionsSetList; + } catch (Exception ex) { + log.error("VmInstallationHelper.prepareInstallationInstructionsForLinux: Exception while reading Installation instructions for LINUX: ", ex); + throw ex; + } + } + + private InstructionsSet _appendCopyInstructions( + InstructionsSet instructionsSet, + Path path, + Path localBaseDir, + String remoteTargetDir, + Map valueMap + ) throws IOException + { + String targetFile = StringUtils.substringAfter(path.toUri().toString(), localBaseDir.toUri().toString()); + if (!targetFile.startsWith("/")) targetFile = "/"+targetFile; + targetFile = remoteTargetDir + targetFile; + String contents = new String(Files.readAllBytes(path)); + contents = StringSubstitutor.replace(contents, valueMap); + String description = String.format("Copy file from server to temp to client: %s -> %s", path.toString(), targetFile); + return _appendCopyInstructions(instructionsSet, targetFile, description, contents); + } + + private InstructionsSet _appendCopyInstructions( + InstructionsSet instructionsSet, + String targetFile, + String description, + String contents) + { + instructionsSet + .appendInstruction(Instruction.createWriteFile(targetFile, contents, false).description(description)) + .appendExec("sudo chmod u+rw,og-rwx " + targetFile); + return instructionsSet; + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/AbstractInstructionsBase.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/AbstractInstructionsBase.java new file mode 100644 index 0000000..16ba9a4 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/AbstractInstructionsBase.java @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.instruction; + +import lombok.Data; + +@Data +public abstract class AbstractInstructionsBase { + private String condition; + private boolean stopOnConditionFail; +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/INSTRUCTION_RESULT.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/INSTRUCTION_RESULT.java new file mode 100644 index 0000000..c6b5624 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/INSTRUCTION_RESULT.java @@ -0,0 +1,12 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.instruction; + +public enum INSTRUCTION_RESULT { SUCCESS, FAIL, EXIT } diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/INSTRUCTION_TYPE.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/INSTRUCTION_TYPE.java new file mode 100644 index 0000000..90ee7f5 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/INSTRUCTION_TYPE.java @@ -0,0 +1,15 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.instruction; + +public enum INSTRUCTION_TYPE { + LOG, CHECK, CMD, SHELL, FILE, COPY, UPLOAD, DOWNLOAD, + SET_VARS, UNSET_VARS, PRINT_VARS, EXIT, EXIT_SET +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/Instruction.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/Instruction.java new file mode 100644 index 0000000..0645255 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/Instruction.java @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.instruction; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.*; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotNull; +import java.util.Map; +import java.util.regex.Pattern; + +@Data +@Accessors(chain = true, fluent = true) +@Builder(toBuilder = true) +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@Getter(onMethod = @__(@JsonProperty)) +public class Instruction extends AbstractInstructionsBase { + private INSTRUCTION_TYPE taskType; + private String description; + private String message; + private String command; + private String fileName; + private String localFileName; + private String contents; + private boolean executable; + private int exitCode; + private boolean match; + private long executionTimeout; + private int retries; + + private Map patterns; + private Map variables; + + // Fluent API addition + public Instruction pattern(String varName, Pattern pattern) { + this.patterns.put(varName, pattern); + return this; + } + + // Creators API + public static Instruction createLog(@NotNull String message) { + return Instruction.builder() + .taskType(INSTRUCTION_TYPE.LOG) + .command(message) + .build(); + } + + public static Instruction createShellCommand(@NotNull String command) { + return Instruction.builder() + .taskType(INSTRUCTION_TYPE.CMD) + .command(command) + .build(); + } + + public static Instruction createWriteFile(@NotNull String file, String contents, boolean executable) { + return Instruction.builder() + .taskType(INSTRUCTION_TYPE.FILE) + .fileName(file) + .contents(contents==null ? "" : contents) + .executable(executable) + .build(); + } + + public static Instruction createUploadFile(@NotNull String localFile, @NotNull String remoteFile) { + return Instruction.builder() + .taskType(INSTRUCTION_TYPE.COPY) + .fileName(remoteFile) + .localFileName(localFile) + .build(); + } + + public static Instruction createDownloadFile(@NotNull String remoteFile, @NotNull String localFile) { + return Instruction.builder() + .taskType(INSTRUCTION_TYPE.DOWNLOAD) + .fileName(remoteFile) + .localFileName(localFile) + .build(); + } + + public static Instruction createCheck(@NotNull String command, @NotNull int exitCode, boolean match, String message) { + return Instruction.builder() + .taskType(INSTRUCTION_TYPE.CHECK) + .command(command) + .exitCode(exitCode) + .match(match) + .contents(message) + .build(); + } +} \ No newline at end of file diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/InstructionsService.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/InstructionsService.java new file mode 100644 index 0000000..23d64ae --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/InstructionsService.java @@ -0,0 +1,154 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.instruction; + +import com.fasterxml.jackson.core.json.JsonReadFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringSubstitutor; +import org.springframework.context.EnvironmentAware; +import org.springframework.core.env.Environment; +import org.springframework.core.io.ResourceLoader; +import org.springframework.expression.ExpressionParser; +import org.springframework.expression.spel.standard.SpelExpressionParser; +import org.springframework.stereotype.Service; +import org.springframework.util.FileCopyUtils; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +@Slf4j +@Service +@RequiredArgsConstructor +public class InstructionsService implements EnvironmentAware { + private Environment environment; + private final ResourceLoader resourceLoader; + private static InstructionsService INSTANCE; + + public static InstructionsService getInstance() { + if (INSTANCE==null) throw new IllegalStateException("InstructionsService singleton instance has not yet been initialized"); + return INSTANCE; + } + + @Override + public void setEnvironment(Environment environment) { + this.environment = environment; + INSTANCE = this; + } + + public boolean checkCondition(@NonNull AbstractInstructionsBase i, Map valueMap) { + log.trace("InstructionsService: checkCondition: condition={}, value-map={}", i.getCondition(), valueMap); + String condition = i.getCondition(); + if (StringUtils.isBlank(condition)) return true; + String conditionResolved = processPlaceholders(condition, valueMap); + log.trace("InstructionsService: checkCondition: Expression after placeholder resolution: {}", conditionResolved); + final ExpressionParser parser = new SpelExpressionParser(); + Object result = parser.parseExpression(conditionResolved).getValue(); + log.trace("InstructionsService: checkCondition: Expression result: {}", result); + if (result==null) + throw new IllegalArgumentException("Condition evaluation returned null: " + condition); + if (result instanceof Boolean) + return (Boolean)result; + throw new IllegalArgumentException("Condition evaluation returned a non-boolean value: " + result + ", condition: " + condition+", resolved condition: "+ conditionResolved); + } + + public Instruction resolvePlaceholders(Instruction instruction, Map valueMap) { + return instruction.toBuilder() + .description(processPlaceholders(instruction.description(), valueMap)) + .message(processPlaceholders(instruction.message(), valueMap)) + .command(processPlaceholders(instruction.command(), valueMap)) + .fileName(processPlaceholders(instruction.fileName(), valueMap)) + .localFileName(processPlaceholders(instruction.localFileName(), valueMap)) + .contents(processPlaceholders(instruction.contents(), valueMap)) + .build(); + } + + public String processPlaceholders(String s, Map valueMap) { + if (StringUtils.isBlank(s)) return s; + s = StringSubstitutor.replace(s, valueMap); + s = environment.resolvePlaceholders(s); + //s = environment.resolveRequiredPlaceholders(s); + s = s.replace('\\', '/'); + return s; + } + + public InstructionsSet loadInstructionsFile(@NonNull String fileName) throws IOException { + if (StringUtils.isBlank(fileName)) + throw new IllegalArgumentException("File name is blank"); + fileName = fileName.trim(); + + // Get file type from file extension + String ext = null; + int i = fileName.lastIndexOf('.'); + if (i > 0) { + ext = fileName.substring(i+1); + if (ext.contains("/") || ext.contains("\\")) ext = null; + } + if (ext==null) + throw new IllegalArgumentException("Unknown file type: "+fileName); + + // Process instructions file based on its type + try { + if ("json".equalsIgnoreCase(ext)) { + // Load instructions set from JSON file + return _loadFromJsonFile(fileName); + } else if ("yml".equalsIgnoreCase(ext) || "yaml".equalsIgnoreCase(ext)) { + // Load instructions set from YAML file + return _loadFromYamlFile(fileName); + } else if ("js".equalsIgnoreCase(ext)) { + // Just return an instruction set with the file name set + InstructionsSet is = new InstructionsSet(); + is.setFileName(fileName); + return is; + } + } catch (IOException e) { + log.error("Exception thrown while processing instructions set file: {}", fileName); + throw new IOException(fileName+": "+e.getMessage(), e); + } + throw new IllegalArgumentException("Unsupported file type: "+fileName); + } + + private InstructionsSet _loadFromJsonFile(String jsonFile) throws IOException { + log.debug("InstructionsService: Loading instructions from JSON file: {}", jsonFile); + byte[] bdata = FileCopyUtils.copyToByteArray(resourceLoader.getResource(jsonFile).getInputStream()); + String jsonStr = new String(bdata, StandardCharsets.UTF_8); + log.trace("InstructionsService: JSON instructions file contents: \n{}", jsonStr); + + // Create InstructionsSet object from JSON + ObjectMapper mapper = new ObjectMapper(); + InstructionsSet instructionsSet = mapper.readerFor(InstructionsSet.class) + .with(JsonReadFeature.ALLOW_JAVA_COMMENTS) + .readValue(jsonStr); + instructionsSet.setFileName(jsonFile); + log.trace("InstructionsService: Installation instructions loaded from JSON file: {}\n{}", jsonFile, instructionsSet); + + return instructionsSet; + } + + private InstructionsSet _loadFromYamlFile(String yamlFile) throws IOException { + log.debug("InstructionsService: Loading instructions from YAML file: {}", yamlFile); + byte[] bdata = FileCopyUtils.copyToByteArray(resourceLoader.getResource(yamlFile).getInputStream()); + String yamlStr = new String(bdata, StandardCharsets.UTF_8); + log.trace("InstructionsService: YAML instructions file contents: \n{}", yamlStr); + + ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); + InstructionsSet instructionsSet = + mapper.readValue(yamlStr, InstructionsSet.class); + instructionsSet.setFileName(yamlFile); + log.trace("InstructionsService: Installation instructions loaded from YAML file: {}\n{}", yamlFile, instructionsSet); + + return instructionsSet; + } +} \ No newline at end of file diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/InstructionsSet.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/InstructionsSet.java new file mode 100644 index 0000000..d0b722d --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/instruction/InstructionsSet.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.instruction; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.util.*; + +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class InstructionsSet extends AbstractInstructionsBase { + private String os; + private String description; + private String fileName; + private List instructions = new ArrayList<>(); + + public List getInstructions() { + return Collections.unmodifiableList(instructions); + } + + public void setInstructions(List ni) { + instructions = new ArrayList<>(ni); + } + + public InstructionsSet appendInstruction(Instruction i) { + instructions.add(i); + return this; + } + + public InstructionsSet appendLog(String message) { + instructions.add(Instruction.createLog(message)); + return this; + } + + public InstructionsSet appendExec(String command) { + instructions.add(Instruction.createShellCommand(command)); + return this; + } + + public InstructionsSet appendWriteFile(String file, String contents, boolean executable) { + instructions.add(Instruction.createWriteFile(file, contents, executable)); + return this; + } + + public InstructionsSet appendUploadFile(String localFile, String remoteFile) { + instructions.add(Instruction.createUploadFile(localFile, remoteFile)); + return this; + } + + public InstructionsSet appendDownloadFile(String remoteFile, String localFile) { + instructions.add(Instruction.createDownloadFile(remoteFile, localFile)); + return this; + } + + public InstructionsSet appendCheck(String command, int exitCode, boolean match, String message) { + instructions.add(Instruction.createCheck(command, exitCode, match, message)); + return this; + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/plugin/AllowedTopicsProcessorPlugin.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/plugin/AllowedTopicsProcessorPlugin.java new file mode 100644 index 0000000..b7d3862 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/plugin/AllowedTopicsProcessorPlugin.java @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.plugin; + +import gr.iccs.imu.ems.baguette.client.install.ClientInstallationTask; +import gr.iccs.imu.ems.baguette.client.install.InstallationContextProcessorPlugin; +import gr.iccs.imu.ems.translate.model.Monitor; +import gr.iccs.imu.ems.util.EmsConstant; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.*; + +/** + * Installation context processor plugin for generating 'allowed-topics' setting + * used in baguette-client[.yml/.properties] config. file. + * It set the 'COLLECTOR_ALLOWED_TOPICS' variable in pre-registration context. + */ +@Slf4j +@Data +@Service +public class AllowedTopicsProcessorPlugin implements InstallationContextProcessorPlugin { + @Override + public void processBeforeInstallation(ClientInstallationTask task, long taskCounter) { + log.debug("AllowedTopicsProcessorPlugin: Task #{}: processBeforeInstallation: BEGIN", taskCounter); + log.trace("AllowedTopicsProcessorPlugin: Task #{}: processBeforeInstallation: BEGIN: task={}", taskCounter, task); + + StringBuilder sbAllowedTopics = new StringBuilder(); + Set addedTopicsSet = new HashSet<>(); + + boolean first = true; + for (Monitor monitor : task.getTranslationContext().getMON()) { + try { + log.trace("AllowedTopicsProcessorPlugin: Task #{}: Processing monitor: {}", taskCounter, monitor); + + String metricName = monitor.getMetric(); + if (!addedTopicsSet.contains(metricName)) { + if (first) first = false; + else sbAllowedTopics.append(", "); + + sbAllowedTopics.append(metricName); + addedTopicsSet.add(metricName); + } + + // Get sensor configuration (as a list of KeyValuePair's) + Map sensorConfig = null; + if (monitor.getSensor().isPullSensor()) { + // Pull Sensor + sensorConfig = monitor.getSensor().pullSensor().getConfiguration(); + } else { + // Push Sensor + sensorConfig = monitor.getSensor().pushSensor().getAdditionalProperties(); + } + + // Process Destination aliases, if specified in configuration + if (sensorConfig!=null) { + String k = sensorConfig.keySet().stream() + .filter(key -> StrUtil.compareNormalized(key, EmsConstant.COLLECTOR_DESTINATION_ALIASES)) + .findAny().orElse(null); + String aliases = (k!=null) ? sensorConfig.get(k) : null; + + if (StringUtils.isNotBlank(aliases)) { + for (String alias : aliases.trim().split(EmsConstant.COLLECTOR_DESTINATION_ALIASES_DELIMITERS)) { + if (!(alias=alias.trim()).isEmpty()) { + if (!alias.equals(metricName)) { + sbAllowedTopics.append(", "); + sbAllowedTopics.append(alias).append(":").append(metricName); + } + } + } + } + } + + log.trace("AllowedTopicsProcessorPlugin: Task #{}: MONITOR: metric={}, allowed-topics={}", + taskCounter, metricName, sbAllowedTopics); + + } catch (Exception e) { + log.error("AllowedTopicsProcessorPlugin: Task #{}: EXCEPTION while processing monitor. Skipping it: {}\n", + taskCounter, monitor, e); + } + } + + String allowedTopics = sbAllowedTopics.toString(); + log.debug("AllowedTopicsProcessorPlugin: Task #{}: Allowed-Topics configuration for collectors: \n{}", taskCounter, allowedTopics); + + task.getNodeRegistryEntry().getPreregistration().put(EmsConstant.COLLECTOR_ALLOWED_TOPICS_VAR, allowedTopics); + log.debug("AllowedTopicsProcessorPlugin: Task #{}: processBeforeInstallation: END", taskCounter); + } + + @Override + public void processAfterInstallation(ClientInstallationTask task, long taskCounter, boolean success) { + log.debug("AllowedTopicsProcessorPlugin: Task #{}: processAfterInstallation: success={}", taskCounter, success); + log.trace("AllowedTopicsProcessorPlugin: Task #{}: processAfterInstallation: success={}, task={}", taskCounter, success, task); + } + + @Override + public void start() { + log.debug("AllowedTopicsProcessorPlugin: start()"); + } + + @Override + public void stop() { + log.debug("AllowedTopicsProcessorPlugin: stop()"); + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/plugin/PrometheusProcessorPlugin.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/plugin/PrometheusProcessorPlugin.java new file mode 100644 index 0000000..49aac28 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/install/plugin/PrometheusProcessorPlugin.java @@ -0,0 +1,153 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.install.plugin; + +import gr.iccs.imu.ems.baguette.client.install.ClientInstallationTask; +import gr.iccs.imu.ems.baguette.client.install.InstallationContextProcessorPlugin; +import gr.iccs.imu.ems.translate.model.Interval; +import gr.iccs.imu.ems.translate.model.Monitor; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +/** + * Installation context processor plugin for generating Netdata configuration for collecting metrics from prometheus exporters + */ +@Slf4j +@Data +@Service +public class PrometheusProcessorPlugin implements InstallationContextProcessorPlugin { + public final static String SENSOR_TYPE_KEY = "pull.sensor.type"; + public final static String SENSOR_TYPE_VALUE = "prometheus"; + public final static String NETDATA_PROMETHEUS_JOB_NAME = "pull.prometheus.job.name"; + public final static String NETDATA_PROMETHEUS_ENDPOINT = "pull.prometheus.endpoint"; + public final static String NETDATA_PROMETHEUS_AUTODETECTION = "pull.prometheus.autodetection"; + public final static String NETDATA_PROMETHEUS_PRIORITY = "pull.prometheus.priority"; + public final static String NETDATA_PROMETHEUS_CONFIGURATION_VAR = "NETDATA_PROMETHEUS_CONF"; + public final static long DEFAULT_PRIORITY = 70000; + + @Override + public void processBeforeInstallation(ClientInstallationTask task, long taskCounter) { + log.debug("PrometheusProcessorPlugin: Task #{}: processBeforeInstallation: BEGIN", taskCounter); + log.trace("PrometheusProcessorPlugin: Task #{}: processBeforeInstallation: BEGIN: task={}", taskCounter, task); + + StringBuilder prometheusConf = new StringBuilder("# Generated on: ").append(new Date()).append("\n\n"); + int headerLength = prometheusConf.length(); + + long minCollectionInterval = Long.MAX_VALUE; + long minAutodetectionInterval = Long.MAX_VALUE; + long minPriority = DEFAULT_PRIORITY; + boolean found = false; + + prometheusConf.append("\njobs:\n"); + for (Monitor monitor : task.getTranslationContext().getMON()) { + try { + log.trace("PrometheusProcessorPlugin: Task #{}: Processing monitor: {}", taskCounter, monitor); + String componentName = monitor.getComponent(); + String metricName = monitor.getMetric(); + + log.trace("PrometheusProcessorPlugin: Task #{}: MONITOR: component={}, metric={}", taskCounter, componentName, metricName); + if (monitor.getSensor().isPullSensor()) { + if (monitor.getSensor().pullSensor().getConfiguration()!=null) { + Map config = monitor.getSensor().pullSensor().getConfiguration(); + log.trace("PrometheusProcessorPlugin: Task #{}: MONITOR with PULL SENSOR: config: {}", taskCounter, config); + + // Get Prometheus related settings + String sensorType = StrUtil.getWithNormalized(config, SENSOR_TYPE_KEY, SENSOR_TYPE_VALUE); + String prometheusJobName = StrUtil.getWithNormalized(config, NETDATA_PROMETHEUS_JOB_NAME); + String prometheusEndpoint = StrUtil.getWithNormalized(config, NETDATA_PROMETHEUS_ENDPOINT); + log.trace("PrometheusProcessorPlugin: Task #{}: Prometheus Job settings: type={}, name={}, endpoint={}", + taskCounter, sensorType, prometheusJobName, prometheusEndpoint); + if (SENSOR_TYPE_VALUE.equals(sensorType)) { + if (StringUtils.isNotBlank(prometheusJobName) && StringUtils.isNotBlank(prometheusEndpoint)) { + prometheusConf.append(" - name: '").append(prometheusJobName).append("'\n"); + prometheusConf.append(" url: '").append(prometheusEndpoint).append("'\n"); + log.trace("PrometheusProcessorPlugin: Task #{}: Extracted Prometheus config: metricName={}, endpoint={}", + taskCounter, prometheusJobName, prometheusEndpoint); + found = true; + + // Get monitor interval + Interval interval = monitor.getSensor().pullSensor().getInterval(); + if (interval != null) { + int period = interval.getPeriod(); + TimeUnit unit = TimeUnit.SECONDS; + if (interval.getUnit() != null) { + unit = TimeUnit.valueOf( interval.getUnit().name() ); + } + long periodInSeconds = TimeUnit.SECONDS.convert(period, unit); + if (periodInSeconds > 0) + minCollectionInterval = Math.min(minCollectionInterval, periodInSeconds); + } + + // Get autodetection interval + String autodetectionStr = StrUtil.getWithNormalized(config, NETDATA_PROMETHEUS_AUTODETECTION); + int autodetectionInSeconds = StrUtil.strToInt(autodetectionStr, 0, i -> i >= 0, false, null); + if (autodetectionInSeconds > 0) + minAutodetectionInterval = Math.min(minAutodetectionInterval, autodetectionInSeconds); + + // Get priority + String priorityStr = StrUtil.getWithNormalized(config, NETDATA_PROMETHEUS_PRIORITY); + int priority = StrUtil.strToInt(priorityStr, (int)DEFAULT_PRIORITY, i -> i >= 0, false, null); + if (priority >= 0) + minPriority = Math.min(minPriority, priority); + } + } else { + log.debug("PrometheusProcessorPlugin: Task #{}: Sensor type is not Prometheus: {}", taskCounter, sensorType); + } + } + } + + } catch (Exception e) { + log.error("PrometheusProcessorPlugin: Task #{}: EXCEPTION while processing monitor. Skipping it: {}\n", taskCounter, monitor, e); + } + } + log.debug("PrometheusProcessorPlugin: Task #{}: Netdata Prometheus configuration: \n{}", taskCounter, prometheusConf); + log.debug("PrometheusProcessorPlugin: Task #{}: Netdata Prometheus: found={}, collection-interval={}, autodetection={}, priority={}", + taskCounter, found, minCollectionInterval, minAutodetectionInterval, minPriority); + + if (!found) { + task.getNodeRegistryEntry().getPreregistration().put(NETDATA_PROMETHEUS_CONFIGURATION_VAR, ""); + log.debug("PrometheusProcessorPlugin: Task #{}: processBeforeInstallation: END: no prometheus.conf update", taskCounter); + } else + { + if (minCollectionInterval < Long.MAX_VALUE) + prometheusConf.insert(headerLength, "update_every: " + minCollectionInterval + "\n"); + if (minAutodetectionInterval < Long.MAX_VALUE) + prometheusConf.insert(headerLength, "autodetection_retry: " + minAutodetectionInterval + "\n"); + if (minPriority != DEFAULT_PRIORITY) + prometheusConf.insert(headerLength, "priority: " + minPriority + "\n"); + + task.getNodeRegistryEntry().getPreregistration().put(NETDATA_PROMETHEUS_CONFIGURATION_VAR, prometheusConf.toString()); + log.debug("PrometheusProcessorPlugin: Task #{}: processBeforeInstallation: END", taskCounter); + } + } + + @Override + public void processAfterInstallation(ClientInstallationTask task, long taskCounter, boolean success) { + log.debug("PrometheusProcessorPlugin: Task #{}: processAfterInstallation: success={}", taskCounter, success); + log.trace("PrometheusProcessorPlugin: Task #{}: processAfterInstallation: success={}, task={}", taskCounter, success, task); + } + + @Override + public void start() { + log.debug("PrometheusProcessorPlugin: start()"); + } + + @Override + public void stop() { + log.debug("PrometheusProcessorPlugin: stop()"); + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/ClientRecoveryPlugin.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/ClientRecoveryPlugin.java new file mode 100644 index 0000000..25b2232 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/ClientRecoveryPlugin.java @@ -0,0 +1,182 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.selfhealing; + +import gr.iccs.imu.ems.baguette.client.install.ClientInstallationProperties; +import gr.iccs.imu.ems.baguette.client.install.ClientInstallationTask; +import gr.iccs.imu.ems.baguette.client.install.SshClientInstaller; +import gr.iccs.imu.ems.baguette.client.install.helper.InstallationHelperFactory; +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.NodeRegistry; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.common.selfhealing.SelfHealingManager; +import gr.iccs.imu.ems.util.EmsConstant; +import gr.iccs.imu.ems.util.EventBus; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Service; + +import java.time.Instant; +import java.util.HashMap; +import java.util.concurrent.ScheduledFuture; + +@Slf4j +@Service +@ConditionalOnProperty(name = "enabled", prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "self.healing", havingValue = "true", matchIfMissing = true) +@RequiredArgsConstructor +public class ClientRecoveryPlugin implements InitializingBean, EventBus.EventConsumer { + private final EventBus eventBus; + private final NodeRegistry nodeRegistry; + private final TaskScheduler taskScheduler; + private final ClientInstallationProperties clientInstallationProperties; + private final ServerSelfHealingProperties selfHealingProperties; + private final BaguetteServer baguetteServer; + + private final HashMap> pendingTasks = new HashMap<>(); + + private long clientRecoveryDelay; + private String recoveryInstructionsFile; + + private final static String CLIENT_EXIT_TOPIC = "BAGUETTE_SERVER_CLIENT_EXITED"; + private final static String CLIENT_REGISTERED_TOPIC = "BAGUETTE_SERVER_CLIENT_REGISTERED"; + + @Override + public void afterPropertiesSet() throws Exception { + clientRecoveryDelay = selfHealingProperties.getRecovery().getDelay(); + recoveryInstructionsFile = selfHealingProperties.getRecovery().getFile().getOrDefault("baguette", ""); + log.debug("ClientRecoveryPlugin: recovery-delay={}, recovery-instructions-file (for baguette)={}", clientRecoveryDelay, recoveryInstructionsFile); + + eventBus.subscribe(CLIENT_EXIT_TOPIC, this); + log.debug("ClientRecoveryPlugin: Subscribed for BAGUETTE_SERVER_CLIENT_EXITED events"); + eventBus.subscribe(CLIENT_REGISTERED_TOPIC, this); + log.debug("ClientRecoveryPlugin: Subscribed for BAGUETTE_SERVER_CLIENT_REGISTERED events"); + + log.trace("ClientRecoveryPlugin: clientInstallationProperties: {}", clientInstallationProperties); + log.trace("ClientRecoveryPlugin: baguetteServer: {}", baguetteServer); + + log.debug("ClientRecoveryPlugin: Recovery Delay: {}", clientRecoveryDelay); + log.debug("ClientRecoveryPlugin: Recovery Instructions File: {}", recoveryInstructionsFile); + } + + @Override + public void onMessage(String topic, Object message, Object sender) { + log.debug("ClientRecoveryPlugin: onMessage(): BEGIN: topic={}, message={}, sender={}", topic, message, sender); + + // Check if Self-Healing is enabled + if (! baguetteServer.getSelfHealingManager().isEnabled()) { + log.debug("ClientRecoveryPlugin: onMessage(): Self-Healing manager is disabled: message={}, sender={}", message, sender); + return; + } + + // Only process messages of ClientShellCommand type are accepted (sent by CSC instances) + if (! (message instanceof ClientShellCommand)) { + log.warn("ClientRecoveryPlugin: onMessage(): Message is not a {} object. Will ignore it.", ClientShellCommand.class.getSimpleName()); + return; + } + + // Get NodeRegistryEntry from ClientShellCommand passed with event + ClientShellCommand csc = (ClientShellCommand)message; + String clientId = csc.getId(); + String address = csc.getClientIpAddress(); + log.debug("ClientRecoveryPlugin: onMessage(): client-id={}, client-address={}", clientId, address); + + NodeRegistryEntry nodeInfo = csc.getNodeRegistryEntry(); //or = nodeRegistry.getNodeByAddress(address); + log.debug("ClientRecoveryPlugin: onMessage(): client-node-info={}", nodeInfo); + log.trace("ClientRecoveryPlugin: onMessage(): node-registry.node-addresses={}", nodeRegistry.getNodeAddresses()); + log.trace("ClientRecoveryPlugin: onMessage(): node-registry.nodes={}", nodeRegistry.getNodes()); + + // Check if node is monitored by Self-Healing manager + if (! baguetteServer.getSelfHealingManager().isMonitored(nodeInfo)) { + log.warn("ClientRecoveryPlugin: processExitEvent(): Node is not monitored by Self-Healing manager: client-id={}, client-address={}", clientId, address); + return; + } + + // Process event + if (CLIENT_EXIT_TOPIC.equals(topic)) { + log.debug("ClientRecoveryPlugin: onMessage(): CLIENT EXITED: message={}", message); + processExitEvent(nodeInfo); + } + if (CLIENT_REGISTERED_TOPIC.equals(topic)) { + log.debug("ClientRecoveryPlugin: onMessage(): CLIENT REGISTERED_TOPIC: message={}", message); + processRegisteredEvent(nodeInfo); + } + } + + private void processExitEvent(NodeRegistryEntry nodeInfo) { + log.debug("ClientRecoveryPlugin: processExitEvent(): BEGIN: client-id={}, client-address={}", nodeInfo.getClientId(), nodeInfo.getIpAddress()); + + // Set node state to DOWN + baguetteServer.getSelfHealingManager().setNodeSelfHealingState(nodeInfo, SelfHealingManager.NODE_STATE.DOWN); + + // Schedule a recovery task for node + ScheduledFuture future = taskScheduler.schedule(() -> { + try { + // Set node state to RECOVERING + baguetteServer.getSelfHealingManager().setNodeSelfHealingState(nodeInfo, SelfHealingManager.NODE_STATE.RECOVERING); + // Run recovery task + runClientRecovery(nodeInfo); + } catch (Exception e) { + log.error("ClientRecoveryPlugin: processExitEvent(): EXCEPTION: while recovering node: node-info={} -- Exception: ", nodeInfo, e); + } + }, Instant.now().plusMillis(clientRecoveryDelay)); + + // Register the recovery task's future in pending list + ScheduledFuture old = pendingTasks.put(nodeInfo, future); + log.info("ClientRecoveryPlugin: processExitEvent(): Added recovery task in the queue: client-id={}, client-address={}", nodeInfo.getClientId(), nodeInfo.getIpAddress()); + + // Cancel any previous recovery task (for the node) that is still pending + if (old!=null && ! old.isDone() && ! old.isCancelled()) { + log.warn("ClientRecoveryPlugin: processExitEvent(): Cancelled previous recovery task: client-id={}, client-address={}", nodeInfo.getClientId(), nodeInfo.getIpAddress()); + old.cancel(false); + } + } + + private void processRegisteredEvent(NodeRegistryEntry nodeInfo) { + log.debug("ClientRecoveryPlugin: processRegisteredEvent(): BEGIN: client-id={}, client-address={}", nodeInfo.getClientId(), nodeInfo.getIpAddress()); + + // Cancel any pending recovery task (for the node) + ScheduledFuture future = pendingTasks.remove(nodeInfo); + if (future!=null && ! future.isDone() && ! future.isCancelled()) { + log.warn("ClientRecoveryPlugin: processRegisteredEvent(): Cancelled recovery task: client-id={}, client-address={}", nodeInfo.getClientId(), nodeInfo.getIpAddress()); + future.cancel(false); + } + + // Set node state to UP + baguetteServer.getSelfHealingManager().setNodeSelfHealingState(nodeInfo, SelfHealingManager.NODE_STATE.UP); + } + + public void runClientRecovery(NodeRegistryEntry entry) throws Exception { + log.debug("ClientRecoveryPlugin: runClientRecovery(): node-info={}", entry); + if (entry==null) return; + + log.trace("ClientRecoveryPlugin: runClientRecovery(): recoveryInstructionsFile={}", recoveryInstructionsFile); + entry.getPreregistration().put("instruction-files", recoveryInstructionsFile); + + ClientInstallationTask task = InstallationHelperFactory.getInstance() + .createInstallationHelper(entry) + .createClientInstallationTask(entry); + log.debug("ClientRecoveryPlugin: runClientRecovery(): Client recovery task: {}", task); + SshClientInstaller installer = SshClientInstaller.builder() + .task(task) + .properties(clientInstallationProperties) + .build(); + + log.info("ClientRecoveryPlugin: runClientRecovery(): Starting client recovery: client-id={}, client-address={}", entry.getClientId(), entry.getIpAddress()); + log.debug("ClientRecoveryPlugin: runClientRecovery(): Starting client recovery: node-info={}", entry); + boolean result = installer.execute(); + pendingTasks.remove(entry); + log.info("ClientRecoveryPlugin: runClientRecovery(): Client recovery completed: result={}, client-id={}, client-address={}", result, entry.getClientId(), entry.getIpAddress()); + log.debug("ClientRecoveryPlugin: runClientRecovery(): Client recovery completed: result={}, node-info={}", result, entry); + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/SelfHealingManagerImpl.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/SelfHealingManagerImpl.java new file mode 100644 index 0000000..05c2db1 --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/SelfHealingManagerImpl.java @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.selfhealing; + +import gr.iccs.imu.ems.baguette.client.install.ClientInstallationProperties; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.common.recovery.RecoveryContext; +import gr.iccs.imu.ems.common.selfhealing.SelfHealingManager; +import lombok.Data; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Slf4j +@Data +@Service +public class SelfHealingManagerImpl implements SelfHealingManager, InitializingBean { + private final ClientInstallationProperties clientInstallationProperties; + private final ServerSelfHealingProperties properties; + private final RecoveryContext recoveryContext; + + private boolean enabled; + private MODE mode; + private Map nodes = new LinkedHashMap<>(); + private Map nodeStates = new LinkedHashMap<>(); + private Map nodeStateTexts = new LinkedHashMap<>(); + + @Override + public void afterPropertiesSet() throws Exception { + log.info("Self-Healing Manager initialized"); + setEnabled( properties.isEnabled() ); + setMode( properties.getMode() ); + + // Initialize recovery context + recoveryContext.initialize(clientInstallationProperties, properties); + log.warn("Recovery context: {}", recoveryContext); + } + + private void check() { + if (!enabled) throw new IllegalStateException("SelfHealingManager is not enabled"); + } + + @Override + public Collection getNodes() { + check(); + return Collections.unmodifiableCollection(nodes.values()); + } + + @Override + public boolean containsNode(@NonNull NodeRegistryEntry node) { + check(); + return nodes.containsKey(node.getIpAddress()); + } + + @Override + public boolean containsAny(@NonNull Collection nodes) { + check(); + return Collections.disjoint(this.nodes.values(), nodes); + } + + @Override + public boolean isMonitored(@NonNull NodeRegistryEntry node) { + check(); + return mode==MODE.ALL || + mode==MODE.INCLUDED && containsNode(node) || + mode==MODE.EXCLUDED && ! containsNode(node); + } + + @Override + public void addNode(@NonNull NodeRegistryEntry node) { + check(); + nodes.put(node.getIpAddress(), node); + } + + @Override + public void addAllNodes(@NonNull Collection nodes) { + check(); + this.nodes.putAll(nodes.stream() + .filter(Objects::nonNull) + .collect(Collectors.toMap(NodeRegistryEntry::getIpAddress, Function.identity()))); + } + + @Override + public void removeNode(@NonNull NodeRegistryEntry node) { + check(); + nodes.remove(node.getIpAddress()); + nodeStates.remove(node.getIpAddress()); + nodeStateTexts.remove(node.getIpAddress()); + } + + @Override + public void removeAllNodes(Collection nodes) { + check(); + nodes.stream() + .filter(Objects::nonNull) + .forEach(this::removeNode); + } + + @Override + public void clear() { + check(); + nodes.clear(); + } + + @Override + public NODE_STATE getNodeSelfHealingState(@NonNull NodeRegistryEntry node) { + check(); + if (mode!=MODE.EXCLUDED && ! nodes.containsKey(node.getIpAddress())) + return NODE_STATE.NOT_MONITORED; + if (mode==MODE.EXCLUDED && nodes.containsKey(node.getIpAddress())) + return NODE_STATE.NOT_MONITORED; + return nodeStates.get(node.getIpAddress()); + } + + @Override + public String getNodeSelfHealingStateText(@NonNull NodeRegistryEntry node) { + check(); + if (mode!=MODE.EXCLUDED && ! nodes.containsKey(node.getIpAddress())) + return null; + if (mode==MODE.EXCLUDED && nodes.containsKey(node.getIpAddress())) + return null; + return nodeStateTexts.get(node.getIpAddress()); + } + + @Override + public void setNodeSelfHealingState(@NonNull NodeRegistryEntry node, @NonNull NODE_STATE state, String text) { + check(); + if (!isMonitored(node)) return; + if (state==NODE_STATE.NOT_MONITORED) + throw new IllegalArgumentException("Node self-healing state cannot be set to NOT_MONITORED. Remove/Exclude node from self-healing instead"); + nodeStates.put(node.getIpAddress(), state); + nodeStateTexts.put(node.getIpAddress(), text); + } +} diff --git a/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/ServerSelfHealingProperties.java b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/ServerSelfHealingProperties.java new file mode 100644 index 0000000..554b64d --- /dev/null +++ b/ems-core/baguette-client-install/src/main/java/gr/iccs/imu/ems/baguette/client/selfhealing/ServerSelfHealingProperties.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.selfhealing; + +import gr.iccs.imu.ems.common.recovery.SelfHealingProperties; +import gr.iccs.imu.ems.common.selfhealing.SelfHealingManager; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.annotation.Configuration; + +@Slf4j +@Data +@ToString(callSuper=true) +@EqualsAndHashCode(callSuper = true) +@Configuration +public class ServerSelfHealingProperties extends SelfHealingProperties implements InitializingBean { + private SelfHealingManager.MODE mode = SelfHealingManager.MODE.INCLUDED; + + @Override + public void afterPropertiesSet() throws Exception { + log.debug("ServerSelfHealingProperties: {}", this); + } +} diff --git a/ems-core/baguette-client/LICENSE b/ems-core/baguette-client/LICENSE new file mode 100644 index 0000000..14e2f77 --- /dev/null +++ b/ems-core/baguette-client/LICENSE @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/ems-core/baguette-client/bin/baguette-client b/ems-core/baguette-client/bin/baguette-client new file mode 100644 index 0000000..b7528c1 --- /dev/null +++ b/ems-core/baguette-client/bin/baguette-client @@ -0,0 +1,46 @@ +#! /bin/sh +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +### BEGIN INIT INFO +# Provides: baguette-client +# Required-Start: $local_fs $network +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: baguette-client +# Description: Controls the Baguette Client service +### END INIT INFO + +export JAVA_HOME="/usr/bin/java" +SU_USER=root + +#startcmd='/opt/baguette-client/bin/run.sh &>>/opt/baguette-client/logs/output.txt &' +#stopcmd='/opt/baguette-client/bin/kill.sh &>>/opt/baguette-client/logs/output.txt' +startcmd='/opt/baguette-client/bin/run.sh' +stopcmd='/opt/baguette-client/bin/kill.sh' + +case "$1" in +start) + echo "Starting Baguette Client..." + su -c "${startcmd}" $SU_USER +;; +restart) + echo "Re-starting Baguette Client..." + su -c "${stopcmd}" $SU_USER + su -c "${startcmd}" $SU_USER +;; +stop) + echo "Stopping Baguette Client..." + su -c "${stopcmd}" $SU_USER +;; +*) + echo "Usage: $0 {start|stop|restart}" +exit 1 +esac diff --git a/ems-core/baguette-client/bin/client.sh b/ems-core/baguette-client/bin/client.sh new file mode 100644 index 0000000..6e6c62d --- /dev/null +++ b/ems-core/baguette-client/bin/client.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd ) +JAVA_HOME=$( cd ${BASEDIR}/jre* && pwd ) +EMS_CONFIG_DIR=. + +#JAVA_OPTS=-Djavax.net.ssl.trustStore=./broker-truststore.p12\ -Djavax.net.ssl.trustStorePassword=melodic\ -Djavax.net.ssl.trustStoreType=pkcs12 +# -Djavax.net.debug=all +# -Djavax.net.debug=ssl,handshake,record + +${JAVA_HOME}/bin/java $JAVA_OPTS -jar ${BASEDIR}/jars/broker-client/broker-client-jar-with-dependencies.jar $* diff --git a/ems-core/baguette-client/bin/install.sh b/ems-core/baguette-client/bin/install.sh new file mode 100644 index 0000000..9c841dd --- /dev/null +++ b/ems-core/baguette-client/bin/install.sh @@ -0,0 +1,210 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +INSTALL_LOG=/opt/baguette-install.log +echo "START: `date -Iseconds`" >> $INSTALL_LOG + +# Command line arguments: +SERVER_CERT=$1 +BASE_URL=$2 +APIKEY=$3 + +if [ -z "$SERVER_CERT" ]; then + SERVER_CERT="" +elif [ "$SERVER_CERT" = "-" ]; then + SERVER_CERT="--no-check-certificate" +else + SERVER_CERT="--ca-certificate=${SERVER_CERT}" +fi + +# Create installation directories +BIN_DIRECTORY=/opt/baguette-client/bin +CONF_DIRECTORY=/opt/baguette-client/conf +LOGS_DIRECTORY=/opt/baguette-client/logs + +mkdir -p $BIN_DIRECTORY/ +mkdir -p $CONF_DIRECTORY/ +mkdir -p $LOGS_DIRECTORY/ + +echo "" +echo "** EMS Baguette Client **" +echo "** Copyright ICCS-NTUA (C) 2016-2019, http://imu.iccs.gr **" +echo "" +date -Iseconds + +# Common variables +DOWNLOAD_URL=$BASE_URL/baguette-client.tgz +DOWNLOAD_URL_MD5=$BASE_URL/baguette-client.tgz.md5 +INSTALL_PACKAGE=/opt/baguette-client/baguette-client.tgz +INSTALL_PACKAGE_MD5=/opt/baguette-client/baguette-client.tgz.md5 +INSTALL_DIR=/opt/ +STARTUP_SCRIPT=$BIN_DIRECTORY/baguette-client +SERVICE_NAME=baguette-client +CLIENT_CONF_FILE=$CONF_DIRECTORY/baguette-client.properties +CLIENT_ID_FILE=$CONF_DIRECTORY/id.txt + +# Check if already installed +if [ -f /opt/baguette-client/conf/ok.txt ]; then + echo "Already installed. Exiting..." + date -Iseconds + echo "END: Already installed: `date -Iseconds`" >> $INSTALL_LOG + exit 0 +fi + +# Create installation directory +echo "" +echo "Create installation directory..." +date -Iseconds +mkdir -p $INSTALL_DIR/baguette-client +if [ $? != 0 ]; then + echo "Failed to create installation directory ($?)" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: mkdir: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi + +# Download installation package +echo "" +echo "Download installation package..." +date -Iseconds +wget $SERVER_CERT $DOWNLOAD_URL -O $INSTALL_PACKAGE +if [ $? != 0 ]; then + echo "Failed to download installation package ($?)" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: download: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi +date -Iseconds +echo "Download installation package...ok" + +# Download installation package MD5 checksum +echo "" +echo "Download installation package MD5 checksum..." +date -Iseconds +wget $SERVER_CERT $DOWNLOAD_URL_MD5 -O $INSTALL_PACKAGE_MD5 +if [ $? != 0 ]; then + echo "Failed to download installation package ($?)" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: download MD5: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi +date -Iseconds +echo "Download installation package MD5 checksum...ok" + +# Check MD5 checksum +PACKAGE_MD5=`cat $INSTALL_PACKAGE_MD5` +PACKAGE_CHECKSUM=`md5sum $INSTALL_PACKAGE |cut -d " " -f 1` +echo "" +echo "Checksum MD5: $PACKAGE_MD5" +echo "Checksum calc: $PACKAGE_CHECKSUM" +if [ $PACKAGE_CHECKSUM == $PACKAGE_MD5 ]; then + echo "Checksum: ok" +else + echo "Checksum: wrong" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: wrong MD5: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi + +# Extract installation package +echo "" +echo "Extracting installation package..." +date -Iseconds +#unzip -o $INSTALL_PACKAGE -d $INSTALL_DIR +tar -xvzf $INSTALL_PACKAGE -C $INSTALL_DIR +if [ $? != 0 ]; then + echo "Failed to extract installation package contents ($?)" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: extract: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi +date -Iseconds + +# Make scripts executable +echo "" +echo "Make scripts executable..." +date -Iseconds +chmod u=rx,og-rwx $INSTALL_DIR/baguette-client/bin/* +if [ $? != 0 ]; then + echo "Failed to copy service script to /etc/init.d/ directory ($?)" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: chmod: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi + +# Register as a service +echo "" +echo "Register as a service..." +date -Iseconds +cp -f $STARTUP_SCRIPT /etc/init.d/ +if [ $? != 0 ]; then + echo "Failed to copy service script to /etc/init.d/ directory ($?)" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: cp init.d: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi + +update-rc.d $SERVICE_NAME defaults +if [ $? != 0 ]; then + echo "Failed to register service script to /etc/init.d/ directory ($?)" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: update-rc.d: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi + +# Add Id, Credentials and Client configuration files +echo "Add Id, Credentials and Client configuration files" +date -Iseconds +touch $CLIENT_ID_FILE $CLIENT_CONF_FILE +if [ $? != 0 ]; then + echo "Failed to 'touch' configuration files ($?)" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: touch: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi + +chmod u=rw,og-rwx $CLIENT_ID_FILE $CLIENT_CONF_FILE +if [ $? != 0 ]; then + echo "Failed to change permissions of configuration files ($?)" + echo "Aborting installation..." + date -Iseconds + echo "ABORT: chmod 2: `date -Iseconds`" >> $INSTALL_LOG + exit 1 +fi + +# Write successful installation file +echo "Write successful installation file" +date -Iseconds +sudo touch $CONF_DIRECTORY/ok.txt + +echo "END: OK: `date -Iseconds`" >> $INSTALL_LOG + +# Launch Baguette Client +echo "Launch Baguette Client" +date -Iseconds +sudo service baguette-client start + +echo "RUN: `date -Iseconds`" >> $INSTALL_LOG + +# Success +echo "" +echo "Success - Baguette client successfully installed on system" +date -Iseconds +echo "" +exit 0 diff --git a/ems-core/baguette-client/bin/kill.sh b/ems-core/baguette-client/bin/kill.sh new file mode 100644 index 0000000..b113ad0 --- /dev/null +++ b/ems-core/baguette-client/bin/kill.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# Get Baguette client home directory +BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd ) + +# Update path +#PATH=$PATH:/path/to/jre/bin/ + +# Kill Baguette client +#PID=`jps | grep BaguetteClient | cut -d " " -f 1` +PID=`ps -ef |grep java |grep BaguetteClient | cut -c 10-20` +if [ "$PID" != "" ] +then + echo "Killing baguette client (pid: $PID)" + kill -9 $PID +else + echo "Baguette client is not running" +fi diff --git a/ems-core/baguette-client/bin/run.bat b/ems-core/baguette-client/bin/run.bat new file mode 100644 index 0000000..a38a299 --- /dev/null +++ b/ems-core/baguette-client/bin/run.bat @@ -0,0 +1,44 @@ +@echo off +:: +:: Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +:: +:: This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +:: Esper library is used, in which case it is subject to the terms of General Public License v2.0. +:: If a copy of the MPL was not distributed with this file, you can obtain one at +:: https://www.mozilla.org/en-US/MPL/2.0/ +:: + +setlocal +set PWD=%~dp0 +cd %PWD%.. +set BASEDIR=%cd% +IF NOT DEFINED EMS_CONFIG_DIR set EMS_CONFIG_DIR=%BASEDIR%\conf +IF NOT DEFINED PAASAGE_CONFIG_DIR set PAASAGE_CONFIG_DIR=%BASEDIR%\conf +IF NOT DEFINED EMS_CONFIG_LOCATION set EMS_CONFIG_LOCATION=optional:file:%EMS_CONFIG_DIR%\ems-client.yml,optional:file:%EMS_CONFIG_DIR%\ems-client.properties,optional:file:%EMS_CONFIG_DIR%\baguette-client.yml,optional:file:%EMS_CONFIG_DIR%\baguette-client.properties +IF NOT DEFINED JASYPT_PASSWORD set JASYPT_PASSWORD=password +set JAVA_HOME=%BASEDIR%/jre + +:: Update path +set PATH=%JAVA_HOME%\bin;%PATH% + +:: Copy dependencies if missing +if exist pom.xml ( + if not exist %BASEDIR%\target\dependency cmd /C "mvn dependency:copy-dependencies" +) + +:: Run Baguette Client +set JAVA_OPTS= -Djavax.net.ssl.trustStore=%EMS_CONFIG_DIR%\client-broker-truststore.p12 ^ + -Djavax.net.ssl.trustStorePassword=melodic ^ + -Djavax.net.ssl.trustStoreType=pkcs12 ^ + -Djasypt.encryptor.password=%JASYPT_PASSWORD% ^ + --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED +::set JAVA_OPTS=-Djavax.net.debug=all %JAVA_OPTS% +::set JAVA_OPTS=-Dlogging.level.gr.iccs.imu.ems=TRACE %JAVA_OPTS% + +echo EMS_CONFIG_DIR=%EMS_CONFIG_DIR% +echo EMS_CONFIG_LOCATION=%EMS_CONFIG_LOCATION% +echo Starting baguette client... +java %JAVA_OPTS% -classpath "%EMS_CONFIG_DIR%;%BASEDIR%\jars\*;%BASEDIR%\target\classes;%BASEDIR%\target\dependency\*" gr.iccs.imu.ems.baguette.client.BaguetteClient "--spring.config.location=%EMS_CONFIG_LOCATION%" "--logging.config=file:%EMS_CONFIG_DIR%\logback-spring.xml" %* + +cd %PWD% +endlocal \ No newline at end of file diff --git a/ems-core/baguette-client/bin/run.sh b/ems-core/baguette-client/bin/run.sh new file mode 100644 index 0000000..e9cd9fc --- /dev/null +++ b/ems-core/baguette-client/bin/run.sh @@ -0,0 +1,71 @@ +#!/bin/bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# Change directory to Baguette client home +PREVWORKDIR=`pwd` +BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd ) +cd ${BASEDIR} +EMS_CONFIG_DIR=${BASEDIR}/conf +PAASAGE_CONFIG_DIR=${BASEDIR}/conf +EMS_CONFIG_LOCATION=optional:file:$EMS_CONFIG_DIR/ems-client.yml,optional:file:$EMS_CONFIG_DIR/ems-client.properties,optional:file:$EMS_CONFIG_DIR/baguette-client.yml,optional:file:$EMS_CONFIG_DIR/baguette-client.properties +LOG_FILE=${BASEDIR}/logs/output.txt +TEE_FILE=${BASEDIR}/logs/tee.txt +JASYPT_PASSWORD=password +JAVA_HOME=${BASEDIR}/jre +export EMS_CONFIG_DIR PAASAGE_CONFIG_DIR LOG_FILE JASYPT_PASSWORD JAVA_HOME + +# Update path +PATH=${JAVA_HOME}/bin:$PATH + +# Check if baguette client is already running +#PID=`jps | grep BaguetteClient | cut -d " " -f 1` +PID=`ps -ef |grep java |grep BaguetteClient | cut -c 10-14` +if [ "$PID" != "" ] +then + echo "Baguette client is already running (pid: $PID)" + exit 0 +fi + +# Copy dependencies if missing +if [ -f pom.xml ]; then + if [ ! -d ${BASEDIR}/target/dependency ]; then + mvn dependency:copy-dependencies + fi +fi + +# Run Baguette client +JAVA_OPTS=-Djavax.net.ssl.trustStore=${EMS_CONFIG_DIR}/client-broker-truststore.p12 +JAVA_OPTS="${JAVA_OPTS} -Djavax.net.ssl.trustStorePassword=melodic -Djavax.net.ssl.trustStoreType=pkcs12" +JAVA_OPTS="${JAVA_OPTS} -Djasypt.encryptor.password=$JASYPT_PASSWORD" +#JAVA_OPTS="-Djavax.net.debug=all ${JAVA_OPTS}" +#JAVA_OPTS="-Dlogging.level.gr.iccs.imu.ems=TRACE ${JAVA_OPTS}" +JAVA_OPTS="${JAVA_OPTS} --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" + +echo "Starting baguette client..." +echo "EMS_CONFIG_DIR=${EMS_CONFIG_DIR}" +echo "EMS_CONFIG_LOCATION=${EMS_CONFIG_LOCATION}" +echo "LOG_FILE=${LOG_FILE}" + +echo "Starting baguette client..." &>> ${LOG_FILE} +echo "EMS_CONFIG_DIR=${EMS_CONFIG_DIR}" &>> ${LOG_FILE} +echo "EMS_CONFIG_LOCATION=${EMS_CONFIG_LOCATION}" &>> ${LOG_FILE} +echo "LOG_FILE=${LOG_FILE}" &>> ${LOG_FILE} + +if [ "$1" == "--i" ]; then + echo "Baguette client running in Interactive mode" + java ${JAVA_OPTS} -classpath "conf:jars/*:target/classes:target/dependency/*" gr.iccs.imu.ems.baguette.client.BaguetteClient "--spring.config.location=${EMS_CONFIG_LOCATION}" "--logging.config=file:${EMS_CONFIG_DIR}/logback-spring.xml" $* $* 2>&1 | tee ${TEE_FILE} +else + java ${JAVA_OPTS} -classpath "conf:jars/*:target/classes:target/dependency/*" gr.iccs.imu.ems.baguette.client.BaguetteClient "--spring.config.location=${EMS_CONFIG_LOCATION}" "--logging.config=file:${EMS_CONFIG_DIR}/logback-spring.xml" $* &>> ${LOG_FILE} & + PID=`jps | grep BaguetteClient | cut -d " " -f 1` + PID=`ps -ef |grep java |grep BaguetteClient | cut -c 10-14` + echo "Baguette client PID: $PID" +fi + +cd $PREVWORKDIR \ No newline at end of file diff --git a/ems-core/baguette-client/conf/baguette-client.properties.sample b/ems-core/baguette-client/conf/baguette-client.properties.sample new file mode 100644 index 0000000..ab88d1c --- /dev/null +++ b/ems-core/baguette-client/conf/baguette-client.properties.sample @@ -0,0 +1,214 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +################################################################################ +### EMS - Baguette Client properties ### +################################################################################ + +#password-encoder-class = password.gr.iccs.imu.ems.util.AsterisksPasswordEncoder +#password-encoder-class = password.gr.iccs.imu.ems.util.IdentityPasswordEncoder +#password-encoder-class = password.gr.iccs.imu.ems.util.PresentPasswordEncoder + +# Baguette Client configuration + +auth-timeout = 60000 +exec-timeout = 120000 +#retry-period = 60000 +exit-command-allowed = false +#kill-delay = 10 + +IP_SETTING=${IP_SETTING} +EMS_CLIENT_ADDRESS=${${IP_SETTING}} + +node-properties= + +# ----------------------------------------------------------------------------- +# Client Id and Baguette Server credentials +# ----------------------------------------------------------------------------- + +client-id = ${BAGUETTE_CLIENT_ID} + +#server-address = ${BAGUETTE_SERVER_HOSTNAME} +server-address = ${BAGUETTE_SERVER_ADDRESS} +server-port = ${BAGUETTE_SERVER_PORT} +server-pubkey = ${BAGUETTE_SERVER_PUBKEY} +server-fingerprint = ${BAGUETTE_SERVER_PUBKEY_FINGERPRINT} + +server-username = ${BAGUETTE_SERVER_USERNAME} +server-password = ${BAGUETTE_SERVER_PASSWORD} + +# ----------------------------------------------------------------------------- +# Client-side Self-healing settings +# ----------------------------------------------------------------------------- + +#self.healing.enabled=true +#self.healing.recovery.file.baguette=conf/baguette.json +#self.healing.recovery.file.netdata=conf/netdata.json +#self.healing.recovery.delay=10000 +#self.healing.recovery.retry.wait=60000 +#self.healing.recovery.max.retries=3 + +# ----------------------------------------------------------------------------- +# Collectors settings +# ----------------------------------------------------------------------------- + +#collector-classes = netdata.collector.gr.iccs.imu.ems.baguette.client.NetdataCollector + +collector.netdata.enable = true +collector.netdata.delay = 10000 +collector.netdata.url = http://127.0.0.1:19999/api/v1/allmetrics?format=json +collector.netdata.urlOfNodesWithoutClient = http://%s:19999/api/v1/allmetrics?format=json +#collector.netdata.create-topic = true +#collector.netdata.allowed-topics = netdata__system__cpu__user:an_alias +collector.netdata.allowed-topics = ${COLLECTOR_ALLOWED_TOPICS} +collector.netdata.error-limit = 3 +collector.netdata.pause-period = 60 + +collector.prometheus.enable = true +collector.prometheus.delay = 10000 +collector.prometheus.url = http://127.0.0.1:9090/metrics +collector.prometheus.urlOfNodesWithoutClient = http://%s:9090/metrics +#collector.prometheus.create-topic = true +#collector.prometheus.allowed-topics = system__cpu__user:an_alias +collector.prometheus.allowed-topics = ${COLLECTOR_ALLOWED_TOPICS} +collector.prometheus.error-limit = 3 +collector.prometheus.pause-period = 60 +# +#collector.prometheus.allowedTags = +#collector.prometheus.allowTagsInDestinationName = true +#collector.prometheus.destinationNameFormatter = ${metricName}_${method} +#collector.prometheus.addTagsAsEventProperties = true +#collector.prometheus.addTagsInEventPayload = true +#collector.prometheus.throwExceptionWhenExcessiveCharsOccur = true + +# ----------------------------------------------------------------------------- +# Cluster settings +# ----------------------------------------------------------------------------- + +#cluster.cluster-id=cluster +#cluster.local-node.id=local-node +#cluster.local-node.address=localhost:1234 +#cluster.local-node.properties.name=value +#cluster.member-addresses=[localhost:3456, localhost:5678] + +#cluster.useSwim=false +#cluster.failureTimeout=5000 +cluster.testInterval=5000 + +cluster.log-enabled=true +cluster.out-enabled=true + +cluster.join-on-init=true +cluster.election-on-join=false +#cluster.usePBInMg=true +#cluster.usePBInPg=true +#cluster.mgName=system +#cluster.pgName=data + +cluster.tls.enabled=true +#cluster.tls.keystore=${EMS_CONFIG_DIR}/cluster.jks +#cluster.tls.keystore-password=atomix +#cluster.tls.truststore=${EMS_CONFIG_DIR}/cluster.jks +#cluster.tls.truststore-password=atomix +cluster.tls.keystore-dir=conf + +cluster.score.formula=20*cpu/32+80*ram/(256*1024) +cluster.score.default-score=0 +cluster.score.default-args.cpu=1 +cluster.score.default-args.ram=128 +#cluster.score.throw-exception=false + + +################################################################################ +### EMS - Broker-CEP properties ### +################################################################################ + +# Broker ports and protocol +brokercep.broker-name = broker +brokercep.broker-port = 61617 +#brokercep.management-connector-port = 1088 +brokercep.broker-protocol = ssl +# Don't use in EMS server +#brokercep.bypass-local-broker = true + +# Common Broker settings +BROKER_URL_PROPERTIES = transport.daemon=true&transport.trace=false&transport.useKeepAlive=true&transport.useInactivityMonitor=false&transport.needClientAuth=${CLIENT_AUTH_REQUIRED}&transport.verifyHostName=true&transport.connectionTimeout=0&transport.keepAlive=true +CLIENT_AUTH_REQUIRED = false +brokercep.broker-url[0] = ${brokercep.broker-protocol}://0.0.0.0:${brokercep.broker-port}?${BROKER_URL_PROPERTIES} +brokercep.broker-url[1] = tcp://127.0.0.1:61616?${BROKER_URL_PROPERTIES} +brokercep.broker-url[2] = + +CLIENT_URL_PROPERTIES=daemon=true&trace=false&useInactivityMonitor=false&connectionTimeout=0&keepAlive=true +brokercep.broker-url-for-consumer = tcp://127.0.0.1:61616?${CLIENT_URL_PROPERTIES} +brokercep.broker-url-for-clients = ${brokercep.broker-protocol}://${EMS_CLIENT_ADDRESS}:${brokercep.broker-port}?${CLIENT_URL_PROPERTIES} +# Must be a public IP address + +# Key store +brokercep.ssl.keystore-file = ${EMS_CONFIG_DIR}/client-broker-keystore.p12 +brokercep.ssl.keystore-type = PKCS12 +#brokercep.ssl.keystore-password = melodic +brokercep.ssl.keystore-password = ENC(ISMbn01HVPbtRPkqm2Lslg==) +# Trust store +brokercep.ssl.truststore-file = ${EMS_CONFIG_DIR}/client-broker-truststore.p12 +brokercep.ssl.truststore-type = PKCS12 +#brokercep.ssl.truststore-password = melodic +brokercep.ssl.truststore-password = ENC(ISMbn01HVPbtRPkqm2Lslg==) +# Certificate +brokercep.ssl.certificate-file = ${EMS_CONFIG_DIR}/client-broker.crt +# Key-and-Cert data +brokercep.ssl.key-entry-generate = IF-IP-CHANGED +brokercep.ssl.key-entry-name = ${EMS_CLIENT_ADDRESS} +brokercep.ssl.key-entry-dname = CN=${EMS_CLIENT_ADDRESS},OU=Information Management Unit (IMU),O=Institute of Communication and Computer Systems (ICCS),L=Athens,ST=Attika,C=GR +brokercep.ssl.key-entry-ext-san = dns:localhost,ip:127.0.0.1,ip:${DEFAULT_IP},ip:${PUBLIC_IP} + +# Authentication and Authorization settings +brokercep.authentication-enabled = true +#brokercep.additional-broker-credentials = aaa/111, bbb/222, morphemic/morphemic +brokercep.additional-broker-credentials = ENC(axeJUxNHajYfBffUwvuT3kwTgLTpRliDMz/ZQ9hROZ3BNOv0Idw72NJsawzIZRuZ) +brokercep.authorization-enabled = false + +# Broker instance settings +brokercep.broker-persistence-enabled = false +brokercep.broker-using-jmx = true +brokercep.broker-advisory-support-enabled = true +brokercep.broker-using-shutdown-hook = false + +#brokercep.broker-enable-statistics = true +#brokercep.broker-populate-jmsx-user-id = true + +# Message interceptors +brokercep.message-interceptors[0].destination = > +brokercep.message-interceptors[0].className = interceptor.broker.gr.iccs.imu.ems.brokercep.SequentialCompositeInterceptor +brokercep.message-interceptors[0].params[0] = #SourceAddressMessageUpdateInterceptor +brokercep.message-interceptors[0].params[1] = #MessageForwarderInterceptor +brokercep.message-interceptors[0].params[2] = #NodePropertiesMessageUpdateInterceptor + +brokercep.message-interceptors-specs.SourceAddressMessageUpdateInterceptor.className = interceptor.broker.gr.iccs.imu.ems.brokercep.SourceAddressMessageUpdateInterceptor +brokercep.message-interceptors-specs.MessageForwarderInterceptor.className = interceptor.broker.gr.iccs.imu.ems.brokercep.MessageForwarderInterceptor +brokercep.message-interceptors-specs.NodePropertiesMessageUpdateInterceptor.className = interceptor.broker.gr.iccs.imu.ems.brokercep.NodePropertiesMessageUpdateInterceptor + +# Message forward destinations (MessageForwarderInterceptor must be included in 'message-interceptors' property) +#brokercep.message-forward-destinations[0].connection-string = tcp://localhost:51515 +#brokercep.message-forward-destinations[0].username = AAA +#brokercep.message-forward-destinations[0].password = 111 +#brokercep.message-forward-destinations[1].connection-string = tcp://localhost:41414 +#brokercep.message-forward-destinations[1].username = AAA +#brokercep.message-forward-destinations[1].password = 111 + +# Advisory watcher +brokercep.enable-advisory-watcher = true + +# Memory usage limit +brokercep.usage.memory.jvm-heap-percentage = 20 +#brokercep.usage.memory.size = 134217728 + +#brokercep.maxEventForwardRetries: -1 +#brokercep.maxEventForwardDuration: -1 + +################################################################################ \ No newline at end of file diff --git a/ems-core/baguette-client/conf/baguette-client.yml b/ems-core/baguette-client/conf/baguette-client.yml new file mode 100644 index 0000000..0920f57 --- /dev/null +++ b/ems-core/baguette-client/conf/baguette-client.yml @@ -0,0 +1,246 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +################################################################################ +### EMS - Baguette Client properties ### +################################################################################ + +#password-encoder-class: password.gr.iccs.imu.ems.util.AsterisksPasswordEncoder +#password-encoder-class: password.gr.iccs.imu.ems.util.IdentityPasswordEncoder +#password-encoder-class: password.gr.iccs.imu.ems.util.PresentPasswordEncoder + +# Baguette Client configuration + +auth-timeout: 60000 +exec-timeout: 120000 +#retry-period: 60000 +exit-command-allowed: false +#kill-delay: 10 + +IP_SETTING: ${IP_SETTING} +EMS_CLIENT_ADDRESS: ${${IP_SETTING}} + +node-properties: + node-id: ${NODE_CLIENT_ID} + public-ip: ${NODE_ADDRESS} + private-ip: ${NODE_ADDRESS} + instance: ${NODE_ADDRESS} + host: ${NODE_ADDRESS} + zone: ${zone-id} + region: ${zone-id} + cloud: ${provider} + +# ----------------------------------------------------------------------------- +# Client Id and Baguette Server credentials +# ----------------------------------------------------------------------------- + +client-id: ${BAGUETTE_CLIENT_ID} + +#server-address: ${BAGUETTE_SERVER_HOSTNAME} +server-address: ${BAGUETTE_SERVER_ADDRESS} +server-port: ${BAGUETTE_SERVER_PORT} +server-pubkey: ${BAGUETTE_SERVER_PUBKEY} +server-fingerprint: ${BAGUETTE_SERVER_PUBKEY_FINGERPRINT} + +server-username: ${BAGUETTE_SERVER_USERNAME} +server-password: ${BAGUETTE_SERVER_PASSWORD} + +# ----------------------------------------------------------------------------- +# Client-side Self-healing settings +# ----------------------------------------------------------------------------- + +#self.healing: +# enabled: true +# recovery: +# file: +# baguette: conf/baguette.json +# netdata: conf/netdata.json +# delay: 10000 +# retry-delay: 60000 +# max-retries: 3 + +# ----------------------------------------------------------------------------- +# Collectors settings +# ----------------------------------------------------------------------------- + +#collector-classes: netdata.collector.gr.iccs.imu.ems.baguette.client.NetdataCollector + +collector: + netdata: + enable: true + delay: 10000 + url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + urlOfNodesWithoutClient: http://%s:19999/api/v1/allmetrics?format=json + #create-topic: true + #allowed-topics: netdata__system__cpu__user:an_alias + allowed-topics: ${COLLECTOR_ALLOWED_TOPICS} + error-limit: 3 + pause-period: 60 + prometheus: + enable: true + delay: 10000 + url: http://127.0.0.1:9090/metrics + urlOfNodesWithoutClient: http://%s:9090/metrics + #create-topic: true + #allowed-topics: system__cpu__user:an_alias + allowed-topics: ${COLLECTOR_ALLOWED_TOPICS} + error-limit: 3 + pause-period: 60 + # + #allowedTags: [] + #allowTagsInDestinationName: true + #destinationNameFormatter: '${metricName}_${method}' + #addTagsAsEventProperties: true + #addTagsInEventPayload: true + #throwExceptionWhenExcessiveCharsOccur: true + +# ----------------------------------------------------------------------------- +# Cluster settings +# ----------------------------------------------------------------------------- + +cluster: + #cluster-id: cluster + #local-node.id: local-node + #local-node.address: localhost:1234 + #local-node.properties: + # name: value + #member-addresses: [localhost:3456, localhost:5678] + + #useSwim: false + #failureTimeout: 5000 + testInterval: 5000 + + log-enabled: true + out-enabled: true + + join-on-init: true + election-on-join: false + #usePBInMg: true + #usePBInPg: true + #mgName: system + #pgName: data + + tls: + enabled: true + #keystore: ${EMS_CONFIG_DIR}/cluster.jks + #keystore-password: atomix + #truststore: ${EMS_CONFIG_DIR}/cluster.jks + #truststore-password: atomix + keystore-dir: conf + + score: + formula: 20*cpu/32+80*ram/(256*1024) + default-score: 0 + default-args: + cpu: 1 + ram: 128 + #throw-exception: false + + +################################################################################ +### EMS - Broker-CEP properties ### +################################################################################ + +BROKER_URL_PROPERTIES: transport.daemon=true&transport.trace=false&transport.useKeepAlive=true&transport.useInactivityMonitor=false&transport.needClientAuth=${CLIENT_AUTH_REQUIRED}&transport.verifyHostName=true&transport.connectionTimeout=0&transport.keepAlive=true +CLIENT_AUTH_REQUIRED: false +CLIENT_URL_PROPERTIES: daemon=true&trace=false&useInactivityMonitor=false&connectionTimeout=0&keepAlive=true + +brokercep: + # Broker ports and protocol + broker-name: broker + broker-port: 61617 + broker-protocol: ssl + #management-connector-port: 1088 + #bypass-local-broker: true # Don't use in EMS server + + # Broker connectors + broker-url: + - ${brokercep.broker-protocol}://0.0.0.0:${brokercep.broker-port}?${BROKER_URL_PROPERTIES} + - tcp://127.0.0.1:61616?${BROKER_URL_PROPERTIES} + + # Broker URLs for (EMS) consumer and clients + broker-url-for-consumer: tcp://127.0.0.1:61616?${CLIENT_URL_PROPERTIES} + broker-url-for-clients: ${brokercep.broker-protocol}://${EMS_CLIENT_ADDRESS}:${brokercep.broker-port}?${CLIENT_URL_PROPERTIES} + # Must be a public IP address + + ssl: + # Key store settings + keystore-file: ${EMS_CONFIG_DIR}/client-broker-keystore.p12 + keystore-type: PKCS12 + keystore-password: 'ENC(ISMbn01HVPbtRPkqm2Lslg==)' # melodic + + # Trust store settings + truststore-file: ${EMS_CONFIG_DIR}/client-broker-truststore.p12 + truststore-type: PKCS12 + truststore-password: 'ENC(ISMbn01HVPbtRPkqm2Lslg==)' # melodic + + # Certificate settings + certificate-file: ${EMS_CONFIG_DIR}/client-broker.crt + + # key generation settings + key-entry-generate: IF-IP-CHANGED + key-entry-name: ${EMS_CLIENT_ADDRESS} + key-entry-dname: 'CN=${EMS_CLIENT_ADDRESS},OU=Information Management Unit (IMU),O=Institute of Communication and Computer Systems (ICCS),L=Athens,ST=Attika,C=GR' + key-entry-ext-san: 'dns:localhost,ip:127.0.0.1,ip:${DEFAULT_IP},ip:${PUBLIC_IP}' + + # Authentication and Authorization settings + authentication-enabled: true + #additional-broker-credentials: aaa/111, bbb/222, morphemic/morphemic + additional-broker-credentials: 'ENC(axeJUxNHajYfBffUwvuT3kwTgLTpRliDMz/ZQ9hROZ3BNOv0Idw72NJsawzIZRuZ)' + authorization-enabled: false + + # Broker instance settings + broker-persistence-enabled: false + broker-using-jmx: true + broker-advisory-support-enabled: true + broker-using-shutdown-hook: false + + #broker-enable-statistics: true + #broker-populate-jmsx-user-id: true + + # Message interceptors + message-interceptors: + - destination: '>' + className: 'interceptor.broker.gr.iccs.imu.ems.brokercep.SequentialCompositeInterceptor' + params: + - '#SourceAddressMessageUpdateInterceptor' + - '#MessageForwarderInterceptor' + - '#NodePropertiesMessageUpdateInterceptor' + + message-interceptors-specs: + SourceAddressMessageUpdateInterceptor: + className: interceptor.broker.gr.iccs.imu.ems.brokercep.SourceAddressMessageUpdateInterceptor + MessageForwarderInterceptor: + className: interceptor.broker.gr.iccs.imu.ems.brokercep.MessageForwarderInterceptor + NodePropertiesMessageUpdateInterceptor: + className: interceptor.broker.gr.iccs.imu.ems.brokercep.NodePropertiesMessageUpdateInterceptor + + # Message forward destinations (MessageForwarderInterceptor must be included in 'message-interceptors' property) + #message-forward-destinations: + # - connection-string: tcp://localhost:51515 + # username: AAA + # password: 111 + # - connection-string: tcp://localhost:41414 + # username: AAA + # password: 111 + + # Advisory watcher + enable-advisory-watcher: true + + # Memory usage limit + usage: + memory: + jvm-heap-percentage: 20 + #size: 134217728 + + # Event forward settings + #maxEventForwardRetries: -1 + #maxEventForwardDuration: -1 + +################################################################################ \ No newline at end of file diff --git a/ems-core/baguette-client/conf/baguette.json b/ems-core/baguette-client/conf/baguette.json new file mode 100644 index 0000000..0e95dd2 --- /dev/null +++ b/ems-core/baguette-client/conf/baguette.json @@ -0,0 +1,16 @@ +[{ + "name": "Initial wait...", + "command": "pwd", + "waitBefore": 0, + "waitAfter": 5000 +}, { + "name": "Sending baguette client kill command...", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/bin/kill.sh", + "waitBefore": 0, + "waitAfter": 2000 +}, { + "name": "Sending baguette client start command...", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/bin/run.sh", + "waitBefore": 0, + "waitAfter": 10000 +}] diff --git a/ems-core/baguette-client/conf/logback-spring.xml b/ems-core/baguette-client/conf/logback-spring.xml new file mode 100644 index 0000000..4ae51e9 --- /dev/null +++ b/ems-core/baguette-client/conf/logback-spring.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + BC> %msg%n + + + + + + + + + + + + + + + + + + + diff --git a/ems-core/baguette-client/conf/netdata.json b/ems-core/baguette-client/conf/netdata.json new file mode 100644 index 0000000..ed40f82 --- /dev/null +++ b/ems-core/baguette-client/conf/netdata.json @@ -0,0 +1,16 @@ +[{ + "name": "Initial wait...", + "command": "pwd", + "waitBefore": 0, + "waitAfter": 5000 +}, { + "name": "Sending Netdata agent kill command...", + "command": "sudo sh -c 'ps -U netdata -o \"pid\" --no-headers | xargs kill -9' ", + "waitBefore": 0, + "waitAfter": 2000 +}, { + "name": "Sending Netdata agent start command...", + "command": "sudo netdata", + "waitBefore": 0, + "waitAfter": 10000 +}] diff --git a/ems-core/baguette-client/logs/output.txt b/ems-core/baguette-client/logs/output.txt new file mode 100644 index 0000000..e69de29 diff --git a/ems-core/baguette-client/pom.xml b/ems-core/baguette-client/pom.xml new file mode 100644 index 0000000..0127385 --- /dev/null +++ b/ems-core/baguette-client/pom.xml @@ -0,0 +1,175 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + baguette-client + EMS - Baguette Client + + + 3.1.12 + + + + + gr.iccs.imu.ems + broker-cep + ${project.version} + + + gr.iccs.imu.ems + broker-client + ${project.version} + + + gr.iccs.imu.ems + common + ${project.version} + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework + spring-web + + + com.github.ulisesbocchio + jasypt-spring-boot-starter + ${jasypt.starter.version} + + + + + org.apache.sshd + apache-sshd + ${apache-sshd.version} + pom + + + org.slf4j + slf4j-jdk14 + + + org.bouncycastle + * + + + org.springframework + * + + + + + org.apache.sshd + sshd-scp + ${apache-sshd.version} + + + + + org.projectlombok + lombok + provided + + + + + io.atomix + atomix + ${atomix.version} + + + com.google.guava + guava + + + + + io.atomix + atomix-raft + ${atomix.version} + + + io.atomix + atomix-primary-backup + ${atomix.version} + + + io.atomix + atomix-gossip + ${atomix.version} + + + io.atomix + atomix-storage + ${atomix.version} + + + + + com.google.guava + guava + ${guava.version} + + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + + exec + + + + + gr.iccs.imu.ems.baguette.client.BaguetteClient + maven + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + src/main/assembly/baguette-client-installation-package.xml + + baguette-client + + + + package + + single + + + + + + + + + diff --git a/ems-core/baguette-client/src/main/assembly/baguette-client-installation-package.xml b/ems-core/baguette-client/src/main/assembly/baguette-client-installation-package.xml new file mode 100644 index 0000000..0d63efe --- /dev/null +++ b/ems-core/baguette-client/src/main/assembly/baguette-client-installation-package.xml @@ -0,0 +1,102 @@ + + + + installation-package + + tgz + + + + + ${project.basedir} + + README* + LICENSE* + INSTALLATION* + + unix + + + bin + bin + + * + + unix + 0755 + + + + logs + logs + + * + + unix + + + jars + ${project.build.directory} + + *.jar + + + + jars/broker-client + ${project.parent.basedir}/broker-client/target + + broker-client-jar-with-dependencies.jar + + + + + bin + ${project.parent.basedir}/bin + + sysmon.* + + unix + 0755 + + + + + + jars + + *:pom + + true + false + runtime + + + \ No newline at end of file diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClient.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClient.java new file mode 100644 index 0000000..3856ab5 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClient.java @@ -0,0 +1,271 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client; + +import gr.iccs.imu.ems.baguette.client.cluster.ClusterManagerProperties; +import gr.iccs.imu.ems.baguette.client.collector.netdata.NetdataCollector; +//import prometheus.collector.gr.iccs.imu.ems.baguette.client.PrometheusCollector; +import gr.iccs.imu.ems.baguette.client.plugin.recovery.SelfHealingPlugin; +import gr.iccs.imu.ems.util.EventBus; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Scope; +import org.springframework.scheduling.annotation.EnableScheduling; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * Baguette client + */ +@Slf4j +@EnableScheduling +@SpringBootApplication(scanBasePackages = { + "gr.iccs.imu.ems.baguette.client", "gr.iccs.imu.ems.brokercep", "gr.iccs.imu.ems.common", + "gr.iccs.imu.ems.brokerclient", "gr.iccs.imu.ems.util"}) +@RequiredArgsConstructor +public class BaguetteClient implements ApplicationRunner { + @Getter + private final BaguetteClientProperties baguetteClientProperties; + private final ClusterManagerProperties clusterManagerProperties; + private final ConfigurableApplicationContext applicationContext; + + private final List> DEFAULT_COLLECTORS_LIST = List.of( + NetdataCollector.class//, PrometheusCollector.class + ); + + @Getter + private final List collectorsList = new ArrayList<>(); + + private static int killDelay; + + @Getter + private Sshc client; + + public static void main(String[] args) { + SpringApplication.run(BaguetteClient.class, args); + + forceExit(); + } + + @Bean + @Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON) + public EventBus eventBus() { + return EventBus.builder().build(); + } + + @Override + public void run(ApplicationArguments args) throws IOException { + log.debug("BaguetteClient: Starting"); + + // Process command line arguments + processCommandLineArgs(args); + killDelay = baguetteClientProperties.getKillDelay(); + log.debug("BaguetteClient: configuration: {}", baguetteClientProperties); + log.debug("Cluster: configuration: {}", clusterManagerProperties); + + boolean interactiveMode = args.containsOption("i"); + + // Start measurement collectors (but not in interactive mode) + if (!interactiveMode) { + startCollectors(); + applicationContext.getBean(SelfHealingPlugin.class).start(); + } + + if (interactiveMode) { + // Run CLI + log.debug("BaguetteClient: Enters interactive mode"); + runCli(); + } else { + // Run SSH client + log.debug("BaguetteClient: Enters SSH mode"); + runSshClient(); + } + log.debug("BaguetteClient: Exiting"); + + // Stop measurement collectors + if (!interactiveMode) { + applicationContext.getBean(SelfHealingPlugin.class).stop(); + stopCollectors(); + } + + // Stop Baguette Client services + applicationContext.close(); + + log.info("BaguetteClient: Bye"); + } + + private void processCommandLineArgs(ApplicationArguments args) { + // Get cluster node addresses and properties + List addresses = args.getNonOptionArgs(); + if (addresses!=null && addresses.size()>0) { + clusterManagerProperties.getLocalNode().setAddress(addresses.get(0)); + if (addresses.size()>1) { + clusterManagerProperties.setMemberAddresses(addresses.subList(1, addresses.size())); + } + } + + // Enable/Disable TLS + if (args.containsOption("tls")) + clusterManagerProperties.getTls().setEnabled(true); + if (args.containsOption("notls")) + clusterManagerProperties.getTls().setEnabled(false); + } + + protected void startCollectors() { + if (!collectorsList.isEmpty()) + throw new IllegalArgumentException("Collectors have already been started"); + + log.debug("BaguetteClient: Starting collectors..."); + if (baguetteClientProperties.getCollectorClasses()==null) + baguetteClientProperties.setCollectorClasses(DEFAULT_COLLECTORS_LIST); + for (Class collectorClass : baguetteClientProperties.getCollectorClasses()) { + try { + log.debug("BaguetteClient: Starting collector: {}...", collectorClass.getName()); + Collector collector = applicationContext.getBean(collectorClass); + collector.start(); + collectorsList.add(collector); + log.debug("BaguetteClient: Starting collector: {}...ok", collectorClass.getName()); + } catch (NoSuchBeanDefinitionException e) { + log.error("BaguetteClient: Exception while starting collector: {}: ", collectorClass.getName(), e); + } + } + log.debug("BaguetteClient: Starting collectors...ok"); + } + + protected void stopCollectors() { + log.debug("BaguetteClient: Stopping collectors..."); + for (Collector collector : collectorsList) { + try { + log.debug("BaguetteClient: Stopping collector: {}...", collector.getClass().getName()); + collector.stop(); + log.debug("BaguetteClient: Stopping collector: {}...ok", collector.getClass().getName()); + } catch (NoSuchBeanDefinitionException e) { + log.error("BaguetteClient: Exception while stopping collector: {}: ", collector.getClass().getName(), e); + } + } + collectorsList.clear(); + } + + protected void runSshClient() { + long retryDelay = baguetteClientProperties.getConnectionRetryDelay(); + boolean retry = baguetteClientProperties.isConnectionRetryEnabled() && retryDelay>=0; + int retryLimit = baguetteClientProperties.getConnectionRetryLimit(); + int retryCount = 0; + while (true) { + try { + // Connect to baguette server + startSshClient(retry); + + // Exchange messages with Baguette server + log.trace("BaguetteClient: Calling SSHC run()"); + client.run(); + retryCount = 0; + + // Disconnect from baguette server + stopSshClient(); + } catch (Exception ex) { + log.error("BaguetteClient: EXCEPTION: ", ex); + } + + // Check if retry is enabled + if (!retry) break; + + // Check if retry limit has been reached + retryCount++; + if (retryLimit>=0 && retryCount > retryLimit) { + log.error("BaguetteClient: Giving up connection retries after {} failed attempts", retryCount-1); + break; + } + + // Wait for a while before retrying to reconnect + try { + Thread.sleep(retryDelay); + } catch (InterruptedException e) { + log.warn("BaguetteClient: Cancelling connection retry"); + break; + } + log.info("BaguetteClient: Retrying to connect (attempt #{})...", retryCount); + } + } + + protected void runCli() throws IOException { + BaguetteClientCLI cli = applicationContext.getBean(BaguetteClientCLI.class); + cli.setConfiguration(baguetteClientProperties); + cli.run(); + } + + public synchronized void startSshClient(boolean retry) throws IOException { + log.trace("BaguetteClient: spring-boot application-context: {}", applicationContext); + client = applicationContext.getBean(Sshc.class); + client.setConfiguration(baguetteClientProperties); + + log.trace("BaguetteClient: Sshc instance from application-context: {}", client); + log.trace("BaguetteClient: Calling SSHC start()"); + client.start(retry); + client.greeting(); + } + + public synchronized void stopSshClient() throws IOException { + log.trace("BaguetteClient: Calling SSHC stop()"); + Sshc tmp = client; + client = null; + tmp.stop(); + } + + /*protected static Properties loadConfig(String configFile) throws IOException { + Properties config = new Properties(); + try { + try (InputStream in = new FileInputStream(new File(configFile))) { + config.load(in); + } + } catch (FileNotFoundException ex) { + try (InputStream in = BaguetteClient.class.getResourceAsStream(configFile)) { + if (in == null) throw ex; + config.load(in); + } + } + return config; + }*/ + + protected static void forceExit() { + // Print remaining threads + Thread.getAllStackTraces().keySet() + .forEach(s -> log.debug("---> {}.{}: {} alive={}, daemon={}, interrupted={}", + s.getThreadGroup().getName(), s.getName(), s.getState(), + s.isAlive(), s.isDaemon(), s.isInterrupted())); + + // Start killer thread + if (killDelay>0) { + new Thread(() -> { + try { Thread.sleep(1000); } catch (InterruptedException ignored) { } + log.warn("Waiting JVM to exit for {} more seconds", killDelay); + try { Thread.sleep(killDelay * 1000); } catch (InterruptedException ignored) { } + log.warn("Forcing JVM to exit"); + System.exit(0); + }) {{ + setDaemon(true); + start(); + }}; + } else { + log.debug("Killer thread disabled"); + } + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClientCLI.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClientCLI.java new file mode 100644 index 0000000..a2e7bf7 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClientCLI.java @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client; + +import gr.iccs.imu.ems.baguette.client.cluster.ClusterManager; +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.*; + +/** + * Baguette Client Command-Line Interface + */ +@Slf4j +@Service +public class BaguetteClientCLI { + private BaguetteClientProperties config; + private String clientId; + private String prompt = "CLI> "; + + @Autowired + private CommandExecutor commandExecutor; + @Autowired + BrokerCepService brokerCepService; + + public void setConfiguration(BaguetteClientProperties config) { + this.config = config; + this.clientId = config.getClientId(); + if (StringUtils.isNotBlank(clientId)) + prompt = "CLI-"+ ClusterManager.getLocalHostName()+" > "; + config.setExitCommandAllowed(true); + log.trace("Sshc: cmd-exec: {}", commandExecutor); + this.commandExecutor.setConfiguration(config); + } + + public void run() throws IOException { + run(System.in, System.out, System.err); + } + + public void run(InputStream in, PrintStream out, PrintStream err) throws IOException { + BufferedReader reader = new BufferedReader(new InputStreamReader(in)); + out.print(prompt); + out.flush(); + String line; + while ((line = reader.readLine()) != null) { + line = line.trim(); + try { + boolean exit = commandExecutor.execCmd(line.split("[ \t]+"), in, out, err); + if (exit) break; + } catch (Exception ex) { + ex.printStackTrace(out); + out.flush(); + } + out.print(prompt); + out.flush(); + } + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClientProperties.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClientProperties.java new file mode 100644 index 0000000..b2f6037 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/BaguetteClientProperties.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client; + +import gr.iccs.imu.ems.common.client.SshClientProperties; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; + +import java.util.List; + +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@Configuration +@ConfigurationProperties +@PropertySource(value = { + "file:${EMS_CONFIG_DIR}/ems-client.yml", + "file:${EMS_CONFIG_DIR}/ems-client.properties", + "file:${EMS_CONFIG_DIR}/baguette-client.yml", + "file:${EMS_CONFIG_DIR}/baguette-client.properties" +}, ignoreResourceNotFound = true) +public class BaguetteClientProperties extends SshClientProperties { + private String baseDir; + + private boolean connectionRetryEnabled = true; + private long connectionRetryDelay = 10 * 1000L; + private int connectionRetryLimit = -1; + + private boolean exitCommandAllowed = false; + private int killDelay = 5; + + private List> collectorClasses; + + private String debugFakeIpAddress; + + private long sendStatisticsDelay = 10000L; +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/Collector.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/Collector.java new file mode 100644 index 0000000..a1a5cbd --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/Collector.java @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client; + +import gr.iccs.imu.ems.util.Plugin; + +public interface Collector extends Plugin { + void activeGroupingChanged(String oldGrouping, String newGrouping); +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/CommandExecutor.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/CommandExecutor.java new file mode 100644 index 0000000..e52e236 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/CommandExecutor.java @@ -0,0 +1,1416 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client; + +import com.fasterxml.jackson.databind.ObjectMapper; +import gr.iccs.imu.ems.baguette.client.cluster.*; +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.brokercep.BrokerCepStatementSubscriber; +import gr.iccs.imu.ems.brokercep.cep.CepService; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.brokerclient.event.EventGenerator; +import gr.iccs.imu.ems.brokerclient.properties.BrokerClientProperties; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.common.misc.EventConstant; +import gr.iccs.imu.ems.common.misc.SystemResourceMonitor; +import gr.iccs.imu.ems.util.*; +import io.atomix.cluster.ClusterMembershipEvent; +import io.atomix.cluster.Member; +import lombok.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Service; + +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.Duration; +import java.util.*; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Collectors; + +import static gr.iccs.imu.ems.util.GroupingConfiguration.BrokerConnectionConfig; + +/** + * Command Executor + */ +@Slf4j +@Service +public class CommandExecutor { + + private static String getConfigDir() { + String confDir = System.getenv("EMS_CONFIG_DIR"); + if (StringUtils.isBlank(confDir)) confDir = System.getProperty("EMS_CONFIG_DIR"); + if (StringUtils.isBlank(confDir)) confDir = "conf"; + return confDir; + } + + private final static String DEFAULT_CONF_DIR = getConfigDir(); + private final static String DEFAULT_ID_FILE = DEFAULT_CONF_DIR + "/cached-id.properties"; + private static final int DEFAULT_ID_LENGTH = 32; + private final static String DEFAULT_KEYSTORE_DIR = DEFAULT_CONF_DIR; + + public final static String EVENT_CLUSTER_NODE_ADDED = "CLUSTER_NODE_ADDED"; + public final static String EVENT_CLUSTER_NODE_REMOVED = "CLUSTER_NODE_REMOVED"; + + @Autowired + private ApplicationContext applicationContext; + @Autowired + private BaguetteClient baguetteClient; + @Autowired + private BrokerCepService brokerCepService; + @Autowired + private BrokerClientProperties brokerClientProperties; + @Autowired + private PasswordUtil passwordUtil; + @Autowired + @Getter + private EventBus eventBus; + + private BaguetteClientProperties config; + private String idFile; + + private InputStream in; + private PrintStream out; + private PrintStream err; + private String clientId; + + @Getter + private ClientConfiguration clientConfiguration; + @Getter + private final Map groupings = new LinkedHashMap<>(); + private GroupingConfiguration activeGrouping; + + private final AtomicLong subscriberCount = new AtomicLong(0); + private final Map> groupingsSubscribers = new LinkedHashMap<>(); + + private final Map eventGenerators = new HashMap<>(); + + @Autowired + private ClusterManagerProperties clusterManagerProperties; + @Getter + private ClusterManager clusterManager; + private ClusterTest clusterTest; + private boolean clusterKeystoreInitialized = false; + private String clusterKeystoreFile; + private String clusterKeystoreType; + private String clusterKeystorePassword; + + @Getter private String globalGrouping; + @Getter private String aggregatorGrouping; + @Getter private String nodeGrouping; + + private Thread serverWatcherThread; + private boolean captureInputLine; + @Getter private String lastInputLine; + + @Autowired + private TaskScheduler taskScheduler; + private ScheduledFuture statsSendTask; + @Autowired + private SystemResourceMonitor systemResourceMonitor; + + public CommandExecutor() { + initializeClientId(); + } + + public void setConfiguration(BaguetteClientProperties config) { + log.trace("CommandExecutor: brokerCepService: {}", brokerCepService); + log.trace("CommandExecutor: config: {}", config); + this.config = config; + this.idFile = DEFAULT_ID_FILE; + initializeClientId(); + } + + private void initializeClientId() { + if (config!=null && StringUtils.isNotBlank(config.getClientId())) { + clientId = config.getClientId().trim(); + saveClientId(clientId); + } + if (StringUtils.isBlank(clientId)) + clientId = loadCachedClientId(); + if (StringUtils.isBlank(clientId)) { + this.clientId = RandomStringUtils.randomAlphanumeric(DEFAULT_ID_LENGTH); + saveClientId(clientId); + } + } + + void communicateWithServer(InputStream in, PrintStream out, PrintStream err) throws IOException { + log.trace("communicateWithServer(): BEGIN"); + BufferedReader reader = new BufferedReader(new InputStreamReader(in)); + String line; + while ((line = reader.readLine()) != null) { + log.trace("communicateWithServer(): WHILE START: {}", line); + if (captureInputLine) { + lastInputLine = line; + log.trace("communicateWithServer(): captureInputLine: {}", line); + captureInputLine = false; + continue; + } + line = line.trim(); + if (StringUtils.startsWithIgnoreCase(line, "CLUSTER-KEY")) { + String[] s = line.split(" ", 2); + log.info("Cluster key from Server: {} {}", s[0], s.length>1 ? passwordUtil.encodePassword(s[1]) : ""); + } else + log.info("Server input: {}", line); + + try { + log.trace("communicateWithServer(): Calling execCmd: {}", line); + boolean exit = execCmd(line.split("[ \t]+"), in, out, err); + log.trace("communicateWithServer(): Exit code: {}", exit); + if (exit) break; + } catch (Exception ex) { + log.error("communicateWithServer(): EXCEPTION: ", ex); + // Report exception back to server + err.println(ex); + ex.printStackTrace(err); + err.flush(); + } + log.trace("communicateWithServer(): WHILE END"); + } + log.trace("communicateWithServer(): END"); + } + + public void executeCommand(String command) throws IOException, InterruptedException { + String[] args = command.split(" "); + execCmd(args, baguetteClient.getClient().getIn(), baguetteClient.getClient().getOut(), baguetteClient.getClient().getOut()); + + // Wait for server response/input if needed + while (captureInputLine) { + log.trace("Waiting for server input..."); + try { Thread.sleep(100); } catch (InterruptedException e) {} + } + log.trace("Server input: {}", lastInputLine); + } + + boolean executeCommand(String line, InputStream in, PrintStream out, PrintStream err) throws IOException, InterruptedException { + return execCmd(line.split("[ \t]+"), in, out, err); + } + + boolean execCmd(String[] args, InputStream in, PrintStream out, PrintStream err) throws IOException, InterruptedException { + if (args == null || args.length == 0) return false; + String cmd = args[0].toUpperCase(); + args[0] = ""; + + this.in = in; + this.out = out; + this.err = err; + + if ("EXIT".equals(cmd)) { + boolean canExit = config != null && config.isExitCommandAllowed(); + if (canExit) { + if (clusterManager != null && clusterManager.isRunning()) + clusterManager.leaveCluster(); + return true; // Signal 'Sshc' to quit + } else { + final String mesg = "Exit is not allowed. Ignoring EXIT command"; + log.warn(mesg); + out.println(mesg); + } + } else if ("CONNECT".equals(cmd)) { + if (serverWatcherThread!=null) { + log.warn("Already connected"); + return false; + } + baguetteClient.startSshClient(false); + serverWatcherThread = new Thread(() -> { + BufferedReader reader = new BufferedReader(new InputStreamReader(new BufferedInputStream(baguetteClient.getClient().getIn()))); + String line; + try { + while ((line = reader.readLine()) != null) { + log.info(line); + } + } catch (Exception ex) { + if (baguetteClient.getClient()!=null) + log.warn("Exception in serverWatcherThread: ", ex); + else + log.debug("serverWatcherThread has exited"); + } + serverWatcherThread = null; + }); + serverWatcherThread.start(); + } else if ("DISCONNECT".equals(cmd)) { + if (serverWatcherThread==null) { + log.warn("Not connected"); + return false; + } + baguetteClient.stopSshClient(); + serverWatcherThread = null; + + } else if ("SEND".equals(cmd)) { + StringBuilder sb = new StringBuilder(); + for (int i=1; i1) ? args[1].trim() : DEFAULT_CONF_DIR + "/config-export.json"; + ConfigurationContents contents = ConfigurationContents.builder() + .timestamp(System.currentTimeMillis()) + .clientId(this.clientId) + .activeGrouping(this.activeGrouping.getName()) + .groupings(this.groupings) + .build(); + + ObjectMapper mapper = new ObjectMapper(); + File file = Paths.get(fileName).toFile(); + mapper.writer().writeValue(file, contents); + log.info("Current configuration saved to file: {}", file.getPath()); + + } else if ("READ-CONFIGURATION".equals(cmd)) { + String fileName = (args.length>1) ? args[1].trim() : DEFAULT_CONF_DIR + "/config-export.json"; + File file = Paths.get(fileName).toFile(); + String content = new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8); + + ObjectMapper mapper = new ObjectMapper(); + ConfigurationContents config = mapper.readValue(content, ConfigurationContents.class); + log.debug("Configuration read from file: {}\n{}", file, config); + + // Clear current state + clearGroupings(); + + // Initialize current state + String newId = config.getClientId(); + if (StringUtils.isNotBlank(newId)) + saveClientId(newId); + + config.getGroupings().forEach(groupings::put); + + String activeConf = config.getActiveGrouping(); + if (StringUtils.isNotBlank(activeConf)) + setActiveGrouping(activeConf); + + log.info("Current configuration loaded from file: {}", file.getPath()); + + } else if ("LIST-GROUPING-CONFIGS".equals(cmd)) { + log.info("Configured groupings: {}", groupings.keySet()); + out.println(String.join(", ", groupings.keySet())); + } else if ("CLEAR-GROUPING-CONFIGS".equals(cmd)) { + clearGroupings(); + } else if ("GET-GROUPING-CONFIG".equals(cmd)) { + if (args.length < 2) return false; + GroupingConfiguration grouping = groupings.get(args[1].trim()); + log.info("{}", grouping); + out.printf("%s\n", grouping); + } else if ("SET-CLIENT-CONFIG".equals(cmd)) { + if (args.length < 2) return false; + String configStr = String.join(" ", args).trim(); + log.trace("client-config-base64: {}", configStr); + setClientConfiguration(configStr); + } else if ("SET-GROUPING-CONFIG".equals(cmd)) { + if (args.length < 2) return false; + String configStr = String.join(" ", args).trim(); + log.trace("grouping-config-base64: {}", configStr); + setGroupingConfiguration(configStr); + } else if ("GET-ACTIVE-GROUPING".equals(cmd)) { + String activeGroupingName = activeGrouping != null ? activeGrouping.getName() : "-"; + log.info("Active grouping: {}", activeGroupingName); + out.println(activeGroupingName); + } else if ("SET-ACTIVE-GROUPING".equals(cmd)) { + if (args.length < 2) return false; + String newGrouping = String.join(" ", args).trim(); + log.trace("new-active-grouping: {}", newGrouping); + setActiveGrouping(newGrouping); + } else if ("SET-CONSTANTS".equals(cmd)) { + if (args.length < 2) return false; + String configStr = String.join(" ", args).trim(); + log.trace("constants-base64: {}", configStr); + setConstants(configStr); + } else if ("SEND-LOCAL-EVENT".equals(cmd)) { + if (args.length < 2) return false; + String destination = args[1].trim(); + double value = args.length > 2 ? Double.parseDouble(args[2].trim()) : Math.random() * 1000; + log.trace("Sending local event: destination={}, metricValue={}", destination, value); + sendLocalEvent(destination, value); + } else if ("SEND-EVENT".equals(cmd)) { + if (args.length < 3) return false; + String connection = args[1].trim(); + String destination = args[2].trim(); + double value = args.length > 3 ? Double.parseDouble(args[3].trim()) : Math.random() * 1000; + log.trace("Sending event: connection={}, destination={}, metricValue={}", connection, destination, value); + sendEvent(connection, destination, value); + } else if ("GENERATE-EVENTS-START".equals(cmd)) { + if (args.length < 5) return false; + String destination = args[1].trim(); + long interval = Long.parseLong(args[2].trim()); + double lower = Double.parseDouble(args[3].trim()); + double upper = Double.parseDouble(args[4].trim()); + + if (eventGenerators.get(destination) == null) { + EventGenerator generator = applicationContext.getBean(EventGenerator.class); + generator.setBrokerUrl(brokerCepService.getBrokerCepProperties().getBrokerUrlForClients()); + generator.setBrokerUsername(brokerCepService.getBrokerUsername()); + generator.setBrokerPassword(brokerCepService.getBrokerPassword()); + generator.setDestinationName(destination); + generator.setLevel(1); + generator.setInterval(interval); + generator.setLowerValue(lower); + generator.setUpperValue(upper); + eventGenerators.put(destination, generator); + generator.start(); + } + } else if ("GENERATE-EVENTS-STOP".equals(cmd)) { + if (args.length < 2) return false; + String destination = args[1].trim(); + EventGenerator generator = eventGenerators.remove(destination); + if (generator != null) { + generator.stop(); + } + } else if ("CLUSTER-KEY".equals(cmd)) { + if (args.length<5) { + log.error("Too few arguments"); + return false; + } + + setClusterKeystore(args[1], args[2], args[3], args[4]); + + } else if ("CLUSTER-JOIN".equals(cmd)) { + if (clusterManager!=null && clusterManager.isRunning()) { + log.error("Cluster is running. Leave cluster first"); + return false; + } + + // Check and collect arguments + if (args.length<5) { + log.error("Too few arguments"); + out.println("Too few arguments (CLUSTER-JOIN)"); + return false; + } + List argsList = new ArrayList<>(Arrays.asList(args)); + argsList.remove(0); // Discard command part + String clusterId = argsList.remove(0); + String groupings = argsList.remove(0); + boolean startElection = Boolean.parseBoolean( + StringUtils.substringAfter(argsList.remove(0), "start-election=")); + String localNodeAddress = argsList.remove(0); + List otherNodeAddresses = argsList.isEmpty() ? null : argsList; + log.info("CLUSTER-JOIN ARGS: cluster-id={}, groupings={}, local-node={}, other-nodes={}", + clusterId, groupings, localNodeAddress, otherNodeAddresses); + + // Setup groupings + String[] grpPart = groupings.split(":"); + globalGrouping = grpPart[0]; + aggregatorGrouping = grpPart[1]; + nodeGrouping = grpPart[2]; + log.info("CLUSTER-JOIN ARGS: Groupings: global={}, aggregator={}, node={}", + globalGrouping, aggregatorGrouping, nodeGrouping); + + // Initialize cluster properties + if (clusterManagerProperties==null) + clusterManagerProperties = new ClusterManagerProperties(); + clusterManagerProperties.setClusterId(clusterId); + + if (clusterManagerProperties.getTls().isEnabled()) { + log.debug("Cluster TLS is enabled"); + if (clusterKeystoreInitialized) { + log.debug("Cluster TLS Keystore has been initialized"); + clusterManagerProperties.getTls().setKeystore(clusterKeystoreFile); + clusterManagerProperties.getTls().setKeystorePassword(clusterKeystorePassword); + clusterManagerProperties.getTls().setTruststore(clusterKeystoreFile); + clusterManagerProperties.getTls().setTruststorePassword(clusterKeystorePassword); + } + } + + clusterManagerProperties.getLocalNode().setAddress(localNodeAddress); + clusterManagerProperties.setMemberAddresses(otherNodeAddresses); + log.debug("Cluster properties: {}", clusterManagerProperties); + + // Initialize cluster manager + if (clusterManager==null) { + clusterManager = applicationContext.getBean(ClusterManager.class); + clusterManager.setProperties(clusterManagerProperties); + } + + // Join/start cluster + clusterManager.initialize(clusterManagerProperties, new ClusterNodeCallback(this)); + //clusterManager.setCallback(new TestCallback(clusterManager.getLocalAddress())); + clusterManager.joinCluster( startElection ); + clusterManager.waitToJoin(); + log.info("Joined to cluster"); + + // Set this node's broker connection configuration (Used if it becomes the Aggregator) + String brokerConnConfig = getBrokerConfigurationAsString(); + clusterManager.getLocalMember().properties().setProperty("aggregator-connection-configuration", brokerConnConfig); + + // Update forwards to Aggregator (if any) + List aggregators = clusterManager.getBrokerUtil().getBrokers(); + if (aggregators.size()==1) { + String newConfig = aggregators.get(0).properties().getProperty("aggregator-connection-configuration", ""); + if (StringUtils.isNotBlank(newConfig)) { + setBrokerConfigurationFromString(newConfig); + } else { + log.error("CLUSTERING ERROR: Aggregator broker connection config. is not available: {}", aggregators.get(0)); + } + } else if (aggregators.isEmpty()) { + log.info("No Aggregators found. Waiting for Baguette Server command"); + } else { + log.error("CLUSTERING ERROR: Many Aggregators found! {}", aggregators); + } + + // Update node status based on current grouping + if (activeGrouping==null) + clusterManager.getBrokerUtil().setLocalStatus(BrokerUtil.NODE_STATUS.NOT_SET); + else if (activeGrouping.getName().equals(aggregatorGrouping)) + clusterManager.getBrokerUtil().setLocalStatus(BrokerUtil.NODE_STATUS.AGGREGATOR); + else + clusterManager.getBrokerUtil().setLocalStatus(BrokerUtil.NODE_STATUS.CANDIDATE); + + } else if ("CLUSTER-TEST".equals(cmd)) { + + if (args.length<2 || "START".equalsIgnoreCase(args[1])) { + if (clusterManager==null) { + log.error("Cluster has not been initialized. Run CLUSTER-JOIN first"); + return false; + } + long interval = Math.max(100L, (args.length>=3) + ? Long.parseLong(args[2]) + : clusterManagerProperties.getTestInterval()); + clusterTest = new ClusterTest(clusterManager); + clusterTest.startTest(interval); + } else if ("STOP".equalsIgnoreCase(args[1])) { + if (clusterTest==null) { + log.error("Cluster test is not running"); + return false; + } + clusterTest.stopTest(); + clusterTest = null; + } else { + log.error("Unknown command option: {} {}", cmd, args[1]); + } + + } else if ("CLUSTER-LEAVE".equals(cmd)) { + if (clusterManager==null) { + log.error("Cluster has not been initialized. Run CLUSTER-JOIN first"); + return false; + } + if (! clusterManager.isRunning()) { + log.error("Cluster is not running. Join cluster first"); + return false; + } + + clusterManager.leaveCluster(); + + if (clusterTest!=null) { + clusterTest.stopTest(); + clusterTest = null; + } + log.info("Left cluster"); + + } else if ("CLUSTER-SHELL".equals(cmd)) { + if (clusterManager==null) { + log.error("Cluster has not been initialized. Run CLUSTER-JOIN first"); + return false; + } + ClusterCLI cli = clusterManager.getCli(); + cli.setIn(in); + cli.setOut(out); + cli.setErr(err); + cli.setPromptUpdate(true); + log.info("Cluster CLI starts"); + cli.run(); + log.info("Cluster CLI ended"); + } else if ("CLUSTER-EXEC".equals(cmd)) { + if (args.length < 2) { + log.error("No cluster command specified"); + return false; + } + if (clusterManager==null) { + log.error("Cluster has not been initialized. Run CLUSTER-JOIN first"); + return false; + } + ClusterCLI cli = clusterManager.getCli(); + cli.setIn(in); + cli.setOut(out); + cli.setErr(err); + String[] args1 = Arrays.stream(args, 1, args.length).toArray(String[]::new); + String cmd1 = String.join(" ", args1); + try { + log.info("Cluster executes command: {}", cmd1); + cli.executeCommand(cmd1, args1); + } catch (Exception ex) { + log.error("Cluster: Exception caught while executing command: {}\nException ", cmd1, ex); + } + + } else if ("GET-LOCAL-NODE-CERTIFICATE".equals(cmd)) { + String localAddress = ClusterManager.getLocalHostAddress(); + String localHostname = ClusterManager.getLocalHostName(); + String nlChar = (args.length > 1) ? args[1].trim() : null; + try { + log.info("Retrieving this node certificate from keystore:"); + String cert = brokerCepService.getBrokerCertificate(); + if (cert!=null && StringUtils.isNotBlank(nlChar)) + cert = cert.replace("\r\n", nlChar).replace("\n", nlChar); + log.info("{} {} {}", localAddress, localHostname, cert); + out.println(localAddress+" "+localHostname+" "+cert); + } catch (Exception e) { + log.error("Exception while retrieving local node certificate: ", e); + } + + } else if ("ADD-TRUSTED-NODE".equals(cmd)) { + if (args.length < 4) return false; + String nodeAlias = args[1]; + String nlChar = args[2]; + String nodeCert = String.join(" ", + Arrays.asList(args).subList(3, args.length)).replace(nlChar, "\n"); + try { + log.info("Adding/Updating trusted node certificate in truststore: {}\nCertificate: {}", nodeAlias, nodeCert); + brokerCepService.addOrReplaceCertificateInTruststore(nodeAlias, nodeCert); + log.info("Truststore updated: {}", nodeAlias); + } catch (Exception e) { + log.error("Exception while updating truststore: ", e); + } + + } else if ("DEL-TRUSTED-NODE".equals(cmd)) { + if (args.length < 2) return false; + String nodeAlias = args[1]; + try { + log.info("Deleting trusted node certificate from truststore: {}", nodeAlias); + brokerCepService.deleteCertificateFromTruststore(nodeAlias); + log.info("Truststore updated: {}", nodeAlias); + } catch (Exception e) { + log.error("Exception while updating truststore: ", e); + } + + } else if ("COLLECTOR".equals(cmd)) { + if (args.length < 2) { + log.warn("Too few arguments"); + out.println("Too few arguments"); + return false; + } + String operation = args[1]; + String target = args.length==3 ? args[2] : null; + boolean all = ("*".equalsIgnoreCase(target) || "ALL".equalsIgnoreCase(target)); + if ("LIST".equalsIgnoreCase(operation)) { + String list = baguetteClient.getCollectorsList().stream() + .map(c->" - "+c.getClass().getName()) + .collect(Collectors.joining("\n")); + log.info("BaguetteClient: Listing Collectors:\n{}", list); + out.printf("Listing Collectors:\n%s\n", list); + } else + if ("START".equalsIgnoreCase(operation)) { + if (target==null) { + log.warn("Too few arguments"); + out.println("Too few arguments"); + return false; + } + log.info("BaguetteClient: Starting Collector: {}...", target); + baguetteClient.getCollectorsList().stream() + .filter(c -> all || c.getClass().getName().equals(target)) + .peek(c -> log.debug(" - Starting collector: {}...", c.getClass().getName())) + .forEach(Collector::start); + log.info("BaguetteClient: Starting Collector: {}... done", target); + } else + if ("STOP".equalsIgnoreCase(operation)) { + if (target==null) { + log.warn("Too few arguments"); + out.println("Too few arguments"); + return false; + } + log.info("BaguetteClient: Stopping Collector: {}...", target); + baguetteClient.getCollectorsList().stream() + .filter(c -> all || c.getClass().getName().equals(target)) + .peek(c -> log.debug(" - Stopping collector: {}...", c.getClass().getName())) + .forEach(Collector::stop); + log.info("BaguetteClient: Stopping Collector: {}... done", target); + } else + log.error("BaguetteClient: Unknown Collector operation: {}", operation); + + } else if ("SHOW-CONFIG".equals(cmd)) { + log.info("BaguetteClient: configuration:\n{}", config); + log.info("Cluster: configuration:\n{}", clusterManagerProperties); + } else if ("GET-STATS".equals(cmd)) { + getStatistics(args[1]); + } else if ("SEND-STATS".equals(cmd)) { + if (args.length < 2) { + log.warn("Too few arguments"); + out.println("Too few arguments"); + return false; + } + String operation = args[1]; + + if ("START".equalsIgnoreCase(operation)) + sendStatisticsStart(); + else if ("STOP".equalsIgnoreCase(operation)) + sendStatisticsStop(); + else if ("CLEAR".equalsIgnoreCase(operation)) + clearStatistics(); + else { + log.error("BaguetteClient: Unknown STATS operation: {}", operation); + } + + } else if ("CLEAR-STATS".equals(cmd)) { + clearStatistics(); + } else if ("SEND-CLIENT-PROPERTY".equals(cmd)) { + if (args.length < 2) { + log.warn("Too few arguments"); + out.println("Too few arguments"); + return false; + } + String propName = args[1]; + String propValue = args.length==3 ? args[2] : null; + sendClientProperty(propName, propValue); + } else { + args[0] = cmd; + String line = String.join(" ", args); + if (StringUtils.isNotBlank(line)) + log.warn("UNKNOWN COMMAND: {}", line); + } + return false; + } + + private void setClusterKeystore(String ksFile, String ksType, String ksPassword, String ksBase64) { + String ksDir = clusterManagerProperties.getTls().getKeystoreDir(); + if (StringUtils.isBlank(ksDir)) ksDir = DEFAULT_KEYSTORE_DIR; + if (!ksDir.endsWith("/")) ksDir += "/"; + this.clusterKeystoreInitialized = true; + this.clusterKeystoreFile = ksDir + ksFile; + this.clusterKeystoreType = ksType; + this.clusterKeystorePassword = ksPassword; + String clusterKeystoreBase64 = ksBase64; + log.info("Cluster Keystore: file: {}", clusterKeystoreFile); + log.info(" type: {}", clusterKeystoreType); + log.info(" password: {}", passwordUtil.encodePassword(clusterKeystorePassword)); + log.debug(" Base64 content: {}", passwordUtil.encodePassword(clusterKeystoreBase64)); + try { + KeystoreUtil + .getKeystore(clusterKeystoreFile, clusterKeystoreType, clusterKeystorePassword) + .passwordUtil(passwordUtil) + .createIfNotExist() + .writeBase64ToFile(clusterKeystoreBase64); + } catch (Exception e) { + log.error("Exception while creating cluster keystore", e); + } + } + + /*protected Properties _base64ToProperties(String paramsStr) { + paramsStr = new String(Base64.getDecoder().decode(paramsStr), StandardCharsets.UTF_8); + //log.trace("params-str: {}", paramsStr); + Properties params = new Properties(); + try { + params.load(new StringReader(paramsStr)); + return params; + } catch (IOException e) { + log.error("Could not deserialize parameters: ", e); + } + return null; + }*/ + + protected synchronized void setClientConfiguration(String configStr) { + try { + log.debug("Received serialization of client configuration: {}", configStr); + ClientConfiguration config = (ClientConfiguration) SerializationUtil.deserializeFromString(configStr); + ClientConfiguration oldConfig = clientConfiguration; + if (oldConfig!=null) { + log.debug("Old client config.: {}", oldConfig); + } + synchronized (groupings) { + clientConfiguration = config; + } + log.info("New client config.: {}", config); + HashMap payload = new HashMap<>(); + payload.put("new", clientConfiguration); + payload.put("old", oldConfig); + eventBus.send(EventConstant.EVENT_CLIENT_CONFIG_UPDATED, payload, this); + + } catch (Exception ex) { + log.error("Exception while deserializing received Client configuration: ", ex); + } + } + + protected synchronized void setGroupingConfiguration(String configStr) { + try { + log.debug("Received serialization of Grouping configuration: {}", configStr); + GroupingConfiguration grouping = (GroupingConfiguration) SerializationUtil.deserializeFromString(configStr); + GroupingConfiguration oldGrouping = groupings.get(grouping.getName()); + if (oldGrouping!=null) { + log.debug("Old grouping config.: {}", oldGrouping); + } + synchronized (groupings) { + groupings.put(grouping.getName(), grouping); + } + log.debug("New grouping config.: {}", grouping); + + } catch (Exception ex) { + log.error("Exception while deserializing received Grouping configuration: ", ex); + } + } + + protected synchronized void setConstants(String configStr) { + try { + log.debug("Received serialization of Constants: {}", configStr); + Map all = StrUtil.castToMapStringObject( + SerializationUtil.deserializeFromString(configStr)); + Map constants = StrUtil.castToMapStringObject(all.get("constants")) + .entrySet().stream().collect(Collectors.toMap( + Map.Entry::getKey, y -> (Double) y.getValue() + )); + log.debug("Received Constants: {}", constants); + + if (activeGrouping != null) { + log.info("SETTING CONSTANTS: {}", constants); + activeGrouping.setConstants(constants); + brokerCepService.setConstants(constants); + log.debug("New constants set: {}", constants); + } else { + log.warn("No active grouping. Constants will be ignored"); + } + + } catch (Exception ex) { + log.error("Exception while deserializing received Constants: ", ex); + } + } + + protected synchronized void clearGroupings() { + // Clear state of all groupings + log.info("Old active grouping: {}", activeGrouping!=null ? activeGrouping.getName(): null); + log.info("Clearing all groupings..."); + activeGrouping = null; + brokerCepService.clearState(); + groupingsSubscribers.clear(); + log.info("Clearing all groupings completed"); + } + + protected synchronized void setActiveGrouping(String newGroupingName) { + // Checking if new grouping is valid + GroupingConfiguration newGrouping = groupings.get(newGroupingName); + if (newGrouping == null) { + log.error("setActiveGrouping: Grouping specified does not exist: {}", newGroupingName); + return; + } + if ("GLOBAL".equalsIgnoreCase(newGroupingName)) { + throw new IllegalArgumentException("BUG: GLOBAL grouping configuration must have never been set"); + } + + // Figure out if we need to add or remove groupings + boolean addGroupings = true; + String activeGroupingName = "()"; + if (activeGrouping != null) { + activeGroupingName = activeGrouping.getName(); + int diff = GROUPING.valueOf(activeGroupingName).compareTo(GROUPING.valueOf(newGroupingName)); + log.trace("setActiveGrouping: Grouping difference: {}", diff); + if (diff == 0) { + log.info("No need to switch grouping. Active grouping is: {}", newGroupingName); + return; + } + addGroupings = diff > 0; + } + + // Add or Remove groupings between active and new grouping + if (addGroupings) { + log.info("Need to add groupings from {} to {}", activeGroupingName, newGroupingName); + addGroupingsTill(newGroupingName); + } else { + log.info("Need to remove groupings from {} to {}", activeGroupingName, newGroupingName); + removeGroupingsTill(newGroupingName); + } + + // Complete active grouping switch + activeGrouping = groupings.get(newGroupingName); + log.info("Active grouping switch completed: {} -> {}", activeGroupingName, newGroupingName); + String oldGroupingName = activeGroupingName; + activeGroupingName = newGroupingName; + + // Notify Baguette Server about grouping change + log.info("NOTIFY-GROUPING-CHANGE: {}", newGroupingName); + out.println("-NOTIFY-GROUPING-CHANGE: "+newGroupingName); + + // If Aggregator notify Baguette Server + if (clusterManager!=null && GROUPING.valueOf(aggregatorGrouping)==GROUPING.valueOf(newGroupingName)) { + log.info("Notifying Baguette Server i am the new aggregator"); + out.println("CLUSTER AGGREGATOR "+clientId); + } + + // Notify collectors for the active grouping change + final String finalActiveGroupingName = activeGroupingName; + baguetteClient.getCollectorsList() + .forEach(c -> c.activeGroupingChanged(oldGroupingName, finalActiveGroupingName)); + } + + protected synchronized void addGroupingsTill(String newGroupingName) { + // Get available grouping names (in reverse order, i.e. from PER_INSTANCE to PER_CLOUD) + List availableGroupings = GROUPING.getNames().stream() + .filter(groupings::containsKey).collect(Collectors.toList()); + Collections.reverse(availableGroupings); + log.info("addGroupingsTill: Available grouping configurations: {}", availableGroupings); + + // Get groupings between active and new grouping + int start = 0; + if (activeGrouping != null) { + start = availableGroupings.indexOf(activeGrouping.getName()) + 1; + log.trace("addGroupingsTill: active-grouping-index + 1: {}", start); + } + int end = availableGroupings.indexOf(newGroupingName)+1; + log.trace("addGroupingsTill: new-grouping-index + 1: {}", end); + log.trace("addGroupingsTill: grouping-range: [{}..{})", start, end); + List groupingsToAdd = availableGroupings.subList(start, end); + log.debug("addGroupingsTill: groupings-to-add: {}",groupingsToAdd); + + // Collect and merge settings of groupings between active and new + Set eventTypes = new LinkedHashSet<>(); + Map constants = new HashMap<>(); + Set functionDefinitions = new LinkedHashSet<>(); + Map>> rules = new LinkedHashMap<>(); + for (String groupingName : groupingsToAdd) { + log.debug("addGroupingsTill: Merging settings of grouping: {}", groupingName); + GroupingConfiguration grouping = groupings.get(groupingName); + + // Add event types + Set et = grouping.getEventTypeNames(); + eventTypes.addAll(et); + log.trace("addGroupingsTill: + Grouping event types: {}", et); + // Add constants + Map con = grouping.getConstants(); + constants.putAll(con); + log.trace("addGroupingsTill: + Grouping constants: {}", con); + // Add function definitions + Set fd = grouping.getFunctionDefinitions(); + functionDefinitions.addAll(fd); + log.trace("addGroupingsTill: + Grouping func. defs: {}", fd); + // List cep rules + Map> rl = grouping.getRules(); + rules.put(groupingName, rl); + log.trace("addGroupingsTill: + Grouping rule map: {}", rl); + } + log.debug("addGroupingsTill: = Collected event types: {}", eventTypes); + log.debug("addGroupingsTill: = Collected constants: {}", constants); + log.debug("addGroupingsTill: = Collected func. defs: {}", functionDefinitions); + log.debug("addGroupingsTill: = Collected rule maps: {}", rules); + + // Apply merged settings + brokerCepService.addEventTypes(eventTypes, EventMap.getPropertyNames(), EventMap.getPropertyClasses()); + brokerCepService.setConstants(constants); + brokerCepService.addFunctionDefinitions(functionDefinitions); + + // Apply rules-per-topic of new grouping + rules.forEach((groupingName, grpRules) -> { + log.debug("addGroupingsTill: Processing rule map: {}", grpRules); + if (grpRules != null) { + for (Map.Entry> topicRules : grpRules.entrySet()) { + String topic = topicRules.getKey(); + log.info("addGroupingsTill: Processing settings of topic: {}", topic); + for (String rule : topicRules.getValue()) { + // Add EPL statement subscriber + String subscriberName = "Subscriber_" + subscriberCount.getAndIncrement(); + log.info("addGroupingsTill: + Adding subscriber for EPL statement: subscriber-name={}, topic={}, rule={}", subscriberName, topic, rule); + BrokerCepStatementSubscriber statementSubscriber = + new BrokerCepStatementSubscriber(subscriberName, topic, rule, brokerCepService, passwordUtil, Collections.emptySet()); + brokerCepService.getCepService().addStatementSubscriber( + statementSubscriber + ); + groupingsSubscribers.computeIfAbsent(groupingName, s -> new LinkedList<>()).add(statementSubscriber); + } + log.trace("addGroupingsTill: Added to groupingsSubscribers: {}", groupingsSubscribers); + } + } + }); + log.trace("addGroupingsTill: Final groupingsSubscribers: {}", groupingsSubscribers); + + // Clear forward-to-groupings settings of (old) active grouping + clearActiveGroupingForwards(); + + // Set forward-to-topic settings of new grouping (active to-be) + setGroupingForwards(newGroupingName); + + // Update truststore certificates from grouping settings + updateCertificates(groupings.get(newGroupingName)); + } + + protected synchronized void removeGroupingsTill(String newGroupingName) { + // Get available grouping names (in normal order, i.e. from PER_CLOUD to PER_INSTANCE) + List availableGroupings = GROUPING.getNames().stream() + .filter(groupings::containsKey).collect(Collectors.toList()); + log.info("removeGroupingsTill: Available grouping configurations: {}", availableGroupings); + + // Get groupings between active and new grouping + int start = availableGroupings.indexOf(activeGrouping.getName()); + log.trace("removeGroupingsTill: active-grouping-index: {}", start); + + int end = availableGroupings.indexOf(newGroupingName); + log.trace("removeGroupingsTill: new-grouping-index: {}", end); + log.trace("removeGroupingsTill: grouping-range: [{}..{})", start, end); + List groupingsToRemove = availableGroupings.subList(start, end); + log.debug("removeGroupingsTill: groupings-to-remove: {}",groupingsToRemove); + + // Remove subscribers and topics of groupings higher than new grouping + LinkedHashSet eventTypes = new LinkedHashSet<>(); + final CepService cepService = brokerCepService.getCepService(); + for (String groupingName : groupingsToRemove) { + log.debug("removeGroupingsTill: Clearing settings of grouping: {}", groupingName); + GroupingConfiguration grouping = groupings.get(groupingName); + eventTypes.addAll(grouping.getEventTypeNames()); + groupingsSubscribers.get(groupingName).forEach(cepService::removeStatementSubscriber); + groupingsSubscribers.remove(groupingName); + } + eventTypes.forEach(s->brokerCepService.getBrokerCepBridge().removeConsumerOf(s)); + + // Clear forward-to-topic settings of (old) active grouping + clearActiveGroupingForwards(); + + // Set forward-to-topic settings of new grouping (active to-be) + setGroupingForwards(newGroupingName); + } + + private void clearActiveGroupingForwards() { + if (activeGrouping==null) { + log.debug("clearActiveGroupingForwards: No active grouping"); + return; + } + log.debug("clearActiveGroupingForwards: Clearing forward-to-grouping settings of active grouping: {}", activeGrouping.getName()); + log.trace("clearActiveGroupingForwards: Clearing groupingsSubscribers: BEFORE: {}", groupingsSubscribers); + List subscribers = groupingsSubscribers.get(activeGrouping.getName()); + log.trace("clearActiveGroupingForwards: Clearing subscribers of grouping: {}: {}", activeGrouping.getName(), subscribers); + if (subscribers!=null) { + for (BrokerCepStatementSubscriber subscriber : subscribers) { + log.debug("clearActiveGroupingForwards: - Clearing forward-to-grouping settings for: subscriber={}, topic={}, forwards={}", + subscriber.getName(), subscriber.getTopic(), subscriber.getForwardToGroupings()); + subscriber.setForwardToGroupings(Collections.emptySet()); + } + } + log.trace("clearActiveGroupingForwards: Clearing groupingsSubscribers: AFTER: {}", groupingsSubscribers); + } + + private void setGroupingForwards(String newGroupingName) { + GroupingConfiguration newGrouping = groupings.get(newGroupingName); + final Map> topicFwdUrls = new HashMap<>(); + for (Map.Entry> topicRules : newGrouping.getRules().entrySet()) { + String topic = topicRules.getKey(); + log.info("setGroupingForwards: Processing settings of topic: {}", topic); + + // Build forward-to-groupings set for current topic + Set forwardToGroupings = new HashSet<>(); + Set connections = newGrouping.getConnections().get(topic); + log.info("setGroupingForwards: + Adding connections for topic: {} --> {}", topic, connections); + if (connections != null) { + for (String fwdToGrouping : connections) { + BrokerConnectionConfig fwdBrokerConn = newGrouping.getBrokerConnections().get(fwdToGrouping); + forwardToGroupings.add(fwdBrokerConn); + } + } + log.info("setGroupingForwards: = forwardToGroupings of topic {}: {}", topic, forwardToGroupings); + topicFwdUrls.put(topic, forwardToGroupings); + } + log.trace("setGroupingForwards: Update groupingsSubscribers: BEFORE: {}", groupingsSubscribers); + groupingsSubscribers.get(newGroupingName).forEach(subscriber -> { + Set fwdUrls = topicFwdUrls.get(subscriber.getTopic()); + if (fwdUrls!=null) subscriber.setForwardToGroupings(fwdUrls); + }); + log.trace("setGroupingForwards: Update groupingsSubscribers: AFTER: {}", groupingsSubscribers); + } + + protected void updateCertificates(@NonNull GroupingConfiguration grouping) { + if (brokerCepService.getBrokerTruststore()==null) { + log.warn("Broker-CEP trust store has not been initialized. Probably SSL is disabled."); + log.debug("Broker URL: {}", brokerCepService.getBrokerCepProperties().getBrokerUrl()); + return; + } + + // Update truststore with per-grouping broker certificates + try { + log.debug("Truststore certificates before update: {}", + KeystoreUtil.getCertificateAliases(brokerCepService.getBrokerTruststore())); + for (String g : GROUPING.getNames()) { + BrokerConnectionConfig groupingBrokerCfg = grouping.getBrokerConnections().get(g); + if (groupingBrokerCfg != null) { + String brokerUrl = groupingBrokerCfg.getUrl().trim(); + String brokerCert = groupingBrokerCfg.getCertificate().trim(); + String host = null; + if (StringUtils.isNotBlank(brokerUrl)) + host = StringUtils.substringBetween(brokerUrl.trim(), "://", ":"); + log.debug("Grouping host: {}", host); + if (StringUtils.isNotEmpty(brokerCert)) { + //log.debug("Updating broker certificate to truststore for Grouping: {}", g); + //brokerCepService.addOrReplaceCertificateInTruststore(g, brokerCert); + log.debug("Updating broker certificate to truststore for Grouping Host: {}", host); + brokerCepService.addOrReplaceCertificateInTruststore(host, brokerCert); + } else { + log.warn("No broker PEM certificate provided for Grouping: {}", g); + } + } else { + log.debug("Removing broker certificate from truststore for Grouping (no new certificate provided): {}", g); + brokerCepService.deleteCertificateFromTruststore(g); + } + } + log.debug("Truststore certificates after update: {}", + KeystoreUtil.getCertificateAliases(brokerCepService.getBrokerTruststore())); + } catch (Exception ex) { + log.error("EXCEPTION while updating Trust store: ", ex); + } + } + + public void sendLocalEvent(String destination, double metricValue) { + if (activeGrouping != null) { + String brokerUrl = brokerCepService.getBrokerCepProperties().getBrokerUrlForConsumer(); + log.debug("sendLocalEvent(): local-broker-url={}", brokerUrl); + sendEvent(brokerUrl, destination, metricValue); + } else { + log.warn("sendLocalEvent(): No active grouping"); + } + } + + public void sendEvent(String connectionStr, String destination, double metricValue) { + Map event = new HashMap<>(); + event.put("metricValue", metricValue); + event.put("level", 1); + event.put("timestamp", System.currentTimeMillis()); + sendEvent(connectionStr, destination, event); + } + + public CollectorContext.PUBLISH_RESULT sendEvent(String connectionStr, String destination, Map event, boolean createDestination) { + if (log.isTraceEnabled()) + log.trace("sendEvent(): connection-string={}, destination={}, create-destination={}, destination-exists={}, event={}", + connectionStr, destination, createDestination, brokerCepService.destinationExists(destination), event); + CollectorContext.PUBLISH_RESULT result; + if (createDestination || brokerCepService.destinationExists(destination)) { + result = sendEvent(connectionStr, destination, event); + log.trace("sendEvent(): Event sent: destination={}, result={}, event={}", destination, result, event); + return result; + } + result = CollectorContext.PUBLISH_RESULT.SKIPPED; + log.trace("sendEvent(): Event skipped: destination={}, result={}, event={}", destination, result, event); + return result; + } + + public CollectorContext.PUBLISH_RESULT sendEvent(String connectionStr, String destination, Map event) { + try { + log.debug("sendEvent(): Sending event: connection={}, destination={}, event={}", connectionStr, destination, event); + brokerCepService.publishEvent(connectionStr, destination, event); + log.debug("sendEvent(): Event sent: connection={}, destination={}, event={}", connectionStr, destination, event); + return CollectorContext.PUBLISH_RESULT.SENT; + } catch (Exception ex) { + log.error("sendEvent(): Error while sending event: connection={}, destination={}, event={}, exception: ", connectionStr, destination, event, ex); + return CollectorContext.PUBLISH_RESULT.ERROR; + } + } + + protected synchronized String loadCachedClientId() { + // Get the 'cached client id' file name + if (idFile == null) + idFile = DEFAULT_ID_FILE; + + // Check if the cached client id file exists + File file = Paths.get(idFile).toFile(); + if (! file.exists()) { log.warn("loadCachedClientId: Cached client id file not exists: {}", idFile); return null; } + if (! file.isFile()) { log.warn("loadCachedClientId: Cached client id file is not a regular file: {}", idFile); return null; } + + // Load contents of existing 'client id' file + try (InputStream in = new FileInputStream(idFile)) { + + Properties p = new Properties(); + p.load(in); + + // Get cached client id (if any) + String id = p.getProperty("client.id", null); + if (StringUtils.isNotBlank(id)) { + id = id.trim(); + log.info("loadCachedClientId: Used cached Client Id: {}", clientId); + return id; + } else { + log.warn("loadCachedClientId: No cached Client id found in file: {}", idFile); + } + } catch (Exception e) { + log.warn("loadCachedClientId: EXCEPTION while loading cached Client id from file: {}\n", idFile, e); + } + return null; + } + + protected synchronized void saveClientId(String id) { + // Check new id value + if (StringUtils.isBlank(id)) { + log.error("SET-ID: ERROR: Empty id: {}", id); + err.println("ERROR Empty id: " + id); + return; + } + clientId = id.trim(); + + // Load contents of existing 'id file' (if any) + if (StringUtils.isBlank(idFile)) + idFile = DEFAULT_ID_FILE; + Properties p = new Properties(); + // Check if the cached client id file exists + File file = Paths.get(idFile).toFile(); + if (file.exists() && file.isFile()) { + try (InputStream in = new FileInputStream(idFile)) { + p.load(in); + } catch (Exception e) { + log.warn("saveClientId: EXCEPTION while reading cached Client id from file: {}\n", idFile, e); + } + } else { + log.warn("saveClientId: Cached client id file not exists or is not a regular file: {}", idFile); + } + + // Update 'id' in file contents in-memory + p.setProperty("client.id", id); + + // Store new contents into 'id file' + try (OutputStream os = new FileOutputStream(idFile)) { + p.store(os, null); + log.info("ID SET to: {}", id); + if (out!=null) out.println("ID SET"); + } catch (Exception ex) { + log.error("SET-ID: EXCEPTION: ", ex); + err.println("ERROR While storing id to file: " + ex); + } + } + + private BrokerConnectionConfig getBrokerConfiguration() { + BrokerConnectionConfig config = new BrokerConnectionConfig( + activeGrouping!=null ? activeGrouping.getName() : null, + brokerCepService.getBrokerCepProperties().getBrokerUrlForClients(), + brokerCepService.getBrokerCertificate(), + brokerCepService.getBrokerUsername(), + brokerCepService.getBrokerPassword() + ); + log.debug("getBrokerConfiguration: {}", config); + return config; + } + + @SneakyThrows + private String getBrokerConfigurationAsString() { + ObjectMapper mapper = new ObjectMapper(); + try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) { + mapper.writer().writeValue(baos, getBrokerConfiguration()); + String configStr = Base64.getEncoder().encodeToString(baos.toByteArray()); + log.debug("getBrokerConfigurationAsString: {}", configStr); + return configStr; + } + } + + @SneakyThrows + private BrokerConnectionConfig getBrokerConfigurationFromString(String configStr) { + log.debug("getBrokerConfigurationFromString: INPUT: {}", configStr); + ObjectMapper mapper = new ObjectMapper(); + BrokerConnectionConfig config = mapper + .readValue(Base64.getDecoder().decode(configStr), BrokerConnectionConfig.class); + log.debug("getBrokerConfigurationFromString: OUTPUT: {}", config); + return config; + } + + private void setBrokerConfigurationFromString(String brokerConfigStr) { + BrokerConnectionConfig brokerConfig = getBrokerConfigurationFromString(brokerConfigStr); + setBrokerConfiguration(brokerConfig); + } + + private void setBrokerConfiguration(BrokerConnectionConfig brokerConfig) { + log.debug("setBrokerConfiguration(): PASSED (NEW) CONFIG:\n{}", brokerConfig); + log.debug("setBrokerConfiguration(): ACTIVE GROUPING: {}", activeGrouping.getName()); + log.debug("setBrokerConfiguration(): OLD BROKER CONNECTIONS:\n{}", activeGrouping.getBrokerConnections()); + + // Update broker connection configuration for aggregator grouping + BrokerConnectionConfig oldConn = activeGrouping.getBrokerConnections().get(aggregatorGrouping); + activeGrouping.getBrokerConnections().put(aggregatorGrouping, brokerConfig); + log.debug("setBrokerConfiguration(): NEW BROKER CONNECTIONS:\n{}", activeGrouping.getBrokerConnections()); + + // Update forward settings of active grouping + // Clear forward-to-groupings settings of active grouping + clearActiveGroupingForwards(); + // Set forward-to-topic settings of active grouping + setGroupingForwards(activeGrouping.getName()); + // Update truststore certificates from active grouping settings + updateCertificates(activeGrouping); + } + + private void nodeStatusChanged(BrokerUtil.NODE_STATUS oldStatus, BrokerUtil.NODE_STATUS newStatus) { + log.info("NOTIFY-STATUS-CHANGE: {}", newStatus.toString()); + out.println("-NOTIFY-STATUS-CHANGE: "+newStatus); + } + + private void sendClientProperty(String propertyName, String propertyValue) { + log.info("CLIENT-PROPERTY-CHANGE: {} = {}", propertyName, propertyValue); + out.printf("-CLIENT-PROPERTY-CHANGE: %s %s%n", propertyName, propertyValue); + } + + @SneakyThrows + private void getStatistics(String inputUuid) { + Map statsMap = brokerCepService.getBrokerCepStatistics(); + log.debug("Statistics: {}", statsMap); + if (out!=null) out.println("-INPUT:"+inputUuid+":"+SerializationUtil.serializeToString(statsMap)); + } + + @SneakyThrows + private void sendStatisticsStart() { + statsSendTask = taskScheduler.scheduleWithFixedDelay(() -> { + try { + Map statsMap = brokerCepService.getBrokerCepStatistics(); + log.debug("BCEP Statistics: {}", statsMap); + Map sysMap = systemResourceMonitor.getLatestMeasurements(); + log.debug("System Statistics: {}", sysMap); + + Map clientStats = new HashMap<>(); + if (statsMap!=null) clientStats.putAll(statsMap); + if (sysMap!=null) clientStats.putAll(sysMap); + if (out != null) out.println("-STATS:" + SerializationUtil.serializeToString(clientStats)); + } catch (Exception ex) { + log.error("Exception while sending Statistics to server: ", ex); + } + }, Duration.ofMillis(baguetteClient.getBaguetteClientProperties().getSendStatisticsDelay())); + log.info("Start sending STATS to server"); + } + + @SneakyThrows + private void sendStatisticsStop() { + statsSendTask.cancel(true); + log.info("Stop sending STATS to server"); + } + + private void clearStatistics() { + brokerCepService.clearBrokerCepStatistics(); + log.info("Statistics cleared"); + if (out!=null) out.println("STATISTICS CLEARED"); + } + + public boolean isAggregator() { + return activeGrouping!=null && aggregatorGrouping!=null && aggregatorGrouping.equals(activeGrouping.getName()); + } + + public boolean isNode() { + return ! isAggregator(); + } + + public void notifyEmsServer(String message) { + log.info("NOTIFY-X: {}", message); + out.println("-NOTIFY-X: "+message); + } + + /*private static class StreamGobbler implements Runnable { + private InputStream inputStream1; + private InputStream inputStream2; + private Consumer consumer; + + public StreamGobbler(InputStream inputStream1, InputStream inputStream2, Consumer consumer) { + this.inputStream1 = inputStream1; + this.inputStream2 = inputStream2; + this.consumer = consumer; + } + + @Override + public void run() { + new BufferedReader(new InputStreamReader(inputStream1)).lines().forEach(consumer); + new BufferedReader(new InputStreamReader(inputStream2)).lines().forEach(consumer); + } + }*/ + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + protected static class ConfigurationContents { + private long timestamp; + private String clientId; + private String activeGrouping; + private Map groupings; + } + + @Data + protected static class ClusterNodeCallback implements BrokerUtil.NodeCallback { + @NonNull private final CommandExecutor commandExecutor; + + private void printInfo(String methodName, String message) { + if (message!=null ) log.debug("{}(): {}", methodName, message); + log.trace("{}(): Node properties: {}", methodName, commandExecutor.getClusterManager().getLocalMemberProperties()); + log.trace("{}(): Back-off flag: {}", methodName, commandExecutor.getClusterManager().getBrokerUtil().isBackOffSet()); + } + + @Override + public void joinedCluster() { + String nodeId = commandExecutor.getClusterManager().getLocalMember().id().id(); + log.info("joinedCluster(): Node joined cluster: {}", nodeId); + commandExecutor.sendClientProperty("node-id", nodeId); + } + + @Override + public void leftCluster() { + log.info("joinedCluster(): Node left cluster"); + commandExecutor.sendClientProperty("node-id", ""); + } + + @Override + public void initialize() { + printInfo("initialize", "INITIALIZE"); + + log.info("initialize(): Node starts initializing as Aggregator..."); + commandExecutor.setActiveGrouping(commandExecutor.getAggregatorGrouping()); + log.info("initialize(): Node initialized as Aggregator"); + } + + @Override + public void stepDown() { + printInfo("stepDown", "STEP DOWN"); + + log.info("stepDown(): Node is Aggregator. Start stepping down..."); + commandExecutor.setActiveGrouping(commandExecutor.getNodeGrouping()); + log.info("stepDown(): Node stepped down"); + } + + @Override + public void statusChanged(BrokerUtil.NODE_STATUS oldStatus, BrokerUtil.NODE_STATUS newStatus) { + log.debug("statusChanged(): Status changed: {} --> {}", oldStatus, newStatus); + commandExecutor.nodeStatusChanged(oldStatus, newStatus); + } + + @Override + public void clusterChanged(ClusterMembershipEvent event) { + log.debug("clusterChanged(): Cluster changed: {} --> {}", event.type(), event.subject().id().id()); + if (commandExecutor.getClusterManager().getBrokerUtil().getLocalStatus()== BrokerUtil.NODE_STATUS.AGGREGATOR) { + if (event.type() == ClusterMembershipEvent.Type.MEMBER_ADDED) { + log.debug("clusterChanged(): Broadcast MEMBER_ADDED in event bus: {}", event.subject().id().id()); + commandExecutor.getEventBus().send(EVENT_CLUSTER_NODE_ADDED, event); + } else + if (event.type() == ClusterMembershipEvent.Type.MEMBER_REMOVED) { + log.debug("clusterChanged(): Broadcast MEMBER_REMOVED in event bus: {}", event.subject().id().id()); + commandExecutor.getEventBus().send(EVENT_CLUSTER_NODE_REMOVED, event); + } + } + } + + @Override + public String getConfiguration(Member local) { + printInfo("getConfiguration", null); + + String brokerConfig = commandExecutor.getBrokerConfigurationAsString(); + log.trace("getConfiguration(): Config. string: {}", brokerConfig); + return brokerConfig; + } + + @Override + public void setConfiguration(String newConfig) { + printInfo("setConfiguration", "SET CONFIG: "+newConfig); + + // Update broker connection configuration for aggregator grouping + commandExecutor.setBrokerConfigurationFromString(newConfig); + } + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/Sshc.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/Sshc.java new file mode 100644 index 0000000..53bbc02 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/Sshc.java @@ -0,0 +1,284 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client; + +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringEscapeUtils; +import org.apache.sshd.client.SshClient; +import org.apache.sshd.client.channel.ClientChannel; +import org.apache.sshd.client.config.hosts.HostConfigEntryResolver; +import org.apache.sshd.client.keyverifier.ServerKeyVerifier; +import org.apache.sshd.client.session.ClientSession; +import org.apache.sshd.client.simple.SimpleClient; +import org.apache.sshd.common.PropertyResolverUtils; +import org.apache.sshd.common.config.keys.KeyUtils; +import org.apache.sshd.core.CoreModuleProperties; +import org.apache.sshd.mina.MinaServiceFactoryFactory; +import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo; +import org.bouncycastle.openssl.PEMParser; +import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter; +import org.bouncycastle.util.io.pem.PemObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.*; +import java.security.PublicKey; +import java.util.Optional; + + +/** + * Custom SSH client + */ +@Slf4j +@Service +public class Sshc implements gr.iccs.imu.ems.common.client.SshClient { + private BaguetteClientProperties config; + private SshClient client; + private SimpleClient simple; + private ClientSession session; + private ClientChannel channel; + private boolean started = false; + @Autowired + private CommandExecutor commandExecutor; + @Autowired + private BrokerCepService brokerCepService; + + @Getter + private InputStream in; + @Getter + private PrintStream out; + @Getter + private PrintStream err; + @Getter + private String clientId; + + @Getter @Setter + private boolean useServerKeyVerifier = true; + + @Override + public void setConfiguration(BaguetteClientProperties config) { + log.trace("Sshc: New config: {}", config); + this.config = config; + this.clientId = config.getClientId(); + log.trace("Sshc: cmd-exec: {}", commandExecutor); + if (this.commandExecutor!=null) this.commandExecutor.setConfiguration(config); + } + + public synchronized void start(boolean retry) throws IOException { + if (retry) { + log.trace("Starting client in retry mode"); + long retryPeriod = config.getRetryPeriod(); + while (!started) { + log.debug("(Re-)trying to start client...."); + try { + start(); + } catch (Exception ex) { + log.warn("{}", ex.getMessage()); + } + if (started) break; + log.trace("Failed to start. Sleeping for {}ms...", retryPeriod); + try { + Thread.sleep(retryPeriod); + } catch (InterruptedException ex) { + log.debug("Sleep: ", ex); + } + } + } else { + start(); + } + if (started) log.trace("Client started"); + } + + @Override + public synchronized void start() throws IOException { + if (started) return; + log.info("Connecting to server..."); + + String host = config.getServerAddress(); + int port = config.getServerPort(); + String serverPubKey = StringEscapeUtils.unescapeJson(config.getServerPubkey()); + String serverPubkeyFingerprint = config.getServerPubkeyFingerprint(); + String serverPubKeyAlgorithm = config.getServerPubkeyAlgorithm(); + String serverPubKeyFormat = config.getServerPubkeyFormat(); + String username = config.getServerUsername(); + String password = config.getServerPassword(); + long connectTimeout = config.getConnectTimeout(); + long authTimeout = config.getAuthTimeout(); + long heartbeatInterval = config.getHeartbeatInterval(); + long heartbeatReplyWait = config.getHeartbeatReplyWait(); + + // Starting client and connecting to server + this.client = SshClient.setUpDefaultClient(); + client.setHostConfigEntryResolver(HostConfigEntryResolver.EMPTY); + + if (useServerKeyVerifier) { + // Get configured server public key + PublicKey pubKey = getPublicKeyFromString(serverPubKeyAlgorithm, serverPubKeyFormat, serverPubKey); + + // Provided server key verifiers + //client.setServerKeyVerifier(AcceptAllServerKeyVerifier.INSTANCE); + //client.setServerKeyVerifier(new RequiredServerKeyVerifier(pubKey)); + + // Custom server key verifier + client.setServerKeyVerifier( getCustomServerKeyVerifier(serverPubkeyFingerprint, pubKey) ); + } + + this.simple = SshClient.wrapAsSimpleClient(client); + //simple.setConnectTimeout(connectTimeout); + //simple.setAuthenticationTimeout(authTimeout); + + // Set a huge idle timeout, keep-alive to true and heartbeat to configured value + PropertyResolverUtils.updateProperty(client, CoreModuleProperties.HEARTBEAT_INTERVAL.getName(), heartbeatInterval); // Prevents server-side connection closing + PropertyResolverUtils.updateProperty(client, CoreModuleProperties.HEARTBEAT_REPLY_WAIT.getName(), heartbeatReplyWait); // Prevents client-side connection closing + PropertyResolverUtils.updateProperty(client, CoreModuleProperties.IDLE_TIMEOUT.getName(), Integer.MAX_VALUE); + PropertyResolverUtils.updateProperty(client, CoreModuleProperties.SOCKET_KEEPALIVE.getName(), true); // Socket keep-alive at OS-level + log.debug("Set IDLE_TIMEOUT to MAX, SOCKET-KEEP-ALIVE to true, and HEARTBEAT to {}", heartbeatInterval); + + // Explicitly set IO service factory factory to prevent conflict between MINA and Netty options + client.setIoServiceFactoryFactory(new MinaServiceFactoryFactory()); + + // Start SSH client + client.start(); + + // Authenticate and start session + this.session = client.connect(username, host, port) + .verify(connectTimeout) + .getSession(); + session.addPasswordIdentity(password); + session.auth() + .verify(authTimeout); + + // Open command shell channel + this.channel = session.createChannel(ClientChannel.CHANNEL_SHELL); + PipedInputStream pIn = new PipedInputStream(); + PipedOutputStream pOut = new PipedOutputStream(); + //PipedOutputStream pErr = new PipedOutputStream(); + this.in = new BufferedInputStream(pIn); + this.out = new PrintStream(pOut, true); + //this.err = new PrintStream(pErr, true); + + channel.setIn(new PipedInputStream(pOut)); + channel.setOut(new PipedOutputStream(pIn)); + //channel.setErr(new PipedOutputStream(pErr)); + + channel.open(); + + log.info("SSH client is ready"); + this.started = true; + } + + private static ServerKeyVerifier getCustomServerKeyVerifier(String serverPubkeyFingerprint, PublicKey pubKey) { + return (clientSession, remoteAddress, publicKey) -> { + // boolean verifyServerKey(ClientSession clientSession, SocketAddress socketAddress, PublicKey publicKey) + log.info("verifyServerKey(): remoteAddress: {}", remoteAddress.toString()); + + // Check server public key fingerprint matches with the one in configuration + if (StringUtils.isNoneBlank(serverPubkeyFingerprint)) { + String fingerprint = KeyUtils.getFingerPrint(publicKey); + log.debug("verifyServerKey(): publicKey: fingerprint: {}", fingerprint); + if (fingerprint != null && KeyUtils.checkFingerPrint(serverPubkeyFingerprint, publicKey).getKey() != null) + log.debug("verifyServerKey(): publicKey: fingerprint: MATCH"); + else + log.warn("verifyServerKey(): publicKey: fingerprint: NO MATCH"); + } + + // Check that server public key matches with the one in configuration + try { + // Compare session provided and configured public keys + log.debug("verifyServerKey(): configured server public key: {}", pubKey); + log.debug("verifyServerKey(): received server public key: {}", publicKey); + boolean match = KeyUtils.compareKeys(pubKey, publicKey); + log.debug("verifyServerKey(): Server keys match? {}", match); + return match; + } catch (Exception e) { + log.error("verifyServerKey(): publicKey: EXCEPTION: ", e); + return false; + } + }; + } + + private static PublicKey getPublicKeyFromString(String serverPubKeyAlgorithm, String serverPubKeyFormat, String serverPubKey) throws IOException { + log.debug("getPublicKeyFromString(): serverPubKeyAlgorithm: {}", serverPubKeyAlgorithm); + log.debug("getPublicKeyFromString(): serverPubKeyFormat: {}", serverPubKeyFormat); + log.debug("getPublicKeyFromString(): serverPubKey:\n{}", serverPubKey); + + // Retrieve configured public key - First implementation + PEMParser pemParser = new PEMParser(new StringReader(serverPubKey)); + PemObject pemObject = pemParser.readPemObject(); + JcaPEMKeyConverter converter = new JcaPEMKeyConverter(); + SubjectPublicKeyInfo publicKeyInfo = SubjectPublicKeyInfo.getInstance(pemObject.getContent()); + PublicKey pubKey = converter.getPublicKey(publicKeyInfo); + + // Retrieve configured public key - Alternative implementation + /*KeyFactory factory = KeyFactory.getInstance(serverPubKeyAlgorithm); + PublicKey pubKey; + try (StringReader keyReader = new StringReader(serverPubKey); + PemReader pemReader = new PemReader(keyReader)) + { + PemObject pemObject = pemReader.readPemObject(); + byte[] content = pemObject.getContent(); + X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(content); + //or PKCS8EncodedKeySpec pubKeySpec = new PKCS8EncodedKeySpec(content); + pubKey = factory.generatePublic(pubKeySpec); + }*/ + + log.debug("getPublicKeyFromString: Public key: {}", pubKey); + return pubKey; + } + + @Override + public synchronized void stop() throws IOException { + if (!started) return; + this.started = false; + log.info("Stopping SSH client..."); + + channel.close(false).await(); + session.close(false); + simple.close(); + client.stop(); + + log.info("SSH client stopped"); + } + + public synchronized void greeting() { + if (!started) return; + String certOneLine = Optional + .ofNullable(brokerCepService.getBrokerCertificate()) + .orElse("") + .replace(" ","~~") + .replace("\r\n","##") + .replace("\n","$$"); + String clientAddress = config.getDebugFakeIpAddress(); + int clientPort = -1; + out.printf("-HELLO FROM CLIENT: id=%s broker=%s address=%s port=%d username=%s password=%s cert=%s%n", + clientId.replace(" ", "~~"), + brokerCepService.getBrokerCepProperties().getBrokerUrlForClients(), + StringUtils.isNotBlank(clientAddress) ? clientAddress : "", + clientPort, + brokerCepService.getBrokerUsername(), + brokerCepService.getBrokerPassword(), + certOneLine); + out.flush(); + } + + public void run() throws IOException { + if (!started) return; + + // Start communication protocol with Server + // Execution waits here until connection is closed + log.trace("run(): Calling communicateWithServer()..."); + commandExecutor.communicateWithServer(in, out, out); + out.printf("-BYE FROM CLIENT: %s%n", clientId); + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/AbstractLogBase.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/AbstractLogBase.java new file mode 100644 index 0000000..5d09151 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/AbstractLogBase.java @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.cluster; + +import lombok.AccessLevel; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.helpers.MessageFormatter; + +import java.io.*; + +@Data +@Slf4j +public abstract class AbstractLogBase { + protected final static Object[] EMPTY_OBJECT_ARRAY = new Object[0]; + + @Getter(AccessLevel.NONE) + @Setter(AccessLevel.NONE) + private BufferedReader rIn = new BufferedReader(new InputStreamReader(System.in)); + private InputStream in = System.in; + private PrintStream out = System.out; + private PrintStream err = System.err; + private boolean logEnabled = true; + private boolean outEnabled = true; + + public void setIn(InputStream in) { this.in = in; this.rIn = new BufferedReader(new InputStreamReader(in)); } + + protected String readLine(String prompt) throws IOException { + out.print(prompt); + out.flush(); + return rIn.readLine(); + } + + protected void log_trace(String formatter, Object...args) { + if (log.isTraceEnabled()) { + if (logEnabled) log.trace(formatter, args); + if (outEnabled) out.println(MessageFormatter.arrayFormat(formatter, args).getMessage()); + } + } + + protected void log_debug(String formatter, Object...args) { + if (log.isDebugEnabled()) { + if (logEnabled) log.debug(formatter, args); + if (outEnabled) out.println(MessageFormatter.arrayFormat(formatter, args).getMessage()); + } + } + + protected void log_info(String formatter, Object...args) { + if (log.isInfoEnabled()) { + if (logEnabled) log.info(formatter, args); + if (outEnabled) out.println(MessageFormatter.arrayFormat(formatter, args).getMessage()); + } + } + + protected void log_warn(String formatter, Object...args) { + if (log.isWarnEnabled()) { + if (logEnabled) log.warn(formatter, args); + if (outEnabled) out.println(MessageFormatter.arrayFormat(formatter, args).getMessage()); + } + } + + protected void log_error(String formatter) { + if (log.isErrorEnabled()) { + if (logEnabled) log.error(formatter); + if (outEnabled) err.println(MessageFormatter.arrayFormat( + formatter, EMPTY_OBJECT_ARRAY, null).getMessage()); + } + } + + protected void log_error(String formatter, Object...args) { + if (log.isErrorEnabled()) { + if (logEnabled) log.error(formatter, args); + if (outEnabled) err.println(MessageFormatter.arrayFormat(formatter, args).getMessage()); + } + } + + protected void log_error(String formatter, Exception ex) { + if (log.isErrorEnabled()) { + if (logEnabled) log.error(formatter, ex); + if (outEnabled) { + err.print(MessageFormatter.arrayFormat( + formatter, EMPTY_OBJECT_ARRAY, ex).getMessage()); + ex.printStackTrace(err); + } + } + } + + protected void out_print(String formatter, Object...args) { stream_print(out, false, formatter, args); } + protected void out_println(String formatter, Object...args) { stream_print(out, true, formatter, args); } + protected void out_println() { stream_print(out, true, "", (Object)null); } + protected void err_print(String formatter, Object...args) { stream_print(err, false, formatter, args); } + protected void err_println(String formatter, Object...args) { stream_print(err, true, formatter, args); } + protected void err_println() { stream_print(err, true, "", (Object)null); } + + protected void stream_print(PrintStream stream, boolean nl, String formatter, Object...args) { + if (outEnabled) { + String message = MessageFormatter.arrayFormat(formatter, args).getMessage(); + if (nl) + stream.println(message); + else + stream.print(message); + stream.flush(); + } + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/BrokerUtil.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/BrokerUtil.java new file mode 100644 index 0000000..0904c19 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/BrokerUtil.java @@ -0,0 +1,437 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.cluster; + +import io.atomix.cluster.ClusterMembershipEvent; +import io.atomix.cluster.Member; +import io.atomix.core.Atomix; +import lombok.Getter; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import org.apache.commons.lang3.StringUtils; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Collectors; + +import static gr.iccs.imu.ems.baguette.client.cluster.BrokerUtil.NODE_STATUS.*; + +@RequiredArgsConstructor +public class BrokerUtil extends AbstractLogBase { + public enum NODE_STATUS { AGGREGATOR, CANDIDATE, NOT_CANDIDATE, INITIALIZING, STEPPING_DOWN, RETIRING, NOT_SET } + + protected final static Collection BROKER_STATUSES = Arrays.asList(AGGREGATOR, RETIRING); + protected final static Collection CANDIDATE_STATUSES = Arrays.asList(CANDIDATE, AGGREGATOR, INITIALIZING); + protected final static Collection NON_CANDIDATE_STATUSES = Arrays.asList(NOT_CANDIDATE, STEPPING_DOWN, RETIRING, NOT_SET); + + public final static String NODE_MESSAGE_TOPIC = "NODE-MESSAGE-TOPIC"; + public final static String STATUS_PROPERTY = "node-status"; + + protected final static String MESSAGE_ELECTION = "election"; + protected final static String MESSAGE_APPOINT = "appoint"; + protected final static String MESSAGE_INITIALIZE = "initialize"; + protected final static String MESSAGE_READY = "ready"; + private static final String MARKER_NEW_CONFIGURATION = "New config: "; + + private final Atomix atomix; + private final ClusterManager clusterManager; + private final AtomicBoolean backOff = new AtomicBoolean(); + + @Getter @Setter + private NodeCallback callback; + + public BrokerUtil(ClusterManager clusterManager, NodeCallback callback) { + this.clusterManager = clusterManager; + this.atomix = clusterManager.getAtomix(); + this.callback = callback; + } + + void processBrokerMessage(Object m) { + if (m == null) return; + String message = m.toString(); + log_info("BRU: **** Broker message received: {}", message); + + String messageType = message.split(" ", 2)[0]; + if (MESSAGE_ELECTION.equalsIgnoreCase(messageType)) { + // Get excluded nodes (if any) + List excludes = Arrays.stream(message.split(" ")) + .filter(StringUtils::isNotBlank) + .map(String::trim) + .filter(s -> s.startsWith("-")) + .map(s -> s.substring(1)) + .collect(Collectors.toList()); + // Start election + log_info("BRU: **** BROKER: Starting Broker election: "); + election(excludes); + } else if (MESSAGE_APPOINT.equalsIgnoreCase(messageType)) { + String newBrokerId = message.split(" ", 2)[1]; + appointment(newBrokerId); + } else if (MESSAGE_INITIALIZE.equalsIgnoreCase(messageType)) { + String newBrokerId = message.split(" ", 2)[1]; + log_info("BRU: **** BROKER: New Broker initializes: {}", newBrokerId); + // Back off if i am also initializing but have a lower score or command order + backOff(); + } else if (MESSAGE_READY.equalsIgnoreCase(messageType)) { + String[] part = message.split(" ", 3); + String brokerId = part[1]; + String newConfig = part[2]; + // Strip 'New config.' marker + if (newConfig.startsWith(MARKER_NEW_CONFIGURATION)) { + newConfig = newConfig.substring(MARKER_NEW_CONFIGURATION.length()).trim(); + } else { + log_error("BRU: !!!! BUG: New configuration not properly marked: {} !!!!", newConfig); + } + log_info("BRU: **** BROKER: New Broker is ready: {}, New config: {}", brokerId, newConfig); + + // If i am not the new Broker then reset broker status + Member local = getLocalMember(); + NODE_STATUS localStatus = getLocalStatus(); + log_debug("BRU: Nodes: local={}, broker={}", local.id().id(), brokerId); + if (BROKER_STATUSES.contains(localStatus)) + if (!local.id().id().equals(brokerId)) { + // Temporarily make node unavailable for being elected as Broker, until step down completes + setLocalStatus(STEPPING_DOWN); + + // Step down + log_info("BRU: Old broker steps down: {}", local.id().id()); + if (callback!=null) + callback.stepDown(); + + // After step down, and if node hasn't retired, node status changes to 'candidate' + if (RETIRING!=localStatus) + setLocalStatus(CANDIDATE); + else + setLocalStatus(NOT_CANDIDATE); + } + + // Pass new configuration to callback + log_info("BRU: Node configuration updated: {}", newConfig); + if (callback!=null) { + callback.setConfiguration(newConfig); + } + } else + log_warn("BRU: BROKER: Unknown message received: {}", message); + } + + private void aggregatorStepDown() { + // Save previous status + NODE_STATUS oldStatus = getLocalStatus(); + + // Temporarily make node unavailable for being elected as Aggregator, until step down completes + setLocalStatus(STEPPING_DOWN); + + switch (oldStatus) { + case CANDIDATE: + log_debug("BRU: Node is not Aggregator. Clearing back-off flag"); + backOff.set(false); break; + case INITIALIZING: + log_debug("BRU: Node is initializing. Back-off flag set"); + backOff.set(true); break; + case AGGREGATOR: + // Step down + log_info("BRU: Aggregator steps down: {}", getLocalMember().id().id()); + if (callback!=null) + callback.stepDown(); + backOff.set(false); + log_info("BRU: Old aggregator stepped down"); + break; + case STEPPING_DOWN: + log_debug("stepDown(): Node is already stepping down. Nothing to do"); + backOff.set(false); + break; + } + + // After step down, and if node hasn't retired, node status changes to 'candidate' + if (oldStatus!=RETIRING) + setLocalStatus(CANDIDATE); + else + setLocalStatus(NOT_CANDIDATE); + } + + public void backOff() { + NODE_STATUS state = getLocalStatus(); + if (state==INITIALIZING) { + log_debug("BRU: Set Back-off flag to step down after initialization"); + backOff.set(true); + } else + if (state==AGGREGATOR) { + log_debug("BRU: Stepping down because Back-off flag has been set"); + aggregatorStepDown(); + } + } + + public boolean isBackOffSet() { + return backOff.get(); + } + + public void startElection() { + log_info("BRU: Broker election requested: broadcasting election message..."); + atomix.getCommunicationService().broadcastIncludeSelf(NODE_MESSAGE_TOPIC, MESSAGE_ELECTION); + } + + public void election(List excludeNodes) { + // Find the new Brokering node + if (excludeNodes == null) excludeNodes = Collections.emptyList(); + final List excludes = excludeNodes; + Member broker = atomix.getMembershipService().getMembers().stream() + .filter(m -> m.isActive() && m.isReachable()) + .filter(m -> !excludes.contains(m.id().id())) + .filter(m -> CANDIDATE_STATUSES.contains(getNodeStatus(m))) + .map(m -> new MemberWithScore(m, clusterManager.getScoreFunction())) + .peek(ms -> log_info("BRU: Member-Score: {} => {} {}", ms.getMember().id().id(), ms.getScore(), + ms.getMember().properties().getProperty("uuid", null))) + .max(MemberWithScore::compareTo) + .orElse(MemberWithScore.NULL_MEMBER) + .getMember(); + log_info("BRU: Broker: {}", broker != null ? broker.id().id() : null); + + // If local node is the selected broker... + if (getLocalMember().equals(broker)) { + appointment(broker.id().id()); + } + } + + private void appointment(String appointedNodeId) { + // Check i am appointed + Member local = getLocalMember(); + if (! local.id().id().equals(appointedNodeId)) { + log_debug("BRU: I am not appointed: me={} <> appointed={}", local.id().id(), appointedNodeId); + return; + } + + // Check if i am already a broker + NODE_STATUS localStatus = getLocalStatus(); + if (BROKER_STATUSES.contains(localStatus)) { + if (localStatus==RETIRING) { + log_error("BRU: !!!! BUG: RETIRING AGGREGATOR HAS BEEN ELECTED AGAIN !!!!"); + } else { + log_info("BRU: Aggregator elected again"); + } + } else { + // Start initializing as Broker... + aggregatorInitialize(); + } + + // Notify others that this node is ready to serve as Aggregator + String brokerId = local.id().id(); + String newConf = MARKER_NEW_CONFIGURATION + + (callback!=null ? callback.getConfiguration(local) : ""); + atomix.getCommunicationService().broadcastIncludeSelf(NODE_MESSAGE_TOPIC, MESSAGE_READY + " " + brokerId + " " + newConf); + } + + private void aggregatorInitialize() { + if (backOff.getAndSet(false)) { + log_warn("BRU: Node cannot be initialized as Aggregator. Back off flag is set"); + return; + } + + // Notify others that this node starts initializing as Broker + log_info("BRU: Node will become Broker. Initializing..."); + atomix.getCommunicationService().broadcast(NODE_MESSAGE_TOPIC, MESSAGE_INITIALIZE + " " + getLocalMember().id().id()); + setLocalStatus(INITIALIZING); + + // Start initializing as Aggregator... + if (callback!=null) + callback.initialize(); + + // Update node status to Broker + setLocalStatus(AGGREGATOR); + log_info("BRU: Node is ready to act as Aggregator. Ready"); + + if (backOff.getAndSet(false)) { + log_debug("initialize(): Back-off flag has been set. Stepping down immediately."); + aggregatorStepDown(); + } + } + + public void appoint(String brokerId) { + // Check if already a broker + if (getBrokers().stream().anyMatch(m -> m.id().id().equals(brokerId))) { + log_info("BRU: Node is already a broker: {}", brokerId); + if (getNodeStatus(brokerId)==RETIRING) + setNodeStatus(brokerId, AGGREGATOR); + return; + } + + // Check if not a candidate + NODE_STATUS brokerStatus = getNodeStatus(brokerId); + log_debug("BRU: Node status: {}", brokerStatus); + if (NON_CANDIDATE_STATUSES.contains(brokerStatus)) { + log_info("BRU: Node is not a broker candidate: {}", brokerId); + return; + } + + // Broadcast appointment message + atomix.getCommunicationService().broadcastIncludeSelf(NODE_MESSAGE_TOPIC, MESSAGE_APPOINT + " " + brokerId); + log_info("BRU: Broker appointment broadcast: {}", brokerId); + } + + public void retire() { + NODE_STATUS localStatus = getLocalStatus(); + if (BROKER_STATUSES.contains(localStatus)) { + if (localStatus==RETIRING) { + log_info("BRU: Already retiring"); + } else { + setLocalStatus(RETIRING); + log_info("BRU: Broker retires: broadcasting election message..."); + String localNodeId = getLocalMember().id().id(); + atomix.getCommunicationService().broadcast(NODE_MESSAGE_TOPIC, MESSAGE_ELECTION + " -" + localNodeId); + //election(Collections.singletonList(localNodeId)); + } + } else + log_info("BRU: Not an Aggregator"); + } + + public List getBrokers() { + return atomix.getMembershipService().getMembers().stream() + .filter(m -> m.isActive() && m.isReachable()) + .filter(m -> BROKER_STATUSES.contains(getNodeStatus(m))) + .collect(Collectors.toList()); + } + + public Member getLocalMember() { + return atomix.getMembershipService().getLocalMember(); + } + + public NODE_STATUS getLocalStatus() { + return getNodeStatus(getLocalMember()); + } + + public void setLocalStatus(@NonNull NODE_STATUS status) { + setNodeStatus(getLocalMember(), status); + } + + public NODE_STATUS getNodeStatus(@NonNull Member member) { + return NODE_STATUS.valueOf(member.properties().getProperty(STATUS_PROPERTY, NOT_SET.name())); + } + + public void setNodeStatus(@NonNull Member member, @NonNull NODE_STATUS status) { + log_trace("BRU: setNodeStatus: Node properties BEFORE CHANGE: {}", member.properties()); + String oldStatusName = (String) member.properties().setProperty(STATUS_PROPERTY, status.name()); + log_trace("BRU: setNodeStatus: Node properties AFTER CHANGE: {}", member.properties()); + log_debug("BRU: setNodeStatus: Status changed: {} --> {}", oldStatusName, status); + NODE_STATUS oldStatus = StringUtils.isNotBlank(oldStatusName) ? NODE_STATUS.valueOf(oldStatusName) : null; + if (callback!=null & oldStatus!=status) + callback.statusChanged(oldStatus, status); + } + + public NODE_STATUS getNodeStatus(@NonNull String memberId) { + Member member = getMemberById(memberId); + if (member != null) + return getNodeStatus(member); + return null; + } + + public void setNodeStatus(@NonNull String memberId, @NonNull NODE_STATUS status) { + Member member = getMemberById(memberId); + if (member != null) + setNodeStatus(member, status); + } + + private Member getMemberById(@NonNull String id) { + return atomix.getMembershipService().getMembers().stream() + .filter(m -> m.isActive() && m.isReachable()) + .filter(m -> m.id().id().equals(id)) + .findFirst() + .orElse(null); + } + + public void setCandidate() { + NODE_STATUS localStatus = getLocalStatus(); + if (localStatus==NOT_CANDIDATE || localStatus==NOT_SET) { + setLocalStatus(CANDIDATE); + log_info("BRU: Node becomes Aggregator candidate"); + } else + log_info("BRU: Node is already Aggregator candidate"); + } + + public void clearCandidate() { + NODE_STATUS localStatus = getLocalStatus(); + if (BROKER_STATUSES.contains(localStatus)) { + log_warn("BRU: Node is the Aggregator. Select 'retire' first"); + return; + } + if (localStatus==INITIALIZING) { + log_warn("BRU: Node is initializing for Aggregator. Step down first"); + return; + } + if (localStatus==STEPPING_DOWN) { + log_warn("BRU: Node is stepping down. Wait step down complete"); + return; + } + if (localStatus==CANDIDATE) { + setLocalStatus(NOT_CANDIDATE); + log_info("BRU: Node removed from Broker candidates"); + } else + log_info("BRU: Node is not Aggregator candidate"); + } + + public List getCandidates() { + return atomix.getMembershipService().getMembers().stream() + .filter(m -> m.isActive() && m.isReachable()) + .filter(m -> CANDIDATE_STATUSES.contains(getNodeStatus(m))) + .map(m -> new MemberWithScore(m, clusterManager.getScoreFunction())) + .collect(Collectors.toList()); + } + + public List getActiveNodes() { + return atomix.getMembershipService().getMembers().stream() + .filter(m -> m.isActive() && m.isReachable()) + .map(m -> new MemberWithScore(m, clusterManager.getScoreFunction())) + .collect(Collectors.toList()); + } + + public void checkBroker() { + List brokers = getBrokers(); + log_info("BRU: Brokers after cluster change: {}", brokers); + + // Check if any node is initializing as broker (then don't start election) + if (getActiveNodes().stream() + .map(MemberWithScore::getMember) + .map(this::getNodeStatus) + .noneMatch(s -> INITIALIZING==s || AGGREGATOR==s)) + { + startElection(); + } + } + + public void checkBrokerNumber() { + List brokers = getBrokers(); + log_debug("BRU: Check number of Brokers in cluster: {}", brokers); + + // Check if there are more than one brokers in cluster + long numOfBrokers = getActiveNodes().stream() + .map(MemberWithScore::getMember) + .map(this::getNodeStatus) + .filter(s -> AGGREGATOR==s) + .count(); + log_info("BRU: Number of Brokers in cluster: {}", numOfBrokers); + if (numOfBrokers>1) { + log_warn("BRU: {} brokers found in the cluster. Starting election...", numOfBrokers); + startElection(); + } + } + + public interface NodeCallback { + void joinedCluster(); + void leftCluster(); + + void initialize(); + void stepDown(); + void statusChanged(NODE_STATUS oldStatus, NODE_STATUS newStatus); + void clusterChanged(ClusterMembershipEvent event); + String getConfiguration(Member local); + void setConfiguration(String newConfig); + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterCLI.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterCLI.java new file mode 100644 index 0000000..a665861 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterCLI.java @@ -0,0 +1,228 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.cluster; + +import io.atomix.cluster.Member; +import io.atomix.cluster.MemberId; +import io.atomix.cluster.messaging.ClusterCommunicationService; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import org.apache.commons.lang3.StringUtils; + +import java.util.*; +import java.util.concurrent.CompletableFuture; + +@RequiredArgsConstructor +public class ClusterCLI extends AbstractLogBase { + + private final ClusterManager clusterManager; + + @Getter @Setter + private String prompt = " -> "; + @Getter @Setter + private boolean promptUpdate; + + public void updatePrompt() { + if (promptUpdate) { + setPrompt((clusterManager != null && clusterManager.isRunning()) + ? "[" + clusterManager.getLocalMember().id().id() + "] => " + : " => "); + } + } + + public void run() { + run(false, false, false, true); + } + + public void run(boolean joinOnStart, boolean leaveOnExit, boolean autoElect, boolean allowExit) { + if (joinOnStart && !clusterManager.isInitialized()) { + clusterManager.initialize(); + } + if (joinOnStart && !clusterManager.isRunning()) { + clusterManager.joinCluster(autoElect); + } + updatePrompt(); + + // Start doing work... + while (true) { + try { + String line = readLine(prompt); + if (StringUtils.isBlank(line)) continue; + String[] cmd = line.trim().split(" "); + + if ("exit".equalsIgnoreCase(cmd[0])) { + if (allowExit) + break; + } else { + executeCommand(line, cmd); + } + + } catch (Exception ex) { + log_error("CLI: Exception caught: ", ex); + } + } + + if (leaveOnExit && clusterManager.isRunning()) + clusterManager.leaveCluster(); + } + + public void executeCommand(String line, String[] cmd) { + if ("properties".equalsIgnoreCase(cmd[0])) { + Properties properties = clusterManager.getLocalMember().properties(); + log_info("CLI: Local member properties:"); + for (String propName : properties.stringPropertyNames()) { + log_info("CLI: {} = {}", propName, properties.getProperty(propName)); + } + } else if ("set".equalsIgnoreCase(cmd[0])) { + String setStr = line.trim().split(" ", 2)[1]; + int p = setStr.indexOf("="); + String propName = setStr.substring(0, p).trim(); + String propValue = setStr.substring(p + 1).trim(); + log_info("CLI: SET PROPERTY: {} = {}", propName, propValue); + clusterManager.getLocalMember().properties().setProperty(propName, propValue); + } else if ("unset".equalsIgnoreCase(cmd[0])) { + String propName = cmd[1].trim(); + log_info("CLI: UNSET PROPERTY: {}", propName); + clusterManager.getLocalMember().properties().setProperty(propName, ""); + } else if ("score".equalsIgnoreCase(cmd[0])) { + if (cmd.length==1) { + log_info("CLI: Score function: {}", clusterManager.getScoreFunction()); + } else { + String formula = clusterManager.getScoreFunction().getFormula(); + Properties defs = new Properties(); + defs.putAll(clusterManager.getScoreFunction().getArgumentDefaults()); + double defScore = clusterManager.getScoreFunction().getDefaultScore(); + boolean throwExceptions = clusterManager.getScoreFunction().isThrowExceptions(); + if (!"-".equals(cmd[1]) && !"same".equalsIgnoreCase(cmd[1])) + formula = cmd[1]; + for (int i = 2; i < cmd.length; i++) { + String[] part = cmd[i].split("=", 2); + if ("default".equalsIgnoreCase(part[0])) { + throwExceptions = false; + if ("-".equals(part[1])) + throwExceptions = true; + else + defScore = Double.parseDouble(part[1]); + } else if ("clear-defaults".equalsIgnoreCase(part[0])) + defs.clear(); + else + defs.setProperty(part[0], String.valueOf(Double.parseDouble(part[1]))); + } + clusterManager.setScoreFunction(MemberScoreFunction.builder() + .formula(formula) + .argumentDefaults(defs) + .defaultScore(defScore) + .throwExceptions(throwExceptions) + .build()); + } + + } else if ("members".equalsIgnoreCase(cmd[0])) { + // Get cluster members + log_info("CLI: Cluster members:"); + for (Member member : clusterManager.getMembers()) { + String memId = member.id().id(); + String memAddress = member.config().getAddress().toString(); + Set> memProperties = member.properties().entrySet(); + String active = (member.isActive() ? "active" : "inactive"); + String reachable = (member.isReachable() ? "reachable" : "unreachable"); + log_info("CLI: {}/{}/{}-{}/{}", memId, memAddress, active, reachable, memProperties); + } + } else if ("join".equalsIgnoreCase(cmd[0])) { + if (cmd.length>1) { + ArrayList tmp = new ArrayList<>(Arrays.asList(cmd)); + tmp.remove(0); + clusterManager.getProperties().setMemberAddresses(tmp); + } + + // Join/start cluster + clusterManager.initialize(); + clusterManager.joinCluster(); + updatePrompt(); + + } else if ("leave".equalsIgnoreCase(cmd[0])) { + clusterManager.leaveCluster(); + updatePrompt(); + + } else if ("message".equalsIgnoreCase(cmd[0])) { + ClusterCommunicationService communicationService = clusterManager.getAtomix().getCommunicationService(); + String op = cmd[1]; + String topic = cmd[2]; + if ("subscribe".equalsIgnoreCase(op)) { + communicationService.subscribe(topic, (m) -> { + log_info("CLI: **** Message: {} on Topic: {}", m, topic); + return CompletableFuture.completedFuture("Ok"); + }).join(); + log_info("CLI: Subscribed to topic: {}", topic); + } else + if ("unsubscribe".equalsIgnoreCase(op)) { + log_info("CLI: Unsubscribe from topic: {}", topic); + communicationService.unsubscribe(topic); + } else + if ("broadcast".equalsIgnoreCase(op)) { + log_info("CLI: Broadcast to topic: {}", topic); + String message = String.join(" ", Arrays.copyOfRange(cmd, 3, cmd.length)); + communicationService.broadcast(topic, message); + } else + if ("send".equalsIgnoreCase(op)) { + MemberId mId = MemberId.from(cmd[3]); + log_info("CLI: Send to node: {}, on topic: {}", cmd[3], topic); + String message = String.join(" ", Arrays.copyOfRange(cmd, 4, cmd.length)); + communicationService.send(topic, message, mId).join(); + } else + if ("unicast".equalsIgnoreCase(op)) { + MemberId mId = MemberId.from(cmd[3]); + log_info("CLI: Send to node: {}, on topic: {}", cmd[3], topic); + String message = String.join(" ", Arrays.copyOfRange(cmd, 3, cmd.length)); + communicationService.unicast(topic, message, mId).join(); + } else + log_warn("CLI: Invalid Message operation: {}", op); + + } else if ("broker".equalsIgnoreCase(cmd[0]) || "bl".equalsIgnoreCase(cmd[0])) { + String op = cmd.length>1 ? cmd[1] : null; + if ("list".equalsIgnoreCase(op) || "bl".equalsIgnoreCase(cmd[0])) { + log_info("CLI: Node status and scores:"); + final BrokerUtil brokerUtil1 = clusterManager.getBrokerUtil(); + brokerUtil1.getActiveNodes().forEach(ms -> log_info("CLI: {} [{}, {}, {}]", + ms.getMember().id().id(), brokerUtil1.getNodeStatus(ms.getMember()), + ms.getScore(), ms.getMember().properties().getProperty("uuid", null))); + } else + if ("candidates".equalsIgnoreCase(op)) { + log_info("CLI: Broker candidates:"); + final BrokerUtil brokerUtil1 = clusterManager.getBrokerUtil(); + brokerUtil1.getCandidates().forEach(ms -> log_info("CLI: {} [{}, {}, {}]", + ms.getMember().id().id(), brokerUtil1.getNodeStatus(ms.getMember()), + ms.getScore(), ms.getMember().properties().getProperty("uuid", null))); + } else + if ("status".equalsIgnoreCase(op)) { + clusterManager.getBrokerUtil().getBrokers() + .forEach(m -> log_info("CLI: Current Broker: {}", m.id().id())); + } else + if ("elect".equalsIgnoreCase(op)) { + clusterManager.getBrokerUtil().startElection(); + } else + if ("retire".equalsIgnoreCase(op)) { + clusterManager.getBrokerUtil().retire(); + } else + if ("appoint".equalsIgnoreCase(op)) { + clusterManager.getBrokerUtil().appoint(cmd[2]); + } else + if ("on".equalsIgnoreCase(op)) { + clusterManager.getBrokerUtil().setCandidate(); + } else + if ("off".equalsIgnoreCase(op)) { + clusterManager.getBrokerUtil().clearCandidate(); + } else + log_warn("CLI: Invalid Broker operation: {}", op); + + } else + log_warn("CLI: Unknown command: {}", cmd[0]); + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterManager.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterManager.java new file mode 100644 index 0000000..d0fcdce --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterManager.java @@ -0,0 +1,472 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.cluster; + +import io.atomix.cluster.ClusterMembershipEvent; +import io.atomix.cluster.Member; +import io.atomix.cluster.MemberId; +import io.atomix.cluster.Node; +import io.atomix.cluster.discovery.BootstrapDiscoveryProvider; +import io.atomix.cluster.discovery.NodeDiscoveryProvider; +import io.atomix.cluster.protocol.GroupMembershipProtocol; +import io.atomix.cluster.protocol.HeartbeatMembershipProtocol; +import io.atomix.cluster.protocol.SwimMembershipProtocol; +import io.atomix.core.Atomix; +import io.atomix.core.AtomixBuilder; +import io.atomix.protocols.backup.partition.PrimaryBackupPartitionGroup; +import io.atomix.protocols.raft.partition.RaftPartitionGroup; +import io.atomix.utils.net.Address; +import lombok.*; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.time.Duration; +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ScheduledFuture; +import java.util.stream.Collectors; + +@Data +@Component +@EqualsAndHashCode(callSuper = true) +public class ClusterManager extends AbstractLogBase { + + private static final String NODE_NAME_PREFIX = "node_"; + + private ClusterManagerProperties properties; + private BrokerUtil.NodeCallback callback; + private ClusterCLI cli; + + private MemberScoreFunction scoreFunction = new MemberScoreFunction("-1"); + + @Getter(AccessLevel.NONE) @Setter(AccessLevel.NONE) + private Address localAddress = null; + @Getter(AccessLevel.NONE) @Setter(AccessLevel.NONE) + private NodeDiscoveryProvider bootstrapDiscoveryProvider = null; + @Setter(AccessLevel.NONE) + private Atomix atomix = null; + @Setter(AccessLevel.NONE) + private BrokerUtil brokerUtil = null; + + @Autowired + private TaskScheduler taskScheduler; + @Getter(AccessLevel.NONE) @Setter(AccessLevel.NONE) + private ScheduledFuture checkerTask; + + // ------------------------------------------------------------------------ + + public synchronized ClusterCLI getCli() { + if (cli==null) { + cli = new ClusterCLI(this); + cli.setLogEnabled(isLogEnabled()); + cli.setOutEnabled(isOutEnabled()); + } + return cli; + } + + public Atomix getAtomix() { + if (atomix==null) throw new IllegalStateException("Not initialized"); + return atomix; + } + + public BrokerUtil getBrokerUtil() { + if (brokerUtil==null) throw new IllegalStateException("Not initialized"); + return brokerUtil; + } + + public Set getMembers() { + return getAtomix().getMembershipService().getMembers(); + } + + public Member getLocalMember() { + return getAtomix().getMembershipService().getLocalMember(); + } + + public Address getLocalAddress() { + return getLocalMember().address(); + } + + public Properties getLocalMemberProperties() { + return getAtomix().getMembershipService().getLocalMember().properties(); + } + + public void setCallback(BrokerUtil.NodeCallback callback) { + this.callback = callback; + if (brokerUtil!=null) brokerUtil.setCallback(callback); + } + + // ------------------------------------------------------------------------ + + public boolean isInitialized() { + return atomix!=null; + } + + public boolean isRunning() { + return (atomix!=null && atomix.isRunning()); + } + + public void initialize() { + initialize(properties, callback); + } + + public void initialize(ClusterManagerProperties p) { + initialize(p, this.callback); + } + + public void initialize(ClusterManagerProperties p, BrokerUtil.NodeCallback callback) { + // Store properties and callback + if (p!=null) this.properties = p; + if (callback!=null) this.callback = callback; + + // Set logging and output flags + setLogEnabled(properties.isLogEnabled()); + setOutEnabled(properties.isOutEnabled()); + + // Initialize member scoring function + this.scoreFunction = properties.getScore()!=null + ? MemberScoreFunction.builder() + .formula(properties.getScore().getFormula()) + .defaultScore(properties.getScore().getDefaultScore()) + .argumentDefaults(properties.getScore().getDefaultArgs()) + .throwExceptions(properties.getScore().isThrowException()) + .build() + : this.scoreFunction; + + // Get local address and port + localAddress = properties.getLocalNode().getAddress(); + log_debug("CLM: Provided local-address: {}", localAddress); + if (localAddress==null) { + //localAddress = Address.from(getLocalHostName() + ":1234"); + localAddress = Address.from(getLocalHostAddress() + ":1234"); + log_debug("CLM: Resolving local-address: {}", localAddress); + } + log_info("CLM: Local address used for building Atomix: {}", localAddress); + + // Initialize Membership provider + bootstrapDiscoveryProvider = buildNodeDiscoveryProvider(properties.getMemberAddresses()); + + // Create Atomix and Join/start cluster + atomix = buildAtomix(properties, localAddress, bootstrapDiscoveryProvider); + brokerUtil = new BrokerUtil(this, callback); + brokerUtil.setLogEnabled(isLogEnabled()); + brokerUtil.setOutEnabled(isOutEnabled()); + } + + public void joinCluster() { + joinCluster(getProperties().isElectionOnJoin()); + } + + public void joinCluster(boolean startElection) { + // Initialize cluster if needed + if (atomix==null) + initialize(); + + // Start/Join cluster + log_info("CLM: Joining cluster..."); + long startTm = System.currentTimeMillis(); + atomix.start().join(); + long endTm = System.currentTimeMillis(); + log_debug("CLM: Joined cluster in {}ms", endTm-startTm); + + // Populate default local member properties + Member localMember = atomix.getMembershipService().getLocalMember(); + String addrStr = localMember.address().host() + ":" + localMember.address().port(); + atomix.getMembershipService().getLocalMember().properties().setProperty("address", addrStr); + atomix.getMembershipService().getLocalMember().properties().setProperty("uuid", UUID.randomUUID().toString()); + brokerUtil.setLocalStatus(BrokerUtil.NODE_STATUS.CANDIDATE); + + // Add membership listener + atomix.getMembershipService().addListener(event -> { + log_debug("CLM: {}: node={}", event.type(), event.subject()); + if (event.type()!=ClusterMembershipEvent.Type.REACHABILITY_CHANGED) { + if (event.type()!=ClusterMembershipEvent.Type.METADATA_CHANGED) { + log_info("CLM: {}: node={}", event.type(), event.subject().id().id()); + brokerUtil.checkBroker(); + } + if (callback!=null) + callback.clusterChanged(event); + } + }); + + // Add broker message listener + atomix.getCommunicationService().subscribe(BrokerUtil.NODE_MESSAGE_TOPIC, m -> { + brokerUtil.processBrokerMessage(m); + return CompletableFuture.completedFuture("ok"); + }); + + // Start election if no broker exists + if (startElection) { + brokerUtil.checkBroker(); + } + + // Start cluster checker + if (properties.isClusterCheckerEnabled()) { + long delay = Math.max(properties.getClusterCheckerDelay(), 10000L); + log_info("CLM: Starting cluster checker (delay: {})...", delay); + checkerTask = taskScheduler.scheduleWithFixedDelay(() -> { + if (brokerUtil != null) + brokerUtil.checkBrokerNumber(); + else + log_warn("CLM: Cluster checker: BrokerUtil is NULL (is it a BUG?)"); + }, Duration.ofMillis(delay)); + } else { + log_warn("CLM: Cluster checker is DISABLED"); + } + } + + public void waitToJoin() { + while (true) { + if (isInitialized() && isRunning()) break; + try { Thread.sleep(500); } catch (InterruptedException e) { break; } + } + if (callback!=null) + callback.joinedCluster(); + } + + public void waitToJoin(long waitForMillis) { + long startTm = System.currentTimeMillis(); + long endTm = startTm + waitForMillis; + while (true) { + if (isInitialized() && isRunning()) break; + long waitFor = Math.min(500, endTm-System.currentTimeMillis()); + try { Thread.sleep(waitFor); } catch (InterruptedException e) { break; } + } + if (callback!=null) + callback.joinedCluster(); + } + + public void leaveCluster() { + // Stop cluster checker + if (checkerTask!=null && !checkerTask.isCancelled()) { + log_info("CLM: Stopping cluster checker..."); + checkerTask.cancel(true); + checkerTask = null; + } + + // Leave cluster + log_info("CLM: Leaving cluster..."); + long startTm = System.currentTimeMillis(); + if (atomix.isRunning()) + atomix.stop().join(); + long endTm = System.currentTimeMillis(); + log_debug("CLM: Left cluster in {}ms", endTm-startTm); + atomix = null; + brokerUtil = null; + if (callback!=null) + callback.leftCluster(); + } + + // ------------------------------------------------------------------------ + + public static String getLocalHostName() { + String hostname = null; + try { + hostname = InetAddress.getLocalHost().getHostName(); + } catch (UnknownHostException e) { + //log_error("Exception while getting Node hostname: ", e); + } + if (StringUtils.isBlank(hostname)) + hostname = getLocalHostAddress(); + return hostname; + } + + public static String getLocalHostAddress() { + String address = null; + try { + address = InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + //log_error("Exception while getting Node local address: ", e); + } + if (StringUtils.isBlank(address)) + address = UUID.randomUUID().toString(); + return address; + } + + // ------------------------------------------------------------------------ + + private String createMemberName(int port) { return createMemberName(getLocalHostName()+":"+port); } + private String createMemberName(String address) { + return NODE_NAME_PREFIX+address.replace(":", "_"); + } + + private Node createNode(String address, String port) { return createNode(address, Integer.parseInt(port)); } + private Node createNode(String address, int port) { return createNode(address+":"+port); } + private Node createNode(String address) { + return Node.builder() + .withId(createMemberName(address)) + .withAddress(Address.from(address)) + .build(); + } + private Node createNode(ClusterManagerProperties.NodeProperties nodeProperties) { + String nodeId = nodeProperties.getId(); + if (StringUtils.isBlank(nodeId)) + nodeId = createMemberName(nodeProperties.getAddress().port()); + return Node.builder() + .withId(nodeId) + .withAddress(nodeProperties.getAddress()) + .build(); + } + + public static Address getAddressFromString(String localAddressStr) { + Address localAddress; + localAddressStr = localAddressStr.trim(); + if (StringUtils.isBlank(localAddressStr)) { + localAddress = Address.local(); + } else + if (StringUtils.isNumeric(localAddressStr)) { + localAddress = Address.from(Integer.parseInt(localAddressStr)); + } else { + localAddress = Address.from(localAddressStr); + } + return localAddress; + } + + private NodeDiscoveryProvider buildNodeDiscoveryProvider(List addresses) { + return buildNodeDiscoveryProviderFromProperties( + addresses!=null + ? addresses.stream() + .map(ClusterManager::getAddressFromString) + .map(address -> new ClusterManagerProperties.NodeProperties(null, address, null)) + .collect(Collectors.toList()) + : null); + } + + private NodeDiscoveryProvider buildNodeDiscoveryProviderFromProperties(List nodePropertiesList) { + List nodes = new ArrayList<>(); + if (nodePropertiesList!=null) { + nodes = nodePropertiesList.stream().map(this::createNode).collect(Collectors.toList()); + } + log_info("CLM: Building Atomix: Other members: {}", nodes); + return BootstrapDiscoveryProvider.builder() + .withNodes(nodes) + //.withHeartbeatInterval(Duration.ofSeconds(5)) + //.withFailureThreshold(2) + //.withFailureTimeout(Duration.ofSeconds(1)) + .build(); + } + + private MemberId[] getMemberIds(Set nodes) { + List memberIdList = new ArrayList<>(); + for (Node node : nodes) + memberIdList.add(MemberId.from(node.id().id())); + return memberIdList.toArray(new MemberId[0]); + } + + private Member[] getMembers(Set nodes) { + List memberList = new ArrayList<>(); + for (Node node : nodes) + memberList.add(Member.builder() + .withId(node.id().id()) + .withAddress(node.address()) + .build()); + return memberList.toArray(new Member[0]); + } + + private Atomix buildAtomix(ClusterManagerProperties properties, Address localAddress, NodeDiscoveryProvider bootstrapDiscoveryProvider) { + // Configuring local cluster member + AtomixBuilder atomixBuilder = Atomix.builder(); + + // Cluster id + String clusterId = properties.getClusterId(); + if (StringUtils.isNotBlank(clusterId)) { + log_info("CLM: Building Atomix: Cluster-id: {}", clusterId); + atomixBuilder.withClusterId(clusterId); + } + + // Local member id and address + String memId = properties.getLocalNode().getId(); + memId = StringUtils.isBlank(memId) ? createMemberName(localAddress.port()) : memId; + MemberId localMemberId = MemberId.from(memId); + log_info("CLM: Building Atomix: Local-Member-Id: {}", localMemberId); + log_info("CLM: Building Atomix: Local-Member-Address: {}", localAddress); + atomixBuilder + .withMemberId(localMemberId) + .withAddress(localAddress) + .withProperties(properties.getLocalNode().getProperties()); + + // Configure membership protocol + boolean useSwim = properties.isUseSwim(); + long failureTimeout = Math.max(100L, properties.getFailureTimeout()); + GroupMembershipProtocol memProto; + atomixBuilder + .withMembershipProtocol(memProto = useSwim + ? SwimMembershipProtocol.builder() + //.withGossipInterval(Duration.ofMillis(250)) + //.withGossipFanout(2) + .withFailureTimeout(Duration.ofMillis(failureTimeout)) + .build() + : HeartbeatMembershipProtocol.builder() + //.withHeartbeatInterval(Duration.ofMillis(1000)) + .withFailureTimeout(Duration.ofMillis(failureTimeout)) + //.withFailureThreshold(2) + .build() + ); + log_info("CLM: Building Atomix: Membership protocol: {}", memProto.getClass().getSimpleName()); + + // Configure Management and Partition groups + boolean usePBInMg = properties.isUsePBInMg(); + boolean usePBInPg = properties.isUsePBInPg(); + String mgName = properties.getMgName(); + String pgName = properties.getPgName(); + if (StringUtils.isBlank(mgName)) mgName = "system"; + if (StringUtils.isBlank(pgName)) pgName = "data"; + log_debug("CLM: Building Atomix: Cluster Groups: mg-type-PB={}, pg-type-PB={}, mg-name={}, pg-name={}", + usePBInMg, usePBInPg, mgName, pgName); + atomixBuilder + .withManagementGroup(usePBInMg + ? PrimaryBackupPartitionGroup.builder(mgName) + .withNumPartitions(1) + //.withMemberGroupStrategy(MemberGroupStrategy.NODE_AWARE) + .build() + : RaftPartitionGroup.builder(mgName) + .withNumPartitions(1) + .withMembers(getMemberIds(bootstrapDiscoveryProvider.getNodes())) + //.withMembers(getMembers(bootstrapDiscoveryProvider.getNodes())) + //.withDataDirectory(new File("raft-mg")) + //.withMemberGroupStrategy(MemberGroupStrategy.NODE_AWARE) + .build() + ) + .withPartitionGroups(usePBInPg + ? PrimaryBackupPartitionGroup.builder(pgName) + .withNumPartitions(8) + //.withMemberGroupStrategy(MemberGroupStrategy.NODE_AWARE) + .build() + : RaftPartitionGroup.builder(pgName) + .withNumPartitions(8) + .withMembers(getMemberIds(bootstrapDiscoveryProvider.getNodes())) + //.withMembers(getMembers(bootstrapDiscoveryProvider.getNodes())) + //.withDataDirectory(new File("raft-pg")) + //.withMemberGroupStrategy(MemberGroupStrategy.NODE_AWARE) + .build() + ); + + // Configure Bootstrap Discovery Provider + atomixBuilder + //.withMulticastEnabled() + .withMembershipProvider(bootstrapDiscoveryProvider); + + // Configure TLS for messaging + log_info("CLM: Building Atomix: TLS enabled={}", properties.getTls().isEnabled()); + if (properties.getTls().isEnabled()) { + atomixBuilder + .withTlsEnabled(true) + .withKeyStore(properties.getTls().getKeystore()) + .withKeyStorePassword(properties.getTls().getKeystorePassword()) + .withTrustStore(properties.getTls().getTruststore()) + .withTrustStorePassword(properties.getTls().getTruststorePassword()); + } + + return atomixBuilder.build(); + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterManagerProperties.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterManagerProperties.java new file mode 100644 index 0000000..be3ee1b --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterManagerProperties.java @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.cluster; + +import io.atomix.utils.net.Address; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import java.util.List; +import java.util.Properties; + +@Data +@Configuration +@ConfigurationProperties(prefix = "cluster") +public class ClusterManagerProperties { + private String clusterId = "local-cluster"; + private NodeProperties localNode = new NodeProperties(); + private List memberAddresses; + + private boolean useSwim = true; // ...else the Heartbeat membership protocol will be used + private long failureTimeout = 10000; // The Atomix default failure timeout for both membership protocols + private long testInterval = -1; // Print cluster node status every X millis (negative numbers should turn off feature) + + private boolean logEnabled; + private boolean outEnabled = true; + + private boolean joinOnInit = true; + private boolean electionOnJoin; + + private boolean clusterCheckerEnabled = true; + private long clusterCheckerDelay = 30000L; + + private boolean usePBInMg = true; + private boolean usePBInPg = true; + private String mgName = "system"; + private String pgName = "data"; + + private TlsProperties tls = new TlsProperties(); + + private ScoreFunctionProperties score; + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class NodeProperties { + private String id; + private Address address; + private Properties properties = new Properties(); + + public NodeProperties(String address) { + this.address = Address.from(address); + } + + public void setAddress(String address) { + this.address = ClusterManager.getAddressFromString(address); + } + } + + @Data + @ToString(exclude = {"keystorePassword", "truststorePassword"}) + public static class TlsProperties { + private boolean enabled; + private String keystore; + private String keystorePassword; + private String truststore; + private String truststorePassword; + private String keystoreDir; + } + + @Data + public static class ScoreFunctionProperties { + private String formula; + private double defaultScore; + private Properties defaultArgs; + private boolean throwException; + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterTest.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterTest.java new file mode 100644 index 0000000..639bb0b --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/ClusterTest.java @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.cluster; + +import io.atomix.core.Atomix; +import lombok.*; + +import java.util.stream.Collectors; + +@Data +public class ClusterTest implements Runnable { + + @NonNull + private final ClusterManager clusterManager; + + @Getter(AccessLevel.NONE) @Setter(AccessLevel.NONE) + private Thread runner; + @Getter(AccessLevel.NONE) @Setter(AccessLevel.NONE) + private boolean keepRunning; + private long delay = 5000; + + public void startTest(long delay) { + checkRunning(); + if (delay < 1) throw new IllegalArgumentException("ClusterTest delay must be positive: " + delay); + this.delay = delay; + startTest(); + } + + public synchronized void startTest() { + checkRunning(); + runner = new Thread(this); + runner.setDaemon(true); + keepRunning = true; + runner.start(); + } + + public synchronized void stopTest() { + checkNotRunning(); + keepRunning = false; + runner.interrupt(); + runner = null; + } + + private void checkRunning() { + if (keepRunning) + throw new IllegalStateException("ClusterTest is already running"); + } + + private void checkNotRunning() { + if (!keepRunning) + throw new IllegalStateException("ClusterTest is not running"); + } + + public void run() { + // Start doing work... + Atomix atomix = clusterManager.getAtomix(); + int iterations = 0; + while (keepRunning) { + iterations++; + clusterManager.log_info("-- Iter={} ---------------------------------------", iterations); + + // Get cluster members + clusterManager.log_info("-- CLUSTER-MEMBERS: {}", atomix.getMembershipService().getMembers().stream() + .map(m -> "\n "+m.id().id() + + "/" + clusterManager.getBrokerUtil().getNodeStatus(m) + + "/" + m.properties().getProperty("address", "---") + + "/" + (m.isActive()?"active":"inactive") + + (!m.isReachable() ? "/unreachable" : "")) + .collect(Collectors.toList())); + + // Sleep for 5 seconds + try { Thread.sleep(delay); } catch (Exception e) {} + } + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/MemberScoreFunction.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/MemberScoreFunction.java new file mode 100644 index 0000000..6bcba33 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/MemberScoreFunction.java @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.cluster; + +import io.atomix.cluster.Member; +import lombok.Builder; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; +import org.mariuszgromada.math.mxparser.Expression; +import org.mariuszgromada.math.mxparser.parsertokens.Token; + +import java.util.List; +import java.util.Properties; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Data +@Builder +public class MemberScoreFunction implements Function { + private final String formula; + private final double defaultScore; + private final Properties argumentDefaults; + private boolean throwExceptions; + + public MemberScoreFunction(String formula) { + this(formula, -1, new Properties(), false); + } + + public MemberScoreFunction(String formula, double defaultScore) { + this(formula, defaultScore, new Properties(), false); + } + + public MemberScoreFunction(String formula, Properties defaults) { + this(formula, -1, defaults, false); + } + + public MemberScoreFunction(String formula, double defaultScore, Properties defaults, boolean throwExceptions) { + Expression e = new Expression(formula); + //e.setVerboseMode(); + if (!e.checkLexSyntax()) + throw new IllegalArgumentException("Lexical syntax error in expression: " + e.getErrorMessage()); + this.formula = formula; + this.defaultScore = defaultScore; + this.argumentDefaults = defaults; + this.throwExceptions = throwExceptions; + } + + @Override + public Double apply(Member member) { + return evaluateExpression(formula, member.properties()); + } + + protected List getExpressionArguments(Expression e) { + // Get argument names + boolean lexSyntax = e.checkLexSyntax(); + boolean genSyntax = e.checkSyntax(); + + List initTokens = e.getCopyOfInitialTokens(); + List argNames = initTokens.stream() + .filter(t -> t.tokenTypeId == Token.NOT_MATCHED) + .filter(t -> "argument".equals(t.looksLike)) + .map(t -> t.tokenStr) + .collect(Collectors.toList()); + + return argNames; + } + + public double evaluateExpression(String formula, Properties args) { + try { + if (StringUtils.isBlank(formula)) { + throw new IllegalArgumentException("Formula is empty or null"); + } + + // Create MathParser expression + Expression e = new Expression(formula); + //e.setVerboseMode(); + + // Get argument names + List argNames = getExpressionArguments(e); + + // Define expression arguments with user provided values + //e.removeAllArguments(); + for (String argName : argNames) { + try { + String argStr = args.getProperty(argName, null); + if (StringUtils.isBlank(argStr)) + argStr = argumentDefaults.getProperty(argName, null); + if (StringUtils.isBlank(argStr)) + throw new IllegalArgumentException("Missing scoring expression argument: " + argName); + double argValue = Double.parseDouble(argStr); + e.defineArgument(argName, argValue); + } catch (Exception ex) { + throw ex; + } + } + if (!e.checkSyntax()) + throw new IllegalArgumentException("Syntax error in expression: " + e.getErrorMessage()); + + // Calculate result + return e.calculate(); + } catch (Exception ex) { + if (throwExceptions) + throw ex; + return defaultScore; + } + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/MemberWithScore.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/MemberWithScore.java new file mode 100644 index 0000000..0ed4a23 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/MemberWithScore.java @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.cluster; + +import io.atomix.cluster.Member; +import lombok.Data; + +@Data +public class MemberWithScore implements Comparable { + public final static MemberWithScore NULL_MEMBER = new MemberWithScore(null, 0); + + private final Member member; + private final double score; + + private MemberWithScore(Member m, double s) { + member = m; + score = s; + } + + public MemberWithScore(Member m, MemberScoreFunction scoreFunction) { + member = m; + score = scoreFunction.apply(m); + } + + @Override + public int compareTo(MemberWithScore o) { + double score1 = this.getScore(); + double score2 = o.getScore(); + int result = (int) Math.signum(score1 - score2); + if (result == 0) { + String uuid1 = this.getMember().properties().getProperty("uuid", "0"); + String uuid2 = o.getMember().properties().getProperty("uuid", "0"); + result = uuid1.compareTo(uuid2); + } + return result; + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/TestCallback.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/TestCallback.java new file mode 100644 index 0000000..ad1cd83 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/cluster/TestCallback.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.cluster; + +import io.atomix.cluster.ClusterMembershipEvent; +import io.atomix.cluster.Member; +import io.atomix.utils.net.Address; + +public class TestCallback extends AbstractLogBase implements BrokerUtil.NodeCallback { + private String address; + private String state = "L1"; + + public TestCallback(Address localAddress) { + address = localAddress.toString(); + } + + public void joinedCluster() { } + public void leftCluster() { } + + public void initialize() { + if ("L2".equals(state)) { + log_warn("__TestNode at {}: Already initialized: {}", address, state); + return; + } + state = "initializing L2"; + out_print("__TestNode at {}: Initializing", address); + for (int i = 0; i < (int) (Math.random() * 5 + 5); i++) { + out_print("."); + try { + Thread.sleep(1000); + } catch (InterruptedException ignored) { + } + } + out_println(); + if ("initializing L2".equals(state)) { + state = "L2"; + log_info("__TestNode at {}: Node is now a Broker: {}", address, state); + } + } + + public void stepDown() { + if ("L1".equals(state)) { + log_warn("__TestNode at {}: Already a non-broker node: {}", address, state); + return; + } + state = "clearing L2"; + out_print("__TestNode at {}: Stepping down", address); + for (int i = 0; i < (int) (Math.random() * 4 + 2); i++) { + out_print("."); + try { + Thread.sleep(1000); + } catch (InterruptedException ignored) { + } + } + out_println(); + if ("clearing L2".equals(state)) { + state = "L1"; + log_info("__TestNode at {}: Node is now a non-broker node: {}", address, state); + } + } + + public void statusChanged(BrokerUtil.NODE_STATUS oldStatus, BrokerUtil.NODE_STATUS newStatus) { + log_info("__TestNode at {}: Status changed: {} --> {}", address, oldStatus, newStatus); + } + + public void clusterChanged(ClusterMembershipEvent event) { + log_info("__TestNode at {}: Cluster changed: {}: {}", address, event.type(), event.subject().id().id()); + } + + public String getConfiguration(Member local) { + return String.format("ssl://%s:61617", local.address().host()); + } + + public void setConfiguration(String newConfig) { + log_info("__TestNode at {}: New configuration: {}", address, newConfig); + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/ClientCollectorContext.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/ClientCollectorContext.java new file mode 100644 index 0000000..5bde976 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/ClientCollectorContext.java @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.collector; + +import gr.iccs.imu.ems.baguette.client.BaguetteClientProperties; +import gr.iccs.imu.ems.baguette.client.CommandExecutor; +import gr.iccs.imu.ems.baguette.client.Sshc; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.common.client.SshClient; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.util.ClientConfiguration; +import gr.iccs.imu.ems.util.GroupingConfiguration; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.io.Serializable; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; + +@Slf4j +@Component +@RequiredArgsConstructor +public class ClientCollectorContext implements CollectorContext { + private final CommandExecutor commandExecutor; + + public Map getGroupings() { + return commandExecutor.getGroupings(); + } + + @Override + public List getNodeConfigurations() { + return Collections.singletonList(commandExecutor.getClientConfiguration()); + } + + @Override + public Set getNodesWithoutClient() { + return commandExecutor.getClientConfiguration()!=null + ? commandExecutor.getClientConfiguration().getNodesWithoutClient() : null; + } + + @Override + public boolean isAggregator() { + return commandExecutor.isAggregator(); + } + + @Override + public PUBLISH_RESULT sendEvent(String connectionString, String destinationName, EventMap event, boolean createDestination) { + return commandExecutor.sendEvent(connectionString, destinationName, event, createDestination); + } + + @Override + public SshClient getSshClient() { + return new Sshc(); + } + + @Override + public BaguetteClientProperties getSshClientProperties() { + return new BaguetteClientProperties(); + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/netdata/NetdataCollector.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/netdata/NetdataCollector.java new file mode 100644 index 0000000..e41191a --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/netdata/NetdataCollector.java @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.collector.netdata; + +import gr.iccs.imu.ems.baguette.client.Collector; +import gr.iccs.imu.ems.baguette.client.collector.ClientCollectorContext; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.common.collector.netdata.NetdataCollectorProperties; +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.GROUPING; +import gr.iccs.imu.ems.util.GroupingConfiguration; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Collects measurements from Netdata http server + */ +@Slf4j +@Component +public class NetdataCollector extends gr.iccs.imu.ems.common.collector.netdata.NetdataCollector implements Collector { + public NetdataCollector(@NonNull NetdataCollectorProperties properties, + @NonNull CollectorContext collectorContext, + @NonNull TaskScheduler taskScheduler, + @NonNull EventBus eventBus) + { + super("NetdataCollector", properties, collectorContext, taskScheduler, eventBus); + if (!(collectorContext instanceof ClientCollectorContext)) + throw new IllegalArgumentException("Invalid CollectorContext provided. Expected: ClientCollectorContext, but got "+collectorContext.getClass().getName()); + } + + public synchronized void activeGroupingChanged(String oldGrouping, String newGrouping) { + HashSet topics = new HashSet<>(); + for (String g : GROUPING.getNames()) { + GroupingConfiguration grp = ((ClientCollectorContext)collectorContext).getGroupings().get(g); + if (grp!=null) + topics.addAll(grp.getEventTypeNames()); + } + log.warn("Collectors::Netdata: activeGroupingChanged: New Allowed Topics for active grouping: {} -- {}", newGrouping, topics); + List tmpList = new ArrayList<>(topics); + Map tmpMap = null; + if (properties.getAllowedTopics()!=null) { + tmpMap = properties.getAllowedTopics().stream() + .map(s -> s.split(":", 2)) + .collect(Collectors.toMap(a -> a[0], a -> a.length>1 ? a[1]: "")); + } + log.warn("Collectors::Netdata: activeGroupingChanged: New Allowed Topics -- Topics Map: {} -- {}", tmpList, tmpMap); + synchronized (this) { + this.allowedTopics = tmpList; + this.topicMap = tmpMap; + } + } + +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/prometheus/PrometheusCollector.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/prometheus/PrometheusCollector.java new file mode 100644 index 0000000..d0cc573 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/collector/prometheus/PrometheusCollector.java @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.collector.prometheus; + +import gr.iccs.imu.ems.baguette.client.Collector; +import gr.iccs.imu.ems.baguette.client.collector.ClientCollectorContext; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.common.collector.prometheus.PrometheusCollectorProperties; +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.GROUPING; +import gr.iccs.imu.ems.util.GroupingConfiguration; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Collects measurements from Prometheus exporter + */ +@Slf4j +@Component +public class PrometheusCollector extends gr.iccs.imu.ems.common.collector.prometheus.PrometheusCollector implements Collector { + public PrometheusCollector(@NonNull PrometheusCollectorProperties properties, + @NonNull CollectorContext collectorContext, + @NonNull TaskScheduler taskScheduler, + @NonNull EventBus eventBus) + { + super("PrometheusCollector", properties, collectorContext, taskScheduler, eventBus); + if (!(collectorContext instanceof ClientCollectorContext)) + throw new IllegalArgumentException("Invalid CollectorContext provided. Expected: ClientCollectorContext, but got "+collectorContext.getClass().getName()); + } + + public synchronized void activeGroupingChanged(String oldGrouping, String newGrouping) { + HashSet topics = new HashSet<>(); + for (String g : GROUPING.getNames()) { + GroupingConfiguration grp = ((ClientCollectorContext)collectorContext).getGroupings().get(g); + if (grp!=null) + topics.addAll(grp.getEventTypeNames()); + } + log.warn("Collectors::Prometheus: activeGroupingChanged: New Allowed Topics for active grouping: {} -- {}", newGrouping, topics); + List tmpList = new ArrayList<>(topics); + Map tmpMap = null; + if (properties.getAllowedTopics()!=null) { + tmpMap = properties.getAllowedTopics().stream() + .map(s -> s.split(":", 2)) + .collect(Collectors.toMap(a -> a[0], a -> a.length>1 ? a[1]: "")); + } + log.warn("Collectors::Prometheus: activeGroupingChanged: New Allowed Topics -- Topics Map: {} -- {}", tmpList, tmpMap); + synchronized (this) { + this.allowedTopics = tmpList; + this.topicMap = tmpMap; + } + } + +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/plugin/recovery/NodeInfoHelper.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/plugin/recovery/NodeInfoHelper.java new file mode 100644 index 0000000..1dd0d86 --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/plugin/recovery/NodeInfoHelper.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.plugin.recovery; + +import com.google.gson.Gson; +import gr.iccs.imu.ems.baguette.client.CommandExecutor; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.Map; + +/** + * Node Info helper -- Retrieves node info from EMS server and caches them + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class NodeInfoHelper { + private final CommandExecutor commandExecutor; + private final HashMap nodeInfoCache = new HashMap<>(); + private final Gson gson = new Gson(); + + @SneakyThrows + public Map getNodeInfo(String nodeId, @NonNull String nodeAddress) { + log.debug("NodeInfoHelper: getNodeInfo(): BEGIN: node-id={}, node-address={}", nodeId, nodeAddress); + + // Get cached node info + Map nodeInfo = nodeInfoCache.get(nodeAddress); + + if (nodeInfo==null) { + // Get node info from EMS server + try { + log.debug("NodeInfoHelper: getNodeInfo(): Querying EMS server for Node Info: id={}, address={}", nodeId, nodeAddress); + commandExecutor.executeCommand("SEND SERVER-GET-NODE-SSH-CREDENTIALS " + nodeAddress); + String response = commandExecutor.getLastInputLine(); + log.debug("NodeInfoHelper: getNodeInfo(): Node Info from EMS server: id={}, address={}\n{}", nodeId, nodeAddress, response); + if (StringUtils.isNotBlank(response)) { + nodeInfo = gson.fromJson(response, Map.class); + } + nodeInfoCache.put(nodeAddress, nodeInfo); + } catch (Exception ex) { + log.error("NodeInfoHelper: getNodeInfo(): Exception while querying for node info: node-id={}, node-address={}\n", nodeId, nodeAddress, ex); + throw ex; + } + } + //log.debug("NodeInfoHelper: getNodeInfo(): Node info: {}", nodeInfo); + return nodeInfo; + } + + public void remove(String nodeId, @NonNull String nodeAddress) { + log.debug("NodeInfoHelper: remove(): node-id={}, node-address={}", nodeId, nodeAddress); + Map nodeInfo = nodeInfoCache.remove(nodeAddress); + log.trace("NodeInfoHelper: remove(): Removed: node-id={}, node-address={}", nodeId, nodeAddress); + } +} diff --git a/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/plugin/recovery/SelfHealingPlugin.java b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/plugin/recovery/SelfHealingPlugin.java new file mode 100644 index 0000000..39854ca --- /dev/null +++ b/ems-core/baguette-client/src/main/java/gr/iccs/imu/ems/baguette/client/plugin/recovery/SelfHealingPlugin.java @@ -0,0 +1,321 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.client.plugin.recovery; + +import gr.iccs.imu.ems.baguette.client.BaguetteClientProperties; +import gr.iccs.imu.ems.baguette.client.CommandExecutor; +import gr.iccs.imu.ems.baguette.client.collector.netdata.NetdataCollector; +import gr.iccs.imu.ems.common.recovery.*; +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.PasswordUtil; +import gr.iccs.imu.ems.util.Plugin; +import gr.iccs.imu.ems.util.StrUtil; +import io.atomix.cluster.ClusterMembershipEvent; +import lombok.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DurationFormatUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.ApplicationContext; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.time.Duration; +import java.time.Instant; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * Client-side Self-Healing plugin + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class SelfHealingPlugin implements Plugin, InitializingBean, EventBus.EventConsumer { + private final ApplicationContext applicationContext; + private final BaguetteClientProperties properties; + private final SelfHealingProperties selfHealingProperties; + private final CommandExecutor commandExecutor; + private final EventBus eventBus; + private final PasswordUtil passwordUtil; + private final NodeInfoHelper nodeInfoHelper; + private final RecoveryContext recoveryContext; + + private boolean started; + + private final HashMap> waitingTasks = new HashMap<>(); + private final TaskScheduler taskScheduler; + + @Override + public void afterPropertiesSet() { + log.debug("SelfHealingPlugin: properties: {}", properties); + log.debug("SelfHealingPlugin: selfHealingProperties: {}", selfHealingProperties); + + // Initialize recovery context + recoveryContext.initialize(properties); + log.warn("SelfHealingPlugin: Recovery context: {}", recoveryContext); + } + + public synchronized void start() { + // check if already running + if (started) { + log.warn("SelfHealingPlugin: Already started"); + return; + } + + eventBus.subscribe(CommandExecutor.EVENT_CLUSTER_NODE_ADDED, this); + eventBus.subscribe(CommandExecutor.EVENT_CLUSTER_NODE_REMOVED, this); + eventBus.subscribe(NetdataCollector.NETDATA_NODE_OK, this); + eventBus.subscribe(NetdataCollector.NETDATA_NODE_FAILED, this); + log.info("SelfHealingPlugin: Started"); + } + + public synchronized void stop() { + if (!started) { + log.warn("SelfHealingPlugin: Not started"); + return; + } + + eventBus.unsubscribe(CommandExecutor.EVENT_CLUSTER_NODE_ADDED, this); + eventBus.unsubscribe(CommandExecutor.EVENT_CLUSTER_NODE_REMOVED, this); + eventBus.unsubscribe(NetdataCollector.NETDATA_NODE_OK, this); + eventBus.unsubscribe(NetdataCollector.NETDATA_NODE_FAILED, this); + + // Cancel all waiting recovery tasks + waitingTasks.forEach((nodeKey,future) -> { + future.cancel(true); + }); + waitingTasks.clear(); + log.info("SelfHealingPlugin: Stopped"); + } + + @Override + public void onMessage(String topic, Object message, Object sender) { + log.debug("SelfHealingPlugin: onMessage(): BEGIN: topic={}, message={}, sender={}", topic, message, sender); + if (!selfHealingProperties.isEnabled()) return; + + // Self-Healing for EMS clients + if (CommandExecutor.EVENT_CLUSTER_NODE_REMOVED.equals(topic)) { + log.debug("SelfHealingPlugin: onMessage(): CLUSTER NODE REMOVED: message={}", message); + processClusterNodeRemovedEvent(message); + } else + if (CommandExecutor.EVENT_CLUSTER_NODE_ADDED.equals(topic)) { + log.debug("SelfHealingPlugin: onMessage(): CLUSTER NODE ADDED: message={}", message); + processClusterNodeAddedEvent(message); + } else + + // Self-healing for Netdata agents + if (NetdataCollector.NETDATA_NODE_FAILED.equals(topic)) { + log.debug("SelfHealingPlugin: onMessage(): NETDATA NODE PAUSED: message={}", message); + processNetdataNodeFailedEvent(message); + } else + if (NetdataCollector.NETDATA_NODE_OK.equals(topic)) { + log.debug("SelfHealingPlugin: onMessage(): NETDATA NODE RESUMED: message={}", message); + processNetdataNodeOkEvent(message); + } else + + // Unsupported message + { + log.debug("SelfHealingPlugin: onMessage(): Unsupported message: topic={}, message={}, sender={}", + topic, message, sender); + } + } + + // ------------------------------------------------------------------------ + + private void processClusterNodeRemovedEvent(Object message) { + log.debug("SelfHealingPlugin: processClusterNodeRemovedEvent(): BEGIN: message={}", message); + if (message instanceof ClusterMembershipEvent) { + // Get removed node id and address + ClusterMembershipEvent event = (ClusterMembershipEvent)message; + String nodeId = event.subject().id().id(); + String nodeAddress = event.subject().address().host(); + log.debug("SelfHealingPlugin: processClusterNodeRemovedEvent(): node-id={}, node-address={}", nodeId, nodeAddress); + if (StringUtils.isBlank(nodeAddress)) { + log.warn("SelfHealingPlugin: processClusterNodeRemovedEvent(): Node address is missing. Cannot recover node. Initial message: {}", event); + return; + } + + createRecoveryTask(nodeId, nodeAddress, recoveryContext, EmsClientRecoveryTask.class); + } else { + log.warn("SelfHealingPlugin: processClusterNodeRemovedEvent(): Message is not a {} object. Will ignore it.", ClusterMembershipEvent.class.getSimpleName()); + } + } + + private void processClusterNodeAddedEvent(Object message) { + log.debug("SelfHealingPlugin: processClusterNodeAddedEvent(): BEGIN: message={}", message); + if (message instanceof ClusterMembershipEvent) { + // Get added node id and address + ClusterMembershipEvent event = (ClusterMembershipEvent)message; + String nodeId = event.subject().id().id(); + String nodeAddress = event.subject().address().host(); + log.debug("SelfHealingPlugin: processClusterNodeAddedEvent(): node-id={}, node-address={}", nodeId, nodeAddress); + if (StringUtils.isBlank(nodeAddress)) { + log.warn("SelfHealingPlugin: processClusterNodeAddedEvent(): Node address is missing. Initial message: {}", event); + return; + } + + // Cancel any waiting recovery task + cancelRecoveryTask(nodeId, nodeAddress, EmsClientRecoveryTask.class, false); + } else { + log.warn("SelfHealingPlugin: processClusterNodeAddedEvent(): Message is not a {} object. Will ignore it.", ClusterMembershipEvent.class.getSimpleName()); + } + } + + // ------------------------------------------------------------------------ + + private void processNetdataNodeFailedEvent(Object message) { + log.debug("SelfHealingPlugin: processNetdataNodeFailedEvent(): BEGIN: message={}", message); + if (!(message instanceof Map)) { + log.warn("SelfHealingPlugin: processNetdataNodeFailedEvent(): Message is not a {} object. Will ignore it.", Map.class.getSimpleName()); + return; + } + + // Get paused node address + Object addressValue = StrUtil.castToMapStringObject(message).getOrDefault("address", null); + log.debug("SelfHealingPlugin: processNetdataNodeFailedEvent(): node-address={}", addressValue); + if (addressValue==null) { + log.warn("SelfHealingPlugin: processNetdataNodeFailedEvent(): Node address is missing. Cannot recover node. Initial message: {}", message); + return; + } + String nodeAddress = addressValue.toString(); + + if (isLocalAddress(nodeAddress)) { + // We are responsible for recovering our local Netdata agent + createRecoveryTask(null, "", recoveryContext, NetdataAgentLocalRecoveryTask.class); + } else { + // Aggregator is responsible for recovering remote Netdata agents + createRecoveryTask(null, nodeAddress, recoveryContext, NetdataAgentRecoveryTask.class); + } + } + + @SneakyThrows + private boolean isLocalAddress(String address) { + if (address.isEmpty()) return true; + if ("127.0.0.1".equals(address)) return true; + if ("::1".equals(address)) return true; + if ("0:0:0:0:0:0:0:1".equals(address)) return true; + InetAddress ia = InetAddress.getByName(address); + if (ia.isAnyLocalAddress() || ia.isLoopbackAddress()) return true; + try { + return NetworkInterface.getByInetAddress(ia) != null; + } catch (SocketException se) { + return false; + } + } + + private void processNetdataNodeOkEvent(Object message) { + log.debug("SelfHealingPlugin: processNetdataNodeOkEvent(): BEGIN: message={}", message); + if (!(message instanceof Map)) { + log.warn("SelfHealingPlugin: processNetdataNodeOkEvent(): Message is not a {} object. Will ignore it.", Map.class.getSimpleName()); + return; + } + + // Get resumed node address + String nodeAddress = StrUtil.castToMapStringObject(message).getOrDefault("address", "").toString(); + log.debug("SelfHealingPlugin: processNetdataNodeOkEvent(): node-address={}", nodeAddress); + /*if (StringUtils.isBlank(nodeAddress)) { + log.warn("SelfHealingPlugin: processNetdataNodeOkEvent(): Node address is missing. Initial message: {}", message); + return; + }*/ + + // Cancel any waiting recovery task + @NonNull Class recoverTaskClass = + StringUtils.isNotBlank(nodeAddress) + ? NetdataAgentRecoveryTask.class + : NetdataAgentLocalRecoveryTask.class; + cancelRecoveryTask(null, nodeAddress, recoverTaskClass, false); + } + + // ------------------------------------------------------------------------ + + private void createRecoveryTask(String nodeId, @NonNull String nodeAddress, RecoveryContext recoveryContext, @NonNull Class recoveryTaskClass) { + // Check if a recovery task has already been scheduled + NodeKey nodeKey = new NodeKey(nodeAddress, recoveryTaskClass); + synchronized (waitingTasks) { + if (waitingTasks.containsKey(nodeKey)) { + log.warn("SelfHealingPlugin: createRecoveryTask(): Recovery has already been scheduled for Node: id={}, address={}", nodeId, nodeAddress); + return; + } + waitingTasks.put(nodeKey, null); + } + + // Get node info and credentials from EMS server + Map nodeInfo = null; + if (StringUtils.isNotBlank(nodeAddress)) { + nodeInfo = nodeInfoHelper.getNodeInfo(nodeId, nodeAddress); + if (nodeInfo == null || nodeInfo.isEmpty()) { + log.warn("SelfHealingPlugin: createRecoveryTask(): Node info is null or empty. Cannot recover node."); + return; + } + log.trace("SelfHealingPlugin: createRecoveryTask(): Node info retrieved for node: id={}, address={}", nodeId, nodeAddress); + } else { + log.debug("SelfHealingPlugin: createRecoveryTask(): Node address is blank. Node info will not be retrieved: id={}, address={}", nodeId, nodeAddress); + } + + // Schedule node recovery task + final RecoveryTask recoveryTask = applicationContext.getBean(recoveryTaskClass); + if (nodeInfo!=null && !nodeInfo.isEmpty()) + recoveryTask.setNodeInfo(nodeInfo); + final AtomicInteger retries = new AtomicInteger(0); + Instant firstAttempt; + Duration retryDelay; + ScheduledFuture future = taskScheduler.scheduleWithFixedDelay( + () -> { + try { + log.info("SelfHealingPlugin: Retry #{}: Recovering node: id={}, address={}", retries.get(), nodeId, nodeAddress); + recoveryTask.runNodeRecovery(recoveryContext); + //NOTE: 'recoveryTask.runNodeRecovery()' must send SELF_HEALING_RECOVERY_COMPLETED or _FAILED event + } catch (Exception e) { + log.error("SelfHealingPlugin: EXCEPTION while recovering node: node-address={} -- Exception: ", nodeAddress, e); + eventBus.send(RecoveryConstant.SELF_HEALING_RECOVERY_FAILED, nodeAddress); + } + if (retries.getAndIncrement() >= selfHealingProperties.getRecovery().getMaxRetries()) { + log.warn("SelfHealingPlugin: Max retries reached. No more recovery retries for node: id={}, address={}", nodeId, nodeAddress); + cancelRecoveryTask(nodeId, nodeAddress, recoveryTaskClass, true); + eventBus.send(RecoveryConstant.SELF_HEALING_RECOVERY_GIVE_UP, nodeAddress); + + // Notify EMS server about giving up recovery due to permanent failure + commandExecutor.notifyEmsServer("RECOVERY GIVE_UP "+nodeId+" @ "+nodeAddress); + } + }, + firstAttempt = Instant.now().plusMillis(selfHealingProperties.getRecovery().getDelay()), + retryDelay = Duration.ofMillis(selfHealingProperties.getRecovery().getRetryDelay()) + ); + waitingTasks.put(nodeKey, future); + log.info("SelfHealingPlugin: createRecoveryTask(): Created recovery task for Node: id={}, address={}, first-attempt-at={}, retry-delay={}", + nodeId, nodeAddress, firstAttempt, DurationFormatUtils.formatDurationHMS(retryDelay.toMillis())); + } + + private void cancelRecoveryTask(String nodeId, @NonNull String nodeAddress, @NonNull Class recoveryTaskClass, boolean retainNodeKey) { + NodeKey nodeKey = new NodeKey(nodeAddress, recoveryTaskClass); + synchronized (waitingTasks) { + ScheduledFuture future = retainNodeKey ? waitingTasks.put(nodeKey, null) : waitingTasks.remove(nodeKey); + if (future != null) { + future.cancel(true); + nodeInfoHelper.remove(nodeId, nodeAddress); + log.info("SelfHealingPlugin: cancelRecoveryTask(): Cancelled recovery task for Node: id={}, address={}", nodeId, nodeAddress); + } else + log.debug("SelfHealingPlugin: cancelRecoveryTask(): No recovery task is scheduled for Node: id={}, address={}", nodeId, nodeAddress); + } + } + + @Data + @AllArgsConstructor + protected static class NodeKey { + private String address; + @NonNull private Class recoveryTaskClass; + } +} diff --git a/ems-core/baguette-client/src/main/resources/META-INF/spring.factories b/ems-core/baguette-client/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..d78b4f3 --- /dev/null +++ b/ems-core/baguette-client/src/main/resources/META-INF/spring.factories @@ -0,0 +1 @@ +org.springframework.boot.env.EnvironmentPostProcessor=gr.iccs.imu.ems.util.NetUtilPostProcessor \ No newline at end of file diff --git a/ems-core/baguette-client/src/main/resources/banner-1.txt b/ems-core/baguette-client/src/main/resources/banner-1.txt new file mode 100644 index 0000000..b089cf8 --- /dev/null +++ b/ems-core/baguette-client/src/main/resources/banner-1.txt @@ -0,0 +1,6 @@ + ____ __ __ _________ __ + / __ )____ _____ ___ _____ / /_/ /____ / ____/ (_)__ ____ / /_ + / __ / __ `/ __ `/ / / / _ \/ __/ __/ _ \ / / / / / _ \/ __ \/ __/ + / /_/ / /_/ / /_/ / /_/ / __/ /_/ /_/ __/ / /___/ / / __/ / / / /_ +/_____/\__,_/\__, /\__,_/\___/\__/\__/\___/ \____/_/_/\___/_/ /_/\__/ + /____/ diff --git a/ems-core/baguette-client/src/main/resources/banner.txt b/ems-core/baguette-client/src/main/resources/banner.txt new file mode 100644 index 0000000..4937e13 --- /dev/null +++ b/ems-core/baguette-client/src/main/resources/banner.txt @@ -0,0 +1,8 @@ + ____ _ _ _____ _ _ _ + | _ \ | | | | / ____| (_) | | + | |_) | __ _ __ _ _ _ ___| |_| |_ ___ | | | |_ ___ _ __ | |_ + | _ < / _` |/ _` | | | |/ _ \ __| __/ _ \ | | | | |/ _ \ '_ \| __| + | |_) | (_| | (_| | |_| | __/ |_| || __/ | |____| | | __/ | | | |_ + |____/ \__,_|\__, |\__,_|\___|\__|\__\___| \_____|_|_|\___|_| |_|\__| + __/ | + |___/ \ No newline at end of file diff --git a/ems-core/baguette-server/pom.xml b/ems-core/baguette-server/pom.xml new file mode 100644 index 0000000..bd67ebb --- /dev/null +++ b/ems-core/baguette-server/pom.xml @@ -0,0 +1,105 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + baguette-server + EMS - Baguette Server + + + + gr.iccs.imu.ems + broker-cep + ${project.version} + compile + + + gr.iccs.imu.ems + translator + ${project.version} + compile + + + * + * + + + + + gr.iccs.imu.ems + common + ${project.version} + + + + + org.apache.sshd + apache-sshd + ${apache-sshd.version} + pom + + + org.slf4j + slf4j-jdk14 + + + org.bouncycastle + * + + + org.springframework + * + + + + + org.apache.sshd + sshd-scp + ${apache-sshd.version} + + + + + org.projectlombok + lombok + provided + + + org.springframework.boot + spring-boot-starter + + + + javax.validation + validation-api + 2.0.1.Final + + + + + org.apache.commons + commons-text + + + + + org.glassfish.jersey.core + jersey-common + 3.1.3 + + + + diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/BaguetteServer.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/BaguetteServer.java new file mode 100644 index 0000000..b3227df --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/BaguetteServer.java @@ -0,0 +1,553 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server; + +import gr.iccs.imu.ems.baguette.server.properties.BaguetteServerProperties; +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.common.recovery.RecoveryConstant; +import gr.iccs.imu.ems.common.selfhealing.SelfHealingManager; +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.util.*; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringSubstitutor; +import org.slf4j.event.Level; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.time.Instant; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Baguette Server + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class BaguetteServer implements InitializingBean, EventBus.EventConsumer { + private final BaguetteServerProperties config; + private final PasswordUtil passwordUtil; + private final NodeRegistry nodeRegistry; + + private final EventBus eventBus; + @Getter + private final SelfHealingManager selfHealingManager; + private final TaskScheduler taskScheduler; + + private Sshd server; + + private Map> groupingTopicsMap; + private Map>> groupingRulesMap; + private Map>> topicConnections; + private Map constants; + private Set functionDefinitions; + private String upperwareGrouping; + private String upperwareBrokerUrl; + private BrokerCepService brokerCepService; + + @Override + public void afterPropertiesSet() { + // Generate a new, random username/password pair and add it to provided credentials + generateUsernamePassword(); + } + + private void generateUsernamePassword() { + String genUsername = "user-"+UUID.randomUUID(); + String genPassword = RandomStringUtils.randomAlphanumeric(32, 64); + CredentialsMap credentials = config.getCredentials(); + credentials.put(genUsername, genPassword, true); + log.info("BaguetteServer: Generated new username/password: username={}, password={}", + genUsername, credentials.getPasswordEncoder()!=null + ? credentials.getPasswordEncoder().encode(genPassword) + : passwordUtil.encodePassword(genPassword)); + } + + // Configuration getter methods + public Set getGroupingNames() { + return getGroupingNames(true); + } + + public Set getGroupingNames(boolean removeUpperware) { + Set groupings = new HashSet<>(); + groupings.addAll(groupingTopicsMap.keySet()); + groupings.addAll(groupingRulesMap.keySet()); + groupings.addAll(topicConnections.keySet()); + // remove upperware grouping (i.e. GLOBAL) + if (removeUpperware) groupings.remove(upperwareGrouping); + return groupings; + } + + private List getGroupingsSorted(boolean removeUpperware, boolean ascending) { + List list = getGroupingNames(removeUpperware).stream() + .map(GROUPING::valueOf) + .sorted() + .collect(Collectors.toList()); + if (ascending) Collections.reverse(list); + return list; + } + + private List getGroupingNamesSorted(boolean removeUpperware, boolean ascending) { + return getGroupingsSorted(removeUpperware, ascending).stream() + .map(GROUPING::name) + .collect(Collectors.toList()); + } + + private String getLowestLevelGroupingName() { + List list = getGroupingNamesSorted(false, true); + return !list.isEmpty() ? list.get(0) : null; + } + + public BaguetteServerProperties getConfiguration() { + return config; + } + + public Set getTopicsForGrouping(String grouping) { + return groupingTopicsMap.get(grouping); + } + + public Map> getRulesForGrouping(String grouping) { + return groupingRulesMap.get(grouping); + } + + public Map> getTopicConnectionsForGrouping(String grouping) { + return topicConnections.get(grouping); + } + + public Map getConstants() { + return constants; + } + + public Set getFunctionDefinitions() { + return functionDefinitions; + } + + public String getUpperwareGrouping() { return upperwareGrouping; } + + public String getUpperwareBrokerUrl() { return upperwareBrokerUrl; } + + public String getBrokerUsername() { return brokerCepService.getBrokerUsername(); } + + public String getBrokerPassword() { return brokerCepService.getBrokerPassword(); } + + public BrokerCepService getBrokerCepService() { return brokerCepService; } + + public String getServerPubkey() { return server.getPublicKey(); } + + public String getServerPubkeyFingerprint() { return server.getPublicKeyFingerprint(); } + + public String getServerPubkeyAlgorithm() { return server.getPublicKeyAlgorithm(); } + + public String getServerPubkeyFormat() { return server.getPublicKeyFormat(); } + + public NodeRegistry getNodeRegistry() { return nodeRegistry; } + + // Server control methods + public synchronized void startServer(ServerCoordinator coordinator) throws IOException { + if (server == null) { + eventBus.subscribe(RecoveryConstant.SELF_HEALING_RECOVERY_GIVE_UP, this); + + log.info("BaguetteServer.startServer(): Starting SSH server..."); + nodeRegistry.setCoordinator(coordinator); + Sshd server = new Sshd(); + server.start(config, coordinator, eventBus, nodeRegistry); + server.setNodeRegistry(getNodeRegistry()); + this.server = server; + log.info("BaguetteServer.startServer(): Starting SSH server... done"); + } else { + log.info("BaguetteServer.startServer(): SSH server is already running"); + } + } + + public synchronized void stopServer() throws IOException { + if (server != null) { + eventBus.unsubscribe(RecoveryConstant.SELF_HEALING_RECOVERY_GIVE_UP, this); + + log.info("BaguetteServer.setServerConfiguration(): stopping SSH server..."); + server.stop(); + this.server = null; + nodeRegistry.setCoordinator(null); + log.info("BaguetteServer.setServerConfiguration(): stopping SSH server... done"); + } else { + log.info("BaguetteServer.stop(): No SSH server instance is running"); + } + } + + public synchronized void restartServer(ServerCoordinator coordinator) throws IOException { + stopServer(); + startServer(coordinator); + } + + public synchronized boolean isServerRunning() { + return server != null; + } + + @Override + public void onMessage(String topic, Object message, Object sender) { + log.trace ("BaguetteServer.onMessage: BEGIN: topic={}, message={}, sender={}", topic, message, sender); + + String nodeAddress = (message!=null) ? message.toString() : null; + log.trace("BaguetteServer.onMessage: nodeAddress={}", nodeAddress); + + if (RecoveryConstant.SELF_HEALING_RECOVERY_GIVE_UP.equals(topic)) { + if (StringUtils.isNotBlank(nodeAddress)) { + NodeRegistryEntry node = nodeRegistry.getNodeByAddress(nodeAddress); + if (node!=null) { + node.nodeFailed(null); + log.info("BaguetteServer.onMessage: Marked Node as Failed: {}", nodeAddress); + } else { + log.warn("BaguetteServer.onMessage: Node with Address not found: {}", nodeAddress); + log.debug("BaguetteServer.onMessage: Node addresses: {}", nodeRegistry.getNodeAddresses()); + } + } + } else { + log.warn("BaguetteServer.onMessage: Event from unexpected topic received. Ignoring it: {}", topic); + } + } + + // Topology configuration methods + public synchronized void setTopologyConfiguration( + TranslationContext _TC, + Map constants, + String upperwareGrouping, + BrokerCepService brokerCepService) + throws IOException + { + log.debug("BaguetteServer.setTopologyConfiguration(): BEGIN"); + + // Set new configuration + this.groupingTopicsMap = _TC.getG2T(); + this.groupingRulesMap = _TC.getG2R(); + this.topicConnections = _TC.getTopicConnections(); + this.constants = constants; + this.functionDefinitions = _TC.getFunctionDefinitions(); + this.upperwareGrouping = upperwareGrouping; + this.upperwareBrokerUrl = brokerCepService.getBrokerCepProperties().getBrokerUrlForClients(); + this.brokerCepService = brokerCepService; + + // Print new configuration + log.debug("BaguetteServer.setTopologyConfiguration(): Grouping-to-Topics (G2T): {}", groupingTopicsMap); + log.debug("BaguetteServer.setTopologyConfiguration(): Grouping-to-Rules (G2R): {}", groupingRulesMap); + log.debug("BaguetteServer.setTopologyConfiguration(): Topic-Connections: {}", topicConnections); + log.debug("BaguetteServer.setTopologyConfiguration(): Constants: {}", constants); + log.debug("BaguetteServer.setTopologyConfiguration(): Function-Definitions: {}", functionDefinitions); + log.debug("BaguetteServer.setTopologyConfiguration(): Upperware-grouping: {}", upperwareGrouping); + log.debug("BaguetteServer.setTopologyConfiguration(): Upperware-broker-url: {}", upperwareBrokerUrl); + log.debug("BaguetteServer.setTopologyConfiguration(): Broker-credentials: username={}, password={}", + brokerCepService.getBrokerUsername(), passwordUtil.encodePassword(brokerCepService.getBrokerPassword())); + + // Stop any running instance of SSH server + stopServer(); + + // Clear node registry + nodeRegistry.clearNodes(); + + log.debug("BaguetteServer.setTopologyConfiguration(): Baguette server configuration: {}", config); + log.debug("BaguetteServer.setTopologyConfiguration(): Baguette Server credentials: {}", config.getCredentials()); + + // Initialize server coordinator + log.debug("BaguetteServer.setTopologyConfiguration(): Initializing Baguette protocol coordinator..."); + ServerCoordinator coordinator = createServerCoordinator(config, _TC, upperwareGrouping); + log.debug("BaguetteServer.setTopologyConfiguration(): Coordinator: {}", coordinator.getClass().getName()); + coordinator.initialize(_TC, upperwareGrouping, this, () -> + { + log.info("****************************************"); + log.info("**** MONITORING TOPOLOGY IS READY ****"); + log.info("****************************************"); + } + ); + + // Start a new instance of SSH server + startServer(coordinator); + + log.debug("BaguetteServer.setTopologyConfiguration(): END"); + } + + protected static ServerCoordinator createServerCoordinator(BaguetteServerProperties config, TranslationContext _TC, String upperwareGrouping) { + // Initialize coordinator class and parameters for backward compatibility + Class coordinatorClass = config.getCoordinatorClass(); + Map coordinatorParams = config.getCoordinatorParameters(); + + // Check if Coordinator Id has been specified (this overrides) + for (String id : config.getCoordinatorId()) { + if (StringUtils.isBlank(id)) + throw new IllegalArgumentException("Coordinator Id cannot be null or blank"); + + // Get coordinator class and parameters by Id + BaguetteServerProperties.CoordinatorConfig coordConfig = config.getCoordinatorConfig().get(id); + if (coordConfig == null) + throw new IllegalArgumentException("Not found coordinator configuration with id: " + id); + coordinatorClass = coordConfig.getCoordinatorClass(); + if (coordinatorClass == null) + throw new IllegalArgumentException("Not found coordinator class in configuration with id: " + id); + coordinatorParams = coordConfig.getParameters(); + + // Initialize coordinator instance + ServerCoordinator coordinator = createServerCoordinator(id, coordinatorClass, coordinatorParams, _TC, upperwareGrouping); + + if (coordinator != null) + return coordinator; + // else try the next coordinator in configuration + } + + if (coordinatorClass == null) + throw new IllegalArgumentException("Either coordinator class or coordinator id must be specified"); + + // Initialize coordinator class and parameters for backward compatibility + ServerCoordinator coordinator = createServerCoordinator(null, coordinatorClass, coordinatorParams, _TC, upperwareGrouping); + if (coordinator == null) { + log.error("No configured coordinator supports Translation Context.\nCoordinator Id's: {}\nDefault coordinator: {}\nTranslation Context:\n{}", + config.getCoordinatorId(), coordinatorClass, _TC); + throw new IllegalArgumentException("No configured coordinator supports Translation Context"); + } + return coordinator; + } + + @SneakyThrows + private static ServerCoordinator createServerCoordinator(String id, Class coordinatorClass, Map coordinatorParams, TranslationContext _TC, String upperwareGrouping) { + log.debug("createServerCoordinator: Instantiating coordinator with id: {}", id); + + // Initialize coordinator instance + ServerCoordinator coordinator = coordinatorClass.getConstructor().newInstance(); + + // Set coordinator parameters + coordinator.setProperties(coordinatorParams); + + // Check if coordinator supports this Translation Context + if (!coordinator.isSupported(_TC)) { + log.debug("createServerCoordinator: Coordinator does not support Translation Context: id={}", id); + return null; + } + + log.debug("createServerCoordinator: Coordinator supports Translation Context: id={}", id); + return coordinator; + } + + public void sendToActiveClients(String command) { + server.sendToActiveClients(command); + } + + public void sendToClient(String clientId, String command) { + server.sendToClient(clientId, command); + } + + public void sendToActiveClusters(String command) { + server.sendToActiveClusters(command); + } + + public void sendToCluster(String clusterId, String command) { + server.sendToCluster(clusterId, command); + } + + public Object readFromClient(String clientId, String command, Level logLevel) { + return server.readFromClient(clientId, command, logLevel); + } + + public List getActiveClients() { + return ClientShellCommand.getActive().stream() + .map(c -> { + NodeRegistryEntry entry = getNodeRegistryEntryFromClientShellCommand(c); + return formatClientList(c, entry); + }) + .sorted() + .collect(Collectors.toList()); + } + + public Map> getActiveClientsMap() { + return ClientShellCommand.getActive().stream() + .map(c -> { + NodeRegistryEntry entry = getNodeRegistryEntryFromClientShellCommand(c); + return prepareClientMap(c, entry); + }) + .sorted(Comparator.comparing(m -> m.get("id"))) + .collect(Collectors.toMap(m -> m.get("id"), m -> m, + (u,v) -> { throw new IllegalStateException(String.format("Duplicate key %s", u)); }, + LinkedHashMap::new)); + } + + private NodeRegistryEntry getNodeRegistryEntryFromClientShellCommand(ClientShellCommand c) { + NodeRegistryEntry entry = c.getNodeRegistryEntry(); + if (entry==null) + entry = getNodeRegistry().getNodeByAddress(c.getClientIpAddress()); + log.debug("getNodeRegistryEntryFromClientShellCommand: CSC ip-address: {}", c.getClientIpAddress()); + log.debug("getNodeRegistryEntryFromClientShellCommand: CSC NR entry: {}", entry!=null ? entry.getPreregistration() : null); + /*if (entry==null) { + log.warn("getNodeRegistryEntryFromClientShellCommand: WARN: ** NOT SECURE ** CSC client-id: {}", c.getClientId()); + entry = getNodeRegistry().getNodeByClientId(c.getClientId()); + log.debug("getNodeRegistryEntryFromClientShellCommand: WARN: ** NOT SECURE ** CSC NR entry: {}", entry!=null ? entry.getPreregistration() : null); + }*/ + return entry; + } + + public List getNodesWithoutClient() { + return createClientList(new HashSet<>(Collections.singletonList(NodeRegistryEntry.STATE.NOT_INSTALLED))); + } + + public Map> getNodesWithoutClientMap() { + return createClientMap(new HashSet<>(Collections.singletonList(NodeRegistryEntry.STATE.NOT_INSTALLED))); + } + + public List getIgnoredNodes() { + return createClientList(new HashSet<>(Collections.singletonList(NodeRegistryEntry.STATE.IGNORE_NODE))); + } + + public Map> getIgnoredNodesMap() { + return createClientMap(new HashSet<>(Collections.singletonList(NodeRegistryEntry.STATE.IGNORE_NODE))); + } + + public List getPassiveNodes() { + return createClientList(new HashSet<>(Arrays.asList(NodeRegistryEntry.STATE.NOT_INSTALLED, NodeRegistryEntry.STATE.IGNORE_NODE))); + } + + public Map> getPassiveNodesMap() { + return createClientMap(new HashSet<>(Arrays.asList(NodeRegistryEntry.STATE.NOT_INSTALLED, NodeRegistryEntry.STATE.IGNORE_NODE))); + } + + public List getAllNodes() { + return createClientList(new HashSet<>(Arrays.asList(NodeRegistryEntry.STATE.values()))); + } + + public Map> getAllNodesMap() { + return createClientMap(new HashSet<>(Arrays.asList(NodeRegistryEntry.STATE.values()))); + } + + private List createClientList(Set states) { + return nodeRegistry.getNodes().stream() + .filter(entry->states.contains(entry.getState())) + .map(entry -> { + log.debug("createClientList: Node ip-address: {}", entry.getIpAddress()); + log.debug("createClientList: Node preregistration info: {}", entry.getPreregistration()); + ClientShellCommand c = getClientShellCommandFromNodeRegistryEntry(entry); + return formatClientList(c, entry); + }) + .sorted() + .collect(Collectors.toList()); + } + + private Map> createClientMap(Set states) { + return nodeRegistry.getNodes().stream() + .filter(entry -> states.contains(entry.getState())) + .sorted(Comparator.comparing(NodeRegistryEntry::getClientId)) + .collect(Collectors.toMap(NodeRegistryEntry::getClientId, entry -> { + log.debug("createClientMap: Node ip-address: {}", entry.getIpAddress()); + log.debug("createClientMap: Node preregistration info: {}", entry.getPreregistration()); + ClientShellCommand c = getClientShellCommandFromNodeRegistryEntry(entry); + return prepareClientMap(c, entry); + }, (u,v) -> { throw new IllegalStateException(String.format("Duplicate key %s", u)); }, LinkedHashMap::new)); + } + + private ClientShellCommand getClientShellCommandFromNodeRegistryEntry(NodeRegistryEntry entry) { + return StringUtils.isNotBlank(entry.getIpAddress()) + ? ClientShellCommand.getActiveByIpAddress(entry.getIpAddress()) : null; + } + + private String formatClientList(ClientShellCommand c, NodeRegistryEntry entry) { + final StringBuilder sb = new StringBuilder(); + prepareClientMap(c, entry).forEach((k,v)->{ + if ("id".equals(k)) sb.append(v); + else if ("node-port".equals(k)) sb.append(":").append(v); + else sb.append(" ").append(v); + }); + return sb.toString(); + } + + private Map prepareClientMap(ClientShellCommand c, NodeRegistryEntry entry) { + // Get node hostname + String address = entry!=null ? entry.getIpAddress() : c.getClientIpAddress(); + String hostname = entry!=null ? entry.getHostname() : null; + if (StringUtils.isBlank(hostname)) { + if (c!=null) + hostname = c.getClientClusterNodeHostname(); + if (StringUtils.isNotBlank(hostname)) { + if (c!=null) c.setClientClusterNodeHostname(hostname); + if (entry!=null) entry.setHostname(hostname); + } + + // Resolve hostname in a separate thread to avoid blocking this method (and the Web Admin updates) + if (config.isResolveHostname() && StringUtils.isBlank(hostname)) { + taskScheduler.schedule(()->{ + try { + String _hostname = InetAddress.getByName(address).getHostName(); + if (StringUtils.isNotBlank(_hostname)) { + if (c!=null) c.setClientClusterNodeHostname(_hostname); + if (entry!=null) entry.setHostname(_hostname); + } + } catch (Exception e) { + log.warn("Failed to resolve client hostname from IP address: {}\n", address, e); + } + }, Instant.now()); + } + } + + // Prepare node info map + Map properties = new LinkedHashMap<>(); + properties.put("id", c!=null ? c.getId() : entry.getClientId()); + properties.put("ip-address", address); + properties.put("node-hostname", c!=null ? c.getClientClusterNodeHostname() : hostname); + properties.put("node-port", Integer.toString(c!=null ? c.getClientClusterNodePort() : -1)); + properties.put("node-status", c!=null ? c.getClientNodeStatus() : null); + properties.put("node-zone", (entry!=null && entry.getClusterZone()!=null) ? entry.getClusterZone().getId() : null); //c.getClientZone()!=null ? c.getClientZone().getId() : null + properties.put("grouping", c!=null ? c.getClientGrouping() : (entry.getState()==NodeRegistryEntry.STATE.NOT_INSTALLED ? getLowestLevelGroupingName() : null)); + properties.put("reference", entry!=null ? entry.getReference() : null); + properties.put("node-id", c!=null ? c.getClientProperty("node-id") : null); + properties.put("node-state", entry!=null && entry.getState()!=null ? entry.getState().toString() : null); + properties.put("errors", entry!=null && entry.getErrors()!=null + ? entry.getErrors().stream() + .filter(Objects::nonNull) + .map(Object::toString) + .collect(Collectors.joining(" | ")) + : null); + return properties; + } + + public void sendConstants(Map constants) { + server.sendConstants(constants); + } + + public NodeRegistryEntry registerClient(Map nodeInfoMap) throws UnknownHostException { + log.debug("BaguetteServer.registerClient(): node-info={}", nodeInfoMap); + + Map nodeInfo = new HashMap<>(nodeInfoMap); + + // Create client id and random UUID + String clientId = nodeInfoMap.get("CLIENT_ID")!=null && StringUtils.isNotBlank(nodeInfoMap.get("CLIENT_ID").toString()) + ? nodeInfoMap.get("CLIENT_ID").toString() + : generateClientIdFromNodeInfo(nodeInfo); + Object randomUuid = UUID.randomUUID().toString(); + nodeInfo.put("random", randomUuid); + log.debug("BaguetteServer.registerClient(): client-id={}, random-UUID={}", clientId, randomUuid); + + // Add node info into node registry + return nodeRegistry.addNode(nodeInfo, clientId); + } + + public String generateClientIdFromNodeInfo(Map nodeInfo) { + String clientId; + String formatter = getConfiguration().getClientIdFormat(); + if (StringUtils.isBlank(formatter)) { + log.debug("BaguetteServer.registerClient(): No formatter specified. A random uuid will be returned"); + clientId = UUID.randomUUID().toString(); + } else { + String escape = Optional.ofNullable(getConfiguration().getClientIdFormatEscape()).orElse("~"); + formatter = formatter.replace(escape,"$"); + log.debug("BaguetteServer.registerClient(): formatter={}", formatter); + clientId = StringSubstitutor.replace(formatter, nodeInfo); + } + return clientId; + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/ClientShellCommand.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/ClientShellCommand.java new file mode 100644 index 0000000..e873f28 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/ClientShellCommand.java @@ -0,0 +1,735 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.google.gson.Gson; +import gr.iccs.imu.ems.baguette.server.coordinator.cluster.IClusterZone; +import gr.iccs.imu.ems.common.recovery.RecoveryConstant; +import gr.iccs.imu.ems.util.*; +import lombok.Getter; +import lombok.NonNull; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.sshd.common.session.Session; +import org.apache.sshd.common.session.SessionListener; +import org.apache.sshd.server.channel.ChannelSession; +import org.apache.sshd.server.command.Command; +import org.apache.sshd.server.Environment; +import org.apache.sshd.server.ExitCallback; +import org.apache.sshd.server.session.ServerSession; +import org.apache.sshd.server.session.ServerSessionAware; +import org.cryptacular.util.CertUtil; +import org.slf4j.event.Level; + +import javax.validation.constraints.NotBlank; +import java.io.*; +import java.net.InetSocketAddress; +import java.nio.charset.StandardCharsets; +import java.security.cert.X509Certificate; +import java.util.*; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Collectors; + +@Slf4j +public class ClientShellCommand implements Command, Runnable, ServerSessionAware { + + private final static Object LOCK = new Object(); + private final static AtomicLong counter = new AtomicLong(0); + private final static Set activeCmdList = new HashSet<>(); + private final static Map activeCmdMap = new HashMap<>(); + private final static long INPUT_CHECK_DELAY = 100; + + public static Set getActive() { + return Collections.unmodifiableSet(activeCmdList); + } + + public static Set getActiveIds() { + return Collections.unmodifiableSet(activeCmdMap.keySet()); + } + + public static ClientShellCommand getActiveByIpAddress(@NotBlank String address) { + return activeCmdMap.get(address); + } + + public static ClientShellCommand getActiveById(@NotBlank String id) { + return activeCmdList.stream().filter(csc->csc.getId().equals(id)).findFirst().orElse(null); + } + + private InputStream in; + private PrintStream out; + private PrintStream err; + private ExitCallback callback; + private final AtomicBoolean callbackCalled = new AtomicBoolean(false); + + @Getter @Setter + private String id; + @Getter @Setter + private boolean echoOn = false; + + private String clientId; + @Getter private String clientBrokerUrl; + @Getter private String clientBrokerUsername; + @Getter private String clientBrokerPassword; + private String clientIpAddress; + private String clientHostname; + private String clientCanonicalHostname; + private int clientPort = -1; + @Getter private String clientCertificate; // Broker certificate of Client + + @Getter @Setter private int clientClusterNodePort; + @Getter @Setter private String clientClusterNodeAddress; + @Getter @Setter private String clientClusterNodeHostname; + @Getter @Setter private IClusterZone clientZone; + @Getter private String clientNodeStatus; + @Getter private String clientGrouping; + private final Properties clientProperties = new Properties(); + + private final ServerCoordinator coordinator; + private final boolean clientAddressOverrideAllowed; + @Getter + private ServerSession session; + @Getter @Setter + private boolean closeConnection = false; + + private final Map inputsMap = new HashMap<>(); + private final EventBus eventBus; + @Getter + private Exception lastException; + @JsonIgnore + private final transient NodeRegistry nodeRegistry; + @Setter + private NodeRegistryEntry nodeRegistryEntry; + + @Getter + private Map clientStatistics; + + public ClientShellCommand(ServerCoordinator coordinator, boolean allowClientOverrideItsAddress, EventBus eventBus, NodeRegistry registry) { + synchronized (LOCK) { + id = String.format("#%05d", counter.getAndIncrement()); + } + this.coordinator = coordinator; + this.clientAddressOverrideAllowed = allowClientOverrideItsAddress; + this.eventBus = eventBus; + this.nodeRegistry = registry; + } + + @JsonIgnore + public NodeRegistry getNodeRegistry() { + return nodeRegistry; + } + + public void setSession(ServerSession session) { + log.info("{}--> Got session : {}", id, session); + this.session = session; + eventBus.send("BAGUETTE_SERVER_CLIENT_SESSION_STARTED", this); + + /*try { + String clientIpAddr = ((InetSocketAddress)session.getIoSession().getRemoteAddress()).getAddress().getHostAddress(); + int clientPort = ((InetSocketAddress)session.getIoSession().getRemoteAddress()).getPort(); + log.info("{}--> Client connection : {}:{}", id, clientIpAddr, clientPort); + String username = session.getUsername(); + log.info("{}--> Client session username: {}", username); + } catch (Exception ex) {}*/ + + session.addSessionListener(new SessionListener() { + @Override + public void sessionException(Session session, Throwable t) { + log.warn("{}--> SessionListener: sessionException Throwable: ", id, t); + } + @Override + public void sessionClosed(Session session) { + log.info("{}--> SessionListener: sessionClosed", id); + } + }); + + // Initialize NodeRegistryEntry for this CSC + initNodeRegistryEntry(); + } + + private void initNodeRegistryEntry() { + String address = getClientIpAddress(); + NodeRegistryEntry entry = coordinator.getServer().getNodeRegistry().getNodeByAddress(address); + log.debug("{}--> initNodeRegistryEntry: Node registry entry for CSC: address={}, entry={}", id, address, entry); + log.trace("{}--> initNodeRegistryEntry: Current nodeRegistryEntry: {}", id, entry); + if (entry!=null) { + setNodeRegistryEntry(entry); + } else { + log.error("{}--> initNodeRegistryEntry: No node registry entry found for client: address={}", id, address); + log.error("{}--> initNodeRegistryEntry: Marked client session for immediate close: address={}", id, address); + setCloseConnection(true); + } + } + + public void setInputStream(InputStream in) { + this.in = in; + } + + public void setOutputStream(OutputStream out) { + this.out = new PrintStream(out, true); + } + + public void setErrorStream(OutputStream err) { + this.err = new PrintStream(err, true); + } + + public void setExitCallback(ExitCallback callback) { + this.callback = callback; + } + + @Override + public void start(ChannelSession channelSession, Environment environment) throws IOException { + new Thread(this).start(); + } + + @Override + public void destroy(ChannelSession channelSession) throws Exception { + } + + public void run() { + // Check if session has been marked for immediate close + if (closeConnection) { + log.warn("{}--> Exiting immediately because 'closeConnection' flag is set", id); + eventBus.send("BAGUETTE_SERVER_CLIENT_SESSION_CLOSING_IMMEDIATELY", this); + coordinator.unregister(this); + if (this.session!=null && this.session.isOpen()) { + try { + this.session.close(); + } catch (IOException e) { + log.warn("Closing session caused on exception: ", e); + } + this.session = null; + } + if (!callbackCalled.getAndSet(true)) { + callback.onExit(2); + } + log.info("{}--> Thread stopped immediately", id); + eventBus.send("BAGUETTE_SERVER_CLIENT_SESSION_CLOSED_IMMEDIATELY", this); + return; + } + + // Add this CSC in active list + synchronized (activeCmdList) { + if (activeCmdMap.containsKey(getClientIpAddress()) || activeCmdMap.containsValue(this)) + throw new IllegalArgumentException("ClientShellCommand has already been registered"); + activeCmdList.add(this); + activeCmdMap.put(getClientIpAddress(), this); + } + eventBus.send("BAGUETTE_SERVER_CLIENT_STARTING", this); + getNodeRegistryEntry().nodeRegistering(null); + + // Process client input + try { + log.info("{}==> Thread started", id); + out.printf("CLIENT (%s) : START\n", id); + + this.clientIpAddress = getClientIpAddress(); + + // Enter the main processing loop + BufferedReader reader = new BufferedReader(new InputStreamReader(in)); + String line; + boolean helloReceived = false; + while ((line = reader.readLine()) != null) { + line = line.trim(); + log.debug("{}--> {}", id, line); + + // Echo command (if configured) + //if (echoOn) out.printf("CLIENT (%s) : ECHO : %s\n", id, line); + if (echoOn) out.printf("ECHO %s\n", line); + //if (line.equalsIgnoreCase("exit")) break; + + if (!helloReceived && line.startsWith("-HELLO FROM CLIENT:")) { + // Process the Greeting line from client -- It must be the first line received + helloReceived = true; + getClientInfoFromGreeting(line.substring("-HELLO FROM CLIENT:".length())); + + // Register CSC to Coordinator + coordinator.register(this); + eventBus.send("BAGUETTE_SERVER_CLIENT_REGISTERED", this); + getNodeRegistryEntry().nodeRegistered(null); + + // Instruct client to start sending statistics + sendCommand("SEND-STATS START"); + } else { + // Process the subsequent lines from client -- After the Greeting line + processClientInput(line); + } + } + // Client connection closed + eventBus.send("BAGUETTE_SERVER_CLIENT_EXITING", this); + getNodeRegistryEntry().nodeExiting(null); + + log.info("{}==> Signaling client to exit", id); + out.println("EXIT"); + + } catch (Exception ex) { + log.warn("{}==> EXCEPTION : ", id, ex); + out.printf("EXCEPTION %s\n", ex); + this.lastException = ex; + eventBus.send("BAGUETTE_SERVER_CLIENT_EXCEPTION", this); + NodeRegistryEntry entry = getNodeRegistryEntry(); + if (entry.getState()==NodeRegistryEntry.STATE.REGISTERING) entry.nodeRegistrationError(ex); + else entry.nodeDisconnected(ex); + } finally { + // Remove CSC from active list + synchronized (activeCmdList) { + activeCmdList.remove(this); + activeCmdMap.remove(getClientIpAddress()); + } + log.info("{}--> Thread stops", id); + + // Unregister from Coordinator + coordinator.unregister(this); + eventBus.send("BAGUETTE_SERVER_CLIENT_UNREGISTERED", this); + + // Invoke callback if provided + if (!callbackCalled.getAndSet(true)) { + callback.onExit(0); + } + eventBus.send("BAGUETTE_SERVER_CLIENT_EXITED", this); + if (getNodeRegistryEntry().getState()==NodeRegistryEntry.STATE.EXITING) + getNodeRegistryEntry().nodeExited(null); + } + } + + private void processClientInput(String line) throws IOException, ClassNotFoundException { + if (line.startsWith("-INPUT:")) { + String input = line.substring("-INPUT:".length()); + String[] part = input.split(":",2 ); + inputsMap.put(part[0].trim(), SerializationUtil.deserializeFromString(part[1])); + } else if (StringUtils.startsWithIgnoreCase(line, "SERVER-")) { + String[] lineArgs = line.split(" ", 2); + if ("SERVER-GET-NODE-SSH-CREDENTIALS".equalsIgnoreCase(lineArgs[0].trim()) && lineArgs.length>1) { + String nodeAddress = lineArgs[1].trim(); + if (!nodeAddress.isEmpty()) { + NodeRegistryEntry entry = nodeRegistry.getNodeByAddress(nodeAddress); + if (entry!=null) { + Map preregInfo = entry.getPreregistration(); + log.debug("{}--> NODE PRE-REGISTRATION INFO: address={}\n{}", getId(), nodeAddress, preregInfo); + + if (preregInfo!=null) { + String preregInfoStr = new Gson().toJson(preregInfo); + log.trace("{}--> NODE PRE-REGISTRATION INFO STRING: STR={}\n{}", getId(), nodeAddress, preregInfoStr); + sendToClient(preregInfoStr); + } else { + log.warn("{}--> NO PRE-REGISTRATION INFO FOR NODE: {}", getId(), nodeAddress); + sendToClient("{}"); + } + } else { + log.warn("{}--> UNKNOWN NODE: {}", getId(), nodeAddress); + sendToClient("{}"); + } + } + } + } else if (line.startsWith("-NOTIFY-GROUPING-CHANGE:")) { + String newGrouping = line.substring("-NOTIFY-GROUPING-CHANGE:".length()).trim(); + log.info("{}--> Client grouping changed: {} --> {}", getId(), clientGrouping, newGrouping); + if (StringUtils.isNotBlank(newGrouping) && ! StringUtils.equals(clientGrouping, newGrouping)) + this.clientGrouping = newGrouping; + } else if (line.startsWith("-NOTIFY-STATUS-CHANGE:")) { + String newNodeStatus = line.substring("-NOTIFY-STATUS-CHANGE:".length()).trim(); + log.info("{}--> Client status changed: {} --> {}", getId(), clientNodeStatus, newNodeStatus); + if (StringUtils.isNotBlank(newNodeStatus) && ! StringUtils.equals(clientNodeStatus, newNodeStatus)) + this.clientNodeStatus = newNodeStatus; + } else if (line.startsWith("-NOTIFY-X:")) { + String message = line.substring("-NOTIFY-X:".length()).trim(); + String[] part = message.split(" ", 2); + String command = part[0].trim(); + String args = part.length>1 ? part[1] : null; + log.info("{}--> Client notification: CMD={}, ARGS={}", getId(), command, args); + + if ("DEBUG".equalsIgnoreCase(command)) { + log.debug("{}--> {}", getId(), args); + } else + if ("INFO".equalsIgnoreCase(command)) { + log.info("{}--> {}", getId(), args); + } else + if ("WARN".equalsIgnoreCase(command)) { + log.warn("{}--> {}", getId(), args); + } else + if ("ERROR".equalsIgnoreCase(command)) { + log.error("{}--> {}", getId(), args); + } else + if ("RECOVERY".equalsIgnoreCase(command)) { + args = args==null ? "" : args; + part = args.split(" ", 2); + String notificationType = part[0].trim(); + String clientData = part.length>1 ? part[1] : null; + if (StringUtils.isNotBlank(notificationType) && StringUtils.isNotBlank(clientData)) { + log.info("{}--> Client Recovery Notification: {}: {}", getId(), notificationType, clientData); + if ("GIVE_UP".equalsIgnoreCase(notificationType)) { + String[] tmp = clientData.split("@", 2); + String nodeId = tmp[0].trim(); + String nodeAddress = tmp.length>1 ? tmp[1].trim() : null; + if (StringUtils.isNotBlank(nodeAddress)) + eventBus.send(RecoveryConstant.SELF_HEALING_RECOVERY_GIVE_UP, nodeAddress, "Client_" + getId()); + else + log.warn("{}--> Missing Node Address in Client Recovery Notification: {}", getId(), args); + } else + log.warn("{}--> UNKNOWN Client Recovery Notification: {}", getId(), args); + } else { + log.warn("{}--> INVALID Client Recovery Notification: {}", getId(), args); + } + } else + { + log.warn("{}--> UNKNOWN Client Notification type: {}", getId(), message); + } + + } else if (line.startsWith("-CLIENT-PROPERTY-CHANGE:")) { + String[] part = line.substring("-CLIENT-PROPERTY-CHANGE:".length()).trim().split(" ", 2); + String propertyName = part[0]; + String propertyValue = part.length > 1 ? part[1] : null; + String oldValue = clientProperties.getProperty(propertyName); + if (StringUtils.isNotBlank(propertyName)) { + log.info("{}--> Client property changed: {} = {} --> {}", getId(), propertyName, oldValue, propertyValue); + clientProperties.put(propertyName.trim(), propertyValue); + } else { + log.warn("{}--> Invalid Client property: input line: ", line); + } + } else if (line.startsWith("-STATS:")) { + String statsStr = line.substring("-STATS:".length()); + Object statsObj = SerializationUtil.deserializeFromString(statsStr); + if (statsObj instanceof Map) { + Map statsMap = StrUtil.castToMapStringObject(statsObj); + statsMap.put("_received_at_server_timestamp", System.currentTimeMillis()); + log.debug("{}--> Client STATS received: {}", getId(), statsMap); + this.clientStatistics = statsMap; + } else if (statsObj==null) { + log.debug("{}--> Client STATS object is NULL", getId()); + } else { + log.error("{}--> Unsupported Client STATS object: class={}, object={}", getId(), statsObj.getClass().getName(), statsObj); + } + } else if (line.equalsIgnoreCase("READY")) { + coordinator.clientReady(this); + } else { + coordinator.processClientInput(this, line); + } + } + + protected void getClientInfoFromGreeting(String greetingInfo) { + if (StringUtils.isBlank(greetingInfo)) return; + String[] clientInfo = greetingInfo.trim().split(" "); + + for (String s : clientInfo) { + if (StringUtils.isBlank(s)) continue; + if (s.startsWith("id=")) { + this.clientId = s.substring("id=".length()).replace("~~", " "); + log.info("{}--> Client Id: {}", id, clientId); + } else + if (s.startsWith("broker=")) { + this.clientBrokerUrl = s.substring("broker=".length()); + log.info("{}--> Broker URL: {}", id, clientBrokerUrl); + } else + if (s.startsWith("address=")) { + if (clientAddressOverrideAllowed) { + String addr = s.substring("address=".length()); + if (StringUtils.isNotBlank(addr)) { + this.clientIpAddress = addr.trim(); + log.info("{}--> Effective IP: {}", id, clientIpAddress); + } + } + } else + if (s.startsWith("port=")) { + if (clientAddressOverrideAllowed) { + try { + int port = Integer.parseInt(s.substring("port=".length())); + if (port>0 && port<65536) { + this.clientPort = port; + log.info("{}--> Effective Port: {}", id, clientPort); + } + } catch (Exception ex) { + log.warn("{}--> Invalid Port value: {}: {}", id, s.substring("port=".length()), ex.getMessage()); + } + } + } else + if (s.startsWith("username=")) { + this.clientBrokerUsername = s.substring("username=".length()); + log.info("{}--> Broker Username: {}", id, clientBrokerUsername); + } else + if (s.startsWith("password=")) { + this.clientBrokerPassword = s.substring("password=".length()); + log.info("{}--> Broker Password: {}", id, PasswordUtil.getInstance().encodePassword(clientBrokerPassword)); + } else + if (s.startsWith("cert=")) { + this.clientCertificate = s.substring("cert=".length()) + .replace("~~", " ") + .replace("##", "\r\n") + .replace("$$", "\n"); + log.info("{}--> Broker Cert.: {}", id, clientCertificate); + + // Get certificate alias from client Id or IP address + String alias = /*StringUtils.isNotBlank(clientId) + ? clientId.trim() + :*/ getClientIpAddress(); + log.info("{}--> Adding/Replacing client certificate in Truststore: alias={}", id, alias); + + if (StringUtils.isNotEmpty(clientCertificate)) { + // Add certificate to truststore + try { + X509Certificate cert = (X509Certificate) coordinator + .getServer() + .getBrokerCepService() + .addOrReplaceCertificateInTruststore(alias, clientCertificate); + log.info("{}--> Added/Replaced client certificate in Truststore: alias={}, CN={}, certificate-names={}", + id, alias, cert.getSubjectX500Principal().getName(), CertUtil.subjectNames(cert)); + } catch (Exception e) { + log.warn("{}--> EXCEPTION while adding/replacing certificate in Trust store: alias={}, exception: ", + clientId, alias, e); + } + } else { + log.info("{}--> Client PEM certificate is empty. Leaving truststore unchanged", id); + } + } else { + log.warn("{}--> Unknown HELLO argument will be ignored: {}", id, s); + } + } + + if (StringUtils.isBlank(this.clientId) || "null".equalsIgnoreCase(this.clientId)) + this.clientId = getClientId(); + if (StringUtils.isBlank(this.clientIpAddress) || "null".equalsIgnoreCase(this.clientIpAddress)) + this.clientIpAddress = getClientIpAddress(); + if (this.clientPort<=0 || this.clientPort>65535) + this.clientPort = getClientPort(); + } + + public String getClientId() { + if (StringUtils.isNotBlank(clientId)) return clientId; + clientId = getId(); + return clientId; + } + + public String getClientIpAddress() { + if (StringUtils.isNotBlank(clientIpAddress)) return clientIpAddress; + clientIpAddress = ((InetSocketAddress) getSession().getIoSession().getRemoteAddress()).getAddress().getHostAddress(); + return clientIpAddress; + } + + public String getClientHostname() { + if (StringUtils.isNotBlank(clientHostname)) return clientHostname; + clientHostname = ((InetSocketAddress) getSession().getIoSession().getRemoteAddress()).getAddress().getHostName(); + return clientHostname; + } + + public String getClientCanonicalHostname() { + if (StringUtils.isNotBlank(clientCanonicalHostname)) return clientCanonicalHostname; + clientCanonicalHostname = ((InetSocketAddress) getSession().getIoSession().getRemoteAddress()).getAddress().getCanonicalHostName(); + return clientCanonicalHostname; + } + + public int getClientPort() { + if (clientPort > 0) return clientPort; + clientPort = ((InetSocketAddress) getSession().getIoSession().getRemoteAddress()).getPort(); + return clientPort; + } + + public String getClientProperty(@NonNull String propertyName) { return clientProperties.getProperty(propertyName); } + public String getClientProperty(@NonNull String propertyName, String defaultValue) { return clientProperties.getProperty(propertyName, defaultValue); } + + public NodeRegistryEntry getNodeRegistryEntry() { + if (nodeRegistryEntry!=null) + return nodeRegistryEntry; + + //XXX:BUG: Following code seems not working... + String clientId = getClientId(); + if (StringUtils.isNotBlank(clientId)) { + return nodeRegistry.getNodeByClientId(clientId); + } + return null; + } + + public void sendToClient(String msg) { + sendToClient(msg, Level.INFO); + } + + public void sendToClient(String msg, Level logLevel) { + if (msg == null || (msg = msg.trim()).isEmpty()) return; + switch (logLevel) { + case TRACE -> log.trace("{}==> PUSH : {}", id, msg); + case DEBUG -> log.debug("{}==> PUSH : {}", id, msg); + case WARN -> log.warn("{}==> PUSH : {}", id, msg); + case ERROR -> log.error("{}==> PUSH : {}", id, msg); + default -> log.info("{}==> PUSH : {}", id, msg); + } + out.println(msg); + } + + public void sendCommand(String cmd) { + sendToClient(cmd); + } + + public void sendCommand(String cmd, Level logLevel) { + sendToClient(cmd, logLevel); + } + + public void sendCommand(String[] cmd) { + sendToClient(String.join(" ", cmd)); + } + + public void sendCommand(String[] cmd, Level logLevel) { + sendToClient(String.join(" ", cmd), logLevel); + } + + public Object readFromClient(String cmd, Level logLevel) { + String uuid = UUID.randomUUID().toString(); + log.trace("ClientShellCommand.readFromClient: uuid={}, cmd={}", uuid, cmd); + Object oldValue = inputsMap.remove(uuid); + log.trace("ClientShellCommand.readFromClient: uuid={}, old-inputMap-value={}", uuid, oldValue); + log.trace("ClientShellCommand.readFromClient: uuid={}, inputMap-BEFORE={}", uuid, inputsMap); + sendCommand(cmd+" "+uuid, logLevel); + log.trace("ClientShellCommand.readFromClient: uuid={}, Command sent to client", uuid); + while (!inputsMap.containsKey(uuid)) { + log.trace("ClientShellCommand.readFromClient: uuid={}, No input, waiting 500ms", uuid); + try { Thread.sleep(INPUT_CHECK_DELAY); } catch (InterruptedException e) { } + } + log.trace("ClientShellCommand.readFromClient: uuid={}, inputMap-BEFORE={}", uuid, inputsMap); + Object input = inputsMap.remove(uuid); + log.trace("ClientShellCommand.readFromClient: uuid={}, Input found: {}", uuid, input); + return input; + } + + protected String _propertiesToBase64(Properties params) { + if (params != null && params.size() > 0) { + StringWriter writer = new StringWriter(); + try { + params.store(writer, null); + } catch (IOException e) { + log.error("Could not serialize parameters: ", e); + } + String paramsStr = writer.getBuffer().toString(); + return Base64.getEncoder().encodeToString(paramsStr.getBytes(StandardCharsets.UTF_8)); + } + return null; + } + + public void sendParams(Properties params) { + log.debug("sendParams: id={}, parameters={}", id, params); + String paramsStr = _propertiesToBase64(params); + if (paramsStr != null) { + sendToClient("SET-PARAMS " + paramsStr); + } + } + + /** + * Write an object to a Base64 string. + */ + public static String serializeToString(Serializable o) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(o); + oos.close(); + return Base64.getEncoder().encodeToString(baos.toByteArray()); + } + + /** + * Read the object from Base64 string. + */ + public static Object unserializeFromString(String s) throws IOException, ClassNotFoundException { + byte[] data = Base64.getDecoder().decode(s); + ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(data)); + Object o = ois.readObject(); + ois.close(); + return o; + } + + public static void sendClientConfigurationToClients(@NonNull ClientConfiguration cc, @NonNull List clients) { + List clientIds = clients.stream().map(ClientShellCommand::getClientId).collect(Collectors.toList()); + log.debug("sendClientConfigurationToClients: clients={}, client-config={}", clientIds, cc); + try { + String ccStr = serializeToString(cc); + log.debug("sendClientConfigurationToClients: Serialization of Client configuration: {}", ccStr); + ccStr = "SET-CLIENT-CONFIG " + ccStr; + for (ClientShellCommand csc : clients) { + log.info("sendClientConfigurationToClients: Sending Client configuration to client: {}", csc.getClientId()); + csc.sendToClient(ccStr); + } + log.info("sendClientConfigurationToClients: Client configuration sent to clients: {}", clientIds); + } catch (IOException ex) { + log.error("sendClientConfigurationToClients: Exception while serializing Client configuration: ", ex); + log.error("sendClientConfigurationToClients: SET-CLIENT-CONFIG command *NOT* sent to clients"); + } + } + + public void sendClientConfiguration(ClientConfiguration cc) { + log.debug("sendClientConfiguration: id={}, client-config={}", id, cc); + try { + String ccStr = serializeToString(cc); + log.info("sendClientConfiguration: Serialization of Client configuration: {}", ccStr); + sendToClient("SET-CLIENT-CONFIG " + ccStr); + } catch (IOException ex) { + log.error("sendClientConfiguration: Exception while serializing Client configuration: ", ex); + log.error("sendClientConfiguration: SET-CLIENT-CONFIG command *NOT* sent to client"); + } + } + + public void sendGroupingConfiguration(String grouping, Map connectionConfigs, BaguetteServer server) { + GroupingConfiguration gc = GroupingConfigurationHelper.newGroupingConfiguration(grouping, connectionConfigs, server); + sendGroupingConfiguration(gc); + } + + public void sendGroupingConfiguration(GroupingConfiguration gc) { + String grouping = gc.getName(); + log.debug("sendGroupingConfiguration: id={}, grouping={}, grouping-config={}", id, grouping, gc); + try { + String allStr = serializeToString(gc); + log.info("sendGroupingConfiguration: Serialization of Grouping configuration for {}: {}", grouping, allStr); + sendToClient("SET-GROUPING-CONFIG " + allStr); + } catch (IOException ex) { + log.error("sendGroupingConfiguration: Exception while serializing Grouping configuration: ", ex); + log.error("sendGroupingConfiguration: SET-GROUPING-CONFIG command *NOT* sent to client"); + } + } + + public void sendConstants(Map constants) { + log.debug("sendConstants: constants={}", constants); + HashMap all = new HashMap<>(); + all.put("constants", constants); + + try { + String allStr = serializeToString(all); + log.info("sendConstants: Serialization of Constants: {}", allStr); + sendToClient("SET-CONSTANTS " + allStr); + } catch (IOException ex) { + log.error("sendConstants: Exception while serializing Constants: ", ex); + log.error("sendConstants: SET-CONSTANTS command *NOT* sent to client"); + } + } + + public void setClientId(String id) { + if (id != null && !id.trim().isEmpty()) + sendToClient("SET-ID " + id.trim()); + } + + public void setRole(String role) { + if (role != null && !role.trim().isEmpty()) sendToClient("SET-ROLE " + role.trim().toUpperCase()); + } + + public void setActiveGrouping(String grouping) { + if (grouping != null && !grouping.trim().isEmpty()) + sendToClient("SET-ACTIVE-GROUPING " + grouping.trim().toUpperCase()); + } + + public void stop(String msg) { + log.info("{}==> STOP : {}", id, msg); + out.println("EXIT " + msg); + if (!callbackCalled.getAndSet(true)) { + callback.onExit(1); + } + } + + public String toString() { + return "ClientShellCommand_" + id; + } + + public String toStringCluster() { + return getClientClusterNodeAddress()+":"+getClientClusterNodePort(); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/GroupingConfigurationHelper.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/GroupingConfigurationHelper.java new file mode 100644 index 0000000..211f5fd --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/GroupingConfigurationHelper.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server; + +import gr.iccs.imu.ems.util.GroupingConfiguration; + +import java.util.Map; + +import static gr.iccs.imu.ems.util.GroupingConfiguration.BrokerConnectionConfig; + +/** + * Baguette Client Configuration creation helper + */ +public class GroupingConfigurationHelper { + public static GroupingConfiguration newGroupingConfiguration(String groupingName, Map connectionConfigs, BaguetteServer server) { + return GroupingConfiguration.builder() + .name( groupingName ) + .properties(null) + .brokerConnections(connectionConfigs) + .eventTypeNames( server.getTopicsForGrouping(groupingName) ) + .rules( server.getRulesForGrouping(groupingName) ) + .connections( server.getTopicConnectionsForGrouping(groupingName) ) + .constants( server.getConstants() ) + .functionDefinitions( server.getFunctionDefinitions() ) + .brokerUsername( server.getBrokerUsername() ) + .brokerPassword( server.getBrokerPassword() ) + .build(); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/NodeRegistry.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/NodeRegistry.java new file mode 100644 index 0000000..154d780 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/NodeRegistry.java @@ -0,0 +1,137 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server; + +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Node Registry + */ +@Slf4j +@Service +public class NodeRegistry { + private final Map registry = new LinkedHashMap<>(); + @Getter @Setter + private ServerCoordinator coordinator; + + public synchronized NodeRegistryEntry addNode(Map nodeInfo, String clientId) throws UnknownHostException { + String hostnameOrAddress = getIpAddressFromNodeInfo(nodeInfo); + String ipAddress = hostnameOrAddress; + + // Get IP address from provided hostname or address + Throwable errorObj = null; + try { + log.debug("NodeRegistry.addNode(): Resolving IP address from provided hostname/address: {}", hostnameOrAddress); + InetAddress host = InetAddress.getByName(hostnameOrAddress); + log.trace("NodeRegistry.addNode(): InetAddress for provided hostname/address: {}, InetAddress: {}", hostnameOrAddress, host); + String resolvedIpAddress = host.getHostAddress(); + log.info("NodeRegistry.addNode(): Provided-Address={}, Resolved-IP-Address={}", hostnameOrAddress, resolvedIpAddress); + ipAddress = resolvedIpAddress; + } catch (UnknownHostException e) { + log.error("NodeRegistry.addNode(): EXCEPTION while resolving IP address from provided hostname/address: {}\n", ipAddress, e); + errorObj = e; + //throw e; + } + nodeInfo.put("original-address", hostnameOrAddress); + nodeInfo.put("address", ipAddress); + + // Check if an entry with the same IP address is already registered + NodeRegistryEntry entry = registry.get(ipAddress); + if (entry!=null) { + log.debug("NodeRegistry.addNode(): Node already pre-registered: ip-address={}\nOld Node Info: {}\nNew Node Info: {}", + ipAddress, entry, nodeInfo); + if (coordinator!=null && coordinator.allowAlreadyPreregisteredNode(nodeInfo)) { + log.info("NodeRegistry.addNode(): PREVIOUS NODE INFO WILL BE OVERWRITTEN: ip-address={}\nOld Node Info: {}\nNew Node Info: {}", + ipAddress, entry, nodeInfo); + } else { + log.error("NodeRegistry.addNode(): Node already pre-registered and coordinator does not allow new pre-registration requests to overwrite the existing one: ip-address={}\nOld Node Info: {}\nNew Node Info: {}", + ipAddress, entry, nodeInfo); + throw new IllegalStateException("NODE ALREADY PRE-REGISTERED: "+ipAddress); + } + } + + // Create and register node registry entry + entry = new NodeRegistryEntry(ipAddress, clientId, coordinator.getServer()).nodePreregistration(nodeInfo); + if (errorObj!=null) entry.getErrors().add(errorObj); + nodeInfo.put("baguette-client-id", clientId); + registry.put(ipAddress, entry); + log.debug("NodeRegistry.addNode(): Added info for node at address: {}\nNode info: {}", ipAddress, nodeInfo); + return entry; + } + + public synchronized void removeNode(NodeRegistryEntry nodeEntry) { + String ipAddress = nodeEntry.getIpAddress(); + removeNode(ipAddress); + } + + public synchronized void removeNode(Map nodeInfo) { + String ipAddress = getIpAddressFromNodeInfo(nodeInfo); + removeNode(ipAddress); + } + + public synchronized void removeNode(String ipAddress) { + registry.remove(ipAddress); + log.debug("NodeRegistry.removeNode(): Removed info for node at address: {}", ipAddress); + } + + private String getIpAddressFromNodeInfo(Map nodeInfo) { + Object value = nodeInfo.get("ip-address"); + if (value==null || StringUtils.isBlank(value.toString())) value = nodeInfo.get("address"); + if (value==null || StringUtils.isBlank(value.toString())) value = nodeInfo.get("ip"); + if (value==null || StringUtils.isBlank(value.toString())) return null; + return value.toString(); + } + + public synchronized void clearNodes() { + registry.clear(); + log.debug("NodeRegistry.clearNodes(): Cleared node info registry"); + } + + public NodeRegistryEntry getNodeByAddress(String ipAddress) { + NodeRegistryEntry entry = registry.get(ipAddress); + log.debug("NodeRegistry.getNodeByAddress(): Returning info for node at address: {}\nNode Info: {}", ipAddress, entry); + return entry; + } + + public NodeRegistryEntry getNodeByReference(String ref) { + return registry.values().stream() + .filter(n->n.getReference().equals(ref)) + .findAny().orElse(null); + } + + public NodeRegistryEntry getNodeByClientId(String clientId) { + return registry.values().stream() + .filter(n->n.getClientId().equals(clientId)) + .findAny().orElse(null); + } + + public Collection getNodeAddresses() { + return registry.keySet(); + } + + public Collection getNodes() { + return registry.values(); + } + + public Collection getNodeReferences() { + return registry.values().stream().map(NodeRegistryEntry::getReference).collect(Collectors.toList()); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/NodeRegistryEntry.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/NodeRegistryEntry.java new file mode 100644 index 0000000..1248050 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/NodeRegistryEntry.java @@ -0,0 +1,169 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import gr.iccs.imu.ems.baguette.server.coordinator.cluster.IClusterZone; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.*; +import org.apache.commons.lang3.StringUtils; + +import java.util.*; + +@Data +@AllArgsConstructor +@RequiredArgsConstructor +public class NodeRegistryEntry { + public enum STATE { PREREGISTERED, IGNORE_NODE, INSTALLING, NOT_INSTALLED, INSTALLED, INSTALL_ERROR, + WAITING_REGISTRATION, REGISTERING, REGISTERED, REGISTRATION_ERROR, DISCONNECTED, EXITING, EXITED, NODE_FAILED + }; + @Getter private final String ipAddress; + @Getter private final String clientId; + @JsonIgnore + private final transient BaguetteServer baguetteServer; + @Getter private String hostname; + @Getter private STATE state = null; + @Getter private Date stateLastUpdate; + @Getter private String reference = UUID.randomUUID().toString(); + @Getter private List errors = new LinkedList<>(); + @JsonIgnore + @Getter private transient Map preregistration = new LinkedHashMap<>(); + @JsonIgnore + @Getter private transient Map installation = new LinkedHashMap<>(); + @JsonIgnore + @Getter private transient Map registration = new LinkedHashMap<>(); + @JsonIgnore + @Getter @Setter private transient IClusterZone clusterZone; + + @JsonIgnore + public BaguetteServer getBaguetteServer() { + return baguetteServer; + } + + public String getNodeId() { + return getPreregistration().get("id"); + } + + public String getNodeAddress() { + return ipAddress!=null ? ipAddress : getPreregistration().get("address"); + } + + public String getNodeIdOrAddress() { + return StringUtils.isNotBlank(getNodeId()) ? getNodeId() : getNodeAddress(); + } + + public String getNodeIdAndAddress() { + return getNodeId()+" @ "+getNodeAddress(); + } + + private void setState(@NonNull STATE s) { + state = s; + stateLastUpdate = new Date(); + } + + public void refreshReference() { reference = UUID.randomUUID().toString(); } + + public NodeRegistryEntry nodePreregistration(Map nodeInfo) { + preregistration.clear(); + preregistration.putAll(StrUtil.deepFlattenMap(nodeInfo)); + setState(STATE.PREREGISTERED); + return this; + } + + public NodeRegistryEntry nodeIgnore(Object nodeInfo) { + installation.clear(); + installation.put("ignore-node", nodeInfo!=null ? nodeInfo.toString() : null); + setState(STATE.IGNORE_NODE); + return this; + } + + public NodeRegistryEntry nodeInstalling(Object nodeInfo) { + installation.clear(); + installation.put("installation-task", nodeInfo!=null ? nodeInfo.toString() : "INSTALLING"); + setState(STATE.INSTALLING); + return this; + } + + public NodeRegistryEntry nodeNotInstalled(Object nodeInfo) { + installation.clear(); + installation.put("installation-task-result", nodeInfo!=null ? nodeInfo.toString() : "NOT_INSTALLED"); + setState(STATE.NOT_INSTALLED); + return this; + } + + public NodeRegistryEntry nodeInstallationComplete(Object nodeInfo) { + installation.put("installation-task-result", nodeInfo!=null ? nodeInfo.toString() : "SUCCESS"); + setState(STATE.INSTALLED); + return this; + } + + public NodeRegistryEntry nodeInstallationError(Object nodeInfo) { + installation.put("installation-task-result", nodeInfo!=null ? nodeInfo.toString() : "ERROR"); + setState(STATE.INSTALL_ERROR); + return this; + } + + public NodeRegistryEntry nodeRegistering(Map nodeInfo) { + registration.clear(); + registration.putAll(StrUtil.deepFlattenMap(nodeInfo)); + setState(STATE.REGISTERING); + return this; + } + + public NodeRegistryEntry nodeRegistered(Map nodeInfo) { + //registration.clear(); + registration.putAll(StrUtil.deepFlattenMap(nodeInfo)); + setState(STATE.REGISTERED); + return this; + } + + public NodeRegistryEntry nodeRegistrationError(Map nodeInfo) { + registration.putAll(StrUtil.deepFlattenMap(nodeInfo)); + setState(STATE.REGISTRATION_ERROR); + return this; + } + + public NodeRegistryEntry nodeRegistrationError(Throwable t) { + registration.putAll(StrUtil.deepFlattenMap(Collections.singletonMap("exception", t))); + setState(STATE.REGISTRATION_ERROR); + return this; + } + + public NodeRegistryEntry nodeDisconnected(Map nodeInfo) { + registration.putAll(StrUtil.deepFlattenMap(nodeInfo)); + setState(STATE.DISCONNECTED); + return this; + } + + public NodeRegistryEntry nodeDisconnected(Throwable t) { + registration.putAll(StrUtil.deepFlattenMap(Collections.singletonMap("exception", t))); + setState(STATE.DISCONNECTED); + return this; + } + + public NodeRegistryEntry nodeExiting(Map nodeInfo) { + registration.putAll(StrUtil.deepFlattenMap(nodeInfo)); + setState(STATE.EXITING); + return this; + } + + public NodeRegistryEntry nodeExited(Map nodeInfo) { + registration.putAll(StrUtil.deepFlattenMap(nodeInfo)); + setState(STATE.EXITED); + return this; + } + + public NodeRegistryEntry nodeFailed(Map failInfo) { + if (failInfo!=null) + registration.putAll(StrUtil.deepFlattenMap(failInfo)); + setState(STATE.NODE_FAILED); + return this; + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/ServerCoordinator.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/ServerCoordinator.java new file mode 100644 index 0000000..749402b --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/ServerCoordinator.java @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server; + +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.util.GroupingConfiguration; + +import java.util.Map; + +import static gr.iccs.imu.ems.util.GroupingConfiguration.BrokerConnectionConfig; + +public interface ServerCoordinator { + default boolean isSupported(TranslationContext tc) { return true; } + + default boolean supportsAggregators() { return false; } + + void initialize(TranslationContext tc, String upperwareGrouping, BaguetteServer server, Runnable callback); + + default void setProperties(Map p) { } + + default boolean processClientInput(ClientShellCommand csc, String line) { return false; } + + BaguetteServer getServer(); + + int getPhase(); + + default boolean allowAlreadyPreregisteredNode(Map nodeInfo) { return true; } + + default boolean allowAlreadyRegisteredNode(ClientShellCommand csc) { return true; } + + default boolean allowNotPreregisteredNode(ClientShellCommand csc) { return true; } + + default void preregister(NodeRegistryEntry entry) { } + + void register(ClientShellCommand c); + + void unregister(ClientShellCommand c); + + void clientReady(ClientShellCommand c); + + void start(); + + void stop(); + + default void sendGroupingConfigurations(Map connectionConfigs, ClientShellCommand c, BaguetteServer server) { + for (String grouping : server.getGroupingNames()) { + GroupingConfiguration gc = GroupingConfigurationHelper.newGroupingConfiguration(grouping, connectionConfigs, server); + c.sendGroupingConfiguration(gc); + } + } + + default BrokerConnectionConfig getGroupingBrokerConfig(String grouping, ClientShellCommand c) { + String brokerUrl = c.getClientBrokerUrl(); + String brokerCert = c.getClientCertificate(); + String username = c.getClientBrokerUsername(); + String password = c.getClientBrokerPassword(); + return new BrokerConnectionConfig(grouping, brokerUrl, brokerCert, username, password); + } + default BrokerConnectionConfig getUpperwareBrokerConfig(BaguetteServer server) { + String brokerUrl = server.getUpperwareBrokerUrl(); + String brokerCert = server.getBrokerCepService().getBrokerCertificate(); + String username = server.getBrokerUsername(); + String password = server.getBrokerPassword(); + return new BrokerConnectionConfig(server.getUpperwareGrouping(), brokerUrl, brokerCert, username, password); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/Sshd.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/Sshd.java new file mode 100644 index 0000000..29e9a6c --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/Sshd.java @@ -0,0 +1,320 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server; + +import gr.iccs.imu.ems.baguette.server.coordinator.cluster.ClusteringCoordinator; +import gr.iccs.imu.ems.baguette.server.properties.BaguetteServerProperties; +import gr.iccs.imu.ems.util.EventBus; +import lombok.Getter; +import lombok.Setter; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.text.StringEscapeUtils; +import org.apache.sshd.common.PropertyResolverUtils; +import org.apache.sshd.common.config.keys.KeyUtils; +import org.apache.sshd.common.keyprovider.KeyPairProvider; +import org.apache.sshd.common.session.SessionHeartbeatController; +import org.apache.sshd.core.CoreModuleProperties; +import org.apache.sshd.mina.MinaServiceFactoryFactory; +import org.apache.sshd.server.SshServer; +import org.apache.sshd.server.keyprovider.SimpleGeneratorHostKeyProvider; +import org.bouncycastle.openssl.jcajce.JcaPEMWriter; +import org.slf4j.event.Level; + +import java.io.File; +import java.io.IOException; +import java.io.StringWriter; +import java.security.KeyPair; +import java.security.PublicKey; +import java.time.Duration; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +/** + * Custom SSH server + */ +@Slf4j +public class Sshd { + @Getter private ServerCoordinator coordinator; + private BaguetteServerProperties configuration; + private SshServer sshd; + private String serverPubkey; + private String serverPubkeyFingerprint; + private String serverPubkeyAlgorithm; + private String serverPubkeyFormat; + private KeyPairProvider serverKeyProvider; + + private boolean heartbeatOn; + private long heartbeatPeriod; + + private EventBus eventBus; + @Getter @Setter + private NodeRegistry nodeRegistry; + + public void start(BaguetteServerProperties configuration, ServerCoordinator coordinator, EventBus eventBus, NodeRegistry registry) throws IOException { + log.info("** SSH server **"); + this.coordinator = coordinator; + this.configuration = configuration; + this.eventBus = eventBus; + this.nodeRegistry = registry; + + // Configure SSH server + int port = configuration.getServerPort(); + String serverKeyFilePath = configuration.getServerKeyFile(); + log.info("SSH server: Public IP address: {}", configuration.getServerAddress()); + log.info("SSH server: Starting on port: {}", port); + log.info("SSH server: Server key file: {}", new File(serverKeyFilePath).getAbsolutePath()); + + // Create SSHD and set port + sshd = SshServer.setUpDefaultServer(); + sshd.setPort(port); + + // Setup server's key provider + _loadPubkeyAndFingerprint(); + sshd.setKeyPairProvider(this.serverKeyProvider); + + // Setup server's shell factory (for custom Shell commands) + sshd.setShellFactory(channelSession -> { + ClientShellCommand csc = new ClientShellCommand(coordinator, configuration.isClientAddressOverrideAllowed(), eventBus, nodeRegistry); + //csc.setId( "#-"+System.currentTimeMillis() ); + log.debug("SSH server: Shell Factory: create invoked : New ClientShellCommand id: {}", csc.getId()); + return csc; + }); + + // Setup password authenticator + sshd.setPasswordAuthenticator((username, password, session) -> { + //public boolean authenticate(String username, String password, ServerSession session) + String pwd = Optional.ofNullable(configuration.getCredentials().get(username.trim())).orElse(""); + return pwd.equals(password); + }); + + // Set session timeout + sshd.setSessionHeartbeat(SessionHeartbeatController.HeartbeatType.IGNORE, Duration.ofMillis(configuration.getHeartbeatPeriod())); + //PropertyResolverUtils.updateProperty(sshd, CoreModuleProperties.HEARTBEAT_INTERVAL.getName(), configuration.getHeartbeatPeriod()); + PropertyResolverUtils.updateProperty(sshd, CoreModuleProperties.IDLE_TIMEOUT.getName(), Long.MAX_VALUE); + PropertyResolverUtils.updateProperty(sshd, CoreModuleProperties.SOCKET_KEEPALIVE.getName(), true); + log.debug("SSH server: Set IDLE_TIMEOUT to MAX, and KEEP-ALIVE to true, and HEARTBEAT to {}", configuration.getHeartbeatPeriod()); + + // Explicitly set IO service factory factory to prevent conflict between MINA and Netty options + sshd.setIoServiceFactoryFactory(new MinaServiceFactoryFactory()); + + // Start SSH server and accept connections + sshd.start(); + log.info("SSH server: Ready"); + + // Start application-level heartbeat service (additional to the SSH and Socket heartbeats) + if (configuration.isHeartbeatEnabled()) { + long heartbeatPeriod = configuration.getHeartbeatPeriod(); + startHeartbeat(heartbeatPeriod); + } + + // Start coordinator + coordinator.start(); + } + + public void stop() throws IOException { + // Stop coordinator + coordinator.stop(); + + // Don't accept new connections + log.info("SSH server: Stopping SSH server..."); + sshd.setShellFactory(null); + + // Signal heartbeat service to stop + stopHeartbeat(); + + // Close active client connections + for (ClientShellCommand csc : ClientShellCommand.getActive()) { + csc.stop("Server exits"); + } + + sshd.stop(); + log.info("SSH server: Stopped"); + } + + public void startHeartbeat(long period) { + heartbeatOn = true; + Thread heartbeat = new Thread( + new Runnable() { + private long period; + + public void run() { + log.info("--> Heartbeat: Started: period={}ms", period); + while (heartbeatOn && period > 0) { + try { + Thread.sleep(period); + } catch (InterruptedException ex) { + } + String msg = String.format("Heartbeat %d", System.currentTimeMillis()); + log.debug("--> Heartbeat: {}", msg); + for (ClientShellCommand csc : ClientShellCommand.getActive()) { + csc.sendToClient(msg, Level.DEBUG); + } + } + log.info("--> Heartbeat: Stopped"); + } + + public Runnable setPeriod(long period) { + this.period = period; + return this; + } + } + .setPeriod(period) + ); + heartbeat.setDaemon(true); + heartbeat.start(); + } + + public void stopHeartbeat() { + heartbeatOn = false; + } + + protected void broadcastToClients(String msg) { + for (ClientShellCommand csc : ClientShellCommand.getActive()) { + log.info("SSH server: Sending to {} : {}", csc.getId(), msg); + csc.sendToClient(msg); + } + } + + public void sendToActiveClients(String command) { + for (ClientShellCommand csc : ClientShellCommand.getActive()) { + log.info("SSH server: Sending to client {} : {}", csc.getId(), command); + csc.sendToClient(command); + } + } + + public void sendToClient(String clientId, String command) { + for (ClientShellCommand csc : ClientShellCommand.getActive()) { + if (csc.getId().equals(clientId)) { + log.info("SSH server: Sending to client {} : {}", csc.getId(), command); + csc.sendToClient(command); + } + } + } + + public void sendToActiveClusters(String command) { + if (!(coordinator instanceof ClusteringCoordinator)) return; + ((ClusteringCoordinator)coordinator).getClusters().forEach(cluster -> { + log.info("SSH server: Sending to cluster {} : {}", cluster.getId(), command); + sendToCluster(cluster.getId(), command); + }); + } + + public void sendToCluster(String clusterId, String command) { + if (!(coordinator instanceof ClusteringCoordinator)) return; + ((ClusteringCoordinator)coordinator).getCluster(clusterId).getNodes().forEach(csc -> { + log.info("SSH server: Sending to client {} : {}", csc.getId(), command); + csc.sendToClient(command); + }); + } + + public Object readFromClient(String clientId, String command, Level logLevel) { + log.trace("SSH server: Sending and Reading to/from client {}: {}", clientId, command); + for (ClientShellCommand csc : ClientShellCommand.getActive()) { + log.trace("SSH server: Check CSC: csc-id={}, client={}", csc.getId(), clientId); + if (csc.getId().equals(clientId)) { + log.debug("SSH server: Sending and Reading to/from client {} : {}", csc.getId(), command); + return csc.readFromClient(command, logLevel); + } + } + return null; + } + + public List getActiveClients() { + return ClientShellCommand.getActive().stream() + .map(c -> String.format("%s %s %s:%d", c.getId(), + c.getClientIpAddress(), + c.getClientClusterNodeHostname(), + c.getClientClusterNodePort())) + .sorted() + .collect(Collectors.toList()); + } + + public Map> getActiveClientsMap() { + return ClientShellCommand.getActive().stream() + //.sorted((final ClientShellCommand c1, final ClientShellCommand c2) -> c1.getId().compareTo(c2.getId())) + .collect(Collectors.toMap(ClientShellCommand::getId, c -> { + Map properties = new LinkedHashMap<>(); + //properties.put("id", c.getId()); + properties.put("ip-address", c.getClientIpAddress()); + properties.put("node-hostname", c.getClientClusterNodeHostname()); + properties.put("node-port", Integer.toString(c.getClientClusterNodePort())); + return properties; + })); + } + + public void sendConstants(Map constants) { + for (ClientShellCommand csc : ClientShellCommand.getActive()) { + log.info("SSH server: Sending constants to client {} : {}", csc.getId(), constants); + csc.sendConstants(constants); + } + } + + public String getPublicKey() { + if (serverPubkey==null) _loadPubkeyAndFingerprint(); + return serverPubkey; + } + + public String getPublicKeyFingerprint() { + if (serverPubkeyFingerprint==null) _loadPubkeyAndFingerprint(); + return serverPubkeyFingerprint; + } + + public String getPublicKeyAlgorithm() { + if (serverPubkey==null) _loadPubkeyAndFingerprint(); + return serverPubkeyAlgorithm; + } + + public String getPublicKeyFormat() { + if (serverPubkey==null) _loadPubkeyAndFingerprint(); + return serverPubkeyFormat; + } + + @SneakyThrows + private synchronized void _loadPubkeyAndFingerprint() { + if (serverPubkey!=null) return; + + String serverKeyFilePath = configuration.getServerKeyFile(); + log.debug("_loadPubkeyAndFingerprint(): Server Key file: {}", serverKeyFilePath); + File serverKeyFile = new File(serverKeyFilePath); + + // Create and configure a new SimpleGeneratorHostKeyProvider instance + SimpleGeneratorHostKeyProvider simpleGeneratorHostKeyProvider = + new SimpleGeneratorHostKeyProvider(serverKeyFile.toPath()); + //simpleGeneratorHostKeyProvider.setStrictFilePermissions(true); // 'true' by default + + // Create or load the Baguette server key pair + List keys = simpleGeneratorHostKeyProvider.loadKeys(null); + if (keys.size()!=1) + throw new IllegalArgumentException("Server key file contains 0 or >1 keys: #keys="+keys.size()+", file="+serverKeyFilePath); + KeyPair serverKey = keys.get(0); + PublicKey publicKey = serverKey.getPublic(); + + // Write Baguette server public key as PEM string + StringWriter writer = new StringWriter(); + JcaPEMWriter pemWriter = new JcaPEMWriter(writer); + pemWriter.writeObject(publicKey); + pemWriter.flush(); + + // Store public key PEM and fingerprint for future use + this.serverPubkey = StringEscapeUtils.escapeJson(writer.toString().trim()); + this.serverPubkeyFormat = publicKey.getFormat(); + this.serverPubkeyAlgorithm = publicKey.getAlgorithm(); + this.serverPubkeyFingerprint = KeyUtils.getFingerPrint(publicKey); + this.serverKeyProvider = simpleGeneratorHostKeyProvider; + log.debug("_loadPubkeyAndFingerprint(): Server public key: \n{}", serverPubkey); + log.debug("_loadPubkeyAndFingerprint(): Fingerprint: {}", serverPubkeyFingerprint); + log.debug("_loadPubkeyAndFingerprint(): Algorithm: {}", serverPubkeyAlgorithm); + log.debug("_loadPubkeyAndFingerprint(): Format: {}", serverPubkeyFormat); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/NoopCoordinator.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/NoopCoordinator.java new file mode 100644 index 0000000..cc26d39 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/NoopCoordinator.java @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator; + +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.baguette.server.ServerCoordinator; +import gr.iccs.imu.ems.baguette.server.properties.BaguetteServerProperties; +import gr.iccs.imu.ems.translate.TranslationContext; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class NoopCoordinator implements ServerCoordinator { + protected BaguetteServer server; + protected BaguetteServerProperties config; + protected Runnable callback; + protected boolean started; + + @Override + public void initialize(final TranslationContext TC, String upperwareGrouping, BaguetteServer server, Runnable callback) { + if (_logInvocation("initialize", null, false)) return; + this.server = server; + this.config = server.getConfiguration(); + this.callback = callback; + } + + @Override + public BaguetteServer getServer() { + return server; + } + + @Override + public void start() { + if (_logInvocation("start", null, false)) return; + started = true; + + if (callback != null) { + log.info("{}: start(): Invoking callback", getClass().getSimpleName()); + callback.run(); + } + } + + @Override + public void stop() { + if (!_logInvocation("stop", null, true)) return; + started = false; + } + + public boolean isStarted() { + return started; + } + + @Override + public int getPhase() { + return -1; + } + + @Override + public synchronized void preregister(NodeRegistryEntry entry) { + _logInvocation("preregister", entry, true); + } + + @Override + public synchronized void register(ClientShellCommand c) { + _logInvocation("register", c, true); + } + + @Override + public synchronized void unregister(ClientShellCommand c) { + _logInvocation("unregister", c, true); + } + + @Override + public synchronized void clientReady(ClientShellCommand c) { + _logInvocation("clientReady", c, true); + } + + protected boolean _logInvocation(String methodName, Object o, boolean checkStarted) { + String className = getClass().getSimpleName(); + String str = (o==null) ? "" : ( + o instanceof ClientShellCommand ? String.format(". CSC: %s", o) : ( + o instanceof NodeRegistryEntry ? String.format(". NRE: %s", o) : + String.format(". Object: %s", o) + ) + ); + if (checkStarted && !started) { + log.warn("{}: {}(): Coordinator has not been started{}", className, methodName, str); + } else + if (!checkStarted && started) { + log.warn("{}: {}(): Coordinator is already running{}", className, methodName, str); + } else { + log.info("{}: {}(): Method invoked{}", className, methodName, str); + } + return started; + } + + public void sleep(long millis) { + try { Thread.sleep(millis); } catch (Exception ignored) { } + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/ServerCoordinatorTimeWin.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/ServerCoordinatorTimeWin.java new file mode 100644 index 0000000..e1199a1 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/ServerCoordinatorTimeWin.java @@ -0,0 +1,217 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator; + +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.ServerCoordinator; +import gr.iccs.imu.ems.translate.TranslationContext; +import lombok.extern.slf4j.Slf4j; + +import java.util.ArrayList; +import java.util.List; + +@Slf4j +public class ServerCoordinatorTimeWin implements ServerCoordinator { + private final ServerCoordinatorTimeWin LOCK = this; + private BaguetteServer server; + private Runnable callback; + private boolean started; + private long registrationWindow; + private boolean registrationWindowEnded; + private Thread timeout; + private int numClients; + private int phase; + private List clients; + private ClientShellCommand broker; + private int readyClients; + private String brokerCfgIpAddressCmd; + private String brokerCfgPortCmd; + + public void initialize(final TranslationContext TC, String upperwareGrouping, BaguetteServer server, Runnable callback) { + this.server = server; + this.registrationWindow = server.getConfiguration().getRegistrationWindow(); + this.callback = callback; + this.clients = new ArrayList<>(); + } + + public BaguetteServer getServer() { + return server; + } + + public void start() { + timeout = new Thread( + new Runnable() { + private long delay; + + public void run() { + log.info("ServerCoordinatorTimeWin: REGISTRATION PERIOD STARTS"); + started = true; + registrationWindowEnded = false; + try { + Thread.sleep(delay); + } catch (InterruptedException ex) { + log.info("ServerCoordinatorTimeWin: INTERRUPTED: Registration stopped"); + return; + } + log.info("ServerCoordinatorTimeWin: REGISTRATION PERIOD ENDS"); + + List registeredIntime; + synchronized (LOCK) { + registeredIntime = new ArrayList<>(clients); + } + if (registeredIntime.size() > 0) { + startPhase1(registeredIntime); + } else { + registrationWindowEnded = true; + log.warn("ServerCoordinatorTimeWin: No clients have been registered"); + log.warn("ServerCoordinatorTimeWin: The first client to register will become BROKER"); + } + } + + public Runnable setDelay(long delay) { + this.delay = delay; + return this; + } + } + .setDelay(registrationWindow) + ); + timeout.setDaemon(true); + timeout.start(); + log.info("ServerCoordinatorTimeWin: START"); + } + + public void stop() { + started = false; + if (timeout.isAlive()) timeout.interrupt(); + } + + public boolean isStarted() { + return started; + } + + public int getPhase() { + return phase; + } + + public synchronized void register(ClientShellCommand c) { + if (!started) return; + //if (phase!=0) return; + clients.add(c); + numClients++; + if (phase == 0 && numClients == 1 && registrationWindowEnded) startPhase1(clients); + else if (phase != 0) { + c.sendToClient(brokerCfgIpAddressCmd); + c.sendToClient(brokerCfgPortCmd); + c.sendToClient("ROLE CLIENT"); + } + log.info("ServerCoordinatorTimeWin: register: {} clients registered", numClients); + } + + public synchronized void unregister(ClientShellCommand c) { + if (!started) return; + //if (phase!=0) return; + clients.remove(c); + numClients--; + log.info("ServerCoordinatorTimeWin: unregister: {} clients registered", numClients); + } + + protected synchronized void startPhase1(List registeredIntime) { + if (phase != 0) return; + log.info("ServerCoordinatorTimeWin: Phase #1"); + phase = 1; + + // Pick a random client for Broker + int howmany = registeredIntime.size(); + int sel = (int) Math.round((howmany - 1) * Math.random()); + if (sel >= howmany) sel = howmany - 1; + broker = registeredIntime.get(sel); + log.info("ServerCoordinatorTimeWin: Client {} will become BROKER", broker.getId()); + + // Push broker IP address to all clients + try { + //java.net.InetSocketAddress brokerSocketAddress = (java.net.InetSocketAddress) broker.getSession().getIoSession().getRemoteAddress(); + //String brokerIpAddress = brokerSocketAddress.getAddress().getHostAddress(); + //int brokerPort = brokerSocketAddress.getPort(); + String brokerIpAddress = broker.getClientIpAddress(); + int brokerPort = broker.getClientPort(); + if (brokerIpAddress == null || brokerIpAddress.trim().isEmpty() || brokerPort <= 0) + throw new Exception("ServerCoordinatorTimeWin: startPhase1(): Unable to get broker IP address or Port: " + broker); + this.brokerCfgIpAddressCmd = String.format("SET-PARAM bin/broker.cfg-template BROKER_IP_ADDR %s bin/broker.cfg", brokerIpAddress); + this.brokerCfgPortCmd = String.format("SET-PARAM bin/broker.cfg-template BROKER_PORT %d bin/broker.cfg", brokerPort); + } catch (Exception ex) { + this.brokerCfgIpAddressCmd = null; + this.brokerCfgPortCmd = null; + log.error("ServerCoordinatorTimeWin: startPhase1(): Error while getting broker IP address and port: {}", broker); + } + + // Signal BROKER to prepare + phase = 2; + broker.sendToClient("ROLE BROKER"); + } + + public synchronized void clientReady(ClientShellCommand c) { + if (getPhase()==2) _brokerReady(c); + else _clientReady(c); + } + + private void _brokerReady(ClientShellCommand c) { + if (!started) return; + if (phase != 2) return; + log.info("ServerCoordinatorTimeWin: Broker is ready"); + phase = 3; + readyClients = 1; + if (readyClients == numClients) { + phase = 4; + signalTopologyReady(); + } else { + Thread runner = new Thread(new Runnable() { + public void run() { + // Signal all clients except broker to prepare + for (ClientShellCommand c : clients) { + if (c != broker) { + c.sendToClient(brokerCfgIpAddressCmd); + c.sendToClient(brokerCfgPortCmd); + c.sendToClient("ROLE CLIENT"); + } + } + } + }); + runner.setDaemon(true); + runner.start(); + } + } + + private void _clientReady(ClientShellCommand c) { + if (!started) return; + if (phase != 3) return; + readyClients++; + log.info("ServerCoordinatorTimeWin: {} of {} clients are ready", readyClients, numClients); + if (readyClients == numClients) { + phase = 4; + signalTopologyReady(); + } + } + + protected void signalTopologyReady() { + if (phase != 4) return; + log.info("ServerCoordinatorTimeWin: Invoking callback"); + phase = 5; + Thread runner = new Thread(new Runnable() { + public void run() { + // Invoke callback + callback.run(); + log.info("ServerCoordinatorTimeWin: FINISHED"); + } + }); + runner.setDaemon(true); + runner.start(); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/ServerCoordinatorWaitAll.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/ServerCoordinatorWaitAll.java new file mode 100644 index 0000000..9e07f2f --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/ServerCoordinatorWaitAll.java @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator; + +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.ServerCoordinator; +import gr.iccs.imu.ems.translate.TranslationContext; +import lombok.extern.slf4j.Slf4j; + +import java.util.Vector; + +@Slf4j +public class ServerCoordinatorWaitAll implements ServerCoordinator { + private BaguetteServer server; + private Runnable callback; + private int expectedClients; + private int numClients; + private int phase; + private Vector clients; + private ClientShellCommand broker; + private int readyClients; + + public void initialize(final TranslationContext TC, String upperwareGrouping, BaguetteServer server, Runnable callback) { + this.server = server; + this.expectedClients = server.getConfiguration().getNumberOfInstances(); + this.callback = callback; + this.clients = new Vector<>(); + log.info("initialize: Done"); + } + + public BaguetteServer getServer() { + return server; + } + + public void start() { + } + + public void stop() { + } + + public int getPhase() { + return phase; + } + + public synchronized void register(ClientShellCommand c) { + if (phase != 0) return; + clients.add(c); + numClients++; + log.info("ServerCoordinatorWaitAll: {} of {} clients registered", numClients, expectedClients); + if (numClients == expectedClients) { + startPhase1(); + } + } + + public synchronized void unregister(ClientShellCommand c) { + if (phase != 0) return; + clients.remove(c); + numClients--; + } + + protected synchronized void startPhase1() { + if (phase != 0) return; + log.info("ServerCoordinatorWaitAll: Phase #1"); + phase = 1; + Thread runner = new Thread(new Runnable() { + public void run() { + // Pick a random client for Broker + int sel = (int) Math.round((numClients - 1) * Math.random()); + if (sel >= numClients) sel = numClients - 1; + broker = clients.get(sel); + log.info("ServerCoordinatorWaitAll: Client #{} will become BROKER", broker.getId()); + + // Signal BROKER to prepare + phase = 2; + broker.sendToClient("ROLE BROKER"); + } + }); + runner.setDaemon(true); + runner.start(); + } + + public synchronized void clientReady(ClientShellCommand c) { + if (getPhase()==2) _brokerReady(c); + else _clientReady(c); + } + + private void _brokerReady(ClientShellCommand c) { + if (phase != 2) return; + log.info("ServerCoordinatorWaitAll: Broker is ready"); + phase = 3; + readyClients = 1; + if (readyClients == expectedClients) { + phase = 4; + signalTopologyReady(); + } else { + Thread runner = new Thread(new Runnable() { + public void run() { + // Signal all clients except broker to prepare + for (ClientShellCommand c : clients) { + if (c != broker) { + c.sendToClient("ROLE CLIENT"); + } + } + } + }); + runner.setDaemon(true); + runner.start(); + } + } + + private void _clientReady(ClientShellCommand c) { + if (phase != 3) return; + readyClients++; + log.info("ServerCoordinatorWaitAll: {} of {} clients are ready", readyClients, expectedClients); + if (readyClients == expectedClients) { + phase = 4; + signalTopologyReady(); + } + } + + protected void signalTopologyReady() { + if (phase != 4) return; + log.info("ServerCoordinatorWaitAll: Invoking callback"); + phase = 5; + Thread runner = new Thread(new Runnable() { + public void run() { + // Invoke callback + callback.run(); + log.info("ServerCoordinatorWaitAll: FINISHED"); + } + }); + runner.setDaemon(true); + runner.start(); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/TestCoordinator.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/TestCoordinator.java new file mode 100644 index 0000000..9c6337e --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/TestCoordinator.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import lombok.extern.slf4j.Slf4j; + +import java.util.LinkedHashMap; +import java.util.Map; + +import static gr.iccs.imu.ems.util.GroupingConfiguration.BrokerConnectionConfig; + +@Slf4j +public class TestCoordinator extends NoopCoordinator { + @Override + public synchronized void register(ClientShellCommand c) { + if (!_logInvocation("register", c, true)) return; + _do_register(c); + } + + protected synchronized void _do_register(ClientShellCommand c) { + // prepare configuration + Map connCfgMap = new LinkedHashMap<>(); + BrokerConnectionConfig groupingConn = getUpperwareBrokerConfig(server); + connCfgMap.put(server.getUpperwareGrouping(), groupingConn); + log.trace("ClusteringCoordinator: GLOBAL broker config.: {}", groupingConn); + + connCfgMap.put("PER_CLOUD", groupingConn = getGroupingBrokerConfig("PER_CLOUD", c)); + log.trace("TestCoordinator.test(): {} broker config.: {}", "PER_CLOUD", groupingConn); + + // prepare Broker-CEP configuration + log.info("TestCoordinator.test(): --------------------------------------------------"); + log.info("TestCoordinator.test(): Sending grouping configurations..."); + sendGroupingConfigurations(connCfgMap, c, server); + log.info("TestCoordinator.test(): Sending grouping configurations... done"); + + // Set active grouping and send an event + String grouping = "PER_INSTANCE"; + try { + Thread.sleep(500); + } catch (Exception ex) { + } + log.info("TestCoordinator.test(): --------------------------------------------------"); + log.info("TestCoordinator.test(): Setting active grouping: {}", grouping); + c.setActiveGrouping(grouping); + + try { + Thread.sleep(5000); + } catch (Exception ex) { + } + log.info("TestCoordinator.test(): --------------------------------------------------"); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/TwoLevelCoordinator.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/TwoLevelCoordinator.java new file mode 100644 index 0000000..e2efa77 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/TwoLevelCoordinator.java @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator; + +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.common.selfhealing.SelfHealingManager; +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.util.GROUPING; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import static gr.iccs.imu.ems.util.GroupingConfiguration.BrokerConnectionConfig; + +@Slf4j +public class TwoLevelCoordinator extends NoopCoordinator { + private GROUPING globalGrouping; + private GROUPING nodeGrouping; + + @Override + public boolean isSupported(final TranslationContext _TC) { + // Check if there are at least 2 levels in architecture + Set groupings = _TC.getG2R().keySet(); + if (!groupings.contains("GLOBAL")) return false; + return groupings.size()>1; + } + + @Override + public void initialize(final TranslationContext TC, String upperwareGrouping, BaguetteServer server, Runnable callback) { + if (!isSupported(TC)) + throw new IllegalArgumentException("Passed Translation Context is not supported"); + + super.initialize(TC, upperwareGrouping, server, callback); + List groupings = TC.getG2R().keySet().stream() + .map(GROUPING::valueOf) + .sorted() + .collect(Collectors.toList()); + log.debug("TwoLevelCoordinator.initialize(): Groupings: {}", groupings); + this.globalGrouping = groupings.get(0); + this.nodeGrouping = groupings.get(1); + log.info("TwoLevelCoordinator.initialize(): Groupings: top-level={}, node-level={}", + globalGrouping, nodeGrouping); + + // Configure Self-Healing manager + server.getSelfHealingManager().setMode(SelfHealingManager.MODE.ALL); + } + + @Override + public boolean processClientInput(ClientShellCommand csc, String line) { + if (StringUtils.isBlank(line)) return false; + log.info("TwoLevelCoordinator: Client: {} @ {} -- Input: {}", + csc.getId(), csc.getClientIpAddress(), line); + return true; + } + + @Override + public synchronized void register(ClientShellCommand csc) { + if (!_logInvocation("register", csc, true)) return; + + // prepare configuration + Map connCfgMap = new LinkedHashMap<>(); + BrokerConnectionConfig groupingConn = getUpperwareBrokerConfig(server); + connCfgMap.put(server.getUpperwareGrouping(), groupingConn); + log.trace("TwoLevelCoordinator: GLOBAL broker config.: {}", groupingConn); + + // collect client configurations per grouping + for (String groupingName : server.getGroupingNames()) { + groupingConn = getGroupingBrokerConfig(groupingName, csc); + connCfgMap.put(groupingName, groupingConn); + log.trace("TwoLevelCoordinator: {} broker config.: {}", groupingName, groupingConn); + } + + // send grouping configurations to client + log.info("TwoLevelCoordinator: --------------------------------------------------"); + log.info("TwoLevelCoordinator: Sending grouping configurations to client {}...\n{}", csc.getId(), connCfgMap); + sendGroupingConfigurations(connCfgMap, csc, server); + log.info("TwoLevelCoordinator: Sending grouping configurations to client {}... done", csc.getId()); + sleep(500); + + // Set active grouping + String grouping = nodeGrouping.name(); + log.info("TwoLevelCoordinator: --------------------------------------------------"); + log.info("TwoLevelCoordinator: Setting active grouping of client {}: {}", csc.getId(), grouping); + csc.setActiveGrouping(grouping); + log.info("TwoLevelCoordinator: --------------------------------------------------"); + } + + @Override + public synchronized void unregister(ClientShellCommand csc) { + if (!_logInvocation("unregister", csc, true)) return; + log.info("TwoLevelCoordinator: --------------------------------------------------"); + log.info("TwoLevelCoordinator: Client unregistered: {} @ {}", csc.getId(), csc.getClientIpAddress()); + } +} \ No newline at end of file diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/AtLeastTwoZoneManagementStrategy.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/AtLeastTwoZoneManagementStrategy.java new file mode 100644 index 0000000..3093f3c --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/AtLeastTwoZoneManagementStrategy.java @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator.cluster; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import lombok.extern.slf4j.Slf4j; + +/** + * A smarter than default Zone Management Strategy. + * It groups clients based on domain name, or last byte of IP Address. If neither is available it assigns client + * in a new zone identified by a random UUID. + * When a zone contains only one client, no cluster initialization is instructed. + * When a zone contains exactly two clients, they are both initialized as cluster nodes. + * If only one client is left in a zone, it is instructed to leave cluster. + */ +@Slf4j +public class AtLeastTwoZoneManagementStrategy implements IZoneManagementStrategy { + @Override + public void notPreregisteredNode(ClientShellCommand csc) { + log.warn("AtLeastTwoZoneManagementStrategy: Unexpected node connected: {} @ {}", csc.getId(), csc.getClientIpAddress()); + } + + @Override + public void alreadyRegisteredNode(ClientShellCommand csc) { + log.warn("AtLeastTwoZoneManagementStrategy: Node connection from an already registered IP address: {} @ {}", csc.getId(), csc.getClientIpAddress()); + } + + @Override + public synchronized void nodeAdded(ClientShellCommand csc, ClusteringCoordinator coordinator, IClusterZone zone) { + if (zone.getNodes().size() < 2) + return; + + if (zone.getNodes().size()==2) { + // Instruct first node to join cluster first (in fact to initialize it) + ClientShellCommand firstNode = zone.getNodes().get(0); + log.info("AtLeastTwoZoneManagementStrategy: First node to join cluster: client={}, zone={}", firstNode.getId(), zone.getId()); + joinToCluster(firstNode, coordinator, zone); + } + + // Instruct new node to join cluster + log.info("AtLeastTwoZoneManagementStrategy: Node to join cluster: client={}, zone={}", csc.getId(), zone.getId()); + joinToCluster(csc, coordinator, zone); + + // Instruct aggregator election if at least 2 nodes are present in the zone + if (zone.getNodes().size()==2) { + log.info("AtLeastTwoZoneManagementStrategy: Elect aggregator: zone={}", zone.getId()); + coordinator.sleep(5000); + coordinator.electAggregator(zone); + } + } + + private void joinToCluster(ClientShellCommand csc, ClusteringCoordinator coordinator, IClusterZone zone) { + coordinator.sendClusterKey(csc, zone); + coordinator.instructClusterJoin(csc, zone, false); + + coordinator.sleep(1000); + csc.sendCommand("CLUSTER-EXEC broker list"); + //coordinator.sleep(1000); + //csc.sendCommand("CLUSTER-TEST"); + } + + @Override + public synchronized void nodeRemoved(ClientShellCommand csc, ClusteringCoordinator coordinator, IClusterZone zone) { + // Instruct node to leave cluster + log.info("AtLeastTwoZoneManagementStrategy: Node to leave cluster: client={}, zone={}", csc.getId(), zone.getId()); + coordinator.instructClusterLeave(csc, zone); + + if (zone.getNodes().size()==1) { + // Instruct last node to leave cluster (and terminate cluster) + ClientShellCommand lastNode = zone.getNodes().get(0); + log.info("AtLeastTwoZoneManagementStrategy: Last node to leave cluster: client={}, zone={}", lastNode.getId(), zone.getId()); + coordinator.instructClusterLeave(lastNode, zone); + } + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterSelfHealing.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterSelfHealing.java new file mode 100644 index 0000000..5480a3d --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterSelfHealing.java @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator.cluster; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.common.selfhealing.SelfHealingManager; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@RequiredArgsConstructor +public class ClusterSelfHealing { + private final SelfHealingManager selfHealingManager; + + // ------------------------------------------------------------------------ + // Server-side self-healing methods + // ------------------------------------------------------------------------ + + List getAggregatorCapableNodesInZone(IClusterZone zone) { + // Get the normal nodes in the zone that can be Aggregators (i.e. Aggregator and candidates) + List aggregatorCapableNodes = zone.findAggregatorCapableNodes(); + if (log.isTraceEnabled()) { + log.trace("getAggregatorCapableNodesInZone: nodes={}", zone.getNodes().stream().map(ClientShellCommand::getNodeRegistryEntry).collect(Collectors.toList())); + log.trace("getAggregatorCapableNodesInZone: aggregatorCapableNodes={}", aggregatorCapableNodes); + } + return aggregatorCapableNodes; + } + + void updateNodesSelfHealingMonitoring(IClusterZone zone, List aggregatorCapableNodes) { + if (aggregatorCapableNodes.size()>1) { + // If zone has >1 aggregator-capable nodes (i.e. Aggregator and Candidates) then stop monitoring them for server-side self-healing + // Aggregator will monitor them for client-side self-healing + List nodes = zone.getNodes().stream().map(ClientShellCommand::getNodeRegistryEntry).collect(Collectors.toList()); + log.info("updateNodesSelfHealingMonitoring: Stop self-healing monitor for zone nodes: zone={}, clients={}", + zone.getId(), nodes.stream().map(NodeRegistryEntry::getIpAddress).collect(Collectors.toList())); + selfHealingManager.removeAllNodes(nodes); + } else if (aggregatorCapableNodes.size()==1) { + // If zone has exactly 1 aggregator-capable node (i.e. Aggregator) then start monitoring it for server-side self-healing + // If Aggregator fails then EMS server must recover it + NodeRegistryEntry lastNode = aggregatorCapableNodes.get(0); + log.info("updateNodesSelfHealingMonitoring: Start self-healing monitor for the first/last node of zone: zone={}, client={}, address={}", zone.getId(), lastNode.getClientId(), lastNode.getIpAddress()); + selfHealingManager.addNode(lastNode); + } + } + + void removeResourceLimitedNodeSelfHealingMonitoring(IClusterZone zone, List aggregatorCapableNodes) { + // Remove self-healing responsibility of RL nodes from EMS server, if there are aggregator-capable nodes in the zone (since one will be/become Aggregator) + List clientlessNodes = zone.getNodesWithoutClient(); + log.trace("removeResourceLimitedNodeSelfHealingMonitoring: AC-nodes: {}", aggregatorCapableNodes); + log.trace("removeResourceLimitedNodeSelfHealingMonitoring: RL-nodes: {}", clientlessNodes); + if (! clientlessNodes.isEmpty() && ! aggregatorCapableNodes.isEmpty()) { + if (log.isTraceEnabled()) { + log.trace("removeResourceLimitedNodeSelfHealingMonitoring: Zone has aggregators-capable node(s) and nodes without client: zone={}, nodes-without-client={}, aggregator-capable-nodes={}", + zone.getId(), clientlessNodes.stream().map(NodeRegistryEntry::getIpAddress).collect(Collectors.toList()), + aggregatorCapableNodes.stream().map(NodeRegistryEntry::getIpAddress).collect(Collectors.toList())); + } + + boolean containsNodesWithoutClient = selfHealingManager.containsAny(zone.getNodesWithoutClient()); + log.trace("removeResourceLimitedNodeSelfHealingMonitoring: containsAny={}", containsNodesWithoutClient); + if (containsNodesWithoutClient) { + // Remove RL nodes self-healing responsibility from EMS server + List zoneNodesWithoutClient = zone.getNodesWithoutClient().stream().map(NodeRegistryEntry::getIpAddress).collect(Collectors.toList()); + log.info("removeResourceLimitedNodeSelfHealingMonitoring: Zone has nodes without client. Will remove self-healing responsibility from EMS server: {}", zoneNodesWithoutClient); + selfHealingManager.removeAllNodes(zone.getNodesWithoutClient()); + log.debug("removeResourceLimitedNodeSelfHealingMonitoring: Removed self-healing responsibility from EMS server, for zone nodes without client: {}", zoneNodesWithoutClient); + } else { + log.trace("removeResourceLimitedNodeSelfHealingMonitoring: No nodes without client have been assigned to EMS server: zone={}", zone.getId()); + } + } + } + + void addResourceLimitedNodeSelfHealingMonitoring(IClusterZone zone, List aggregatorCapableNodes) { + // Add self-healing responsibility of RL nodes to EMS server, if there are no aggregator-capable nodes in the zone + List clientlessNodes = zone.getNodesWithoutClient(); + log.trace("addResourceLimitedNodeSelfHealingMonitoring: AC-nodes: {}", aggregatorCapableNodes); + log.trace("addResourceLimitedNodeSelfHealingMonitoring: RL-nodes: {}", clientlessNodes); + if (! clientlessNodes.isEmpty() && aggregatorCapableNodes.isEmpty()) { + if (log.isTraceEnabled()) { + log.trace("addResourceLimitedNodeSelfHealingMonitoring: Zone has no aggregator-capable nodes but it has nodes without client: zone={}, nodes-without-client={}, aggregator-capable-nodes={}", + zone.getId(), clientlessNodes.stream().map(NodeRegistryEntry::getIpAddress).collect(Collectors.toList()), + aggregatorCapableNodes.stream().map(NodeRegistryEntry::getIpAddress).collect(Collectors.toList())); + } + + // Add RL nodes self-healing responsibility to EMS server + List zoneNodesWithoutClient = zone.getNodesWithoutClient().stream().map(NodeRegistryEntry::getIpAddress).collect(Collectors.toList()); + log.info("removeNodeFromTopology: Zone has only members without client. Will move self-healing responsibility to EMS server: {}", zoneNodesWithoutClient); + selfHealingManager.addAllNodes(zone.getNodesWithoutClient()); + log.debug("removeNodeFromTopology: Moved self-healing responsibility to EMS server, for nodes without client: {}", zoneNodesWithoutClient); + } + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterZone.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterZone.java new file mode 100644 index 0000000..5d9cdc9 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterZone.java @@ -0,0 +1,202 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator.cluster; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.util.ClientConfiguration; +import gr.iccs.imu.ems.util.KeystoreUtil; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; +import org.bouncycastle.operator.OperatorCreationException; + +import javax.validation.constraints.NotBlank; +import java.io.File; +import java.io.IOException; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +@Slf4j +@Data +public class ClusterZone implements IClusterZone { + private final String id; + private final int startPort; + private final int endPort; + + @Getter(AccessLevel.NONE) + private final AtomicInteger currentPort = new AtomicInteger(1200); + @Getter(AccessLevel.NONE) + private final Map nodes = new LinkedHashMap<>(); + @Getter(AccessLevel.NONE) + private final Map addressPortCache = new HashMap<>(); + @Getter(AccessLevel.NONE) + private final Map nodesWithoutClient = new LinkedHashMap<>(); + + private final String clusterId; + private final String clusterKeystoreBase64; + private final File clusterKeystoreFile; + private final String clusterKeystoreType; + private final String clusterKeystorePassword; + @Getter @Setter + private ClientShellCommand aggregator; + + public ClusterZone(@NotBlank String id, int startPort, int endPort, String keystoreFileName) + throws IOException, CertificateException, KeyStoreException, NoSuchAlgorithmException, OperatorCreationException + { + checkArgs(id, startPort, endPort); + this.id = id; + this.startPort = startPort; + this.endPort = endPort; + currentPort.set(startPort); + + this.clusterId = RandomStringUtils.randomAlphanumeric(64); + this.clusterKeystoreFile = new File(keystoreFileName); + this.clusterKeystoreType = "JKS"; + this.clusterKeystorePassword = RandomStringUtils.randomAlphanumeric(64); + log.info("New ClusterZone: zone: {}", id); + log.info(" file: {}", clusterKeystoreFile); + log.info(" type: {}", clusterKeystoreType); + log.debug(" password: {}", PasswordUtil.getInstance().encodePassword(clusterKeystorePassword)); + + log.trace("ClusterZone.: Cluster Keystore: file={}, type={}, pass={}", clusterKeystoreFile.getCanonicalPath(), clusterKeystoreType, clusterKeystorePassword); + log.trace("ClusterZone.: Cluster Id: {}", clusterId); + this.clusterKeystoreBase64 = KeystoreUtil + .getKeystore(clusterKeystoreFile.getCanonicalPath(), clusterKeystoreType, clusterKeystorePassword) + .createIfNotExist() + .createKeyAndCert(clusterId, "CN=" + clusterId, "") + .readFileAsBase64(); + log.debug(" Base64 content: {}", + StringUtils.isNotBlank(clusterKeystoreBase64) ? "Not empty" : "!!! Empty !!!"); + if (log.isTraceEnabled()) + log.trace("ClusterZone.: Cluster Keystore: Base64: {}", PasswordUtil.getInstance().encodePassword(clusterKeystoreBase64)); + } + + private void checkArgs(String id, int startPort, int endPort) { + if (StringUtils.isBlank(id)) + throw new IllegalArgumentException("Zone id cannot be null or blank: zone-id="+id); + if (startPort<1 || endPort<1 || startPort>65535 || endPort>65535) + throw new IllegalArgumentException("Zone start/end port must be between 1 and 65535: zone-id="+id+", start="+startPort+", end="+endPort); + if (startPort > endPort) + throw new IllegalArgumentException("Zone start port must be less than or equal to end port: zone-id="+id+", start="+startPort+", end="+endPort); + } + + public int getPortForAddress(String address) { + return addressPortCache.computeIfAbsent(address, k -> { + int port = currentPort.incrementAndGet(); + if (port>endPort) + throw new IllegalStateException("Zone ports exhausted: "+id); + log.debug("Mapped address-to-port: {} -> {}", address, port); + return port; + }); + } + + public void clearAddressToPortCache() { + addressPortCache.clear(); + } + + // Nodes management + public void addNode(@NonNull ClientShellCommand csc) { + synchronized (Objects.requireNonNull(csc)) { + nodes.put(csc.getClientIpAddress(), csc); + csc.setClientZone(this); + csc.getNodeRegistryEntry().setClusterZone(this); + } + } + + public void removeNode(@NonNull ClientShellCommand csc) { + synchronized (Objects.requireNonNull(csc)) { + nodes.remove(csc.getClientIpAddress()); + if (csc.getClientZone()==this) + csc.setClientZone(null); + if (csc.getNodeRegistryEntry()!=null && csc.getNodeRegistryEntry().getClusterZone()==this) + csc.getNodeRegistryEntry().setClusterZone(null); + if (aggregator==csc) + setAggregator(null); + } + } + + public Set getNodeAddresses() { + return new HashSet<>(nodes.keySet()); + } + + public List getNodes() { + return new ArrayList<>(nodes.values()); + } + + public ClientShellCommand getNodeByAddress(String address) { + return nodes.get(address); + } + + public List findAggregatorCapableNodes() { + return this.nodes.values().stream() + .filter(Objects::nonNull) + .map(ClientShellCommand::getNodeRegistryEntry) + .filter(Objects::nonNull) + .filter(entry -> entry.getState()==NodeRegistryEntry.STATE.REGISTERED || entry.getState()==NodeRegistryEntry.STATE.REGISTERING) + .collect(Collectors.toList()); + } + + // Nodes-without-Clients management + public void addNodeWithoutClient(@NonNull NodeRegistryEntry entry) { + synchronized (Objects.requireNonNull(entry)) { + String address = entry.getIpAddress(); + if (address == null) address = entry.getNodeAddress(); + if (address == null) throw new IllegalArgumentException("Node address not found in Preregistration info"); + nodesWithoutClient.put(address, entry); + entry.setClusterZone(this); + sendClientConfigurationToZoneClients(); + } + } + + public void removeNodeWithoutClient(@NonNull NodeRegistryEntry entry) { + synchronized (Objects.requireNonNull(entry)) { + String address = entry.getIpAddress(); + if (address == null) address = entry.getNodeAddress(); + if (address == null) throw new IllegalArgumentException("Node address not found in Preregistration info"); + nodesWithoutClient.remove(address); + if (entry.getClusterZone() == this) + entry.setClusterZone(null); + sendClientConfigurationToZoneClients(); + } + } + + public Set getNodeWithoutClientAddresses() { + return new HashSet<>(nodesWithoutClient.keySet()); + } + + public List getNodesWithoutClient() { + return new ArrayList<>(nodesWithoutClient.values()); + } + + public NodeRegistryEntry getNodeWithoutClientByAddress(String address) { + return nodesWithoutClient.get(address); + } + + public ClientConfiguration getClientConfiguration() { + return ClientConfiguration.builder() + .nodesWithoutClient(new HashSet<>(nodesWithoutClient.keySet())) + .build(); + } + + public ClientConfiguration sendClientConfigurationToZoneClients() { + ClientConfiguration cc = ClientConfiguration.builder() + .nodesWithoutClient(new HashSet<>(nodesWithoutClient.keySet())) + .build(); + ClientShellCommand.sendClientConfigurationToClients(cc , getNodes()); + return cc; + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterZoneDetector.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterZoneDetector.java new file mode 100644 index 0000000..7974094 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusterZoneDetector.java @@ -0,0 +1,166 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator.cluster; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringSubstitutor; +import org.springframework.context.expression.MapAccessor; +import org.springframework.expression.spel.standard.SpelExpressionParser; +import org.springframework.expression.spel.support.StandardEvaluationContext; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * Detects the Cluster/Zone the given node must be added, + * using node's pre-registration info and a set of configured rules + */ +@Slf4j +public class ClusterZoneDetector implements IClusterZoneDetector { + private final static List DEFAULT_ZONE_DETECTION_RULES = Arrays.asList( + "'${zone:-}'", + "'${zone-id:-}'", + "'${region:-}'", + "'${region-id:-}'", + "'${cloud:-}'", + "'${cloud-id:-}'", + "'${provider:-}'", + "'${provider-id:-}'", + "T(java.time.OffsetDateTime).now().toString()", +// "'Cluster_'+T(java.lang.System).currentTimeMillis()", +// "'Cluster_'+T(java.util.UUID).randomUUID()", + "" + ); + private final static RULE_TYPE DEFAULT_RULES_TYPE = RULE_TYPE.SPEL; + private final static List DEFAULT_ZONES = Collections.singletonList("DEFAULT_CLUSTER"); + private final static ASSIGNMENT_TO_DEFAULT_CLUSTERS DEFAULT_ASSIGNMENT_TO_DEFAULT_CLUSTERS = ASSIGNMENT_TO_DEFAULT_CLUSTERS.RANDOM; + + enum RULE_TYPE { SPEL, MAP } + enum ASSIGNMENT_TO_DEFAULT_CLUSTERS { RANDOM, SEQUENTIAL } + + private RULE_TYPE clusterDetectionRulesType = DEFAULT_RULES_TYPE; + private List clusterDetectionRules = DEFAULT_ZONE_DETECTION_RULES; + private List defaultClusters = DEFAULT_ZONES; + private ASSIGNMENT_TO_DEFAULT_CLUSTERS assignmentToDefaultClusters = DEFAULT_ASSIGNMENT_TO_DEFAULT_CLUSTERS; + + private SpelExpressionParser parser = new SpelExpressionParser(); + private AtomicInteger currentDefaultCluster = new AtomicInteger(0); + + @Override + public void setProperties(Map zoneConfig) { + log.debug("ClusterZoneDetector: setProperties: BEGIN: config: {}", zoneConfig); + + // Get rules type (Map keys or SpEL expressions) + RULE_TYPE rulesType = RULE_TYPE.valueOf( + zoneConfig.getOrDefault("cluster-detector-rules-type", DEFAULT_RULES_TYPE.toString()).toUpperCase()); + + // Get rules texts and separator + String separator = zoneConfig.getOrDefault("cluster-detector-rules-separator", ","); + String rulesStr = zoneConfig.getOrDefault("cluster-detector-rules", null); + if (StringUtils.isNotBlank(rulesStr)) { + List rulesList = Arrays.stream(rulesStr.split(separator)) + .filter(StringUtils::isNotBlank) + .map(String::trim) + .map(String::trim) + .collect(Collectors.toList()); + clusterDetectionRules = (rulesList.size()>0) ? rulesList : DEFAULT_ZONE_DETECTION_RULES; + clusterDetectionRulesType = (rulesList.size()>0) ? rulesType : DEFAULT_RULES_TYPE; + } + + // Get the default cluster(s) + List defaultsList = Arrays.stream(zoneConfig.getOrDefault("default-clusters", "").split(",")) + .filter(StringUtils::isNotBlank) + .map(String::trim) + .collect(Collectors.toList()); + defaultClusters = (defaultsList.size()>0) ? defaultsList : DEFAULT_ZONES; + + // Get assignment method to default clusters + assignmentToDefaultClusters = ASSIGNMENT_TO_DEFAULT_CLUSTERS.valueOf( + zoneConfig.getOrDefault("assignment-to-default-clusters", DEFAULT_ASSIGNMENT_TO_DEFAULT_CLUSTERS.toString().toUpperCase())); + + log.debug("ClusterZoneDetector: setProperties: clusterDetectionRulesType: {}", clusterDetectionRulesType); + log.debug("ClusterZoneDetector: setProperties: clusterDetectionRules: {}", clusterDetectionRules); + log.debug("ClusterZoneDetector: setProperties: defaultClusters: {}", defaultClusters); + log.debug("ClusterZoneDetector: setProperties: assignmentToDefaultClusters: {}", assignmentToDefaultClusters); + } + + @Override + public String getZoneIdFor(ClientShellCommand csc) { + log.trace("ClusterZoneDetector: getZoneIdFor: BEGIN: CSC: {}", csc); + return csc.getClientZone()==null || StringUtils.isBlank(csc.getClientZone().getId()) + ? getZoneIdFor(csc.getNodeRegistryEntry()) + : csc.getClientZone().getId(); + } + + @Override + public String getZoneIdFor(NodeRegistryEntry entry) { + log.trace("ClusterZoneDetector: getZoneIdFor: BEGIN: NRE: {}", entry); + final Map info = entry.getPreregistration(); + + // Select and initialize the right valueMapper based on rules type + log.trace("ClusterZoneDetector: getZoneIdFor: PREREGISTRATION-INFO: {}", info); + Function valueMapper; + switch (clusterDetectionRulesType) { + case SPEL: + StandardEvaluationContext context = new StandardEvaluationContext(info); + context.addPropertyAccessor(new MapAccessor()); + valueMapper = expression -> { + log.trace("ClusterZoneDetector: getZoneIdFor: Expression: {}", expression); + expression = StringSubstitutor.replace(expression, info); + expression = StringSubstitutor.replaceSystemProperties(expression); + log.trace("ClusterZoneDetector: getZoneIdFor: SpEL expr.: {}", expression); + String result = parser.parseRaw(expression).getValue(context, String.class); + log.trace("ClusterZoneDetector: getZoneIdFor: Result: {}", result); + return StringUtils.isBlank(result) ? null : result.trim(); + }; + break; + case MAP: + valueMapper = info::get; + break; + default: + throw new IllegalArgumentException("Unsupported RULE_TYPE: "+ clusterDetectionRulesType); + } + + // Process rules one-by-one, using valueMapper, until one rule yields a non-blank value + String zoneId = clusterDetectionRules.stream() + .filter(StringUtils::isNotBlank) + .peek(s -> log.trace("ClusterZoneDetector: getZoneIdFor: RULE: {}", s)) + .map(valueMapper) + .peek(s -> log.trace("ClusterZoneDetector: getZoneIdFor: RESULT: {}", s)) + .filter(StringUtils::isNotBlank) + .findFirst() + .orElse(null); + log.debug("ClusterZoneDetector: getZoneIdFor: Intermediate: zoneId: {}", zoneId); + + // If all rules yielded blank values then a default cluster id will be selected, using the assignment method + if (StringUtils.isBlank(zoneId)) { + switch (assignmentToDefaultClusters) { + case RANDOM: + zoneId = defaultClusters.get((int) (Math.random() * defaultClusters.size())); + break; + case SEQUENTIAL: + zoneId = defaultClusters.get(currentDefaultCluster.getAndUpdate(operand -> (operand + 1) % defaultClusters.size())); + break; + default: + throw new IllegalArgumentException("Unsupported ASSIGNMENT_TO_DEFAULT_CLUSTERS: "+assignmentToDefaultClusters); + } + } + log.debug("ClusterZoneDetector: getZoneIdFor: END: zoneId: {}", zoneId); + return zoneId; + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusteringCoordinator.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusteringCoordinator.java new file mode 100644 index 0000000..0081575 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/ClusteringCoordinator.java @@ -0,0 +1,446 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator.cluster; + +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.baguette.server.coordinator.NoopCoordinator; +import gr.iccs.imu.ems.common.selfhealing.SelfHealingManager; +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.util.ClientConfiguration; +import gr.iccs.imu.ems.util.GROUPING; +import lombok.NonNull; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringSubstitutor; + +import java.util.*; +import java.util.stream.Collectors; + +import static gr.iccs.imu.ems.util.GroupingConfiguration.BrokerConnectionConfig; + +@Slf4j +public class ClusteringCoordinator extends NoopCoordinator { + private final static String DEFAULT_ZONE = "default_zone"; + + private final Map topologyMap = new HashMap<>(); + + private IClusterZoneDetector clusterZoneDetector; + private IZoneManagementStrategy zoneManagementStrategy; + private int zoneStartPort = 1200; + private int zoneEndPort = 65535; + private String zoneKeystoreFileNameFormatter = "logs/cluster_${TIMESTAMP}_${ZONE_ID}.p12"; + + private GROUPING topLevelGrouping; + private GROUPING aggregatorGrouping; + private GROUPING lastLevelGrouping; + + private final Map ignoredNodes = new LinkedHashMap<>(); + private ClusterSelfHealing clusterSelfHealing; + + public Collection getClusterIdSet() { return topologyMap.keySet(); } + public Collection getClusters() { return topologyMap.values().stream().map(c->(IClusterZone)c).collect(Collectors.toList()); } + public IClusterZone getCluster(String id) { return topologyMap.get(id); } + + @Override + public boolean isSupported(final TranslationContext _TC) { + log.trace("ClusteringCoordinator.isSupported: TC: {}", _TC); + + // Check if it is a 3-level architecture + Set groupings = _TC.getG2R().keySet(); + log.trace("ClusteringCoordinator.isSupported: Groupings: {}", groupings); + log.trace("ClusteringCoordinator.isSupported: Contains GLOBAL: {}", groupings.contains("GLOBAL")); + log.trace("ClusteringCoordinator.isSupported: Num of Levels: {}", groupings.size()); + + if (!groupings.contains("GLOBAL")) return false; + return groupings.size()==3; + } + + @Override + public boolean supportsAggregators() { + return true; + } + + @Override + public void initialize(final TranslationContext TC, String upperwareGrouping, BaguetteServer server, Runnable callback) { + if (!isSupported(TC)) + throw new IllegalArgumentException("Passed Translation Context is not supported"); + + super.initialize(TC, upperwareGrouping, server, callback); + List groupings = TC.getG2R().keySet().stream() + .map(GROUPING::valueOf) + .sorted() + .collect(Collectors.toList()); + log.debug("ClusteringCoordinator.initialize(): Groupings: {}", groupings); + this.topLevelGrouping = groupings.get(0); + this.aggregatorGrouping = groupings.get(1); + this.lastLevelGrouping = groupings.get(2); + log.info("ClusteringCoordinator.initialize(): Groupings: top-level={}, aggregator={}, last-level={}", + topLevelGrouping, aggregatorGrouping, lastLevelGrouping); + + // Configure Self-Healing manager + clusterSelfHealing = new ClusterSelfHealing(server.getSelfHealingManager()); + server.getSelfHealingManager().setMode(SelfHealingManager.MODE.INCLUDED); + } + + @SneakyThrows + public void setProperties(Map zoneConfig) { + log.debug("Zone configuration: {}", zoneConfig); + zoneManagementStrategy = zoneConfig.containsKey("zone-management-strategy-class") + ? (IZoneManagementStrategy) Class.forName(zoneConfig.get("zone-management-strategy-class")).getConstructor().newInstance() + : new DefaultZoneManagementStrategy(); + zoneStartPort = zoneConfig.containsKey("zone-port-start") + ? Integer.parseInt(zoneConfig.get("zone-port-start")) : zoneStartPort; + zoneEndPort = zoneConfig.containsKey("zone-port-end") + ? Integer.parseInt(zoneConfig.get("zone-port-end")) : zoneEndPort; + zoneKeystoreFileNameFormatter = zoneConfig.containsKey("zone-keystore-file-name-formatter") + ? zoneConfig.get("zone-keystore-file-name-formatter") : zoneKeystoreFileNameFormatter; + + // Initialize Cluster Detector + String clusterDetectorClass = zoneConfig.get("cluster-detector-class"); + if (StringUtils.isNotBlank(clusterDetectorClass)) { + Class clazz = Class.forName(clusterDetectorClass); + if (clazz.isAssignableFrom(IClusterZoneDetector.class)) + clusterZoneDetector = (IClusterZoneDetector) clazz.getConstructor().newInstance(); + else + throw new IllegalArgumentException("Invalid Cluster Detector class. Not implementing IClusterZoneDetector interface: "+clazz.getName()); + } else { + clusterZoneDetector = new ClusterZoneDetector(); + } + clusterZoneDetector.setProperties(zoneConfig); + log.info("Cluster Detector class: {}", clusterZoneDetector.getClass().getName()); + } + + @Override + public boolean processClientInput(ClientShellCommand csc, String line) { + if (StringUtils.isBlank(line)) return false; + String[] args = Arrays.stream(line.trim().split("[ \t\r\n]+")).filter(StringUtils::isNotBlank).map(String::trim).toArray(String[]::new); + if (!"CLUSTER".equalsIgnoreCase(args[0])) return false; + if ("AGGREGATOR".equalsIgnoreCase(args[1])) { + String clientId1 = csc.getId(); + String clientId2 = csc.getClientId(); + String clientId3 = args[2]; + log.trace("processClientInput: csc.zone: {}", csc.getClientZone()!=null ? csc.getClientZone().getId() : null); + log.trace("processClientInput: topology-map: {}", topologyMap.keySet()); + ClusterZone zone = findZone(csc); + log.trace("processClientInput: zone={}", zone); + zone.setAggregator(csc); + log.info("Updated aggregator of zone: {} -- New aggregator: {} @ {} ({})", + zone.getId(), clientId1, csc.getClientIpAddress(), clientId2); + } + return true; + } + + private ClusterZone findZone(ClientShellCommand csc) { + String zoneId = clusterZoneDetector.getZoneIdFor(csc); + return topologyMap.get(zoneId); + } + + @Override + public boolean allowAlreadyPreregisteredNode(Map nodeInfo) { + return zoneManagementStrategy.allowAlreadyPreregisteredNode(nodeInfo); + } + + @Override + public boolean allowAlreadyRegisteredNode(ClientShellCommand csc) { + return zoneManagementStrategy.allowAlreadyRegisteredNode(csc); + } + + @Override + public boolean allowNotPreregisteredNode(ClientShellCommand csc) { + return zoneManagementStrategy.allowNotPreregisteredNode(csc); + } + + @Override + public synchronized void preregister(@NonNull NodeRegistryEntry entry) { + log.debug("ClusteringCoordinator: preregister: BEGIN: NRE:\n{}", entry); + + if (!_logInvocation("preregister", entry.getNodeIdAndAddress(), true)) return; + + // Check if client has been preregistered (or connected without being expected) + /*if (zoneManagementStrategy.allowNotPreregisteredNode(entry)) { + log.warn("Non-Preregistered node will be preregistered: {} @ {}", entry.getClientId(), entry.getIpAddress()); + zoneManagementStrategy.notPreregisteredNode(entry); + }*/ + + log.debug("ClusteringCoordinator: preregister: Checking node State: node={}, state={}", entry.getNodeIdAndAddress(), entry.getState()); + if (entry.getState()==NodeRegistryEntry.STATE.IGNORE_NODE) { + // Add in ignored nodes list + log.info("ClusteringCoordinator: preregister: Ignoring node: node={}, state={}", entry.getNodeIdAndAddress(), entry.getState()); + ignoredNodes.put(entry.getIpAddress(), entry); + } else + if (entry.getState()==NodeRegistryEntry.STATE.NOT_INSTALLED) { + // Append to Nodes without EMS client (e.g. Edge devices, resource-limited VM's) + log.debug("ClusteringCoordinator: preregister: Adding node without EMS client: node={}, state={}", entry.getNodeIdAndAddress(), entry.getState()); + + // Assign node-without-client in a zone + String zoneId = clusterZoneDetector.getZoneIdFor(entry); + log.debug("ClusteringCoordinator: preregister: New entry: node={}, zone-id={}", entry.getNodeIdAndAddress(), zoneId); + if (log.isTraceEnabled()) { + log.trace("preregister: topologyMap: BEFORE: keys={}", topologyMap.keySet()); + log.trace("preregister: topologyMap: containsKey: key={}, result={}", zoneId, topologyMap.containsKey(zoneId)); + } + ClusterZone zone = topologyMap.computeIfAbsent(zoneId, this::createClusterZone); + log.trace("ClusteringCoordinator: preregister: Zone members without client: BEFORE: {}", zone.getNodesWithoutClient()); + zone.addNodeWithoutClient(entry); + log.trace("ClusteringCoordinator: preregister: Zone members without client: AFTER: {}", zone.getNodesWithoutClient()); + } else + if (entry.getState()==NodeRegistryEntry.STATE.INSTALLED) { + // Append to normal Node with EMS client + log.debug("ClusteringCoordinator: preregister: Node with EMS client: node={}, state={}", entry.getNodeIdAndAddress(), entry.getState()); + // No need to do something + } else { + // Other states are ignored + log.warn("ClusteringCoordinator: preregister: No preregistration due to node state: node={}, state={}", entry.getNodeIdAndAddress(), entry.getState()); + } + } + + @SneakyThrows + private ClusterZone createClusterZone(@NonNull String id) { + Map values = new HashMap<>(); + values.put("TIMESTAMP", ""+System.currentTimeMillis()); + values.put("ZONE_ID", id.replaceAll("[^A-Za-z0-9_]", "_")); + String keystoreFile = StringSubstitutor.replace(zoneKeystoreFileNameFormatter, values); + return new ClusterZone(id, zoneStartPort, zoneEndPort, keystoreFile); + } + + @Override + public synchronized void register(ClientShellCommand csc) { + if (!_logInvocation("register", csc, true)) return; + + // Check if client has been preregistered (or connected without being expected) + NodeRegistryEntry preregEntry = server.getNodeRegistry().getNodeByAddress(csc.getClientIpAddress()); + log.debug("Preregistered info for node: {} @ {}:\n{}", csc.getId(), csc.getClientIpAddress(), preregEntry); + if (preregEntry==null && zoneManagementStrategy.allowNotPreregisteredNode(csc)) { + log.warn("Non Preregistered node connected: {} @ {}", csc.getId(), csc.getClientIpAddress()); + log.warn("Preregistered nodes: {}", server.getNodeRegistry().getNodes().stream() + .map(entry->entry.getState()+"/"+entry.getIpAddress()+"/"+entry.getNodeIdAndAddress()+"/"+entry.getClientId()) + .collect(Collectors.toList())); + zoneManagementStrategy.notPreregisteredNode(csc); + } else if (preregEntry==null) { + log.warn("Non Preregistered node is refused connection: {} @ {}", csc.getId(), csc.getClientIpAddress()); + csc.setCloseConnection(true); + return; + } + + // Check if client has already been registered (i.e. is still connected) + ClientShellCommand regEntry = topologyMap.values().stream() + .map(zone->zone.getNodeByAddress(csc.getClientIpAddress())) + .filter(Objects::nonNull) + .findAny().orElse(null); + log.debug("Registered CSC for node: {} @ {}:\n{}", csc.getId(), csc.getClientIpAddress(), regEntry); + if (regEntry!=null && allowAlreadyRegisteredNode(csc)) { + log.warn("Already Registered node connected: {} @ {}", csc.getId(), csc.getClientIpAddress()); + zoneManagementStrategy.alreadyRegisteredNode(csc); + } else if (regEntry!=null) { + log.warn("New node is refused connection because an active connection from the same IP address already exists: {} @ {}", csc.getId(), csc.getClientIpAddress()); + csc.setCloseConnection(true); + return; + } + + // Register client + _do_register(csc); + } + + @Override + public synchronized void unregister(ClientShellCommand csc) { + if (!_logInvocation("unregister", csc, true)) return; + _do_unregister(csc); + } + + protected synchronized void _do_register(ClientShellCommand csc) { + // Add registered node in topology map + addNodeInTopology(csc); + + // collect client configuration + ClientConfiguration clientConfig = csc.getClientZone().getClientConfiguration(); + + // prepare configuration + Map connCfgMap = new LinkedHashMap<>(); + BrokerConnectionConfig groupingConn = getUpperwareBrokerConfig(server); + connCfgMap.put(server.getUpperwareGrouping(), groupingConn); + log.trace("ClusteringCoordinator: GLOBAL broker config.: {}", groupingConn); + + // collect client configurations per grouping + for (String groupingName : server.getGroupingNames()) { + groupingConn = getGroupingBrokerConfig(groupingName, csc); + connCfgMap.put(groupingName, groupingConn); + log.trace("ClusteringCoordinator: {} broker config.: {}", groupingName, groupingConn); + } + + // send client configuration to client + log.info("ClusteringCoordinator: --------------------------------------------------"); + log.info("ClusteringCoordinator: Sending client configuration to client {}...\n{}", csc.getId(), clientConfig); + csc.getClientZone().sendClientConfigurationToZoneClients(); + log.info("ClusteringCoordinator: Sending client configuration to client {}... done", csc.getId()); + sleep(500); + + // send grouping configurations to client + log.info("ClusteringCoordinator: --------------------------------------------------"); + log.info("ClusteringCoordinator: Sending grouping configurations to client {}...\n{}", csc.getId(), connCfgMap); + sendGroupingConfigurations(connCfgMap, csc, server); + log.info("ClusteringCoordinator: Sending grouping configurations to client {}... done", csc.getId()); + sleep(500); + + // Set active grouping + String grouping = lastLevelGrouping.name(); + log.info("ClusteringCoordinator: --------------------------------------------------"); + log.info("ClusteringCoordinator: Setting active grouping of client {}: {}", csc.getId(), grouping); + csc.setActiveGrouping(grouping); + log.info("ClusteringCoordinator: --------------------------------------------------"); + sleep(500); + + // Registered node added in topology map - Notify ZoneManagementStrategy + addedNodeInTopology(csc); + } + + private synchronized void addNodeInTopology(ClientShellCommand csc) { + // Assign client in a zone + String zoneId = clusterZoneDetector.getZoneIdFor(csc); + log.debug("addNodeInTopology: New client: id={}, address={}, zone-id={}", csc.getId(), csc.getClientIpAddress(), zoneId); + ClusterZone zone = topologyMap.computeIfAbsent(zoneId, this::createClusterZone); + log.trace("addNodeInTopology: Zone members: BEFORE: {}", zone.getNodes()); + zone.addNode(csc); + log.trace("addNodeInTopology: Zone members: AFTER: {}", zone.getNodes()); + + // Initialize new client's cluster node address/hostname, port and certificate + String nodeAddress = csc.getClientIpAddress(); + String nodeHostname = csc.getClientHostname(); + String nodeCanonical = csc.getClientCanonicalHostname(); + int nodePort = zone.getPortForAddress(nodeAddress); + csc.setClientClusterNodePort(nodePort); + csc.setClientClusterNodeAddress(nodeAddress); + csc.setClientClusterNodeHostname(nodeHostname); + //csc.setClientClusterNodeHostname(nodeCanonical); + log.debug("addNodeInTopology: New client: Cluster node: address={}, hostname={} // {}, port={}", + nodeAddress, nodeHostname, nodeCanonical, nodePort); + } + + private synchronized void addedNodeInTopology(ClientShellCommand csc) { + // Signal Zone Management Strategy for new client registration + zoneManagementStrategy.nodeAdded(csc, this, csc.getClientZone()); + log.info("addNodeInTopology: Client added in topology: client={}, address={}", csc.getId(), csc.getClientIpAddress()); + + if (csc.getClientZone()!=null) { + IClusterZone zone = csc.getClientZone(); + log.trace("addNodeInTopology: CSC is in zone: client={}, address={}, zone={}", csc.getId(), csc.getClientIpAddress(), zone.getId()); + + // Self-healing-related actions + List aggregatorCapableNodes = clusterSelfHealing.getAggregatorCapableNodesInZone(zone); + clusterSelfHealing.updateNodesSelfHealingMonitoring(zone, aggregatorCapableNodes); + clusterSelfHealing.removeResourceLimitedNodeSelfHealingMonitoring(zone, aggregatorCapableNodes); + } + } + + protected synchronized void _do_unregister(ClientShellCommand csc) { + // Remove node from topology map + removeNodeFromTopology(csc); + } + + private synchronized void removeNodeFromTopology(ClientShellCommand csc) { + // Assign client in a zone + String zoneId = csc.getNodeRegistryEntry()!=null ? clusterZoneDetector.getZoneIdFor(csc) : null; + ClusterZone zone = StringUtils.isNotBlank(zoneId) ? topologyMap.get(zoneId) : null; + if (zone == null) { + log.warn("removeNodeFromTopology: Non-registered client removed: client={}, address={}, zone-id={}", csc.getId(), csc.getClientIpAddress(), zoneId); + log.debug("removeNodeFromTopology: Non-registered client removed: entry={}", csc.getNodeRegistryEntry()); + } else { + log.trace("removeNodeFromTopology: Zone members: BEFORE: {}", zone.getNodes()); + zone.removeNode(csc); + log.trace("removeNodeFromTopology: Zone members: AFTER: {}", zone.getNodes()); + zoneManagementStrategy.nodeRemoved(csc, this, zone); + log.info("removeNodeFromTopology: Client removed from topology: client={}, address={}", csc.getId(), csc.getClientIpAddress()); + + ClientShellCommand aggregator = zone.getAggregator(); + if (aggregator==csc || aggregator==null) { + if (aggregator==csc) zone.setAggregator(null); + log.warn("removeNodeFromTopology: Zone without aggregator: zone-id={}, old-aggregator-id={}, address={}", zone.getId(), csc.getId(), csc.getClientIpAddress()); + + // Nothing to do. Client-side self-healing must elect a new Aggregator + // Optionally, we can start a timer so that if no Aggregator is elected within a period, then we can appoint one or trigger Server-side self-healing + } + + // Self-healing-related actions + List aggregatorCapableNodes = clusterSelfHealing.getAggregatorCapableNodesInZone(zone); + clusterSelfHealing.updateNodesSelfHealingMonitoring(zone, aggregatorCapableNodes); + if (aggregatorCapableNodes.isEmpty()) + ; //XXX: TODO: ??Reconfigure non-candidate nodes to forward their events to EMS server?? + clusterSelfHealing.addResourceLimitedNodeSelfHealingMonitoring(zone, aggregatorCapableNodes); + } + } + + // ------------------------------------------------------------------------ + // Methods to be used by Zone Management Strategies + // ------------------------------------------------------------------------ + + void sendClusterKey(ClientShellCommand csc, IClusterZone zoneInfo) { + csc.sendCommand(String.format("CLUSTER-KEY %s %s %s %s", + zoneInfo.getClusterKeystoreFile().getName(), zoneInfo.getClusterKeystoreType(), + zoneInfo.getClusterKeystorePassword(), zoneInfo.getClusterKeystoreBase64())); + } + + void sendCommandToZone(String command, List zoneNodes) { + log.info("sendCommandToZone: Sending command: \"{}\" to zone nodes: {}", command, + zoneNodes.stream().map(ClientShellCommand::toStringCluster).collect(Collectors.toList())); + zoneNodes.forEach(c -> c.sendCommand(command)); + } + + void instructClusterJoin(ClientShellCommand csc, IClusterZone zone, boolean startElection) { + List zoneNodes = zone.getNodes(); + log.debug("instructClusterJoin: Zone members: {}", zoneNodes); + + // Build zone members list + final List addresses = new ArrayList<>(); + final List hostnames = new ArrayList<>(); + zoneNodes.forEach(c -> { + if (c!=csc) { + addresses.add(c.getClientClusterNodeAddress()+":"+c.getClientClusterNodePort()); + hostnames.add(c.getClientClusterNodeHostname()+":"+c.getClientClusterNodePort()); + } + }); + log.debug("instructClusterJoin: New cluster node nearby members: addresses={}, hostnames={}", addresses, hostnames); + + // Prepare cluster join commands + String command = String.format("%s %s:%s:%s start-election=%b %s:%d %s", + zone.getId(), + topLevelGrouping, aggregatorGrouping, lastLevelGrouping, + startElection, + csc.getClientClusterNodeAddress(), + csc.getClientClusterNodePort(), + String.join(" ", addresses)); + /*String command = + zone.getId()+" " + +topLevelGrouping+":"+aggregatorGrouping+":"+lastLevelGrouping+" " + +startElection+" " + +csc.getClientClusterNodeHostname()+":"+csc.getClientClusterNodePort()+" " + +String.join(" ", hostnames);*/ + + // Send cluster join command + log.debug("instructClusterJoin: Client {} @ {} joins cluster: CLUSTER-JOIN {}", csc.getId(), csc.getClientIpAddress(), command); + csc.sendCommand("CLUSTER-JOIN "+command); + } + + void instructClusterLeave(ClientShellCommand csc, IClusterZone zone) { + // Send cluster leave command + log.debug("instructClusterLeave: Client {} @ {} leaves cluster: CLUSTER-LEAVE", csc.getId(), csc.getClientIpAddress()); + try { + csc.sendCommand("CLUSTER-LEAVE"); + } catch (Exception e) { + // Channel has probably already been closed + log.warn("instructClusterLeave: EXCEPTION: ", e); + } + } + + void electAggregator(IClusterZone zone) { + sendCommandToZone("CLUSTER-EXEC broker elect", zone.getNodes()); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/DefaultZoneManagementStrategy.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/DefaultZoneManagementStrategy.java new file mode 100644 index 0000000..1573812 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/DefaultZoneManagementStrategy.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator.cluster; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import lombok.extern.slf4j.Slf4j; + +/** + * The default Zone Management Strategy used when 'zone-management-strategy-class' property is not set. + * It groups clients based on domain name, or last byte of IP Address. If neither is available it assigns client + * in a new zone identified by a random UUID. + * The first client to join a zone will be instructed to start cluster and become aggregator. + * Subsequent clients will just join the cluster. + */ +@Slf4j +public class DefaultZoneManagementStrategy implements IZoneManagementStrategy { + @Override + public void notPreregisteredNode(ClientShellCommand csc) { + log.warn("DefaultZoneManagementStrategy: Unexpected node connected: {} @ {}", csc.getId(), csc.getClientIpAddress()); + } + + @Override + public void alreadyRegisteredNode(ClientShellCommand csc) { + log.warn("DefaultZoneManagementStrategy: Node connection from an already registered IP address: {} @ {}", csc.getId(), csc.getClientIpAddress()); + } + + @Override + public synchronized void nodeAdded(ClientShellCommand csc, ClusteringCoordinator coordinator, IClusterZone zone) { + // Instruct new node to join cluster + log.info("DefaultZoneManagementStrategy: Node to join cluster: client={}, zone={}", csc.getId(), zone.getId()); + joinToCluster(csc, coordinator, zone); + } + + private void joinToCluster(ClientShellCommand csc, ClusteringCoordinator coordinator, IClusterZone zone) { + coordinator.sendClusterKey(csc, zone); + coordinator.instructClusterJoin(csc, zone, true); + + coordinator.sleep(1000); + csc.sendCommand("CLUSTER-EXEC broker list"); + //coordinator.sleep(1000); + //csc.sendCommand("CLUSTER-TEST"); + } + + @Override + public synchronized void nodeRemoved(ClientShellCommand csc, ClusteringCoordinator coordinator, IClusterZone zone) { + // Instruct node to leave cluster + log.info("DefaultZoneManagementStrategy: Node to leave cluster: client={}, zone={}", csc.getId(), zone.getId()); + coordinator.instructClusterLeave(csc, zone); + } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IClusterZone.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IClusterZone.java new file mode 100644 index 0000000..bde3749 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IClusterZone.java @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator.cluster; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.util.ClientConfiguration; +import lombok.NonNull; + +import java.io.File; +import java.util.List; +import java.util.Set; + +public interface IClusterZone { + String getId(); + void addNode(@NonNull ClientShellCommand csc); + void removeNode(@NonNull ClientShellCommand csc); + Set getNodeAddresses(); + List getNodes(); + ClientShellCommand getNodeByAddress(String address); + + List findAggregatorCapableNodes(); + + void addNodeWithoutClient(@NonNull NodeRegistryEntry entry); + void removeNodeWithoutClient(@NonNull NodeRegistryEntry entry); + Set getNodeWithoutClientAddresses(); + List getNodesWithoutClient(); + NodeRegistryEntry getNodeWithoutClientByAddress(String address); + + ClientConfiguration getClientConfiguration(); + ClientConfiguration sendClientConfigurationToZoneClients(); + + File getClusterKeystoreFile(); + String getClusterKeystoreType(); + String getClusterKeystorePassword(); + String getClusterKeystoreBase64(); +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IClusterZoneDetector.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IClusterZoneDetector.java new file mode 100644 index 0000000..a03a9d1 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IClusterZoneDetector.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator.cluster; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; + +import java.util.Map; + +public interface IClusterZoneDetector { + String getZoneIdFor(ClientShellCommand csc); + String getZoneIdFor(NodeRegistryEntry entry); + void setProperties(Map zoneConfig); +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IZoneManagementStrategy.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IZoneManagementStrategy.java new file mode 100644 index 0000000..56d97e6 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/coordinator/cluster/IZoneManagementStrategy.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.coordinator.cluster; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; + +import java.util.Map; + +public interface IZoneManagementStrategy { + default boolean allowAlreadyPreregisteredNode(Map nodeInfo) { return true; } + default boolean allowAlreadyPreregisteredNode(NodeRegistryEntry entry) { return true; } + default boolean allowAlreadyRegisteredNode(ClientShellCommand csc) { return true; } + default boolean allowAlreadyRegisteredNode(NodeRegistryEntry entry) { return true; } + default boolean allowNotPreregisteredNode(ClientShellCommand csc) { return true; } + default boolean allowNotPreregisteredNode(NodeRegistryEntry entry) { return true; } + default void notPreregisteredNode(ClientShellCommand csc) { } + default void notPreregisteredNode(NodeRegistryEntry entry) { } + default void alreadyRegisteredNode(ClientShellCommand csc) { } + default void alreadyRegisteredNode(NodeRegistryEntry entry) { } + + default void nodeAdded(ClientShellCommand csc, ClusteringCoordinator coordinator, IClusterZone zoneInfo) { } + default void nodeRemoved(ClientShellCommand csc, ClusteringCoordinator coordinator, IClusterZone zoneInfo) { } +} diff --git a/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/properties/BaguetteServerProperties.java b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/properties/BaguetteServerProperties.java new file mode 100644 index 0000000..831bd37 --- /dev/null +++ b/ems-core/baguette-server/src/main/java/gr/iccs/imu/ems/baguette/server/properties/BaguetteServerProperties.java @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.baguette.server.properties; + +import gr.iccs.imu.ems.baguette.server.ServerCoordinator; +import gr.iccs.imu.ems.util.CredentialsMap; +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.validation.annotation.Validated; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Data +@Validated +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "baguette.server") +public class BaguetteServerProperties implements InitializingBean { + public void afterPropertiesSet() { + log.debug("BaguetteServerProperties: {}", this); + checkConfig(); + } + + private void checkConfig() { + // Check that either coordinator class or id is provided + if (coordinatorClass==null && (coordinatorId==null || coordinatorId.size()==0)) + throw new IllegalArgumentException("Either coordinator class or coordinator id must be provided"); + if (coordinatorId!=null && coordinatorId.size()>0) { + coordinatorId.forEach(id -> { + CoordinatorConfig cc = getCoordinatorConfig().get(id); + if (cc==null) + throw new IllegalArgumentException("Not found coordinator configuration with id: "+id); + if (cc.getCoordinatorClass()==null) + throw new IllegalArgumentException("No coordinator class in configuration with id: "+id); + }); + } + } + + private Class coordinatorClass; + private Map coordinatorParameters = new HashMap<>(); + + private List coordinatorId; + private Map coordinatorConfig = new HashMap<>(); + + @Min(-1) + private long registrationWindow = 30000; + @Min(-1) + private int numberOfInstances = -1; + @Min(-1) + private int NumberOfSegments = -1; + + private String address; + public String getServerAddress() { return address; } + private boolean resolveHostname = true; + + @Min(value = 1, message = "Valid server ports are between 1 and 65535. Please prefer ports higher than 1023.") + @Max(value = 65535, message = "Valid server ports are between 1 and 65535. Please prefer ports higher than 1023.") + private int port = 2222; + public int getServerPort() { return port; } + + private String keyFile = "hostkey.pem"; + public String getServerKeyFile() { return keyFile; } + + private boolean heartbeatEnabled; + @Min(-1) + private long heartbeatPeriod = 60000; + + private boolean clientAddressOverrideAllowed; + private String clientIdFormat; + private String clientIdFormatEscape = "~"; + + private final CredentialsMap credentials = new CredentialsMap(); + + @Data + public static class CoordinatorConfig { + private Class coordinatorClass; + private Map parameters; + } +} diff --git a/ems-core/bin/client.sh b/ems-core/bin/client.sh new file mode 100644 index 0000000..0f8d80c --- /dev/null +++ b/ems-core/bin/client.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd ) + +#JAVA_OPTS=-Djavax.net.ssl.trustStore=./broker-truststore.p12\ -Djavax.net.ssl.trustStorePassword=melodic\ -Djavax.net.ssl.trustStoreType=pkcs12 +# -Djavax.net.debug=all +# -Djavax.net.debug=ssl,handshake,record + +java $JAVA_OPTS -jar ${BASEDIR}/public_resources/resources/broker-client.jar $* diff --git a/ems-core/bin/cp2cdo.bat b/ems-core/bin/cp2cdo.bat new file mode 100644 index 0000000..9f27c34 --- /dev/null +++ b/ems-core/bin/cp2cdo.bat @@ -0,0 +1,27 @@ +@echo off +:: +:: Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +:: +:: This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +:: Esper library is used, in which case it is subject to the terms of General Public License v2.0. +:: If a copy of the MPL was not distributed with this file, you can obtain one at +:: https://www.mozilla.org/en-US/MPL/2.0/ +:: + +setlocal +set PWD=%cd% +cd %~dp0.. +set BASEDIR=%cd% +IF NOT DEFINED EMS_CONFIG_DIR set EMS_CONFIG_DIR=%BASEDIR%\config-files +IF NOT DEFINED PAASAGE_CONFIG_DIR set PAASAGE_CONFIG_DIR=%BASEDIR%\config-files + +:: Copy dependencies if missing +if exist pom.xml ( + if not exist %BASEDIR%\control-service\target\dependency cmd /C "cd control-service && mvn dependency:copy-dependencies" +) + +java -classpath %BASEDIR%/control-service/target/classes;%BASEDIR%/control-service/target/dependency/* gr.iccs.imu.ems.control.util.CpModelHelper %* +rem Usage: cp2cdo + +cd %PWD% +endlocal \ No newline at end of file diff --git a/ems-core/bin/cp2cdo.sh b/ems-core/bin/cp2cdo.sh new file mode 100644 index 0000000..4a9d1e1 --- /dev/null +++ b/ems-core/bin/cp2cdo.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +PREVWORKDIR=`pwd` +BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd ) +cd ${BASEDIR} +if [[ -z $EMS_CONFIG_DIR ]]; then EMS_CONFIG_DIR=${BASEDIR}/config-files; export EMS_CONFIG_DIR; fi +if [[ -z $PAASAGE_CONFIG_DIR ]]; then PAASAGE_CONFIG_DIR=${BASEDIR}/config-files; export PAASAGE_CONFIG_DIR; fi + +# Copy dependencies if missing +if [[ -f ${BASEDIR}/control-service/pom.xml ]]; then + if [[ ! -d ${BASEDIR}/control-service/target/dependency ]]; then + cd ${BASEDIR}/control-service + mvn dependency:copy-dependencies + cd ${BASEDIR} + fi +fi + +java -classpath "control-service/target/classes;control-service/target/dependency/*" gr.iccs.imu.ems.control.util.CpModelHelper $* +# Usage: cp2cdo + +cd ${PREVWORKDIR} diff --git a/ems-core/bin/detect.sh b/ems-core/bin/detect.sh new file mode 100644 index 0000000..b996e90 --- /dev/null +++ b/ems-core/bin/detect.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +#Required utilities: grep,uniq,tr,cat,cut,uname. For commented commands, awk and wc. + +BUSYBOX_PREFIX="${args[0]}" + +#TMP_NUM_CPUS=$($BUSYBOX_PREFIX grep 'physical id' /proc/cpuinfo | $BUSYBOX_PREFIX sort | $BUSYBOX_PREFIX uniq | $BUSYBOX_PREFIX wc -l) +#TMP_NUM_CORES=$($BUSYBOX_PREFIX grep 'cpu cores' /proc/cpuinfo | $BUSYBOX_PREFIX sort | $BUSYBOX_PREFIX uniq | $BUSYBOX_PREFIX cut -d ' ' -f 3) +#TMP_NUM_PROCESSORS=$($BUSYBOX_PREFIX grep -c ^processor /proc/cpuinfo) +TMP_RAM_TOTAL_KB=$($BUSYBOX_PREFIX cat /proc/meminfo | $BUSYBOX_PREFIX grep MemTotal | $BUSYBOX_PREFIX tr -s ' ' | $BUSYBOX_PREFIX cut -d ' ' -f 2) +TMP_RAM_AVAILABLE_KB=$($BUSYBOX_PREFIX cat /proc/meminfo | $BUSYBOX_PREFIX grep MemAvailable | $BUSYBOX_PREFIX tr -s ' ' | $BUSYBOX_PREFIX cut -d ' ' -f 2) +TMP_RAM_FREE_KB=$($BUSYBOX_PREFIX cat /proc/meminfo | $BUSYBOX_PREFIX grep MemFree | $BUSYBOX_PREFIX tr -s ' ' | $BUSYBOX_PREFIX cut -d ' ' -f 2) +TMP_DISK_TOTAL_KB=$($BUSYBOX_PREFIX df -k | $BUSYBOX_PREFIX grep /$ | $BUSYBOX_PREFIX tr -s ' ' | $BUSYBOX_PREFIX cut -d ' ' -f 2) +TMP_DISK_FREE_KB=$($BUSYBOX_PREFIX df -k | $BUSYBOX_PREFIX grep /$ | $BUSYBOX_PREFIX tr -s ' ' | $BUSYBOX_PREFIX cut -d ' ' -f 4) +TMP_ARCHITECTURE=$($BUSYBOX_PREFIX uname -m) #x86_64 GNU/Linux indicates that you've a 64bit Linux kernel running. If you see i386/i486/i586/i686 it is a 32-bit architecture. armv7l, armv8 etc. signal a 32-bit arm version of the library while aarch64 indicates a 64-bit arm version of the library +TMP_KERNEL=$($BUSYBOX_PREFIX uname -s) +TMP_KERNEL_RELEASE=$($BUSYBOX_PREFIX uname -r) + +#NUM_CORES_ALT=$BUSYBOX_PREFIX grep ^cpu\\scores /proc/cpuinfo | $BUSYBOX_PREFIX uniq | $BUSYBOX_PREFIX awk '{print $4}' +#CAN_RUN_x64 = grep flags /proc/cpuinfo | grep " lm" | wc | tr -s ' ' | cut -d ' ' -f 2 #1 means that it can run x64, 0 that it can't, although that possibly also depends on the kernel installed + +TMP_NUM_CPUS=$(lscpu -p | grep -v '#' | cut -d ',' -f 3 | sort -u | wc -l) +TMP_NUM_CORES=$(lscpu -p | grep -v '#' | cut -d ',' -f 2 | sort -u | wc -l) +TMP_NUM_PROCESSORS=$(lscpu -p | grep -v '#' | cut -d ',' -f 1 | sort -u | wc -l) +TMP_RAM_USED_KB=$(echo $TMP_RAM_TOTAL_KB $TMP_RAM_FREE_KB | awk '{print $1 - $2}') +TMP_RAM_UTILIZATION=$(echo $TMP_RAM_USED_KB $TMP_RAM_TOTAL_KB | awk '{print 100 * $1 / $2}') +TMP_DISK_USED_KB=$(echo $TMP_DISK_TOTAL_KB $TMP_DISK_FREE_KB | awk '{print $1 - $2}') +TMP_DISK_UTILIZATION=$(echo $TMP_DISK_USED_KB $TMP_DISK_TOTAL_KB | awk '{print 100 * $1 / $2}') + + +echo CPU_SOCKETS=$TMP_NUM_CPUS +echo CPU_CORES=$TMP_NUM_CORES +echo CPU_PROCESSORS=$TMP_NUM_PROCESSORS +echo RAM_TOTAL_KB=$TMP_RAM_TOTAL_KB +echo RAM_AVAILABLE_KB=$TMP_RAM_AVAILABLE_KB +echo RAM_FREE_KB=$TMP_RAM_FREE_KB +echo RAM_USED_KB=$TMP_RAM_USED_KB +echo RAM_UTILIZATION=$TMP_RAM_UTILIZATION +echo DISK_TOTAL_KB=$TMP_DISK_TOTAL_KB +echo DISK_FREE_KB=$TMP_DISK_FREE_KB +echo DISK_USED_KB=$TMP_DISK_USED_KB +echo DISK_UTILIZATION=$TMP_DISK_UTILIZATION +echo OS_ARCHITECTURE=$TMP_ARCHITECTURE +echo OS_KERNEL=$TMP_KERNEL +echo OS_KERNEL_RELEASE=$TMP_KERNEL_RELEASE diff --git a/ems-core/bin/initialize-MELODIC-keystores.sh b/ems-core/bin/initialize-MELODIC-keystores.sh new file mode 100644 index 0000000..d8bbeab --- /dev/null +++ b/ems-core/bin/initialize-MELODIC-keystores.sh @@ -0,0 +1,157 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +PREVWORKDIR=`pwd` +BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +cd ${BASEDIR} + +if [[ -z $EMS_CONFIG_DIR ]]; then EMS_CONFIG_DIR=${BASEDIR}/config; export EMS_CONFIG_DIR; fi + +# Get IP addresses +echo Resolving Public IP addresses... +#PUBLIC_IP=`curl http://ifconfig.me 2> /dev/null` +#PUBLIC_IP=`curl http://www.icanhazip.com 2> /dev/null` +#PUBLIC_IP=`curl http://ipecho.net/plain 2> /dev/null` +#PUBLIC_IP=`curl http://bot.whatismyipaddress.com 2> /dev/null` +PUBLIC_IP=`curl https://diagnostic.opendns.com/myip 2> /dev/null` +#PUBLIC_IP=`curl http://checkip.amazonaws.com 2> /dev/null` + +# or get IP address with 'hostname' +if [[ "${PUBLIC_IP}" == "" ]]; then + PUBLIC_IP=`hostname --all-ip-addresses` + echo "PUBLIC_IP (hostname -I): $PUBLIC_IP" +fi + +# or set IP address manually +if [[ "${PUBLIC_IP}" == "" ]]; then + PUBLIC_IP=1.2.3.4 + echo "PUBLIC_IP (manually): $PUBLIC_IP" +fi + +# or use loopback +if [[ "${PUBLIC_IP}" == "" ]]; then + PUBLIC_IP=127.0.0.1 + echo "PUBLIC_IP (loopback): $PUBLIC_IP" +fi +PUBLIC_IP=`echo ${PUBLIC_IP} | sed 's/ *$//g'` +echo PUBLIC_IP=${PUBLIC_IP} + + +# Get cached IP address from previous run (if any) +CACHED_IP_FILE=${EMS_CONFIG_DIR}/MY_IP +touch ${CACHED_IP_FILE} +CACHED_IP=`cat ${CACHED_IP_FILE}` +#echo "Cached IP address=${CACHED_IP}" + +# Check if "Force update flag is set in command-line" (i.e. -U flag) +if [[ "$1" == "-U" ]]; then + CACHED_IP="----" +fi + +# Check if current and cached IP addresses match +if [[ "${PUBLIC_IP}" == "${CACHED_IP}" ]]; then + echo "Current and Cached IP addresses are identical: ${PUBLIC_IP}" + echo "Exit without changing keystores" + exit 0 +fi +# ...else store new IP address +echo ${PUBLIC_IP} > ${CACHED_IP_FILE} + + +# Prepare keystore base directory and truststore file +KEYSTORE_BASE_DIR=${EMS_CONFIG_DIR}/certs +TRUSTSTORE_DIR=${EMS_CONFIG_DIR}/common +TRUSTSTORE_FILE=${TRUSTSTORE_DIR}/melodic-truststore.p12 + +mkdir -p ${KEYSTORE_BASE_DIR} +mkdir -p ${TRUSTSTORE_DIR} +rm -f ${TRUSTSTORE_FILE} &> /dev/null + +# Keystore initialization settings +KEY_GEN_ALG=RSA +KEY_SIZE=2048 +START_DATE=-1d +VALIDITY=3650 +DN_FMT="CN=%s,OU=Information Management Unit (IMU),O=Institute of Communication and Computer Systems (ICCS),L=Athens,ST=Attika,C=GR" +if [[ "${PUBLIC_IP}" != "" ]]; then + PUBLIC_IP_FOR_SAN=${PUBLIC_IP// /,ip:} + PUBLIC_IP_FOR_SAN="ip:${PUBLIC_IP_FOR_SAN}" +fi +if [[ "${EXTRA_IPS_FOR_SAN}" != "" ]]; then + EXTRA_IPS_FOR_SAN=",${EXTRA_IPS_FOR_SAN}" + EXTRA_IPS_FOR_SAN=`echo ${EXTRA_IPS_FOR_SAN} | sed -e 's/,/,ip:/g'` + EXTRA_IPS_FOR_SAN=`echo ${EXTRA_IPS_FOR_SAN} | sed -e 's/[ \t]//g'` +fi +EXT_SAN_FMT="SAN=dns:%s,dns:localhost,ip:127.0.0.1,${PUBLIC_IP_FOR_SAN}${EXTRA_IPS_FOR_SAN}" + +KEYSTORE_TYPE=PKCS12 +KEYSTORE_PASS=melodic + +# Definition of 'create_keystore_for' function for the: +# Creation of key pair and certificate for component +function create_keystore_for() { + local COMPONENT=$1 + local KEYSTORE_DIR=${KEYSTORE_BASE_DIR}/${COMPONENT} + local KEYSTORE_FILE=${KEYSTORE_DIR}/keystore.p12 + local CERT_FILE=${KEYSTORE_DIR}/${COMPONENT}.crt + local KEY_ALIAS=${COMPONENT} + local DN=`printf "${DN_FMT}" "${KEY_ALIAS}" ` + local EXT_SAN=`printf "${EXT_SAN_FMT}" "${KEY_ALIAS}" ` + + echo "$COMPONENT:" + mkdir -p ${KEYSTORE_DIR} + + echo " Generating key pair and certificate for ${COMPONENT}..." + rm -f ${KEYSTORE_FILE} &> /dev/null + keytool -genkey -keyalg ${KEY_GEN_ALG} -keysize ${KEY_SIZE} \ + -alias ${KEY_ALIAS} \ + -startdate ${START_DATE} -validity ${VALIDITY} \ + -dname "${DN}" -ext "${EXT_SAN}" \ + -keystore ${KEYSTORE_FILE} \ + -storetype ${KEYSTORE_TYPE} -storepass ${KEYSTORE_PASS} + + echo " Exporting certificate of ${COMPONENT}..." + rm -rf ${CERT_FILE} &> /dev/null + keytool -export \ + -alias ${KEY_ALIAS} \ + -file ${CERT_FILE} \ + -keystore ${KEYSTORE_FILE} \ + -storetype ${KEYSTORE_TYPE} -storepass ${KEYSTORE_PASS} + + echo " Importing ${COMPONENT} certificate to truststore..." + keytool -import -noprompt \ + -alias ${KEY_ALIAS} \ + -file ${CERT_FILE} \ + -keystore ${TRUSTSTORE_FILE} \ + -storetype ${KEYSTORE_TYPE} -storepass ${KEYSTORE_PASS} + + echo "" +} + +# Creation of key pairs, certificates of all components and population of common truststore +create_keystore_for "cdoserver" +create_keystore_for "mule" +create_keystore_for "adapter" +create_keystore_for "generator" +create_keystore_for "cpsolver" +create_keystore_for "camunda" +create_keystore_for "memcache" +create_keystore_for "ldap" +create_keystore_for "metasolver" +create_keystore_for "jwtserver" +create_keystore_for "authdb" +create_keystore_for "authserver" +create_keystore_for "ems" +create_keystore_for "gui-backend" +create_keystore_for "gui-frontend" +#create_keystore_for "cloudiator" + +echo Key stores, certificate and Melodic common truststores are ready. +cd $PREVWORKDIR diff --git a/ems-core/bin/initialize-keystores.bat b/ems-core/bin/initialize-keystores.bat new file mode 100644 index 0000000..69c3f77 --- /dev/null +++ b/ems-core/bin/initialize-keystores.bat @@ -0,0 +1,85 @@ +@echo off +:: +:: Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +:: +:: This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +:: Esper library is used, in which case it is subject to the terms of General Public License v2.0. +:: If a copy of the MPL was not distributed with this file, you can obtain one at +:: https://www.mozilla.org/en-US/MPL/2.0/ +:: + +setlocal +set PWD=%cd% +cd %~dp0.. +set BASEDIR=%cd% +IF NOT DEFINED EMS_CONFIG_DIR set EMS_CONFIG_DIR=%BASEDIR%\config-files +IF NOT DEFINED PAASAGE_CONFIG_DIR set PAASAGE_CONFIG_DIR=%BASEDIR%\config-files + +:: Get IP addresses +set UTIL_FILE=util-4.0.0-SNAPSHOT-jar-with-dependencies.jar +set UTIL_PATH_0=util\target\%UTIL_FILE% +set UTIL_PATH_1=jars\util\%UTIL_FILE% +set UTIL_PATH_2=..\util\target\%UTIL_FILE% +set UTIL_PATH_3=.\%UTIL_FILE% +if exist %UTIL_PATH_0% ( + set UTIL_JAR=%UTIL_PATH_0% +) else ( + if exist %UTIL_PATH_1% ( + set UTIL_JAR=%UTIL_PATH_1% + ) else ( + if exist %UTIL_PATH_2% ( + set UTIL_JAR=%UTIL_PATH_2% + ) else ( + if exist %UTIL_PATH_3% ( + set UTIL_JAR=%UTIL_PATH_3% + ) else ( + echo ERROR: Couldn't find 'util-4.0.0-SNAPSHOT-jar-with-dependencies.jar' + echo ERROR: Skipping keystore initialization + goto the_end + ) + ) + ) +) +::echo UTIL_JAR location: %UTIL_JAR% + +echo Resolving Public and Default IP addresses... +for /f %%i in ('java -jar %UTIL_JAR% -nolog public') do set {PUBLIC_IP}=%%i +for /f %%i in ('java -jar %UTIL_JAR% -nolog default') do set {DEFAULT_IP}=%%i + +IF "%{PUBLIC_IP}%" == "null" set {PUBLIC_IP}=127.0.0.1 +IF "%{DEFAULT_IP}%" == "null" set {DEFAULT_IP}=127.0.0.1 + +echo PUBLIC_IP=%{PUBLIC_IP}% +echo DEFAULT_IP=%{DEFAULT_IP}% + +:: Keystore initialization settings +set KEY_GEN_ALG=RSA +set KEY_SIZE=2048 +set KEY_ALIAS=ems +set START_DATE=-1d +set VALIDITY=3650 +set DN=CN=ems,OU=Information Management Unit (IMU),O=Institute of Communication and Computer Systems (ICCS),L=Athens,ST=Attika,C=GR +set EXT_SAN=SAN=dns:localhost,ip:127.0.0.1,ip:%{DEFAULT_IP}%,ip:%{PUBLIC_IP}% +set KEYSTORE=%EMS_CONFIG_DIR%\broker-keystore.p12 +set TRUSTSTORE=%EMS_CONFIG_DIR%\broker-truststore.p12 +set CERTIFICATE=%EMS_CONFIG_DIR%\broker.crt +set KEYSTORE_TYPE=PKCS12 +set KEYSTORE_PASS=melodic + +:: Keystores initialization +echo Generating key pair and certificate... +keytool -delete -alias %KEY_ALIAS% -keystore %KEYSTORE% -storetype %KEYSTORE_TYPE% -storepass %KEYSTORE_PASS% > nul 2>&1 +keytool -genkey -keyalg %KEY_GEN_ALG% -keysize %KEY_SIZE% -alias %KEY_ALIAS% -startdate %START_DATE% -validity %VALIDITY% -dname "%DN%" -ext "%EXT_SAN%" -keystore %KEYSTORE% -storetype %KEYSTORE_TYPE% -storepass %KEYSTORE_PASS% + +echo Exporting certificate to file... +del /Q %CERTIFICATE% > nul 2>&1 +keytool -export -alias %KEY_ALIAS% -file %CERTIFICATE% -keystore %KEYSTORE% -storetype %KEYSTORE_TYPE% -storepass %KEYSTORE_PASS% + +echo Importing certificate to trust store... +keytool -delete -alias %KEY_ALIAS% -keystore %TRUSTSTORE% -storetype %KEYSTORE_TYPE% -storepass %KEYSTORE_PASS% > nul 2>&1 +keytool -import -noprompt -file %CERTIFICATE% -alias %KEY_ALIAS% -keystore %TRUSTSTORE% -storetype %KEYSTORE_TYPE% -storepass %KEYSTORE_PASS% + +echo Key store, trust stores and certificate are ready. +:the_end +cd %PWD% +endlocal diff --git a/ems-core/bin/initialize-keystores.sh b/ems-core/bin/initialize-keystores.sh new file mode 100644 index 0000000..ba04518 --- /dev/null +++ b/ems-core/bin/initialize-keystores.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +PREVWORKDIR=`pwd` +BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd ) +cd ${BASEDIR} +if [[ -z $EMS_CONFIG_DIR ]]; then EMS_CONFIG_DIR=$BASEDIR/config-files; export EMS_CONFIG_DIR; fi +if [[ -z $PAASAGE_CONFIG_DIR ]]; then PAASAGE_CONFIG_DIR=$BASEDIR/config-files; export PAASAGE_CONFIG_DIR; fi + +# Get IP addresses +UTIL_FILE=util-4.0.0-SNAPSHOT-jar-with-dependencies.jar +UTIL_PATH_0=util/target/${UTIL_FILE} +UTIL_PATH_1=jars/util/${UTIL_FILE} +UTIL_PATH_2=../util/target/${UTIL_FILE} +UTIL_PATH_3=./${UTIL_FILE} +if [ -f ${UTIL_PATH_0} ]; then + UTIL_JAR=${UTIL_PATH_0} +elif [ -f ${UTIL_PATH_1} ]; then + UTIL_JAR=${UTIL_PATH_1} +elif [ -f ${UTIL_PATH_2} ]; then + UTIL_JAR=${UTIL_PATH_2} +elif [ -f ${UTIL_PATH_3} ]; then + UTIL_JAR=${UTIL_PATH_3} +else + echo "ERROR: Couldn't find 'util-4.0.0-SNAPSHOT-jar-with-dependencies.jar'" + echo "ERROR: Skipping keystore initialization" + cd ${PREVWORKDIR} + exit 1 +fi +#echo UTIL_JAR location: ${UTIL_JAR} + +echo Resolving Public and Default IP addresses... +PUBLIC_IP=`java -jar ${UTIL_JAR} -nolog public` +DEFAULT_IP=`java -jar ${UTIL_JAR} -nolog default` + +if [[ "${PUBLIC_IP}" == "" || "${PUBLIC_IP}" == "null" ]]; then + PUBLIC_IP=127.0.0.1 +fi +if [[ "${DEFAULT_IP}" == "" || "${DEFAULT_IP}" == "null" ]]; then + DEFAULT_IP=127.0.0.1 +fi + +echo PUBLIC_IP=${PUBLIC_IP} +echo DEFAULT_IP=${DEFAULT_IP} + +# Keystore initialization settings +KEY_GEN_ALG=RSA +KEY_SIZE=2048 +KEY_ALIAS=ems +START_DATE=-1d +VALIDITY=3650 +DN="CN=ems,OU=Information Management Unit (IMU),O=Institute of Communication and Computer Systems (ICCS),L=Athens,ST=Attika,C=GR" +EXT_SAN="SAN=dns:localhost,ip:127.0.0.1,ip:${DEFAULT_IP},ip:${PUBLIC_IP}" +KEYSTORE=${EMS_CONFIG_DIR}/broker-keystore.p12 +TRUSTSTORE=${EMS_CONFIG_DIR}/broker-truststore.p12 +CERTIFICATE=${EMS_CONFIG_DIR}/broker.crt +KEYSTORE_TYPE=PKCS12 +KEYSTORE_PASS=melodic + +# Keystores initialization +echo Generating key pair and certificate... +keytool -delete -alias ${KEY_ALIAS} -keystore ${KEYSTORE} -storetype ${KEYSTORE_TYPE} -storepass ${KEYSTORE_PASS} &> /dev/null +keytool -genkey -keyalg ${KEY_GEN_ALG} -keysize ${KEY_SIZE} -alias ${KEY_ALIAS} -startdate ${START_DATE} -validity ${VALIDITY} -dname "${DN}" -ext "${EXT_SAN}" -keystore ${KEYSTORE} -storetype ${KEYSTORE_TYPE} -storepass ${KEYSTORE_PASS} + +echo Exporting certificate to file... +rm -rf ${CERTIFICATE} &> /dev/null +keytool -export -alias ${KEY_ALIAS} -file ${CERTIFICATE} -keystore ${KEYSTORE} -storetype ${KEYSTORE_TYPE} -storepass ${KEYSTORE_PASS} + +echo Importing certificate to trust store... +keytool -delete -alias ${KEY_ALIAS} -keystore ${TRUSTSTORE} -storetype ${KEYSTORE_TYPE} -storepass ${KEYSTORE_PASS} &> /dev/null +keytool -import -noprompt -file ${CERTIFICATE} -alias ${KEY_ALIAS} -keystore ${TRUSTSTORE} -storetype ${KEYSTORE_TYPE} -storepass ${KEYSTORE_PASS} + +echo Key store, trust stores and certificate are ready. +cd $PREVWORKDIR diff --git a/ems-core/bin/jwtutil.bat b/ems-core/bin/jwtutil.bat new file mode 100644 index 0000000..75e3dab --- /dev/null +++ b/ems-core/bin/jwtutil.bat @@ -0,0 +1,33 @@ +@echo off +:: +:: Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +:: +:: This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +:: Esper library is used, in which case it is subject to the terms of General Public License v2.0. +:: If a copy of the MPL was not distributed with this file, you can obtain one at +:: https://www.mozilla.org/en-US/MPL/2.0/ +:: + +setlocal +set PWD=%~dp0 +cd %PWD%.. +set BASEDIR=%cd% +IF NOT DEFINED EMS_CONFIG_DIR set EMS_CONFIG_DIR=%BASEDIR%\config-files +IF NOT DEFINED PAASAGE_CONFIG_DIR set PAASAGE_CONFIG_DIR=%BASEDIR%\config-files +IF NOT DEFINED JARS_DIR set JARS_DIR=%BASEDIR%\control-service\target + +if NOT DEFINED EMS_SECRETS_FILE set EMS_SECRETS_FILE=%EMS_CONFIG_DIR%\secrets.properties +if NOT DEFINED EMS_CONFIG_LOCATION set EMS_CONFIG_LOCATION=optional:file:%EMS_CONFIG_DIR%\ems-server.yml,optional:file:%EMS_CONFIG_DIR%\ems-server.properties,optional:file:%EMS_CONFIG_DIR%\ems.yml,optional:file:%EMS_CONFIG_DIR%\ems.properties,optional:file:%EMS_SECRETS_FILE% + +:: Read JASYPT password (decrypts encrypted configuration settings) +::set JASYPT_PASSWORD=password +if "%JASYPT_PASSWORD%"=="" ( + set /p JASYPT_PASSWORD="Configuration Password: " +) + +java -Djasypt.encryptor.password=%JASYPT_PASSWORD% -cp %JARS_DIR%\control-service.jar -Dloader.main=jwt.util.gr.iccs.imu.ems.control.JwtTokenUtil -Dlogging.level.ROOT=WARN -Dlogging.level.gr.iccs.imu.ems.util=ERROR "-Dspring.config.location=%EMS_CONFIG_LOCATION%" org.springframework.boot.loader.PropertiesLauncher %* +set exitcode=%ERRORLEVEL% + +cd %PWD% +endlocal && SET exitcode=%exitcode% +exit /B %exitcode% \ No newline at end of file diff --git a/ems-core/bin/jwtutil.sh b/ems-core/bin/jwtutil.sh new file mode 100644 index 0000000..26df3f0 --- /dev/null +++ b/ems-core/bin/jwtutil.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# Change directory to EMS home +PREVWORKDIR=`pwd` +BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd ) +cd ${BASEDIR} +if [[ -z $EMS_CONFIG_DIR ]]; then EMS_CONFIG_DIR=$BASEDIR/config-files; export EMS_CONFIG_DIR; fi +if [[ -z $PAASAGE_CONFIG_DIR ]]; then PAASAGE_CONFIG_DIR=$BASEDIR/config-files; export PAASAGE_CONFIG_DIR; fi +if [[ -z $JARS_DIR ]]; then JARS_DIR=$BASEDIR/control-service/target; export JARS_DIR; fi + +if [[ -z EMS_SECRETS_FILE ]]; then EMS_SECRETS_FILE=$EMS_CONFIG_DIR/secrets.properties; export EMS_SECRETS_FILE; fi +if [[ -z EMS_CONFIG_LOCATION ]]; then EMS_CONFIG_LOCATION=optional:file:$EMS_CONFIG_DIR/ems-server.yml,optional:file:$EMS_CONFIG_DIR/ems-server.properties,optional:file:$EMS_CONFIG_DIR/ems.yml,optional:file:$EMS_CONFIG_DIR/ems.properties,optional:file:$EMS_SECRETS_FILE; export EMS_CONFIG_LOCATION; fi + +# Read JASYPT password (decrypts encrypted configuration settings) +#JASYPT_PASSWORD=password +if [[ -z "$JASYPT_PASSWORD" ]]; then + printf "Configuration Password: " + read -s JASYPT_PASSWORD +fi + +java -Djasypt.encryptor.password=$JASYPT_PASSWORD -cp ${JARS_DIR}/control-service.jar -Dloader.main=gr.iccs.imu.ems.control.util.jwt.JwtTokenUtil -Dlogging.level.ROOT=WARN -Dlogging.level.gr.iccs.imu.ems.util=ERROR "-Dspring.config.location=$EMS_CONFIG_LOCATION" org.springframework.boot.loader.PropertiesLauncher $* +exitcode=$? + +cd $PREVWORKDIR +exit $exitcode \ No newline at end of file diff --git a/ems-core/bin/run.bat b/ems-core/bin/run.bat new file mode 100644 index 0000000..fa74e74 --- /dev/null +++ b/ems-core/bin/run.bat @@ -0,0 +1,97 @@ +@echo off +:: +:: Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +:: +:: This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +:: Esper library is used, in which case it is subject to the terms of General Public License v2.0. +:: If a copy of the MPL was not distributed with this file, you can obtain one at +:: https://www.mozilla.org/en-US/MPL/2.0/ +:: + +setlocal +set PWD=%~dp0 +cd %PWD%.. +set BASEDIR=%cd% +IF NOT DEFINED EMS_CONFIG_DIR set EMS_CONFIG_DIR=%BASEDIR%\config-files +IF NOT DEFINED PAASAGE_CONFIG_DIR set PAASAGE_CONFIG_DIR=%BASEDIR%\config-files +IF NOT DEFINED JARS_DIR set JARS_DIR=%BASEDIR%\control-service\target +IF NOT DEFINED LOGS_DIR set LOGS_DIR=%BASEDIR%\logs +IF NOT DEFINED PUBLIC_DIR set PUBLIC_DIR=%BASEDIR%\public_resources + +:: Read JASYPT password (decrypts encrypted configuration settings) +::set JASYPT_PASSWORD=password +if "%JASYPT_PASSWORD%"=="" ( + set /p JASYPT_PASSWORD="Configuration Password: " +) +:: Use this online service to encrypt/decrypt passwords: +:: https://www.devglan.com/online-tools/jasypt-online-encryption-decryption + +:: Check EMS configuration +if "%EMS_SECRETS_FILE%"=="" ( + set EMS_SECRETS_FILE=%EMS_CONFIG_DIR%\secrets.properties +) +if "%EMS_CONFIG_LOCATION%"=="" ( + set EMS_CONFIG_LOCATION=classpath:rule-templates.yml,optional:file:%EMS_CONFIG_DIR%\ems-server.yml,optional:file:%EMS_CONFIG_DIR%\ems-server.properties,optional:file:%EMS_CONFIG_DIR%\ems.yml,optional:file:%EMS_CONFIG_DIR%\ems.properties,optional:file:%EMS_SECRETS_FILE% +) + +:: Check logger configuration +if "%LOG_CONFIG_FILE%"=="" ( + set LOG_CONFIG_FILE=%EMS_CONFIG_DIR%\logback-conf\logback-spring.xml +) +echo Using logback config.: %LOG_CONFIG_FILE% +if "%LOG_FILE%"=="" ( + set LOG_FILE=%LOGS_DIR%\ems.log +) + +:: Set shell encoding to UTF-8 (in order to display banner correctly) +chcp 65001 + +:: Run EMS server +rem Uncomment next line to set JAVA runtime options +rem set JAVA_OPTS=-Djavax.net.debug=all + +set JAVA_ADD_OPENS=--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/sun.nio.cs=ALL-UNNAMED --add-opens java.base/java.nio.charset=ALL-UNNAMED + +java -version +chcp +echo EMS_CONFIG_DIR=%EMS_CONFIG_DIR% +echo EMS_CONFIG_LOCATION=%EMS_CONFIG_LOCATION% +echo IP address: +ipconfig | findstr "/C:IPv4 Address" +echo Starting EMS server... +IF NOT DEFINED RESTART_EXIT_CODE set RESTART_EXIT_CODE=99 +:_restart_ems + +rem Check if fat-jar exists +if exist "%JARS_DIR%\control-service.jar" ( + set "CP=-cp %JARS_DIR%\control-service.jar" + set "ESPER_PATH=%JARS_DIR%\esper-7.1.0.jar," +) + +rem Use when Esper is packaged in control-service.jar +rem java %EMS_DEBUG_OPTS% %JAVA_OPTS% %JAVA_ADD_OPENS% -Djasypt.encryptor.password=%JASYPT_PASSWORD% -Djava.security.egd=file:/dev/urandom -jar %JARS_DIR%\control-service.jar -nolog "--spring.config.location=%EMS_CONFIG_LOCATION%" "--logging.config=file:%LOG_CONFIG_FILE%" + +rem Use when Esper is NOT packaged in control-service.jar +java %EMS_DEBUG_OPTS% %JAVA_OPTS% %JAVA_ADD_OPENS% ^ + -Djasypt.encryptor.password=%JASYPT_PASSWORD% ^ + -Djava.security.egd=file:/dev/urandom ^ + -Dscan.packages=%SCAN_PACKAGES% ^ + %CP% ^ + "-Dloader.path=%ESPER_PATH%%EXTRA_LOADER_PATHS%" ^ + org.springframework.boot.loader.PropertiesLauncher ^ + -nolog ^ + "--spring.config.location=%EMS_CONFIG_LOCATION%" ^ + "--logging.config=file:%LOG_CONFIG_FILE%" ^ + %* + +if errorlevel %RESTART_EXIT_CODE% ( + echo Restarting EMS server... + goto :_restart_ems +) +echo EMS server exited + +rem e.g. --spring.config.location=%EMS_CONFIG_DIR%\ +rem e.g. --spring.config.name=application.properties + +cd %PWD% +endlocal \ No newline at end of file diff --git a/ems-core/bin/run.sh b/ems-core/bin/run.sh new file mode 100644 index 0000000..ef22880 --- /dev/null +++ b/ems-core/bin/run.sh @@ -0,0 +1,108 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# Change directory to EMS home +PREVWORKDIR=`pwd` +BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd ) +cd ${BASEDIR} +if [[ -z $EMS_CONFIG_DIR ]]; then EMS_CONFIG_DIR=$BASEDIR/config-files; export EMS_CONFIG_DIR; fi +if [[ -z $PAASAGE_CONFIG_DIR ]]; then PAASAGE_CONFIG_DIR=$BASEDIR/config-files; export PAASAGE_CONFIG_DIR; fi +if [[ -z $JARS_DIR ]]; then JARS_DIR=$BASEDIR/control-service/target; export JARS_DIR; fi +if [[ -z $LOGS_DIR ]]; then LOGS_DIR=$BASEDIR/logs; export LOGS_DIR; fi +if [[ -z $PUBLIC_DIR ]]; then PUBLIC_DIR=$BASEDIR/public_resources; export PUBLIC_DIR; fi + +# Read JASYPT password (decrypts encrypted configuration settings) +#JASYPT_PASSWORD=password +if [[ -z "$JASYPT_PASSWORD" ]]; then + printf "Configuration Password: " + read -s JASYPT_PASSWORD +fi +# Use this online service to encrypt/decrypt passwords: +# https://www.devglan.com/online-tools/jasypt-online-encryption-decryption + +export JASYPT_PASSWORD + +# Check EMS configuration +if [[ -z "$EMS_SECRETS_FILE" ]]; then + EMS_SECRETS_FILE=$EMS_CONFIG_DIR/secrets.properties +fi +if [[ -z "$EMS_CONFIG_LOCATION" ]]; then + EMS_CONFIG_LOCATION=classpath:rule-templates.yml,optional:file:$EMS_CONFIG_DIR/ems-server.yml,optional:file:$EMS_CONFIG_DIR/ems-server.properties,optional:file:$EMS_CONFIG_DIR/ems.yml,optional:file:$EMS_CONFIG_DIR/ems.properties,optional:file:$EMS_SECRETS_FILE +fi + +# Check logger configuration +if [[ -z "$LOG_CONFIG_FILE" ]]; then + LOG_CONFIG_FILE=$EMS_CONFIG_DIR/logback-conf/logback-spring.xml +fi +if [[ -z "$LOG_FILE" ]]; then + LOG_FILE=$LOGS_DIR/ems.log + export LOG_FILE +fi + +# Set shell encoding to UTF-8 (in order to display banner correctly) +export LANG=C.UTF-8 + +# Setup TERM & INT signal handler +trap 'echo "Signaling EMS to exit"; kill -TERM "${emsPid}"; wait "${emsPid}"; ' SIGTERM SIGINT + +# Run EMS server +# Uncomment next line to set JAVA runtime options +#JAVA_OPTS=-Djavax.net.debug=all +#JAVA_OPTS=-agentlib:native-image-agent=config-output-dir=/mnt/ems/control-service/src/main/resources/META-INF/native-image +#JAVA_OPTS=-agentlib:native-image-agent=config-merge-dir=/mnt/ems/control-service/src/main/resources/META-INF/native-image +#export JAVA_OPTS + +JAVA_ADD_OPENS="--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/sun.nio.cs=ALL-UNNAMED --add-opens java.base/java.nio.charset=ALL-UNNAMED" + +# Check if fat-jar exists +if [[ -f "${JARS_DIR}/control-service.jar" ]]; then + CP="-cp ${JARS_DIR}/control-service.jar" + ESPER_PATH="${JARS_DIR}/esper-7.1.0.jar," +fi + +java -version +echo "LANG=$LANG" +#locale +echo "EMS_CONFIG_DIR=${EMS_CONFIG_DIR}" +echo "EMS_CONFIG_LOCATION=${EMS_CONFIG_LOCATION}" +echo "IP address=`hostname -I`" +echo "Starting EMS server..." +if [[ -z $RESTART_EXIT_CODE ]]; then RESTART_EXIT_CODE=99; export RESTART_EXIT_CODE; fi +retCode=$RESTART_EXIT_CODE +while :; do + # Use when Esper is packaged in control-service.jar + # java $EMS_DEBUG_OPTS $JAVA_OPTS $JAVA_ADD_OPENS -Djasypt.encryptor.password=$JASYPT_PASSWORD -Djava.security.egd=file:/dev/urandom -jar $JARS_DIR/control-service/target/control-service.jar "--spring.config.location=${EMS_CONFIG_LOCATION}" "--logging.config=file:$LOG_CONFIG_FILE" + + # Use when Esper is NOT packaged in control-service.jar + java $EMS_DEBUG_OPTS $JAVA_OPTS $JAVA_ADD_OPENS \ + -Djasypt.encryptor.password=$JASYPT_PASSWORD \ + -Djava.security.egd=file:/dev/urandom \ + -Dscan.packages=${SCAN_PACKAGES} \ + ${CP} \ + -Dloader.path=${ESPER_PATH}${EXTRA_LOADER_PATHS} \ + org.springframework.boot.loader.PropertiesLauncher \ + "--spring.config.location=${EMS_CONFIG_LOCATION}" \ + "--logging.config=file:$LOG_CONFIG_FILE" \ + $* & + emsPid=$! + echo "EMS Pid: $emsPid" + wait $emsPid + + retCode=$? + if [[ $retCode -eq $RESTART_EXIT_CODE ]]; then echo "Restarting EMS server..."; else break; fi +done +echo "EMS server exited" + +# Extra parameters +# e.g. --spring.config.location=$EMS_CONFIG_DIR +# e.g. --spring.config.name=application.properties + +cd $PREVWORKDIR +exit $retCode \ No newline at end of file diff --git a/ems-core/bin/sysmon.sh b/ems-core/bin/sysmon.sh new file mode 100644 index 0000000..4660ecf --- /dev/null +++ b/ems-core/bin/sysmon.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# Current Time / Start Time / Uptime +curr_dt=`date '+%Y-%m-%d %H:%M:%S'` +up_dt=`uptime -s` +curr_dt_sec=`date -d "$curr_dt" +%s` +up_dt_sec=`date -d "$up_dt" +%s` +uptime_sec=$(( curr_dt_sec - up_dt_sec )) +echo CurrDateTime: $curr_dt_sec +echo UpDateTime: $up_dt_sec +echo Uptime: $uptime_sec + +# Report CPU usage (%) +echo CPU: `top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'` + +# Report Memory usage (%) +FREE_DATA=`free -m | grep Mem` +CURRENT=`echo $FREE_DATA | cut -f3 -d' '` +TOTAL=`echo $FREE_DATA | cut -f2 -d' '` +echo RAM: $(echo "$CURRENT $TOTAL" | awk '{print 100 * $1 / $2}' ) + +# Report Disk usage (%) -- '/' partition only +#echo DISK: `df -lh | awk '{if ($6 == "/") { print $5 }}' | head -1 | cut -d'%' -f1` +echo DISK: `df -lh | awk '{if ($6 == "/") { print 100 * $3 / $2 }}'` + +# Report Network RX/TX usage (B/s) +ARR=($(ls -1 /sys/class/net/ | grep eth)) + +function measure_ifs() { + local SUMRX=0 + local SUMTX=0 + for IF in "${ARR[@]}"; do + let SUMRX=$SUMRX+`cat /sys/class/net/${IF}/statistics/rx_bytes` + let SUMTX=$SUMTX+`cat /sys/class/net/${IF}/statistics/tx_bytes` + done + echo $SUMRX $SUMTX +} + +START=($(measure_ifs)) +sleep 1 +END=($(measure_ifs)) + +RX=$(( END[0] - START[0] )) +TX=$(( END[1] - START[1] )) +echo RX: $RX +echo TX: $TX diff --git a/ems-core/bin/update-credentials.sh b/ems-core/bin/update-credentials.sh new file mode 100644 index 0000000..d49a2a5 --- /dev/null +++ b/ems-core/bin/update-credentials.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +echo "Updating broker client credentials..." + +# Generate new username/password pair +NEWUSERNAME=user-`< /dev/urandom tr -cd "[:alnum:]" | head -c 32` +NEWPASSWORD=`< /dev/urandom tr -cd "[:alnum:]" | head -c 32` +NEWCREDENTIALS="$NEWUSERNAME\/$NEWPASSWORD" +echo "-New username: $NEWUSERNAME" +echo "-New password: $NEWPASSWORD" +echo "-BCEP credentials: $NEWCREDENTIALS" + +# Update all files passed as arguments +for file in "$@" +do + printf " * Updating file %s..." $file + # Updating the brokerclient style properties... + sed -i "s/^\s*brokerclient.broker-username\s*[=:].*/brokerclient.broker-username=$NEWUSERNAME/" $file + sed -i "s/^\s*brokerclient.broker-password\s*[=:].*/brokerclient.broker-password=$NEWPASSWORD/" $file + # Updating the brokercep style properties... + sed -i "s/^\s*brokercep.additional-broker-credentials\s*[=:].*/brokercep.additional-broker-credentials=$NEWCREDENTIALS/" $file + echo "ok" +done + +echo "done" diff --git a/ems-core/broker-cep/client.bat b/ems-core/broker-cep/client.bat new file mode 100644 index 0000000..4b9ecf8 --- /dev/null +++ b/ems-core/broker-cep/client.bat @@ -0,0 +1,25 @@ +@echo off +:: +:: Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +:: +:: This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +:: Esper library is used, in which case it is subject to the terms of General Public License v2.0. +:: If a copy of the MPL was not distributed with this file, you can obtain one at +:: https://www.mozilla.org/en-US/MPL/2.0/ +:: + +if not exist target\dependency cmd /C "mvn dependency:copy-dependencies" + +setlocal +set JAVA_OPTS= -Djavax.net.ssl.keyStore=..\config-files\broker-keystore.p12 ^ + -Djavax.net.ssl.keyStoreType=pkcs12 ^ + -Djavax.net.ssl.keyStorePassword=melodic ^ + -Djavax.net.ssl.trustStore=..\config-files\broker-truststore.p12 ^ + -Djavax.net.ssl.trustStorePassword=melodic ^ + -Djavax.net.ssl.trustStoreType=pkcs12 +rem -Djavax.net.debug=all +rem -Djavax.net.debug=ssl,handshake,record + +java %JAVA_OPTS% -classpath "target\classes;target\dependency\*" gr.iccs.imu.ems.brokercep.broker.BrokerClient %* + +endlocal diff --git a/ems-core/broker-cep/pom.xml b/ems-core/broker-cep/pom.xml new file mode 100644 index 0000000..294b2c1 --- /dev/null +++ b/ems-core/broker-cep/pom.xml @@ -0,0 +1,112 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + broker-cep + EMS - Broker+CEP Service + + + + + gr.iccs.imu.ems + util + ${project.version} + + + + + + org.springframework + spring-jms + + + org.apache.activemq + activemq-client + ${activemq.version} + + + + com.fasterxml.jackson.core + jackson-databind + + + + + org.apache.activemq + activemq-broker + ${activemq.version} + + + org.apache.activemq + activemq-kahadb-store + ${activemq.version} + + + org.apache.activemq + activemq-jaas + ${activemq.version} + + + org.apache.activemq + activemq-stomp + ${activemq.version} + + + org.apache.activemq + activemq-pool + ${activemq.version} + + + + + com.espertech + esper + ${esper.version} + + + + + org.mariuszgromada.math + MathParser.org-mXparser + ${mathparser.version} + + + + + org.projectlombok + lombok + provided + + + + + org.apache.commons + commons-lang3 + + + + + org.apache.commons + commons-csv + 1.7 + + + + diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepConsumer.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepConsumer.java new file mode 100644 index 0000000..1ed5172 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepConsumer.java @@ -0,0 +1,299 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep; + +import gr.iccs.imu.ems.brokercep.broker.BrokerConfig; +import gr.iccs.imu.ems.brokercep.cep.CepService; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.broker.BrokerService; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQObjectMessage; +import org.apache.activemq.command.ActiveMQTextMessage; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextClosedEvent; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Service; + +import javax.jms.*; +import java.time.Instant; +import java.util.Collections; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; + +@Slf4j +@Service +@RequiredArgsConstructor +public class BrokerCepConsumer implements MessageListener, InitializingBean, ApplicationListener { + private final static AtomicLong eventCounter = new AtomicLong(0); + private final static AtomicLong textEventCounter = new AtomicLong(0); + private final static AtomicLong objectEventCounter = new AtomicLong(0); + private final static AtomicLong otherEventCounter = new AtomicLong(0); + private final static AtomicLong eventFailuresCounter = new AtomicLong(0); + + private final BrokerCepProperties properties; + private final BrokerConfig brokerConfig; + private final BrokerService brokerService; // Added in order to ensure that BrokerService will be instantiated first + private final CepService cepService; + + private Connection connection; + private Session session; + private final Map addedDestinations = new HashMap<>(); + + private final TaskScheduler scheduler; + private boolean shuttingDown; + + private final EventCache eventCache; + + @Override + public void afterPropertiesSet() { + initialize(); + } + + public synchronized void initialize() { + log.debug("BrokerCepConsumer.initialize(): Initializing Broker-CEP consumer instance..."); + try { + // close previous session and connection + closeConnection(); + + // clear added destinations list + addedDestinations.clear(); + + // If an alternative Broker URL is provided for consumer, it will be used + ConnectionFactory connectionFactory = brokerConfig.getConnectionFactoryForConsumer(); + + // Initialize connection + connection = (brokerConfig.getBrokerLocalAdminUsername() != null) + ? connectionFactory.createConnection(brokerConfig.getBrokerLocalAdminUsername(), brokerConfig.getBrokerLocalAdminPassword()) + : connectionFactory.createConnection(); + connection.setExceptionListener(e -> { + if (!shuttingDown) { + log.warn("BrokerCepConsumer: Connection exception listener: Exception caught: ", e); + scheduler.schedule(this::initialize, Instant.now()); + } + }); + connection.start(); + session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + log.debug("BrokerCepConsumer.initialize(): Initializing Broker-CEP consumer instance... done"); + } catch (Exception ex) { + log.error("BrokerCepConsumer.initialize(): EXCEPTION: ", ex); + } + } + + @Override + public void onApplicationEvent(ContextClosedEvent event) { + log.info("BrokerCepConsumer is shutting down"); + shuttingDown = true; + } + + private void closeConnection() { + // close previous session and connection + try { + if (session != null) { + session.close(); + log.debug("BrokerCepConsumer.closeConnection(): Closed pre-existing sessions"); + } + } catch (Exception e) { + log.warn("BrokerCepConsumer.closeConnection(): Exception while closing old session: ", e); + } + try { + if (connection != null) { + connection.close(); + log.debug("BrokerCepConsumer.closeConnection(): Closed pre-existing connection"); + } + } catch (Exception e) { + log.warn("BrokerCepConsumer.closeConnection(): Exception while closing old connection: ", e); + } + session = null; + connection = null; + } + + public synchronized void addQueue(String queueName) { + log.debug("BrokerCepConsumer.addQueue(): Adding queue: {}", queueName); + if (addedDestinations.containsKey(queueName)) { + log.debug("BrokerCepConsumer.addQueue(): Queue already added: {}", queueName); + return; + } + try { + Queue queue = session.createQueue(queueName); + MessageConsumer consumer = session.createConsumer(queue); + consumer.setMessageListener(this); + addedDestinations.put(queueName, consumer); + log.debug("BrokerCepConsumer.addQueue(): Added queue: {}", queueName); + } catch (Exception ex) { + log.error("BrokerCepConsumer.addQueue(): EXCEPTION: ", ex); + } + } + + public synchronized void addTopic(String topicName) { + log.debug("BrokerCepConsumer.addTopic(): Adding topic: {}", topicName); + if (addedDestinations.containsKey(topicName)) { + log.debug("BrokerCepConsumer.addTopic(): Topic already added: {}", topicName); + return; + } + try { + Topic topic = session.createTopic(topicName); + MessageConsumer consumer = session.createConsumer(topic); + consumer.setMessageListener(this); + addedDestinations.put(topicName, consumer); + log.debug("BrokerCepConsumer.addTopic(): Added topic: {}", topicName); + } catch (Exception ex) { + log.error("BrokerCepConsumer.addTopic(): EXCEPTION: ", ex); + } + } + + public synchronized void removeConsumerOf(String name) { + log.debug("BrokerCepConsumer.removeConsumerOf(): Removing topic or queue: {}", name); + if (!addedDestinations.containsKey(name)) { + log.debug("BrokerCepConsumer.removeConsumerOf(): Topic/Queue not exists: {}", name); + return; + } + try { + MessageConsumer consumer = addedDestinations.remove(name); + if (consumer!=null) consumer.close(); + log.debug("BrokerCepConsumer.removeConsumerOf(): Removed topic: {}", name); + } catch (Exception ex) { + log.error("BrokerCepConsumer.removeConsumerOf(): EXCEPTION: ", ex); + } + } + + public boolean containsDestination(String name) { + return addedDestinations.containsKey(name); + } + + @Override + public void onMessage(Message message) { + // Log message + logMessage(message); + + // Record message + if (brokerConfig.getEventRecorder()!=null) + brokerConfig.getEventRecorder().recordRegisteredEvent(message); + + // Handle message + try { + log.trace("BrokerCepConsumer.onMessage(): {}", message); + if (message instanceof ActiveMQObjectMessage mesg) { + ActiveMQDestination messageDestination = mesg.getDestination(); + log.debug("BrokerCepConsumer.onMessage(): Message received: source={}, payload={}", + messageDestination.getPhysicalName(), mesg.getObject()); + + // Send message to Esper + if (mesg.getObject() instanceof Map) { + //cepService.handleEvent(StrUtil.castToMapStringObject(mesg.getObject()), messageDestination.getPhysicalName()); + EventMap eventMap = new EventMap(StrUtil.castToMapStringObject(mesg.getObject())); + copyEventProperties(message, eventMap); + cepService.handleEvent(eventMap, messageDestination.getPhysicalName()); + eventCache.cacheEvent(eventMap, messageDestination.getPhysicalName()); + } else { + if (mesg.getObject()!=null) { + cepService.handleEvent(mesg.getObject()); + eventCache.cacheEvent(mesg.getObject(), null, messageDestination.getPhysicalName()); + } + } + objectEventCounter.incrementAndGet(); + } else if (message instanceof ActiveMQTextMessage mesg) { + ActiveMQDestination messageDestination = mesg.getDestination(); + log.debug("BrokerCepConsumer.onMessage(): Message received: source={}, payload={}, mime={}", + messageDestination.getPhysicalName(), mesg.getText(), mesg.getJMSXMimeType()); + + // Send message to Esper + //cepService.handleEvent(mesg.getText(), messageDestination.getPhysicalName()); + EventMap eventMap = new com.google.gson.Gson().fromJson(mesg.getText(), EventMap.class); + copyEventProperties(message, eventMap); + log.trace("BrokerCepConsumer.onMessage(): event-map={}", eventMap); + cepService.handleEvent(eventMap, messageDestination.getPhysicalName()); + eventCache.cacheEvent(eventMap, messageDestination.getPhysicalName()); + textEventCounter.incrementAndGet(); + } else { + otherEventCounter.incrementAndGet(); + log.warn("BrokerCepConsumer.onMessage(): Message ignored: type={}", message.getClass().getName()); + } + eventCounter.incrementAndGet(); + } catch (Exception ex) { + log.error("BrokerCepConsumer.onMessage(): EXCEPTION: ", ex); + eventFailuresCounter.incrementAndGet(); + } + } + + private void logMessage(Message message) { + boolean logBrokerMessages = properties.isLogBrokerMessages(); + boolean logBrokerMessagesFull = properties.isLogBrokerMessagesFull(); + if (!logBrokerMessages) return; + + try { + // Check if message passed is null + if (message==null) { + log.warn("\n==========| **NULL** MESSAGE RECEIVED"); + return; + } + + // Extract important message data (id, destination, metric-value) + String jmsMesgId = message.getJMSMessageID(); + Destination jmsDest = message.getJMSDestination(); + String mesgStr = message.toString(); + String metricValue = StringUtils.substringBetween(mesgStr, "metricValue", ","); + if (metricValue==null) metricValue = StringUtils.substringBetween(mesgStr, "metricValue", "}"); + if (metricValue!=null) metricValue = metricValue.replace("\"", "").replace(":", "").trim(); + else metricValue = logBrokerMessagesFull ? "---See next---" : "---Not found---"; + + // Log message data + if (logBrokerMessagesFull) + log.info("\n==========| RECEIVED A MESSAGE: metricValue={}, dest={}, id={}\n{}", metricValue, jmsDest, jmsMesgId, message); + else + log.info("\n==========| RECEIVED A MESSAGE: metricValue={}, dest={}, id={}", metricValue, jmsDest, jmsMesgId); + + } catch (Exception e) { + // Log error + if (logBrokerMessagesFull) + log.warn("\n==========| RECEIVED A MESSAGE: FAILED TO PARSE. SEE NEXT FOR STACKTRACE\n{}\n\nSTACKTRACE:\n", message, e); + else + log.warn("\n==========| RECEIVED A MESSAGE: FAILED TO PARSE. SEE NEXT FOR STACKTRACE\n\nSTACKTRACE:\n", e); + } + } + + private EventMap copyEventProperties(Message message, EventMap eventMap) throws JMSException { + log.debug("BrokerCepConsumer.copyEventProperties(): BEGIN: message={}, event={}", message, eventMap); + + // Copy message properties to event map + Collections.list((Enumeration) message.getPropertyNames()).forEach(s -> { + String n = s.toString(); + log.trace("BrokerCepConsumer.copyEventProperties(): Copying property: message={}, event={}, property={}", message, eventMap, n); + try { + String v = message.getStringProperty(n); + eventMap.setEventProperty(n, v); + log.debug("BrokerCepConsumer.copyEventProperties(): Copied property: message={}, event={}, property={}, value={}", message, eventMap, n, v); + } catch (Exception e) { + log.debug("BrokerCepConsumer.copyEventProperties(): EXCEPTION: while copying property: message={}, event={}, property={}, Exception: ", message, eventMap, n, e); + } + }); + return eventMap; + } + + public static long getEventCounter() { return eventCounter.get(); } + public static long getTextEventCounter() { return textEventCounter.get(); } + public static long getObjectEventCounter() { return objectEventCounter.get(); } + public static long getOtherEventCounter() { return otherEventCounter.get(); } + public static long getEventFailuresCounter() { return eventFailuresCounter.get(); } + public static synchronized void clearCounters() { + eventCounter.set(0L); + textEventCounter.set(0L); + objectEventCounter.set(0L); + otherEventCounter.set(0L); + eventFailuresCounter.set(0L); + } +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepService.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepService.java new file mode 100644 index 0000000..c41ae73 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepService.java @@ -0,0 +1,400 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep; + +import com.google.gson.Gson; +import gr.iccs.imu.ems.brokercep.broker.BrokerConfig; +import gr.iccs.imu.ems.brokercep.cep.CepService; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import gr.iccs.imu.ems.util.*; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.broker.BrokerService; +import org.apache.activemq.broker.jmx.BrokerView; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.jms.*; +import javax.management.ObjectName; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.Serializable; +import java.nio.charset.Charset; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.cert.Certificate; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +@Slf4j +@Service +@AllArgsConstructor(onConstructor = @__({@Autowired})) +public class BrokerCepService { + private BrokerCepProperties properties; + private BrokerConfig brokerConfig; + @Getter + private BrokerService brokerService; + private PasswordUtil passwordUtil; + + @Getter + private BrokerCepConsumer brokerCepBridge; + @Getter + private CepService cepService; + private EventCache eventCache; + + private Gson gson; + + public BrokerCepProperties getBrokerCepProperties() { + return properties; + } + + public synchronized void clearState() { + log.debug("BrokerCepService.clearState(): Clearing Broker-CEP state..."); + + // Clear CEP service state + cepService.clearStatements(); + cepService.clearEventTypes(); + cepService.clearConstants(); + cepService.clearFunctionDefinitions(); + + // Clear Broker service state + try { + BrokerView bv = brokerService.getAdminView(); + ObjectName[] queues = bv.getQueues(); + //ObjectName[] queueSubscribers = bv.getQueueSubscribers(); + ObjectName[] topics = bv.getTopics(); + //ObjectName[] topicSubscribers = bv.getTopicSubscribers(); + for (ObjectName q : queues) { + String name = q.getCanonicalName(); + bv.removeQueue(name); + log.debug("BrokerCepService.clearState(): Queue removed: {}", name); + } + for (ObjectName t : topics) { + String name = t.getCanonicalName(); + bv.removeTopic(name); + log.debug("BrokerCepService.clearState(): Topic removed: {}", name); + } + + log.debug("BrokerCepService.clearState(): Broker-CEP state cleared"); + } catch (Exception ex) { + log.error("BrokerCepService.clearState(): Failed to clear Broker state: ", ex); + } + + // Reset Broker-CEP Consumer connection and session + brokerCepBridge.initialize(); + log.debug("BrokerCepService.clearState(): Broker-CEP Consumer has been re-initialized"); + } + + public synchronized void addEventTypes(Set eventTypeNames, String[] eventPropertyNames, Class[] eventPropertyTypes) { + log.info("BrokerCepService.addEventTypes(): Adding event types: {}", eventTypeNames); + eventTypeNames.forEach(name -> addEventType(name, eventPropertyNames, eventPropertyTypes)); + log.debug("BrokerCepService.addEventTypes(): Adding event types: ok"); + } + + public synchronized void addEventTypes(Set eventTypeNames, Class eventType) { + log.info("BrokerCepService.addEventTypes(): Adding event types: {}", eventTypeNames); + eventTypeNames.forEach(name -> addEventType(name, eventType)); + log.debug("BrokerCepService.addEventTypes(): Adding event types: ok"); + } + + public synchronized void addEventType(String eventTypeName, String[] eventPropertyNames, Class[] eventPropertyTypes) { + // Add a new queue/topic in ActiveMQ (broker) named after 'eventTypeName' + //brokerCepBridge.addQueue(eventTypeName); + brokerCepBridge.addTopic(eventTypeName); + + // Register a new event type in Esper (cep engine) + cepService.addEventType(eventTypeName, eventPropertyNames, eventPropertyTypes); + log.debug("BrokerCepService.addEventType(): New event type registered: {}", eventTypeName); + } + + public synchronized void addEventType(String eventTypeName, Class eventType) { + // Add a new queue/topic in ActiveMQ (broker) named after 'eventTypeName' + //brokerCepBridge.addQueue(eventTypeName); + brokerCepBridge.addTopic(eventTypeName); + + // Register a new event type in Esper (cep engine) + cepService.addEventType(eventTypeName, eventType); + log.debug("BrokerCepService.addEventType(): New event type registered: {}", eventTypeName); + } + + public void setConstant(String constName, double constValue) { + log.debug("BrokerCepService.setConstant(): Add/Set constant: name={}, value={}", constName, constValue); + cepService.setConstant(constName, constValue); + } + + public void setConstants(Map constants) { + log.info("BrokerCepService.setConstants(): Add/Set constants: {}", constants); + cepService.setConstants(constants); + log.debug("BrokerCepService.setConstants(): Add/Set constants: ok"); + } + + public void addFunctionDefinitions(Set definitions) { + log.info("BrokerCepService.addFunctionDefinitions(): Adding function definitions: {}", definitions); + definitions.forEach(this::addFunctionDefinition); + log.debug("BrokerCepService.addFunctionDefinitions(): Adding function definitions: ok"); + } + + public void addFunctionDefinition(FunctionDefinition definition) { + log.info("BrokerCepService.addFunction(): New function definition registered: {}", definition); + cepService.addFunctionDefinition(definition); + } + + public boolean destinationExists(String destination) { + return brokerCepBridge.containsDestination(destination); + } + + public synchronized void publishEvent(String connectionString, String destinationName, Map eventMap) throws JMSException { + if (properties.isBypassLocalBroker() && _publishLocalEvent(connectionString, destinationName, new EventMap(eventMap))) + return; + _publishEvent(connectionString, destinationName, EventMap.toEventMap(eventMap), true); + } + + public synchronized void publishEvent(String connectionString, String username, String password, String destinationName, Map eventMap) throws JMSException { + if (properties.isBypassLocalBroker() && _publishLocalEvent(connectionString, destinationName, new EventMap(eventMap))) + return; + _publishEvent(connectionString, username, password, destinationName, new EventMap(eventMap), true); + } + + public synchronized void publishSerializable(String connectionString, String destinationName, Serializable event, boolean convertToJson) throws JMSException { + if (properties.isBypassLocalBroker() && _publishLocalEvent(connectionString, destinationName, event)) + return; + _publishEvent(connectionString, destinationName, event, convertToJson); + } + + public synchronized void publishSerializable(String connectionString, String username, String password, String destinationName, Serializable event, boolean convertToJson) throws JMSException { + if (properties.isBypassLocalBroker() && _publishLocalEvent(connectionString, destinationName, event)) + return; + _publishEvent(connectionString, username, password, destinationName, event, convertToJson); + } + + // When destination is the local broker then hand event to (local) CEP engine, bypassing local broker + private final static java.util.regex.Pattern urlPattern = java.util.regex.Pattern.compile("^([a-z]+://[a-zA-Z0-9_\\.\\-]+:[0-9]+)([/#\\?].*)?$"); + + private synchronized boolean _publishLocalEvent(String connectionString, String destinationName, Serializable event) throws JMSException { + java.util.regex.Matcher matcher = urlPattern.matcher(connectionString); + String connBrokerUrl = matcher.matches() ? matcher.group(1) : connectionString; + log.debug("BrokerCepService._publishLocalEvent(): Check if event is published to the local broker: local-broker-url={}, connection-broker-url={}, connection={}, destination={}, payload={}", + properties.getBrokerUrl(), connBrokerUrl, connectionString, destinationName, event); + if (!connBrokerUrl.equals(properties.getBrokerUrl())) return false; + + Class eventClass = event.getClass(); + log.debug("BrokerCepService._publishLocalEvent(): It is local event. Skipping publish through broker: connection={}, destination={}, payload-class={}, payload={}", + connectionString, destinationName, eventClass.getName(), event); + if (String.class.isAssignableFrom(eventClass)) { + log.debug("BrokerCepService._publishLocalEvent(): String event..."); + cepService.handleEvent((String) event, destinationName); + } else if (Map.class.isAssignableFrom(eventClass)) { + log.debug("BrokerCepService._publishLocalEvent(): Map event..."); + cepService.handleEvent(StrUtil.castToMapStringObject(event), destinationName); + } else { + log.debug("BrokerCepService._publishLocalEvent(): Object event..."); + cepService.handleEvent(event); + } + return true; + } + + private synchronized void _publishEvent(String connectionString, String destinationName, Serializable event, boolean convertToJson) throws JMSException { + // Get username/password for local broker service + String username = null; + String password = null; + if (_isLocalBrokerUrl(connectionString)) { + username = brokerConfig.getBrokerLocalAdminUsername(); + password = brokerConfig.getBrokerLocalAdminPassword(); + log.debug("BrokerCepService._publishEvent(): Using LOCAL BROKER credentials: {} / {}", + username, passwordUtil.encodePassword(password)); + } + _publishEvent(connectionString, username, password, destinationName, event, convertToJson); + } + + private synchronized void _publishEvent(String connectionString, String username, String password, String destinationName, Serializable event, boolean convertToJson) throws JMSException { + // Clone connection factory + if (connectionString == null) connectionString = properties.getBrokerUrlForConsumer(); + ConnectionFactory connectionFactory = brokerConfig.getConnectionFactoryFor(connectionString); + + // Create a Connection + log.trace("BrokerCepService._publishEvent(): Connection info: conn-string={}, username={}, password={}", + connectionString, username, passwordUtil.encodePassword(password)); + Connection connection = StringUtils.isBlank(username) + ? connectionFactory.createConnection() + : connectionFactory.createConnection(username, password); + connection.start(); + + // Publish event + _publishEvent(connection, destinationName, event, convertToJson); + + // Clean up + connection.close(); + } + + private synchronized void _publishEvent(Connection connection, String destinationName, Serializable event, boolean convertToJson) throws JMSException { + log.trace("BrokerCepService._publishEvent(): Connection given: {}", connection); + + // Create a Session + Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + // Publish event + _publishEvent(session, destinationName, event, convertToJson); + + // Clean up + session.close(); + } + + private synchronized void _publishEvent(Session session, String destinationName, Serializable event, boolean convertToJson) throws JMSException { + log.trace("BrokerCepService._publishEvent(): Session: {}", session); + + // Create the destination (Topic or Queue) + log.trace("BrokerCepService._publishEvent(): Destination info: name={}", destinationName); + //Destination destination = session.createQueue( destinationName ); + Destination destination = session.createTopic(destinationName); + + // Create a MessageProducer from the Session to the Topic or Queue + MessageProducer producer = session.createProducer(destination); + producer.setDeliveryMode(javax.jms.DeliveryMode.NON_PERSISTENT); + + // Create a message + //ObjectMessage message = session.createObjectMessage(event); + String payload = convertToJson ? gson.toJson(event) : (event!=null ? event.toString() : null); + log.trace("BrokerCepService.publishEvent(): Message payload: topic={}, convert-to-json={}, payload={}", destination, convertToJson, payload); + TextMessage message = session.createTextMessage(payload); + + // Set message properties + addEventPropertiesToMessage(event, message); + + // Tell the producer to send the message + long hash = message.hashCode(); + //log.info("BrokerCepService.publishEvent(): Sending message: connection={}, username={}, destination={}, hash={}, payload={}", connectionString, username, destinationName, hash, event); + log.trace("BrokerCepService.publishEvent(): Sending message: destination={}, hash={}, payload={}", destinationName, hash, event); + producer.send(message); + //log.info("BrokerCepService.publishEvent(): Message sent: connection={}, username={}, destination={}, hash={}, payload={}", connectionString, username, destinationName, hash, event); + log.debug("BrokerCepService.publishEvent(): Message sent: destination={}, hash={}, payload={}", destinationName, hash, event); + } + + private void addEventPropertiesToMessage(Serializable event, Message message) { + if (event instanceof EventMap) { + Map eventProperties = ((EventMap) event).getEventProperties(); + if (eventProperties!=null) { + eventProperties.forEach((pName,pValue)->{ + try { + message.setStringProperty(pName, pValue!=null ? pValue.toString() : null); + } catch (JMSException e) { + log.warn("BrokerCepService.publishEvent(): Exception while setting event property. Skipping it: name={}, value={}", pName, pValue); + log.debug("BrokerCepService.publishEvent(): Exception while setting event property. Skipping it: name={}, value={}, EXCEPTION:\n", pName, pValue, e); + } + }); + } + } + } + + private String getAddressFromBrokerUrl(String url) { + return StringUtils.substringBetween(url, "://",":"); + } + + private boolean _isLocalBrokerUrl(String url) { + if (StringUtils.isEmpty(url)) { + log.debug("BrokerCepService._isLocalBrokerUrl(): url={}, is-local=true", url); + return true; + } + log.trace("BrokerCepService._isLocalBrokerUrl(): url={}", url); + try { + String address = getAddressFromBrokerUrl(url); + boolean isLocal = NetUtil.isLocalAddress(address); + log.debug("BrokerCepService._isLocalBrokerUrl(): url={}, address={}, is-local={}", url, address, isLocal); + return isLocal; + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } + + public void setBrokerCredentials(String username, String password) { + brokerConfig.setBrokerUsername(username); + brokerConfig.setBrokerPassword(password); + log.info("BrokerCepService.setBrokerCredentials(): Broker credentials set: username={}, password={}", + username, passwordUtil.encodePassword(password)); + } + + public String getBrokerUsername() { + return brokerConfig.getBrokerLocalUserUsername(); + } + + public String getBrokerPassword() { + return brokerConfig.getBrokerLocalUserPassword(); + } + + public KeyStore getBrokerTruststore() { + return brokerConfig.getBrokerTruststore(); + } + + public String getBrokerCertificate() { + return brokerConfig.getBrokerCertificate(); + } + + public Certificate addOrReplaceCertificateInTruststore(String alias, String certPem) throws Exception { + log.trace("BrokerCepService.addOrReplaceCertificateInTruststore(): BEGIN: alias={}, cert-PEM=\n{}", alias, certPem); + if (StringUtils.isNotEmpty(certPem)) { + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + try (InputStream inputStream = new ByteArrayInputStream(certPem.getBytes(Charset.forName("UTF-8")))) { + Certificate cert = cf.generateCertificate(inputStream); + log.debug("BrokerCepService.addOrReplaceCertificateInTruststore(): X509 Certificate: {}", + ((X509Certificate) cert).getSubjectX500Principal().getName()); + return addOrReplaceCertificateInTruststore(alias, cert); + } + } else { + log.debug("BrokerCepService.addOrReplaceCertificateInTruststore(): PEM certificate is empty. Returning 'null'"); + return null; + } + } + + public Certificate addOrReplaceCertificateInTruststore(String alias, Certificate cert) throws Exception { + log.trace("BrokerCepService.addOrReplaceCertificateInTruststore(): BEGIN: alias={}, cert=\n{}", alias, cert); + brokerConfig.getBrokerTruststore().setCertificateEntry(alias, cert); + brokerConfig.writeTruststore(); + log.debug("BrokerCepService.addOrReplaceCertificateInTruststore(): Certificate added with alias: {}", alias); + log.debug("BrokerCepService.addOrReplaceCertificateInTruststore(): New Truststore certificates: {}", + KeystoreUtil.getCertificateAliases(brokerConfig.getBrokerTruststore())); + return cert; + } + + public void deleteCertificateFromTruststore(String alias) throws KeyStoreException { + log.trace("BrokerCepService.deleteCertificateFromTruststore(): BEGIN: alias={}", alias); + brokerConfig.getBrokerTruststore().deleteEntry(alias); + log.debug("BrokerCepService.deleteCertificateFromTruststore(): Deleted certificate with alias: {}", alias); + log.debug("BrokerCepService.addOrReplaceCertificateInTruststore(): New Truststore certificates: {}", + KeystoreUtil.getCertificateAliases(brokerConfig.getBrokerTruststore())); + } + + public Map getBrokerCepStatistics() { + Map bcepStats = new HashMap<>(); + bcepStats.put("count-event-local-publish-success", BrokerCepStatementSubscriber.getLocalPublishSuccessCounter()); + bcepStats.put("count-event-local-publish-failure", BrokerCepStatementSubscriber.getLocalPublishFailureCounter()); + bcepStats.put("count-event-forwards-success", BrokerCepStatementSubscriber.getForwardSuccessCounter()); + bcepStats.put("count-event-forwards-failure", BrokerCepStatementSubscriber.getForwardFailureCounter()); + bcepStats.put("count-total-events", BrokerCepConsumer.getEventCounter()); + bcepStats.put("count-total-events-text", BrokerCepConsumer.getTextEventCounter()); + bcepStats.put("count-total-events-object", BrokerCepConsumer.getObjectEventCounter()); + bcepStats.put("count-total-events-other", BrokerCepConsumer.getOtherEventCounter()); + bcepStats.put("count-total-events-failures", BrokerCepConsumer.getEventFailuresCounter()); + + bcepStats.put("latest-events", eventCache.asList()); + + return bcepStats; + } + + public void clearBrokerCepStatistics() { + BrokerCepStatementSubscriber.clearCounters(); + BrokerCepConsumer.clearCounters(); + log.debug("BrokerCepService.clearBrokerCepStatistics(): broker-CEP statistics cleared"); + } +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepStatementSubscriber.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepStatementSubscriber.java new file mode 100644 index 0000000..ce359bf --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/BrokerCepStatementSubscriber.java @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep; + +import gr.iccs.imu.ems.brokercep.cep.StatementSubscriber; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.util.GroupingConfiguration; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; + +import java.util.Map; +import java.util.Set; +import java.util.concurrent.atomic.AtomicLong; + +@Slf4j +@Getter +@AllArgsConstructor +@RequiredArgsConstructor +public class BrokerCepStatementSubscriber implements StatementSubscriber { + private final static AtomicLong counterLocalPublishSuccess = new AtomicLong(0); + private final static AtomicLong counterLocalPublishFailure = new AtomicLong(0); + private final static AtomicLong counterForwardSuccess = new AtomicLong(0); + private final static AtomicLong counterForwardFailure = new AtomicLong(0); + + private final String name; + private final String topic; + private final String statement; + private final BrokerCepService brokerCep; + private final PasswordUtil passwordUtil; + @Setter + private Set forwardToGroupings; + + public void update(Map eventMap) { + log.trace("BrokerCepStatementSubscriber.update(): INPUT: {}", eventMap); + EventMap.checkEvent(eventMap); + publishToLocalBroker(eventMap); + forwardToGroupings(eventMap); + } + + protected void publishToLocalBroker(Map eventMap) { + log.info("- New event received: subscriber={}, topic={}, payload={}", name, topic, eventMap); + String localBrokerUrl = brokerCep.getBrokerCepProperties().getBrokerUrlForConsumer(); + String username = brokerCep.getBrokerUsername(); + String password = brokerCep.getBrokerPassword(); + String passwordEncoded = passwordUtil.encodePassword(password); + try { + // Queue new event for publishing to Local Broker topic + EventForwarder.getInstance().addLocalPublishTask(this, topic, eventMap, ()->countLocalPublish(true), ()->countLocalPublish(false)); + log.trace("- Event queued for publishing to local broker: subscriber={}, local-broker={}, username={}, password={}, topic={}, payload={}", + name, localBrokerUrl, username, passwordEncoded, topic, eventMap); + } catch (Exception ex) { + log.error("- New event: ERROR while queueing event for publishing to local broker: subscriber={}, local-broker={}, username={}, password={}, topic={}, exception=", + name, localBrokerUrl, username, passwordEncoded, topic, ex); + countLocalPublish(false); + } + } + + protected void forwardToGroupings(Map eventMap) { + // Queue event for forwarding to the next grouping(s) + log.trace("- Forwarding event to groupings: subscriber={}, forward-to-groupings={}, payload={}", + name, forwardToGroupings, eventMap); + if (forwardToGroupings==null) + return; + for (GroupingConfiguration.BrokerConnectionConfig fwdToGrouping : forwardToGroupings) { + try { + EventForwarder.getInstance().addEventForwardTask(this, fwdToGrouping, topic, eventMap, ()->countForward(true), ()->countForward(false)); + log.debug("- Event queued for forwarding to grouping: subscriber={}, forward-to-grouping={}, topic={}, payload={}", + name, fwdToGrouping, topic, eventMap); + } catch (Exception ex) { + log.error("- ERROR while queuing event in forward queue: subscriber={}, forward-to-groupings={}, payload={}, exception: ", + name, forwardToGroupings, eventMap, ex); + countForward(false); + } + } + } + + private void countLocalPublish(boolean success) { + if (success) counterLocalPublishSuccess.incrementAndGet(); + else counterLocalPublishFailure.incrementAndGet(); + } + + private void countForward(boolean success) { + if (success) counterForwardSuccess.incrementAndGet(); + else counterForwardFailure.incrementAndGet(); + } + + public static long getLocalPublishSuccessCounter() { return counterLocalPublishSuccess.get(); } + public static long getLocalPublishFailureCounter() { return counterLocalPublishFailure.get(); } + public static long getForwardSuccessCounter() { return counterForwardSuccess.get(); } + public static long getForwardFailureCounter() { return counterForwardFailure.get(); } + public static synchronized void clearCounters() { + counterLocalPublishSuccess.set(0L); + counterLocalPublishFailure.set(0L); + counterForwardSuccess.set(0L); + counterForwardFailure.set(0L); + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/EventCache.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/EventCache.java new file mode 100644 index 0000000..754d77f --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/EventCache.java @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep; + +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import lombok.RequiredArgsConstructor; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.stereotype.Service; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class EventCache implements InitializingBean { + public final static int DEFAULT_EVENT_CACHE_SIZE = 100; + + private final BrokerCepProperties properties; + private final AtomicLong cacheCounter = new AtomicLong(0); + private ArrayBlockingQueue messageCache; + private boolean enabled; + + @Override + public void afterPropertiesSet() throws Exception { + enabled = properties==null || properties.isEventCacheEnabled(); + if (properties!=null && properties.getEventCacheSize()==0) enabled = false; + if (!enabled) return; + + int s = properties!=null ? properties.getEventCacheSize() : -1; + if (s<0) s = DEFAULT_EVENT_CACHE_SIZE; + messageCache = new ArrayBlockingQueue<>(s); + } + + public List asList() { + return enabled ? new ArrayList<>(messageCache) : Collections.emptyList(); + } + + public synchronized void clearCache() { + clearCache(false); + } + + public synchronized void clearCache(boolean resetCounter) { + if (!enabled) return; + messageCache.clear(); + cacheCounter.set(0); + } + + public void cacheEvent(EventMap eventMap, String destination) { + cacheEvent(eventMap, eventMap.getEventProperties(), destination); + } + + public void cacheEvent(Object event, Map properties, String destination) { + if (!enabled) return; + CacheEntry entry; + synchronized (cacheCounter) { + try { + while (messageCache.remainingCapacity() == 0) + messageCache.poll(); + entry = new CacheEntry( + destination, + cacheCounter.getAndIncrement(), + System.currentTimeMillis()); + if (!messageCache.offer(entry)) { + log.warn("EventCache.cacheEvent: Failed to cache event. Cache is full: size={}", messageCache.size()); + return; + } + } catch (Throwable e) { + log.warn("EventCache.cacheEvent: Exception while caching event: ", e); + return; + } + } + entry.payload = event; + entry.properties = properties.entrySet().stream().collect(Collectors.toMap( + Map.Entry::getKey, p -> p.getValue()!=null ? p.getValue().toString() : "" + )); + } + + @ToString + @RequiredArgsConstructor + public static class CacheEntry implements Serializable { + public Object payload; + public Map properties; + public final String destination; + public final long counter; + public final long timestamp; + } +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/EventForwarder.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/EventForwarder.java new file mode 100644 index 0000000..17437a3 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/EventForwarder.java @@ -0,0 +1,273 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep; + +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import gr.iccs.imu.ems.util.GroupingConfiguration; +import lombok.Getter; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.stereotype.Service; + +import java.util.Map; +import java.util.concurrent.Executors; +import java.util.concurrent.LinkedBlockingDeque; + +@Slf4j +@Service +@RequiredArgsConstructor +public class EventForwarder implements InitializingBean, Runnable { + @Getter @Setter + private static EventForwarder instance; + + private final BrokerCepProperties properties; + private final BrokerCepService brokerCepService; + private final LinkedBlockingDeque eventForwardingQueue = new LinkedBlockingDeque<>(); + + @Override + public void afterPropertiesSet() throws Exception { + if (instance==null) instance = this; + Executors.newFixedThreadPool(1).submit(this); + log.info("EventForwarder: Starting event publish/forward worker"); + } + + public void addEventForwardTask(@NonNull BrokerCepStatementSubscriber sender, @NonNull GroupingConfiguration.BrokerConnectionConfig brokerConnectionConfig, @NonNull String topic, @NonNull Map eventMap, Runnable success, Runnable failure) { + boolean isLocalPublish = + brokerCepService.getBrokerCepProperties().getBrokerUrlForConsumer() + .equals(brokerConnectionConfig.getUrl()); + eventForwardingQueue.add(new EventForwardTask(sender, isLocalPublish, brokerConnectionConfig, topic, eventMap, success, failure)); + log.debug("EventForwarder: {} task in the queue", eventForwardingQueue.size()); + } + + public void addEventForwardTask(@NonNull BrokerCepStatementSubscriber sender, String grouping, String brokerUrl, String certificate, String username, String password, @NonNull String topic, @NonNull Map eventMap, Runnable success, Runnable failure) { + GroupingConfiguration.BrokerConnectionConfig brokerConnectionConfig = + new GroupingConfiguration.BrokerConnectionConfig(grouping, brokerUrl, certificate, username, password); + addEventForwardTask(sender, brokerConnectionConfig, topic, eventMap, success, failure); + } + + public void addLocalPublishTask(@NonNull BrokerCepStatementSubscriber sender, @NonNull String topic, @NonNull Map eventMap, Runnable success, Runnable failure) { + String brokerUrl = brokerCepService.getBrokerCepProperties().getBrokerUrlForConsumer(); + String username = brokerCepService.getBrokerUsername(); + String password = brokerCepService.getBrokerPassword(); + GroupingConfiguration.BrokerConnectionConfig brokerConnectionConfig = + new GroupingConfiguration.BrokerConnectionConfig(null, brokerUrl, null, username, password); + eventForwardingQueue.add(new EventForwardTask(sender, true, brokerConnectionConfig, topic, eventMap, success, failure)); + log.debug("EventForwarder: {} task in the queue", eventForwardingQueue.size()); + } + + @Override + public void run() { + long delay = properties.getEventForwarderLoopDelay(); + if (delay<10L) delay = 100L; + + while (true) { + try { + processEventForwardTask(eventForwardingQueue.take()); + waitFor(delay); + } catch (Throwable t) { + log.warn("EventForwarder: Exception thrown in task processing loop: ", t); + } + } + } + + private void waitFor(long delayInMillis) { + try { + Thread.sleep(delayInMillis); + } catch (InterruptedException e) { + log.warn("EventForwarder: waitFor: Interrupted: ", e); + } + } + + private void processEventForwardTask(EventForwardTask task) { + String senderName = task.getSender().getName(); + String topic = task.getTopic(); + Map eventMap = task.getEventMap(); + + // Check if max task processing duration has been exceeded + long duration = System.currentTimeMillis() - task.getCreation(); + if (properties.getMaxEventForwardDuration()>0 && duration > properties.getMaxEventForwardDuration()) { + log.error("- Max event publish/forward duration exceeded. Dropping event: subscriber={}, forward-to-groupings={}, topic={}, payload={}", + senderName, task.getBrokerConnectionConfig(), topic, eventMap); + + runIfNotNull(task.getFailure()); + return; + } + + // Process event publish/forward task + try { + String brokerUrl = task.getBrokerConnectionConfig().getUrl(); + String username = task.getBrokerConnectionConfig().getUsername(); + String password = task.getBrokerConnectionConfig().getPassword(); + + if (task.isLocalPublish()) { + // Log start of event send to the local broker + log.trace("- Publishing event to local broker: subscriber={}, local-broker={}, username={}, password={}, topic={}, retry={}, payload={}", + senderName, brokerUrl, username, "passwordEncoded", topic, task.getRetries(), eventMap); + } else { + log.trace("- Checking forward broker configuration before event send: subscriber={}, local-broker={}, username={}, password={}, topic={}, retry={}, payload={}", + senderName, brokerUrl, username, "passwordEncoded", topic, task.getRetries(), eventMap); + String targetGrouping = task.getBrokerConnectionConfig().getGrouping(); + log.trace("- Target grouping: {}", targetGrouping); + + // Check if sender forwards have been cleared (indicating that this node became an aggregator) + boolean configChanged = false; + boolean forwardsExist = task.getSender().getForwardToGroupings() != null && task.getSender().getForwardToGroupings().size() > 0; + log.trace("- Forwards exist: {}", forwardsExist); + + if (forwardsExist) { + // Get forward broker configuration from the sender + GroupingConfiguration.BrokerConnectionConfig bcc = + task.getSender().getForwardToGroupings().stream() + .filter(f -> f.getGrouping().equals(targetGrouping)) + .findAny().orElse(null); + log.trace("- Selected BrokerConnectionConfig: {}", bcc); + + // Log any changes in forward broker config + String brokerUrl2 = bcc!=null ? bcc.getUrl() : null; + String username2 = bcc!=null ? bcc.getUsername() : null; + String password2 = bcc!=null ? bcc.getPassword() : null; + + if (!brokerUrl.equals(brokerUrl2)) { + log.warn("- Forward broker config changed: sender: {}, broker-url: {} -> {}, event: {}", senderName, brokerUrl, brokerUrl2, task.getEventMap()); + brokerUrl = brokerUrl2; + configChanged = true; + } + if (!username.equals(username2)) { + log.warn("- Forward broker config changed: sender: {}, username: {} -> {}, event: {}", senderName, username, username2, task.getEventMap()); + username = username2; + configChanged = true; + } + if (!password.equals(password2)) { + log.warn("- Forward broker config changed: sender: {}, password: ******** -> ********, event: {}", senderName, task.getEventMap()); + password = password2; + configChanged = true; + } + } else { + log.warn("- Forwards removed for topic and grouping. Using local broker: topic={}, grouping={}, sender={}, event={}", task.getTopic(), targetGrouping, senderName, task.getEventMap()); + + brokerUrl = brokerCepService.getBrokerCepProperties().getBrokerUrlForConsumer(); + username = brokerCepService.getBrokerUsername(); + password = brokerCepService.getBrokerPassword(); + configChanged = true; + } + + // Log start of event send to forward broker + if (configChanged) + log.debug("- Forwarding event to grouping: CONFIG-CHANGED: subscriber={}, forward-to-grouping={}, url={}, username={}, topic={}, retry={}, payload={}", + senderName, task.getBrokerConnectionConfig(), brokerUrl, username, topic, task.getRetries(), eventMap); + else + log.debug("- Forwarding event to grouping: subscriber={}, forward-to-grouping={}, url={}, username={}, topic={}, retry={}, payload={}", + senderName, task.getBrokerConnectionConfig(), brokerUrl, username, topic, task.getRetries(), eventMap); + } + + // Update retry info and try sending event + task.newRetry(); + brokerCepService.publishEvent(brokerUrl, username, password, topic, eventMap); + task.completed(); + + // Log successful event send + if (task.isLocalPublish()) { + log.debug("- Event published to local broker: subscriber={}, local-broker={}, username={}, topic={}, payload={}, duration={}ms", + senderName, brokerUrl, username, topic, eventMap, task.getTotalDuration()); + } else { + log.debug("- Event forwarded to grouping: subscriber={}, forwarded-to-grouping={}, url={}, username={}, topic={}, payload={}, duration={}ms", + senderName, task.brokerConnectionConfig, brokerUrl, username, topic, eventMap, task.getTotalDuration()); + } + + // Run successful event send callback + runIfNotNull(task.getSuccess()); + + } catch (IllegalArgumentException ex) { + // Event with errors + log.error("- Event contains errors. Will not retry to send it: Error while sending event: subscriber={}, forward-to-groupings={}, topic={}, retry={}, duration={}ms, payload={}, exception: ", + senderName, task.getBrokerConnectionConfig(), topic, task.getRetries() - 1, task.getTotalDuration(), eventMap, ex); + + runIfNotNull(task.getFailure()); + + } catch (Exception ex) { + // Increase retry count and log failed event send + task.increaseRetries(); + log.error("- Error while sending event: subscriber={}, forward-to-groupings={}, topic={}, retry={}, duration={}ms, payload={}, exception: ", + senderName, task.getBrokerConnectionConfig(), topic, task.getRetries()-1, task.getTotalDuration(), eventMap, ex); + + // Check if retries exceeded limits. If not then put event back in the queue. + if (properties.getMaxEventForwardRetries()>=0 && task.getRetries() > properties.getMaxEventForwardRetries()) { + log.error("- Max event publish/forward retries exceeded. Dropping event: subscriber={}, forward-to-groupings={}, topic={}, payload={}", + senderName, task.getBrokerConnectionConfig(), topic, eventMap); + + runIfNotNull(task.getFailure()); + + } else + if (properties.getMaxEventForwardDuration()>0 && task.getTotalDuration() > properties.getMaxEventForwardDuration()) { + log.error("- Max event publish/forward duration exceeded. Dropping event: subscriber={}, forward-to-groupings={}, topic={}, payload={}", + senderName, task.getBrokerConnectionConfig(), topic, eventMap); + + runIfNotNull(task.getFailure()); + + } else { + // Retry limits not exceeded. Put event back in the queue + eventForwardingQueue.add(task); + log.debug("- Event placed back in queue: subscriber={}, forward-to-groupings={}, topic={}, payload={}", + senderName, task.getBrokerConnectionConfig(), topic, eventMap); + } + } + } + + protected void runIfNotNull(Runnable r) { + if (r==null) return; + r.run(); + } + + @Getter + @RequiredArgsConstructor + protected static class EventForwardTask { + @NonNull private final BrokerCepStatementSubscriber sender; + private final boolean localPublish; + @NonNull private final GroupingConfiguration.BrokerConnectionConfig brokerConnectionConfig; + @NonNull private final String topic; + @NonNull private final Map eventMap; + private final Runnable success; + private final Runnable failure; + private final long creation = System.currentTimeMillis(); + + private long lastRetryStart; + private long lastRetryEnd; + private boolean completed; + private int retries = 0; + + public void newRetry() { + if (completed) return; + lastRetryStart = System.currentTimeMillis(); + } + + public void completed() { + if (completed) return; + completed = true; + lastRetryEnd = System.currentTimeMillis(); + } + + public void increaseRetries() { + if (completed) return; + lastRetryEnd = System.currentTimeMillis(); + ++retries; + } + + public long getLastRetryDuration() { + return lastRetryEnd - lastRetryStart; + } + + public long getTotalDuration() { + return lastRetryEnd - creation; + } + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/BrokerAdvisoryWatcher.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/BrokerAdvisoryWatcher.java new file mode 100644 index 0000000..8503a04 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/BrokerAdvisoryWatcher.java @@ -0,0 +1,188 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker; + +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.broker.BrokerService; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.command.DataStructure; +import org.apache.activemq.command.DestinationInfo; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextClosedEvent; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Service; + +import javax.jms.*; +import java.time.Instant; + +@Slf4j +@Service +@ConditionalOnProperty(name="brokercep.enable-advisory-watcher", matchIfMissing = true) +@RequiredArgsConstructor +public class BrokerAdvisoryWatcher implements MessageListener, InitializingBean, ApplicationListener { + private final BrokerService brokerService; // Added in order to ensure that BrokerService will be instantiated first + private final BrokerConfig brokerConfig; + private final BrokerCepService brokerCepService; + private final BrokerCepProperties properties; + + private ConnectionFactory connectionFactory; + + private final PasswordUtil passwordUtil; + private final TaskScheduler taskScheduler; + + private Connection connection; + private Session session; + private boolean shuttingDown; + + @Override + public void afterPropertiesSet() { + log.debug("BrokerAdvisoryWatcher: afterPropertiesSet: BrokerCepProperties: {}", brokerCepService.getBrokerCepProperties()); + initialize(); + } + + protected void initialize() { + log.debug("BrokerAdvisoryWatcher.init(): Initializing instance..."); + try { + // close previous session and connection + closeConnection(); + + // If an alternative Broker URL is provided for consumer, it will be used + if (connectionFactory==null) { + connectionFactory = brokerConfig.getConnectionFactoryForConsumer(); + } + + // If authentication is enabled get credentials + boolean usesAuthentication = brokerCepService.getBrokerCepProperties().isAuthenticationEnabled(); + String username = brokerCepService.getBrokerUsername(); + String password = brokerCepService.getBrokerPassword(); + log.debug("BrokerAdvisoryWatcher.init(): uses-authentication={}, username={}, password={}", + usesAuthentication, username, passwordUtil.encodePassword(password)); + + // Create and start new connection + this.connection = usesAuthentication + ? connectionFactory.createConnection(username, password) + : connectionFactory.createConnection(); + connection.setExceptionListener(e -> { + if (!shuttingDown) { + log.warn("BrokerAdvisoryWatcher: Connection exception listener: Exception caught: ", e); + initialize(); + } + }); + this.connection.start(); + + // Create a new session, and new consumer for topic + this.session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + Topic topic = session.createTopic("ActiveMQ.Advisory.>"); + MessageConsumer consumer = session.createConsumer(topic); + consumer.setMessageListener( this ); + + log.debug("BrokerAdvisoryWatcher.init(): Initializing instance... done"); + } catch (Exception ex) { + log.error("BrokerAdvisoryWatcher.init(): EXCEPTION: while retry in {} seconds:", properties.getAdvisoryWatcherInitRetryDelay(), ex); + final BrokerAdvisoryWatcher _this = this; + taskScheduler.schedule(_this::initialize, Instant.now().plusSeconds(properties.getAdvisoryWatcherInitRetryDelay())); + } + } + + @Override + public void onApplicationEvent(ContextClosedEvent event) { + log.info("BrokerAdvisoryWatcher is shutting down"); + shuttingDown = true; + } + + private void closeConnection() { + // close previous session and connection + try { + if (session != null) { + session.close(); + log.debug("BrokerCepConsumer.closeConnection(): Closed pre-existing sessions"); + } + } catch (Exception e) { + log.warn("BrokerCepConsumer.closeConnection(): Exception while closing old session: ", e); + } + try { + if (connection != null) { + connection.close(); + log.debug("BrokerCepConsumer.closeConnection(): Closed pre-existing connection"); + } + } catch (Exception e) { + log.warn("BrokerCepConsumer.closeConnection(): Exception while closing old connection: ", e); + } + session = null; + connection = null; + } + + @Override + public void onMessage(Message message) { + try { + log.trace("BrokerAdvisoryWatcher.onMessage(): {}", message); + ActiveMQMessage mesg = (ActiveMQMessage) message; + ActiveMQDestination messageDestination = mesg.getDestination(); + log.trace("BrokerAdvisoryWatcher.onMessage(): advisory-message-source={}", messageDestination); + + DataStructure ds = mesg.getDataStructure(); + log.trace("BrokerAdvisoryWatcher.onMessage(): advisory-message-data-structure={}", ds==null ? null : ds.getClass().getSimpleName()); + if (ds!=null) { + // Advisory event + processAdvisoryMessage(ds); + } else { + // Non-advisory event + processPlainMessage(mesg); + } + } catch (Exception ex) { + log.error("BrokerAdvisoryWatcher.onMessage(): EXCEPTION: ", ex); + } + } + + private void processPlainMessage(ActiveMQMessage mesg) throws JMSException { + if (mesg instanceof TextMessage) { + TextMessage txtMesg = (TextMessage) mesg; + String topicName = mesg.getDestination().getPhysicalName(); + log.trace("BrokerAdvisoryWatcher.onMessage(): Text Message received: topic={}, message={}", topicName, txtMesg.getText()); + } else { + String topicName = mesg.getDestination().getPhysicalName(); + log.trace("BrokerAdvisoryWatcher.onMessage(): Non-text Message received: topic={}, type={}", topicName, mesg.getClass().getName()); + } + } + + private void processAdvisoryMessage(DataStructure ds) throws JMSException { + if (ds instanceof DestinationInfo) { + DestinationInfo info = (DestinationInfo) ds; + ActiveMQDestination destination = info.getDestination(); + boolean isAdd = info.isAddOperation(); + boolean isDel = info.isRemoveOperation(); + log.debug("BrokerAdvisoryWatcher.onMessage(): Received a DestinationInfo message: destination={}, is-queue={}, is-topic={}, is-add={}, is-del={}", + destination, destination.isQueue(), destination.isTopic(), isAdd, isDel); + + // Subscribe to topic + if (isAdd) { + String topicName = destination.getPhysicalName(); + log.debug("BrokerAdvisoryWatcher.onMessage(): Subscribing to topic: {}", topicName); + + MessageConsumer consumer = session.createConsumer(destination); + consumer.setMessageListener(this); + } + /*if (isDel) { + String topicName = destination.getPhysicalName(); + log.info("BrokerAdvisoryWatcher.onMessage(): Leaving topic: {}", topicName); + }*/ + + } else { + log.trace("BrokerAdvisoryWatcher.onMessage(): Message ignored"); + } + } +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/BrokerConfig.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/BrokerConfig.java new file mode 100644 index 0000000..48228ea --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/BrokerConfig.java @@ -0,0 +1,522 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker; + +import gr.iccs.imu.ems.brokercep.broker.interceptor.AbstractMessageInterceptor; +import gr.iccs.imu.ems.brokercep.event.EventRecorder; +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import gr.iccs.imu.ems.util.KeystoreUtil; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.ActiveMQConnectionFactory; +import org.apache.activemq.ActiveMQSslConnectionFactory; +import org.apache.activemq.broker.BrokerPlugin; +import org.apache.activemq.broker.BrokerService; +import org.apache.activemq.broker.SslBrokerService; +import org.apache.activemq.broker.inteceptor.MessageInterceptorRegistry; +import org.apache.activemq.broker.jmx.ManagementContext; +import org.apache.activemq.pool.PooledConnectionFactory; +import org.apache.activemq.security.AuthenticationUser; +import org.apache.activemq.security.SimpleAuthenticationPlugin; +import org.apache.activemq.usage.MemoryUsage; +import org.apache.activemq.usage.SystemUsage; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.FileSystemResource; +import org.springframework.jms.annotation.EnableJms; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Service; + +import javax.jms.ConnectionFactory; +import javax.net.ssl.KeyManager; +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import java.io.IOException; +import java.security.KeyStore; +import java.util.*; +import java.util.stream.Collectors; + +//import org.apache.activemq.security.JaasAuthenticationPlugin; + + +@Slf4j +@Service +@EnableJms +@Configuration +@RequiredArgsConstructor +public class BrokerConfig implements InitializingBean { + + private final static int LOCAL_ADMIN_INDEX = 0; + private final static int LOCAL_USER_INDEX = 1; + private final static String LOCAL_ADMIN_PREFIX = "admin-local-"; + private final static String LOCAL_USER_PREFIX = "user-local-"; + private final static int USERNAME_RANDOM_PART_LENGTH = 10; + private final static int PASSWORD_LENGTH = 20; + + private final BrokerCepProperties properties; + private final PasswordUtil passwordUtil; + private final ApplicationContext applicationContext; + + private SimpleAuthenticationPlugin brokerAuthenticationPlugin; + private SimpleBrokerAuthorizationPlugin brokerAuthorizationPlugin; + private ArrayList userList; + private String brokerLocalAdmin; + private String brokerLocalAdminPassword; + private String brokerUsername; + private String brokerPassword; + private String brokerCert; + + private KeyStore truststore; + + private final HashMap connectionFactoryCache = new HashMap<>(); + + private final TaskScheduler scheduler; + @Getter + private EventRecorder eventRecorder; + + @Override + public void afterPropertiesSet() throws Exception { + _initializeSecurity(); + _initializeEventRecorder(); + } + + protected synchronized void _initializeSecurity() throws Exception { + log.debug("BrokerConfig._initializeSecurity(): Initializing broker security: initialize-authentication={}, initialize-authorization={}", + properties.isAuthenticationEnabled(), properties.isAuthorizationEnabled()); + + // initialize authentication + if (properties.isAuthenticationEnabled()) { + userList = new ArrayList<>(); + + // initialize local admin credentials + brokerLocalAdmin = LOCAL_ADMIN_PREFIX + RandomStringUtils.randomAlphanumeric(USERNAME_RANDOM_PART_LENGTH); + brokerLocalAdminPassword = RandomStringUtils.randomAlphanumeric(PASSWORD_LENGTH); + userList.add(new AuthenticationUser(brokerLocalAdmin, brokerLocalAdminPassword, SimpleBrokerAuthorizationPlugin.ADMIN_GROUP)); + log.debug("BrokerConfig._initializeSecurity(): Initialized local admin: {} / {}", + brokerLocalAdmin, passwordUtil.encodePassword(brokerLocalAdminPassword)); + + // initialize broker user credentials + brokerUsername = LOCAL_USER_PREFIX+ RandomStringUtils.randomAlphanumeric(USERNAME_RANDOM_PART_LENGTH); + brokerPassword = RandomStringUtils.randomAlphanumeric(PASSWORD_LENGTH); + userList.add(new AuthenticationUser(brokerUsername, brokerPassword, SimpleBrokerAuthorizationPlugin.RO_USER_GROUP)); + log.debug("BrokerConfig._initializeSecurity(): Initialized broker user: {} / {}", + brokerUsername, passwordUtil.encodePassword(brokerPassword)); + + // initialize additional user credentials from configuration + if (StringUtils.isNotBlank(properties.getAdditionalBrokerCredentials())) { + for (String extraUserCred : properties.getAdditionalBrokerCredentials().split(",")) { + String[] cred = extraUserCred.split("/", 2); + String username = cred[0].trim(); + String password = cred.length > 1 ? cred[1].trim() : ""; + userList.add(new AuthenticationUser(username, password, SimpleBrokerAuthorizationPlugin.RW_USER_GROUP)); + log.debug("BrokerConfig._initializeSecurity(): Initialized additional broker user from configuration: {} / {}", + username, passwordUtil.encodePassword(password)); + } + } + + // initialize Broker authentication plugin + SimpleAuthenticationPlugin sap = new SimpleAuthenticationPlugin(); //new JaasAuthenticationPlugin() + sap.setAnonymousAccessAllowed(false); + sap.setUsers(userList); + brokerAuthenticationPlugin = sap; + + if (log.isDebugEnabled()) { + log.debug("BrokerConfig._initializeSecurity(): Initialized broker authentication plugin: anonymous-access={}, user-list={}", + sap.isAnonymousAccessAllowed(), sap.getUserPasswords().keySet() + ); + } + } + + // initialize authorization (requires authentication being enabled) + if (properties.isAuthorizationEnabled()) { + if (properties.isAuthenticationEnabled()) { + // initialize Broker authorization plugin + brokerAuthorizationPlugin = new SimpleBrokerAuthorizationPlugin(); + log.debug("BrokerConfig._initializeSecurity(): Initialized broker authorization plugin"); + } else { + log.error("BrokerConfig._initializeSecurity(): Authorization will not be configured because authentication is not enabled"); + } + } + + // Initialize Key pair and Certificate for SSL broker + if (getBrokerUrl().startsWith("ssl")) { + log.debug("BrokerConfig._initializeSecurity(): Initializing Broker key pair and certificate..."); + initializeKeyPairAndCert(); + log.debug("BrokerConfig._initializeSecurity(): Broker key pair and certificate initialization has been completed"); + } else { + log.debug("BrokerConfig._initializeSecurity(): Broker key pair and certificate NOT initialized"); + } + } + + private void initializeKeyPairAndCert() throws Exception { + log.debug("BrokerConfig.initializeKeyAndCert(): BrokerCepProperties: {}", properties); + log.debug("BrokerConfig.initializeKeyAndCert(): Initializing keystore, truststore and certificate for Broker-SSL..."); + KeystoreUtil.initializeKeystoresAndCertificate(properties.getSsl(), passwordUtil); + + log.trace("BrokerConfig.initializeKeyAndCert(): Retrieving certificate for Broker-SSL: file={}, type={}, password={}, alias={}...", + properties.getSsl().getKeystoreFile(), properties.getSsl().getKeystoreType(), + passwordUtil.encodePassword(properties.getSsl().getKeystorePassword()), + properties.getSsl().getKeyEntryName()); + log.trace("BrokerConfig.initializeKeyAndCert(): Retrieving certificate for Broker-SSL..."); + this.brokerCert = KeystoreUtil + .getKeystore(properties.getSsl().getKeystoreFile(), properties.getSsl().getKeystoreType(), properties.getSsl().getKeystorePassword()) + .passwordUtil(passwordUtil) + .getEntryCertificateAsPEM(properties.getSsl().getKeyEntryName()); + log.trace("BrokerConfig.initializeKeyAndCert(): Retrieved certificate for Broker-SSL: file={}, type={}, password={}, alias={}, cert=\n{}", + properties.getSsl().getKeystoreFile(), properties.getSsl().getKeystoreType(), + passwordUtil.encodePassword(properties.getSsl().getKeystorePassword()), + properties.getSsl().getKeyEntryName(), this.brokerCert); + log.debug("BrokerConfig.initializeKeyAndCert(): Initializing keystore, truststore and certificate for Broker-SSL... done"); + } + + private void _initializeEventRecorder() throws IOException { + // clear previous event recorder (if any) + if (eventRecorder!=null && !eventRecorder.isClosed()) + eventRecorder.close(); + + // create new event recorder + if (properties.getEventRecorder()!=null) { + if (properties.getEventRecorder().isEnabled()) { + eventRecorder = new EventRecorder(properties.getEventRecorder(), scheduler); + eventRecorder.startRecording(); + } + } + } + + public String getBrokerName() { + log.trace("BrokerConfig.getBrokerName(): broker-name: {}", properties.getBrokerName()); + return properties.getBrokerName(); + } + + public String getBrokerUrl() { + log.trace("BrokerConfig.getBrokerUrl(): broker-url: {}", properties.getBrokerUrl()); + return properties.getBrokerUrl(); + } + + public String getBrokerCertificate() { + log.trace("BrokerConfig.getBrokerCertificate(): Broker certificate (PEM):\n{}", brokerCert); + return brokerCert; + } + + public KeyStore getBrokerTruststore() { return truststore; } + + public String getBrokerLocalAdminUsername() { + return brokerLocalAdmin; + } + + public String getBrokerLocalAdminPassword() { + return brokerLocalAdminPassword; + } + + public String getBrokerLocalUserUsername() { + return brokerUsername; + } + + public String getBrokerLocalUserPassword() { + return brokerPassword; + } + + public void setBrokerUsername(String s) { + if (userList != null) { + brokerUsername = s; + userList.get(LOCAL_USER_INDEX).setUsername(s); // 'userList' contains at least 2 items or is null (see '_initializeSecurity()' method) + brokerAuthenticationPlugin.setUsers(userList); + log.debug("BrokerConfig.setBrokerUsername(): username={}", s); + } else + log.debug("BrokerConfig.setBrokerUsername(): Username not set"); + } + + public void setBrokerPassword(String password) { + if (userList != null) { + brokerPassword = password; + userList.get(LOCAL_USER_INDEX).setPassword(password); + brokerAuthenticationPlugin.setUsers(userList); + log.debug("BrokerConfig.setBrokerPassword(): password={}", passwordUtil.encodePassword(password)); + } else + log.debug("BrokerConfig.setBrokerPassword(): Password not set"); + } + + public BrokerPlugin getBrokerAuthenticationPlugin() { + return brokerAuthenticationPlugin; + } + + public BrokerPlugin getBrokerAuthorizationPlugin() { + return brokerAuthorizationPlugin; + } + + /** + * Creates an embedded JMS server + */ + @Bean + public BrokerService createBrokerService() throws Exception { + + // Create new broker service instance + String brokerUrl = getBrokerUrl(); + log.debug("BrokerConfig: Creating new Broker Service instance: url={}", brokerUrl); + + SslBrokerService brokerService = new SslBrokerService();; + brokerService.setBrokerName(getBrokerName()); + + // Initialize keystore and truststore for broker SSL connectors + KeyManager[] keystore = null; + TrustManager[] truststore = null; + if (secureConnectorsExist()) { + keystore = readKeystore(); + truststore = readTruststore(); + } + + // Start broker connectors + if (properties.getBrokerUrlList()!=null) { + int i = 1; + for (String url : properties.getBrokerUrlList()) { + if (StringUtils.isNotBlank(url)) { + String num = (i==1 ? "st" : (i==2 ? "nd" : "rd")); + log.debug("BrokerConfig: {}{} connector: {}", i++, num, url); + if (isSecureUrl(url)) + // Add an SSL broker connector + brokerService.addSslConnector(url, keystore, truststore, null); + else + // Add a non-SSL broker connector + brokerService.addConnector(url); + } + } + } + + // Set authentication and authorization plugins + List plugins = new ArrayList<>(); + if (getBrokerAuthenticationPlugin()!=null) plugins.add(getBrokerAuthenticationPlugin()); + if (getBrokerAuthorizationPlugin()!=null) plugins.add(getBrokerAuthorizationPlugin()); + if (plugins.size() > 0) { + brokerService.setPlugins(plugins.toArray(new BrokerPlugin[0])); + } + + // Configure broker service instance + log.debug("BrokerConfig: Broker configuration: persistence={}, use-jmx={}, advisory-support={}, use-shutdown-hook={}", + properties.isBrokerPersistenceEnabled(), properties.isBrokerUsingJmx(), properties.isBrokerAdvisorySupportEnabled(), properties.isBrokerUsingShutdownHook()); + brokerService.setPersistent(properties.isBrokerPersistenceEnabled()); + brokerService.setUseJmx(properties.isBrokerUsingJmx()); + brokerService.setUseShutdownHook(properties.isBrokerUsingShutdownHook()); + brokerService.setAdvisorySupport(properties.isBrokerAdvisorySupportEnabled()); + + brokerService.setPopulateJMSXUserID(properties.isBrokerPopulateJmsxUserId()); + brokerService.setEnableStatistics(properties.isBrokerEnableStatistics()); + + // Change the JMX connector port + if (properties.getManagementConnectorPort() > 0) { + if (brokerService.getManagementContext() != null) { + log.debug("BrokerConfig.createBrokerService(): Setting connector port to: {}", properties.getManagementConnectorPort()); + brokerService.getManagementContext().setConnectorPort(properties.getManagementConnectorPort()); + } + } + + // Print Management Context information + try { + log.debug("BrokerConfig.createBrokerService(): Management Context (MC) settings:"); + ManagementContext mc = brokerService.getManagementContext(); + log.debug(" MC: BrokerName: {}", mc.getBrokerName()); + log.debug(" MC: ConnectorHost: {}", mc.getConnectorHost()); + log.debug(" MC: ConnectorPath: {}", mc.getConnectorPath()); + log.debug(" MC: Environment: {}", mc.getEnvironment()); + log.debug(" MC: JmxDomainName: {}", mc.getJmxDomainName()); + log.debug(" MC: RmiServerPort: {}", mc.getRmiServerPort()); + log.debug(" MC: SuppressMBean: {}", mc.getSuppressMBean()); + log.debug(" MC: AllowRemoteAddressInMBeanNames: {}", mc.isAllowRemoteAddressInMBeanNames()); + log.debug(" MC: ConnectorStarted: {}", mc.isConnectorStarted()); + log.debug(" MC: CreateConnector: {}", mc.isCreateConnector()); + log.debug(" MC: CreateMBeanServer: {}", mc.isCreateMBeanServer()); + log.debug(" MC: FindTigerMbeanServer: {}", mc.isFindTigerMbeanServer()); + log.debug(" MC: UseMBeanServer: {}", mc.isUseMBeanServer()); + + log.debug(" MC->MBS: DefaultDomain: {}", mc.getMBeanServer().getDefaultDomain()); + log.debug(" MC->MBS: Domains: {}", (Object[])mc.getMBeanServer().getDomains()); + log.debug(" MC->MBS: MBeanCount: {}", mc.getMBeanServer().getMBeanCount()); + } catch (Exception ex) { + log.error(" MC: EXCEPTION: ", ex); + } + + // Set memory limit in order not to use too much memory + int memHeapPercent = properties.getUsage().getMemory().getJvmHeapPercentage(); + long memSize = properties.getUsage().getMemory().getSize(); + if (memHeapPercent > 0 || memSize > 0) { + final MemoryUsage memoryUsage = new MemoryUsage(); + if (memHeapPercent > 0) { + memoryUsage.setPercentOfJvmHeap(memHeapPercent); + log.debug("BrokerConfig: Limiting Broker Service instance memory usage to {}% of JVM heap size", memHeapPercent); + } else { + memoryUsage.setUsage(memSize); + log.debug("BrokerConfig: Limiting Broker Service instance memory usage to {} bytes", memSize); + } + final SystemUsage systemUsage = new SystemUsage(); + systemUsage.setMemoryUsage(memoryUsage); + brokerService.setSystemUsage(systemUsage); + } + + // start broker service instance + brokerService.start(); + + // register broker service interceptors + registerMessageInterceptors(brokerService); + + return brokerService; + } + + private void registerMessageInterceptors(BrokerService brokerService) { + // get message interceptor registry + final MessageInterceptorRegistry registry = MessageInterceptorRegistry.getInstance().get(brokerService); // or ...get(BrokerRegistry.getInstance().findFirst()); + log.trace("BrokerConfig: Message interceptor registry: {}", registry); + + if (properties.getMessageInterceptors()==null) { + log.warn("BrokerConfig: No message interceptors configured"); + return; + } + + log.debug("BrokerConfig: Message interceptors initializing..."); + List interceptorSpecs = properties.getMessageInterceptors() + .stream() + .map(c -> (BrokerCepProperties.MessageInterceptorSpec)c) + .collect(Collectors.toList()); + List interceptors = InterceptorHelper.newInstance() + .initializeInterceptors(registry, applicationContext, + properties.getMessageInterceptorsSpecs(), interceptorSpecs); + log.debug("BrokerConfig: Message interceptors initialized"); + + // register interceptors + log.debug("BrokerConfig: Registering message interceptors..."); + interceptors.forEach(i -> { + String destinationPattern = ((BrokerCepProperties.MessageInterceptorConfig) i.getInterceptorSpec()).getDestination(); + registry.addMessageInterceptorForTopic(destinationPattern, i); + log.debug("BrokerConfig: - Registered message interceptor with spec.: {}", i.getInterceptorSpec()); + }); + log.debug("BrokerConfig: Registering message interceptors... done"); + } + + private boolean isSecureUrl(String url) { + int p = url.indexOf(":"); + if (p<=0) return false; + String scheme = url.substring(0, p); + return scheme.startsWith("ssl") || scheme.contains("+ssl") || scheme.startsWith("https:"); + } + + private boolean secureConnectorsExist() { + if (properties.getBrokerUrlList()!=null) { + for (String url : properties.getBrokerUrlList()) + if (isSecureUrl(url.trim())) return true; + } + return false; + } + + private KeyManager[] readKeystore() throws Exception { + final KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); + final KeyStore keystore = KeyStore.getInstance(properties.getSsl().getKeystoreType()); + + //final Resource keystoreResource = new ClassPathResource( properties.getKeystoreFile() ); + final FileSystemResource keystoreResource = new FileSystemResource(properties.getSsl().getKeystoreFile()); + keystore.load(keystoreResource.getInputStream(), properties.getSsl().getKeystorePassword().toCharArray()); + keyManagerFactory.init(keystore, properties.getSsl().getKeystorePassword().toCharArray()); + final KeyManager[] keystoreManagers = keyManagerFactory.getKeyManagers(); + return keystoreManagers; + } + + private TrustManager[] readTruststore() throws Exception { + this.truststore = KeyStore.getInstance(properties.getSsl().getTruststoreType()); + + //final Resource truststoreResource = new ClassPathResource( properties.getTruststoreFile() ); + final FileSystemResource truststoreResource = new FileSystemResource(properties.getSsl().getTruststoreFile()); + this.truststore.load(truststoreResource.getInputStream(), properties.getSsl().getTruststorePassword().toCharArray()); + final TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + trustManagerFactory.init(this.truststore); + final TrustManager[] trustManagers = trustManagerFactory.getTrustManagers(); + return trustManagers; + } + + public void writeTruststore() throws Exception { + //final Resource truststoreResource = new ClassPathResource( properties.getTruststoreFile() ); + final FileSystemResource truststoreResource = new FileSystemResource(properties.getSsl().getTruststoreFile()); + this.truststore.store(truststoreResource.getOutputStream(), properties.getSsl().getTruststorePassword().toCharArray()); + } + + /** + * Creates a new connection factory + */ + public ConnectionFactory connectionFactory() { + return connectionFactory(null); + } + + public ConnectionFactory connectionFactory(String brokerUrl) { + if (brokerUrl==null) brokerUrl = properties.getBrokerUrlForClients(); + + // Create connection factory based on Broker URL scheme + final ActiveMQConnectionFactory connectionFactory; + if (brokerUrl.startsWith("ssl")) { + log.debug("BrokerConfig: Creating new SSL connection factory instance: url={}", brokerUrl); + final ActiveMQSslConnectionFactory sslConnectionFactory = new ActiveMQSslConnectionFactory(brokerUrl); + try { + sslConnectionFactory.setTrustStore(properties.getSsl().getTruststoreFile()); + sslConnectionFactory.setTrustStoreType(properties.getSsl().getTruststoreType()); + sslConnectionFactory.setTrustStorePassword(properties.getSsl().getTruststorePassword()); + sslConnectionFactory.setKeyStore(properties.getSsl().getKeystoreFile()); + sslConnectionFactory.setKeyStoreType(properties.getSsl().getKeystoreType()); + sslConnectionFactory.setKeyStorePassword(properties.getSsl().getKeystorePassword()); + //sslConnectionFactory.setKeyStoreKeyPassword( properties.getSsl()........ ); + + connectionFactory = sslConnectionFactory; + } catch (final Exception theException) { + throw new Error(theException); + } + } else { + log.debug("BrokerConfig: Creating new non-SSL connection factory instance: url={}", brokerUrl); + connectionFactory = new ActiveMQConnectionFactory(brokerUrl); + } + + // Set credentials, if using local broker URL + if (brokerUrl.equals(properties.getBrokerUrlForClients()) && getBrokerLocalUserUsername()!=null) { + connectionFactory.setUserName(getBrokerLocalUserUsername()); + connectionFactory.setPassword(getBrokerLocalUserPassword()); + } + + // Other connection factory settings + //connectionFactory.setSendTimeout(....5000L); + //connectionFactory.setTrustedPackages(Arrays.asList("gr.iccs.imu.ems")); + connectionFactory.setTrustAllPackages(true); + connectionFactory.setWatchTopicAdvisories(true); + + // Make pooled connection factory + PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(connectionFactory); + pooledConnectionFactory.setMaxConnections(64); + log.trace("BrokerConfig: New connection factory created: {}", pooledConnectionFactory); + + return pooledConnectionFactory; + } + + public ConnectionFactory getConnectionFactoryFor(String connectionString) { + return connectionFactoryCache + .computeIfAbsent(connectionString, this::connectionFactory); + } + + public ConnectionFactory getConnectionFactoryForConsumer() { + String connStr; + if (StringUtils.isNotBlank(properties.getBrokerUrlForConsumer())) { + log.debug("BrokerConfig.getConnectionFactoryForConsumer(): Broker URL for Broker-CEP consumer instance: {}", properties.getBrokerUrlForConsumer()); + connStr = properties.getBrokerUrlForConsumer(); + } else { + log.debug("BrokerConfig.getConnectionFactoryForConsumer(): Default broker URL will be used for Broker-CEP consumer instance: {}", properties.getBrokerUrlForClients()); + connStr = null; + } + return connectionFactoryCache + .computeIfAbsent(connStr, this::connectionFactory); + } +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/InterceptorHelper.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/InterceptorHelper.java new file mode 100644 index 0000000..f15995e --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/InterceptorHelper.java @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker; + +import gr.iccs.imu.ems.brokercep.broker.interceptor.AbstractMessageInterceptor; +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.broker.inteceptor.MessageInterceptorRegistry; +import org.springframework.context.ApplicationContext; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Slf4j +public class InterceptorHelper { + public static InterceptorHelper newInstance() { + return new InterceptorHelper(); + } + + public List initializeInterceptors(final MessageInterceptorRegistry registry, + ApplicationContext applicationContext, + Map specs, + List interceptorSpecs) + { + log.debug("InterceptorHelper: Initialize interceptors..."); + + List interceptors = new ArrayList<>(); + interceptorSpecs + .forEach(spec -> { + AbstractMessageInterceptor interceptor = initializeInterceptor(registry, applicationContext, specs, spec); + interceptors.add(interceptor); + }); + log.debug("InterceptorHelper: Initialize interceptors... done"); + return interceptors; + } + + @SuppressWarnings("unchecked") + public AbstractMessageInterceptor initializeInterceptor(final MessageInterceptorRegistry registry, + ApplicationContext applicationContext, + Map specs, + BrokerCepProperties.MessageInterceptorSpec interceptorSpec) + { + log.debug("InterceptorHelper: Initializing message interceptor with spec.: {}", interceptorSpec); + String interceptorClassName = interceptorSpec.getClassName(); + Class interceptorClass; + try { + interceptorClass = (Class) Class.forName(interceptorClassName); + } catch (ClassNotFoundException e) { + log.error("InterceptorHelper: Error while registering message interceptor: {}. Exception: ", interceptorSpec, e); + throw new RuntimeException(e); + } + + AbstractMessageInterceptor interceptor = null; + Exception lastException = null; + // Try 2-args constructor + try { + interceptor = interceptorClass + .getDeclaredConstructor(MessageInterceptorRegistry.class, ApplicationContext.class) + .newInstance(registry, applicationContext); + } catch (Exception e) { + log.debug("InterceptorHelper: Instantiating message interceptor with 2-args constructor failed: {} {}", + e.getClass().getSimpleName(), e.getMessage()); + lastException = e; + } + // Try 1-arg constructor + if (interceptor==null) { + try { + interceptor = interceptorClass + .getDeclaredConstructor(MessageInterceptorRegistry.class) + .newInstance(registry); + } catch (Exception e) { + log.debug("InterceptorHelper: Instantiating message interceptor with 1-arg constructor failed: {} {}", + e.getClass().getSimpleName(), e.getMessage()); + lastException = e; + } + } + // Try no-args constructor + if (interceptor==null) { + try { + interceptor = interceptorClass + .getDeclaredConstructor() + .newInstance(); + } catch (Exception e) { + log.debug("InterceptorHelper: Instantiating message interceptor with no-args constructor failed: {} {}", + e.getClass().getSimpleName(), e.getMessage()); + lastException = e; + } + } + // Throw exception if all tries failed + if (interceptor==null) { + log.error("InterceptorHelper: Instantiating message interceptor failed: Last exception: ", lastException); + throw new RuntimeException("Interceptor initialization exception", lastException); + } + + // Initialize interceptor + interceptor.setRegistry(registry); + interceptor.setApplicationContext(applicationContext); + interceptor.setMessageInterceptorSpecs(specs); + interceptor.setInterceptorSpec(interceptorSpec); + interceptor.initialized(); + log.debug("InterceptorHelper: Message interceptor initialized: {}", interceptorSpec); + + return interceptor; + } + + public AbstractMessageInterceptor initializeInterceptor(final AbstractMessageInterceptor parent, + BrokerCepProperties.MessageInterceptorSpec interceptorSpec) + { + return initializeInterceptor(parent.getRegistry(), parent.getApplicationContext(), + parent.getMessageInterceptorSpecs(), interceptorSpec); + } + + public AbstractMessageInterceptor initializeInterceptorFor(final AbstractMessageInterceptor parent, String specId) + { + BrokerCepProperties.MessageInterceptorSpec interceptorSpec = + getInterceptorSpecFor(specId, parent.getMessageInterceptorSpecs()); + return initializeInterceptor(parent.getRegistry(), parent.getApplicationContext(), + parent.getMessageInterceptorSpecs(), interceptorSpec); + } + + /*public AbstractMessageInterceptor initializeInterceptorFor(final MessageInterceptorRegistry registry, + ApplicationContext applicationContext, + Map specs, + String specId) + { + BrokerCepProperties.MessageInterceptorSpec interceptorSpec = getInterceptorSpecFor(specId, specs); + return initializeInterceptor(registry, applicationContext, specs, interceptorSpec); + }*/ + + public BrokerCepProperties.MessageInterceptorSpec getInterceptorSpecFor(String specId, Map specs) { + log.debug("InterceptorHelper: getInterceptorSpecFor: spec-id={}, specs={}", specId, specs); + BrokerCepProperties.MessageInterceptorSpec spec; + if (specId.startsWith("#")) { + specId = specId.substring(1); + spec = specs.get(specId); + if (spec==null) + throw new IllegalArgumentException("Message Interceptor Spec Id not found in configuration: "+specId); + } else { + spec = new BrokerCepProperties.MessageInterceptorSpec(); + spec.setClassName(specId); + } + return spec; + } +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/SimpleBrokerAuthorizationPlugin.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/SimpleBrokerAuthorizationPlugin.java new file mode 100644 index 0000000..f35b9e3 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/SimpleBrokerAuthorizationPlugin.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker; + +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.broker.Broker; +import org.apache.activemq.broker.BrokerPlugin; +import org.apache.activemq.filter.DestinationMapEntry; +import org.apache.activemq.security.*; + +import java.util.ArrayList; +import java.util.List; + +/** + * Simple AMQ broker authorization plugin + */ +@Slf4j +public class SimpleBrokerAuthorizationPlugin implements BrokerPlugin { + public final static String ADMIN_GROUP = "admins"; + public final static String RW_USER_GROUP = "users_RW"; + public final static String RO_USER_GROUP = "users_RO"; + public final static String ALL_GROUPS = RO_USER_GROUP+","+RW_USER_GROUP+","+ADMIN_GROUP; + public final static String RWUSER_ADMIN_GROUPS = RW_USER_GROUP+","+ADMIN_GROUP; + + private AuthorizationMap map; + + public SimpleBrokerAuthorizationPlugin() { + _prepareAuthorizationMap(); + } + + public Broker installPlugin(Broker broker) { + if (map == null) { + throw new IllegalArgumentException("You must configure a 'map' property"); + } + return new AuthorizationBroker(broker, map); + } + + public AuthorizationMap getMap() { + return map; + } + + public void setMap(AuthorizationMap map) { + this.map = map; + } + + private void _prepareAuthorizationMap() { + try { + // prepare authorization entry for 'ActiveMQ.Advisory' topics + AuthorizationEntry mapEntry1 = new AuthorizationEntry(); + mapEntry1.setTopic("ActiveMQ.Advisory.>"); + mapEntry1.setRead(ALL_GROUPS); + mapEntry1.setWrite(ALL_GROUPS); + mapEntry1.setAdmin(ALL_GROUPS); + + // prepare authorization entry for all topics + AuthorizationEntry mapEntry = new AuthorizationEntry(); + mapEntry.setTopic(">"); + mapEntry.setRead(ALL_GROUPS); + mapEntry.setWrite(RWUSER_ADMIN_GROUPS); + mapEntry.setAdmin(ADMIN_GROUP); + + // prepare authorization map entries + List mapEntries = new ArrayList<>(); + mapEntries.add(mapEntry1); + mapEntries.add(mapEntry); + + // prepare authorization map + DefaultAuthorizationMap defaultAuthorizationMap = new DefaultAuthorizationMap(); + defaultAuthorizationMap.setAuthorizationEntries(mapEntries); + + map = defaultAuthorizationMap; + } catch (Exception ex) { + log.error("BrokerConfig.SimpleAuthorizationPlugin._updateAuthorizationBroker(): EXCEPTION: ", ex); + throw new RuntimeException(ex); + } + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/AbstractMessageInterceptor.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/AbstractMessageInterceptor.java new file mode 100644 index 0000000..66b70ce --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/AbstractMessageInterceptor.java @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker.interceptor; + +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.broker.ProducerBrokerExchange; +import org.apache.activemq.broker.inteceptor.MessageInterceptor; +import org.apache.activemq.broker.inteceptor.MessageInterceptorRegistry; +import org.apache.activemq.command.Message; +import org.springframework.context.ApplicationContext; + +import java.util.Map; + +@Slf4j +@Data +public abstract class AbstractMessageInterceptor implements MessageInterceptor { + protected MessageInterceptorRegistry registry; + protected ApplicationContext applicationContext; + protected Map messageInterceptorSpecs; + + protected BrokerCepProperties.MessageInterceptorSpec interceptorSpec; + private ProducerBrokerExchange producerBrokerExchange; + + public void initialized() { } + + @Override + public void intercept(ProducerBrokerExchange producerBrokerExchange, Message message) { + try { + this.producerBrokerExchange = producerBrokerExchange; + intercept(message); + registry.injectMessage(producerBrokerExchange, message); + } catch (Exception e) { + log.error("AbstractMessageInterceptor: EXCEPTION: ", e); + } + } + + public abstract void intercept(Message message); +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/CompositeInterceptor.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/CompositeInterceptor.java new file mode 100644 index 0000000..89acd59 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/CompositeInterceptor.java @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker.interceptor; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public abstract class CompositeInterceptor extends AbstractMessageInterceptor { +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/LogMessageUpdateInterceptor.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/LogMessageUpdateInterceptor.java new file mode 100644 index 0000000..f2aa1b1 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/LogMessageUpdateInterceptor.java @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker.interceptor; + +import gr.iccs.imu.ems.brokercep.broker.BrokerConfig; +import gr.iccs.imu.ems.brokercep.event.EventRecorder; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.command.Message; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Component; + +@Slf4j +@Lazy +@Component +public class LogMessageUpdateInterceptor extends AbstractMessageInterceptor { + private EventRecorder eventRecorder; + + @Override + public void initialized() { + this.eventRecorder = applicationContext.getBean(BrokerConfig.class).getEventRecorder(); + log.debug("LogMessageUpdateInterceptor: Enabled: {}", eventRecorder!=null); + eventRecorder.startRecording(); + } + + @Override + public void intercept(Message message) { + try { + if (eventRecorder!=null && message instanceof ActiveMQMessage) + eventRecorder.recordEvent((ActiveMQMessage)message); + } catch (Exception e) { + log.error("LogMessageUpdateInterceptor: EXCEPTION: ", e); + } + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/MessageForwarderInterceptor.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/MessageForwarderInterceptor.java new file mode 100644 index 0000000..07321f9 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/MessageForwarderInterceptor.java @@ -0,0 +1,200 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker.interceptor; + +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.command.ActiveMQObjectMessage; +import org.apache.activemq.command.ActiveMQTextMessage; +import org.apache.activemq.command.Message; +import org.apache.commons.lang3.StringUtils; +import org.springframework.context.ApplicationContext; + +import javax.jms.JMSException; +import java.util.List; +import java.util.Map; +import java.util.Queue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; + +@Slf4j +public class MessageForwarderInterceptor extends AbstractMessageInterceptor { + private final static MessageQueueProcessor messageQueueProcessor = new MessageQueueProcessor(); + + public void initialized() { + startQueueProcessing(applicationContext); + } + + @Override + public void intercept(Message message) { + log.trace("MessageForwarderInterceptor: Message: {}", message); + // enqueue message for processing + messageQueueProcessor.getMessageQueue().add(message); + } + + private void startQueueProcessing(ApplicationContext applicationContext) { + synchronized (messageQueueProcessor) { + if (!messageQueueProcessor.isRunning()) { + messageQueueProcessor.setApplicationContext(applicationContext); + messageQueueProcessor.start(); + } + } + } + + protected static class MessageQueueProcessor implements Runnable { + private final BlockingQueue messageQueue = new LinkedBlockingQueue<>(); + private ApplicationContext applicationContext; + private BrokerCepService brokerCepService; + private Thread runner; + private boolean keepRunning; + protected List forwardDestinations; + + public void setApplicationContext(ApplicationContext applicationContext) { + this.applicationContext = applicationContext; + } + + public Queue getMessageQueue() { + return messageQueue; + } + + @Override + public void run() { + log.info("MessageQueueProcessor: Starts processing message queue and forward messages"); + while (keepRunning) { + String connectionString = null; + String username = null; + String password = null; + String destination = null; + try { + Message m = messageQueue.take(); + log.trace("MessageQueueProcessor: Message taken from queue: {}", m); + + if (! isMessageForwardPossible(m)) { + //keepRunning = false; + continue; + } + + destination = m.getDestination().getPhysicalName(); + EventMap eventMap = messageToEvent(m); + for (BrokerCepProperties.ForwardDestinationConfig config : forwardDestinations) { + connectionString = config.getConnectionString(); + username = config.getUsername(); + password = config.getPassword(); + log.trace("MessageQueueProcessor: Forwarding message to: {}/{} (username: {}): {}", + connectionString, destination, username, eventMap); + if (StringUtils.isBlank(username)) + brokerCepService.publishEvent(connectionString, destination, eventMap); + else + brokerCepService.publishEvent(connectionString, username, password, destination, eventMap); + log.debug("MessageQueueProcessor: Message forwarded to: {}/{} (username: {}): {}", + connectionString, destination, username, eventMap); + } + + } catch (InterruptedException e) { + log.error("MessageQueueProcessor: Exception while taking message from queue: ", e); + } catch (JMSException e) { + log.error("MessageQueueProcessor: Exception while sending message to: {}/{}: Exception: ", + connectionString, destination, e); + } + } + runner = null; + log.warn("MessageQueueProcessor: Stopped processing message queue"); + } + + private boolean isMessageForwardPossible(Message m) { + if (brokerCepService==null) { + try { + this.brokerCepService = applicationContext.getBean(BrokerCepService.class); + if (brokerCepService==null) { + log.error("MessageQueueProcessor: Null BrokerCepService instance returned"); + return false; + } + } catch (Exception e) { + log.error("MessageQueueProcessor: Exception while getting BrokerCepService instance: ", e); + return false; + } + } + if (forwardDestinations==null) { + try { + BrokerCepProperties bcp = applicationContext.getBean(BrokerCepProperties.class); + if (bcp==null) { + log.error("MessageQueueProcessor: Null BrokerCepProperties instance returned"); + return false; + } + forwardDestinations = bcp.getMessageForwardDestinations(); + log.info("MessageQueueProcessor: Forward destinations initialized: {}", forwardDestinations); + } catch (Exception e) { + log.error("MessageQueueProcessor: Exception while getting BrokerCepProperties instance: ", e); + return false; + } + } + if (forwardDestinations.size()==0) { + log.debug("MessageQueueProcessor: No forward destinations specified. Discarding message: {}", m); + return false; + } + return true; + } + + private EventMap messageToEvent(Message message) { + try { + log.trace("MessageForwarderInterceptor.messageToEvent(): message: {}", message); + Map eventProperties = message.getProperties(); + log.trace("MessageForwarderInterceptor.messageToEvent(): event-properties: {}", eventProperties); + if (message instanceof ActiveMQObjectMessage mesg) { + if (mesg.getObject() instanceof Map) { + EventMap eventMap = new EventMap(StrUtil.castToMapStringObject(mesg.getObject())); + if (eventProperties!=null) eventMap.putAll(eventProperties); + log.trace("MessageForwarderInterceptor.messageToEvent(): event-map: {}", eventMap); + return eventMap; + } + } else if (message instanceof ActiveMQTextMessage mesg) { + // Send message to Esper + EventMap eventMap = EventMap.parseEventMap(mesg.getText()); + if (eventProperties!=null) eventMap.putAll(eventProperties); + log.trace("MessageForwarderInterceptor.messageToEvent(): event-map: {}", eventMap); + return eventMap; + } else { + log.warn("MessageForwarderInterceptor.messageToEvent(): Message ignored: type={}", message.getClass().getName()); + } + } catch (Exception ex) { + log.error("MessageForwarderInterceptor.messageToEvent(): EXCEPTION: ", ex); + } + throw new RuntimeException("Unsupported Message type: "+message.getClass()); + } + + public synchronized void start() { + if (runner==null) { + keepRunning = true; + runner = new Thread(this); + runner.setDaemon(true); + runner.start(); + } else { + log.warn("MessageQueueProcessor is already running"); + } + } + + public synchronized void stop() { + if (isRunning()) { + keepRunning = false; + runner.interrupt(); + } else { + log.warn("MessageQueueProcessor is not running"); + } + } + + public boolean isRunning() { + if (runner==null) return false; + return runner.isAlive(); + } + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/NodePropertiesMessageUpdateInterceptor.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/NodePropertiesMessageUpdateInterceptor.java new file mode 100644 index 0000000..d17fbc7 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/NodePropertiesMessageUpdateInterceptor.java @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker.interceptor; + +import gr.iccs.imu.ems.brokercep.properties.NodeProperties; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.command.Message; +import org.apache.commons.lang3.StringUtils; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Slf4j +@Lazy +@Component +public class NodePropertiesMessageUpdateInterceptor extends AbstractMessageInterceptor { + private NodeProperties nodeProperties; + + @Override + public void initialized() { + this.nodeProperties = applicationContext.getBean(NodeProperties.class); + log.debug("NodePropertiesMessageUpdateInterceptor: Node properties: {}", nodeProperties); + assert (nodeProperties != null); + } + + @Override + public void intercept(Message message) { + // Check if interceptor is enabled + if (! nodeProperties.isAddNodePropertiesToEventsEnabled()) { + log.trace("NodePropertiesMessageUpdateInterceptor: Not enabled!"); + return; + } + + log.trace("NodePropertiesMessageUpdateInterceptor: Message: {}", message); + try { + // Check if node properties have already been set. + // If at least one node property is set then we skip further processing. + if (message.getProperties()!=null) { + if (nodeProperties.getNodeProperties().keySet().stream().anyMatch(message.getProperties()::containsKey)) { + log.trace("NodePropertiesMessageUpdateInterceptor: Found at least one node property set in message. Skipping further processing: message: {}", message); + return; + } + } + + // Add node properties as message properties + log.debug("NodePropertiesMessageUpdateInterceptor: Message properties before adding node properties: properties={}, message: {}", message.getProperties(), message); + + for (Map.Entry entry : nodeProperties.getNodeProperties().entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + if (StringUtils.isBlank(key)) continue; + if (nodeProperties.isSkipNullValues() && value==null || nodeProperties.isSkipBlankValues() && StringUtils.isBlank(value)) { + log.trace("NodePropertiesMessageUpdateInterceptor: Skipping null- or blank-value node property due to configuration: property={}, message: {}", key, message); + continue; + } + log.trace("NodePropertiesMessageUpdateInterceptor: Added node property to message: property={}, value={}, message: {}", key, value, message); + message.setProperty(key, value); + } + log.debug("NodePropertiesMessageUpdateInterceptor: Message properties after adding node properties: properties={}, message: {}", message.getProperties(), message); + + } catch (Exception e) { + log.error("NodePropertiesMessageUpdateInterceptor: EXCEPTION: ", e); + } + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/SequentialCompositeInterceptor.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/SequentialCompositeInterceptor.java new file mode 100644 index 0000000..423fac1 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/SequentialCompositeInterceptor.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker.interceptor; + +import gr.iccs.imu.ems.brokercep.broker.InterceptorHelper; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.command.Message; + +import java.util.ArrayList; +import java.util.List; + +@Slf4j +public class SequentialCompositeInterceptor extends CompositeInterceptor { + private final List interceptors = new ArrayList<>(); + + @Override + public void initialized() { + initChildInterceptors(); + } + + private void initChildInterceptors() { + log.debug("SequentialCompositeInterceptor: Initializing child interceptors..."); + InterceptorHelper helper = InterceptorHelper.newInstance(); + List params = getInterceptorSpec().getParams(); + if (params!=null) + params.forEach(p -> { + log.debug(" - SequentialCompositeInterceptor: Initializing child interceptor for: {}", p); + addMessageInterceptor(helper.initializeInterceptorFor(this, p)); + log.debug(" - SequentialCompositeInterceptor: Child interceptor initialized for: {}", p); + }); + log.debug("SequentialCompositeInterceptor: Initializing child interceptors...done"); + } + + public void addMessageInterceptor(AbstractMessageInterceptor interceptor) { + if (interceptor == null) throw new IllegalArgumentException("Argument is null"); + interceptors.add(interceptor); + } + + @Override + public void intercept(Message message) { + log.debug("SequentialCompositeInterceptor: Message IN: {}", message); + interceptors.forEach(interceptor -> { + log.debug("SequentialCompositeInterceptor: - Calling interceptor: {}", interceptor.getClass().getSimpleName()); + interceptor.setProducerBrokerExchange(getProducerBrokerExchange()); + interceptor.intercept(message); + }); + log.debug("SequentialCompositeInterceptor: Message OUT: {}", message); + } +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/SourceAddressMessageUpdateInterceptor.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/SourceAddressMessageUpdateInterceptor.java new file mode 100644 index 0000000..0005d12 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/broker/interceptor/SourceAddressMessageUpdateInterceptor.java @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.broker.interceptor; + +import gr.iccs.imu.ems.util.EmsConstant; +import gr.iccs.imu.ems.util.NetUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.broker.Connection; +import org.apache.activemq.command.Message; +import org.apache.commons.lang3.StringUtils; + +@Slf4j +public class SourceAddressMessageUpdateInterceptor extends AbstractMessageInterceptor { + private final String SOURCE_ADDRESS_PROPERTY_NAME = EmsConstant.EVENT_PROPERTY_SOURCE_ADDRESS; + + @Override + public void intercept(Message message) { + log.trace("SourceAddressMessageUpdateInterceptor: Message: {}", message); + try { + Object sourceProperty = message.getProperty(SOURCE_ADDRESS_PROPERTY_NAME); + if (sourceProperty!=null && StringUtils.isNotBlank(sourceProperty.toString())) { + log.trace("SourceAddressMessageUpdateInterceptor: Message has Producer Host property set: {}", sourceProperty); + return; + } + + // get remote address from connection + Connection conn = getProducerBrokerExchange().getConnectionContext().getConnection(); + log.trace("SourceAddressMessageUpdateInterceptor: Connection: {}", conn); + String address = conn.getRemoteAddress(); + log.trace("SourceAddressMessageUpdateInterceptor: Producer address: {}", address); + + // extract remote host address + if (StringUtils.isNotBlank(address)) { + address = StringUtils.substringsBetween(address, "//", ":") [0]; + } + log.trace("SourceAddressMessageUpdateInterceptor: Producer host: {}", address); + + // check if host address is local + boolean isLocal = StringUtils.isBlank(address) || NetUtil.isLocalAddress(address.trim()); + if (isLocal) { + log.trace("SourceAddressMessageUpdateInterceptor: Producer host is local. Getting our public IP address"); + address = NetUtil.getPublicIpAddress(); + log.trace("SourceAddressMessageUpdateInterceptor: Producer host (public): {}", address); + } else { + log.trace("SourceAddressMessageUpdateInterceptor: Producer host is not local. Ok"); + } + + // get message remote address old value (if any) + String oldAddress = (String) message.getProperty(SOURCE_ADDRESS_PROPERTY_NAME); + log.trace("SourceAddressMessageUpdateInterceptor: Producer host property in message: {}", oldAddress); + + // set new remote address value, if needed + if (StringUtils.isBlank(oldAddress) && StringUtils.isNotBlank(address)) { + log.trace("SourceAddressMessageUpdateInterceptor: Setting producer host property in message: host={}, message={}", address, message); + message.setProperty(SOURCE_ADDRESS_PROPERTY_NAME, address); + log.debug("SourceAddressMessageUpdateInterceptor: Set producer host property in message: host={}, message={}", address, message); + } else if (StringUtils.isNotBlank(oldAddress)) { + log.debug("SourceAddressMessageUpdateInterceptor: Producer host property already set (keeping previous value): host={}, message={}", oldAddress, message); + } else if (StringUtils.isBlank(address)) { + log.warn("SourceAddressMessageUpdateInterceptor: Could not resolve Producer host property: message={}", message); + } + + } catch (Exception e) { + log.error("SourceAddressMessageUpdateInterceptor: EXCEPTION: ", e); + } + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepEvalAggregator.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepEvalAggregator.java new file mode 100644 index 0000000..debb807 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepEvalAggregator.java @@ -0,0 +1,268 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.cep; + +import com.espertech.esper.collection.Pair; +import com.espertech.esper.epl.agg.aggregator.AggregationMethod; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.extern.slf4j.Slf4j; + +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +public class CepEvalAggregator implements AggregationMethod { + private final LinkedHashMap entries = new LinkedHashMap<>(); + + public void clear() { + log.debug("CepEvalAggregator.clear(): aggregator-hash={}", hashCode()); + entries.clear(); + } + + public void enter(Object value) { + log.debug("CepEvalAggregator.enter(): aggregator-hash={}, input={}, hash={}", hashCode(), value, value.hashCode()); + traceValue("ENTER-BEFORE", value, null, true); + if (value instanceof Object[]) + entries.put(Arrays.hashCode((Object[]) value), (Object[]) value); // 0:formula, 1:stream-names, 2+:EventMap + else + log.error("CepEvalAggregator.enter(): ERROR: WRONG ARG TYPE: Expected Object[]: aggregator-hash={}, input={}, input-type={}", hashCode(), value, value.getClass().getName()); + traceValue("ENTER-AFTER", value, null, true); + } + + public void leave(Object value) { + log.debug("CepEvalAggregator.leave(): aggregator-hash={}, input={}, hash={}", hashCode(), value, value.hashCode()); + traceValue("LEAVE-BEFORE", value, null, true); + +// int p = findEntry(value); +// Object[] removedObject = p!=-1 ? entries.remove(p) : null; + int valueHash = Arrays.hashCode((Object[]) value); + Object[] removedObject = entries.remove(valueHash); + log.debug("CepEvalAggregator.leave(): aggregator-hash={}, input={}, hash={}, p={}, removed={}", hashCode(), value, value.hashCode(), + /*p*/null, removedObject==null ? null : Arrays.asList(removedObject)); + + traceValue("LEAVE-AFTER", removedObject, value, true); + } + + /*private int findEntry(Object value) { + log.trace("CepEvalAggregator.findEntry: BEGIN: to-remove={}", value); + if (value==null) { + log.trace("CepEvalAggregator.findEntry: END: ILLEGAL ARG: NULL ARG: to-remove={}", value); + return -1; + } + if (log.isTraceEnabled()) + log.trace("CepEvalAggregator.findEntry: to-remove-class: {}", value.getClass().getName()); + if (! (value instanceof Object[])) { + log.trace("CepEvalAggregator.findEntry: END: ILLEGAL ARG: Not an Object[]: class={}, to-remove={}", value.getClass().getName(), value); + return -2; + } + Object[] valArr = (Object[]) value; + int valArrLen = valArr.length; + if (log.isTraceEnabled()) + log.trace("CepEvalAggregator.findEntry: to-remove: size={}, str={}", Arrays.toString(valArr), valArrLen); + + log.trace("CepEvalAggregator.findEntry: num-of-entries: {}", entries.size()); + int pos = -1; + for (Object[] oArr : entries.values()) { + pos++; + log.trace("CepEvalAggregator.findEntry: entry-item: pos={}, item={}, to-remove={}", pos, oArr, value); + if (oArr==value) { + log.trace("CepEvalAggregator.findEntry: END: FOUND-SAME-OBJECT: pos={}, to-remove={}", pos, value); + return pos; + } + log.trace("CepEvalAggregator.findEntry: entry-item: pos={}, item-arr-len={}, to-remove-arr-len={}", pos, oArr.length, valArrLen); + if (oArr.length!=valArrLen) + continue; +// int x = _findEntry_extraChecks(valArr, oArr); +// log.trace("CepEvalAggregator.findEntry: entry-item: pos={}, extra-checks-result={}", pos, x); +// if (x != 0) +// continue; + if (log.isTraceEnabled()) + log.trace("CepEvalAggregator.findEntry: entry-item: pos={}, item-arr-hash={}, to-remove-arr-hash={}", pos, Arrays.hashCode(oArr), Arrays.hashCode(valArr)); + if (Arrays.hashCode(oArr) != Arrays.hashCode(valArr)) + continue; + log.trace("CepEvalAggregator.findEntry: END: FOUND-SAME-ARRAY-HASH: pos={}, to-remove={}", pos, value); + return pos; + } + + log.trace("CepEvalAggregator.findEntry: END: NOT FOUND: {}", value); + return -10; + } + + private static Integer _findEntry_extraChecks(Object[] valArr, Object[] oArr) { + for (int i = 0; i< oArr.length; i++) { + if (i>=2) { + if (oArr[i] instanceof EventMap && valArr[i] instanceof EventMap) { + if (((EventMap) oArr[i]).getEventId() != ((EventMap) valArr[i]).getEventId()) + return -4; + } else + if (oArr[i] instanceof Pair && valArr[i] instanceof Pair) { + log.trace("CepEvalAggregator._findEntry_extraChecks: oArr[{}]: {} / {}", i, oArr[i].getClass().getName(), oArr[i]); + log.trace("CepEvalAggregator._findEntry_extraChecks: valArr[{}]: {} / {}", i, valArr[i].getClass().getName(), valArr[i]); + Object e1 = ((Pair) oArr[i]).getFirst(); + Object e2 = ((Pair) valArr[i]).getFirst(); + log.trace("CepEvalAggregator._findEntry_extraChecks: e1: {} / {}", e1.getClass().getName(), e1); + log.trace("CepEvalAggregator._findEntry_extraChecks: e2: {} / {}", e2.getClass().getName(), e2); + if (e1 instanceof EventMap && e2 instanceof EventMap) { + log.trace("CepEvalAggregator._findEntry_extraChecks: e1 + e2 ARE EventMaps"); + log.trace("CepEvalAggregator._findEntry_extraChecks: e1-id: {}", ((EventMap) e1).getEventId()); + log.trace("CepEvalAggregator._findEntry_extraChecks: e2-id: {}", ((EventMap) e2).getEventId()); + if (((EventMap) e1).getEventId() != ((EventMap) e2).getEventId()) + return -5; + log.trace("CepEvalAggregator._findEntry_extraChecks: e1-id AND e2-id MATCH!!!"); + } else { + log.trace("CepEvalAggregator._findEntry_extraChecks: e1 + e2 ARE *NOT* EventMaps"); + return -6; + } + } else + { + return -7; + } + } + if (oArr[i].hashCode()!= valArr[i].hashCode()) + return -8; + } + return 0; + }*/ + + public Object getValue() { + log.debug("CepEvalAggregator.getValue(): BEGIN"); + + // Get an unmodifiable local copy of entries + Map _entries; + synchronized (entries) { +// _entries = Collections.unmodifiableList(entries); + _entries = Collections.unmodifiableMap(entries); + } + + if (_entries.size() == 0) { + log.debug("CepEvalAggregator.getValue(): END_0: aggregator-hash={}, result=0", hashCode()); + return 0; + } + + // get formula and stream names (they must be identical for all entries) +// Object[] first = _entries.get(0); + Object[] first = _entries.values().iterator().next(); + String formula = (String) first[0]; + String[] streamNames = ((String) first[1]).split(","); + + // initialize event lists for each stream + List> lists = new ArrayList<>(); + for (int i = 0; i < streamNames.length; i++) { + lists.add(new ArrayList<>()); + } + + // append events from entries into stream event lists + for (Object[] entry : _entries.values()) { + if (!entry[0].equals(formula) && !entry[1].equals(streamNames)) + throw new IllegalArgumentException("Aggregator entries do not contain the same formula or stream names in arguments #0 or #1"); + for (int i = 0; i < streamNames.length; i++) { + Object currentEntry = entry[i + 2]; + + // If entry is a Pair then extract first value (must be an EventMap or Map) + if (currentEntry instanceof Pair) { + Pair pair = (Pair)currentEntry; + Object firstInPair = ((Pair)currentEntry).getFirst(); + log.trace("CepEvalAggregator.getValue(): First: {} -- {}", pair.getFirst().getClass().getName(), pair.getFirst()); + log.trace("CepEvalAggregator.getValue(): Second: {} -- {}", pair.getSecond().getClass().getName(), pair.getSecond()); + if (firstInPair instanceof HashMap) + currentEntry = firstInPair; + } + + // Process entry + if (EventMap.class.isAssignableFrom(currentEntry.getClass())) { + lists.get(i).add((EventMap) currentEntry); + } else if (HashMap.class.isAssignableFrom(currentEntry.getClass())) { + EventMap eventMap = new EventMap(StrUtil.castToMapStringObject(currentEntry)); + lists.get(i).add(eventMap); + } else { + log.error("CepEvalAggregator.getValue(): ERROR: Event type is not supported: {}, Event:\n{}", + currentEntry.getClass().getName(), currentEntry); + throw new RuntimeException("Event type is not supported: " + currentEntry.getClass().getName()); + } + } + } + + // extract values from events + log.debug("CepEvalAggregator.getValue(): formula: {}", formula); + log.debug("CepEvalAggregator.getValue(): streams: {}", java.util.Arrays.asList(streamNames)); + log.debug("CepEvalAggregator.getValue(): stream-event-lists: {}", lists.size()); + List> dataLists = new ArrayList<>(); + for (int i = 0, n = lists.size(); i < n; i++) { + log.trace("CepEvalAggregator.getValue(): event-list-{}: {}", i, lists.get(i)); + //List data = lists.get(i).stream().map(event -> (Double) event.get("metricValue")).collect(Collectors.toList()); + List data = lists.get(i).stream().map(EventMap::getMetricValue).collect(Collectors.toList()); + log.trace("CepEvalAggregator.getValue(): data-list-{}: {}", i, data); + dataLists.add(data); + } + + // prepare arguments of MathParser + Map> args = new HashMap<>(); + for (int i = 0; i < streamNames.length; i++) { + args.put(streamNames[i].trim(), dataLists.get(i)); + } + log.debug("CepEvalAggregator.getValue(): stream-data-lists: {}", args); + + // use MathParser to evaluate formula using stream data lists + double result = MathUtil.evalAgg(formula, args); + log.debug("CepEvalAggregator.getValue(): END: aggregator-hash={}, result={}", hashCode(), result); + return result; + } + + + private void traceValue(String logPrefix, Object value, Object match, boolean listEntries) { + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: BEGIN: {}", logPrefix, value); + if (value==null) return; + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: CLASS: {}", logPrefix, value.getClass().getName()); + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: HASH: {}", logPrefix, value.hashCode()); + if (! (value instanceof Object[])) return; + Object[] oArr = (Object[])value; + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: SIZE: {}", logPrefix, oArr.length); + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: A-HASH: {}", logPrefix, Arrays.hashCode(oArr)); + int i=0; + for (Object oVal : oArr) { + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: ,,,,,,,,,,,,,,,,,,,,,,,,,,,", logPrefix); + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: ITEM: {}", logPrefix, i++); + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: VAL: {}", logPrefix, oVal); + if (oVal==null) continue; + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: CLASS: {}", logPrefix, oVal.getClass().getName()); + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: HASH: {}", logPrefix, oVal.hashCode()); + EventMap event = null; + if (oVal instanceof Pair) { + Pair p = (Pair)oVal; + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: 1-ST: {}", logPrefix, p.getFirst()); + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: 2-ND: {}", logPrefix, p.getSecond()); + traceValue(logPrefix+"-PAIR-1ST", p.getFirst(), null, false); + traceValue(logPrefix+"-PAIR-2ND", p.getSecond(), null, false); + if (p.getFirst() instanceof EventMap) event = (EventMap) p.getFirst(); + } + else if (oVal instanceof EventMap) event = (EventMap) oVal; + if (event!=null) + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: E-ID: {}", logPrefix, event.getEventId()); + else + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: NO EVENT: {}", logPrefix, oVal.getClass().getName()); + + if (match==null) continue; + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: MATCH-1: {}", logPrefix, oVal==match); + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: MATCH-2: {} =? {}", logPrefix, oVal.hashCode(), match.hashCode()); + } + log.trace("CepEvalAggregator.logValue: LOG-VALUE: {}: ,,,,,,,,,,,,,,,,,,,,,,,,,,,", logPrefix); + + if (listEntries) { + log.trace("CepEvalAggregator.logValue: LIST-ENTRIES: ----> ENTRIES: {}", entries.size()); + int j = 0; + for (Object arr : entries.values()) { + log.trace("CepEvalAggregator.logValue: LIST-ENTRIES: ----> ENTRY-{}: ------------------------------", j); + traceValue("LOG-VALUE-"+j, arr, null, false); + } + log.trace("CepEvalAggregator.logValue: LIST-ENTRIES: ----> ENTRY-END: ------------------------------"); + } + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepEvalAggregatorFactory.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepEvalAggregatorFactory.java new file mode 100644 index 0000000..a42d4ea --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepEvalAggregatorFactory.java @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.cep; + +import com.espertech.esper.client.hook.AggregationFunctionFactory; +import com.espertech.esper.collection.Pair; +import com.espertech.esper.epl.agg.aggregator.AggregationMethod; +import com.espertech.esper.epl.agg.service.common.AggregationValidationContext; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import lombok.extern.slf4j.Slf4j; + +import java.util.Arrays; +import java.util.Map; + +@Slf4j +public class CepEvalAggregatorFactory implements AggregationFunctionFactory { + + private String aggregatorFunctionName; + + public Class getValueType() { + return Double.class; + } + + public AggregationMethod newAggregator() { + return new CepEvalAggregator(); + } + + public void setFunctionName(String functionName) { + aggregatorFunctionName = functionName; + } + + public void validate(AggregationValidationContext validationContext) { + log.debug("CepEvalAggregatorFactory.validate(): BEGIN: validationContext: {}", validationContext); + Class[] paramType = validationContext.getParameterTypes(); + log.debug("CepEvalAggregatorFactory.validate(): param-types: {}", Arrays.asList(paramType)); + if (!paramType[0].equals(String.class)) { + log.error("CepEvalAggregatorFactory.validate(): Invalid argument #0 type in aggregator '" + aggregatorFunctionName + "'. Expected 'String' but found: " + paramType[0].getName()); + throw new IllegalArgumentException("CepEvalAggregatorFactory.validate(): Invalid argument #0 type in aggregator '"+aggregatorFunctionName+"'. Expected 'String' but found: "+paramType[0].getName()); + } + if (!paramType[1].equals(String.class)) { + log.error("CepEvalAggregatorFactory.validate(): Invalid argument #1 type in aggregator '" + aggregatorFunctionName + "'. Expected 'String' but found: " + paramType[1].getName()); + throw new IllegalArgumentException("CepEvalAggregatorFactory.validate(): Invalid argument #1 type in aggregator '"+aggregatorFunctionName+"'. Expected 'String' but found: "+paramType[1].getName()); + } + for (int i=2; i> ---------------------------------------------------------------------------"); + log.debug(">> eval(map): formula: {}", formula); + log.debug(">> eval(map): streams: {}", streamNames); + log.debug(">> eval(map): entries: {}", maps.length); + log.debug(">> eval(map): maps: {}", java.util.Arrays.asList(maps)); + + String[] names = streamNames.split(","); + if (names.length != maps.length) + throw new IllegalArgumentException("The num. of stream names provided is not equal to the num. of values provided"); + Map args = new HashMap<>(); + for (int i = 0; i < names.length; i++) { + String entryName = names[i].trim(); + Object entryValue = maps[i].get("metricValue"); + log.debug(">> eval(map): maps-entry: {} = {} / {}", entryName, entryValue, entryValue.getClass().getName()); + if (entryValue instanceof String) entryValue = Double.parseDouble((String)entryValue); + args.put(entryName, (Double) entryValue); + } + log.debug(">> eval(map): map-args: {}", args); + + double result = MathUtil.eval(formula, args); + log.debug(">> eval(map): result: {}", result); + + return result; + } + + public static double eval(String formula, String streamNames, Pair pair1) { + return _eval(formula, streamNames, pair1); + } + + public static double eval(String formula, String streamNames, Pair pair1, Pair pair2) { + return _eval(formula, streamNames, pair1, pair2); + } + + public static double eval(String formula, String streamNames, Pair pair1, Pair pair2, Pair pair3) { + return _eval(formula, streamNames, pair1, pair2, pair3); + } + + public static double eval(String formula, String streamNames, Pair pair1, Pair pair2, Pair pair3, Pair pair4) { + return _eval(formula, streamNames, pair1, pair2, pair3, pair4); + } + + public static double _eval(String formula, String streamNames, Pair... pairs) { + log.debug(">> ---------------------------------------------------------------------------"); + log.debug(">> eval(Pair): formula: {}", formula); + log.debug(">> eval(Pair): streams: {}", streamNames); + log.debug(">> eval(Pair): entries: {}", pairs.length); + log.debug(">> eval(Pair): values: {}", Arrays.asList(pairs)); + + String[] names = streamNames.split(","); + if (names.length != pairs.length) + throw new IllegalArgumentException("The num. of stream names provided is not equal to the num. of value pairs provided"); + Map args = new HashMap<>(); + for (int i = 0; i < names.length; i++) { + if (log.isTraceEnabled()) + log.trace(">> eval(Pair): LOOP: i={}, name={}, pair-1={}/{}, pair-2={}/{}", + i, names[i], + pairs[i].getFirst(), pairs[i].getFirst()==null ? null : pairs[i].getFirst().getClass().getName(), + pairs[i].getSecond(), pairs[i].getSecond()==null ? null : pairs[i].getSecond().getClass().getName()); + Object eventObj = pairs[i].getFirst(); + double value; + if (eventObj instanceof EventMap) + value = ((EventMap)eventObj).getMetricValue(); + else if (eventObj instanceof Map) + value = (double) (StrUtil.castToMapStringObject(eventObj)).get("metricValue"); + else if (eventObj instanceof Double) + value = (double) eventObj; + else + throw new IllegalArgumentException("Encountered unsupported Event type in Pair: "+eventObj.getClass().getName()+", event: "+eventObj); + args.put(names[i].trim(), value); + } + log.debug(">> eval(Pair): map-args: {}", args); + + double result = MathUtil.eval(formula, args); + log.debug(">> eval(Pair): result: {}", result); + + return result; + } + + public static double eval(String formula, String streamNames, double... v) { + log.debug(">> ---------------------------------------------------------------------------"); + log.debug(">> eval(double): formula: {}", formula); + log.debug(">> eval(double): streams: {}", streamNames); + log.debug(">> eval(double): entries: {}", v.length); + log.debug(">> eval(double): values: {}", v); + + String[] names = streamNames.split(","); + if (names.length != v.length) + throw new IllegalArgumentException("The num. of stream names provided is not equal to the num. of values provided"); + Map args = new HashMap<>(); + for (int i = 0; i < names.length; i++) args.put(names[i].trim(), v[i]); + log.debug(">> eval(double): map-args: {}", args); + + double result = MathUtil.eval(formula, args); + log.debug(">> eval(double): result: {}", result); + + return result; + } + + public static double evalMath(String formula, double...values) { + log.debug(">> ---------------------------------------------------------------------------"); + log.debug(">> evalMath: formula: {}", formula); + log.debug(">> evalMath: values: {}", values); + + // Get formula arguments + Set argNames = MathUtil.getFormulaArguments(formula); + log.debug(">> evalMath: arg-names: {}", argNames); + + // Check the number of arguments and the number of provided values match + if (argNames.size() != values.length) + throw new IllegalArgumentException(String.format( + "evalMath: The number of provided values do not match the number of formula arguments: #args=%d != #values=%d", + argNames.size(), values.length)); + + // Map values onto arguments, using the order of appearance (i.e. 1st value->1st arg, 2nd value->2nd arg...) + final AtomicInteger i = new AtomicInteger(0); + Map map = argNames.stream().collect(Collectors.toMap( + arg -> arg, arg -> values[ i.getAndIncrement() ] + )); + log.debug(">> evalMath: args-map: {}", map); + + double result = evalMath(formula, map); + log.debug(">> evalMath: result: {}", result); + return result; + } + + public static double evalMath(String formula, Map args) { + log.debug(">> ---------------------------------------------------------------------------"); + log.debug(">> evalMath: formula: {}", formula); + log.debug(">> evalMath: args-map: {}", args); + + double result = MathUtil.eval(formula, args); + log.debug(">> evalMath: result: {}", result); + return result; + } + + public static EventMap newEvent(double metricValue, String... params) { + return newEvent(metricValue, 1, params); + } + + public static EventMap newEvent(double metricValue, int level, String... params) { + log.debug(">> ---------------------------------------------------------------------------"); + log.debug(">> newEvent: metric-value: {}", metricValue); + log.debug(">> newEvent: params-length: {}", params.length); + + // Add metric value + EventMap event = new EventMap(metricValue, level, System.currentTimeMillis()); + + // Add extra parameters + for (int i = 0; i < params.length; i += 2) { + String paramName = params[i]; + String paramValue = params[i + 1]; + event.put(paramName, paramValue); + } + log.debug(">> newEvent: new-event: {}", event); + + return event; + } + +/* public static double eval(String formula, EPLMethodInvocationContext context) { + log.debug(">>>>>>>>>>>>>>>>>> formula: {}", formula); + log.debug(">>>>>>>>>>>>>>>>>> statement-name: {}", context.getStatementName()); + String stmtName = context.getStatementName(); + EPStatement stmt = CepExtensions.cepService.getStatementByName(stmtName); + String stmtText = stmt.getText(); + log.debug(">>>>>>>>>>>>>>>>>> statement-text: {}", stmtText); + + log.debug(">>>>>>>>>>>>>>>>>> statement-streams: {}", CepExtensions.cepService.getStatementStreams(stmtText) ); + + double value = -100*Math.random(); + log.debug(">>>>>>>>>>>>>>>>>> EVAL RESULT: {}", value); + return value; + }*/ + + public static Object prop(Object eventObj, String propertyName) { + return prop(eventObj, propertyName, null); + } + + public static Object prop(Object eventObj, String propertyName, Object defaultValue) { + EventMap event = eventObj instanceof EventMap ? ((EventMap) eventObj) : null; + log.debug(">> ---------------------------------------------------------------------------"); + log.debug(">> prop: event-object: {}", eventObj); + log.debug(">> prop: event-class: {}", eventObj!=null ? eventObj.getClass() : null); + log.debug(">> prop: event-map: {}", event); + log.debug(">> prop: property: {}", propertyName); + + // Retrieve event property + Object ret = null; + if (event!=null) { + Map props = event.getEventProperties(); + if (props != null) { + log.debug(">> prop: properties: {}", props); + ret = props.getOrDefault(propertyName, defaultValue); + defaultValue = null; + } + } + if (ret==null) ret = defaultValue; + log.debug(">> prop: value: {}", ret); + return ret; + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepExtensions.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepExtensions.java new file mode 100644 index 0000000..9344afb --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepExtensions.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.cep; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.stereotype.Service; + +/** + * This class registers a few Single-Row Functions as EPL extensions. + * Registered function implementations reside in CepEvalFunction and CepEvalAggregator classes. + * This class is instantiated automatically by Spring-Boot (no need for explicit instantiation) + */ +@Slf4j +@Service +public class CepExtensions { + + // Register Single-Row Functions methods + + @Autowired + public CepExtensions(ApplicationContext appContext) { + CepService cepService = appContext.getBean(CepService.class); + cepService.addSingleRowFunction("EVAL", CepEvalFunction.class.getName(), "eval"); + cepService.addSingleRowFunction("MATH", CepEvalFunction.class.getName(), "evalMath"); + cepService.addSingleRowFunction("NEWEVENT", CepEvalFunction.class.getName(), "newEvent"); + cepService.addSingleRowFunction("PROP", CepEvalFunction.class.getName(), "prop"); + cepService.addAggregatorFunction("EVALAGG", CepEvalAggregatorFactory.class.getName()); + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepService.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepService.java new file mode 100644 index 0000000..0447b29 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/CepService.java @@ -0,0 +1,224 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.cep; + +import com.espertech.esper.client.*; +import com.google.gson.Gson; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.util.FunctionDefinition; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class CepService implements InitializingBean { + + private final Gson gson; + + /** + * Esper service + */ + private EPServiceProvider epService; + + @Override + public void afterPropertiesSet() { + log.debug("CepService: Configuring CEP Service..."); + initService(); + } + + /** + * Start Esper Service + */ + public void initService() { + log.debug("CepService: Initializing CEP Service..."); + Configuration config = new Configuration(); + epService = EPServiceProviderManager.getDefaultProvider(config); + } + + /** + * Dynamic registration of new Event Type using property name and property type arrays + */ + public synchronized void addEventType(String eventTypeName, String[] properties, Class[] propertyTypes) { + log.debug("CepService: Register new Event Type: name={}, properties={}, property-types={}", eventTypeName, properties, propertyTypes); + Map eventTypeDef = new HashMap(); + for (int i = 0; i < properties.length; i++) { + eventTypeDef.put(properties[i], propertyTypes[i]); + } + epService.getEPAdministrator().getConfiguration().addEventType(eventTypeName, eventTypeDef); + } + + /** + * Dynamic registration of new Event Type using event type class + */ + public synchronized void addEventType(String eventTypeName, Class eventType) { + log.debug("CepService: Register new Event Type: name={}, event-type={}", eventTypeName, eventType); + epService.getEPAdministrator().getConfiguration().addEventType(eventTypeName, eventType); + } + + /** + * Clear all registered Event Types + */ + public synchronized void clearEventTypes() { + log.info("CepService: Clear registered Event Types"); + ConfigurationOperations co = epService.getEPAdministrator().getConfiguration(); + EventType[] types = co.getEventTypes(); + for (EventType t : types) { + boolean removed = co.removeEventType(t.getName(), true); + log.info("CepService: Event Type: {} --> removed={}", t.getName(), removed); + } + } + + /** + * Dynamic registration of new EPL statements and corresponding subscribers + */ + public synchronized void addStatementSubscriber(StatementSubscriber subscriber) { + log.debug("CepService: Register EPL statement and subscriber: {}", subscriber.getName()); + String statementStr = subscriber.getStatement(); + log.debug("CepService: EPL statement: {}", statementStr); + EPStatement eventStatement = epService.getEPAdministrator().createEPL(statementStr, subscriber.getName()); + eventStatement.setSubscriber(subscriber); + } + + /** + * Dynamic de-registration of existing EPL statements and corresponding subscribers + */ + public synchronized void removeStatementSubscriber(StatementSubscriber subscriber) { + EPStatement stmt = epService.getEPAdministrator().getStatement(subscriber.getName()); + stmt.stop(); + stmt.destroy(); + } + + /** + * Clear all registered Statements + */ + public synchronized void clearStatements() { + log.info("CepService: Clear registered Statements"); + epService.getEPAdministrator().destroyAllStatements(); + } + + /** + * Get statement by name + */ + public EPStatement getStatementByName(String stmtName) { + log.debug("CepService.getStatementByName(): statement-name={}", stmtName); + return epService.getEPAdministrator().getStatement(stmtName); + } + + /** + * Handle the incoming event as Map + */ + public void handleEvent(Map event, String eventType) { + log.debug("CepService.handleEvent(): type={}, event={}", eventType, event.toString()); + EventMap.checkEvent(event); + epService.getEPRuntime().sendEvent(event, eventType); + } + + /** + * Handle the incoming event as String + */ + public void handleEvent(String event, String eventType) { + log.debug("CepService.handleEvent(): type={}, event={}", eventType, event); + EventMap eventMap = EventMap.parseEventMap(event); + log.trace("CepService.handleEvent(): event-map={}", eventMap); + epService.getEPRuntime().sendEvent(eventMap, eventType); + } + + /** + * Handle the incoming event as Object + */ + public void handleEvent(Object event) { + log.debug("CepService.handleEvent(): event={}", event); + EventMap.checkEvent(StrUtil.castToMapStringObject(event)); + epService.getEPRuntime().sendEvent(event); + } + + /** + * Add a user-defined aggregator function in Esper + */ + public void addAggregatorFunction(String functionName, String aggregationFactoryClassName) { + log.debug("CepService.addAggregatorFunction(): function={}, aggregator-factory-class={}", functionName, aggregationFactoryClassName); + epService.getEPAdministrator().getConfiguration().addPlugInAggregationFunctionFactory(functionName, aggregationFactoryClassName); + } + + /** + * Add a user-defined single-row function in Esper + */ + public void addSingleRowFunction(String functionName, String className, String methodName) { + log.debug("CepService.addSingleRowFunction(): function={}, class={}, method={}", functionName, className, methodName); + /*epService.getEPAdministrator().getConfiguration().addPlugInSingleRowFunction(functionName, className, methodName, + com.espertech.esper.client.ConfigurationPlugInSingleRowFunction.ValueCache.CONFIGURED, //enum: ENABLED, DISABLED, CONFIGURED + com.espertech.esper.client.ConfigurationPlugInSingleRowFunction.FilterOptimizable.ENABLED, //enum: ENABLED, DISABLED + true // re-throw exceptions + );*/ + com.espertech.esper.client.ConfigurationPlugInSingleRowFunction entry = new com.espertech.esper.client.ConfigurationPlugInSingleRowFunction(); + entry.setName(functionName); + entry.setFunctionClassName(className); + entry.setFunctionMethodName(methodName); + entry.setRethrowExceptions(true); + epService.getEPAdministrator().getConfiguration().addPlugInSingleRowFunction(entry); + } + + /** + * Get statement streams (i.e. FROM clause stream names. Non-named streams (those without AS) return 'null') + */ + public List getStatementStreams(String statementText) { + log.debug("CepService.getStatementStreams(): statement={}", statementText); + return epService.getEPAdministrator().compileEPL(statementText).getFromClause().getStreams().stream().map(stream -> stream.getStreamName()).collect(Collectors.toList()); + } + + /** + * Add a function definition in MathParser + */ + public void addFunctionDefinition(FunctionDefinition functionDef) { + log.debug("CepService.addFunctionDefinition(): Add new function definition: {}", functionDef); + MathUtil.addFunctionDefinition(functionDef); + } + + /** + * Clear function definitions in MathParser + */ + public void clearFunctionDefinitions() { + log.debug("CepService.clearFunctionDefinitions(): Clear function definitions"); + MathUtil.clearFunctionDefinitions(); + } + + /** + * Add/Set a constant in MathParser + */ + public void setConstant(String constName, double constValue) { + log.debug("CepService.setConstant(): Add/Set constant: name={}, value={}", constName, constValue); + MathUtil.setConstant(constName, constValue); + } + + /** + * Add/Set constants in a map, in MathParser + */ + public void setConstants(Map constants) { + log.debug("CepService.setConstants(): Add/Set constants in map: {}", constants); + MathUtil.setConstants(constants); + } + + /** + * Clear constants in MathParser + */ + public void clearConstants() { + log.debug("CepService.clearConstants(): Clear constants"); + MathUtil.clearConstants(); + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/MathUtil.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/MathUtil.java new file mode 100644 index 0000000..9992666 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/MathUtil.java @@ -0,0 +1,257 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.cep; + +import gr.iccs.imu.ems.util.FunctionDefinition; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.mariuszgromada.math.mxparser.Constant; +import org.mariuszgromada.math.mxparser.Expression; +import org.mariuszgromada.math.mxparser.Function; +import org.mariuszgromada.math.mxparser.mXparser; +import org.mariuszgromada.math.mxparser.parsertokens.FunctionVariadic; +import org.mariuszgromada.math.mxparser.parsertokens.Token; + +import java.util.*; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +@Slf4j +public class MathUtil { + private static Map functions = new HashMap<>(); + private static Map constants = new HashMap<>(); + + // ------------------------------------------------------------------------ + + public static void addFunctionDefinition(FunctionDefinition functionDef) { + log.debug("MathUtil: Add new function definition: {}", functionDef); + String argsStr = String.join(", ", functionDef.getArguments()); + //String defStr = String.format("%(%s) = %s", functionDef.getName(), argsStr, functionDef.getExpression()); + String defStr = functionDef.getName() + "(" + argsStr + ") = " + functionDef.getExpression(); + log.debug("MathUtil: definition-string: {}", defStr); + Function func = new Function(defStr); + functions.put(functionDef.getName(), func); + } + + public static void clearFunctionDefinitions() { + log.debug("MathUtil: Clear function definitions"); + functions.clear(); + } + + // ------------------------------------------------------------------------ + + public static void setConstant(String constantName, double constantValue) { + log.debug("MathUtil: Set constant: name={}, value={}", constantName, constantValue); + Constant con = new Constant(constantName, constantValue); + constants.put(constantName, con); + } + + public static void setConstants(Map constantsMap) { + log.debug("MathUtil: Add constants using map: {}", constantsMap); + //constantsMap.entrySet().stream().forEach(c -> setConstant(c.getKey(), c.getValue())); + constantsMap.forEach(MathUtil::setConstant); + } + + public static void clearConstants() { + log.debug("MathUtil: Clear constants"); + constants.clear(); + } + + // ------------------------------------------------------------------------ + + public static @NonNull Set getFormulaArguments(String formula) { + log.debug("MathUtil: getFormulaArguments: formula={}", formula); + if (StringUtils.isBlank(formula)) { + log.debug("MathUtil: getFormulaArguments: Formula is null or empty"); + return Collections.emptySet(); + } + + // Create MathParser expression + Expression e = new Expression(formula); + //e.setVerboseMode(); + log.trace("MathUtil: getFormulaArguments: expression={}", e.getExpressionString()); + + Set argNames = extractArgNames(e); + log.debug("MathUtil: getFormulaArguments: arguments={}", argNames); + + return argNames; + } + + private static @NonNull Set extractArgNames(Expression e) { + + List initTokens = extractFormulaTokens(e); + + Set argNames = initTokens.stream() + .filter(t -> t.tokenTypeId == Token.NOT_MATCHED) + .filter(t -> "argument".equals(t.looksLike)) + .map(t -> t.tokenStr) + .collect(Collectors + .toCollection(LinkedHashSet::new)); + log.debug("MathUtil: initial-token-names: {}", argNames); + + return argNames; + } + + private static @NonNull List extractFormulaTokens(Expression e) { + // Add constants + e.addConstants(new ArrayList<>(constants.values())); + + // Add functions + for (Function f : functions.values()) e.addFunctions(f); + + // Check syntax + boolean lexSyntax = e.checkLexSyntax(); + boolean genSyntax = e.checkSyntax(); + if (log.isTraceEnabled()) { + log.trace("MathUtil: lexSyntax={}, genSyntax: {}", lexSyntax, genSyntax); + log.trace("MathUtil: syntax-status={}, error={}", e.getSyntaxStatus(), e.getErrorMessage()); + } + + // Get token names + List initTokens = e.getCopyOfInitialTokens(); + log.debug("MathUtil: initial-tokens={}", initTokens); + if (log.isTraceEnabled()) { + mXparser.consolePrintTokens(initTokens); + } + + return initTokens; + } + + // ------------------------------------------------------------------------ + + public static boolean containsAggregator(String formula) { + log.debug("MathUtil: containsAggregator: formula={}", formula); + if (StringUtils.isBlank(formula)) { + log.debug("MathUtil: containsAggregator: Formula is null or empty"); + return false; + } + + // Create MathParser expression + Expression e = new Expression(formula); + //e.setVerboseMode(); + log.trace("MathUtil: containsAggregator: expression={}", e.getExpressionString()); + + // Get formula tokens + List initTokens = extractFormulaTokens(e); + + // Select 'function' names from tokens + List names = initTokens.stream() + .filter(t -> t.tokenTypeId == FunctionVariadic.TYPE_ID) + .map(t -> t.tokenStr) + .collect(Collectors.toList()); + log.trace("MathUtil: containsAggregator: formula-aggregator-functions: {}", names); + + // Check if aggregators exist + boolean containsAgg = names.size() > 0; + if (containsAgg) + log.debug("MathUtil: containsAggregator: Formula contains aggregators: aggregators={}, formula={}", names, formula); + else + log.debug("MathUtil: containsAggregator: Formula does not contain aggregators: {}", formula); + return containsAgg; + } + + // ------------------------------------------------------------------------ + + protected final static String[] aggregatorNames = {"iff", "min", "max", "ConFrac", "ConPol", "gcd", "lcm", "add", "multi", "mean", "var", "std", "rList"}; + + public static boolean containsAggregatorRegexp(String formula) { + log.debug("MathUtil: containsAggregatorRegexp: formula={}", formula); + if (StringUtils.isBlank(formula)) { + log.debug("MathUtil: containsAggregatorRegexp: Formula is null or empty"); + return false; + } + formula = " " + formula; + for (int i = 0; i < aggregatorNames.length; i++) { + log.trace("MathUtil: containsAggregatorRegexp: checking aggregator: aggregator={}, formula={}", aggregatorNames[i], formula); + if (checkPattern(formula, aggregatorNames[i])) { + log.debug("MathUtil: containsAggregatorRegexp: Formula contains aggregators: aggregator={}, formula={}", aggregatorNames[i], formula); + return true; + } + } + log.debug("MathUtil: containsAggregatorRegexp: Formula does not contain aggregators: formula={}", formula); + return false; + } + + protected static boolean checkPattern(String formula, String aggregatorName) { + int flags = Pattern.CASE_INSENSITIVE; + Pattern pat = Pattern.compile(String.format("[^a-zA-Z]%s[^a-zA-Z]", aggregatorName), flags); + return pat.matcher(formula).find(); + } + + // ------------------------------------------------------------------------ + + public static double evalAgg(String formula, Map> argsMap) { + log.debug("MathUtil: evalAgg: input: formula={}, arg-map={}", formula, argsMap); + int iter = 0; + for (Map.Entry> arg : argsMap.entrySet()) { + log.debug("MathUtil: evalAgg: iteration #{}: arg={}", iter, arg); + String argName = arg.getKey(); + List argValue = arg.getValue(); + log.debug("MathUtil: evalAgg: iteration #{}: arg-name={}, arg-value={}", iter, argName, argValue); + String valStr = argValue.stream().map(value -> value.toString()).collect(Collectors.joining(", ")); + log.debug("MathUtil: evalAgg: iteration #{}: arg-name={}, arg-value-str={}", iter, argName, valStr); + + formula = formula.replaceAll(argName, valStr); + iter++; + } + log.debug("MathUtil: evalAgg: formula-to-evaluate: {}", formula); + + return eval(formula, new java.util.HashMap<>()); + } + + public static double eval(String formula, Map argsMap) { + // Create MathParser expression + Expression e = new Expression(formula); + //e.setVerboseMode(); + log.debug("MathUtil: formula={}", e.getExpressionString()); + + // Get argument names + Set argNames = extractArgNames(e); + + // Define expression arguments with user provided values + //e.removeAllArguments(); + for (String argName : argNames) { + try { + log.debug("MathUtil: Defining Arg: {}", argName); + double argValue = argsMap.get(argName); + e.defineArgument(argName, argValue); + log.debug("MathUtil: Arg: {} = {}", argName, argValue); + } catch (Exception ex) { + log.error("MathUtil: Defining Arg: EXCEPTION: arg-name={}, args-map={}", argName, argsMap); + throw ex; + } + } + boolean genSyntax = e.checkSyntax(); + if (!genSyntax) + throw new IllegalArgumentException("Syntax error in expression: " + e.getErrorMessage()); + + // Calculate result + double result = e.calculate(); + log.debug("MathUtil: Result={}, computing-time={}, error={}", result, e.getComputingTime(), e.getErrorMessage()); + + if (Double.isInfinite(result) || Double.isNaN(result)) { + log.warn("MathUtil: ------------------------------------------------------------------------"); + log.warn("MathUtil: Result is NaN or Infinite: result={}", result); + log.warn("MathUtil: Context: formula: {}", formula); + log.warn("MathUtil: Context: args-map: {}", argsMap); + log.warn("MathUtil: Context: constants: {}", constants.entrySet().stream().collect(Collectors.toMap( + Map.Entry::getKey, x->x.getValue().getConstantValue() + ))); + log.warn("MathUtil: Context: functions: {}", functions.entrySet().stream().collect(Collectors.toMap( + Map.Entry::getKey, x->x.getValue().getFunctionExpressionString() + ))); + log.warn("MathUtil: ------------------------------------------------------------------------"); + throw new IllegalStateException("MathUtil.eval result is NaN or Infinite: "+result); + } + + return result; + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/StatementSubscriber.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/StatementSubscriber.java new file mode 100644 index 0000000..f5e2eec --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/cep/StatementSubscriber.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.cep; + +/** + * A convenience interface to let us easily contain the Esper statements with the Subscribers - + * just for clarity so it's easy to see the statements the subscribers are registered against. + */ +public interface StatementSubscriber { + + /** + * Get the Subscriber name. + * + * @return Subscriber name + */ + String getName(); + + /** + * Get the EPL Statement the Subscriber will listen to. + * + * @return EPL Statement + */ + String getStatement(); +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/event/EventMap.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/event/EventMap.java new file mode 100644 index 0000000..c38b5ff --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/event/EventMap.java @@ -0,0 +1,249 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.event; + +import com.google.gson.Gson; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; + +import java.io.Serializable; +import java.util.*; +import java.util.concurrent.atomic.AtomicLong; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Data +@Slf4j +@NoArgsConstructor +@EqualsAndHashCode(callSuper = false) +public class EventMap extends LinkedHashMap implements Serializable { + + private static Gson gson; + private static AtomicLong eventIdSequence = new AtomicLong(0); + + // Standard/Known Event fields configuration + @Data + public static class EventField { + private final String name; + private final Class type; + private final boolean nullable; + private final boolean skipIfNull; + private final Function parser; + private final Function defaultValue; + } + + public final static String METRIC_VALUE_NAME = "metricValue"; + public final static String LEVEL_NAME = "level"; + public final static String TIMESTAMP_NAME = "timestamp"; + + public final static List STANDARD_EVENT_FIELDS = Collections.unmodifiableList(Arrays.asList( + new EventField(METRIC_VALUE_NAME, Double.class, false, false, Double::parseDouble, null), + new EventField(LEVEL_NAME, Integer.class, true, true, (v)->(int)Double.parseDouble(v), null), + new EventField(TIMESTAMP_NAME, Long.class, true, true, v->(long)Double.parseDouble(v), (f)->System.currentTimeMillis()) + )); + + public final static Map STANDARD_EVENT_FIELDS_MAP = Collections.unmodifiableMap( + STANDARD_EVENT_FIELDS.stream().collect(Collectors.toMap(EventField::getName, x->x))); + + public final static String[] PROPERTY_NAMES_ARRAY = STANDARD_EVENT_FIELDS.stream() + .map(EventField::getName).collect(Collectors.toList()).toArray(new String[0]); + public final static Class[] PROPERTY_CLASSES_ARRAY = STANDARD_EVENT_FIELDS.stream() + .map(EventField::getType).collect(Collectors.toList()).toArray(new Class[0]); + + public static String[] getPropertyNames() { + return PROPERTY_NAMES_ARRAY; + } + + public static Class[] getPropertyClasses() { + return PROPERTY_CLASSES_ARRAY; + } + + + // Event Id + private final long eventId = eventIdSequence.getAndIncrement(); + + // Event properties + private Map eventProperties; + + public Object getEventProperty(@NonNull String name) { + return eventProperties.get(name); + } + + public synchronized Object setEventProperty(@NonNull String name, Object value) { + if (eventProperties == null) eventProperties = new LinkedHashMap<>(); + return eventProperties.put(name, value); + } + + // Constructors + /*public EventMap() { + super(); + put(TIMESTAMP_NAME, System.currentTimeMillis()); + }*/ + + public EventMap(Map map) { + checkEvent(map); + map.forEach((k, v) -> { + log.trace("EventMap.: key={}, value={}", k, v); + this.put(k, v); + }); + if (map instanceof EventMap) { + Map properties = ((EventMap) map).getEventProperties(); + if (properties!=null && properties.size()>0) + setEventProperties(new LinkedHashMap<>(properties)); + } + checkEvent(); + } + + public EventMap(double metricValue) { + put(METRIC_VALUE_NAME, metricValue); + put(TIMESTAMP_NAME, System.currentTimeMillis()); + checkEvent(); + } + + public EventMap(double metricValue, long timestamp) { + put(METRIC_VALUE_NAME, metricValue); + put(TIMESTAMP_NAME, timestamp); + checkEvent(); + } + + public EventMap(double metricValue, int level, long timestamp) { + put(METRIC_VALUE_NAME, metricValue); + put(LEVEL_NAME, level); + put(TIMESTAMP_NAME, timestamp); + checkEvent(); + } + + + // Convert Object to EventMap + public static EventMap toEventMap(@NonNull Object o) { + if (o instanceof EventMap) return (EventMap) o; + if (o instanceof Map) return new EventMap(StrUtil.castToMapStringObject(o) ); + return parseEventMap(o.toString()); + } + + // Parse from string + public static EventMap parseEventMap(@NonNull String s) { + /*if (s==null) return null; + s = s.trim(); + if (s.isEmpty()) return null; + if (s.startsWith("{") && s.endsWith("}")) s = s.substring(1, s.length()-1).trim(); + String[] pairs = s.split(","); + EventMap eventMap = new EventMap(); + for (String pair : pairs) { + if (StringUtils.isBlank(pair)) + continue; + String[] kv = pair.split("[:=]", 2); + if (kv.length==2) + eventMap.put(kv[0], kv[1]); + else + eventMap.put(kv[0], null); + } + return eventMap; + */ + EventMap eventMap = gson.fromJson(s, EventMap.class); + eventMap.checkEvent(); + return eventMap; + } + + public void checkEvent() { + checkEvent(this); + } + + public static void checkEvent(Map map) { + // Check metric value + Object m = map.get(METRIC_VALUE_NAME); + if (m==null) throw new IllegalArgumentException("Argument does not contain a 'metricValue'"); + if (!(m instanceof Number n)) throw new IllegalArgumentException("Argument contains a non-numeric 'metricValue' : "+m); + else { + double d = n.doubleValue(); + if (Double.isInfinite(d) || Double.isNaN(d)) throw new IllegalArgumentException("Argument contains NaN or Infinite 'metricValue' : "+m); + } + // Check level value + // Check timestamp value + } + + + // Methods overridden + @Override + public Object put(String key, Object value) { + log.trace("EventMap.put(): BEGIN: key={}, value={}", key, value); + key = removeQuotes(key); + log.trace("EventMap.put(): KEY with Quotes Stripped: key={}", key); + + // Process known (standard) event fields + EventField field = STANDARD_EVENT_FIELDS_MAP.get(key); + if (field!=null) { + log.trace("EventMap.put(): STANDARD_EVENT_FIELD: key={}, value={}", key, value); + if (value==null) { + if (!field.isNullable()) + throw new NullPointerException("Event field cannot be null: " + key); + if (field.isSkipIfNull()) return null; + value = field.getDefaultValue().apply(this); + log.debug("EventMap.put(): Assigned default value to: key={}, value={}", key, value); + } + if (!field.getType().isInstance(value)) { + log.trace("EventMap.put(): Value type is different than Event field type: key={}, value={}, value-type={}, field-type={}", + key, value, value.getClass().getName(), field.getType().getName()); + value = field.getParser().apply(removeQuotes(value)); + log.debug("EventMap.put(): Value after parsing: key={}, value={}, value-type={}, field-type={}", + key, value, value.getClass().getName(), field.getType().getName()); + } + } + + log.trace("EventMap.put(): Putting in EventMap: key={}, value={}", key, value); + return super.put(key, value); + } + + protected static String removeQuotes(@NonNull Object o) { + String s = o.toString(); + int l = s.length()-1; + s = (s.charAt(0)=='"' && s.charAt(l)=='"' || s.charAt(0)=='\'' && s.charAt(l)=='\'') + ? s.substring(1, l) : s; + log.trace("EventMap.removeQuotes(): INPUT={}, RESULT={}", o, s); + return s; + } + + // Getters for standard event fields + public double getMetricValue() { + Object v = get(METRIC_VALUE_NAME); + if (v==null) + throw new NullPointerException("No '"+METRIC_VALUE_NAME+"' found in EventMap: "+this); + if (v instanceof Double) return (Double) v; + if (v instanceof Number) return ((Number)v).doubleValue(); + return Double.parseDouble(removeQuotes(v)); + } + + public long getTimestamp() { + Object v = get(TIMESTAMP_NAME); + if (v==null) + throw new NullPointerException("No '"+TIMESTAMP_NAME+"' found in EventMap: "+this); + if (v instanceof Long) return (Long) v; + if (v instanceof Number) return ((Number)v).longValue(); + return Long.parseLong(removeQuotes(v)); + } + + public Map getPayload() { + return new LinkedHashMap<>(this); + } + + public String toString() { + return getEventProperties()!=null + ? "{ payload: "+super.toString() + ", properties: " + getEventProperties().toString() + " }" + : super.toString(); + } + + public String toJsonString() { + return gson.toJson(this); + } +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/event/EventRecorder.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/event/EventRecorder.java new file mode 100644 index 0000000..c9c7a64 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/event/EventRecorder.java @@ -0,0 +1,294 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.event; + +import com.fasterxml.jackson.core.JsonFactory; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; +import gr.iccs.imu.ems.brokercep.properties.BrokerCepProperties; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.commons.csv.CSVFormat; +import org.apache.commons.csv.CSVPrinter; +import org.springframework.scheduling.TaskScheduler; + +import javax.jms.*; +import javax.jms.Queue; +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.io.IOException; +import java.io.Serializable; +import java.lang.IllegalStateException; +import java.time.Duration; +import java.util.*; +import java.util.concurrent.ConcurrentLinkedDeque; +import java.util.concurrent.ScheduledFuture; + +@Slf4j +public class EventRecorder extends LinkedHashMap implements Runnable { + public enum FORMAT { JSON, CSV } + + private final static Object staticLock = new Object(); + public static Set activeEventRecorders; + + @Getter + private final FORMAT recordFormat; + @Getter + private final String recordFilePattern; + @Getter + private final BrokerCepProperties.EVENT_RECORDER_FILTER_MODE filterMode; + @Getter + private final List allowedDestinations; + + @Getter + private String recordFile; + @Getter + private boolean closed; + @Getter + private boolean recording; + + private BufferedWriter recordWriter; + private CSVPrinter csvPrinter; + private JsonGenerator jsonGenerator; + + private final Deque eventQueue; + private final TaskScheduler scheduler; + private ScheduledFuture runnerFuture; + + public EventRecorder(@NonNull BrokerCepProperties.EventRecorderProperties properties, @NonNull TaskScheduler scheduler) throws IOException { + this(properties.getFormat(), properties.getFile(), properties.getFilterMode(), properties.getAllowedDestinations(), scheduler); + } + + public EventRecorder(@NonNull FORMAT recordFormat, @NonNull String recordFilePattern, BrokerCepProperties.EVENT_RECORDER_FILTER_MODE filterMode, List allowedDestinations, @NonNull TaskScheduler scheduler) throws IOException { + this.recordFormat = recordFormat; + this.recordFilePattern = recordFilePattern; + this.filterMode = filterMode; + this.allowedDestinations = allowedDestinations==null ? Collections.emptyList() : Collections.unmodifiableList(allowedDestinations); + this.scheduler = scheduler; + this.eventQueue = new ConcurrentLinkedDeque<>(); + + registerShutdownHook(); + rotate(); + } + + public static void registerShutdownHook() { + if (activeEventRecorders==null) { + synchronized (staticLock) { + if (activeEventRecorders==null) { + activeEventRecorders = new HashSet<>(); + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + log.info("EventRecorder: closing active recorders: {}", activeEventRecorders.size()); + for (EventRecorder eventRecorder : activeEventRecorders) { + if (!eventRecorder.isClosed()) + eventRecorder.close(); + } + log.info("EventRecorder: Closed active recorders"); + })); + } + } + } + } + + public synchronized void rotate() throws IOException { + // Close current recording file + if (recordFile!=null && !isClosed()) { + close(); + } + closed = false; + + // Create new recording file + this.recordFile = recordFilePattern + .replace("%T", "" + System.currentTimeMillis()) + .replace("%S", getSuffix()); + this.recordWriter = new BufferedWriter(new FileWriter(recordFile)); + + //log.info("EventRecorder: Record format: {}", recordFormat); + //log.info("EventRecorder: Record file: {}", recordFile); + log.info("EventRecorder: Record format: {}, Record file: {}", recordFormat, recordFile); + + if (recordFormat==FORMAT.CSV) { + csvPrinter = new CSVPrinter(recordWriter, CSVFormat.DEFAULT + .withHeader("Timestamp", "Destination", "Mime", "Type", "Contents", "Properties")); + csvPrinter.flush(); + } + if (recordFormat==FORMAT.JSON) { + jsonGenerator = new JsonFactory() + .createGenerator(recordWriter) + .setPrettyPrinter(new DefaultPrettyPrinter()); + jsonGenerator.writeStartArray(); + jsonGenerator.flush(); + } + + // Start processing loop + runnerFuture = scheduler.scheduleAtFixedRate(this, Duration.ofMillis(1000)); + activeEventRecorders.add(this); + + startRecording(); + } + + private String getSuffix() { + if (recordFormat==FORMAT.JSON) return "json"; + if (recordFormat==FORMAT.CSV) return "csv"; + throw new IllegalStateException("No suffix for FORMAT: "+recordFormat); + } + + public synchronized void close() { + if (closed) throw new IllegalStateException("EventRecorder has already been closed"); + if (recording) stopRecording(); + this.closed = true; + runnerFuture.cancel(false); + activeEventRecorders.remove(this); + + // wait until all records are written in the file + while (!eventQueue.isEmpty()) { + run(); + } + + // close record file + try { + if (recordFormat == FORMAT.CSV) { + csvPrinter.close(true); + } + if (recordFormat == FORMAT.JSON) { + jsonGenerator.writeEndArray(); + jsonGenerator.close(); + } + recordWriter.close(); + } catch (Exception ex) { + log.warn("EventRecorder: Exception while closing: ", ex); + } + } + + public void startRecording() { + if (closed) throw new IllegalStateException("EventRecorder has been closed"); + if (!recording) { + log.info("EventRecorder: Start recording..."); + recording = true; + } + } + + public void stopRecording() { + if (closed) throw new IllegalStateException("EventRecorder has been closed"); + if (recording) { + log.info("EventRecorder: Stop recording..."); + recording = false; + } + } + + public void recordEvent(@NonNull ActiveMQMessage message) throws JMSException { + recordAllowedEvent(message); + } + + public void recordAllowedEvent(@NonNull Message message) throws JMSException { + if (filterMode == BrokerCepProperties.EVENT_RECORDER_FILTER_MODE.ALL + || filterMode == BrokerCepProperties.EVENT_RECORDER_FILTER_MODE.ALLOWED + && allowedDestinations.stream().anyMatch(getDestinationName(message)::equalsIgnoreCase)) + { + eventQueue.addLast(message); + } + } + + public void recordRegisteredEvent(@NonNull Message message) { + if (filterMode==BrokerCepProperties.EVENT_RECORDER_FILTER_MODE.REGISTERED) { + eventQueue.addLast(message); + } + } + + public void run() { + if (!closed) { + while (!eventQueue.isEmpty()) { + try { + processEvent(eventQueue.removeLast()); + } catch (Exception ex) { + log.warn("EventRecorder: Exception while processing event queue: ", ex); + } + } + } + } + + protected void processEvent(Message message) throws IOException, JMSException { + String messageId = message.getJMSMessageID(); + long timestamp = message.getJMSTimestamp(); + String destinationName = getDestinationName(message); + String mime = message.getJMSType(); + + // Extract event payload and type + PayloadAndType payloadAndType = extractPayloadAndType(message); + String content = payloadAndType.payload; + String type = payloadAndType.type; + + // Extract event properties + String properties = extractProperties(message); + + if (recordFormat==FORMAT.CSV) { + csvPrinter.printRecord(timestamp, destinationName, mime, type, content, properties); + csvPrinter.flush(); + } + if (recordFormat==FORMAT.JSON) { + jsonGenerator.writeStartObject(); + jsonGenerator.writeStringField("id", messageId); + jsonGenerator.writeNumberField("timestamp", timestamp); + jsonGenerator.writeStringField("destination", destinationName); + jsonGenerator.writeStringField("mime", mime); + jsonGenerator.writeStringField("type", type); + jsonGenerator.writeStringField("content", content); + jsonGenerator.writeStringField("properties", properties); + jsonGenerator.writeEndObject(); + jsonGenerator.flush(); + } + } + + protected String getDestinationName(Message message) throws JMSException { + Destination d = message.getJMSDestination(); + if (d instanceof Topic) { + return ((Topic)d).getTopicName(); + } else + if (d instanceof Queue) { + return ((Queue)d).getQueueName(); + } else + throw new IllegalArgumentException("Argument is not a JMS destination: "+d); + } + + protected PayloadAndType extractPayloadAndType(Message message) throws JMSException { + if (message instanceof TextMessage) { + return new PayloadAndType("TEXT", ((TextMessage)message).getText()); + } else + if (message instanceof ObjectMessage) { + Serializable o = ((ObjectMessage) message).getObject(); + return new PayloadAndType("OBJECT", o==null ? null : o.toString()); + } else + throw new IllegalArgumentException("Unsupported message type: "+message.getClass().getName()); + } + + protected String extractProperties(Message message) throws JMSException { + Enumeration en = message.getPropertyNames(); + StringBuilder properties = new StringBuilder("{"); + boolean first = true; + while (en.hasMoreElements()) { + Object k = en.nextElement(); + if (k!=null) { + String v = message.getStringProperty(k.toString()); + if (first) first = false; else properties.append(", "); + properties.append(k).append("=").append(v); + } + } + properties.append(" }"); + return properties.toString(); + } + + @AllArgsConstructor + class PayloadAndType { + public String type; + public String payload; + } +} \ No newline at end of file diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/properties/BrokerCepProperties.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/properties/BrokerCepProperties.java new file mode 100644 index 0000000..72263be --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/properties/BrokerCepProperties.java @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.properties; + +import gr.iccs.imu.ems.brokercep.EventCache; +import gr.iccs.imu.ems.brokercep.event.EventRecorder; +import gr.iccs.imu.ems.util.EmsConstant; +import gr.iccs.imu.ems.util.KeystoreAndCertificateProperties; +import gr.iccs.imu.ems.util.NetUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; +import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.PropertySource; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Data +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "brokercep") +//@PropertySource("file:${EMS_CONFIG_DIR}/gr.iccs.imu.ems.brokercep.properties") +public class BrokerCepProperties implements InitializingBean { + public void afterPropertiesSet() { + log.debug("BrokerCepProperties: {}", this); + } + + private String brokerName = "broker"; + + // Broker connector URLs + private List brokerUrl = Collections.singletonList("ssl://0.0.0.0:61616"); + public String getBrokerUrl() { return brokerUrl.get(0); } + public List getBrokerUrlList() { return brokerUrl; } + + private String brokerUrlForConsumer = "ssl://127.0.0.1:61616"; + private String brokerUrlForClients = "ssl://"+ NetUtil.getPublicIpAddress()+":61616"; + + private int managementConnectorPort = -1; + private boolean bypassLocalBroker; + private long eventForwarderLoopDelay = 100L; + + // brokercep.ssl.** settings + @NestedConfigurationProperty + private KeystoreAndCertificateProperties ssl; + + private boolean authenticationEnabled; + @ToString.Exclude + private String additionalBrokerCredentials; + private boolean authorizationEnabled; + + private boolean brokerPersistenceEnabled; + private boolean brokerUsingJmx; + private boolean brokerAdvisorySupportEnabled; + private boolean brokerUsingShutdownHook; + + private boolean brokerEnableStatistics; + private boolean brokerPopulateJmsxUserId; + + private boolean enableAdvisoryWatcher = true; + private int advisoryWatcherInitRetryDelay = 5; // in seconds + + private List messageInterceptors; + private Map messageInterceptorsSpecs = new HashMap<>(); + + private List messageForwardDestinations = Collections.emptyList(); + + private int maxEventForwardRetries = -1; + private long maxEventForwardDuration = -1; + + private Usage usage = new Usage(); + + private boolean logBrokerMessages = true; + private boolean logBrokerMessagesFull = false; + + private EventRecorderProperties eventRecorder = new EventRecorderProperties(); + + private boolean eventCacheEnabled = true; + private int eventCacheSize = EventCache.DEFAULT_EVENT_CACHE_SIZE; + + @Data + public static class Usage { + private Memory memory = new Memory(); + } + @Data + public static class Memory { + private int jvmHeapPercentage = -1; + private long size = -1; + } + @Data + public static class MessageInterceptorSpec { + private String className; + private List params; + } + @Data + @ToString(callSuper = true) + @EqualsAndHashCode(callSuper = true) + public static class MessageInterceptorConfig extends MessageInterceptorSpec { + private String destination; + } + @Data + public static class ForwardDestinationConfig { + private String connectionString; + private String username; + @ToString.Exclude + private String password; + } + + public enum EVENT_RECORDER_FILTER_MODE { ALL, REGISTERED, ALLOWED } + + @Data + public static class EventRecorderProperties { + private boolean enabled; + private EventRecorder.FORMAT format = EventRecorder.FORMAT.CSV; + private String file; + private EVENT_RECORDER_FILTER_MODE filterMode = EVENT_RECORDER_FILTER_MODE.REGISTERED; + private List allowedDestinations; + } +} diff --git a/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/properties/NodeProperties.java b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/properties/NodeProperties.java new file mode 100644 index 0000000..ed6d412 --- /dev/null +++ b/ems-core/broker-cep/src/main/java/gr/iccs/imu/ems/brokercep/properties/NodeProperties.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokercep.properties; + +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Data +@Component +@ConfigurationProperties +public class NodeProperties implements InitializingBean { + public void afterPropertiesSet() { + log.debug("NodeProperties: {}", this); + } + + private boolean addNodePropertiesToEventsEnabled = true; + private boolean skipNullValues; + private boolean skipBlankValues; + + private Map nodeProperties = new HashMap<>(); +} diff --git a/ems-core/broker-client/client.bat b/ems-core/broker-client/client.bat new file mode 100644 index 0000000..56edaba --- /dev/null +++ b/ems-core/broker-client/client.bat @@ -0,0 +1,22 @@ +@echo off +:: +:: Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +:: +:: This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +:: Esper library is used, in which case it is subject to the terms of General Public License v2.0. +:: If a copy of the MPL was not distributed with this file, you can obtain one at +:: https://www.mozilla.org/en-US/MPL/2.0/ +:: + +set EMS_CONFIG_DIR=. + +setlocal +rem set JAVA_OPTS= -Djavax.net.ssl.trustStore=..\config-files\broker-truststore.p12 ^ +rem -Djavax.net.ssl.trustStorePassword=melodic ^ +rem -Djavax.net.ssl.trustStoreType=pkcs12 +rem -Djavax.net.debug=all +rem -Djavax.net.debug=ssl,handshake,record + +java %JAVA_OPTS% -jar target\broker-client-jar-with-dependencies.jar %* + +endlocal diff --git a/ems-core/broker-client/client.sh b/ems-core/broker-client/client.sh new file mode 100644 index 0000000..9ba5d10 --- /dev/null +++ b/ems-core/broker-client/client.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +EMS_CONFIG_DIR=. + +#JAVA_OPTS=-Djavax.net.ssl.trustStore=./broker-truststore.p12\ -Djavax.net.ssl.trustStorePassword=melodic\ -Djavax.net.ssl.trustStoreType=pkcs12 +# -Djavax.net.debug=all +# -Djavax.net.debug=ssl,handshake,record + +java $JAVA_OPTS -jar target/broker-client-jar-with-dependencies.jar $* diff --git a/ems-core/broker-client/pom.xml b/ems-core/broker-client/pom.xml new file mode 100644 index 0000000..2f67b36 --- /dev/null +++ b/ems-core/broker-client/pom.xml @@ -0,0 +1,107 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + broker-client + EMS - Broker Client library + + + + + gr.iccs.imu.ems + util + ${project.version} + + + + + + org.springframework + spring-jms + + + org.apache.activemq + activemq-client + ${activemq.version} + + + + org.apache.activemq + activemq-broker + ${activemq.version} + + + + + org.projectlombok + lombok + provided + + + + + org.apache.commons + commons-lang3 + + + + + org.apache.commons + commons-csv + 1.7 + + + + + ${project.artifactId} + + + org.apache.maven.plugins + maven-assembly-plugin + 3.1.1 + + + + jar-with-dependencies + + + + gr.iccs.imu.ems.brokerclient.BrokerClientApp + true + true + + + + + + + make-assembly + package + + single + + + + + + + + + diff --git a/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/BrokerClient.java b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/BrokerClient.java new file mode 100644 index 0000000..b199075 --- /dev/null +++ b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/BrokerClient.java @@ -0,0 +1,494 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokerclient; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import gr.iccs.imu.ems.brokerclient.event.EventMap; +import gr.iccs.imu.ems.brokerclient.properties.BrokerClientProperties; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.ActiveMQConnection; +import org.apache.activemq.ActiveMQConnectionFactory; +import org.apache.activemq.ActiveMQSslConnectionFactory; +import org.apache.activemq.advisory.DestinationSource; +import org.apache.activemq.command.ActiveMQQueue; +import org.apache.activemq.command.ActiveMQTempQueue; +import org.apache.activemq.command.ActiveMQTempTopic; +import org.apache.activemq.command.ActiveMQTopic; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.jms.*; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.nio.file.Paths; +import java.util.*; + +@Slf4j +@Component +public class BrokerClient { + + @Autowired + private BrokerClientProperties properties; + @Autowired + private PasswordUtil passwordUtil; + private Connection connection; + private Session session; + private HashMap listeners = new HashMap<>(); + private Gson gson = new GsonBuilder().create(); + + public BrokerClient() { + } + + public BrokerClient(BrokerClientProperties bcp) { + properties = bcp; + } + + public BrokerClient(Properties p) { + properties = new BrokerClientProperties(p); + } + + public BrokerClient(PasswordUtil pu) { + passwordUtil = pu; + } + + public BrokerClient(BrokerClientProperties bcp, PasswordUtil pu) { + properties = bcp; + passwordUtil = pu; + } + + public BrokerClient(Properties p, PasswordUtil pu) { + properties = new BrokerClientProperties(p); + passwordUtil = pu; + } + + // ------------------------------------------------------------------------ + + public static BrokerClient newClient() throws java.io.IOException, JMSException { + log.info("BrokerClient: Initializing..."); + + // get properties file + String configDir = System.getenv("EMS_CONFIG_DIR"); + if (StringUtils.isBlank(configDir)) configDir = "."; + log.debug("BrokerClient: config-dir: {}", configDir); + String configPropFile = configDir + "/" + "gr.iccs.imu.ems.brokerclient.properties"; + log.debug("BrokerClient: config-file: {}", configPropFile); + + // load properties + Properties p = new Properties(); + File cfgFile = Paths.get(configPropFile).toFile(); + if (cfgFile.exists() && cfgFile.isFile()) { + //ClassLoader loader = Thread.currentThread().getContextClassLoader(); + //try (java.io.InputStream in = loader.getClass().getResourceAsStream(configPropFile)) { p.load(in); } + try (java.io.InputStream in = new java.io.FileInputStream(configPropFile)) { + log.debug("BrokerClient: Loading config-properties from file: {}", configPropFile); + p.load(in); + } + log.debug("BrokerClient: config-properties: {}", p); + log.info("BrokerClient: Configuration loaded from file: {}", configPropFile); + } else { + log.debug("BrokerClient: Config file not found or is not a file: {}", configPropFile); + log.info("BrokerClient: No configuration file found"); + } + + // initialize broker client + BrokerClient client = new BrokerClient(p, PasswordUtil.getInstance()); + log.info("BrokerClient: Default Configuration:\n{}", client.properties); + + return client; + } + + public static BrokerClient newClient(String username, String password) throws java.io.IOException, JMSException { + BrokerClient client = newClient(); + if (username!=null && password!=null) { + client.getClientProperties().setBrokerUsername(username); + client.getClientProperties().setBrokerPassword(password); + } + return client; + } + + // ------------------------------------------------------------------------ + + public BrokerClientProperties getClientProperties() { + checkProperties(); + return properties; + } + + protected void checkProperties() { + if (properties==null) { + //use defaults + properties = new BrokerClientProperties(); + } + } + + // ------------------------------------------------------------------------ + + public synchronized Set getDestinationNames(String connectionString) throws JMSException { + // open or reuse connection + checkProperties(); + boolean _closeConn = false; + if (session==null) { + openConnection(connectionString); + _closeConn = ! properties.isPreserveConnection(); + } + + // Get destinations from Broker + log.info("BrokerClient.getDestinationNames(): Getting destinations: connection={}, username={}", connectionString, properties.getBrokerUsername()); + ActiveMQConnection conn = (ActiveMQConnection)connection; + DestinationSource ds = conn.getDestinationSource(); + Set queues = ds.getQueues(); + Set topics = ds.getTopics(); + Set tempQueues = ds.getTemporaryQueues(); + Set tempTopics = ds.getTemporaryTopics(); + log.info("BrokerClient.getDestinationNames(): Getting destinations: done"); + + // Get destination names + HashSet destinationNames = new HashSet<>(); + for (ActiveMQQueue q : queues) destinationNames.add("QUEUE "+q.getQueueName()); + for (ActiveMQTopic t : topics) destinationNames.add("TOPIC "+t.getTopicName()); + for (ActiveMQTempQueue tq : tempQueues) destinationNames.add("Temp QUEUE "+tq.getQueueName()); + for (ActiveMQTempTopic tt : tempTopics) destinationNames.add("Temp TOPIC "+tt.getTopicName()); + + // close connection + if (_closeConn) { + closeConnection(); + } + + return destinationNames; + } + + // ------------------------------------------------------------------------ + + public enum MESSAGE_TYPE { TEXT, OBJECT, BYTES, MAP }; + + public synchronized void publishEvent(String connectionString, String destinationName, Map eventMap) throws JMSException { + _publishEvent(connectionString, destinationName, MESSAGE_TYPE.TEXT, new EventMap(eventMap), null); + } + + public synchronized void publishEvent(String connectionString, String destinationName, Map eventMap, Map propertiesMap) throws JMSException { + _publishEvent(connectionString, destinationName, MESSAGE_TYPE.TEXT, new EventMap(eventMap), propertiesMap); + } + + public synchronized void publishEvent(String connectionString, String destinationName, String eventContents) throws JMSException { + _publishEvent(connectionString, destinationName, MESSAGE_TYPE.TEXT, eventContents, null); + } + + public synchronized void publishEvent(String connectionString, String destinationName, String eventContents, Map propertiesMap) throws JMSException { + _publishEvent(connectionString, destinationName, MESSAGE_TYPE.TEXT, eventContents, propertiesMap); + } + + public synchronized void publishEvent(String connectionString, String destinationName, String type, Serializable eventContents, Map propertiesMap) throws JMSException { + MESSAGE_TYPE messageType = StringUtils.isNotBlank(type) + ? MESSAGE_TYPE.valueOf(type.trim().toUpperCase()) + : MESSAGE_TYPE.TEXT; + _publishEvent(connectionString, destinationName, messageType, eventContents, propertiesMap); + } + + public synchronized void publishEventWithCredentials(String connectionString, String username, String password, String destinationName, Map eventMap) throws JMSException { + _publishEvent(connectionString, username, password, destinationName, MESSAGE_TYPE.TEXT, new EventMap(eventMap), null); + } + + public synchronized void publishEventWithCredentials(String connectionString, String username, String password, String destinationName, Map eventMap, Map propertiesMap) throws JMSException { + _publishEvent(connectionString, username, password, destinationName, MESSAGE_TYPE.TEXT, new EventMap(eventMap), propertiesMap); + } + + public synchronized void publishEventWithCredentials(String connectionString, String username, String password, String destinationName, String eventContents) throws JMSException { + _publishEvent(connectionString, username, password, destinationName, MESSAGE_TYPE.TEXT, eventContents, null); + } + + public synchronized void publishEventWithCredentials(String connectionString, String username, String password, String destinationName, String eventContents, Map propertiesMap) throws JMSException { + _publishEvent(connectionString, username, password, destinationName, MESSAGE_TYPE.TEXT, eventContents, propertiesMap); + } + + public synchronized void publishEventWithCredentials(String connectionString, String username, String password, String destinationName, String type, Serializable eventContents, Map propertiesMap) throws JMSException { + MESSAGE_TYPE messageType = StringUtils.isNotBlank(type) + ? MESSAGE_TYPE.valueOf(type.trim().toUpperCase()) + : MESSAGE_TYPE.TEXT; + _publishEvent(connectionString, username, password, destinationName, messageType, eventContents, propertiesMap); + } + + protected synchronized void _publishEvent(String connectionString, String destinationName, MESSAGE_TYPE messageType, Serializable event, Map propertiesMap) throws JMSException { + _publishEvent(connectionString, null, null, destinationName, messageType, event, propertiesMap); + } + + @SneakyThrows + protected synchronized void _publishEvent(String connectionString, String username, String password, String destinationName, MESSAGE_TYPE messageType, Serializable event, Map propertiesMap) throws JMSException { + // open or reuse connection + checkProperties(); + boolean _closeConn = false; + if (session==null) { + if (StringUtils.isBlank(username)) + openConnection(connectionString); + else + openConnection(connectionString, username, password); + _closeConn = ! properties.isPreserveConnection(); + } + + // Create the destination (Topic or Queue) + //Destination destination = session.createQueue( destinationName ); + Destination destination = session.createTopic(destinationName); + + // Create a MessageProducer from the Session to the Topic or Queue + MessageProducer producer = session.createProducer(destination); + producer.setDeliveryMode(javax.jms.DeliveryMode.NON_PERSISTENT); + + // Create a messages + String payloadText = null; + Message message; + switch (messageType) { + case MAP: + if (event instanceof Map) { + final MapMessage mapMsg = session.createMapMessage(); + for (Object key : ((Map) event).keySet()) { + Object val = ((Map) event).get(key); + String k = key != null ? key.toString() : null; + mapMsg.setObject(k, val); + } + payloadText = gson.toJson(event); + message = mapMsg; + break; + } else { + log.warn("BrokerClient.publishEvent(): Payload is not a Map: {}", event.getClass().getName()); + log.warn("BrokerClient.publishEvent(): Will send an Object message"); + messageType = MESSAGE_TYPE.OBJECT; + } + case OBJECT: + payloadText = (event instanceof Map) + ? gson.toJson(event) + : event.toString(); + message = session.createObjectMessage(event); + break; + case BYTES: + byte[] bytesArr; + if (event instanceof byte[]) { + bytesArr = (byte[]) event; + } else { + try (ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ObjectOutputStream out = new ObjectOutputStream(bos)) + { + out.writeObject(event); + bytesArr = bos.toByteArray(); + } + } + BytesMessage bytesMsg = session.createBytesMessage(); + bytesMsg.writeBytes(bytesArr); + payloadText = new String(bytesArr); + message = bytesMsg; + break; + case TEXT: + default: + payloadText = event instanceof Map + ? gson.toJson(event) + : event.toString(); + message = session.createTextMessage(payloadText); + break; + } + log.debug("BrokerClient.publishEvent(): Message payload: payload={}", payloadText); + + if (propertiesMap!=null) + for (Map.Entry e : propertiesMap.entrySet()) + if (StringUtils.isNotBlank(e.getKey())) + message.setStringProperty(e.getKey(), e.getValue()); + + // Tell the producer to send the message + long hash = message.hashCode(); + log.debug("BrokerClient.publishEvent(): Sending {} message: connection={}, username={}, destination={}, hash={}, payload={}, properties={}", messageType, connectionString, properties.getBrokerUsername(), destinationName, hash, event, propertiesMap); + producer.send(message); + log.debug("BrokerClient.publishEvent(): {} message sent: connection={}, username={}, destination={}, hash={}, payload={}, properties={}", messageType, connectionString, properties.getBrokerUsername(), destinationName, hash, event, propertiesMap); + + // close connection + if (_closeConn) { + closeConnection(); + } + } + + // ------------------------------------------------------------------------ + + public void subscribe(String connectionString, String destinationName, MessageListener listener) throws JMSException { + // Create or open connection + checkProperties(); + if (session==null) { + openConnection(connectionString); + } + + // Create the destination (Topic or Queue) + log.info("BrokerClient: Subscribing to destination: {}...", destinationName); + //Destination destination = session.createQueue( destinationName ); + Destination destination = session.createTopic(destinationName); + + // Create a MessageConsumer from the Session to the Topic or Queue + MessageConsumer consumer = session.createConsumer(destination); + consumer.setMessageListener(listener); + listeners.put(listener, consumer); + } + + public void unsubscribe(MessageListener listener) throws JMSException { + MessageConsumer consumer = listeners.get(listener); + if (consumer!=null) { + consumer.close(); + } + } + + // ------------------------------------------------------------------------ + + public enum ON_EXCEPTION { IGNORE, LOG_AND_IGNORE, THROW, LOG_AND_THROW } + + public void receiveEvents(String connectionString, String destinationName, MessageListener listener) throws JMSException { + receiveEvents(connectionString, destinationName, listener, ON_EXCEPTION.LOG_AND_IGNORE); + } + + public void receiveEvents(String connectionString, String destinationName, MessageListener listener, ON_EXCEPTION onException) throws JMSException { + checkProperties(); + MessageConsumer consumer = null; + boolean _closeConn = false; + try { + // Create or open connection + if (session==null) { + openConnection(connectionString); + _closeConn = ! properties.isPreserveConnection(); + } + + // Create the destination (Topic or Queue) + log.info("BrokerClient: Subscribing to destination: {}...", destinationName); + //Destination destination = session.createQueue( destinationName ); + Destination destination = session.createTopic(destinationName); + + // Create a MessageConsumer from the Session to the Topic or Queue + consumer = session.createConsumer(destination); + + // Wait for messages + boolean logException = onException==ON_EXCEPTION.LOG_AND_IGNORE || onException==ON_EXCEPTION.LOG_AND_THROW; + boolean throwException = onException==ON_EXCEPTION.THROW || onException==ON_EXCEPTION.LOG_AND_THROW; + log.info("BrokerClient: Waiting for messages..."); + while (true) { + Message message = consumer.receive(); + try { + listener.onMessage(message); + } catch (Exception e) { + if (logException) { + if (log.isDebugEnabled()) + log.debug("BrokerClient: Exception in callback listener: {}: {}\nevent: {}\nException: ", + e.getClass().getName(), e.getMessage(), message, e); + else + log.warn("BrokerClient: Exception in callback listener: {}: {}\nevent: {}", + e.getClass().getName(), e.getMessage(), message); + } + if (throwException) + throw e; + } + } + + } finally { + // Clean up + log.info("BrokerClient: Closing connection..."); + if (consumer != null) consumer.close(); + if (_closeConn) { + closeConnection(); + } + } + } + + // ------------------------------------------------------------------------ + + public ActiveMQConnectionFactory createConnectionFactory() { + // Create connection factory based on Broker URL scheme + checkProperties(); + final ActiveMQConnectionFactory connectionFactory; + String brokerUrl = properties.getBrokerUrl(); + if (brokerUrl.startsWith("ssl")) { + log.debug("BrokerClient.createConnectionFactory(): Creating new SSL connection factory instance: url={}", brokerUrl); + final ActiveMQSslConnectionFactory sslConnectionFactory = new ActiveMQSslConnectionFactory(brokerUrl); + try { + sslConnectionFactory.setTrustStore(properties.getSsl().getTruststoreFile()); + sslConnectionFactory.setTrustStoreType(properties.getSsl().getTruststoreType()); + sslConnectionFactory.setTrustStorePassword(properties.getSsl().getTruststorePassword()); + sslConnectionFactory.setKeyStore(properties.getSsl().getKeystoreFile()); + sslConnectionFactory.setKeyStoreType(properties.getSsl().getKeystoreType()); + sslConnectionFactory.setKeyStorePassword(properties.getSsl().getKeystorePassword()); + //sslConnectionFactory.setKeyStoreKeyPassword( properties........ ); + + connectionFactory = sslConnectionFactory; + } catch (final Exception theException) { + throw new Error(theException); + } + } else { + log.debug("BrokerClient.createConnectionFactory(): Creating new non-SSL connection factory instance: url={}", brokerUrl); + connectionFactory = new ActiveMQConnectionFactory(brokerUrl); + } + + // Other connection factory settings + //connectionFactory.setSendTimeout(....5000L); + //connectionFactory.setTrustedPackages(Arrays.asList("gr.iccs.imu.ems")); + connectionFactory.setTrustAllPackages(true); + connectionFactory.setWatchTopicAdvisories(true); + + return connectionFactory; + } + + // ------------------------------------------------------------------------ + + public synchronized void openConnection() throws JMSException { + checkProperties(); + openConnection(properties.getBrokerUrl(), null, null); + } + + public synchronized void openConnection(String connectionString) throws JMSException { + openConnection(connectionString, null, null); + } + + public synchronized void openConnection(String connectionString, String username, String password) throws JMSException { + openConnection(connectionString, username, password, properties.isPreserveConnection()); + } + + public synchronized void openConnection(String connectionString, String username, String password, boolean preserveConnection) throws JMSException { + checkProperties(); + if (connectionString == null) connectionString = properties.getBrokerUrl(); + log.debug("BrokerClient: Credentials provided as arguments: username={}, password={}", username, passwordUtil.encodePassword(password)); + if (StringUtils.isBlank(username)) { + username = properties.getBrokerUsername(); + password = properties.getBrokerPassword(); + log.debug("BrokerClient: Credentials read from properties: username={}, password={}", username, passwordUtil.encodePassword(password)); + } + + // Create connection factory + ActiveMQConnectionFactory connectionFactory = createConnectionFactory(); + connectionFactory.setBrokerURL(connectionString); + if (StringUtils.isNotBlank(username) && password != null) { + connectionFactory.setUserName(username); + connectionFactory.setPassword(password); + } + log.debug("BrokerClient: Connection credentials: username={}, password={}", username, passwordUtil.encodePassword(password)); + + // Create a Connection + log.debug("BrokerClient: Connecting to broker: {}...", connectionString); + Connection connection = connectionFactory.createConnection(); + connection.start(); + + // Create a Session + log.debug("BrokerClient: Opening session..."); + Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + this.connection = connection; + this.session = session; + } + + public synchronized void closeConnection() throws JMSException { + // Clean up + session.close(); + connection.close(); + session = null; + connection = null; + } +} \ No newline at end of file diff --git a/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/BrokerClientApp.java b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/BrokerClientApp.java new file mode 100644 index 0000000..7f177ef --- /dev/null +++ b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/BrokerClientApp.java @@ -0,0 +1,761 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokerclient; + +import com.fasterxml.jackson.core.JsonFactory; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; +import com.google.gson.Gson; +import gr.iccs.imu.ems.brokerclient.event.EventGenerator; +import gr.iccs.imu.ems.brokerclient.event.EventMap; +import lombok.extern.slf4j.Slf4j; +import org.apache.activemq.command.*; +import org.apache.commons.csv.CSVFormat; +import org.apache.commons.csv.CSVPrinter; +import org.apache.commons.lang3.StringUtils; + +import javax.jms.Message; +import javax.jms.Queue; +import javax.jms.*; +import javax.script.Bindings; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; +import java.io.*; +import java.nio.file.Paths; +import java.util.*; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Collectors; + +@Slf4j +public class BrokerClientApp { + + private static boolean filterAMQMessages = true; + private static boolean isRecording = false; + private static File recordFile; + private static Writer recordWriter; + private static RECORD_FORMAT recordFormat; + private static CSVPrinter csvPrinter; + private static JsonGenerator jsonGenerator; + private static long playbackInterval = -1; + private static long playbackDelay = -1; + private static double playbackSpeed = 1.0; + private static Gson gson = new Gson(); + + private enum RECORD_FORMAT { CSV, JSON } + + public static void main(String args[]) throws java.io.IOException, JMSException, ScriptException { + log.info("Broker Client for EMS, v.{}", BrokerClientApp.class.getPackage().getImplementationVersion()); + if (args.length==0) { + usage(); + return; + } + + int aa=0; + String command = args[aa++]; + + filterAMQMessages = args.length>aa && args[aa].startsWith("-Q") ? false : true; + if (!filterAMQMessages) aa++; + + String username = args.length>aa && args[aa].startsWith("-U") ? args[aa++].substring(2) : null; + String password = username!=null && args.length>aa && args[aa].startsWith("-P") ? args[aa++].substring(2) : null; + if (StringUtils.isNotBlank(username) && password == null) { + password = new String(System.console().readPassword("Enter broker password: ")); + } + + if ("record".equalsIgnoreCase(command)) { + isRecording = true; + command = "receive"; + } + + // list destinations + if ("list".equalsIgnoreCase(command)) { + String url = processUrlArg( args[aa++] ); + log.info("BrokerClientApp: Listing destinations:"); + BrokerClient client = BrokerClient.newClient(username, password); + client.getDestinationNames(url).stream().forEach(d -> log.info(" {}", d)); + } else + // send an event + if ("publish".equalsIgnoreCase(command)) { + String url = processUrlArg( args[aa++] ); + String topic = args[aa++]; + String type = args[aa].startsWith("-T") ? args[aa++].substring(2) : "text"; + String value = args[aa++]; + String level = args[aa++]; + EventMap event = new EventMap(Double.parseDouble(value), Integer.parseInt(level), System.currentTimeMillis()); + sendEvent(url, username, password, topic, type, event, collectProperties(args, aa)); + } else + if ("publish2".equalsIgnoreCase(command)) { + String url = processUrlArg( args[aa++] ); + String topic = args[aa++]; + String type = args[aa].startsWith("-T") ? args[aa++].substring(2) : "text"; + String payload = args[aa++]; + payload = payload + .replaceAll("%TIMESTAMP%|%TS%", ""+System.currentTimeMillis()); + EventMap event = gson.fromJson(payload, EventMap.class); + sendEvent(url, username, password, topic, type, event, collectProperties(args, aa)); + } else + if ("publish3".equalsIgnoreCase(command)) { + String url = processUrlArg( args[aa++] ); + String topic = args[aa++]; + String type = args[aa].startsWith("-T") ? args[aa++].substring(2) : "text"; + String payload = args[aa++]; + payload = payload + .replaceAll("%TIMESTAMP%|%TS%", ""+System.currentTimeMillis()); + Map properties = collectProperties(args, aa); + if ("map".equalsIgnoreCase(type)) { + EventMap event = gson.fromJson(payload, EventMap.class); + sendEvent(url, username, password, topic, type, event, properties); + } else { + sendEvent(url, username, password, topic, type, payload, properties); + } + } else + // receive events from topic + if ("receive".equalsIgnoreCase(command)) { + String url = processUrlArg( args[aa++] ); + String topic = args[aa++]; + + if (isRecording) + initRecording(args, aa); + + log.info("BrokerClientApp: Subscribing to topic: {}", topic); + BrokerClient client = BrokerClient.newClient(username, password); + client.receiveEvents(url, topic, getMessageListener()); + } else + // playback events + if ("playback".equalsIgnoreCase(command)) { + String url = processUrlArg( args[aa++] ); + initPlayback(args, aa); + playbackEvents(url, username, password); + } else + // subscribe to topic + if ("subscribe".equalsIgnoreCase(command)) { + String url = processUrlArg( args[aa++] ); + String topic = args[aa++]; + log.info("BrokerClientApp: Subscribing to topic: {}", topic); + BrokerClient client = BrokerClient.newClient(username, password); + MessageListener listener = null; + client.subscribe(url, topic, listener = getMessageListener()); + + log.info("BrokerClientApp: Hit ENTER to exit"); + try { + System.in.read(); + } catch (Exception e) {} + log.info("BrokerClientApp: Closing connection..."); + + client.unsubscribe(listener); + client.closeConnection(); + log.info("BrokerClientApp: Exiting..."); + + } else + // start event generator + if ("generator".equalsIgnoreCase(command)) { + String url = processUrlArg( args[aa++] ); + String topic = args[aa++]; + long interval = Long.parseLong(args[aa++]); + long howmany = Long.parseLong(args[aa++]); + double lowerValue = Double.parseDouble(args[aa++]); + double upperValue = Double.parseDouble(args[aa++]); + int level = Integer.parseInt(args[aa++]); + + BrokerClient client = BrokerClient.newClient(); + client.openConnection(url, username, password, true); + EventGenerator generator = new EventGenerator(client); + //generator.setClient(client); + generator.setBrokerUrl(url); + generator.setDestinationName(topic); + generator.setInterval(interval); + generator.setHowMany(howmany); + generator.setLowerValue(lowerValue); + generator.setUpperValue(upperValue); + generator.setLevel(level); + generator.run(); + client.closeConnection(); + } else + // Run JS script + if ("js".equalsIgnoreCase(command)) { + ScriptEngineManager manager = new ScriptEngineManager(); + String engineName = "nashorn"; + if (aa{ + log.info(" Engine: {} {}, {}, Language: {} {}, Mime: {}, Ext: {}", + s.getEngineName(), s.getEngineVersion(), s.getNames(), + s.getLanguageName(), s.getLanguageVersion(), + s.getMimeTypes(), s.getExtensions()); + }); + } + aa++; + } + + ScriptEngine engine = manager.getEngineByName(engineName); + Bindings bindings = engine.createBindings(); + String scriptFile = args[aa++]; + + ArrayList jsArgs = new ArrayList<>(); + for (; aa collectProperties(String[] args, int aa) { + return Arrays.stream(args, aa, args.length) + .map(s->s.split("[=:]",2)) + .filter(p->StringUtils.isNotBlank(p[0])) + .collect(Collectors.toMap( + p->p[0].trim(), + p->p.length>1 ? p[1] : "" + )); + } + + private static String processUrlArg(String url) { + url = url.replace("%KAP%", "daemon=true&trace=false&useInactivityMonitor=false&connectionTimeout=0&keepAlive=true"); + log.debug("BrokerClientApp: Effective URL: {}", url); + return url; + } + + private static void sendEvent(String url, String username, String password, String topic, String type, Serializable payload, Map properties) throws JMSException, IOException { + log.info("BrokerClientApp: Publishing event: {}", payload); + BrokerClient client = BrokerClient.newClient(username, password); + client.publishEvent(url, topic, type, payload, properties); + log.info("BrokerClientApp: Event payload: {}", payload); + } + + private static MessageListener getMessageListener() { + return message -> { + try { + // get message destination + String destinationName = getDestinationName(message); + + // filter out Advisory messages + if (filterAMQMessages && StringUtils.startsWithIgnoreCase(destinationName, "ActiveMQ.")) { + log.trace("BrokerClientApp: - {}: ActiveMQ message filtered out: {}", destinationName, message); + log.debug("AMQ: {}:\n{}", destinationName, message); + return; + } + + // get properties as string + String properties; + if (message instanceof ActiveMQMessage) { + try { + ActiveMQMessage amqMessage = (ActiveMQMessage) message; + properties = amqMessage.getProperties() + .entrySet().stream() + .map(x -> x.getKey() + "=" + x.getValue()) + .collect(Collectors.joining(",", "{", "}")); + } catch (Exception e) { + properties = "ERROR "+e.getMessage(); + log.error("BrokerClientApp: - {}: ERROR while reading properties: ", destinationName, e); + } + } else { + //properties = "Not an ActiveMQ message"; + Enumeration en = message.getPropertyNames(); + Map pMap = new HashMap<>(); + while (en.hasMoreElements()) { + String pName = en.nextElement().toString(); + Object pVal = message.getObjectProperty(pName); + if (pVal!=null) + pMap.put(pName, pVal.toString()); + else + pMap.put(pName, null); + } + properties = pMap.toString(); + } + + // print message body and info + if (message instanceof ObjectMessage) { + ObjectMessage objMessage = (ObjectMessage) message; + Object obj = objMessage.getObject(); + String objClass = obj!=null ? obj.getClass().getName() : null; + log.trace("BrokerClientApp: - {}: Received object message: {}: {}", destinationName, objClass, obj); + log.info("OBJ: {}: properties: {}\n{}: {}", destinationName, properties, objClass, obj); + } else if (message instanceof MapMessage) { + MapMessage mapMessage = (MapMessage) message; + Enumeration en = mapMessage.getMapNames(); + Map map = new HashMap<>(); + while (en.hasMoreElements()) { + String k = en.nextElement().toString(); + map.put(k, mapMessage.getObject(k)); + } + log.trace("BrokerClientApp: - {}: Received map message: {}", destinationName, map); + log.info("MAP: {}: properties: {}\n{}", destinationName, properties, map); + } else if (message instanceof BytesMessage) { + BytesMessage bytesMessage = (BytesMessage) message; + byte[] bytes = new byte[(int)bytesMessage.getBodyLength()]; + bytesMessage.readBytes(bytes); + //String str = new String(bytes); + Object obj; + try (ByteArrayInputStream bis = new ByteArrayInputStream(bytes); + ObjectInputStream is = new ObjectInputStream(bis)) + { + obj = is.readObject(); + } catch (Exception e) { + obj = bytes; + } + log.trace("BrokerClientApp: - {}: Received bytes message: {}", destinationName, bytes); + log.info("BYTES: {}: properties: {}\n{}\n{}", destinationName, properties, bytes, obj); + } else if (message instanceof TextMessage) { + TextMessage textMessage = (TextMessage) message; + String text = textMessage.getText(); + log.trace("BrokerClientApp: - {}: Received text message: {}", destinationName, text); + log.info("TXT: {}: properties: {}\n{}", destinationName, properties, text); + } else { + log.trace("BrokerClientApp: - {}: Received message: {}", destinationName, message); + log.info("MSG: {}: properties: {}\n{}", destinationName, properties, message); + } + + // record message to file + recordEvent(message); + + } catch (JMSException je) { + log.warn("BrokerClientApp: onMessage: EXCEPTION: ", je); + } + }; + } + + private static int initRecording(String[] args, int aa) throws IOException { + // Process recording command line arguments + String format = null; + if (args[aa].startsWith("-M")) + format = args[aa++].substring(2).toLowerCase(); + String fileName = args[aa++]; + File file = Paths.get(fileName).toFile(); + String ext = StringUtils.substringAfterLast(file.getName(), "."); + if (StringUtils.isNotBlank(format)) { + if (!("csv".equalsIgnoreCase(format) || "json".equalsIgnoreCase(format))) + throw new IllegalArgumentException("Unsupported recording format: "+format); + else if ("csv".equalsIgnoreCase(format)) recordFormat = RECORD_FORMAT.CSV; + else if ("json".equalsIgnoreCase(format)) recordFormat = RECORD_FORMAT.JSON; + } + else if ("csv".equalsIgnoreCase(ext)) recordFormat = RECORD_FORMAT.CSV; + else if ("txt".equalsIgnoreCase(ext)) recordFormat = RECORD_FORMAT.CSV; + else if ("json".equalsIgnoreCase(ext)) recordFormat = RECORD_FORMAT.JSON; + else { + log.warn("Unknown file extension. Assuming CSV"); + recordFormat = RECORD_FORMAT.CSV; + } + recordFile = file; + + // Initialize recording + log.info("Record format: {}", recordFormat); + log.info("Record file: {}", recordFile); + log.info("Start recording..."); + + recordWriter = new BufferedWriter(new FileWriter(file)); + if (recordFormat==RECORD_FORMAT.CSV) { + csvPrinter = new CSVPrinter(recordWriter, CSVFormat.DEFAULT + .withHeader("Timestamp", "Destination", "Mime", "Type", "Contents", "Properties")); + + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + try { csvPrinter.close(true); recordWriter.close(); } catch (IOException e) { log.error("BrokerClientApp: EXCEPTION while closing record file: ", e); } + log.info("Recording stopped"); + })); + } else + if (recordFormat==RECORD_FORMAT.JSON) { + jsonGenerator = new JsonFactory() + .createGenerator(recordWriter) + .setPrettyPrinter(new DefaultPrettyPrinter()); + jsonGenerator.writeStartArray(); + + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + try { jsonGenerator.writeEndArray(); jsonGenerator.close(); recordWriter.close(); } catch (IOException e) { log.error("BrokerClientApp: EXCEPTION while closing record file: ", e); } + log.info("Recording stopped"); + })); + } else + throw new IllegalArgumentException("Unsupported recording format: "+recordFormat); + + return aa; + } + + private static void recordEvent(Message message) { + if (!isRecording) return; + + try { + if (!(message instanceof ActiveMQMessage)) { + throw new IllegalArgumentException("Unsupported Message type: "+message.getClass().getName()); + } + + ActiveMQMessage amqMessage = (ActiveMQMessage) message; + long timestamp = message.getJMSTimestamp(); + String destinationName = getDestinationName(message); + String mime = amqMessage.getJMSXMimeType(); + String type; + + String content; + if (amqMessage instanceof ActiveMQTextMessage) { + type = BrokerClient.MESSAGE_TYPE.TEXT.name(); + content = ((ActiveMQTextMessage)amqMessage).getText(); + } else + if (amqMessage instanceof ActiveMQObjectMessage) { + type = BrokerClient.MESSAGE_TYPE.OBJECT.name(); + Object obj = ((ActiveMQObjectMessage)amqMessage).getObject(); + /*String objClass = obj!=null ? obj.getClass().getName() : null; + content = objClass + ":" + obj.toString();*/ + try (ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(baos)) + { + oos.writeObject(obj); + byte[] bytes = baos.toByteArray(); + content = Base64.getEncoder().encodeToString(bytes); + } + } else + if (amqMessage instanceof ActiveMQMapMessage) { + type = BrokerClient.MESSAGE_TYPE.MAP.name(); + /*content = ((ActiveMQMapMessage)amqMessage).getContentMap() + .entrySet().stream() + .map(x -> x.getKey() + "=" + x.getValue()) + .collect(Collectors.joining(",", "{", "}"));*/ + content = gson.toJson(((ActiveMQMapMessage)amqMessage).getContentMap()); + } else + if (amqMessage instanceof ActiveMQBytesMessage) { + type = BrokerClient.MESSAGE_TYPE.BYTES.name(); + byte[] bytes = amqMessage.getContent().getData(); + content = Base64.getEncoder().encodeToString(bytes); + } else { + type = BrokerClient.MESSAGE_TYPE.BYTES.name(); + byte[] bytes = amqMessage.getContent().getData(); + content = Base64.getEncoder().encodeToString(bytes); + } + + String properties = amqMessage.getProperties() + .entrySet().stream() + .map(x -> x.getKey() + "=" + x.getValue()) + .collect(Collectors.joining(",", "{", "}")); + + log.trace("REC> timestamp={}, topic={}, mime={}, type={}, contents={}, properties={}", timestamp, destinationName, mime, type, content, properties); + if (recordFormat==RECORD_FORMAT.CSV) { + csvPrinter.printRecord(timestamp, destinationName, mime, type, content, properties); + csvPrinter.flush(); + } else + if (recordFormat==RECORD_FORMAT.JSON) { + jsonGenerator.writeStartObject(); + jsonGenerator.writeNumberField("timestamp", timestamp); + jsonGenerator.writeStringField("destination", destinationName); + jsonGenerator.writeStringField("mime", mime); + jsonGenerator.writeStringField("type", type); + jsonGenerator.writeStringField("content", content); + jsonGenerator.writeStringField("properties", properties); + jsonGenerator.writeEndObject(); + jsonGenerator.flush(); + } + + } catch (Exception e) { + log.error("BrokerClientApp: EXCEPTION during RECORDING: ", e); + } + } + + private static int initPlayback(String[] args, int aa) throws IOException { + // Process recording command line arguments + playbackInterval = -1L; + playbackDelay = -1L; + int startAa = aa; + if (args[aa].startsWith("-I")) { + playbackInterval = Long.parseLong(args[aa++].substring(2).toLowerCase()); + if (playbackInterval<0) throw new IllegalArgumentException("Playback Interval cannot be negative: "+playbackInterval); + } + if (args[aa].startsWith("-D")) { + playbackDelay = Long.parseLong(args[aa++].substring(2).toLowerCase()); + if (playbackDelay<0) throw new IllegalArgumentException("Playback Delay cannot be negative: "+playbackDelay); + } + if (args[aa].startsWith("-S")) { + playbackSpeed = Double.parseDouble(args[aa++].substring(2).toLowerCase()); + if (playbackSpeed<=0) throw new IllegalArgumentException("Playback Speed cannot be negative or zero: "+playbackSpeed); + } + if (aa-startAa>1) + throw new IllegalArgumentException("You cannot use -I, -D, -S switches at the same time"); + + String format = null; + if (args[aa].startsWith("-M")) + format = args[aa++].substring(2).toLowerCase(); + String fileName = args[aa++]; + File file = Paths.get(fileName).toFile(); + String ext = StringUtils.substringAfterLast(file.getName(), "."); + if (StringUtils.isNotBlank(format)) { + if (!("csv".equalsIgnoreCase(format) || "json".equalsIgnoreCase(format))) + throw new IllegalArgumentException("Unsupported recording format: "+format); + else if ("csv".equalsIgnoreCase(format)) recordFormat = RECORD_FORMAT.CSV; + else if ("json".equalsIgnoreCase(format)) recordFormat = RECORD_FORMAT.JSON; + } + else if ("csv".equalsIgnoreCase(ext)) recordFormat = RECORD_FORMAT.CSV; + else if ("txt".equalsIgnoreCase(ext)) recordFormat = RECORD_FORMAT.CSV; + else if ("json".equalsIgnoreCase(ext)) recordFormat = RECORD_FORMAT.JSON; + else { + log.warn("Unknown file extension. Assuming CSV"); + recordFormat = RECORD_FORMAT.CSV; + } + recordFile = file; + + // Initialize recording + log.info("Playback format: {}", recordFormat); + log.info("Playback file: {}", recordFile); + + return aa; + } + + private static long playbackEvents(String url, String username, String password) throws IOException, JMSException { + AtomicLong countSuccess = new AtomicLong(); + AtomicLong countFail = new AtomicLong(); + + BrokerClient client = BrokerClient.newClient(); + client.openConnection(url, username, password, true); + + boolean useInterval = (playbackInterval>=0); + boolean useDelay = (playbackDelay>=0); + + log.info("Start playback..."); + long startTm = System.currentTimeMillis(); + final long[] prevValues = {-1L, -1L, -1L}; // Previous Event Timestamp, Previous System time, Last sleep time + + if (recordFormat==RECORD_FORMAT.CSV) + playbackEventsFromCsv(client, prevValues, useInterval, useDelay, countSuccess, countFail, url); + else if (recordFormat==RECORD_FORMAT.JSON) + playbackEventsFromJson(client, prevValues, useInterval, useDelay, countSuccess, countFail, url); + else + throw new IllegalArgumentException("Unsupported or missing recording format: "+recordFormat); + + long endTm = System.currentTimeMillis(); + long count = countSuccess.get() + countFail.get(); + + client.closeConnection(); + + printPlaybackStatistics(endTm - startTm, countSuccess, countFail); + + return count; + } + + private static void playbackEventsFromCsv(BrokerClient client, long[] prevValues, boolean useInterval, boolean useDelay, + AtomicLong countSuccess, AtomicLong countFail, String url) + throws IOException, JMSException + { + CSVFormat.DEFAULT + .withFirstRecordAsHeader() + .parse(new BufferedReader(new FileReader(recordFile))) + .forEach(rec -> { + // read event data + long timestamp = Long.parseLong(rec.get("Timestamp")); + String destinationName = rec.get("Destination"); + String mime = rec.get("Mime"); + String type = rec.get("Type"); + String contents = rec.get("Contents"); + String properties = rec.get("Properties"); + + log.trace("REPLAY> Event data: timestamp={}, destination={}, mime={}, type={}, content={}, properties={}", + timestamp, destinationName, mime, type, contents, properties); + + // read event properties + if (properties.startsWith("{") && properties.endsWith("}")) + properties = properties.substring(1, properties.length()-1); + Map propertiesMap = Arrays.stream(properties.split(",")) + .filter(StringUtils::isNotBlank) + .map(p -> p.split("=",2)) + .collect(Collectors.toMap(p->p[0], p->p.length>1 ? p[1] : "")); + + // wait and send + try { + waitAndSend(client, prevValues, useInterval, useDelay, url, + timestamp, destinationName, type, contents, propertiesMap, countSuccess, countFail); + } catch (Exception e) { + log.error("REPLAY> EXCEPTION: Ignoring record entry: timestamp={}, destination={}, mime={}, type={}, content={}, properties={}\n", + timestamp, destinationName, mime, type, contents, properties, e); + } + }); + } + + private static void playbackEventsFromJson(BrokerClient client, long[] prevValues, boolean useInterval, boolean useDelay, + AtomicLong countSuccess, AtomicLong countFail, String url) + throws JMSException, IOException + { + Reader playbackReader = new BufferedReader(new FileReader(recordFile)); + JsonParser jsonParser = new JsonFactory().createParser(playbackReader); + + if (jsonParser.nextToken() == JsonToken.START_ARRAY) { + while (jsonParser.nextToken() == JsonToken.START_OBJECT) { + // read event data + long timestamp = -1L; + String destinationName = null; + String mime = null; + String type = null; + String contents = null; + String properties = ""; + + while (jsonParser.nextToken() != JsonToken.END_OBJECT) { + String fieldName = jsonParser.getCurrentName(); + jsonParser.nextToken(); + if ("timestamp".equals(fieldName)) timestamp = jsonParser.getLongValue(); + else if ("destination".equals(fieldName)) destinationName = jsonParser.getText(); + else if ("mime".equals(fieldName)) mime = jsonParser.getText(); + else if ("type".equals(fieldName)) type = jsonParser.getText(); + else if ("content".equals(fieldName)) contents = jsonParser.getText(); + else if ("properties".equals(fieldName)) properties = jsonParser.getText(); + else + log.warn("REPLAY> UNKNOWN JSON field at event #{}: {}", countSuccess.get()+countFail.get()+1, fieldName); + } + + log.trace("REPLAY> Event data: timestamp={}, destination={}, mime={}, type={}, content={}, properties={}", + timestamp, destinationName, mime, type, contents, properties); + + // read event properties + if (properties.startsWith("{") && properties.endsWith("}")) + properties = properties.substring(1, properties.length()-1); + Map propertiesMap = Arrays.stream(properties.split(",")) + .map(p -> p.split("=",2)) + .collect(Collectors.toMap(p->p[0], p->p[1])); + + // wait and send + try { + waitAndSend(client, prevValues, useInterval, useDelay, url, + timestamp, destinationName, type, contents, propertiesMap, countSuccess, countFail); + } catch (Exception e) { + log.error("REPLAY> EXCEPTION: Ignoring record entry: timestamp={}, destination={}, mime={}, type={}, content={}, properties={}\n", + timestamp, destinationName, mime, type, contents, properties, e); + } + } + } + + jsonParser.close(); + playbackReader.close(); + } + + private static void waitAndSend(BrokerClient client, long[] prevValues, boolean useInterval, boolean useDelay, String url, + long timestamp, String destinationName, String type, String contents, Map propertiesMap, + AtomicLong countSuccess, AtomicLong countFail) + throws IOException, ClassNotFoundException + { + // prepare event payload + Serializable payload; + if ("TEXT".equalsIgnoreCase(type)) { + payload = contents; + } else + if ("OBJECT".equalsIgnoreCase(type)) { + /*String[] part = contents.split(":",2); + payload = part[1];*/ + byte[] bytes = Base64.getDecoder().decode(contents); + try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes); + ObjectInputStream ois = new ObjectInputStream(bais)) + { + payload = (Serializable) ois.readObject(); + } + } else + if ("MAP".equalsIgnoreCase(type)) { + payload = gson.fromJson(contents, EventMap.class); + } else + if ("BYTES".equalsIgnoreCase(type)) { + payload = Base64.getDecoder().decode(contents); + } else { + //payload = contents; + payload = Base64.getDecoder().decode(contents); + } + + // calculate wait time and sleep + if (prevValues[1]>0) { + // calculate wait time + long sleepTime = 0; + long now = System.currentTimeMillis(); + if (useInterval) { + log.trace("REPLAY> Interval: now={}, prev={}, playback={}", now, prevValues[1], playbackInterval); + prevValues[1] = prevValues[1] + playbackInterval; + sleepTime = prevValues[1] - now; + log.trace("REPLAY> : sleep={}, new-prev={}", sleepTime, prevValues[1]); + } else if (useDelay) { + log.trace("REPLAY> Delay: now={}, playback={}", now, playbackDelay); + sleepTime = playbackDelay; + } else { + long diff = (long)((timestamp - prevValues[0]) / playbackSpeed); + log.trace("REPLAY> Recorded: diff={}, now={}, prev={}", diff, now, prevValues[1]); + prevValues[0] = timestamp; + prevValues[1] += diff; + sleepTime = prevValues[1] - now; + log.trace("REPLAY> : sleep={}, new-prev={}", sleepTime, prevValues[1]); + } + prevValues[2] = sleepTime; + // wait to send + try { + log.debug("REPLAY> sleep={}", sleepTime); + if (sleepTime > 1) + Thread.sleep(sleepTime); + } catch (InterruptedException e) { + throw new RuntimeException("Playback interrupted"); + } + } else { + prevValues[0] = timestamp; + prevValues[1] = System.currentTimeMillis(); + } + + // send event + long counter = countSuccess.get()+countFail.get()+1; + try { + log.info("BrokerClientApp: Replay event #{}", counter); + log.trace("BrokerClientApp: Publishing {} event: {}", type, payload); + client.publishEvent(url, destinationName, type, payload, propertiesMap); + log.info("BrokerClientApp: Event payload: {}", payload); + countSuccess.getAndIncrement(); + } catch (Exception e) { + log.error("BrokerClientApp: EXCEPTION while playing back event #{}: ", counter, e); + countFail.getAndIncrement(); + } + } + + private static void printPlaybackStatistics(long duration, AtomicLong countSuccess, AtomicLong countFail) { + long count = countSuccess.get() + countFail.get(); + log.info("Playback completed in {}ms", duration); + log.info(" Sent: {}", countSuccess.get()); + log.info(" Failed: {}", countFail.get()); + log.info(" Total: {}", count); + log.info(" Send Rate: {}e/s", 1000d * count / (duration)); + log.info(" Mean Delay: {}s", count<=1 ? "N/A" : (duration) / 1000d / (count-1) ); + } + + private static String getDestinationName(Message message) throws JMSException { + Destination d = message.getJMSDestination(); + if (d instanceof Topic) { + return ((Topic)d).getTopicName(); + } else + if (d instanceof Queue) { + return ((Queue)d).getQueueName(); + } else + throw new IllegalArgumentException("Argument is not a JMS destination: "+d); + } + + protected static void usage() { + log.info("BrokerClientApp: Usage: "); + log.info("BrokerClientApp: client list [-U [-P "); + log.info("BrokerClientApp: client publish [ -U [-P [-T] []*"); + log.info("BrokerClientApp: client publish2 [-U [-P [-T] []*"); + log.info("BrokerClientApp: client publish3 [-U [-P [-T] []*"); + log.info("BrokerClientApp: : text, object, bytes, map"); + log.info("BrokerClientApp: : = (use quotes if needed)"); + log.info("BrokerClientApp: client receive [-U [-P "); + log.info("BrokerClientApp: client subscribe [-U [-P "); + log.info("BrokerClientApp: client generator [-U [-P "); + log.info("BrokerClientApp: client record [-U [-P [-Mcsv|-Mjson] "); + log.info("BrokerClientApp: client playback [-U [-P [-Innn|-Dnnn|-Sd[.d]] [-Mcsv|-Mjson] "); + log.info("BrokerClientApp: client js [-E] "); + log.info("BrokerClientApp: : (tcp:|ssl:)//
:[?[%KAP%][&...additional properties]*] KAP: Keep-Alive Properties "); + } +} \ No newline at end of file diff --git a/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/event/EventGenerator.java b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/event/EventGenerator.java new file mode 100644 index 0000000..bbe9c82 --- /dev/null +++ b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/event/EventGenerator.java @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokerclient.event; + +import gr.iccs.imu.ems.brokerclient.BrokerClient; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.concurrent.atomic.AtomicLong; + +@Slf4j +@Data +@Component +@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) +public class EventGenerator implements Runnable { + private final static AtomicLong counter = new AtomicLong(); + private final BrokerClient client; + private String brokerUrl; + private String brokerUsername; + private String brokerPassword; + private String destinationName; + private long interval; + private long howMany = -1; + private double lowerValue; + private double upperValue; + private int level; + + private transient boolean keepRunning; + + @PostConstruct + public void printCounter() { + log.info("New EventGenerator with instance number: {}", counter.getAndIncrement()); + } + + public void start() { + if (keepRunning) return; + Thread runner = new Thread(this); + runner.setDaemon(true); + runner.start(); + } + + public void stop() { + keepRunning = false; + } + + public void run() { + log.info("EventGenerator.run(): Start sending events: event-generator: {}", this); + + keepRunning = true; + double valueRangeWidth = upperValue - lowerValue; + long countSent = 0; + while (keepRunning) { + try { + double newValue = Math.random() * valueRangeWidth + lowerValue; + EventMap event = new EventMap(newValue, level, System.currentTimeMillis()); + log.info("EventGenerator.run(): Sending event #{}: {}", countSent + 1, event); + client.publishEventWithCredentials(brokerUrl, brokerUsername, brokerPassword, destinationName, event); + countSent++; + if (countSent == howMany) keepRunning = false; + log.info("EventGenerator.run(): Event sent #{}: {}", countSent, event); + } catch (Exception ex) { + log.warn("EventGenerator.run(): WHILE-EXCEPTION: ", ex); + } + // sleep for 'interval' ms + try { + if (keepRunning) { + Thread.sleep(interval); + } + } catch (InterruptedException ex) { + log.warn("EventGenerator.run(): Sleep interrupted"); + } + } + + log.info("EventGenerator.run(): Stop sending events: event-generator: {}", this); + } +} \ No newline at end of file diff --git a/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/event/EventMap.java b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/event/EventMap.java new file mode 100644 index 0000000..295242e --- /dev/null +++ b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/event/EventMap.java @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokerclient.event; + +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; + +import java.io.Serializable; +import java.util.LinkedHashMap; +import java.util.Map; + +@Getter +@Slf4j +public class EventMap extends LinkedHashMap implements Serializable { + public EventMap() { + super(); + } + + public EventMap(Map map) { + super(map); + } + + public EventMap(double metricValue, int level, long timestamp) { + put("metricValue", metricValue); + put("level", level); + put("timestamp", timestamp); + } + + public static String[] getPropertyNames() { + return new String[]{"metricValue", "level", "timestamp"}; + } + + public static Class[] getPropertyClasses() { + return new Class[]{Double.class, Integer.class, Long.class}; + } +} \ No newline at end of file diff --git a/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/properties/BrokerClientProperties.java b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/properties/BrokerClientProperties.java new file mode 100644 index 0000000..ddf4b4d --- /dev/null +++ b/ems-core/broker-client/src/main/java/gr/iccs/imu/ems/brokerclient/properties/BrokerClientProperties.java @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.brokerclient.properties; + +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Data +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "brokerclient") +@Slf4j +public class BrokerClientProperties { + private String brokerName = "broker"; + private String brokerUrl = "tcp://localhost:61616"; + private String brokerUrlProperties; + private int managementConnectorPort = -1; + private boolean preserveConnection; + + private Ssl ssl = new Ssl(); + + private String brokerUsername; + @ToString.Exclude + private String brokerPassword; + + @Data + public static class Ssl { + private boolean clientAuthRequired; + private String truststoreFile; + private String truststoreType; + @ToString.Exclude + private String truststorePassword; + private String keystoreFile; + private String keystoreType; + @ToString.Exclude + private String keystorePassword; + } + + public BrokerClientProperties() { + brokerName = "broker"; + brokerUrl = "tcp://localhost:61616"; + brokerUrlProperties = ""; + managementConnectorPort = -1; + preserveConnection = false; + + ssl = new Ssl(); + + brokerUsername = ""; + brokerPassword = ""; + } + + public BrokerClientProperties(java.util.Properties p) { + brokerName = p.getProperty("brokerclient.broker-name", "broker"); + brokerUrl = p.getProperty("brokerclient.broker-url", "tcp://localhost:61616"); + brokerUrlProperties = p.getProperty("brokerclient.broker-url-properties", ""); + managementConnectorPort = Integer.parseInt(p.getProperty("brokerclient.connector-port", "-1")); + preserveConnection = Boolean.parseBoolean(p.getProperty("brokerclient.preserve-connection", "false")); + + ssl = new Ssl(); + ssl.truststoreFile = p.getProperty("brokerclient.ssl.truststore.file", ""); + ssl.truststoreType = p.getProperty("brokerclient.ssl.truststore.type", ""); + ssl.truststorePassword = p.getProperty("brokerclient.ssl.truststore.password", ""); + ssl.keystoreFile = p.getProperty("brokerclient.ssl.keystore.file", ""); + ssl.keystoreType = p.getProperty("brokerclient.ssl.keystore.type", ""); + ssl.keystorePassword = p.getProperty("brokerclient.ssl.keystore.password", ""); + ssl.clientAuthRequired = Boolean.parseBoolean(p.getProperty("brokerclient.ssl.client-auth.required", "false")); + + brokerUsername = p.getProperty("brokerclient.broker-username", ""); + brokerPassword = p.getProperty("brokerclient.broker-password", ""); + + brokerUrlProperties = brokerUrlProperties.replace("${brokerclient.ssl.client-auth.required}", Boolean.toString(ssl.clientAuthRequired)); + } +} diff --git a/ems-core/broker-client/src/main/resources/logback.xml b/ems-core/broker-client/src/main/resources/logback.xml new file mode 100644 index 0000000..36ee6c4 --- /dev/null +++ b/ems-core/broker-client/src/main/resources/logback.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + BC> %msg%n + + + + + + + + + + + + + diff --git a/ems-core/common/pom.xml b/ems-core/common/pom.xml new file mode 100644 index 0000000..9bad112 --- /dev/null +++ b/ems-core/common/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + common + EMS - Common to EMS server and clients + + + + + gr.iccs.imu.ems + broker-cep + ${project.version} + + + + + org.springframework + spring-web + + + + + org.projectlombok + lombok + provided + + + + diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/client/SshClient.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/client/SshClient.java new file mode 100644 index 0000000..a74d24f --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/client/SshClient.java @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.client; + +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintStream; + +public interface SshClient { + void setConfiguration(C config); + void setUseServerKeyVerifier(boolean useServerKeyVerifier); + void start() throws IOException; + void stop() throws IOException; + InputStream getIn(); + PrintStream getOut(); + PrintStream getErr(); +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/client/SshClientProperties.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/client/SshClientProperties.java new file mode 100644 index 0000000..a819c88 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/client/SshClientProperties.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.client; + +import lombok.Data; +import lombok.ToString; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Data +@Configuration +@ConfigurationProperties +@ToString(exclude = "serverPassword") +public class SshClientProperties { + private long connectTimeout = 60000; + private long authTimeout = 60000; + private long heartbeatInterval = 60000; + private long heartbeatReplyWait = heartbeatInterval; + private long execTimeout = 120000; + private long retryPeriod = 60000; + + private String clientId; + + private String serverAddress; + private int serverPort = 22; + private String serverPubkey; + private String serverPubkeyFingerprint; + private String serverPubkeyAlgorithm; + private String serverPubkeyFormat; + + private String serverUsername; + private String serverPassword; +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/AbstractEndpointCollector.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/AbstractEndpointCollector.java new file mode 100644 index 0000000..0957d0a --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/AbstractEndpointCollector.java @@ -0,0 +1,392 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.collector; + +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.common.client.SshClientProperties; +import gr.iccs.imu.ems.common.misc.EventConstant; +import gr.iccs.imu.ems.common.recovery.RecoveryConstant; +import gr.iccs.imu.ems.util.EmsConstant; +import gr.iccs.imu.ems.util.EventBus; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.scheduling.TaskScheduler; + +import java.time.Duration; +import java.util.*; +import java.util.concurrent.ScheduledFuture; +import java.util.stream.Collectors; + +/** + * Abstract collector: + * Collects measurements from http server endpoint + */ +@Slf4j +@RequiredArgsConstructor +public abstract class AbstractEndpointCollector implements InitializingBean, Runnable, EventBus.EventConsumer { + private final static String EVENT_COLLECTION_START = "EVENT_COLLECTION_START"; + private final static String EVENT_COLLECTION_END = "EVENT_COLLECTION_END"; + private final static String EVENT_COLLECTION_ERROR = "EVENT_COLLECTION_ERROR"; + private final static String EVENT_CONN_OK = "EVENT_CONN_OK"; + private final static String EVENT_CONN_ERROR = "EVENT_CONN_ERROR"; + private final static String EVENT_NODE_OK = "EVENT_NODE_OK"; + private final static String EVENT_NODE_FAILED = "EVENT_NODE_FAILED"; + + private final static String BASE_COLLECTION_START = "_COLLECTION_START"; + private final static String BASE_COLLECTION_END = "_COLLECTION_END"; + private final static String BASE_COLLECTION_ERROR = "_COLLECTION_ERROR"; + private final static String BASE_CONN_OK = "_CONN_OK"; + private final static String BASE_CONN_ERROR = "_CONN_ERROR"; + private final static String BASE_NODE_OK = "_NODE_OK"; + private final static String BASE_NODE_FAILED = "_NODE_FAILED"; + + protected final String collectorId; + protected final AbstractEndpointCollectorProperties properties; + protected final CollectorContext collectorContext; + protected final TaskScheduler taskScheduler; + protected final EventBus eventBus; + protected final Map>, Map> nodeToNodeEventsMap = new HashMap<>(); + + protected boolean started; + protected ScheduledFuture runner; + protected List allowedTopics; + protected Map topicMap; + + protected Map errorsMap = new HashMap<>(); + protected Map> ignoredNodes = new HashMap<>(); + + protected enum COLLECTION_RESULT { IGNORED, OK, ERROR } + + @Override + public void afterPropertiesSet() { + log.debug("Collectors::{}: properties: {}", collectorId, properties); + this.allowedTopics = properties.getAllowedTopics()==null + ? null + : properties.getAllowedTopics().stream() + .map(s -> s.split(":")[0]) + .collect(Collectors.toList()); + this.topicMap = properties.getAllowedTopics()==null + ? null + : properties.getAllowedTopics().stream() + .map(s -> s.split(":", 2)) + .collect(Collectors.toMap(a -> a[0], a -> a.length>1 ? a[1]: "")); + + registerInternalEvents("ABSTRACT"); + } + + public synchronized void start() { + // check if already running + if (started) { + log.warn("Collectors::{}: Already started", collectorId); + return; + } + + // check parameters + if (properties==null || !properties.isEnable()) { + log.warn("Collectors::{}: Collector not enabled", collectorId); + return; + } + if (properties.getDelay()<0) properties.setDelay(0); + + log.debug("Collectors::{}: configuration: {}", collectorId, properties); + + // Subscribe for SELF-HEALING plugin GIVE_UP events + eventBus.subscribe(RecoveryConstant.SELF_HEALING_RECOVERY_COMPLETED, this); + eventBus.subscribe(RecoveryConstant.SELF_HEALING_RECOVERY_GIVE_UP, this); + eventBus.subscribe(EventConstant.EVENT_CLIENT_CONFIG_UPDATED, this); + + // Schedule collection execution + errorsMap.clear(); + ignoredNodes.clear(); + runner = taskScheduler.scheduleWithFixedDelay(this, Duration.ofMillis(properties.getDelay())); + started = true; + + log.info("Collectors::{}: Started", collectorId); + } + + public synchronized void stop() { + if (!started) { + log.warn("Collectors::{}: Not started", collectorId); + return; + } + + // Unsubscribe from SELF-HEALING plugin GIVE_UP events + eventBus.unsubscribe(EventConstant.EVENT_CLIENT_CONFIG_UPDATED, this); + eventBus.unsubscribe(RecoveryConstant.SELF_HEALING_RECOVERY_COMPLETED, this); + eventBus.unsubscribe(RecoveryConstant.SELF_HEALING_RECOVERY_GIVE_UP, this); + + // Cancel collection execution + started = false; + runner.cancel(true); + runner = null; + ignoredNodes.values().stream().filter(Objects::nonNull).forEach(task -> task.cancel(true)); + log.info("Collectors::{}: Stopped", collectorId); + } + + @Override + public void onMessage(String topic, Object message, Object sender) { + log.trace("Collectors::{}: onMessage: BEGIN: topic={}, message={}, sender={}", collectorId, topic, message, sender); + + String nodeAddress = (message!=null) ? message.toString() : null; + log.trace("Collectors::{}: nodeAddress={}", collectorId, nodeAddress); + + if (RecoveryConstant.SELF_HEALING_RECOVERY_COMPLETED.equals(topic)) { + log.info("Collectors::{}: Resuming collection from Node: {}", collectorId, nodeAddress); + ignoredNodes.remove(nodeAddress); + } else + if (RecoveryConstant.SELF_HEALING_RECOVERY_GIVE_UP.equals(topic)) { + log.warn("Collectors::{}: Giving up collection from Node: {}", collectorId, nodeAddress); + ignoredNodes.put(nodeAddress, null); + } else + if (EventConstant.EVENT_CLIENT_CONFIG_UPDATED.equals(topic)) { + log.info("Collectors::{}: Client configuration updated. Purging nodes without recovery task from ignore list: Old ignore list nodes: {}", collectorId, ignoredNodes.keySet()); + List nodesToPurge = ignoredNodes.entrySet().stream().filter(e -> e.getValue() == null).map(Map.Entry::getKey).collect(Collectors.toList()); + nodesToPurge.forEach(node -> { + ignoredNodes.remove(node); + log.info("Collectors::{}: Client configuration updated. Node purged from ignore list: {}", collectorId, node); + }); + } else + log.warn("Collectors::{}: onMessage: Event from unexpected topic received. Ignoring it: {}", collectorId, topic); + } + + public void run() { + if (!started) return; + + log.trace("Collectors::{}: run(): BEGIN", collectorId); + if (log.isTraceEnabled()) { + log.trace("Collectors::{}: run(): errors-map={}", collectorId, errorsMap); + log.trace("Collectors::{}: run(): ignored-nodes={}", collectorId, ignoredNodes.keySet()); + } + + // collect data from local node + if (! properties.isSkipLocal()) { + log.debug/*info*/("Collectors::{}: Collecting metrics from local node...", collectorId); + collectAndPublishData(""); + } else { + log.debug("Collectors::{}: Collection from local node is disabled", collectorId); + } + + // if Aggregator, collect data from nodes without client + log.trace("Collectors::{}: Nodes without clients in Zone: {}", collectorId, collectorContext.getNodesWithoutClient()); + log.trace("Collectors::{}: Is Aggregator: {}", collectorId, collectorContext.isAggregator()); + if (collectorContext.isAggregator()) { + if (collectorContext.getNodesWithoutClient().size()>0) { + log.debug/*info*/("Collectors::{}: Collecting metrics from remote nodes (without EMS client): {}", collectorId, + collectorContext.getNodesWithoutClient()); + for (Object nodeAddress : collectorContext.getNodesWithoutClient()) { + // collect data from remote node + collectAndPublishData(nodeAddress.toString()); + } + } else + log.debug("Collectors::{}: No remote nodes (without EMS client)", collectorId); + } + + log.trace("Collectors::{}: run(): END", collectorId); + } + + protected void registerInternalEvents(@NonNull String prefix) { + registerInternalEvents( + prefix + BASE_COLLECTION_START, + prefix + BASE_COLLECTION_END, + prefix + BASE_COLLECTION_ERROR, + prefix + BASE_CONN_OK, + prefix + BASE_CONN_ERROR, + prefix + BASE_NODE_OK, + prefix + BASE_NODE_FAILED); + } + + @SuppressWarnings("unchecked") + protected Class> getCollectorClass() { + return (Class>) getClass(); + } + + protected void registerInternalEvents(@NonNull String collectionStartEvent, + @NonNull String collectionEndEvent, + @NonNull String collectionErrorEvent, + @NonNull String connectionOkEvent, + @NonNull String connectionErrorEvent, + @NonNull String nodeOkEvent, + @NonNull String nodeFailedEvent) { + Map collectorEvents = new LinkedHashMap<>(); + collectorEvents.put(EVENT_COLLECTION_START, collectionStartEvent); + collectorEvents.put(EVENT_COLLECTION_END, collectionEndEvent); + collectorEvents.put(EVENT_COLLECTION_ERROR, collectionErrorEvent); + collectorEvents.put(EVENT_CONN_OK, connectionOkEvent); + collectorEvents.put(EVENT_CONN_ERROR, connectionErrorEvent); + collectorEvents.put(EVENT_NODE_OK, nodeOkEvent); + collectorEvents.put(EVENT_NODE_FAILED, nodeFailedEvent); + log.debug("Collectors::{}: registerInternalEvents: BEFORE REGISTRATION: collector-class={}, events={}", collectorId, getClass(), collectorEvents); + + Class> clazz = getCollectorClass(); + nodeToNodeEventsMap.put(clazz, collectorEvents); + log.debug("Collectors::{}: registerInternalEvents: AFTER REGISTRATION: collector-class={}, events={}", collectorId, clazz, collectorEvents); + } + + private Map getInternalEvents() { + log.debug("Collectors::{}: getInternalEvents: BEGIN: collector-class={}", collectorId, getClass()); + Class> clazz = getCollectorClass(); + Map collectorEvents = nodeToNodeEventsMap.get(clazz); + log.debug("Collectors::{}: getInternalEvents: END: collector-class={}, events={}", collectorId, clazz, collectorEvents); + return collectorEvents; + } + + private COLLECTION_RESULT collectAndPublishData(@NonNull String nodeAddress) { + if (ignoredNodes.containsKey(nodeAddress)) { + log.debug/*info*/("Collectors::{}: Node is in ignore list: {}", collectorId, nodeAddress); + return COLLECTION_RESULT.IGNORED; + } + + Map nodeEvents = getInternalEvents(); + try { + sendEvent(nodeEvents.get(EVENT_COLLECTION_START), nodeAddress); + _collectAndPublishData(nodeAddress); + sendEvent(nodeEvents.get(EVENT_COLLECTION_END), nodeAddress); + + //if (Optional.ofNullable(errorsMap.put(nodeAddress, 0)).orElse(0)>0) sendEvent(ABSTRACT_ENDPOINT_CONN_OK, nodeAddress); + sendEvent(nodeEvents.get(EVENT_CONN_OK), nodeAddress); + sendEvent(nodeEvents.get(EVENT_NODE_OK), nodeAddress); + errorsMap.put(nodeAddress, 0); + return COLLECTION_RESULT.OK; + } catch (Throwable t) { + int errors = errorsMap.compute(nodeAddress, (k, v) -> Optional.ofNullable(v).orElse(0) + 1); + int errorLimit = properties.getErrorLimit(); + log.warn("Collectors::{}: Exception while collecting metrics from node: {}, #errors={}, exception: {}", + collectorId, nodeAddress, errors, getExceptionMessages(t)); + log.debug("Collectors::{}: Exception while collecting metrics from node: {}, #errors={}\n", collectorId, nodeAddress, errors, t); + + sendEvent(nodeEvents.get(EVENT_COLLECTION_ERROR), nodeAddress, "errors="+errors); + sendEvent(nodeEvents.get(EVENT_CONN_ERROR), nodeAddress, "errors="+errors); + + if (errorLimit<=0 || errors >= errorLimit) { + log.warn("Collectors::{}: Too many consecutive errors occurred while attempting to collect metrics from node: {}, num-of-errors={}", collectorId, nodeAddress, errors); + log.warn("Collectors::{}: Pausing collection from Node: {}", collectorId, nodeAddress); + ignoredNodes.put(nodeAddress, null); + sendEvent(nodeEvents.get(EVENT_NODE_FAILED), nodeAddress); + } + return COLLECTION_RESULT.ERROR; + } + } + + private String getExceptionMessages(Throwable t) { + StringBuilder sb = new StringBuilder(); + while (t!=null) { + sb.append(" -> ").append(t.getClass().getName()).append(": ").append(t.getMessage()); + t = t.getCause(); + } + return sb.substring(4); + } + + private void sendEvent(String topic, String nodeAddress, String...extra) { + Map message = new HashMap<>(); + message.put("address", nodeAddress); + for (String e : extra) { + String[] s = e.split("[:=]", 2); + if (s.length==2 && StringUtils.isNotBlank(s[0])) + message.put(s[0].trim(), s[1]); + } + eventBus.send(topic, message, getClass().getName()); + } + + protected abstract ResponseEntity getData(String url); + protected abstract void processData(T data, String nodeAddress, ProcessingStats stats); + + private void _collectAndPublishData(String nodeAddress) { + String url; + if (StringUtils.isBlank(nodeAddress)) { + // Local node data collection URL + url = properties.getUrl(); + if (StringUtils.isBlank(url)) + url = String.format(properties.getUrlOfNodesWithoutClient(), "127.0.0.1"); + } else { + // Remote node data collection URL + url = String.format(properties.getUrlOfNodesWithoutClient(), nodeAddress); + } + log.debug/*info*/("Collectors::{}: Collecting data from url: {}", collectorId, url); + + log.debug("Collectors::{}: Collecting data: {}...", collectorId, url); + long startTm = System.currentTimeMillis(); + ResponseEntity response = getData(url); + long callEndTm = System.currentTimeMillis(); + log.trace("Collectors::{}: ...response: {}", collectorId, response); + + if (response.getStatusCode()==HttpStatus.OK) { + T data = response.getBody(); + ProcessingStats stats = new ProcessingStats(); + + log.trace("Collectors::{}: Processing data started: data: {}", collectorId, data); + processData(data, nodeAddress, stats); + log.trace("Collectors::{}: Processing data completed: stats: {}", collectorId, stats); + + long endTm = System.currentTimeMillis(); + log.debug("Collectors::{}: Collecting data...ok", collectorId); + //log.info("Collectors::{}: Metrics: extracted={}, published={}, failed={}", collectorId, + // stats.countSuccess + stats.countErrors, stats.countSuccess, stats.countErrors); + if (log.isInfoEnabled()) + log.debug/*info*/("Collectors::{}: Publish statistics: {}", collectorId, stats); + log.debug("Collectors::{}: Durations: rest-call={}, extract+publish={}, total={}", collectorId, + callEndTm-startTm, endTm-callEndTm, endTm-startTm); + } else { + log.warn("Collectors::{}: Collecting data...failed: Http Status: {}", collectorId, response.getStatusCode()); + } + } + + protected CollectorContext.PUBLISH_RESULT publishMetricEvent(String metricName, double metricValue, long timestamp, String nodeAddress) { + EventMap event = new EventMap(metricValue, 1, timestamp); + return publishMetricEvent(metricName, event, nodeAddress); + } + + protected CollectorContext.PUBLISH_RESULT publishMetricEvent(String metricName, EventMap event, String nodeAddress) { + boolean createTopic = properties.isCreateTopic(); + try { + String originalTopic = metricName; + boolean createDestination = (createTopic || allowedTopics!=null && allowedTopics.contains(metricName)); + if (topicMap!=null) { + String targetTopic = topicMap.get(metricName); + if (targetTopic!=null && !targetTopic.isEmpty()) + metricName = targetTopic; + } + event.setEventProperty(EmsConstant.EVENT_PROPERTY_SOURCE_ADDRESS, nodeAddress); + event.getEventProperties().put(EmsConstant.EVENT_PROPERTY_EFFECTIVE_DESTINATION, metricName); + event.getEventProperties().put(EmsConstant.EVENT_PROPERTY_ORIGINAL_DESTINATION, originalTopic); + log.debug("Collectors::{}: Publishing metric: {}: {}", collectorId, metricName, event.getMetricValue()); + CollectorContext.PUBLISH_RESULT result = collectorContext.sendEvent(null, metricName, event, createDestination); + log.trace("Collectors::{}: Publishing metric: {}: {} -> result: {}", collectorId, metricName, event.getMetricValue(), result); + return result; + } catch (Exception e) { + log.warn("Collectors::{}: Publishing metric failed: ", collectorId, e); + return CollectorContext.PUBLISH_RESULT.ERROR; + } + } + + protected void updateStats(CollectorContext.PUBLISH_RESULT publishResult, ProcessingStats stats) { + if (publishResult==CollectorContext.PUBLISH_RESULT.SENT) stats.countSuccess++; + else if (publishResult==CollectorContext.PUBLISH_RESULT.SKIPPED) stats.countSkipped++; + else if (publishResult==CollectorContext.PUBLISH_RESULT.ERROR) stats.countErrors++; + } + + protected static class ProcessingStats { + public int countSuccess; + public int countErrors; + public int countSkipped; + + public int getCountTotal() { + return countSuccess+countSkipped+countErrors; + } + + public String toString() { + return String.format("extracted: %d, published: %d, skipped: %d, failed: %d", getCountTotal(), countSuccess, countSkipped, countErrors); + } + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/AbstractEndpointCollectorProperties.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/AbstractEndpointCollectorProperties.java new file mode 100644 index 0000000..68adc5d --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/AbstractEndpointCollectorProperties.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.collector; + +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; + +import java.util.List; + +@Slf4j +@Data +public class AbstractEndpointCollectorProperties implements InitializingBean { + private boolean enable; + private long delay; + private String url; + private String urlOfNodesWithoutClient; + private boolean skipLocal = false; + private boolean createTopic; + private List allowedTopics; + + private int errorLimit; // num of consecutive errors. Zero or negative value will immediately trigger self-healing + + @Override + public void afterPropertiesSet() throws Exception { + log.debug("AbstractEndpointCollectorProperties: {}", this); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/CollectorContext.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/CollectorContext.java new file mode 100644 index 0000000..a5eae64 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/CollectorContext.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.collector; + +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.common.client.SshClient; +import gr.iccs.imu.ems.common.client.SshClientProperties; +import gr.iccs.imu.ems.util.ClientConfiguration; + +import java.io.Serializable; +import java.util.List; +import java.util.Set; + +public interface CollectorContext

{ + enum PUBLISH_RESULT { SENT, SKIPPED, ERROR } + + List getNodeConfigurations(); + Set getNodesWithoutClient(); + boolean isAggregator(); + PUBLISH_RESULT sendEvent(String connectionString, String destinationName, EventMap event, boolean createDestination); + default SshClient

getSshClient() { return null; } + default P getSshClientProperties() { return null; } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/netdata/NetdataCollector.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/netdata/NetdataCollector.java new file mode 100644 index 0000000..ef4fd9b --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/netdata/NetdataCollector.java @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.collector.netdata; + +import gr.iccs.imu.ems.common.collector.AbstractEndpointCollector; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.util.EventBus; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.http.ResponseEntity; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.web.client.RestTemplate; + +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + +/** + * Collects measurements from Netdata http server + */ +@Slf4j +public class NetdataCollector extends AbstractEndpointCollector { + public final static String NETDATA_COLLECTION_START = "NETDATA_COLLECTION_START"; + public final static String NETDATA_COLLECTION_OK = "NETDATA_COLLECTION_OK"; + public final static String NETDATA_COLLECTION_ERROR = "NETDATA_COLLECTION_ERROR"; + public final static String NETDATA_CONN_OK = "NETDATA_CONN_OK"; + public final static String NETDATA_CONN_ERROR = "NETDATA_CONN_ERROR"; + public final static String NETDATA_NODE_OK = "NETDATA_NODE_OK"; + public final static String NETDATA_NODE_FAILED = "NETDATA_NODE_FAILED"; + + protected NetdataCollectorProperties properties; + protected RestTemplate restTemplate = new RestTemplate(); + + @SuppressWarnings("unchecked") + public NetdataCollector(String id, NetdataCollectorProperties properties, CollectorContext collectorContext, TaskScheduler taskScheduler, EventBus eventBus) { + super(id, properties, collectorContext, taskScheduler, eventBus); + this.properties = properties; + } + + @Override + public void afterPropertiesSet() { + log.debug("Collectors::Netdata: properties: {}", properties); + super.afterPropertiesSet(); + + if (StringUtils.isBlank(properties.getUrl())) { + String url = "http://127.0.0.1:19999/api/v1/allmetrics?format=json"; + log.debug("Collectors::Netdata: URL not specified. Assuming {}", url); + properties.setUrl(url); + } + + this.restTemplate = new RestTemplateBuilder() + .setConnectTimeout(Duration.ofSeconds(5)) + .setReadTimeout(Duration.ofSeconds(5)) + .build(); + + registerInternalEvents(NETDATA_COLLECTION_START, NETDATA_COLLECTION_OK, NETDATA_COLLECTION_ERROR, + NETDATA_CONN_OK, NETDATA_CONN_ERROR, NETDATA_NODE_OK, NETDATA_NODE_FAILED); + } + + protected ResponseEntity getData(String url) { + return restTemplate.getForEntity(url, HashMap.class); + } + + protected void processData(HashMap data, String nodeAddress, ProcessingStats stats) { + Map dataMap = data; + for (Object key : dataMap.keySet()) { + log.trace("Collectors::Netdata: ...Loop-1: key={}", key); + if (key==null) continue; + Map keyData = (Map)dataMap.get(key); + log.trace("Collectors::Netdata: ...Loop-1: key-data={}", keyData); + long timestamp = Long.parseLong( keyData.get("last_updated").toString() ); + Map dimensionsMap = (Map)keyData.get("dimensions"); + + log.trace("Collectors::Netdata: ...Loop-1: ...dimensions-keys: {}", dimensionsMap.keySet()); + for (Object dimKey : dimensionsMap.keySet()) { + log.trace("Collectors::Netdata: ...Loop-1: ...dimensions-key: {}", dimKey); + if (dimKey==null) continue; + String metricName = ("netdata."+ key + "."+ dimKey).replace(".", "__"); + log.trace("Collectors::Netdata: ...Loop-1: ...metric-name: {}", metricName); + Map dimData = (Map)dimensionsMap.get(dimKey); + Object valObj = dimData.get("value"); + log.trace("Collectors::Netdata: ...Loop-1: ...metric-value: {}", valObj); + if (valObj!=null) { + double metricValue = Double.parseDouble(valObj.toString()); + log.trace("Collectors::Netdata: {} = {}", metricName, metricValue); + + updateStats(publishMetricEvent(metricName, metricValue, timestamp, nodeAddress), stats); + } + } + + if (Thread.currentThread().isInterrupted()) break; + } + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/netdata/NetdataCollectorProperties.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/netdata/NetdataCollectorProperties.java new file mode 100644 index 0000000..c8ef7e2 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/netdata/NetdataCollectorProperties.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.collector.netdata; + +import gr.iccs.imu.ems.common.collector.AbstractEndpointCollectorProperties; +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Slf4j +@Data +@EqualsAndHashCode(callSuper = true) +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "collector.netdata") +public class NetdataCollectorProperties extends AbstractEndpointCollectorProperties { + @Override + public void afterPropertiesSet() throws Exception { + log.debug("NetdataCollectorProperties: {}", this); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/OpenMetricsParser.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/OpenMetricsParser.java new file mode 100644 index 0000000..1487570 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/OpenMetricsParser.java @@ -0,0 +1,340 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.collector.prometheus; + +import lombok.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.*; + +/** + * Parses OpenMetrics-formatted input + */ +@Slf4j +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OpenMetricsParser { + + public static void main(String[] args) throws IOException { + OpenMetricsParser parser = new OpenMetricsParser(); + for (String file : args) { + log.info("Processing file: {}", file); + List lines = Files.readAllLines(Paths.get(file)); + List metricInstances = parser.processInput(lines.toArray(new String[0])); + log.info("Results:\n{}", metricInstances); + } + } + + private boolean throwExceptionWhenExcessiveCharsOccur; + + public List processInput(String[] lines) { + LinkedHashMap tags = new LinkedHashMap<>(); + + ProcessingContext context = new ProcessingContext(); + List results = new ArrayList<>(); + for (String line : lines) { + log.debug("OpenMetricsParser: processInput: Looping...: line: {}", line); + line = line.trim(); + if (line.isEmpty()) { + log.trace("OpenMetricsParser: Skip blank line"); + continue; + } + + MetricInstance metricInstance = processLine(line, tags, context); + if (metricInstance!=null) + results.add( metricInstance ); + } + return results; + } + + public MetricInstance processLine(@NonNull String line) { + return processLine(line, new LinkedHashMap<>(), null); + } + + public MetricInstance processLine(@NonNull String line, @NonNull Map tags, ProcessingContext context) { + try { + if (line.charAt(0) == '#') { + line = line.substring(1).trim(); + String[] part = line.split(" ", 2); + + if ("HELP".equalsIgnoreCase(part[0])) { + log.debug("OpenMetricsParser: processLine: Found HELP line: {}", line); // Ignore HELP line + if (part.length<2) + throw new MalformedMetricLineException("HELP line is malformed: "+line); + part = part[1].split("[ \t\r]+", 2); + if (StringUtils.isBlank(part[0])) + throw new MalformedMetricLineException("HELP line is malformed: "+line); + String newMetricName = part[0].trim(); + String helpText = part.length>1 ? part[1] : null; + if (context.getMetricHelpTexts().containsKey(newMetricName)) + throw new MalformedMetricLineException("HELP for metric has already been set: " + newMetricName); + context.getMetricHelpTexts().put(newMetricName, processHelpText(helpText)); + + } else if ("TYPE".equalsIgnoreCase(part[0])) { + log.debug("OpenMetricsParser: processLine: Found TYPE line: {}", line); // Ignore TYPE line + if (part.length<2) + throw new MalformedMetricLineException("TYPE line is malformed: "+line); + part = part[1].split("[ \t\r]+"); + if (part.length!=2) + throw new MalformedMetricLineException("TYPE line is malformed: "+line); + if (StringUtils.isBlank(part[0])) + throw new MalformedMetricLineException("TYPE line is malformed: "+line); + String newMetricName = part[0].trim(); + METRIC_TYPE newMetricType = METRIC_TYPE.valueOf(part[1].trim().toUpperCase()); + if (context.getMetricTypes().containsKey(newMetricName)) + throw new MalformedMetricLineException("TYPE for metric has already been set: " + newMetricName); + context.getMetricTypes().put(newMetricName, newMetricType); + } else + log.debug("OpenMetricsParser: processLine: Found comment line: {}", line); // Ignore comment + + return null; + + } else { + log.debug("OpenMetricsParser: processLine: Found metric line: {}", line); + + // init line processing + int i = 0; + int lineLength = line.length(); + tags.clear(); + + // get metric name + String metricName = getIdentifier(line, i); + log.trace("OpenMetricsParser: processLine: metricName: {}", metricName); + i += metricName.length(); + i = skipWhites(line, i); + + // check for tag list opening ('{') + if (line.charAt(i)=='{') { + // tag list found... skip white chars + i = skipWhites(line, i+1); + + // process tags... + while (true) { + // get tag name + String tagName = getIdentifier(line, i); + log.trace("OpenMetricsParser: processLine: tagName: {}", tagName); + i += tagName.length(); + i = skipWhites(line, i); + + if (line.charAt(i)!='=') + throw new MalformedMetricLineException("Expected '=' after tag name"); + i = skipWhites(line, i+1); + + // get tag value + String tagValue = getTagValue(line, i); + i += tagValue.length(); + i++; // skip tag value closing quote + i = skipWhites(line, i+1); + tagValue = processEscapeSequences(tagValue); + log.trace("OpenMetricsParser: processLine: tagValue: {}", tagValue); + + if (i==lineLength) + throw new MalformedMetricLineException("Line end reached. Tag list not closed after last tag value"); + + // check for a comma following tag value + boolean commaFound = false; + if (line.charAt(i)==',') { + commaFound = true; + i = skipWhites(line, i+1); + if (i==lineLength) + throw new MalformedMetricLineException("Line end reached. Tag list not closed after last comma"); + } + + // add tag pair in tags map + log.trace("OpenMetricsParser: processLine: tag pair: {} = {}", tagName, tagValue); + tags.put(tagName, tagValue); + + // check for tag list closing + if (line.charAt(i)=='}') { + i = skipWhites(line, i+1); + break; + } else if (!commaFound) + throw new MalformedMetricLineException("Expected ',' or '}' after tag value"); + else + ; // repeat + } + } + if (i==lineLength) + throw new MalformedMetricLineException("Line end reached. No metric value found after tag list"); + + // get metric value + String valueStr = getNonWhites(line, i); + log.trace("OpenMetricsParser: metricValue: {}", valueStr); + if (valueStr.isEmpty()) + throw new MalformedMetricLineException("No valid metric value found"); + i += valueStr.length(); + + // check for (optional) timestamp + String tmStr = null; + if (istart)) i++; + String identifier = line.substring(start, i); + if (identifier.isEmpty()) throw new MalformedMetricLineException("No valid identifier found"); + return identifier; + } + + protected String getTagValue(String line, int i) { + int start = i; + int lineLength = line.length(); + + // check for tag value opening quote (") + if (line.charAt(i)!='\"') + throw new MalformedMetricLineException("Expected '\"' to open tag value"); + i++; + + // read tag value (chars until first unescaped quote) + while (i tags, ProcessingContext context) { + // Prepare value + valueStr = valueStr.trim(); + double value; + try { + if ("NaN".equalsIgnoreCase(valueStr)) value = Double.NaN; + else if ("Inf".equalsIgnoreCase(valueStr)) value = Double.POSITIVE_INFINITY; + else if ("+Inf".equalsIgnoreCase(valueStr)) value = Double.POSITIVE_INFINITY; + else if ("-Inf".equalsIgnoreCase(valueStr)) value = Double.NEGATIVE_INFINITY; + else value = Double.parseDouble(valueStr); + } catch (Exception e) { + throw new MalformedMetricLineException("Invalid metric value: "+valueStr, e); + } + + // Prepare timestamp + long timestamp; + try { + timestamp = (tmStr != null && !tmStr.trim().isEmpty()) ? Long.parseLong(tmStr.trim()) : System.currentTimeMillis(); + } catch (Exception e) { + throw new MalformedMetricLineException("Invalid timestamp: "+tmStr, e); + } + + // Prepare type and help text + METRIC_TYPE metricType = context!=null ? context.getMetricTypes().computeIfAbsent(metricName, s->METRIC_TYPE.UNTYPED) : METRIC_TYPE.UNTYPED; + String helpText = context!=null ? context.getMetricHelpTexts().computeIfAbsent(metricName, s->null) : null; + + // Create metric instance + return MetricInstance.builder() + .metricName(metricName) + .metricType(metricType) + .metricValue(value) + .timestamp(timestamp) + .tags(new LinkedHashMap<>(tags)) + .helpText(helpText) + .build(); + } + + public enum METRIC_TYPE { UNTYPED, COUNTER, GAUGE, HISTOGRAM, SUMMARY } + + @Data + public static class ProcessingContext { + private Map metricTypes = new HashMap<>(); + private Map metricHelpTexts = new HashMap<>(); + } + + @Data + @Builder + public static class MetricInstance { + @NonNull private final String metricName; + @NonNull private final METRIC_TYPE metricType; + private final double metricValue; + private final long timestamp; + private final Map tags; + private final String helpText; + } + + public static class MalformedMetricLineException extends RuntimeException { + public MalformedMetricLineException() { super(); } + public MalformedMetricLineException(String message) { super(message); } + public MalformedMetricLineException(String message, Throwable t) { super(message, t); } + public MalformedMetricLineException(Throwable t) { super(t); } + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/PrometheusCollector.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/PrometheusCollector.java new file mode 100644 index 0000000..751a04d --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/PrometheusCollector.java @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.collector.prometheus; + +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.common.collector.AbstractEndpointCollector; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.util.EventBus; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.http.ResponseEntity; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.web.client.RestTemplate; + +import java.time.Duration; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * Collects measurements from a Prometheus exporter endpoint + */ +@Slf4j +public class PrometheusCollector extends AbstractEndpointCollector { + protected PrometheusCollectorProperties properties; + protected RestTemplate restTemplate = new RestTemplate(); + + private Set allowedTags; + private boolean allowTagsInDestinationName; + private String destinationNameFormatter = "${metricName}"; + private boolean addTagsAsEventProperties; + private boolean addTagsInEventPayload; + + @SuppressWarnings("unchecked") + public PrometheusCollector(String id, PrometheusCollectorProperties properties, CollectorContext collectorContext, TaskScheduler taskScheduler, EventBus eventBus) { + super(id, properties, collectorContext, taskScheduler, eventBus); + this.properties = properties; + } + + @Override + public void afterPropertiesSet() { + log.debug("Collectors::{}: properties: {}", collectorId, properties); + super.afterPropertiesSet(); + + this.allowedTags = properties.getAllowedTags(); + this.allowTagsInDestinationName = properties.isAllowTagsInDestinationName(); + this.destinationNameFormatter = properties.getDestinationNameFormatter(); + this.addTagsAsEventProperties = properties.isAddTagsAsEventProperties(); + this.addTagsInEventPayload = properties.isAddTagsInEventPayload(); + + if (StringUtils.isBlank(properties.getUrl())) { + String url = "http://127.0.0.1:9090/metrics"; + log.debug("Collectors::{}: URL not specified. Assuming {}", collectorId, url); + properties.setUrl(url); + } + + this.restTemplate = new RestTemplateBuilder() + .setConnectTimeout(Duration.ofSeconds(5)) + .setReadTimeout(Duration.ofSeconds(5)) + .build(); + } + + protected ResponseEntity getData(String url) { + return restTemplate.getForEntity(url, String.class); + } + + protected void processData(String data, String nodeAddress, ProcessingStats stats) { + String[] lines = data.split("\n"); + + List metricInstances = + new OpenMetricsParser(properties.isThrowExceptionWhenExcessiveCharsOccur()).processInput(lines); + log.debug("Collectors::{}: Metric instances extracted: {}", collectorId, metricInstances); + + for (OpenMetricsParser.MetricInstance instance : metricInstances) { + // Create event + EventMap event = new EventMap(instance.getMetricValue(), 1, instance.getTimestamp()); + + // Add tags into event properties and/or payload + Map tags = instance.getTags(); + if (tags != null) { + if (allowedTags != null && allowedTags.size() > 0) { + tags.keySet().retainAll(allowedTags); + } + + if (addTagsAsEventProperties) + event.getEventProperties().putAll(tags); + if (addTagsInEventPayload) + event.putAll(tags); + } + + // Get destination names and publish event + String baseMetricName = instance.getMetricName(); + String destination = StringUtils.isNotBlank(destinationNameFormatter) + ? destinationNameFormatter.replace("${metricName}", baseMetricName) + : baseMetricName; + log.debug("Collectors::{}: Metric instances extracted: {}", collectorId, destination); + + if (!destination.contains("${")) { + log.debug("Collectors::{}: Publishing event to destination: {}", collectorId, destination); + updateStats(publishMetricEvent(destination, event, nodeAddress), stats); + } else + if (allowTagsInDestinationName && tags!=null && tags.size()>0) { + tags.forEach((name,value) -> { + String d = destination.replace("${"+name+"}", value); + log.debug("Collectors::{}: Publishing event to tagged destination: {}", collectorId, d); + updateStats(publishMetricEvent(d, event, nodeAddress), stats); + }); + } + + if (Thread.currentThread().isInterrupted()) break; + } + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/PrometheusCollectorProperties.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/PrometheusCollectorProperties.java new file mode 100644 index 0000000..8b226de --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/collector/prometheus/PrometheusCollectorProperties.java @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.collector.prometheus; + +import gr.iccs.imu.ems.common.collector.AbstractEndpointCollectorProperties; +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import java.util.Set; + +@Slf4j +@Data +@EqualsAndHashCode(callSuper = true) +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "collector.prometheus") +public class PrometheusCollectorProperties extends AbstractEndpointCollectorProperties { + private Set allowedTags; + private boolean allowTagsInDestinationName; + private String destinationNameFormatter = "${metricName}"; + private boolean addTagsAsEventProperties; + private boolean addTagsInEventPayload; + private boolean throwExceptionWhenExcessiveCharsOccur; + + public PrometheusCollectorProperties() { + setUrl("http://127.0.0.1:9090/metrics"); + setUrlOfNodesWithoutClient("http://%s:9090/metrics"); + } + + @Override + public void afterPropertiesSet() throws Exception { + log.debug("PrometheusCollectorProperties: {}", this); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/misc/EventConstant.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/misc/EventConstant.java new file mode 100644 index 0000000..da7ec7c --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/misc/EventConstant.java @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.misc; + +/** + * Common Event Constants + */ +public class EventConstant { + public final static String EVENT_CLIENT_CONFIG_UPDATED = "EVENT_CLIENT_CONFIG_UPDATED"; +} \ No newline at end of file diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/misc/SystemResourceMonitor.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/misc/SystemResourceMonitor.java new file mode 100644 index 0000000..435f89f --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/misc/SystemResourceMonitor.java @@ -0,0 +1,163 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.misc; + +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Service; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.time.Duration; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.ScheduledFuture; + +@Slf4j +@Service +@RequiredArgsConstructor +public class SystemResourceMonitor implements Runnable, InitializingBean { + @Getter @Setter + private boolean enabled = Boolean.parseBoolean( + System.getenv().getOrDefault("EMS_SYSMON_ENABLED", "true")); + @Getter @Setter + private long period = Math.max(1000L,Long.parseLong( + System.getenv().getOrDefault("EMS_SYSMON_PERIOD", "30000"))); + @Getter @Setter + private String commandStr = System.getenv().getOrDefault("EMS_SYSMON_COMMAND", "./bin/sysmon.sh"); + @Getter @Setter + private String systemResourceMetricsTopic = System.getenv("EMS_SYSMON_TOPIC"); + @Getter @Setter + private boolean publishAsMetrics = Boolean.parseBoolean( + Objects.requireNonNullElse(System.getenv("EMS_SYSMON_PUBLISH_AS_METRICS"), "false") ); + + private final BrokerCepService brokerCepService; + private final TaskScheduler scheduler; + private ScheduledFuture future; + @Getter + private Map latestMeasurements; + + private final Map topicsCache = new HashMap<>(); + + @Override + public void afterPropertiesSet() throws Exception { + if (!enabled) log.warn("SystemResourceMonitor is disabled"); + else start(); + } + + public void start() { + if (!enabled) return; + if (future!=null) { + log.warn("SystemResourceMonitor is already running"); + return; + } + future = scheduler.scheduleAtFixedRate(this, Duration.ofMillis(period)); + log.info("SystemResourceMonitor started"); + } + + public void stop() { + if (!enabled) return; + if (future==null || future.isCancelled()) { + log.warn("SystemResourceMonitor is already stopped"); + return; + } + future.cancel(true); + future = null; + topicsCache.clear(); + log.info("SystemResourceMonitor stopped"); + } + + public void run() { + if (!enabled) return; + StringBuilder result = new StringBuilder(); + try { + if (StringUtils.isBlank(commandStr)) { + log.debug("SystemResourceMonitor: Nothing to do. System metrics command is blank: {}", commandStr); + return; + } + log.debug("SystemResourceMonitor: Getting system metrics with command: {}", commandStr); + Runtime r = Runtime.getRuntime(); + Process p = r.exec(commandStr); + BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); + String inputLine; + while ((inputLine = in.readLine()) != null) { + result.append(inputLine).append("\n"); + } + in.close(); + log.debug("SystemResourceMonitor: Script output:\n{}", result); + + if (publishAsMetrics) + processOutputAsMetrics(result.toString()); + else + processOutput(result.toString()); + + } catch (IOException e) { + log.warn("SystemResourceMonitor: EXCEPTION: ", e); + } + } + + @SneakyThrows + private void processOutput(String result) { + log.debug("SystemResourceMonitor: processOutput: BEGIN:\n{}", result); + if (StringUtils.isBlank(systemResourceMetricsTopic)) { + log.debug("SystemResourceMonitor: processOutput: END: No metrics topic has been set. Will not publish metrics event"); + return; + } + + EventMap event = new EventMap(); + for (String line : result.split("\n")) { + String[] part = line.split(":", 2); + String metricName = part[0].trim().toLowerCase(); + double metricValue= Double.parseDouble(part[1].trim()); + event.put(metricName, metricValue); + } + this.latestMeasurements = Collections.unmodifiableMap(event); + log.debug("SystemResourceMonitor: processOutput: Metrics: {}", event); + + log.trace("SystemResourceMonitor: processOutput: Will publish metrics event to topic: {}", systemResourceMetricsTopic); + brokerCepService.publishEvent(null, systemResourceMetricsTopic, event); + log.debug("SystemResourceMonitor: processOutput: END: Metrics event published to topic: {}", systemResourceMetricsTopic); + } + + @SneakyThrows + private void processOutputAsMetrics(String result) { + log.debug("SystemResourceMonitor: processOutputNew: BEGIN:\n{}", result); + if (StringUtils.isBlank(systemResourceMetricsTopic)) { + log.debug("SystemResourceMonitor: processOutputNew: END: No metrics topic has been set. Will not publish metrics event"); + return; + } + + EventMap latest = new EventMap(); + for (String line : result.split("\n")) { + String[] part = line.split(":", 2); + String metricName = part[0].trim().toLowerCase(); + double metricValue= Double.parseDouble(part[1].trim()); + latest.put(metricName, metricValue); + + String topic = topicsCache.computeIfAbsent(metricName, s -> systemResourceMetricsTopic + s.trim().toUpperCase()); + log.trace("SystemResourceMonitor: processOutputNew: Will publish {} metric event to topic: {}", metricName, topic); + brokerCepService.publishEvent(null, topic, new EventMap(metricValue)); + log.trace("SystemResourceMonitor: processOutputNew: END: {} metric event published to topic: {}", metricName, topic); + } + this.latestMeasurements = Collections.unmodifiableMap(latest); + log.debug("SystemResourceMonitor: processOutputNew: END: Latest Metrics: {}", latest); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/plugin/PluginManager.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/plugin/PluginManager.java new file mode 100644 index 0000000..9957936 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/plugin/PluginManager.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.plugin; + +import gr.iccs.imu.ems.util.Plugin; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * Plugin Manager + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class PluginManager implements InitializingBean { + private List activePlugins = new LinkedList<>(); + + @Override + public void afterPropertiesSet() throws Exception { + log.info("PluginManager: Started"); + } + + @SafeVarargs + public final void initializePlugins(Class... pluginClasses) { + initializePlugins(Arrays.asList(pluginClasses)); + } + + public void initializePlugins(@NonNull List> pluginClasses) { + pluginClasses.forEach(this::initializePlugin); + } + + @SneakyThrows + public synchronized void initializePlugin(Class pluginClass) { + Plugin plugin = pluginClass.getConstructor().newInstance(); + activePlugins.add(plugin); + plugin.start(); + } + + public synchronized void stopPlugins() { + activePlugins.forEach(Plugin::stop); + activePlugins.clear(); + } + + public synchronized void stopPlugin(@NonNull Plugin plugin) { + if (activePlugins.contains(plugin)) { + activePlugins.remove(plugin); + plugin.stop(); + } + } + + public List getActivePlugins() { + return Collections.unmodifiableList(activePlugins); + } + + public List getActivePlugins(@NonNull Class type) { + return activePlugins.stream() + .filter(plugin -> type.isAssignableFrom(plugin.getClass())) + .collect(Collectors.toList()); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/AbstractRecoveryTask.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/AbstractRecoveryTask.java new file mode 100644 index 0000000..cddddd1 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/AbstractRecoveryTask.java @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.Getter; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.text.StringSubstitutor; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.time.Instant; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; + +@Slf4j +@Component +@RequiredArgsConstructor +public abstract class AbstractRecoveryTask implements RecoveryTask { + @NonNull protected final EventBus eventBus; + @NonNull protected final PasswordUtil passwordUtil; + @NonNull protected final TaskScheduler taskScheduler; + @NonNull protected final SelfHealingProperties selfHealingProperties; + + @NonNull + @Getter @Setter + protected Map nodeInfo = Collections.emptyMap(); + + public abstract List getRecoveryCommands(); + public abstract void runNodeRecovery(RecoveryContext recoveryContext) throws Exception; + public abstract void runNodeRecovery(List recoveryCommands, RecoveryContext recoveryContext) throws Exception; + + protected void waitFor(long millis, String description) { + if (millis>0) { + log.warn("############## Waiting for {}ms after {}...", millis, description); + try { Thread.sleep(millis); } catch (InterruptedException ignored) { } + } + } + + protected void redirectOutput(InputStream in, String id, AtomicBoolean closed, String connectionClosedMessageFormatter, String exceptionMessageFormatter) { + taskScheduler.schedule(() -> { + try { + try (BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { + while (reader.ready()) { + log.info(" {}> {}", id, reader.readLine()); + } + } + } catch (IOException e) { + if (closed.get()) { + log.info(connectionClosedMessageFormatter, id); + } else { + log.error(exceptionMessageFormatter, id, e); + } + } + }, + Instant.now() + ); + } + + protected String prepareCommandString(String command, RecoveryContext recoveryContext) { + log.trace("AbstractRecoveryTask.prepareCommandString: BEGIN: {}", command); + command = StringSubstitutor.replaceSystemProperties(command); + log.trace("AbstractRecoveryTask.prepareCommandString: AFTER replaceSystemProperties: {}", command); + Map variablesMap = recoveryContext.getVariablesMap(); + log.trace("AbstractRecoveryTask.prepareCommandString: VARS: {}", variablesMap); + command = StringSubstitutor.replace(command, variablesMap); + log.trace("AbstractRecoveryTask.prepareCommandString: END: {}", command); + return command; + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/EmsClientRecoveryTask.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/EmsClientRecoveryTask.java new file mode 100644 index 0000000..4062e88 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/EmsClientRecoveryTask.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import gr.iccs.imu.ems.common.client.SshClientProperties; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.Getter; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * EMS client Self-Healing + */ +@Slf4j +@Component +public class EmsClientRecoveryTask

extends VmNodeRecoveryTask

{ + @Getter + private final List recoveryCommands = List.of( + new RECOVERY_COMMAND("Initial wait...", + "pwd", 0, 0), + new RECOVERY_COMMAND("Sending baguette client kill command...", + "${BAGUETTE_CLIENT_BASE_DIR}/bin/kill.sh", 0, 2000), + new RECOVERY_COMMAND("Sending baguette client start command...", + "${BAGUETTE_CLIENT_BASE_DIR}/bin/run.sh", 0, 10000) + ); + + public EmsClientRecoveryTask(@NonNull EventBus eventBus, @NonNull PasswordUtil passwordUtil, @NonNull TaskScheduler taskScheduler, @NonNull CollectorContext

collectorContext, @NonNull SelfHealingProperties selfHealingProperties) { + super(eventBus, passwordUtil, taskScheduler, selfHealingProperties, collectorContext); + } + + public void runNodeRecovery(RecoveryContext recoveryContext) throws Exception { + String emsRecoveryFile = selfHealingProperties.getRecovery().getFile().get("baguette"); + log.debug("runNodeRecovery: file={}", emsRecoveryFile); + if (StringUtils.isNotBlank(emsRecoveryFile)) + runNodeRecovery(emsRecoveryFile, recoveryContext); + else + runNodeRecovery(recoveryCommands, recoveryContext); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/NetdataAgentLocalRecoveryTask.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/NetdataAgentLocalRecoveryTask.java new file mode 100644 index 0000000..f6d6ba6 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/NetdataAgentLocalRecoveryTask.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.Getter; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * Local Netdata agent Self-Healing + */ +@Slf4j +@Component +public class NetdataAgentLocalRecoveryTask extends ShellRecoveryTask { + @Getter + private final List recoveryCommands = Collections.unmodifiableList(Arrays.asList( + new RECOVERY_COMMAND("Initial wait...", + "pwd", 0, 0), + new RECOVERY_COMMAND("Sending Netdata agent kill command...", + "sudo sh -c 'ps -U netdata -o \"pid\" --no-headers | xargs kill -9' ", 0, 2000), + new RECOVERY_COMMAND("Sending Netdata agent start command...", + "sudo netdata", 0, 10000) + )); + + public NetdataAgentLocalRecoveryTask(@NonNull EventBus eventBus, @NonNull PasswordUtil passwordUtil, @NonNull TaskScheduler taskScheduler, @NonNull SelfHealingProperties selfHealingProperties) { + super(eventBus, passwordUtil, taskScheduler, selfHealingProperties); + } + + public void runNodeRecovery(RecoveryContext recoveryContext) throws Exception { + String netdataRecoveryFile = selfHealingProperties.getRecovery().getFile().get("netdata"); + log.debug("runNodeRecovery: file={}", netdataRecoveryFile); + if (StringUtils.isNotBlank(netdataRecoveryFile)) + runNodeRecovery(netdataRecoveryFile, recoveryContext); + else + runNodeRecovery(recoveryCommands, recoveryContext); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/NetdataAgentRecoveryTask.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/NetdataAgentRecoveryTask.java new file mode 100644 index 0000000..40e1f42 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/NetdataAgentRecoveryTask.java @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import gr.iccs.imu.ems.common.client.SshClientProperties; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.Getter; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * Remote Netdata agent Self-Healing using an SSH connection + */ +@Slf4j +@Component +public class NetdataAgentRecoveryTask

extends VmNodeRecoveryTask

{ + @Getter + private final List recoveryCommands = Collections.unmodifiableList(Arrays.asList( + new RECOVERY_COMMAND("Initial wait...", + "pwd", 0, 0), + new RECOVERY_COMMAND("Sending Netdata agent kill command...", + "sudo sh -c 'ps -U netdata -o \"pid\" --no-headers | xargs kill -9' ", 0, 2000), + new RECOVERY_COMMAND("Sending Netdata agent start command...", + "sudo netdata", 0, 10000) + )); + + public NetdataAgentRecoveryTask(@NonNull EventBus eventBus, @NonNull PasswordUtil passwordUtil, @NonNull TaskScheduler taskScheduler, @NonNull CollectorContext

collectorContext, @NonNull SelfHealingProperties selfHealingProperties) { + super(eventBus, passwordUtil, taskScheduler, selfHealingProperties, collectorContext); + } + + public void runNodeRecovery(RecoveryContext recoveryContext) throws Exception { + String netdataRecoveryFile = selfHealingProperties.getRecovery().getFile().get("netdata"); + log.debug("runNodeRecovery: file={}", netdataRecoveryFile); + if (StringUtils.isNotBlank(netdataRecoveryFile)) + runNodeRecovery(netdataRecoveryFile, recoveryContext); + else + runNodeRecovery(recoveryCommands, recoveryContext); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RECOVERY_COMMAND.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RECOVERY_COMMAND.java new file mode 100644 index 0000000..f218af4 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RECOVERY_COMMAND.java @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import lombok.Data; + +@Data +public class RECOVERY_COMMAND { + private final String name; + private final String command; + private final long waitBefore; + private final long waitAfter; +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryConstant.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryConstant.java new file mode 100644 index 0000000..f340471 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryConstant.java @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +/** + * Recovery Constant + */ +public class RecoveryConstant { + public final static String SELF_HEALING_RECOVERY_STARTED = "SELF_HEALING_RECOVERY_STARTED"; + public final static String SELF_HEALING_RECOVERY_FAILED = "SELF_HEALING_RECOVERY_FAILED"; + public final static String SELF_HEALING_RECOVERY_GIVE_UP = "SELF_HEALING_RECOVERY_GIVE_UP"; + public final static String SELF_HEALING_RECOVERY_COMPLETED = "SELF_HEALING_RECOVERY_COMPLETED"; +} \ No newline at end of file diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryContext.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryContext.java new file mode 100644 index 0000000..88895ef --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryContext.java @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import lombok.Getter; +import lombok.NonNull; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Getter +@Service +@ToString +public class RecoveryContext { + private final static List variablesToRetrieve = List.of( + "BAGUETTE_CLIENT_BASE_DIR:baseDir", "BAGUETTE_CLIENT_BASE_DIR:getBaseDir()"); + + private final Map variablesMap = new HashMap<>(); + + public void initialize(@NonNull Object... sources) { + for (Object source : sources) { + log.trace("RecoveryContext.initialize: Processing source: {}", source); + initialize(source); + } + } + + public void initialize(@NonNull Object source) { + log.debug("RecoveryContext.initialize: BEGIN: source: {}", source); + try { + log.trace("RecoveryContext.initialize: variablesToRetrieve: {}", variablesToRetrieve); + Map vars = new HashMap<>(); + for (String varSpec : variablesToRetrieve) { + log.trace("RecoveryContext.initialize: var-spec={}", varSpec); + boolean isMethod = varSpec.endsWith("()"); + varSpec = isMethod ? varSpec.substring(0, varSpec.length()-2) : varSpec; + + String[] s = varSpec.split(":", 2); + String entryName = s[0]; + String varName = s.length==2 ? s[1] : s[0]; + log.trace("RecoveryContext.initialize: is-method={}, var-name={}, entry-name={}", isMethod, varName, entryName); + + try { + Object varValue; + if (isMethod) { + log.trace("RecoveryContext.initialize: Retrieving Method: {}", varName); + Method method = source.getClass().getMethod(varName); + log.trace("RecoveryContext.initialize: Method: {}", method); + varValue = method.invoke(source); + } else { + log.trace("RecoveryContext.initialize: Retrieving Field: {}", varName); + Field field = source.getClass().getField(varName); + log.trace("RecoveryContext.initialize: Field: {}", field); + varValue = field.get(source); + } + log.trace("RecoveryContext.initialize: Var-value: {} = {}", varName, varValue); + if (varValue != null) + vars.put(entryName, varValue.toString()); + } catch (NoSuchFieldException | NoSuchMethodException e) { + log.trace("RecoveryContext.initialize: Method or Field not found or not accessible: {} -- Exception: ", varName, e); + } + } + log.debug("RecoveryContext.initialize: Variables collected: {}", vars); + + log.trace("RecoveryContext.initialize: Variables map BEFORE update: {}", variablesMap); + variablesMap.putAll(vars); + log.trace("RecoveryContext.initialize: Variables map AFTER update: {}", variablesMap); + + log.debug("RecoveryContext.initialize: END"); + } catch (Exception e) { + log.error("RecoveryContext.initialize: EXCEPTION: Source={}\n", source, e); + } + } +} \ No newline at end of file diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryTask.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryTask.java new file mode 100644 index 0000000..22b3482 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/RecoveryTask.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; + +import java.io.FileReader; +import java.lang.reflect.Type; +import java.nio.file.Paths; +import java.util.List; +import java.util.Map; + +/** + * Self-Healing task + */ +public interface RecoveryTask { + Map getNodeInfo(); + void setNodeInfo(Map nodeInfo); + + List getRecoveryCommands(); + + void runNodeRecovery(RecoveryContext context) throws Exception; + + void runNodeRecovery(List recoveryCommandsList, RecoveryContext context) throws Exception; + + default void runNodeRecovery(String recoveryCommandsFile, RecoveryContext context) throws Exception { + try (FileReader reader = new FileReader(Paths.get(recoveryCommandsFile).toFile())) { + Type listType = new TypeToken>(){}.getType(); + List recoveryCommandsList = new Gson().fromJson(reader, listType); + runNodeRecovery(recoveryCommandsList, context); + } + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/SelfHealingProperties.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/SelfHealingProperties.java new file mode 100644 index 0000000..2f9174e --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/SelfHealingProperties.java @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Data +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "self.healing") +public class SelfHealingProperties implements InitializingBean { + private boolean enabled = true; + private Recovery recovery = new Recovery(); + + @Override + public void afterPropertiesSet() throws Exception { + log.debug("SelfHealingProperties: {}", this); + } + + @Data + public static class Recovery { + private long delay = 1000; + private long retryDelay = 60000; + private int maxRetries = 3; + + private Map file = new HashMap<>(); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/ShellRecoveryTask.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/ShellRecoveryTask.java new file mode 100644 index 0000000..2ef23f7 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/ShellRecoveryTask.java @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.io.InputStream; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; + +import static gr.iccs.imu.ems.common.recovery.RecoveryConstant.SELF_HEALING_RECOVERY_STARTED; +import static gr.iccs.imu.ems.common.recovery.RecoveryConstant.SELF_HEALING_RECOVERY_COMPLETED; + +/** + * Local-node Self-Healing using Shell + */ +@Slf4j +@Component +public class ShellRecoveryTask extends AbstractRecoveryTask { + public ShellRecoveryTask(EventBus eventBus, PasswordUtil passwordUtil, TaskScheduler taskScheduler, SelfHealingProperties selfHealingProperties) { + super(eventBus, passwordUtil, taskScheduler, selfHealingProperties); + } + + @SneakyThrows + public List getRecoveryCommands() { + throw new Exception("Method not implemented. Use 'runNodeRecovery(List)' instead"); + } + + public void runNodeRecovery(RecoveryContext recoveryContext) throws Exception { + throw new Exception("Method not implemented. Use 'runNodeRecovery(List)' instead"); + } + + public void runNodeRecovery(List recoveryCommands, RecoveryContext recoveryContext) throws Exception { + log.debug("ShellRecoveryTask: runNodeRecovery(): node-info={}", nodeInfo); + + // Send recovery start event + eventBus.send(SELF_HEALING_RECOVERY_STARTED, ""); + + // Carrying out recovery commands + log.info("ShellRecoveryTask: runNodeRecovery(): Executing {} recovery commands", recoveryCommands.size()); + for (RECOVERY_COMMAND command : recoveryCommands) { + if (command==null || StringUtils.isBlank(command.getCommand())) continue; + + waitFor(command.getWaitBefore(), command.getName()); + + // Run command as a local process + String commandString = prepareCommandString(command.getCommand(), recoveryContext); + log.warn("############## {}...", command.getName()); + log.warn("############## Command: {}", commandString); + Process process = Runtime.getRuntime().exec(commandString); + + // Redirect SSH output to standard output + final AtomicBoolean closed = new AtomicBoolean(false); + redirectShellOutput(process.getInputStream(), "OUT", closed); + redirectShellOutput(process.getErrorStream(), "ERR", closed); + + waitFor(command.getWaitAfter(), command.getName()); + + closed.set(true); + //if (process.isAlive()) process.destroyForcibly(); + } + log.info("ShellRecoveryTask: runNodeRecovery(): Executed {} recovery commands", recoveryCommands.size()); + + // Send recovery complete event + eventBus.send(SELF_HEALING_RECOVERY_COMPLETED, ""); + } + + private void redirectShellOutput(InputStream in, String id, AtomicBoolean closed) { + redirectOutput(in, id, closed, + "ShellRecoveryTask: redirectShellOutput(): Connection closed: id={}", + "ShellRecoveryTask: redirectShellOutput(): Exception while copying Process IN stream: id={}\n"); + //IoUtils.copy(in, System.out); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/VmNodeRecoveryTask.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/VmNodeRecoveryTask.java new file mode 100644 index 0000000..d35b8d1 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/recovery/VmNodeRecoveryTask.java @@ -0,0 +1,174 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.recovery; + +import gr.iccs.imu.ems.common.client.SshClient; +import gr.iccs.imu.ems.common.client.SshClientProperties; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.NonNull; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; + +import static gr.iccs.imu.ems.common.recovery.RecoveryConstant.SELF_HEALING_RECOVERY_COMPLETED; + +/** + * VM-node Self-Healing using an SSH connection + */ +@Slf4j +@Component +public class VmNodeRecoveryTask

extends AbstractRecoveryTask { + @NonNull private final CollectorContext

collectorContext; + + private P sshClientProperties; + + public VmNodeRecoveryTask(EventBus eventBus, PasswordUtil passwordUtil, TaskScheduler taskScheduler, SelfHealingProperties selfHealingProperties, CollectorContext

collectorContext) { + super(eventBus, passwordUtil, taskScheduler, selfHealingProperties); + this.collectorContext = collectorContext; + } + + public void setNodeInfo(@NonNull Map nodeInfo) { + super.setNodeInfo(nodeInfo); + this.sshClientProperties = createSshClientProperties(); + } + + @SneakyThrows + public List getRecoveryCommands() { + throw new Exception("Method not implemented. Use 'runNodeRecovery(List)' instead"); + } + + public void runNodeRecovery(RecoveryContext recoveryContext) throws Exception { + throw new Exception("Method not implemented. Use 'runNodeRecovery(List)' instead"); + } + + public void runNodeRecovery(List recoveryCommands, RecoveryContext recoveryContext) throws Exception { + log.debug("VmNodeRecoveryTask: runNodeRecovery(): BEGIN: recovery-command: {}", recoveryCommands); + + // Connect to Node (VM) + SshClient sshc = connectToNode(); + + // Redirect SSH output to standard output + final AtomicBoolean closed = new AtomicBoolean(false); + redirectSshOutput(sshc.getIn(), "OUT", closed); + + // Carrying out recovery commands + log.info("VmNodeRecoveryTask: runNodeRecovery(): Executing {} recovery commands", recoveryCommands.size()); + for (RECOVERY_COMMAND command : recoveryCommands) { + if (command==null || StringUtils.isBlank(command.getCommand())) continue; + + waitFor(command.getWaitBefore(), command.getName()); + + // Send command to node for execution + String commandString = prepareCommandString(command.getCommand(), recoveryContext); + log.warn("############## {}...", command.getName()); + log.warn("############## Command: {}", commandString); + sshc.getOut().println(commandString); + waitFor(command.getWaitAfter(), command.getName()); + } + log.info("VmNodeRecoveryTask: runNodeRecovery(): Executed {} recovery commands", recoveryCommands.size()); + + // Disconnect from node + disconnectFromNode(sshc, closed); + + // Send recovery complete event + eventBus.send(SELF_HEALING_RECOVERY_COMPLETED, sshClientProperties.getServerAddress()); + } + + private String str(Object o) { + if (o==null) return ""; + return o.toString(); + } + + private P createSshClientProperties() { + log.debug("VmNodeRecoveryTask: createSshClientProperties(): BEGIN:"); + + // Extract connection info and credentials + String os = str(nodeInfo.get("operatingSystem")); + String address = str(nodeInfo.get("address")); + String type = str(nodeInfo.get("type")); + String portStr = str(nodeInfo.get("ssh.port")); + String username = str(nodeInfo.get("ssh.username")); + String password = str(nodeInfo.get("ssh.password")); + String key = str(nodeInfo.get("ssh.key")); + String fingerprint = str(nodeInfo.get("ssh.fingerprint")); + String keyAlgorithm = str(nodeInfo.get("ssh.key-algorithm")); + String keyFormat = str(nodeInfo.get("ssh.key-format")); + int port = 22; + try { + if (StringUtils.isNotBlank(portStr)) + port = Integer.parseInt(portStr); + if (port<1 || port>65535) + port = 22; + } catch (Exception ignored) {} + + log.debug("VmNodeRecoveryTask: createSshClientProperties(): os={}, address={}, type={}", os, address, type); + log.debug("VmNodeRecoveryTask: createSshClientProperties(): username={}, password={}", username, passwordUtil.encodePassword(password)); + log.debug("VmNodeRecoveryTask: createSshClientProperties(): fingerprint={}, key={}", fingerprint, passwordUtil.encodePassword(key)); + + // Connect to node and restart EMS client + P config = collectorContext.getSshClientProperties(); + config.setServerAddress(address); + config.setServerPort(port); + config.setServerUsername(username); + if (!password.isEmpty()) { + config.setServerPassword(password); + } + if (!key.isEmpty()) { + config.setServerPubkey(key); + config.setServerPubkeyFingerprint(fingerprint); + config.setServerPubkeyAlgorithm(keyAlgorithm); + config.setServerPubkeyFormat(keyFormat); + } + + //XXX:TODO: Make recovery authTimeout configurable + config.setAuthTimeout(60000); + + return config; + } + + private SshClient

connectToNode() throws IOException { + SshClient

sshc = collectorContext.getSshClient(); + sshc.setConfiguration(sshClientProperties); + //XXX:TODO: Try enabling server key verification + sshc.setUseServerKeyVerifier(false); + log.info("VmNodeRecoveryTask: connectToNode(): Connecting to node using SSH: address={}, port={}, username={}", + sshClientProperties.getServerAddress(), sshClientProperties.getServerPort(), sshClientProperties.getServerUsername()); + sshc.start(); + log.debug("VmNodeRecoveryTask: connectToNode(): Connected to node: address={}, port={}, username={}", + sshClientProperties.getServerAddress(), sshClientProperties.getServerPort(), sshClientProperties.getServerUsername()); + return sshc; + } + + private void disconnectFromNode(SshClient sshc, AtomicBoolean closed) throws IOException { + log.info("VmNodeRecoveryTask: disconnectFromNode(): Disconnecting from node: address={}, port={}, username={}", + sshClientProperties.getServerAddress(), sshClientProperties.getServerPort(), sshClientProperties.getServerUsername()); + closed.set(true); + sshc.stop(); + log.debug("VmNodeRecoveryTask: disconnectFromNode(): Disconnected from node: address={}, port={}, username={}", + sshClientProperties.getServerAddress(), sshClientProperties.getServerPort(), sshClientProperties.getServerUsername()); + } + + private void redirectSshOutput(InputStream in, String id, AtomicBoolean closed) { + redirectOutput(in, id, closed, + "VmNodeRecoveryTask: redirectSshOutput(): Connection closed: id={}", + "VmNodeRecoveryTask: redirectSshOutput(): Exception while copying SSH IN stream: id={}\n"); + //IoUtils.copy(sshc.getIn(), System.out); + } +} diff --git a/ems-core/common/src/main/java/gr/iccs/imu/ems/common/selfhealing/SelfHealingManager.java b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/selfhealing/SelfHealingManager.java new file mode 100644 index 0000000..468be96 --- /dev/null +++ b/ems-core/common/src/main/java/gr/iccs/imu/ems/common/selfhealing/SelfHealingManager.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.common.selfhealing; + +import java.util.Collection; + +public interface SelfHealingManager { + enum MODE { ALL, INCLUDED, EXCLUDED } + enum NODE_STATE {NOT_MONITORED, UNKNOWN, OK, UP, ERROR, DOWN, RECOVERING } + + boolean isEnabled(); + void setEnabled(boolean b); + + MODE getMode(); + void setMode(MODE mode); + + Collection getNodes(); + boolean containsNode(T node); + boolean containsAny(Collection nodes); + boolean isMonitored(T node); + void addNode(T node); + void addAllNodes(Collection nodes); + void removeNode(T node); + void removeAllNodes(Collection nodes); + void clear(); + + NODE_STATE getNodeSelfHealingState(T node); + String getNodeSelfHealingStateText(T node); + default void setNodeSelfHealingState(T node, NODE_STATE state) { + setNodeSelfHealingState(node, state, null); + } + void setNodeSelfHealingState(T node, NODE_STATE state, String text); +} diff --git a/ems-core/common/src/main/resources/META-INF/spring.factories b/ems-core/common/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..5268298 --- /dev/null +++ b/ems-core/common/src/main/resources/META-INF/spring.factories @@ -0,0 +1 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=plugin.gr.iccs.imu.ems.common.PluginManager \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/linux-yaml/baguette-skip.yml b/ems-core/config-files/baguette-client-install/linux-yaml/baguette-skip.yml new file mode 100644 index 0000000..c1433d4 --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux-yaml/baguette-skip.yml @@ -0,0 +1,33 @@ +# +# Copyright (C) 2017-2022 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# +# Instructions Set executed when Baguette client is not installed +# (in the case of Resource-Limited nodes) +# + +--- +os: LINUX +description: EMS client SKIP installation instruction set +condition: >- + ${SKIP_BAGUETTE_INSTALLATION:-false} || + '${OS_ARCHITECTURE:-x}'.startsWith('arm') || + ${CPU_PROCESSORS:-0} <= ${BAGUETTE_INSTALLATION_MIN_PROCESSORS:-0} || + ${RAM_AVAILABLE_KB:-0} <= ${BAGUETTE_INSTALLATION_MIN_RAM:-0} || + ${DISK_FREE_KB:-0} <= ${BAGUETTE_INSTALLATION_MIN_DISK_FREE:-0} +instructions: + - description: 'DEBUG: Print node pre-registration VARIABLES' + taskType: PRINT_VARS + - description: Set __EMS_CLIENT_INSTALL__ variable + taskType: SET_VARS + variables: + __EMS_CLIENT_INSTALL__: SKIPPED + - description: Log SKIP installation + taskType: LOG + message: EMS client installation SKIPPED at Node diff --git a/ems-core/config-files/baguette-client-install/linux-yaml/baguette.yml b/ems-core/config-files/baguette-client-install/linux-yaml/baguette.yml new file mode 100644 index 0000000..0caa8cc --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux-yaml/baguette.yml @@ -0,0 +1,133 @@ +# +# Copyright (C) 2017-2022 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# +# Instructions Set for installing Baguette (ems) client in a node +# + +--- +os: LINUX +description: EMS client installation instruction set at VM node +condition: >- + ! ${SKIP_BAGUETTE_INSTALLATION:-false} && + ! '${OS_ARCHITECTURE:-x}'.startsWith('arm') && + ${CPU_PROCESSORS:-0} > ${BAGUETTE_INSTALLATION_MIN_PROCESSORS:-0} && + ${RAM_AVAILABLE_KB:-0} > ${BAGUETTE_INSTALLATION_MIN_RAM:-0} && + ${DISK_FREE_KB:-0} > ${BAGUETTE_INSTALLATION_MIN_DISK_FREE:-0} +instructions: + - description: 'DEBUG: Print node pre-registration VARIABLES' + taskType: PRINT_VARS + - description: Check if 'java' is installed at Node + taskType: CHECK + command: '${BAGUETTE_CLIENT_BASE_DIR}/jre8/bin/java -version' + executable: false + exitCode: 0 + match: false + message: Java is not installed at Node + - description: Check if EMS client is already installed at Node + taskType: CHECK + command: '[[ -f ${BAGUETTE_CLIENT_BASE_DIR}/conf/ok.txt ]] && exit 99' + executable: false + exitCode: 99 + match: true + message: EMS client is already installed at Node + - description: '-- LIST ${BAGUETTE_CLIENT_BASE_DIR}/.. BEFORE --' + taskType: CMD + command: 'ls -l ${BAGUETTE_CLIENT_BASE_DIR}/.. ' + executable: false + exitCode: 0 + match: false + - description: Log EMS client installation start + taskType: LOG + message: Starting EMS client installation at Node + - description: Upload EMS client installation package + taskType: COPY + fileName: /tmp/baguette-client.tgz + localFileName: '${EMS_PUBLIC_DIR}/resources/baguette-client.tgz' + executable: false + exitCode: 0 + match: false + - description: Upload installation package MD5 checksum + taskType: COPY + fileName: /tmp/baguette-client.tgz.md5 + localFileName: '${EMS_PUBLIC_DIR}/resources/baguette-client.tgz.md5' + executable: false + exitCode: 0 + match: false + - description: Check MD5 checksum of installation package + taskType: CHECK + command: >- + [[ `cat /tmp/baguette-client.tgz.md5` != `md5sum /tmp/baguette-client.tgz | cut -d ' ' -f 1 ` ]] && exit 99 + executable: false + exitCode: 99 + match: true + - description: Extract installation package to target folder + taskType: CMD + command: >- + ${ROOT_CMD} tar zxvf /tmp/baguette-client.tgz -C ${BAGUETTE_CLIENT_BASE_DIR}/../ + executable: false + exitCode: 0 + match: false + executionTimeout: 120000 + - description: Change files and folders ownership + taskType: CMD + command: '${ROOT_CMD} chown -R ${NODE_SSH_USERNAME} ${BAGUETTE_CLIENT_BASE_DIR}' + executable: false + exitCode: 0 + match: false + - description: Touch files + taskType: CMD + command: 'touch ${BAGUETTE_CLIENT_BASE_DIR}/logs/output.txt' + executable: false + exitCode: 0 + match: false + - description: Create conf directory + taskType: CMD + command: 'mkdir ${BAGUETTE_CLIENT_BASE_DIR}/conf/' + executable: false + exitCode: 0 + match: false + - description: Copy-and-process configuration to target + taskType: FILE + localFileName: '${EMS_CONFIG_DIR}/baguette-client/' + fileName: '${BAGUETTE_CLIENT_BASE_DIR}' + executable: false + exitCode: 0 + match: false + - description: Clean installation package from /tmp + taskType: CMD + command: rm -f /tmp/baguette-client.tgz* + executable: false + exitCode: 0 + match: false + - description: Write success file + taskType: CMD + command: 'echo SUCCESS >> ${BAGUETTE_CLIENT_BASE_DIR}/conf/ok.txt' + executable: false + exitCode: 0 + match: false + - description: '-- LIST ${BAGUETTE_CLIENT_BASE_DIR}/.. AFTER --' + taskType: CMD + command: 'ls -l ${BAGUETTE_CLIENT_BASE_DIR}/.. ' + executable: false + exitCode: 0 + match: false + - description: '-- LIST baguette-client FILES --' + taskType: CMD + command: 'ls -l ${BAGUETTE_CLIENT_BASE_DIR} ' + executable: false + exitCode: 0 + match: false + - description: Set __EMS_CLIENT_INSTALL__ variable + taskType: SET_VARS + variables: + __EMS_CLIENT_INSTALL__: INSTALLED + - description: Log installation end + taskType: LOG + message: EMS client installation completed at Node diff --git a/ems-core/config-files/baguette-client-install/linux-yaml/check-ignore.yml b/ems-core/config-files/baguette-client-install/linux-yaml/check-ignore.yml new file mode 100644 index 0000000..7ec210f --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux-yaml/check-ignore.yml @@ -0,0 +1,35 @@ +# +# Copyright (C) 2017-2022 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# +# Instructions Set to check if Node must be ignored by EMS +# Nothing will be installed by EMS in the node +# (Checks if file '/tmp/.EMS_IGNORE_NODE' exists) +# + +--- +os: LINUX +description: Check if node must be ignored +condition: '! ${SKIP_IGNORE_CHECK:-false}' +instructions: + - description: Checking for .EMS_IGNORE_NODE file... + taskType: LOG + message: Checking for .EMS_IGNORE_NODE file... + - description: Checking for .EMS_IGNORE_NODE file + taskType: CHECK + command: test -e /tmp/.EMS_IGNORE_NODE + executable: false + exitCode: 0 + match: false + - description: Set __EMS_IGNORE_NODE__ variable + taskType: SET_VARS + variables: + __EMS_IGNORE_NODE__: IGNORED + - description: Stop further processing + taskType: EXIT diff --git a/ems-core/config-files/baguette-client-install/linux-yaml/detect.yml b/ems-core/config-files/baguette-client-install/linux-yaml/detect.yml new file mode 100644 index 0000000..d48e9a2 --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux-yaml/detect.yml @@ -0,0 +1,83 @@ +# +# Copyright (C) 2017-2022 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# +# Instructions Set for detecting the node size (cores, ram, storage etc) +# + +--- +os: LINUX +description: 'Detect node features (OS, architecture, cores, RAM, disk etc)' +condition: '! ${SKIP_DETECTION:-false}' +instructions: + - description: Detecting target node type... + taskType: LOG + message: Detecting target node type... + - description: Copying detection script to node... + taskType: COPY + fileName: /tmp/detect.sh + localFileName: bin/detect.sh + executable: false + exitCode: 0 + match: false + - description: Make detection script executable + taskType: CMD + command: 'chmod +x /tmp/detect.sh ' + executable: false + exitCode: 0 + match: false + - description: Run detection script + taskType: CMD +# command: '/tmp/detect.sh &> /tmp/detect.txt' + command: 'if [ ! -e /tmp/detect.txt ]; then /tmp/detect.sh &> /tmp/detect.txt; fi' + executable: false + exitCode: 0 + match: false + - description: Copying detection results back to EMS server... + taskType: DOWNLOAD + fileName: /tmp/detect.txt + localFileName: 'logs/detect.${NODE_ADDRESS}--${TIMESTAMP-FILE}.txt' + executable: false + exitCode: 0 + match: false + patterns: + CPU_SOCKETS: '^\s*CPU_SOCKETS\s*[=:]\s*(.*)\s*' + CPU_CORES: '^\s*CPU_CORES\s*[=:]\s*(.*)\s*' + CPU_PROCESSORS: '^\s*CPU_PROCESSORS\s*[=:]\s*(.*)\s*' + RAM_TOTAL_KB: '^\s*RAM_TOTAL_KB\s*[=:]\s*(.*)\s*' + RAM_AVAILABLE_KB: '^\s*RAM_AVAILABLE_KB\s*[=:]\s*(.*)\s*' + RAM_FREE_KB: '^\s*RAM_FREE_KB\s*[=:]\s*(.*)\s*' + RAM_USED_KB: '^\s*RAM_USED_KB\s*[=:]\s*(.*)\s*' + RAM_UTILIZATION: '^\s*RAM_UTILIZATION\s*[=:]\s*(.*)\s*' + DISK_TOTAL_KB: '^\s*DISK_TOTAL_KB\s*[=:]\s*(.*)\s*' + DISK_FREE_KB: '^\s*DISK_FREE_KB\s*[=:]\s*(.*)\s*' + DISK_USED_KB: '^\s*DISK_USED_KB\s*[=:]\s*(.*)\s*' + DISK_UTILIZATION: '^\s*DISK_UTILIZATION\s*[=:]\s*(.*)\s*' + OS_ARCHITECTURE: '^\s*OS_ARCHITECTURE\s*[=:]\s*(.*)\s*' + OS_KERNEL: '^\s*OS_KERNEL\s*[=:]\s*(.*)\s*' + OS_KERNEL_RELEASE: '^\s*OS_KERNEL_RELEASE\s*[=:]\s*(.*)\s*' + - description: Detection results... + taskType: LOG + message: |- + Detection results: + CPU_SOCKETS=${CPU_SOCKETS:-na} + CPU_CORES=${CPU_CORES:-na} + CPU_PROCESSORS=${CPU_PROCESSORS:-na} + RAM_TOTAL_KB=${RAM_TOTAL_KB:-na} + RAM_AVAILABLE_KB=${RAM_AVAILABLE_KB:-na} + RAM_FREE_KB=${RAM_FREE_KB:-na} + RAM_USED_KB=${RAM_USED_KB:-na} + RAM_UTILIZATION=${RAM_UTILIZATION:-na} + DISK_TOTAL_KB=${DISK_TOTAL_KB:-na} + DISK_FREE_KB=${DISK_FREE_KB:-na} + DISK_USED_KB=${DISK_USED_KB:-na} + DISK_UTILIZATION=${DISK_UTILIZATION:-na} + OS_ARCHITECTURE=${OS_ARCHITECTURE:-na} + OS_KERNEL=${OS_KERNEL:-na} + OS_KERNEL_RELEASE=${OS_KERNEL_RELEASE:-na} diff --git a/ems-core/config-files/baguette-client-install/linux-yaml/jre8.yml b/ems-core/config-files/baguette-client-install/linux-yaml/jre8.yml new file mode 100644 index 0000000..c58c05f --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux-yaml/jre8.yml @@ -0,0 +1,79 @@ +# +# Copyright (C) 2017-2022 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# +# Instructions Set for installing JRE +# + +--- +os: LINUX +description: JRE 8u282 installation instruction set at VM node +condition: >- + ! ${SKIP_JRE_INSTALLATION:-false} && + ! '${OS_ARCHITECTURE:-x}'.startsWith('arm') && + ${CPU_PROCESSORS:-0} > ${BAGUETTE_INSTALLATION_MIN_PROCESSORS:-0} && + ${RAM_AVAILABLE_KB:-0} > ${BAGUETTE_INSTALLATION_MIN_RAM:-0} && + ${DISK_FREE_KB:-0} > ${BAGUETTE_INSTALLATION_MIN_DISK_FREE:-0} +instructions: + - description: Check if JRE 8u282 is already installed at Node + taskType: CHECK + command: '[[ -f ${BAGUETTE_CLIENT_BASE_DIR}/jre8/bin/java ]] && exit 99' + executable: false + exitCode: 99 + match: true + message: JRE 8u282 is already installed at Node + - description: Install JRE 8u282... + taskType: LOG + message: Install JRE 8u282... + - description: Mkdir Baguette Client installation folder + taskType: CMD + command: '${ROOT_CMD} mkdir -p ${BAGUETTE_CLIENT_BASE_DIR} ' + executable: false + exitCode: 0 + match: false + executionTimeout: 120000 +# - description: Download JRE package +# taskType: CMD +# command: >- +# curl -k ${DOWNLOAD_URL}/resources/zulu8.52.0.23-ca-jre8.0.282-linux_x64.tar.gz --output /tmp/jre8.282.tar.gz +# executable: false +# exitCode: 0 +# match: false + - description: Copy JRE package + taskType: COPY + fileName: /tmp/jre8.282.tar.gz + localFileName: '${EMS_PUBLIC_DIR}/resources/${JRE8_LINUX_X64_PACKAGE}' + executable: false + exitCode: 0 + match: false + - description: Extract JRE package into installation folder + taskType: CMD + command: '${ROOT_CMD} tar zxvf /tmp/jre8.282.tar.gz -C ${BAGUETTE_CLIENT_BASE_DIR}' + executable: false + exitCode: 0 + match: false + - description: Rename JRE directory + taskType: CMD + command: >- + ${ROOT_CMD} mv ${BAGUETTE_CLIENT_BASE_DIR}/zulu* ${BAGUETTE_CLIENT_BASE_DIR}/jre8 + executable: false + exitCode: 0 + match: false + - description: List BC home directory + taskType: CMD + command: 'ls -l ${BAGUETTE_CLIENT_BASE_DIR}' + executable: false + exitCode: 0 + match: false + - description: Print JRE version + taskType: CMD + command: '${BAGUETTE_CLIENT_BASE_DIR}/jre8/bin/java -version' + executable: false + exitCode: 0 + match: false diff --git a/ems-core/config-files/baguette-client-install/linux-yaml/netdata.yml b/ems-core/config-files/baguette-client-install/linux-yaml/netdata.yml new file mode 100644 index 0000000..b368069 --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux-yaml/netdata.yml @@ -0,0 +1,61 @@ +# +# Copyright (C) 2017-2022 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# +# Instructions Set for installing Netdata agent +# + +--- +os: 'LINUX' +description: Netdata installation instruction set at VM node +condition: '! ${SKIP_NETDATA_INSTALLATION:-false}' +instructions: + - description: Log Netdata installation start + taskType: LOG + message: Starting Netdata installation at Node + - description: Check if Netdata is already installed at Node + taskType: CHECK +# command: '[ $(ps -e -o pid,comm,cgroup |grep netdata |grep -v docker |grep -v lxc |wc -l) -gt 0 ] && exit 99' + command: '[[ -f /usr/sbin/netdata ]] && exit 99' + executable: false + exitCode: 99 + match: true + message: Netdata is already installed at Node + - description: Log Wait if apt is being updated + taskType: LOG + message: Wait if apt is being updated + - description: Start unattended-upgrade if available + taskType: CMD + command: >- + if command -v unattended-upgrade &> /dev/null ; + then unattended-upgrade -d ; + else echo "Command 'unattended-upgrade' is not available" ; + fi + executionTimeout: 600000 + - description: Wait if apt is being updated + taskType: CMD + command: >- + while [ `ps aux | grep -i lock_is_held | grep -v grep | wc -l` != 0 ]; do + echo "Lock_is_held..."; ps aux | grep -i lock_is_held ; sleep 10 ; + done + executionTimeout: 600000 + - description: Download Netdata kickstart.sh + taskType: CMD + command: >- + curl https://my-netdata.io/kickstart-static64.sh > /tmp/netdata-kickstart.sh + executionTimeout: 600000 + - description: Make Netdata kickstart.sh executable + taskType: CMD + command: chmod +x /tmp/netdata-kickstart.sh + executionTimeout: 600000 + - description: Run Netdata kickstart.sh + taskType: CMD + command: >- + /tmp/netdata-kickstart.sh --dont-wait --no-updates --disable-telemetry --dont-start-it --stable-channel --disable-cloud + executionTimeout: 600000 diff --git a/ems-core/config-files/baguette-client-install/linux-yaml/recover-baguette.yml b/ems-core/config-files/baguette-client-install/linux-yaml/recover-baguette.yml new file mode 100644 index 0000000..d84d1a4 --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux-yaml/recover-baguette.yml @@ -0,0 +1,31 @@ +# +# Copyright (C) 2017-2022 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# +# Instructions Set for recovering Baguette client +# + +--- +os: LINUX +description: Restarting Baguette agent at VM node +instructions: + - description: Killing previous EMS client process + taskType: CMD + command: '${BAGUETTE_CLIENT_BASE_DIR}/bin/kill.sh' + executable: false + exitCode: 0 + match: false + retries: 5 + - description: Starting new EMS client process + taskType: CMD + command: '${BAGUETTE_CLIENT_BASE_DIR}/bin/run.sh' + executable: false + exitCode: 0 + match: false + retries: 5 diff --git a/ems-core/config-files/baguette-client-install/linux-yaml/start-agents.yml b/ems-core/config-files/baguette-client-install/linux-yaml/start-agents.yml new file mode 100644 index 0000000..a009881 --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux-yaml/start-agents.yml @@ -0,0 +1,54 @@ +# +# Copyright (C) 2017-2022 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# +# Instructions Set for starting Agents: +# Baguette client, and Netdata +# + +--- +os: LINUX +description: "Starting Netdata and Baguette agents at VM node" +condition: "! ${SKIP_START:-false}" +instructions: + - description: "Launch EMS client" + taskType: CMD + command: "${BAGUETTE_CLIENT_BASE_DIR}/bin/run.sh" + executable: false + exitCode: 0 + match: false + retries: 5 + - description: "Check if Netdata is already running" + taskType: CHECK + #command: "[[ $(( `ps -ef |grep /usr/sbin/netdata |grep -v grep |wc -l`+1 )) -gt 1 ]] && exit 1 || exit 0" + command: "[[ $(ps -e -o pid,comm,cgroup |grep netdata |grep -v grep |grep -v docker |grep -v lxc |wc -l) -gt 0 ]] && exit 1 || exit 0" + executable: false + exitCode: 1 + match: true + message: "Netdata is already running" + - description: "Copy Netdata Prometheus plugin configuration to node's /tmp directory" + taskType: FILE + localFileName: "${EMS_CONFIG_DIR}/baguette-client-install/netdata/go.d/prometheus.conf" + fileName: "/tmp" + executable: false + exitCode: 0 + match: false + - description: "Move prometheus config from /tmp to /etc/netdata/go.d/ directory" + taskType: CMD + command: "echo ${NODE_SSH_PASSWORD} | sudo -- sh -c 'mkdir -p /etc/netdata/go.d/ && mv -f /tmp/prometheus.conf /etc/netdata/go.d/' " + executable: false + exitCode: 0 + match: false + - description: "Launch Netdata" + taskType: CMD + command: "echo ${NODE_SSH_PASSWORD} | sudo -S -- sh -c '/opt/netdata/bin/netdata || /usr/sbin/netdata || netdata' " + executable: false + exitCode: 0 + match: false + retries: 5 diff --git a/ems-core/config-files/baguette-client-install/linux/baguette-remove.json b/ems-core/config-files/baguette-client-install/linux/baguette-remove.json new file mode 100644 index 0000000..d353ce7 --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux/baguette-remove.json @@ -0,0 +1,33 @@ +{ + "os": "LINUX", + "description": "EMS client removal instruction set", + "instructions": [ + { + "description": "Kill EMS client if still running", + "taskType": "LOG", + "message": "Killing EMS client if still running..." + }, + { + "description": "Killing previous EMS client process", + "taskType": "CMD", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/bin/kill.sh" + }, + + { + "description": "Rename EMS client folder", + "taskType": "LOG", + "message": "Renaming EMS client folder..." + }, + { + "description": "Renaming EMS client folder if any", + "taskType": "CMD", + "command": "mv ${BAGUETTE_CLIENT_BASE_DIR}/ ${BAGUETTE_CLIENT_BASE_DIR}--$(date +%s)/" + }, + + { + "description": "Log EMS client removal", + "taskType": "LOG", + "message": "EMS client removed from Node" + } + ] +} \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/linux/baguette-skip.json b/ems-core/config-files/baguette-client-install/linux/baguette-skip.json new file mode 100644 index 0000000..2941719 --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux/baguette-skip.json @@ -0,0 +1,23 @@ +{ + "os": "LINUX", + "description": "EMS client SKIP installation instruction set", + "condition": "${SKIP_BAGUETTE_INSTALLATION:-false} || '${OS_ARCHITECTURE:-x}'.startsWith('arm') || ${CPU_PROCESSORS:-0} <= ${BAGUETTE_INSTALLATION_MIN_PROCESSORS:-0} || ${RAM_AVAILABLE_KB:-0} <= ${BAGUETTE_INSTALLATION_MIN_RAM:-0} || ${DISK_FREE_KB:-0} <= ${BAGUETTE_INSTALLATION_MIN_DISK_FREE:-0}", + "instructions": [ + { + "description": "DEBUG: Print node pre-registration VARIABLES", + "taskType": "PRINT_VARS" + }, + { + "description": "Set __EMS_CLIENT_INSTALL__ variable", + "taskType": "SET_VARS", + "variables": { + "__EMS_CLIENT_INSTALL__": "SKIPPED" + } + }, + { + "description": "Log SKIP installation", + "taskType": "LOG", + "message": "EMS client installation SKIPPED at Node" + } + ] +} \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/linux/baguette.json b/ems-core/config-files/baguette-client-install/linux/baguette.json new file mode 100644 index 0000000..5c1905d --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux/baguette.json @@ -0,0 +1,154 @@ +{ + "os": "LINUX", + "description": "EMS client installation instruction set at VM node", + "condition": "! ${SKIP_BAGUETTE_INSTALLATION:-false} && ! '${OS_ARCHITECTURE:-x}'.startsWith('arm') && ${CPU_PROCESSORS:-0} > ${BAGUETTE_INSTALLATION_MIN_PROCESSORS:-0} && ${RAM_AVAILABLE_KB:-0} > ${BAGUETTE_INSTALLATION_MIN_RAM:-0} && ${DISK_FREE_KB:-0} > ${BAGUETTE_INSTALLATION_MIN_DISK_FREE:-0}", + "instructions": [ + { + "description": "DEBUG: Print node pre-registration VARIABLES", + "taskType": "PRINT_VARS" + }, + { + "description": "Check if 'java' is installed at Node", + "taskType": "CHECK", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/jre/bin/java -version", + "executable": false, + "exitCode": 0, + "match": false, + "message": "Java is not installed at Node" + }, + { + "description": "Check if EMS client is already installed at Node", + "taskType": "CHECK", + "command": "[[ -f ${BAGUETTE_CLIENT_BASE_DIR}/conf/ok.txt ]] && exit 99", + "executable": false, + "exitCode": 99, + "match": true, + "message": "====== EMS client is already installed at Node ======" + }, + { + "description": "-- LIST ${BAGUETTE_CLIENT_BASE_DIR}/.. BEFORE --", + "taskType": "CMD", + "command": "ls -l ${BAGUETTE_CLIENT_BASE_DIR}/.. ", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Log EMS client installation start", + "taskType": "LOG", + "message": "Starting EMS client installation at Node" + }, + { + "description": "Upload EMS client installation package", + "taskType": "COPY", + "fileName": "/tmp/baguette-client.tgz", + "localFileName": "${EMS_PUBLIC_DIR}/resources/baguette-client.tgz", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Upload installation package MD5 checksum", + "taskType": "COPY", + "fileName": "/tmp/baguette-client.tgz.md5", + "localFileName": "${EMS_PUBLIC_DIR}/resources/baguette-client.tgz.md5", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Check MD5 checksum of installation package", + "taskType": "CHECK", + "command": "[[ `cat /tmp/baguette-client.tgz.md5` != `md5sum /tmp/baguette-client.tgz | cut -d ' ' -f 1 ` ]] && exit 99", + "executable": false, + "exitCode": 99, + "match": true + }, + { + "description": "Extract installation package to target folder", + "taskType": "CMD", + "command": "${ROOT_CMD} tar zxvf /tmp/baguette-client.tgz -C ${BAGUETTE_CLIENT_BASE_DIR}/../ ", + "executable": false, + "exitCode": 0, + "match": false, + "executionTimeout": 120000 + }, + { + "description": "Change files and folders ownership", + "taskType": "CMD", + "command": "${ROOT_CMD} chown -R ${NODE_SSH_USERNAME} ${BAGUETTE_CLIENT_BASE_DIR}", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Touch files", + "taskType": "CMD", + "command": "touch ${BAGUETTE_CLIENT_BASE_DIR}/logs/output.txt", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Create conf directory", + "taskType": "CMD", + "command": "mkdir ${BAGUETTE_CLIENT_BASE_DIR}/conf/", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Copy-and-process configuration to target", + "taskType": "FILE", + "localFileName": "${EMS_CONFIG_DIR}/baguette-client/", + "fileName": "${BAGUETTE_CLIENT_BASE_DIR}", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Clean installation package from /tmp", + "taskType": "CMD", + "command": "rm -f /tmp/baguette-client.tgz*", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Write success file", + "taskType": "CMD", + "command": "echo SUCCESS >> ${BAGUETTE_CLIENT_BASE_DIR}/conf/ok.txt", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "-- LIST ${BAGUETTE_CLIENT_BASE_DIR}/.. AFTER --", + "taskType": "CMD", + "command": "ls -l ${BAGUETTE_CLIENT_BASE_DIR}/.. ", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "-- LIST baguette-client FILES --", + "taskType": "CMD", + "command": "ls -l ${BAGUETTE_CLIENT_BASE_DIR} ", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Set __EMS_CLIENT_INSTALL__ variable", + "taskType": "SET_VARS", + "variables": { + "__EMS_CLIENT_INSTALL__": "INSTALLED" + } + }, + { + "description": "Log installation end", + "taskType": "LOG", + "message": "EMS client installation completed at Node" + } + ] +} \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/linux/check-ignore.json b/ems-core/config-files/baguette-client-install/linux/check-ignore.json new file mode 100644 index 0000000..419f416 --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux/check-ignore.json @@ -0,0 +1,31 @@ +{ + "os": "LINUX", + "description": "Check if node must be ignored", + "condition": "! ${SKIP_IGNORE_CHECK:-false}", + "instructions": [ + { + "description": "Checking for .EMS_IGNORE_NODE file...", + "taskType": "LOG", + "message": "Checking for .EMS_IGNORE_NODE file..." + }, + { + "description": "Checking for .EMS_IGNORE_NODE file", + "taskType": "CHECK", + "command": "test -e /tmp/.EMS_IGNORE_NODE", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Set __EMS_IGNORE_NODE__ variable", + "taskType": "SET_VARS", + "variables": { + "__EMS_IGNORE_NODE__": "IGNORED" + } + }, + { + "description": "Stop further processing", + "taskType": "EXIT" + } + ] +} \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/linux/detect.json b/ems-core/config-files/baguette-client-install/linux/detect.json new file mode 100644 index 0000000..359537f --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux/detect.json @@ -0,0 +1,69 @@ +{ + "os": "LINUX", + "description": "Detect node features (OS, architecture, cores, RAM, disk etc)", + "condition": "! ${SKIP_DETECTION:-false}", + "instructions": [ + { + "description": "Detecting target node type...", + "taskType": "LOG", + "message": "Detecting target node type..." + }, + { + "description": "Copying detection script to node...", + "taskType": "COPY", + "fileName": "/tmp/detect.sh", + "localFileName": "bin/detect.sh", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Make detection script executable", + "taskType": "CMD", + "command": "chmod +x /tmp/detect.sh ", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Run detection script", + "taskType": "CMD", + /*"command": "if [ ! -e /tmp/detect.txt ]; then /tmp/detect.sh &> /tmp/detect.txt; fi",*/ + "command": "/tmp/detect.sh &> /tmp/detect.txt", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Copying detection results back to EMS server...", + "taskType": "DOWNLOAD", + "fileName": "/tmp/detect.txt", + "localFileName": "logs/detect.${NODE_ADDRESS}--${TIMESTAMP-FILE}.txt", + "executable": false, + "exitCode": 0, + "match": false, + "patterns": { + "CPU_SOCKETS": "^\\s*CPU_SOCKETS\\s*[=:]\\s*(.*)\\s*", + "CPU_CORES": "^\\s*CPU_CORES\\s*[=:]\\s*(.*)\\s*", + "CPU_PROCESSORS": "^\\s*CPU_PROCESSORS\\s*[=:]\\s*(.*)\\s*", + "RAM_TOTAL_KB": "^\\s*RAM_TOTAL_KB\\s*[=:]\\s*(.*)\\s*", + "RAM_AVAILABLE_KB": "^\\s*RAM_AVAILABLE_KB\\s*[=:]\\s*(.*)\\s*", + "RAM_FREE_KB": "^\\s*RAM_FREE_KB\\s*[=:]\\s*(.*)\\s*", + "RAM_USED_KB": "^\\s*RAM_USED_KB\\s*[=:]\\s*(.*)\\s*", + "RAM_UTILIZATION": "^\\s*RAM_UTILIZATION\\s*[=:]\\s*(.*)\\s*", + "DISK_TOTAL_KB": "^\\s*DISK_TOTAL_KB\\s*[=:]\\s*(.*)\\s*", + "DISK_FREE_KB": "^\\s*DISK_FREE_KB\\s*[=:]\\s*(.*)\\s*", + "DISK_USED_KB": "^\\s*DISK_USED_KB\\s*[=:]\\s*(.*)\\s*", + "DISK_UTILIZATION": "^\\s*DISK_UTILIZATION\\s*[=:]\\s*(.*)\\s*", + "OS_ARCHITECTURE": "^\\s*OS_ARCHITECTURE\\s*[=:]\\s*(.*)\\s*", + "OS_KERNEL": "^\\s*OS_KERNEL\\s*[=:]\\s*(.*)\\s*", + "OS_KERNEL_RELEASE": "^\\s*OS_KERNEL_RELEASE\\s*[=:]\\s*(.*)\\s*" + } + }, + { + "description": "Detection results...", + "taskType": "LOG", + "message": "Detection results:\n CPU_SOCKETS=${CPU_SOCKETS:-na}\n CPU_CORES=${CPU_CORES:-na}\n CPU_PROCESSORS=${CPU_PROCESSORS:-na}\n RAM_TOTAL_KB=${RAM_TOTAL_KB:-na}\n RAM_AVAILABLE_KB=${RAM_AVAILABLE_KB:-na}\n RAM_FREE_KB=${RAM_FREE_KB:-na}\n RAM_USED_KB=${RAM_USED_KB:-na}\n RAM_UTILIZATION=${RAM_UTILIZATION:-na}\n DISK_TOTAL_KB=${DISK_TOTAL_KB:-na}\n DISK_FREE_KB=${DISK_FREE_KB:-na}\n DISK_USED_KB=${DISK_USED_KB:-na}\n DISK_UTILIZATION=${DISK_UTILIZATION:-na}\n OS_ARCHITECTURE=${OS_ARCHITECTURE:-na}\n OS_KERNEL=${OS_KERNEL:-na}\n OS_KERNEL_RELEASE=${OS_KERNEL_RELEASE:-na}" + } + ] +} \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/linux/jre.json b/ems-core/config-files/baguette-client-install/linux/jre.json new file mode 100644 index 0000000..0f8259f --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux/jre.json @@ -0,0 +1,79 @@ +{ + "os": "LINUX", + "description": "JRE installation instruction set at VM node", + "condition": "! ${SKIP_JRE_INSTALLATION:-false} && ! '${OS_ARCHITECTURE:-x}'.startsWith('arm') && ${CPU_PROCESSORS:-0} > ${BAGUETTE_INSTALLATION_MIN_PROCESSORS:-0} && ${RAM_AVAILABLE_KB:-0} > ${BAGUETTE_INSTALLATION_MIN_RAM:-0} && ${DISK_FREE_KB:-0} > ${BAGUETTE_INSTALLATION_MIN_DISK_FREE:-0}", + "instructions": [ + { + "description": "Check if JRE is already installed at Node", + "taskType": "CHECK", + "command": "[[ -f ${BAGUETTE_CLIENT_BASE_DIR}/jre/bin/java ]] && exit 99", + "executable": false, + "exitCode": 99, + "match": true, + "message": "====== JRE is already installed at Node ======" + }, + { + "description": "Install JRE...", + "taskType": "LOG", + "message": "Install JRE..." + }, + { + "description": "Mkdir Baguette Client installation folder", + "taskType": "CMD", + "command": "${ROOT_CMD} mkdir -p ${BAGUETTE_CLIENT_BASE_DIR} ", + "executable": false, + "exitCode": 0, + "match": false, + "executionTimeout": 120000 + }, + /*{ + "description": "Download JRE package", + "taskType": "CMD", + "command": "curl -k ${DOWNLOAD_URL}/resources/zulu8.52.0.23-ca-jre8.0.282-linux_x64.tar.gz --output /tmp/jre8.282.tar.gz", + "executable": false, + "exitCode": 0, + "match": false + },*/ + { + "description": "Copy JRE package", + "taskType": "COPY", + "fileName": "/tmp/${JRE_LINUX_PACKAGE}", + "localFileName": "${EMS_PUBLIC_DIR}/resources/${JRE_LINUX_PACKAGE}", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Extract JRE package into installation folder", + "taskType": "CMD", + "command": "${ROOT_CMD} tar zxvf /tmp/${JRE_LINUX_PACKAGE} -C ${BAGUETTE_CLIENT_BASE_DIR}", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Rename JRE directory", + "taskType": "CMD", + "command": "${ROOT_CMD} mv ${BAGUETTE_CLIENT_BASE_DIR}/zulu* ${BAGUETTE_CLIENT_BASE_DIR}/jre", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "List BC home directory", + "taskType": "CMD", + "command": "ls -l ${BAGUETTE_CLIENT_BASE_DIR}", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Print JRE version", + "taskType": "CMD", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/jre/bin/java -version", + "executable": false, + "exitCode": 0, + "match": false + } + ] +} \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/linux/netdata.json b/ems-core/config-files/baguette-client-install/linux/netdata.json new file mode 100644 index 0000000..2476dea --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux/netdata.json @@ -0,0 +1,57 @@ +{ + "os": "LINUX", + "description": "Netdata installation instruction set at VM node", + "condition": "! ${SKIP_NETDATA_INSTALLATION:-false}", + "instructions": [ + { + "description": "Log Netdata installation start", + "taskType": "LOG", + "message": "Starting Netdata installation at Node" + }, + { + "description": "Check if Netdata is already installed at Node", + "taskType": "CHECK", + "command": "[[ -f /usr/sbin/netdata ]] && exit 99", + /*"command": "[ $(ps -e -o pid,comm,cgroup |grep netdata |grep -v docker |grep -v lxc |wc -l) -gt 0 ] && exit 99",*/ + "executable": false, + "exitCode": 99, + "match": true, + "message": "====== Netdata is already installed at Node ======" + }, + { + "description": "Log Wait if apt is being updated", + "taskType": "LOG", + "message": "Wait if apt is being updated" + }, + { + "description": "Start unattended-upgrade if available", + "taskType": "CMD", + "command": "if command -v unattended-upgrade &> /dev/null ; then unattended-upgrade -d ; else echo \"Command 'unattended-upgrade' is not available\" ; fi", + "executionTimeout": 600000 + }, + { + "description": "Wait if apt is being updated", + "taskType": "CMD", + "command": "while [ `ps aux | grep -i lock_is_held | grep -v grep | wc -l` != 0 ]; do echo \"Lock_is_held...\"; ps aux | grep -i lock_is_held ; sleep 10 ; done", + "executionTimeout": 600000 + }, + { + "description": "Download Netdata kickstart.sh", + "taskType": "CMD", + "command": "curl https://my-netdata.io/kickstart-static64.sh > /tmp/netdata-kickstart.sh", + "executionTimeout": 600000 + }, + { + "description": "Make Netdata kickstart.sh executable", + "taskType": "CMD", + "command": "chmod +x /tmp/netdata-kickstart.sh", + "executionTimeout": 600000 + }, + { + "description": "Run Netdata kickstart.sh", + "taskType": "CMD", + "command": "echo ${NODE_SSH_PASSWORD} | sudo -S sh /tmp/netdata-kickstart.sh --dont-wait --no-updates --disable-telemetry --dont-start-it --stable-channel --disable-cloud ", + "executionTimeout": 600000 + } + ] +} \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/linux/recover-baguette.json b/ems-core/config-files/baguette-client-install/linux/recover-baguette.json new file mode 100644 index 0000000..846683b --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux/recover-baguette.json @@ -0,0 +1,24 @@ +{ + "os": "LINUX", + "description": "Restarting Baguette agent at VM node", + "instructions": [ + { + "description": "Killing previous EMS client process", + "taskType": "CMD", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/bin/kill.sh", + "executable": false, + "exitCode": 0, + "match": false, + "retries": 5 + }, + { + "description": "Starting new EMS client process", + "taskType": "CMD", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/bin/run.sh", + "executable": false, + "exitCode": 0, + "match": false, + "retries": 5 + } + ] +} \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/linux/start-agents.json b/ems-core/config-files/baguette-client-install/linux/start-agents.json new file mode 100644 index 0000000..1307a2a --- /dev/null +++ b/ems-core/config-files/baguette-client-install/linux/start-agents.json @@ -0,0 +1,52 @@ +{ + "os": "LINUX", + "description": "Starting Netdata and Baguette agents at VM node", + "condition": "! ${SKIP_START:-false}", + "instructions": [ + { + "description": "Launch EMS client", + "taskType": "CMD", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/bin/run.sh", + "executable": false, + "exitCode": 0, + "match": false, + "retries": 5 + }, + { + "description": "Check if Netdata is already running", + "taskType": "CHECK", + /*"command": "[[ $(( `ps -ef |grep /usr/sbin/netdata |grep -v grep |wc -l`+1 )) -gt 1 ]] && exit 1 || exit 0",*/ + "command": "[[ $(ps -e -o pid,comm,cgroup |grep netdata |grep -v grep |grep -v docker |grep -v lxc |wc -l) -gt 0 ]] && exit 1 || exit 0", + "executable": false, + "exitCode": 1, + "match": true, + "message": "Netdata is already running" + }, + { + "description": "Copy Netdata Prometheus plugin configuration to node's /tmp directory", + "taskType": "FILE", + "localFileName": "${EMS_CONFIG_DIR}/baguette-client-install/netdata/go.d/prometheus.conf", + "fileName": "/tmp", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Move prometheus config from /tmp to /etc/netdata/go.d/ directory", + "taskType": "CMD", + "command": "echo ${NODE_SSH_PASSWORD} | sudo -- sh -c 'mkdir -p /etc/netdata/go.d/ && mv -f /tmp/prometheus.conf /etc/netdata/go.d/' ", + "executable": false, + "exitCode": 0, + "match": false + }, + { + "description": "Launch Netdata", + "taskType": "CMD", + "command": "echo ${NODE_SSH_PASSWORD} | sudo -S -- sh -c '/opt/netdata/bin/netdata || /usr/sbin/netdata || netdata' ", + "executable": false, + "exitCode": 0, + "match": false, + "retries": 5 + } + ] +} \ No newline at end of file diff --git a/ems-core/config-files/baguette-client-install/netdata/go.d/prometheus.conf b/ems-core/config-files/baguette-client-install/netdata/go.d/prometheus.conf new file mode 100644 index 0000000..a096044 --- /dev/null +++ b/ems-core/config-files/baguette-client-install/netdata/go.d/prometheus.conf @@ -0,0 +1,4 @@ +# Based on: https://raw.githubusercontent.com/netdata/go.d.plugin/master/config/go.d/prometheus.conf +# Netdata go.d plugin configuration for prometheus + +${NETDATA_PROMETHEUS_CONF} diff --git a/ems-core/config-files/baguette-client-install/win/win.json b/ems-core/config-files/baguette-client-install/win/win.json new file mode 100644 index 0000000..e69de29 diff --git a/ems-core/config-files/baguette-client/conf/baguette-client.properties.sample b/ems-core/config-files/baguette-client/conf/baguette-client.properties.sample new file mode 100644 index 0000000..b493650 --- /dev/null +++ b/ems-core/config-files/baguette-client/conf/baguette-client.properties.sample @@ -0,0 +1,224 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +################################################################################ +### EMS - Baguette Client properties ### +################################################################################ + +#password-encoder-class = password.gr.iccs.imu.ems.util.AsterisksPasswordEncoder +#password-encoder-class = password.gr.iccs.imu.ems.util.IdentityPasswordEncoder +#password-encoder-class = password.gr.iccs.imu.ems.util.PresentPasswordEncoder + +### Jasypt encryptor settings (using old settings until encrypted texts are updated) +jasypt.encryptor.algorithm = PBEWithMD5AndDES +jasypt.encryptor.ivGeneratorClassname = org.jasypt.iv.NoIvGenerator + +# Baguette Client configuration + +baseDir = ${BAGUETTE_CLIENT_BASE_DIR} +connection-retry-enabled = true +connection-retry-delay = 10000 +connection-retry-limit = -1 +auth-timeout = 60000 +exec-timeout = 120000 +#retry-period = 60000 +exit-command-allowed = false +#kill-delay = 10 + +IP_SETTING=${IP_SETTING} +EMS_CLIENT_ADDRESS=${${IP_SETTING}} + +node-properties= + +# ----------------------------------------------------------------------------- +# Client Id and Baguette Server credentials +# ----------------------------------------------------------------------------- + +client-id = ${BAGUETTE_CLIENT_ID} + +#server-address = ${BAGUETTE_SERVER_HOSTNAME} +server-address = ${BAGUETTE_SERVER_ADDRESS} +server-port = ${BAGUETTE_SERVER_PORT} +server-pubkey = ${BAGUETTE_SERVER_PUBKEY} +server-pubkey-fingerprint = ${BAGUETTE_SERVER_PUBKEY_FINGERPRINT} +server-pubkey-algorithm = ${BAGUETTE_SERVER_PUBKEY_ALGORITHM} +server-pubkey-format = ${BAGUETTE_SERVER_PUBKEY_FORMAT} + +server-username = ${BAGUETTE_SERVER_USERNAME} +server-password = ${BAGUETTE_SERVER_PASSWORD} + +# ----------------------------------------------------------------------------- +# Client-side Self-healing settings +# ----------------------------------------------------------------------------- + +#self.healing.enabled=true +#self.healing.recovery.file.baguette=conf/baguette.json +#self.healing.recovery.file.netdata=conf/netdata.json +#self.healing.recovery.delay=10000 +#self.healing.recovery.retry.wait=60000 +#self.healing.recovery.max.retries=3 + +# ----------------------------------------------------------------------------- +# Collectors settings +# ----------------------------------------------------------------------------- + +#collector-classes = netdata.collector.gr.iccs.imu.ems.baguette.client.NetdataCollector + +collector.netdata.enable = true +collector.netdata.delay = 10000 +collector.netdata.url = http://127.0.0.1:19999/api/v1/allmetrics?format=json +collector.netdata.urlOfNodesWithoutClient = http://%s:19999/api/v1/allmetrics?format=json +#collector.netdata.create-topic = true +#collector.netdata.allowed-topics = netdata__system__cpu__user:an_alias +collector.netdata.allowed-topics = ${COLLECTOR_ALLOWED_TOPICS} +collector.netdata.error-limit = 3 +collector.netdata.pause-period = 60 + +collector.prometheus.enable = false +collector.prometheus.delay = 10000 +collector.prometheus.url = http://127.0.0.1:9090/metrics +collector.prometheus.urlOfNodesWithoutClient = http://%s:9090/metrics +#collector.prometheus.create-topic = true +#collector.prometheus.allowed-topics = system__cpu__user:an_alias +collector.prometheus.allowed-topics = ${COLLECTOR_ALLOWED_TOPICS} +collector.prometheus.error-limit = 3 +collector.prometheus.pause-period = 60 +# +#collector.prometheus.allowedTags = +#collector.prometheus.allowTagsInDestinationName = true +#collector.prometheus.destinationNameFormatter = ${metricName}_${method} +#collector.prometheus.addTagsAsEventProperties = true +#collector.prometheus.addTagsInEventPayload = true +#collector.prometheus.throwExceptionWhenExcessiveCharsOccur = true + +# ----------------------------------------------------------------------------- +# Cluster settings +# ----------------------------------------------------------------------------- + +#cluster.cluster-id=cluster +#cluster.local-node.id=local-node +#cluster.local-node.address=localhost:1234 +#cluster.local-node.properties.name=value +#cluster.member-addresses=[localhost:3456, localhost:5678] + +#cluster.useSwim=false +#cluster.failureTimeout=5000 +cluster.testInterval=5000 + +cluster.log-enabled=true +cluster.out-enabled=true + +cluster.join-on-init=true +cluster.election-on-join=false +#cluster.usePBInMg=true +#cluster.usePBInPg=true +#cluster.mgName=system +#cluster.pgName=data + +cluster.tls.enabled=true +#cluster.tls.keystore=${EMS_CONFIG_DIR}/cluster.jks +#cluster.tls.keystore-password=atomix +#cluster.tls.truststore=${EMS_CONFIG_DIR}/cluster.jks +#cluster.tls.truststore-password=atomix +cluster.tls.keystore-dir=conf + +cluster.score.formula=20*cpu/32+80*ram/(256*1024) +cluster.score.default-score=0 +cluster.score.default-args.cpu=1 +cluster.score.default-args.ram=128 +#cluster.score.throw-exception=false + + +################################################################################ +### EMS - Broker-CEP properties ### +################################################################################ + +# Broker ports and protocol +brokercep.broker-name = broker +brokercep.broker-port = 61617 +#brokercep.management-connector-port = 1088 +brokercep.broker-protocol = ssl +# Don't use in EMS server +#brokercep.bypass-local-broker = true + +# Common Broker settings +BROKER_URL_PROPERTIES = transport.daemon=true&transport.trace=false&transport.useKeepAlive=true&transport.useInactivityMonitor=false&transport.needClientAuth=${CLIENT_AUTH_REQUIRED}&transport.verifyHostName=true&transport.connectionTimeout=0&transport.keepAlive=true +CLIENT_AUTH_REQUIRED = false +brokercep.broker-url[0] = ${brokercep.broker-protocol}://0.0.0.0:${brokercep.broker-port}?${BROKER_URL_PROPERTIES} +brokercep.broker-url[1] = tcp://127.0.0.1:61616?${BROKER_URL_PROPERTIES} +brokercep.broker-url[2] = + +CLIENT_URL_PROPERTIES=daemon=true&trace=false&useInactivityMonitor=false&connectionTimeout=0&keepAlive=true +brokercep.broker-url-for-consumer = tcp://127.0.0.1:61616?${CLIENT_URL_PROPERTIES} +brokercep.broker-url-for-clients = ${brokercep.broker-protocol}://${EMS_CLIENT_ADDRESS}:${brokercep.broker-port}?${CLIENT_URL_PROPERTIES} +# Must be a public IP address + +# Key store +brokercep.ssl.keystore-file = ${EMS_CONFIG_DIR}/client-broker-keystore.p12 +brokercep.ssl.keystore-type = PKCS12 +#brokercep.ssl.keystore-password = melodic +brokercep.ssl.keystore-password = ENC(ISMbn01HVPbtRPkqm2Lslg==) +# Trust store +brokercep.ssl.truststore-file = ${EMS_CONFIG_DIR}/client-broker-truststore.p12 +brokercep.ssl.truststore-type = PKCS12 +#brokercep.ssl.truststore-password = melodic +brokercep.ssl.truststore-password = ENC(ISMbn01HVPbtRPkqm2Lslg==) +# Certificate +brokercep.ssl.certificate-file = ${EMS_CONFIG_DIR}/client-broker.crt +# Key-and-Cert data +brokercep.ssl.key-entry-generate = IF-IP-CHANGED +brokercep.ssl.key-entry-name = ${EMS_CLIENT_ADDRESS} +brokercep.ssl.key-entry-dname = CN=${EMS_CLIENT_ADDRESS},OU=Information Management Unit (IMU),O=Institute of Communication and Computer Systems (ICCS),L=Athens,ST=Attika,C=GR +brokercep.ssl.key-entry-ext-san = dns:localhost,ip:127.0.0.1,ip:${DEFAULT_IP},ip:${PUBLIC_IP} + +# Authentication and Authorization settings +brokercep.authentication-enabled = true +#brokercep.additional-broker-credentials = aaa/111, bbb/222, morphemic/morphemic +brokercep.additional-broker-credentials = ENC(axeJUxNHajYfBffUwvuT3kwTgLTpRliDMz/ZQ9hROZ3BNOv0Idw72NJsawzIZRuZ) +brokercep.authorization-enabled = false + +# Broker instance settings +brokercep.broker-persistence-enabled = false +brokercep.broker-using-jmx = true +brokercep.broker-advisory-support-enabled = true +brokercep.broker-using-shutdown-hook = false + +#brokercep.broker-enable-statistics = true +#brokercep.broker-populate-jmsx-user-id = true + +# Message interceptors +brokercep.message-interceptors[0].destination = > +brokercep.message-interceptors[0].className = interceptor.broker.gr.iccs.imu.ems.brokercep.SequentialCompositeInterceptor +brokercep.message-interceptors[0].params[0] = #SourceAddressMessageUpdateInterceptor +brokercep.message-interceptors[0].params[1] = #MessageForwarderInterceptor +brokercep.message-interceptors[0].params[2] = #NodePropertiesMessageUpdateInterceptor + +brokercep.message-interceptors-specs.SourceAddressMessageUpdateInterceptor.className = interceptor.broker.gr.iccs.imu.ems.brokercep.SourceAddressMessageUpdateInterceptor +brokercep.message-interceptors-specs.MessageForwarderInterceptor.className = interceptor.broker.gr.iccs.imu.ems.brokercep.MessageForwarderInterceptor +brokercep.message-interceptors-specs.NodePropertiesMessageUpdateInterceptor.className = interceptor.broker.gr.iccs.imu.ems.brokercep.NodePropertiesMessageUpdateInterceptor + +# Message forward destinations (MessageForwarderInterceptor must be included in 'message-interceptors' property) +#brokercep.message-forward-destinations[0].connection-string = tcp://localhost:51515 +#brokercep.message-forward-destinations[0].username = AAA +#brokercep.message-forward-destinations[0].password = 111 +#brokercep.message-forward-destinations[1].connection-string = tcp://localhost:41414 +#brokercep.message-forward-destinations[1].username = AAA +#brokercep.message-forward-destinations[1].password = 111 + +# Advisory watcher +brokercep.enable-advisory-watcher = true + +# Memory usage limit +brokercep.usage.memory.jvm-heap-percentage = 20 +#brokercep.usage.memory.size = 134217728 + +#brokercep.maxEventForwardRetries: -1 +#brokercep.maxEventForwardDuration: -1 + +################################################################################ \ No newline at end of file diff --git a/ems-core/config-files/baguette-client/conf/baguette-client.yml b/ems-core/config-files/baguette-client/conf/baguette-client.yml new file mode 100644 index 0000000..d9d4237 --- /dev/null +++ b/ems-core/config-files/baguette-client/conf/baguette-client.yml @@ -0,0 +1,259 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +################################################################################ +### EMS - Baguette Client properties ### +################################################################################ + +#password-encoder-class: gr.iccs.imu.ems.util.password.AsterisksPasswordEncoder +#password-encoder-class: gr.iccs.imu.ems.util.password.IdentityPasswordEncoder +#password-encoder-class: gr.iccs.imu.ems.util.password.PresentPasswordEncoder + +### Jasypt encryptor settings (using old settings until encrypted texts are updated) +jasypt: + encryptor: + algorithm: PBEWithMD5AndDES + ivGeneratorClassname: org.jasypt.iv.NoIvGenerator + +# Baguette Client configuration + +baseDir: ${BAGUETTE_CLIENT_BASE_DIR} +connection-retry-enabled: true +connection-retry-delay: 10000 +connection-retry-limit: -1 +auth-timeout: 60000 +exec-timeout: 120000 +#retry-period: 60000 +exit-command-allowed: false +#kill-delay: 10 + +IP_SETTING: ${IP_SETTING} +EMS_CLIENT_ADDRESS: ${${IP_SETTING}} + +node-properties: + node-id: ${NODE_CLIENT_ID} + public-ip: ${NODE_ADDRESS} + private-ip: ${NODE_ADDRESS} + instance: ${NODE_ADDRESS} + host: ${NODE_ADDRESS} + zone: ${zone-id} + region: ${zone-id} + cloud: ${provider} + +# ----------------------------------------------------------------------------- +# Client Id and Baguette Server credentials +# ----------------------------------------------------------------------------- + +client-id: ${BAGUETTE_CLIENT_ID} + +#server-address: ${BAGUETTE_SERVER_HOSTNAME} +server-address: ${BAGUETTE_SERVER_ADDRESS} +server-port: ${BAGUETTE_SERVER_PORT} +server-pubkey: ${BAGUETTE_SERVER_PUBKEY} +server-pubkey-fingerprint: ${BAGUETTE_SERVER_PUBKEY_FINGERPRINT} +server-pubkey-algorithm: ${BAGUETTE_SERVER_PUBKEY_ALGORITHM} +server-pubkey-format: ${BAGUETTE_SERVER_PUBKEY_FORMAT} + +server-username: ${BAGUETTE_SERVER_USERNAME} +server-password: ${BAGUETTE_SERVER_PASSWORD} + +# ----------------------------------------------------------------------------- +# Client-side Self-healing settings +# ----------------------------------------------------------------------------- + +#self.healing: +# enabled: true +# recovery: +# file: +# baguette: conf/baguette.json +# netdata: conf/netdata.json +# delay: 10000 +# retry-delay: 60000 +# max-retries: 3 + +# ----------------------------------------------------------------------------- +# Collectors settings +# ----------------------------------------------------------------------------- + +#collector-classes: gr.iccs.imu.ems.baguette.client.collector.netdata.NetdataCollector + +collector: + netdata: + enable: true + delay: 10000 + url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + urlOfNodesWithoutClient: http://%s:19999/api/v1/allmetrics?format=json + #create-topic: true + #allowed-topics: netdata__system__cpu__user:an_alias + allowed-topics: ${COLLECTOR_ALLOWED_TOPICS} + error-limit: 3 + pause-period: 60 + prometheus: + enable: false + delay: 10000 + url: http://127.0.0.1:9090/metrics + urlOfNodesWithoutClient: http://%s:9090/metrics + #create-topic: true + #allowed-topics: system__cpu__user:an_alias + allowed-topics: ${COLLECTOR_ALLOWED_TOPICS} + error-limit: 3 + pause-period: 60 + # + #allowedTags: [] + #allowTagsInDestinationName: true + #destinationNameFormatter: '${metricName}_${method}' + #addTagsAsEventProperties: true + #addTagsInEventPayload: true + #throwExceptionWhenExcessiveCharsOccur: true + +# ----------------------------------------------------------------------------- +# Cluster settings +# ----------------------------------------------------------------------------- + +cluster: + #cluster-id: cluster + #local-node.id: local-node + #local-node.address: localhost:1234 + #local-node.properties: + # name: value + #member-addresses: [localhost:3456, localhost:5678] + + #useSwim: false + #failureTimeout: 5000 + testInterval: 5000 + + log-enabled: true + out-enabled: true + + join-on-init: true + election-on-join: false + #usePBInMg: true + #usePBInPg: true + #mgName: system + #pgName: data + + tls: + enabled: true + #keystore: ${EMS_CONFIG_DIR}/cluster.jks + #keystore-password: atomix + #truststore: ${EMS_CONFIG_DIR}/cluster.jks + #truststore-password: atomix + keystore-dir: conf + + score: + formula: 20*cpu/32+80*ram/(256*1024) + default-score: 0 + default-args: + cpu: 1 + ram: 128 + #throw-exception: false + + +################################################################################ +### EMS - Broker-CEP properties ### +################################################################################ + +BROKER_URL_PROPERTIES: transport.daemon=true&transport.trace=false&transport.useKeepAlive=true&transport.useInactivityMonitor=false&transport.needClientAuth=${CLIENT_AUTH_REQUIRED}&transport.verifyHostName=true&transport.connectionTimeout=0&transport.keepAlive=true +CLIENT_AUTH_REQUIRED: false +CLIENT_URL_PROPERTIES: daemon=true&trace=false&useInactivityMonitor=false&connectionTimeout=0&keepAlive=true + +brokercep: + # Broker ports and protocol + broker-name: broker + broker-port: 61617 + broker-protocol: ssl + #management-connector-port: 1088 + #bypass-local-broker: true # Don't use in EMS server + + # Broker connectors + broker-url: + - ${brokercep.broker-protocol}://0.0.0.0:${brokercep.broker-port}?${BROKER_URL_PROPERTIES} + - tcp://127.0.0.1:61616?${BROKER_URL_PROPERTIES} + - stomp://127.0.0.1:61610?${BROKER_URL_PROPERTIES} + + # Broker URLs for (EMS) consumer and clients + broker-url-for-consumer: tcp://127.0.0.1:61616?${CLIENT_URL_PROPERTIES} + broker-url-for-clients: ${brokercep.broker-protocol}://${EMS_CLIENT_ADDRESS}:${brokercep.broker-port}?${CLIENT_URL_PROPERTIES} + # Must be a public IP address + + ssl: + # Key store settings + keystore-file: ${EMS_CONFIG_DIR}/client-broker-keystore.p12 + keystore-type: PKCS12 + keystore-password: 'ENC(ISMbn01HVPbtRPkqm2Lslg==)' # melodic + + # Trust store settings + truststore-file: ${EMS_CONFIG_DIR}/client-broker-truststore.p12 + truststore-type: PKCS12 + truststore-password: 'ENC(ISMbn01HVPbtRPkqm2Lslg==)' # melodic + + # Certificate settings + certificate-file: ${EMS_CONFIG_DIR}/client-broker.crt + + # key generation settings + key-entry-generate: IF-IP-CHANGED + key-entry-name: ${EMS_CLIENT_ADDRESS} + key-entry-dname: 'CN=${EMS_CLIENT_ADDRESS},OU=Information Management Unit (IMU),O=Institute of Communication and Computer Systems (ICCS),L=Athens,ST=Attika,C=GR' + key-entry-ext-san: 'dns:localhost,ip:127.0.0.1,ip:${DEFAULT_IP},ip:${PUBLIC_IP}' + + # Authentication and Authorization settings + authentication-enabled: true + #additional-broker-credentials: aaa/111, bbb/222, morphemic/morphemic + additional-broker-credentials: 'ENC(axeJUxNHajYfBffUwvuT3kwTgLTpRliDMz/ZQ9hROZ3BNOv0Idw72NJsawzIZRuZ)' + authorization-enabled: false + + # Broker instance settings + broker-persistence-enabled: false + broker-using-jmx: true + broker-advisory-support-enabled: true + broker-using-shutdown-hook: false + + #broker-enable-statistics: true + #broker-populate-jmsx-user-id: true + + # Message interceptors + message-interceptors: + - destination: '>' + className: 'gr.iccs.imu.ems.brokercep.broker.interceptor.SequentialCompositeInterceptor' + params: + - '#SourceAddressMessageUpdateInterceptor' + - '#MessageForwarderInterceptor' + - '#NodePropertiesMessageUpdateInterceptor' + + message-interceptors-specs: + SourceAddressMessageUpdateInterceptor: + className: gr.iccs.imu.ems.brokercep.broker.interceptor.SourceAddressMessageUpdateInterceptor + MessageForwarderInterceptor: + className: gr.iccs.imu.ems.brokercep.broker.interceptor.MessageForwarderInterceptor + NodePropertiesMessageUpdateInterceptor: + className: gr.iccs.imu.ems.brokercep.broker.interceptor.NodePropertiesMessageUpdateInterceptor + + # Message forward destinations (MessageForwarderInterceptor must be included in 'message-interceptors' property) + #message-forward-destinations: + # - connection-string: tcp://localhost:51515 + # username: AAA + # password: 111 + # - connection-string: tcp://localhost:41414 + # username: AAA + # password: 111 + + # Advisory watcher + enable-advisory-watcher: true + + # Memory usage limit + usage: + memory: + jvm-heap-percentage: 20 + #size: 134217728 + + # Event forward settings + #maxEventForwardRetries: -1 + #maxEventForwardDuration: -1 + +################################################################################ \ No newline at end of file diff --git a/ems-core/config-files/baguette-client/conf/baguette.json b/ems-core/config-files/baguette-client/conf/baguette.json new file mode 100644 index 0000000..0e95dd2 --- /dev/null +++ b/ems-core/config-files/baguette-client/conf/baguette.json @@ -0,0 +1,16 @@ +[{ + "name": "Initial wait...", + "command": "pwd", + "waitBefore": 0, + "waitAfter": 5000 +}, { + "name": "Sending baguette client kill command...", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/bin/kill.sh", + "waitBefore": 0, + "waitAfter": 2000 +}, { + "name": "Sending baguette client start command...", + "command": "${BAGUETTE_CLIENT_BASE_DIR}/bin/run.sh", + "waitBefore": 0, + "waitAfter": 10000 +}] diff --git a/ems-core/config-files/baguette-client/conf/logback-spring.xml b/ems-core/config-files/baguette-client/conf/logback-spring.xml new file mode 100644 index 0000000..e539f48 --- /dev/null +++ b/ems-core/config-files/baguette-client/conf/logback-spring.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %msg%n + + + + + + + + + + + + + + + + + + + + diff --git a/ems-core/config-files/baguette-client/conf/netdata.json b/ems-core/config-files/baguette-client/conf/netdata.json new file mode 100644 index 0000000..ed40f82 --- /dev/null +++ b/ems-core/config-files/baguette-client/conf/netdata.json @@ -0,0 +1,16 @@ +[{ + "name": "Initial wait...", + "command": "pwd", + "waitBefore": 0, + "waitAfter": 5000 +}, { + "name": "Sending Netdata agent kill command...", + "command": "sudo sh -c 'ps -U netdata -o \"pid\" --no-headers | xargs kill -9' ", + "waitBefore": 0, + "waitAfter": 2000 +}, { + "name": "Sending Netdata agent start command...", + "command": "sudo netdata", + "waitBefore": 0, + "waitAfter": 10000 +}] diff --git a/ems-core/config-files/ems-server.properties.sample b/ems-core/config-files/ems-server.properties.sample new file mode 100644 index 0000000..2a4c586 --- /dev/null +++ b/ems-core/config-files/ems-server.properties.sample @@ -0,0 +1,608 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +################################################################################ +### Global settings +################################################################################ + +### Don't touch the next line!! +EMS_SERVER_ADDRESS=${${control.IP_SETTING}} +DOLLAR=$ + +### Password Encoder settings +#password-encoder-class = password.gr.iccs.imu.ems.util.AsterisksPasswordEncoder +#password-encoder-class = password.gr.iccs.imu.ems.util.IdentityPasswordEncoder +#password-encoder-class = password.gr.iccs.imu.ems.util.PresentPasswordEncoder + +### Jasypt encryptor settings (using old settings until encrypted texts are updated) +jasypt.encryptor.algorithm = PBEWithMD5AndDES +jasypt.encryptor.ivGeneratorClassname = org.jasypt.iv.NoIvGenerator + +### Execution (@EnableAsync) and Scheduling (@EnableScheduling) thread pools +#spring.task.execution.pool.max-size = 16 +#spring.task.execution.pool.queue-capacity = 100 +#spring.task.execution.pool.keep-alive = 10s +#spring.task.scheduling.pool.size = 2 + +### Misc +spring.output.ansi.enabled=ALWAYS +spring.jackson.default-property-inclusion=non_null + + +################################################################################ +### Web server port and TLS settings +################################################################################ + +server.port = 8111 + +server.ssl.enabled=true + +### Keystore/Truststore settings +server.ssl.key-store=${control.ssl.keystore-file} +server.ssl.key-store-password=${control.ssl.keystore-password} +server.ssl.key-store-type=${control.ssl.keystore-type} +server.ssl.key-alias=${control.ssl.key-entry-name} +#server.ssl.key-password=${control.ssl.key-entry-password} + +### SSL ciphers and protocol settings +# SSL ciphers +#server.ssl.ciphers=TLS_RSA_WITH_AES_128_CBC_SHA256 +# SSL protocol to use +#server.ssl.protocol=TLS +# Enabled SSL protocols +#server.ssl.enabled-protocols=TLSv1.2 + +#security.require-ssl=true + + +################################################################################ +### JWT settings +jwt.secret=ENC(I0mRWgH2FVDDNs4OBcdh7Z+o3lOQDa3ztaEtmnXT2HN0aClkChp/lqm9zM5HyTk0stJ7v2Di75U=) +#jwt.expirationTime=86400000 +#jwt.refreshTokenExpirationTime=86400000 + + +################################################################################ +### Authorization settings +### NOTE: More authorization settings in 'authorization-client.properties' + +authorization.enabled = false +#authorization.paths-protected = /camelModel*, /cpModel*, /ems/**, /baguette/**, /event/**, /monitors +#authorization.paths-excluded = + + +################################################################################ +### Logback configuration file +logging.config=file:${EMS_CONFIG_DIR}/logback-conf/logback-spring.xml + + +################################################################################ +### Web Log-viewer configuration +log-viewer.url-mapping=/log-viewer + + +################################################################################ +### EMS - Control Service properties ### +################################################################################ + +### Don't touch the next lines!! +control.IP_SETTING=${EMS_IP_SETTING:PUBLIC_IP} +#control.EXECUTIONWARE=CLOUDIATOR +control.EXECUTIONWARE=PROACTIVE + +### URLs of Upperware services being invoked by EMS +control.esb-url = ${ESB_URL:https://mule:8088} +control.metasolver-configuration-url = ${METASOLVER_URL:http://metasolver:8092/updateConfiguration} + +### Log settings +#control.print-build-info=true +control.log-requests = ${EMS_LOG_REQUESTS:false} + +### Debug settings - Deactivate processing modules +#control.skip-translation = true +#control.skip-mvv-retrieve = true +#control.skip-broker-cep = true +#control.skip-baguette = true +#control.skip-collectors = true +#control.skip-metasolver = true +#control.skip-esb-notification = true +control.upperware-grouping = GLOBAL + +### Debug settings - Load/Save translation results +control.tc-load-file = ${EMS_TC_LOAD_FILE:${EMS_TC_FILE:${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/_TC.json}} +control.tc-save-file = ${EMS_TC_SAVE_FILE:${EMS_TC_FILE:${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/_TC.json}} + +### Process CAMEL and CP models on start-up +### Process CAMEL model on start-up +control.preload.camel-model = ${EMS_PRELOAD_CAMEL_MODEL:} + +### Use CP model on start-up +control.preload.cp-model = ${EMS_PRELOAD_CP_MODEL:} + +### Exit settings +control.exit-allowed = false +control.exit-grace-period = 10 +control.exit-code = 0 + +### Key store, Trust store and Certificate settings + +# Key store settings +control.ssl.keystore-file = ${EMS_CONFIG_DIR}/ems-keystore.p12 +control.ssl.keystore-type = PKCS12 +#control.ssl.keystore-password = melodic +#control.ssl.keystore-password = ENC(ISMbn01HVPbtRPkqm2Lslg==) + +# Trust store settings +control.ssl.truststore-file = ${EMS_CONFIG_DIR}/ems-truststore.p12 +control.ssl.truststore-type = PKCS12 +#control.ssl.truststore-password = melodic +#control.ssl.truststore-password = ENC(ISMbn01HVPbtRPkqm2Lslg==) + +# Certificate settings +control.ssl.certificate-file = ${EMS_CONFIG_DIR}/ems-cert.crt + +# EMS key generation settings +control.ssl.key-entry-generate = ALWAYS +control.ssl.key-entry-name = ems +#control.ssl.key-entry-password = +control.ssl.key-entry-dname = CN=ems,OU=Information Management Unit (IMU),O=Institute of Communication and Computer Systems (ICCS),L=Athens,ST=Attika,C=GR +control.ssl.key-entry-ext-san = dns:localhost,ip:127.0.0.1,ip:${DEFAULT_IP},ip:${PUBLIC_IP} + + +################################################################################ +### Web configuration - Static resources + +### Static Web Resources and Redirects + +### Favicon settings +#web.static.favicon-context=/favicon.ico +web.static.favicon-path=file:${PUBLIC_DIR}/favicon.ico + +### Static resource settings +web.static.resource-context=/** +web.static.resource-path=file:${PUBLIC_DIR}/ + +web.static.logs-context=/logs/** +web.static.logs-path=file:${LOGS_DIR}/ + +### Redirects +#web.static.redirect=/resources/index.html +web.static.redirects.[/]=/admin/index.html +web.static.redirects.[/index.html]=/admin/index.html +web.static.redirects.[/admin]=/admin/index.html +web.static.redirects.[/admin/]=/admin/index.html +web.static.redirects.[/resources]=/resources/index.html +web.static.redirects.[/resources/]=/resources/index.html + + +################################################################################ +### Web & REST Security configuration + +### NOTE: Setting this to 'false' will turn off all security features +#melodic.security.enabled=false + +### JWT authentication ### +#web.security.jwt-authentication.enabled=false +#web.security.jwt-authentication.request-parameter=jwt +#web.security.jwt-authentication.print-sample-token=false + +### API Key access ### +#web.security.api-key-authentication.enabled=false +#web.security.api-key-authentication.value=${random.uuid} +#web.security.api-key-authentication.value=1234567890 +#web.security.api-key-authentication.request-header=EMS-API-KEY +#web.security.api-key-authentication.request-parameter=ems-api-key + +### OTP access ### +#web.security.otp-authentication.enabled=false +#web.security.otp-authentication.duration=3600000 +#web.security.otp-authentication.request-header=EMS-OTP +#web.security.otp-authentication.request-parameter=ems-otp + +### User Web Form authentication ### +#web.security.form-authentication.enabled=false +#web.security.form-authentication.username=admin +#web.security.form-authentication.password=ems + + +################################################################################ +### Topic Beacon settings + +beacon.enabled = true +beacon.initial-delay = 60000 +beacon.delay = 60000 +#beacon.rate = 60000 +#use-delay = false +beacon.heartbeat-topics = +beacon.threshold-topics = _ui_threshold_info +beacon.instance-topics = _ui_instance_info +beacon.prediction-topics = metrics_to_predict +beacon.prediction-rate = 60000 +beacon.slo-violation-detector-topics = metric.metric_list + + +################################################################################ +### Info Service settings + +info.metrics-update-interval=1000 +info.metrics-client-update-interval=10000 +# 'info.metrics-stream' value in seconds +info.metrics-stream-update-interval=10 +info.metrics-stream-event-name=ems-metrics-event +info.env-var-prefixes[0]=WEBSSH_SERVICE_-^ +info.env-var-prefixes[1]=WEB_ADMIN_!^ +# ! at the end means to trim off the prefix; - at the end means to convert '_' to '-'; +# ^ at the end means convert to upper case; ~ at the end means convert to lower case; + +################################################################################ +### Collectors settings + +collector.netdata.enable = true +collector.netdata.delay = 10000 +collector.netdata.skipLocal = true +collector.netdata.url = http://127.0.0.1:19999/api/v1/allmetrics?format=json +collector.netdata.urlOfNodesWithoutClient = http://%s:19999/api/v1/allmetrics?format=json +#collector.netdata.create-topic = true +#collector.netdata.allowed-topics = netdata__system__cpu__user:an_alias +collector.netdata.error-limit = 3 +collector.netdata.pause-period = 60 + + +################################################################################ +### Management and Endpoint settings + +management.info.build.enabled=true +management.info.env.enabled=true +management.info.git.enabled=true +management.info.java.enabled=true +management.endpoints.web.exposure.include=health,info +#management.endpoints.web.exposure.include=health,info,hawtio,jolokia +#management.endpoints.web.base-path=/ +#management.endpoint.health.show-details=always +#management.security.enabled=false +#management.port=9001 +#management.address=127.0.0.1 +#endpoints.metrics.sensitive=false + +### Hawtio web console settings +#management.endpoints.web.path-mapping.hawtio=hawtio/console +# NOTE: Uncomment to enable actuator and hawtio +#hawtio.authenticationEnabled=false +#hawtio.proxyWhitelist= +#hawtio.realm=hawtio +#hawtio.role=admin,viewer +#hawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal + +### Jolokia (HTTP-JMX bridge) settings +#jolokia.config.debug=false +#endpoints.jolokia.enabled=true +#endpoints.jolokia.sensitive = false +#endpoints.jolokia.path=/jolokia +#spring.jmx.enabled=true +#endpoints.jmx.enabled=true + +################################################################################ +### Spring Boot Admin Client settings +#spring.boot.admin.client.url=http://localhost:8080 +#spring.boot.admin.client.username=username +#spring.boot.admin.client.password=password +#spring.boot.admin.client.instance.service-base-url=http://localhost:8080 + + +################################################################################ +### EMS - Broker-CEP properties ### +################################################################################ + +BROKER_URL_PROPERTIES = transport.daemon=true&transport.trace=false&transport.useKeepAlive=true&transport.useInactivityMonitor=false&transport.needClientAuth=${CLIENT_AUTH_REQUIRED}&transport.verifyHostName=true&transport.connectionTimeout=0&transport.keepAlive=true +CLIENT_AUTH_REQUIRED = false +CLIENT_URL_PROPERTIES=daemon=true&trace=false&useInactivityMonitor=false&connectionTimeout=0&keepAlive=true + +# Broker name, ports and protocol +#brokercep.broker-name = broker +brokercep.broker-port = 61617 +brokercep.broker-protocol = ssl +#brokercep.management-connector-port = 1099 +# Don't use in EMS server +#brokercep.bypass-local-broker = true + +# Broker connectors +brokercep.broker-url[0] = ${brokercep.broker-protocol}://0.0.0.0:${brokercep.broker-port}?${BROKER_URL_PROPERTIES} +brokercep.broker-url[1] = tcp://0.0.0.0:61616?${BROKER_URL_PROPERTIES} +brokercep.broker-url[2] = stomp://0.0.0.0:61610 + +# Broker URLs for (EMS) consumer and clients +brokercep.broker-url-for-consumer = tcp://${EMS_SERVER_ADDRESS}:61616?${CLIENT_URL_PROPERTIES} +brokercep.broker-url-for-clients = ${brokercep.broker-protocol}://${EMS_SERVER_ADDRESS}:${brokercep.broker-port}?${CLIENT_URL_PROPERTIES} +# Must be a public IP address + +# Key store settings +brokercep.ssl.keystore-file=${EMS_CONFIG_DIR}/broker-keystore.p12 +brokercep.ssl.keystore-type=${control.ssl.keystore-type} +brokercep.ssl.keystore-password=${control.ssl.keystore-password} + +# Trust store settings +brokercep.ssl.truststore-file=${EMS_CONFIG_DIR}/broker-truststore.p12 +brokercep.ssl.truststore-type=${control.ssl.truststore-type} +brokercep.ssl.truststore-password=${control.ssl.truststore-password} + +# Certificate settings +brokercep.ssl.certificate-file=${EMS_CONFIG_DIR}/broker.crt + +# EMS key generation settings +brokercep.ssl.key-entry-generate=ALWAYS +brokercep.ssl.key-entry-name=${control.ssl.key-entry-name} +brokercep.ssl.key-entry-dname=${control.ssl.key-entry-dname} +brokercep.ssl.key-entry-ext-san=${control.ssl.key-entry-ext-san} + +# Authentication and Authorization settings +brokercep.authentication-enabled = true +#brokercep.additional-broker-credentials = aaa/111, bbb/222, morphemic/morphemic +#brokercep.additional-broker-credentials = ENC(axeJUxNHajYfBffUwvuT3kwTgLTpRliDMz/ZQ9hROZ3BNOv0Idw72NJsawzIZRuZ) +brokercep.authorization-enabled = false + +# Broker instance settings +brokercep.broker-persistence-enabled = false +brokercep.broker-using-jmx = true +brokercep.broker-advisory-support-enabled = true +brokercep.broker-using-shutdown-hook = false + +brokercep.broker-enable-statistics = true +brokercep.broker-populate-jmsx-user-id = true + +# Message interceptors +brokercep.message-interceptors[0].destination = > +brokercep.message-interceptors[0].className = interceptor.broker.gr.iccs.imu.ems.brokercep.SequentialCompositeInterceptor +brokercep.message-interceptors[0].params = #SourceAddressMessageUpdateInterceptor, #LogMessageUpdateInterceptor, #MessageForwarderInterceptor + +brokercep.message-interceptors-specs.SourceAddressMessageUpdateInterceptor.className = interceptor.broker.gr.iccs.imu.ems.brokercep.SourceAddressMessageUpdateInterceptor +brokercep.message-interceptors-specs.LogMessageUpdateInterceptor.className = interceptor.broker.gr.iccs.imu.ems.brokercep.LogMessageUpdateInterceptor +brokercep.message-interceptors-specs.MessageForwarderInterceptor.className = interceptor.broker.gr.iccs.imu.ems.brokercep.MessageForwarderInterceptor + +# Message forward destinations (MessageForwarderInterceptor must be included in 'message-interceptors' property) +#brokercep.message-forward-destinations[0].connection-string = tcp://localhost:51515 +#brokercep.message-forward-destinations[0].username = AAA +#brokercep.message-forward-destinations[0].password = 111 +#brokercep.message-forward-destinations[1].connection-string = tcp://localhost:41414 +#brokercep.message-forward-destinations[1].username = AAA +#brokercep.message-forward-destinations[1].password = 111 + +# Advisory watcher +brokercep.enable-advisory-watcher = true + +# Memory usage limit +brokercep.usage.memory.jvm-heap-percentage = 20 +#brokercep.usage.memory.size = 134217728 + +# Event forward settings +#brokercep.maxEventForwardRetries: -1 +#brokercep.maxEventForwardDuration: -1 + +# Event recorder settings +event-recorder.enabled=true +#event-recorder.format=JSON +event-recorder.file=${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/events-%T.%S +#event-recorder.filterMode: ALL | REGISTERED (default) | ALLOWED +#event-recorder.allowed-destinations: + + +################################################################################ +### EMS - Baguette Server properties ### +################################################################################ + +# Coordinator settings - Old style +baguette.server.coordinator-class = cluster.coordinator.gr.iccs.imu.ems.baguette.server.ClusteringCoordinator +#baguette.server.coordinatorParameters.param1 = p1 +#baguette.server.coordinatorParameters.param2 = p2 + +# Coordinator settings - New style +baguette.server.coordinator-id = clustering, 2level, noop +baguette.server.coordinatorConfig.clustering.coordinatorClass = cluster.coordinator.gr.iccs.imu.ems.baguette.server.ClusteringCoordinator +baguette.server.coordinatorConfig.clustering.parameters.zone-management-strategy-class = cluster.coordinator.gr.iccs.imu.ems.baguette.server.DefaultZoneManagementStrategy +baguette.server.coordinatorConfig.clustering.parameters.zone-port-start = 2000 +baguette.server.coordinatorConfig.clustering.parameters.zone-port-end = 2999 +baguette.server.coordinatorConfig.clustering.parameters.zone-keystore-file-name-formatter = ${LOGS_DIR:logs}/cluster_${DOLLAR}{TIMESTAMP}_${DOLLAR}{ZONE_ID}.p12 +#baguette.server.coordinatorConfig.clustering.parameters.cluster-detector-class = cluster.coordinator.gr.iccs.imu.ems.baguette.server.ClusterZoneDetector +#baguette.server.coordinatorConfig.clustering.parameters.cluster-detector-rules-type = MAP +#baguette.server.coordinatorConfig.clustering.parameters.cluster-detector-rules-separator = , +#baguette.server.coordinatorConfig.clustering.parameters.cluster-detector-rules = zone, zone-id, region, region-id, cloud, cloud-id, provider, provider-id +#baguette.server.coordinatorConfig.clustering.parameters.default-clusters = DEFAULT_CLUSTER_A, DEFAULT_CLUSTER_B +#baguette.server.coordinatorConfig.clustering.parameters.assignment-to-default-clusters = RANDOM +baguette.server.coordinatorConfig.2level.coordinatorClass = coordinator.gr.iccs.imu.ems.baguette.server.TwoLevelCoordinator +baguette.server.coordinatorConfig.noop.coordinatorClass = coordinator.gr.iccs.imu.ems.baguette.server.NoopCoordinator + +# Registration settings +#baguette.server.number-of-instances = 1 +baguette.server.registration-window = 30000 + +# SSH Server settings +baguette.server.address = ${EMS_SERVER_ADDRESS} +baguette.server.port = 2222 +baguette.server.key-file = ${EMS_CONFIG_DIR}/hostkey.pem +baguette.server.heartbeat-enabled = true +baguette.server.heartbeat-period = 60000 + +# SSH Server additional username/passwords +#baguette.server.credentials.aa=xx +#baguette.server.credentials.bb=yy + +# Client Id generation settings +#baguette.server.client-address-override-allowed=true +baguette.server.client-id-format-escape = ~ +baguette.server.client-id-format = ~{type:-_}-~{operatingSystem:-_}-~{id:-_}-~{name:-_}-~{provider:-_}-~{address:-_}-~{random:-_} + + +################################################################################ +### EMS - Baguette Client Install properties ### +################################################################################ + +### OS families +baguette.client.install.osFamilies.LINUX=CENTOS,DARWIN,DEBIAN,FEDORA ,FREEBSD ,GENTOO,COREOS,AMZN_LINUX,MANDRIVA ,NETBSD,OEL ,OPENBSD,RHEL,SCIENTIFIC,CEL,SLACKWARE,SOLARIS,SUSE,TURBOLINUX,CLOUD_LINUX,UBUNTU +baguette.client.install.osFamilies.WINDOWS=WINDOWS + +### Workers +baguette.client.install.workers=5 + +### Installation settings +### --- Root command --- +### E.g. 'echo ${NODE_SSH_PASSWORD} | sudo -S -- ' +baguette.client.install.rootCmd= + +### --- Directories and files --- +baguette.client.install.baseDir=~/baguette-client +baguette.client.install.mkdirs=${baguette.client.install.baseDir}/bin,${baguette.client.install.baseDir}/conf,${baguette.client.install.baseDir}/logs +baguette.client.install.touchFiles=${baguette.client.install.baseDir}/logs/output.txt +baguette.client.install.checkInstalledFile=${baguette.client.install.baseDir}/conf/ok.txt + +### --- Installation script URL and file (obsolete) --- +baguette.client.install.downloadUrl=%{BASE_URL}% +#baguette.client.install.downloadUrl=http://${EMS_SERVER_ADDRESS}:8111/resources +baguette.client.install.apiKey=${web.security.api-key-authentication.value} +baguette.client.install.installScriptUrl=${baguette.client.install.downloadUrl}/install.sh +baguette.client.install.installScriptFile=${baguette.client.install.baseDir}/bin/install.sh + +### --- Archive copying --- +#baguette.client.install.archiveSourceDir=${EMS_CONFIG_DIR}/baguette-client +#baguette.client.install.archiveDir=${EMS_CONFIG_DIR}/baguette-client +#baguette.client.install.archiveFile=baguette-client-conf.tgz +#baguette.client.install.clientConfArchiveFile=${baguette.client.install.baseDir}/baguette-client-conf.tgz + +### --- EMS server (HTTPS) certificate file (PEM) --- +#baguette.client.install.serverCertFileAtServer=${EMS_CONFIG_DIR}/baguette-client/conf/server.pem +baguette.client.install.serverCertFileAtServer=${EMS_CONFIG_DIR}/server.pem +baguette.client.install.serverCertFileAtClient=${baguette.client.install.baseDir}/conf/server.pem +baguette.client.install.copyFilesFromServerDir=${EMS_CONFIG_DIR}/baguette-client/ +baguette.client.install.copyFilesToClientDir=${baguette.client.install.baseDir}/ + +### --- temp. folders --- +baguette.client.install.clientTmpDir=/tmp +#baguette.client.install.serverTmpDir=${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/tmp +baguette.client.install.serverTmpDir=${EMS_HOME}/tmp +baguette.client.install.keepTempFiles=false + +### Simulation settings +#baguette.client.install.simulate-connection = true +#baguette.client.install.simulate-execution = true + +### SSH connection settings +#baguette.client.install.maxRetries = 5 +#baguette.client.install.retryDelay = 1000 +#baguette.client.install.retryBackoffFactor = 1.0 +#baguette.client.install.connectTimeout = 10000 +#baguette.client.install.authenticateTimeout = 60000 +#baguette.client.install.heartbeatInterval = 60000 +#baguette.client.install.commandExecutionTimeout = 60000, + +### ----------------------------------------- +### Instruction Set file processing settings + +baguette.client.install.instructions.LINUX = \ + file:${EMS_CONFIG_DIR}/baguette-client-install/linux/check-ignore.json, \ + file:${EMS_CONFIG_DIR}/baguette-client-install/linux/detect.json, \ + file:${EMS_CONFIG_DIR}/baguette-client-install/linux/netdata.json, \ + file:${EMS_CONFIG_DIR}/baguette-client-install/linux/jre.json, \ + file:${EMS_CONFIG_DIR}/baguette-client-install/linux/baguette.json, \ + file:${EMS_CONFIG_DIR}/baguette-client-install/linux/baguette-skip.json, \ + file:${EMS_CONFIG_DIR}/baguette-client-install/linux/start-agents.json +baguette.client.install.instructions.WINDOWS = file:${EMS_CONFIG_DIR}/baguette-client-install/win/win.json + +baguette.client.install.continueOnFail = true +baguette.client.install.sessionRecordingDir = ${LOGS_DIR:${EMS_CONFIG_DIR}/../logs} + +### Baguette and Netdata installation parameters (for condition checking) + +#baguette.client.install.parameters.SKIP_IGNORE_CHECK=true +#baguette.client.install.parameters.SKIP_DETECTION=true +#baguette.client.install.parameters.SKIP_NETDATA_INSTALLATION=true +#baguette.client.install.parameters.SKIP_BAGUETTE_INSTALLATION=true +#baguette.client.install.parameters.SKIP_JRE_INSTALLATION=true +#baguette.client.install.parameters.SKIP_START=true + +baguette.client.install.parameters.BAGUETTE_INSTALLATION_MIN_PROCESSORS=2 +baguette.client.install.parameters.BAGUETTE_INSTALLATION_MIN_RAM=2*1024*1024 +baguette.client.install.parameters.BAGUETTE_INSTALLATION_MIN_DISK_FREE=1024*1024 + +### Settings for resolving Node state after baguette client installation +#baguette.client.install.clientInstallVarName=__EMS_CLIENT_INSTALL__ +#baguette.client.install.clientInstallSuccessPattern=^INSTALLED($|[\s:=]) +#baguette.client.install.clientInstallErrorPattern=^ERROR($|[\s:=]) + +#baguette.client.install.skipInstallVarName=__EMS_CLIENT_INSTALL__ +#baguette.client.install.skipInstallPattern=^SKIPPED($|[\s:=]) + +#baguette.client.install.ignoreNodeVarName=__EMS_IGNORE_NODE__ +#baguette.client.install.ignoreNodePattern=^IGNORED($|[\s:=]) + +#baguette.client.install.ignoreNodeIfVarIsMissing=false +#baguette.client.install.skipInstallIfVarIsMissing=false +#baguette.client.install.clientInstallSuccessIfVarIsMissing=false +#baguette.client.install.clientInstallErrorIfVarIsMissing=true + +baguette.client.install.installationContextProcessorPlugins=\ + plugin.install.gr.iccs.imu.ems.baguette.client.AllowedTopicsProcessorPlugin, \ + plugin.install.gr.iccs.imu.ems.baguette.client.PrometheusProcessorPlugin + +### Server-side Self-Healing. Recovers monitoring functionality of registered nodes (i.e. EMS client and/or Netdata agent) +self.healing.enabled=true +self.healing.mode=INCLUDED +self.healing.recovery.delay=10000 +self.healing.recovery.retryDelay=60000 +self.healing.recovery.maxRetries=3 +self.healing.recovery.file.baguette=file:${EMS_CONFIG_DIR}/baguette-client-install/linux/recover-baguette.json +self.healing.recovery.file.netdata= + + +################################################################################ +### EMS - CAMEL-to-EPL Translator properties ### +################################################################################ + +### Translator configuration +#translator.translatorType=CAMEL_FILE +#translator.translatorProperties.camelFile.modelsDir=/models/ +#translator.translatorProperties.camelWeb.baseUrl=http://models-server:8080/ +#translator.translatorProperties.camelWeb.modelsDir=/models/web +#translator.translatorProperties.camelWeb.deleteFile=false + +translator.leaf-node-grouping = PER_INSTANCE +translator.prune-mvv=true +translator.add-top-level-metrics=true + +### IMPORTANT: Pattern must yield valid EPL identifiers +translator.full-name-pattern={TYPE}__{CAMEL}__{MODEL}__{ELEM}__{COUNT} +translator.formula-check-enabled=true + +### Sensor settings +translator.sensor-configuration-annotation=MELODICMetadataSchema.ContextAwareSecurityModel.SecurityContextElement.Object.DataArtefact.Configuration.ConfigurationFormat.JSON_FORMAT +translator.sensor-min-interval=1 +translator.sensor-default-interval=60 + +# Load-annotated metric settings +translator.loadMetricAnnotation=MELODICMetadataSchema.UtilityNotions.UtilityRelatedProperties.Utility.BusyInstanceMetric +translator.loadMetricVariableFormatter=busy.%s + +### Print results and export switches +#translator.print-results=true +translator.dag.export-to-dot-enabled=false +translator.dag.export-to-file-enabled=false + +### Graph rendering parameters +translator.dag.export-path=${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/exports +#translator.dag.export-formats=png,svg,xdot,ps,json,plain,plain_ext +#translator.dag.export-formats=png,svg,xdot +translator.dag.export-formats=png,svg +translator.dag.export-image-width=600 + +### Active sinks (list) +#translator.active-sinks=JMS +# +### Sink configurations +#translator.sink-config.JMS.jms.broker=failover:(tcp://localhost:61616)?initialReconnectDelay=1000&warnAfterReconnectAttempts=10 +#translator.sink-config.JMS.jms.topic.selector=de.uniulm.omi.cloudiator.visor.reporting.jms.MetricNameTopicSelector +#translator.sink-config.JMS.jms.message.format=de.uniulm.omi.cloudiator.visor.reporting.jms.MelodicJsonEncoding + +################################################################################ \ No newline at end of file diff --git a/ems-core/config-files/ems-server.yml b/ems-core/config-files/ems-server.yml new file mode 100644 index 0000000..b5cde30 --- /dev/null +++ b/ems-core/config-files/ems-server.yml @@ -0,0 +1,666 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +################################################################################ +### Global settings +################################################################################ + +### Don't touch the next line!! +EMS_SERVER_ADDRESS: ${${control.IP_SETTING}} +DOLLAR: '$' + +### Password Encoder settings +#password-encoder-class: gr.iccs.imu.ems.util.password.AsterisksPasswordEncoder +#password-encoder-class: gr.iccs.imu.ems.util.password.IdentityPasswordEncoder +#password-encoder-class: gr.iccs.imu.ems.util.password.PresentPasswordEncoder + +### Jasypt encryptor settings (using old settings until encrypted texts are updated) +jasypt: + encryptor: + algorithm: PBEWithMD5AndDES + ivGeneratorClassname: org.jasypt.iv.NoIvGenerator + +### Execution (@EnableAsync) and Scheduling (@EnableScheduling) thread pools +#spring.task.execution.pool.max-size: 16 +#spring.task.execution.pool.queue-capacity: 100 +#spring.task.execution.pool.keep-alive: '10s' +#spring.task.scheduling.pool.size: 2 + +### Misc +spring.output.ansi.enabled: ALWAYS +spring.jackson.default-property-inclusion: non_null + + +################################################################################ +### Web server port and TLS settings +################################################################################ + +server: + port: 8111 + ssl: + enabled: true + ### Keystore/Truststore settings + key-store: ${control.ssl.keystore-file} + key-store-password: ${control.ssl.keystore-password} + key-store-type: ${control.ssl.keystore-type} + key-alias: ${control.ssl.key-entry-name} + #key-password: ${control.ssl.key-entry-password} + # + ### SSL ciphers and protocol settings + #ciphers: TLS_RSA_WITH_AES_128_CBC_SHA256 # SSL ciphers + #protocol: TLS # SSL protocol to use + #enabled-protocols: TLSv1.2 # Enabled SSL protocols + +#security.require-ssl: true + + +################################################################################ +### JWT settings +jwt: + secret: ENC(I0mRWgH2FVDDNs4OBcdh7Z+o3lOQDa3ztaEtmnXT2HN0aClkChp/lqm9zM5HyTk0stJ7v2Di75U=) +# expirationTime: 86400000 +# refreshTokenExpirationTime: 86400000 + + +################################################################################ +### Authorization settings +### NOTE: More authorization settings in 'authorization-client.properties' +authorization: + enabled: false + #paths-protected: [ '/camelModel*', '/cpModel*', '/ems/**', '/baguette/**', '/event/**', '/monitors' ] + #paths-excluded: [] + + +################################################################################ +### Logback configuration file +logging: + config: file:${EMS_CONFIG_DIR}/logback-conf/logback-spring.xml + + +################################################################################ +### Web Log-viewer configuration +log-viewer: + url-mapping: /log-viewer + + +################################################################################ +### EMS - Control Service properties ### +################################################################################ + +control: + + ### Don't touch the next lines!! + IP_SETTING: ${EMS_IP_SETTING:PUBLIC_IP} + EXECUTIONWARE: PROACTIVE + + ### URLs of Upperware services being invoked by EMS + esb-url: ${ESB_URL:https://mule:8088} + metasolver-configuration-url: ${METASOLVER_URL:http://metasolver:8092/updateConfiguration} + + ### Log settings + #print-build-info: true + log-requests: ${EMS_LOG_REQUESTS:false} + + ### Debug settings - Deactivate processing modules + #skip-translation: true + #skip-mvv-retrieve: true + #skip-broker-cep: true + #skip-baguette: true + #skip-collectors: true + #skip-metasolver: true + #skip-esb-notification: true + upperware-grouping: GLOBAL + + ### Debug settings - Load/Save translation results + tc-load-file: ${EMS_TC_LOAD_FILE:${EMS_TC_FILE:${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/_TC.json}} + tc-save-file: ${EMS_TC_SAVE_FILE:${EMS_TC_FILE:${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/_TC.json}} + + ### Process CAMEL and CP models on start-up + preload: + ### CAMEL model to process on start-up + camel-model: ${EMS_PRELOAD_CAMEL_MODEL:} + ### CP model to process on start-up + cp-model: ${EMS_PRELOAD_CP_MODEL:} + + ### Exit settings + exit-allowed: false + exit-grace-period: 10 + exit-code: 0 + + ### Key store, Trust store and Certificate settings + ssl: + # Key store settings + keystore-file: ${EMS_CONFIG_DIR}/ems-keystore.p12 + keystore-type: PKCS12 + #keystore-password: 'ENC(ISMbn01HVPbtRPkqm2Lslg==)' # melodic + + # Trust store settings + truststore-file: ${EMS_CONFIG_DIR}/ems-truststore.p12 + truststore-type: PKCS12 + #truststore-password: 'ENC(ISMbn01HVPbtRPkqm2Lslg==)' # melodic + + # Certificate settings + certificate-file: ${EMS_CONFIG_DIR}/ems-cert.crt + + # EMS key generation settings + key-entry-generate: ALWAYS + key-entry-name: ems + #key-entry-password: + key-entry-dname: 'CN=ems,OU=Information Management Unit (IMU),O=Institute of Communication and Computer Systems (ICCS),L=Athens,ST=Attika,C=GR' + key-entry-ext-san: 'dns:localhost,ip:127.0.0.1,ip:${DEFAULT_IP},ip:${PUBLIC_IP}' + +################################################################################ +### Web configuration - Static resources + +### Static Web Resources and Redirects +web.static: + + ### Favicon settings + #favicon-context: /favicon.ico + favicon-path: file:${PUBLIC_DIR}/favicon.ico + + ### Static resource settings + resource-context: /** + resource-path: file:${PUBLIC_DIR}/ + + logs-context: /logs/** + logs-path: file:${LOGS_DIR}/ + + ### Redirects + #redirect: /resources/index.html + redirects: + '[/]': '/admin/index.html' + '[/index.html]': '/admin/index.html' + '[/admin]': '/admin/index.html' + '[/admin/]': '/admin/index.html' + '[/resources]': '/resources/index.html' + '[/resources/]': '/resources/index.html' + +################################################################################ +### Web & REST Security configuration + +### NOTE: Setting this to 'false' will turn off all security features +#melodic.security.enabled: false + +#web.security: +# +# ### JWT authentication ### +# jwt-authentication: +# enabled: false +# request-parameter: jwt +# print-sample-token: false +# +# ### API Key access ### +# api-key-authentication: +# enabled: false +# #value: ${random.uuid} +# value: 1234567890 +# request-header: EMS-API-KEY +# request-parameter: ems-api-key +# +# ### OTP access ### +# otp-authentication: +# enabled: false +# duration: 3600000 +# request-header: EMS-OTP +# request-parameter: ems-otp +# +# ### User Web Form authentication ### +# form-authentication: +# enabled: false +# username: admin +# password: ems + +################################################################################ +### Topic Beacon settings +beacon: + enabled: true + initial-delay: 60000 + delay: 60000 + #rate: 60000 + #use-delay: false + heartbeat-topics: + threshold-topics: _ui_threshold_info + instance-topics: _ui_instance_info + prediction-topics: metrics_to_predict + prediction-rate: 60000 + slo-violation-detector-topics: metric.metric_list + +################################################################################ +### Info Service settings +info: + metrics-update-interval: 1000 + metrics-client-update-interval: 10000 + metrics-stream-update-interval: 10 # in seconds + metrics-stream-event-name: ems-metrics-event + env-var-prefixes: + - WEBSSH_SERVICE_-^ + - WEB_ADMIN_!^ + # ! at the end means to trim off the prefix; - at the end means to convert '_' to '-'; + # ^ at the end means convert to upper case; ~ at the end means convert to lower case; + +################################################################################ +### Collectors settings +collector: + netdata: + enable: true + delay: 10000 + skipLocal: true + url: http://127.0.0.1:19999/api/v1/allmetrics?format=json + urlOfNodesWithoutClient: http://%s:19999/api/v1/allmetrics?format=json + #create-topic: true + #allowed-topics: netdata__system__cpu__user:an_alias + error-limit: 3 + pause-period: 60 + +################################################################################ +### Management and Endpoint settings +management: + info: + build.enabled: true + env.enabled: true + git.enabled: true + java.enabled: true + endpoints.web: + exposure.include: 'health,info' +# exposure.include: 'health,info,hawtio,jolokia' +# base-path: / +# endpoint.health.show-details: always +# security.enabled: false +# port: 9001 +# address: 127.0.0.1 +#endpoints.metrics.sensitive: false + +### Hawtio web console settings +#management.endpoints.web.path-mapping.hawtio: hawtio/console +#hawtio: +# authenticationEnabled: false # NOTE: Uncomment to enable actuator and hawtio +# proxyWhitelist: +# realm: hawtio +# role: admin,viewer +# rolePrincipalClasses: org.apache.activemq.jaas.GroupPrincipal + +### Jolokia (HTTP-JMX bridge) settings +#jolokia.config.debug: false +#endpoints.jolokia: +# enabled: true +# sensitive: false +# path: /jolokia +#spring.jmx.enabled: true +#endpoints.jmx.enabled: true + +################################################################################ +### Spring Boot Admin Client settings +#spring.boot.admin.client: +# url: http://localhost:8080 +# username: username +# password: password +# instance.service-base-url: http://localhost:8080 + + +################################################################################ +### EMS - Broker-CEP properties ### +################################################################################ + +BROKER_URL_PROPERTIES: transport.daemon=true&transport.trace=false&transport.useKeepAlive=true&transport.useInactivityMonitor=false&transport.needClientAuth=${CLIENT_AUTH_REQUIRED}&transport.verifyHostName=true&transport.connectionTimeout=0&transport.keepAlive=true +CLIENT_AUTH_REQUIRED: false +CLIENT_URL_PROPERTIES: daemon=true&trace=false&useInactivityMonitor=false&connectionTimeout=0&keepAlive=true + +brokercep: + # Broker name, ports and protocol + #broker-name: broker + broker-port: 61617 + broker-protocol: ssl + #management-connector-port: 1099 + #bypass-local-broker: true # Don't use in EMS server + + # Broker connectors + broker-url: + - ${brokercep.broker-protocol}://0.0.0.0:${brokercep.broker-port}?${BROKER_URL_PROPERTIES} + - tcp://0.0.0.0:61616?${BROKER_URL_PROPERTIES} + - stomp://0.0.0.0:61610 + + # Broker URLs for (EMS) consumer and clients + broker-url-for-consumer: tcp://${EMS_SERVER_ADDRESS}:61616?${CLIENT_URL_PROPERTIES} + broker-url-for-clients: ${brokercep.broker-protocol}://${EMS_SERVER_ADDRESS}:${brokercep.broker-port}?${CLIENT_URL_PROPERTIES} + # Must be a public IP address + + ssl: + # Key store settings + keystore-file: ${EMS_CONFIG_DIR}/broker-keystore.p12 + keystore-type: ${control.ssl.keystore-type} + keystore-password: ${control.ssl.keystore-password} + + # Trust store settings + truststore-file: ${EMS_CONFIG_DIR}/broker-truststore.p12 + truststore-type: ${control.ssl.truststore-type} + truststore-password: ${control.ssl.truststore-password} + + # Certificate settings + certificate-file: ${EMS_CONFIG_DIR}/broker.crt + + # EMS key generation settings + key-entry-generate: ALWAYS + key-entry-name: ${control.ssl.key-entry-name} + key-entry-dname: ${control.ssl.key-entry-dname} + key-entry-ext-san: ${control.ssl.key-entry-ext-san} + + # Authentication and Authorization settings + authentication-enabled: true + #additional-broker-credentials: aaa/111, bbb/222, morphemic/morphemic + #additional-broker-credentials: ENC(axeJUxNHajYfBffUwvuT3kwTgLTpRliDMz/ZQ9hROZ3BNOv0Idw72NJsawzIZRuZ) + authorization-enabled: false + + # Broker instance settings + broker-persistence-enabled: false + broker-using-jmx: true + broker-advisory-support-enabled: true + broker-using-shutdown-hook: false + + broker-enable-statistics: true + broker-populate-jmsx-user-id: true + + # Message interceptors + message-interceptors: + - destination: '>' + className: 'gr.iccs.imu.ems.brokercep.broker.interceptor.SequentialCompositeInterceptor' + params: + - '#SourceAddressMessageUpdateInterceptor' + - '#LogMessageUpdateInterceptor' + - '#MessageForwarderInterceptor' + + message-interceptors-specs: + SourceAddressMessageUpdateInterceptor: + className: gr.iccs.imu.ems.brokercep.broker.interceptor.SourceAddressMessageUpdateInterceptor + LogMessageUpdateInterceptor: + className: gr.iccs.imu.ems.brokercep.broker.interceptor.LogMessageUpdateInterceptor + MessageForwarderInterceptor: + className: gr.iccs.imu.ems.brokercep.broker.interceptor.MessageForwarderInterceptor + + # Message forward destinations (MessageForwarderInterceptor must be included in 'message-interceptors' property) + #message-forward-destinations: + # - connection-string: tcp://localhost:51515 + # username: AAA + # password: 111 + # - connection-string: tcp://localhost:41414 + # username: AAA + # password: 111 + + # Advisory watcher + enable-advisory-watcher: true + + # Memory usage limit + usage: + memory: + jvm-heap-percentage: 20 + #size: 134217728 + + # Event forward settings + #maxEventForwardRetries: -1 + #maxEventForwardDuration: -1 + + # Event recorder settings + event-recorder: + enabled: true + #format: JSON + file: ${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/events-%T.%S + #filter-mode: ALL | REGISTERED (default) | ALLOWED + #allowed-destinations: + + +################################################################################ +### EMS - Baguette Server properties ### +################################################################################ + +baguette.server: + + # Coordinator settings - Old style + coordinator-class: gr.iccs.imu.ems.baguette.server.coordinator.cluster.ClusteringCoordinator + #coordinatorParameters: + # param1: p1 + # param2: p2 + + # Coordinator settings - New style + coordinator-id: [ clustering, 2level, noop ] + coordinatorConfig: + clustering: + coordinatorClass: gr.iccs.imu.ems.baguette.server.coordinator.cluster.ClusteringCoordinator + parameters: + zone-management-strategy-class: gr.iccs.imu.ems.baguette.server.coordinator.cluster.DefaultZoneManagementStrategy + zone-port-start: 2000 + zone-port-end: 2999 + zone-keystore-file-name-formatter: '${LOGS_DIR:logs}/cluster_${DOLLAR}{TIMESTAMP}_${DOLLAR}{ZONE_ID}.p12' + #cluster-detector-class: gr.iccs.imu.ems.baguette.server.coordinator.cluster.ClusterZoneDetector + #cluster-detector-rules-type: MAP + #cluster-detector-rules-separator: ',' + #cluster-detector-rules: zone, zone-id, region, region-id, cloud, cloud-id, provider, provider-id + #default-clusters: DEFAULT_CLUSTER_A, DEFAULT_CLUSTER_B + #assignment-to-default-clusters: RANDOM + 2level: + coordinatorClass: gr.iccs.imu.ems.baguette.server.coordinator.TwoLevelCoordinator + noop: + coordinatorClass: gr.iccs.imu.ems.baguette.server.coordinator.NoopCoordinator + + # Registration settings + #number-of-instances: 1 + registration-window: 30000 + + # SSH Server settings + address: ${EMS_SERVER_ADDRESS} + port: 2222 + key-file: ${EMS_CONFIG_DIR}/hostkey.pem + heartbeat-enabled: true + heartbeat-period: 60000 + + # SSH Server additional username/passwords + #credentials: + # aa: xx + # bb: yy + + # Client Id generation settings + #client-address-override-allowed: true + client-id-format-escape: '~' + client-id-format: '~{type:-_}-~{operatingSystem:-_}-~{id:-_}-~{name:-_}-~{provider:-_}-~{address:-_}-~{random:-_}' + + +################################################################################ +### EMS - Baguette Client Install properties ### +################################################################################ + +baguette.client.install: + + ### OS families + osFamilies: + LINUX: [ UNKNOWN_OS_FAMILY, CENTOS,DARWIN,DEBIAN,FEDORA ,FREEBSD ,GENTOO,COREOS,AMZN_LINUX,MANDRIVA ,NETBSD,OEL ,OPENBSD,RHEL,SCIENTIFIC,CEL,SLACKWARE,SOLARIS,SUSE,TURBOLINUX,CLOUD_LINUX,UBUNTU ] + WINDOWS: [ WINDOWS ] + + ### Workers + workers: 5 + + ### Installation settings + ### --- Root command --- + ### E.g. 'echo ${NODE_SSH_PASSWORD} | sudo -S -- ' + rootCmd: '' + + ### --- Directories and files --- + baseDir: ~/baguette-client + mkdirs: [ '${baguette.client.install.baseDir}/bin', '${baguette.client.install.baseDir}/conf', '${baguette.client.install.baseDir}/logs' ] + touchFiles: [ '${baguette.client.install.baseDir}/logs/output.txt' ] + checkInstalledFile: ${baguette.client.install.baseDir}/conf/ok.txt + + ### --- Installation script URL and file (obsolete) --- + downloadUrl: '%{BASE_URL}%' + #downloadUrl: http://${EMS_SERVER_ADDRESS}:8111/resources + apiKey: ${web.security.api-key-authentication.value} + installScriptUrl: ${baguette.client.install.downloadUrl}/install.sh + installScriptFile: ${baguette.client.install.baseDir}/bin/install.sh + + ### --- Archive copying --- + #archiveSourceDir: ${EMS_CONFIG_DIR}/baguette-client + #archiveDir: ${EMS_CONFIG_DIR}/baguette-client + #archiveFile: baguette-client-conf.tgz + #clientConfArchiveFile: ${baguette.client.install.baseDir}/baguette-client-conf.tgz + + ### --- EMS server (HTTPS) certificate file (PEM) --- + #serverCertFileAtServer: ${EMS_CONFIG_DIR}/baguette-client/conf/server.pem + serverCertFileAtServer: ${EMS_CONFIG_DIR}/server.pem + serverCertFileAtClient: ${baguette.client.install.baseDir}/conf/server.pem + copyFilesFromServerDir: ${EMS_CONFIG_DIR}/baguette-client/ + copyFilesToClientDir: ${baguette.client.install.baseDir}/ + + ### --- temp. folders --- + clientTmpDir: /tmp + #serverTmpDir: ${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/tmp + serverTmpDir: ${EMS_HOME}/tmp + keepTempFiles: false + + ### Simulation settings + #simulateConnection: false + #simulateExecution: false + + ### SSH connection settings + #maxRetries: 5 + #retryDelay: 1000 + #retryBackoffFactor: 1.0 + #connectTimeout: 10000 + #authenticateTimeout: 60000 + #heartbeatInterval: 60000 + #commandExecutionTimeout: 60000, + + ### ----------------------------------------- + ### Instruction Set file processing settings + + instructions: + LINUX: + # Instructions set files - JSON version + - file:${EMS_CONFIG_DIR}/baguette-client-install/linux/check-ignore.json + - file:${EMS_CONFIG_DIR}/baguette-client-install/linux/detect.json + - file:${EMS_CONFIG_DIR}/baguette-client-install/linux/netdata.json + - file:${EMS_CONFIG_DIR}/baguette-client-install/linux/baguette-remove.json + - file:${EMS_CONFIG_DIR}/baguette-client-install/linux/jre.json + - file:${EMS_CONFIG_DIR}/baguette-client-install/linux/baguette.json + - file:${EMS_CONFIG_DIR}/baguette-client-install/linux/baguette-skip.json + - file:${EMS_CONFIG_DIR}/baguette-client-install/linux/start-agents.json + # Instructions set files - YAML version +# - file:${EMS_CONFIG_DIR}/baguette-client-install/linux-yaml/check-ignore.yml +# - file:${EMS_CONFIG_DIR}/baguette-client-install/linux-yaml/detect.yml +# - file:${EMS_CONFIG_DIR}/baguette-client-install/linux-yaml/netdata.yml +# - file:${EMS_CONFIG_DIR}/baguette-client-install/linux-yaml/jre8.yml +# - file:${EMS_CONFIG_DIR}/baguette-client-install/linux-yaml/baguette.yml +# - file:${EMS_CONFIG_DIR}/baguette-client-install/linux-yaml/baguette-skip.yml +# - file:${EMS_CONFIG_DIR}/baguette-client-install/linux-yaml/start-agents.yml + WINDOWS: + - file:${EMS_CONFIG_DIR}/baguette-client-install/win/win.json + + continueOnFail: true + sessionRecordingDir: ${LOGS_DIR:${EMS_CONFIG_DIR}/../logs} + + ### Baguette and Netdata installation parameters (for condition checking) + parameters: + + #SKIP_IGNORE_CHECK: true + #SKIP_DETECTION: true + #SKIP_NETDATA_INSTALLATION: true + #SKIP_BAGUETTE_INSTALLATION: true + #SKIP_JRE_INSTALLATION: true + #SKIP_START: true + + BAGUETTE_INSTALLATION_MIN_PROCESSORS: 2 + BAGUETTE_INSTALLATION_MIN_RAM: 2*1024*1024 + BAGUETTE_INSTALLATION_MIN_DISK_FREE: 1024*1024 + + ### Settings for resolving Node state after baguette client installation + #clientInstallVarName: '__EMS_CLIENT_INSTALL__' + #clientInstallSuccessPattern: '^INSTALLED($|[\s:=])' + #clientInstallErrorPattern: '^ERROR($|[\s:=])' + # + #skipInstallVarName: '__EMS_CLIENT_INSTALL__' + #skipInstallPattern: '^SKIPPED($|[\s:=])' + # + #ignoreNodeVarName: '__EMS_IGNORE_NODE__' + #ignoreNodePattern: '^IGNORED($|[\s:=])' + # + #ignoreNodeIfVarIsMissing: false + #skipInstallIfVarIsMissing: false + #clientInstallSuccessIfVarIsMissing: false + #clientInstallErrorIfVarIsMissing: true + + installationContextProcessorPlugins: + - gr.iccs.imu.ems.baguette.client.install.plugin.AllowedTopicsProcessorPlugin + - gr.iccs.imu.ems.baguette.client.install.plugin.PrometheusProcessorPlugin + +### Server-side Self-Healing. Recovers monitoring functionality of registered nodes (i.e. EMS client and/or Netdata agent) +self.healing: + enabled: true + mode: INCLUDED + recovery: + delay: 10000 + retryDelay: 60000 + maxRetries: 3 + file: + baguette: file:${EMS_CONFIG_DIR}/baguette-client-install/linux/recover-baguette.json + netdata: + + +################################################################################ +### EMS - CAMEL-to-EPL Translator properties ### +################################################################################ + +### Translator configuration +translator: + #translatorType: CAMEL_FILE + #translatorProperties: + # camelFile: + # modelsDir: /models/ + # camelWeb: + # baseUrl: http://models-server:8080/ + # modelsDir: /models/web + # deleteFile: false + + leaf-node-grouping: PER_INSTANCE + prune-mvv: true + add-top-level-metrics: true + + ### IMPORTANT: Pattern must yield valid EPL identifiers + full-name-pattern: '{TYPE}__{CAMEL}__{MODEL}__{ELEM}__{COUNT}' + formula-check-enabled: true + + ### Sensor settings + sensor-configuration-annotation: 'MELODICMetadataSchema.ContextAwareSecurityModel.SecurityContextElement.Object.DataArtefact.Configuration.ConfigurationFormat.JSON_FORMAT' + sensor-min-interval: 1 + sensor-default-interval: 60 + + # Load-annotated metric settings + loadMetricAnnotation: 'MELODICMetadataSchema.Application_Placement_Model.UtilityNotions.BusyInstanceMetric' + loadMetricVariableFormatter: 'busy.%s' + + ### Print results and export switches + #print-results: true + dag: + export-to-dot-enabled: false + export-to-file-enabled: false + + ### Graph rendering parameters + export-path: ${LOGS_DIR:${EMS_CONFIG_DIR}/../logs}/exports + #export-formats: [ 'png', 'svg', 'xdot', 'ps', 'json', 'plain', 'plain_ext' ] + #export-formats: [ 'png', 'svg', 'xdot' ] + export-formats: [ 'png', 'svg' ] + export-image-width: 600 + + ### Active sinks (list) + #sinks: [ 'JMS' ] + # + ### Sink configurations + #sink-config: + # JMS: + # jms.broker: 'failover:(tcp://localhost:61616)?initialReconnectDelay=1000&warnAfterReconnectAttempts=10' + # jms.topic.selector: 'de.uniulm.omi.cloudiator.visor.reporting.jms.MetricNameTopicSelector' + # jms.message.format: 'de.uniulm.omi.cloudiator.visor.reporting.jms.MelodicJsonEncoding' + +################################################################################ \ No newline at end of file diff --git a/ems-core/config-files/eu.melodic.upperware.security.properties b/ems-core/config-files/eu.melodic.upperware.security.properties new file mode 100644 index 0000000..8559c75 --- /dev/null +++ b/ems-core/config-files/eu.melodic.upperware.security.properties @@ -0,0 +1,17 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# JWT authentication configuration for EMS +jwt.secret=mE1odiCl0ud +jwt.expirationTime=86400000 +jwt.refreshTokenExpirationTime=86400000 + +#melodic user +user.username=myUsername +user.password=myPassword \ No newline at end of file diff --git a/ems-core/config-files/eu.paasage.mddb.cdo.client.properties b/ems-core/config-files/eu.paasage.mddb.cdo.client.properties new file mode 100644 index 0000000..63f31f4 --- /dev/null +++ b/ems-core/config-files/eu.paasage.mddb.cdo.client.properties @@ -0,0 +1,29 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +######################################################### +# cdo server connection properties +# This file is used for development. During production +# run, there should be a similar file located in the +# $PAASAGE_CONFIG_DIR and which is used by the +# upperware components. +######################################################### + +###CDO server endpoint +#host=127.0.0.1 +host=cdo-server + +###server port +port=2036 + +###repository name +repository=repo1 + +#logging to be set off or on - default is off +logging=off diff --git a/ems-core/config-files/logback-conf/logback-spring.xml b/ems-core/config-files/logback-conf/logback-spring.xml new file mode 100644 index 0000000..63c030f --- /dev/null +++ b/ems-core/config-files/logback-conf/logback-spring.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/ems-core/config-files/secrets.properties b/ems-core/config-files/secrets.properties new file mode 100644 index 0000000..1184da4 --- /dev/null +++ b/ems-core/config-files/secrets.properties @@ -0,0 +1,28 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +### EMS server secrets +web.security.api-key-authentication.value=1234567890 +web.security.form-authentication.password=ems + +### EMS Server Keystore/Truststore password: melodic +control.ssl.keystore-password=ENC(ISMbn01HVPbtRPkqm2Lslg==) +control.ssl.truststore-password=ENC(ISMbn01HVPbtRPkqm2Lslg==) + +### Additional ActiveMQ Broker credentials: aaa/111, bbb/222, morphemic/morphemic +#brokercep.additional-broker-credentials=ENC(axeJUxNHajYfBffUwvuT3kwTgLTpRliDMz/ZQ9hROZ3BNOv0Idw72NJsawzIZRuZ) + +### Additional Baguette Server SSH username/passwords: aa/xx, bb/yy +#baguette.server.credentials.aa=xx +#baguette.server.credentials.bb=yy + +### Other settings +control.IP_SETTING=DEFAULT_IP +control.esb-url= +control.metasolver-configuration-url= diff --git a/ems-core/control-service/pom.xml b/ems-core/control-service/pom.xml new file mode 100644 index 0000000..4a39e83 --- /dev/null +++ b/ems-core/control-service/pom.xml @@ -0,0 +1,721 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + control-service + EMS - Control Service + + + + 3.1.3 + 1.11.2 + 2.1.0 + 0.11.5 + + ${maven.build.timestamp} + yyyy-MM-dd HH:mm:ss + + ${project.build.finalName}.jar + esper-${esper.version}.jar + + + 0.43.2 + ems-server + + + + gr.iccs.imu.ems.control.ControlServiceApplication + + + + + + io.jsonwebtoken + jjwt-api + ${jjwt.version} + + + io.jsonwebtoken + jjwt-impl + ${jjwt.version} + + + io.jsonwebtoken + jjwt-jackson + ${jjwt.version} + + + com.fasterxml.jackson.core + jackson-databind + + + + + + + gr.iccs.imu.ems + baguette-server + ${project.version} + + + gr.iccs.imu.ems + baguette-client-install + ${project.version} + + + gr.iccs.imu.ems + broker-cep + ${project.version} + + + gr.iccs.imu.ems + common + ${project.version} + + + gr.iccs.imu.ems + translator + ${project.version} + + + gr.iccs.imu.ems + util + ${project.version} + + + gr.iccs.imu.ems + broker-client + ${project.version} + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-configuration-processor + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-security + + + + org.springframework.boot + spring-boot-starter-webflux + + + + org.springframework.boot + spring-boot-starter-actuator + + + + io.micrometer + micrometer-registry-prometheus + ${micrometer.registry.prometheus.version} + + + + de.codecentric + spring-boot-admin-starter-client + ${spring.boot.admin.version} + + + + com.github.ulisesbocchio + jasypt-spring-boot-starter + ${jasypt.starter.version} + + + + + org.projectlombok + lombok + provided + + + + + org.hibernate.validator + hibernate-validator + ${hibernate-validator.version} + + + + org.apache.commons + commons-lang3 + + + + + + + + + + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc.version} + + + org.springframework.boot + * + + + + + org.springdoc + springdoc-openapi-starter-webflux-ui + ${springdoc.version} + + + org.springframework.boot + * + + + + + + + + + net.nicoulaj.maven.plugins + checksum-maven-plugin + 1.11 + + + org.bouncycastle + * + + + org.codehaus.plexus + plexus-utils + + + com.google.guava + guava + + + commons-io + commons-io + + + + + org.codehaus.plexus + plexus-utils + 4.0.0 + + + commons-io + commons-io + 2.13.0 + + + + + + ${project.artifactId} + + + src/main/resources + true + + *.txt + META-INF/spring.factories + + + + + + + maven-clean-plugin + 3.3.1 + + + remove-old-public-resources + clean + + clean + + + + + + + + ${project.parent.basedir}/public_resources + + **/* + + false + + + + + + + + io.github.git-commit-id + git-commit-id-maven-plugin + 6.0.0 + + + + org.apache.maven.plugins + maven-jar-plugin + + + original-jar + + jar + + + original + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + gr.iccs.imu.ems + baguette-client + + + com.espertech + esper + + + + + + build-info + + build-info + + + + ${timestamp} + ${buildNumber} + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-esper-jar + prepare-package + + copy + + + + + com.espertech + esper + ${esper.version} + jar + ${project.build.directory} + + + gr.iccs.imu.ems + baguette-client + ${project.version} + tgz + installation-package + ${project.build.directory} + baguette-client-installation-package.tgz + + + + + + + + + + net.nicoulaj.maven.plugins + checksum-maven-plugin + 1.11 + + + package + + files + + + + + + + ${project.build.directory} + + + *.zip + *.tar + *.tar.gz + *.tgz + + + *.jar + + + + + MD5 + + true + true + false + + + + + + com.coderplus.maven.plugins + copy-rename-maven-plugin + 1.0 + + + copy-files + package + + copy + + + + + + ${project.basedir}/src/main/resources/public/index.html + ../public_resources/resources/index.html + + + ${project.basedir}/src/main/resources/public/favicon.ico + ../public_resources/favicon.ico + + + + + ${project.build.directory}/checksums.csv + ../public_resources/resources/checksums.csv + + + + + ../broker-client/target/broker-client-jar-with-dependencies.jar + ../public_resources/resources/broker-client.jar + + + ${project.basedir}/src/main/resources/public/client.sh + ../public_resources/resources/client.sh + + + ${project.basedir}/src/main/resources/public/client.bat + ../public_resources/resources/client.bat + + + + + ${project.build.directory}/baguette-client-installation-package.tgz + ../public_resources/resources/baguette-client.tgz + + + ${project.build.directory}/baguette-client-installation-package.tgz.md5 + ../public_resources/resources/baguette-client.tgz.md5 + + + ../baguette-client/bin/install.sh + ../public_resources/resources/install.sh + + + true + true + + + + + + + maven-resources-plugin + 3.3.1 + + + + copy-web-admin-resources + + generate-resources + + copy-resources + + + ${project.parent.basedir}/public_resources/admin + + + ${project.parent.basedir}/web-admin/dist + false + + + + + + + + copy-resources-to-docker-context + package + + copy-resources + + + ${project.build.directory}/docker + + + ${project.basedir}/src/main/docker + + + + ${project.build.directory}/docker/jars + ${project.build.directory} + ${docker.controlServiceJar} + ${docker.esperJar} + false + + + ${project.build.directory}/docker/bin + ${project.basedir}/../bin/ + run.sh + sysmon.sh + detect.sh + jwtutil.sh + false + + + ${project.build.directory}/docker/config + ${project.basedir}/../config-files + + false + + + + + ${project.build.directory}/docker/public_resources + ${project.basedir}/../public_resources + false + + + + + ${project.build.directory}/docker/jars + ${project.basedir}/../broker-client/target + broker-client-jar-with-dependencies.jar + false + + + ${project.build.directory}/docker/bin + ${project.basedir}/../bin/ + client.sh + false + + + + + + + + + org.codehaus.mojo + buildnumber-maven-plugin + + + + + + + dev-local-docker-image-build + + + ../.dev-local-docker-image-build + + + + + + + org.codehaus.mojo + properties-maven-plugin + 1.2.0 + + + validate + + read-project-properties + + + + + + + ../.dev-local-docker-image-build + + + + + + + + + + + build-docker-image + + . + + + + + + maven-antrun-plugin + 3.1.0 + + + set-docker-properties + validate + + run + + + true + + + + + + + + delete-old-docker-context + install + + run + + + + + + + + + + + + com.coderplus.maven.plugins + copy-rename-maven-plugin + 1.0.1 + + + rename-docker-context-dir + install + + rename + + + ${project.build.directory}/docker + ${project.build.directory}/docker-context + + + + + + + + io.fabric8 + docker-maven-plugin + ${docker-maven-plugin.version} + + + true + true + + + ${docker.image.name}:${docker.image.tag} + + ${project.build.directory}/docker-context + + + + + + + docker-image-build + install + + build + + + + + + + + + + + diff --git a/ems-core/control-service/src/main/docker/Dockerfile b/ems-core/control-service/src/main/docker/Dockerfile new file mode 100644 index 0000000..d75c94b --- /dev/null +++ b/ems-core/control-service/src/main/docker/Dockerfile @@ -0,0 +1,80 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +ARG BUILDER_IMAGE=eclipse-temurin:17.0.8_7-jre +ARG RUN_IMAGE=eclipse-temurin:17.0.8_7-jre + +# ----------------- Builder image ----------------- +FROM $BUILDER_IMAGE as ems-server-builder +#FROM vegardit/graalvm-maven:latest-java17 +WORKDIR /app +COPY jars/control-service.jar . +RUN java -Djarmode=layertools -jar control-service.jar extract + +# ----------------- Run image ----------------- +FROM $RUN_IMAGE + +# Setup environment +ENV BASEDIR /opt/ems-server +ENV EMS_HOME ${BASEDIR} +ENV EMS_CONFIG_DIR ${BASEDIR}/config + +ENV BIN_DIR ${BASEDIR}/bin +ENV CONFIG_DIR ${BASEDIR}/config +ENV LOGS_DIR ${BASEDIR}/logs +ENV PUBLIC_DIR ${BASEDIR}/public_resources + +# Install required and optional packages +RUN apt-get update && apt-get install -y \ + dumb-init \ + netcat \ + vim \ + iputils-ping \ + && rm -rf /var/lib/apt/lists/* + +# Add an EMS user +ARG EMS_USER=emsuser +RUN mkdir ${EMS_HOME} ; \ + addgroup ${EMS_USER} ; \ + adduser --home ${EMS_HOME} --no-create-home --ingroup ${EMS_USER} --disabled-password ${EMS_USER} ; \ + chown ${EMS_USER}:${EMS_USER} ${EMS_HOME} + +USER ${EMS_USER} +WORKDIR ${BASEDIR} + +# Download a JRE suitable for running EMS clients, and +# offer it for download +ENV JRE_LINUX_PACKAGE zulu17.44.15-ca-jre17.0.8-linux_x64.tar.gz +RUN mkdir -p ${PUBLIC_DIR}/resources +RUN curl https://cdn.azul.com/zulu/bin/${JRE_LINUX_PACKAGE} --output ${PUBLIC_DIR}/resources/${JRE_LINUX_PACKAGE} + +# Copy resource files to image +ADD --chown=${EMS_USER}:${EMS_USER} bin ${BIN_DIR} +ADD --chown=${EMS_USER}:${EMS_USER} config ${CONFIG_DIR} +ADD --chown=${EMS_USER}:${EMS_USER} public_resources ${PUBLIC_DIR} + +RUN mkdir ${LOGS_DIR} +RUN chmod +rx ${BIN_DIR}/*.sh + +# Copy files from builder container +COPY --chown=${EMS_USER}:${EMS_USER} --from=ems-server-builder /app/dependencies ${BASEDIR} +COPY --chown=${EMS_USER}:${EMS_USER} --from=ems-server-builder /app/spring-boot-loader ${BASEDIR} +COPY --chown=${EMS_USER}:${EMS_USER} --from=ems-server-builder /app/snapshot-dependencies ${BASEDIR} +COPY --chown=${EMS_USER}:${EMS_USER} --from=ems-server-builder /app/application ${BASEDIR} + +# Copy ESPER dependencies +COPY --chown=${EMS_USER}:${EMS_USER} jars/esper*.jar ${BASEDIR}/BOOT-INF/lib/ + +EXPOSE 2222 +EXPOSE 8111 +EXPOSE 61610 +EXPOSE 61616 +EXPOSE 61617 + +ENTRYPOINT ["dumb-init", "./bin/run.sh"] \ No newline at end of file diff --git a/ems-core/control-service/src/main/docker/Dockerfile-alpine b/ems-core/control-service/src/main/docker/Dockerfile-alpine new file mode 100644 index 0000000..56c62e9 --- /dev/null +++ b/ems-core/control-service/src/main/docker/Dockerfile-alpine @@ -0,0 +1,79 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +ARG BUILDER_IMAGE=eclipse-temurin:17.0.8_7-jre-alpine +ARG RUN_IMAGE=eclipse-temurin:17.0.8_7-jre-alpine + +# ----------------- Builder image ----------------- +FROM $BUILDER_IMAGE as ems-server-builder +#FROM vegardit/graalvm-maven:latest-java17 +WORKDIR /app +COPY jars/control-service.jar . +RUN java -Djarmode=layertools -jar control-service.jar extract + +# ----------------- Run image ----------------- +FROM $RUN_IMAGE + +# Setup environment +ENV BASEDIR /opt/ems-server +ENV EMS_HOME ${BASEDIR} +ENV EMS_CONFIG_DIR ${BASEDIR}/config + +ENV BIN_DIR ${BASEDIR}/bin +ENV CONFIG_DIR ${BASEDIR}/config +ENV LOGS_DIR ${BASEDIR}/logs +ENV PUBLIC_DIR ${BASEDIR}/public_resources + +# Install required and optional packages +RUN apk update && apk add \ + dumb-init curl bash \ + netcat-openbsd \ + vim \ + iputils-ping + +# Add an EMS user +ARG EMS_USER=emsuser +RUN mkdir ${EMS_HOME} ; \ + addgroup ${EMS_USER} ; \ + adduser --home ${EMS_HOME} --no-create-home --ingroup ${EMS_USER} --disabled-password ${EMS_USER} ; \ + chown ${EMS_USER}:${EMS_USER} ${EMS_HOME} + +USER ${EMS_USER} +WORKDIR ${BASEDIR} + +# Download a JRE suitable for running EMS clients, and +# offer it for download +ENV JRE_LINUX_PACKAGE zulu17.44.15-ca-jre17.0.8-linux_x64.tar.gz +RUN mkdir -p ${PUBLIC_DIR}/resources +RUN curl https://cdn.azul.com/zulu/bin/${JRE_LINUX_PACKAGE} --output ${PUBLIC_DIR}/resources/${JRE_LINUX_PACKAGE} + +# Copy resource files to image +ADD --chown=${EMS_USER}:${EMS_USER} bin ${BIN_DIR} +ADD --chown=${EMS_USER}:${EMS_USER} config ${CONFIG_DIR} +ADD --chown=${EMS_USER}:${EMS_USER} public_resources ${PUBLIC_DIR} + +RUN mkdir ${LOGS_DIR} +RUN chmod +rx ${BIN_DIR}/*.sh + +# Copy files from builder container +COPY --chown=${EMS_USER}:${EMS_USER} --from=ems-server-builder /app/dependencies ${BASEDIR} +COPY --chown=${EMS_USER}:${EMS_USER} --from=ems-server-builder /app/spring-boot-loader ${BASEDIR} +COPY --chown=${EMS_USER}:${EMS_USER} --from=ems-server-builder /app/snapshot-dependencies ${BASEDIR} +COPY --chown=${EMS_USER}:${EMS_USER} --from=ems-server-builder /app/application ${BASEDIR} + +# Copy ESPER dependencies +COPY --chown=${EMS_USER}:${EMS_USER} jars/esper*.jar ${BASEDIR}/BOOT-INF/lib/ + +EXPOSE 2222 +EXPOSE 8111 +EXPOSE 61610 +EXPOSE 61616 +EXPOSE 61617 + +ENTRYPOINT ["dumb-init", "./bin/run.sh"] \ No newline at end of file diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/commons/NotificationResult.java b/ems-core/control-service/src/main/java/eu/melodic/models/commons/NotificationResult.java new file mode 100644 index 0000000..0f3b945 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/commons/NotificationResult.java @@ -0,0 +1,42 @@ +package eu.melodic.models.commons; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.lang.Object; +import java.lang.String; +import java.util.Map; + +@JsonDeserialize( + as = NotificationResultImpl.class +) +public interface NotificationResult { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + StatusType getStatus(); + + void setStatus(StatusType status); + + String getErrorCode(); + + void setErrorCode(String errorCode); + + String getErrorDescription(); + + void setErrorDescription(String errorDescription); + + enum StatusType { + @JsonProperty("SUCCESS") + SUCCESS("SUCCESS"), + + @JsonProperty("ERROR") + ERROR("ERROR"); + + private String name; + + StatusType(String name) { + this.name = name; + } + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/commons/NotificationResultImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/commons/NotificationResultImpl.java new file mode 100644 index 0000000..6fd5272 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/commons/NotificationResultImpl.java @@ -0,0 +1,72 @@ +package eu.melodic.models.commons; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "status", + "errorCode", + "errorDescription" +}) +public class NotificationResultImpl implements NotificationResult { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("status") + private StatusType status; + + @JsonProperty("errorCode") + private String errorCode; + + @JsonProperty("errorDescription") + private String errorDescription; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("status") + public StatusType getStatus() { + return this.status; + } + + @JsonProperty("status") + public void setStatus(StatusType status) { + this.status = status; + } + + @JsonProperty("errorCode") + public String getErrorCode() { + return this.errorCode; + } + + @JsonProperty("errorCode") + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + @JsonProperty("errorDescription") + public String getErrorDescription() { + return this.errorDescription; + } + + @JsonProperty("errorDescription") + public void setErrorDescription(String errorDescription) { + this.errorDescription = errorDescription; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/commons/Watermark.java b/ems-core/control-service/src/main/java/eu/melodic/models/commons/Watermark.java new file mode 100644 index 0000000..4a69788 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/commons/Watermark.java @@ -0,0 +1,32 @@ +package eu.melodic.models.commons; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.lang.Object; +import java.lang.String; +import java.util.Date; +import java.util.Map; + +@JsonDeserialize( + as = WatermarkImpl.class +) +public interface Watermark { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + String getUser(); + + void setUser(String user); + + String getSystem(); + + void setSystem(String system); + + Date getDate(); + + void setDate(Date date); + + String getUuid(); + + void setUuid(String uuid); +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/commons/WatermarkImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/commons/WatermarkImpl.java new file mode 100644 index 0000000..35e39eb --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/commons/WatermarkImpl.java @@ -0,0 +1,92 @@ +package eu.melodic.models.commons; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.lang.Object; +import java.lang.String; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "user", + "system", + "date", + "uuid" +}) +public class WatermarkImpl implements Watermark { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("user") + private String user; + + @JsonProperty("system") + private String system; + + @JsonProperty("date") + @JsonFormat( + shape = JsonFormat.Shape.STRING, + pattern = "yyyy-MM-dd'T'HH:mm:ssZ" + ) + private Date date; + + @JsonProperty("uuid") + private String uuid; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("user") + public String getUser() { + return this.user; + } + + @JsonProperty("user") + public void setUser(String user) { + this.user = user; + } + + @JsonProperty("system") + public String getSystem() { + return this.system; + } + + @JsonProperty("system") + public void setSystem(String system) { + this.system = system; + } + + @JsonProperty("date") + public Date getDate() { + return this.date; + } + + @JsonProperty("date") + public void setDate(Date date) { + this.date = date; + } + + @JsonProperty("uuid") + public String getUuid() { + return this.uuid; + } + + @JsonProperty("uuid") + public void setUuid(String uuid) { + this.uuid = uuid; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/CamelModelRequest.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/CamelModelRequest.java new file mode 100644 index 0000000..6f4bd01 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/CamelModelRequest.java @@ -0,0 +1,29 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import eu.melodic.models.commons.Watermark; + +import java.lang.Object; +import java.lang.String; +import java.util.Map; + +@JsonDeserialize( + as = CamelModelRequestImpl.class +) +public interface CamelModelRequest { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + String getApplicationId(); + + void setApplicationId(String applicationId); + + String getNotificationURI(); + + void setNotificationURI(String notificationURI); + + Watermark getWatermark(); + + void setWatermark(Watermark watermark); +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/CamelModelRequestImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/CamelModelRequestImpl.java new file mode 100644 index 0000000..50a9ea2 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/CamelModelRequestImpl.java @@ -0,0 +1,74 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import eu.melodic.models.commons.Watermark; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "applicationId", + "notificationURI", + "watermark" +}) +public class CamelModelRequestImpl implements CamelModelRequest { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("applicationId") + private String applicationId; + + @JsonProperty("notificationURI") + private String notificationURI; + + @JsonProperty("watermark") + private Watermark watermark; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("applicationId") + public String getApplicationId() { + return this.applicationId; + } + + @JsonProperty("applicationId") + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + @JsonProperty("notificationURI") + public String getNotificationURI() { + return this.notificationURI; + } + + @JsonProperty("notificationURI") + public void setNotificationURI(String notificationURI) { + this.notificationURI = notificationURI; + } + + @JsonProperty("watermark") + public Watermark getWatermark() { + return this.watermark; + } + + @JsonProperty("watermark") + public void setWatermark(Watermark watermark) { + this.watermark = watermark; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Interval.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Interval.java new file mode 100644 index 0000000..97e376e --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Interval.java @@ -0,0 +1,53 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.lang.Object; +import java.lang.String; +import java.util.Map; + +@JsonDeserialize( + as = IntervalImpl.class +) +public interface Interval { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + UnitType getUnit(); + + void setUnit(UnitType unit); + + int getPeriod(); + + void setPeriod(int period); + + enum UnitType { + @JsonProperty("DAYS") + DAYS("DAYS"), + + @JsonProperty("HOURS") + HOURS("HOURS"), + + @JsonProperty("MICROSECONDS") + MICROSECONDS("MICROSECONDS"), + + @JsonProperty("MILLISECONDS") + MILLISECONDS("MILLISECONDS"), + + @JsonProperty("MINUTES") + MINUTES("MINUTES"), + + @JsonProperty("NANOSECONDS") + NANOSECONDS("NANOSECONDS"), + + @JsonProperty("SECONDS") + SECONDS("SECONDS"); + + private String name; + + UnitType(String name) { + this.name = name; + } + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/IntervalImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/IntervalImpl.java new file mode 100644 index 0000000..ef4aceb --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/IntervalImpl.java @@ -0,0 +1,58 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "unit", + "period" +}) +public class IntervalImpl implements Interval { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("unit") + private UnitType unit; + + @JsonProperty("period") + private int period; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("unit") + public UnitType getUnit() { + return this.unit; + } + + @JsonProperty("unit") + public void setUnit(UnitType unit) { + this.unit = unit; + } + + @JsonProperty("period") + public int getPeriod() { + return this.period; + } + + @JsonProperty("period") + public void setPeriod(int period) { + this.period = period; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/KeyValuePair.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/KeyValuePair.java new file mode 100644 index 0000000..d6cab79 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/KeyValuePair.java @@ -0,0 +1,23 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.lang.Object; +import java.lang.String; +import java.util.Map; + +@JsonDeserialize( + as = KeyValuePairImpl.class +) +public interface KeyValuePair { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + String getKey(); + + void setKey(String key); + + String getValue(); + + void setValue(String value); +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/KeyValuePairImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/KeyValuePairImpl.java new file mode 100644 index 0000000..2f88607 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/KeyValuePairImpl.java @@ -0,0 +1,58 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "key", + "value" +}) +public class KeyValuePairImpl implements KeyValuePair { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("key") + private String key; + + @JsonProperty("value") + private String value; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("key") + public String getKey() { + return this.key; + } + + @JsonProperty("key") + public void setKey(String key) { + this.key = key; + } + + @JsonProperty("value") + public String getValue() { + return this.value; + } + + @JsonProperty("value") + public void setValue(String value) { + this.value = value; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Monitor.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Monitor.java new file mode 100644 index 0000000..cf07aee --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Monitor.java @@ -0,0 +1,37 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +import java.lang.Object; +import java.lang.String; +import java.util.List; +import java.util.Map; + +@JsonDeserialize( + as = MonitorImpl.class +) +public interface Monitor { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + String getMetric(); + + void setMetric(String metric); + + String getComponent(); + + void setComponent(String component); + + Sensor getSensor(); + + void setSensor(Sensor sensor); + + List getSinks(); + + void setSinks(List sinks); + + List getTags(); + + void setTags(List tags); +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorImpl.java new file mode 100644 index 0000000..405ab8f --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorImpl.java @@ -0,0 +1,102 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "metric", + "component", + "sensor", + "sinks", + "tags" +}) +public class MonitorImpl implements Monitor { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("metric") + private String metric; + + @JsonProperty("component") + private String component; + + @JsonProperty("sensor") + private Sensor sensor; + + @JsonProperty("sinks") + private List sinks; + + @JsonProperty("tags") + private List tags; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("metric") + public String getMetric() { + return this.metric; + } + + @JsonProperty("metric") + public void setMetric(String metric) { + this.metric = metric; + } + + @JsonProperty("component") + public String getComponent() { + return this.component; + } + + @JsonProperty("component") + public void setComponent(String component) { + this.component = component; + } + + @JsonProperty("sensor") + public Sensor getSensor() { + return this.sensor; + } + + @JsonProperty("sensor") + public void setSensor(Sensor sensor) { + this.sensor = sensor; + } + + @JsonProperty("sinks") + public List getSinks() { + return this.sinks; + } + + @JsonProperty("sinks") + public void setSinks(List sinks) { + this.sinks = sinks; + } + + @JsonProperty("tags") + public List getTags() { + return this.tags; + } + + @JsonProperty("tags") + public void setTags(List tags) { + this.tags = tags; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataRequest.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataRequest.java new file mode 100644 index 0000000..9ef094d --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataRequest.java @@ -0,0 +1,25 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import eu.melodic.models.commons.Watermark; + +import java.lang.Object; +import java.lang.String; +import java.util.Map; + +@JsonDeserialize( + as = MonitorsDataRequestImpl.class +) +public interface MonitorsDataRequest { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + String getApplicationId(); + + void setApplicationId(String applicationId); + + Watermark getWatermark(); + + void setWatermark(Watermark watermark); +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataRequestImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataRequestImpl.java new file mode 100644 index 0000000..522e346 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataRequestImpl.java @@ -0,0 +1,60 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import eu.melodic.models.commons.Watermark; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "applicationId", + "watermark" +}) +public class MonitorsDataRequestImpl implements MonitorsDataRequest { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("applicationId") + private String applicationId; + + @JsonProperty("watermark") + private Watermark watermark; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("applicationId") + public String getApplicationId() { + return this.applicationId; + } + + @JsonProperty("applicationId") + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + @JsonProperty("watermark") + public Watermark getWatermark() { + return this.watermark; + } + + @JsonProperty("watermark") + public void setWatermark(Watermark watermark) { + this.watermark = watermark; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataResponse.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataResponse.java new file mode 100644 index 0000000..1b874f6 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataResponse.java @@ -0,0 +1,26 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import eu.melodic.models.commons.Watermark; + +import java.lang.Object; +import java.lang.String; +import java.util.List; +import java.util.Map; + +@JsonDeserialize( + as = MonitorsDataResponseImpl.class +) +public interface MonitorsDataResponse { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + List getMonitors(); + + void setMonitors(List monitors); + + Watermark getWatermark(); + + void setWatermark(Watermark watermark); +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataResponseImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataResponseImpl.java new file mode 100644 index 0000000..b03b76a --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/MonitorsDataResponseImpl.java @@ -0,0 +1,61 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import eu.melodic.models.commons.Watermark; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "monitors", + "watermark" +}) +public class MonitorsDataResponseImpl implements MonitorsDataResponse { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("monitors") + private List monitors; + + @JsonProperty("watermark") + private Watermark watermark; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("monitors") + public List getMonitors() { + return this.monitors; + } + + @JsonProperty("monitors") + public void setMonitors(List monitors) { + this.monitors = monitors; + } + + @JsonProperty("watermark") + public Watermark getWatermark() { + return this.watermark; + } + + @JsonProperty("watermark") + public void setWatermark(Watermark watermark) { + this.watermark = watermark; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PullSensor.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PullSensor.java new file mode 100644 index 0000000..addaac7 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PullSensor.java @@ -0,0 +1,29 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +import java.lang.Object; +import java.lang.String; +import java.util.List; +import java.util.Map; + +@JsonDeserialize( + as = PullSensorImpl.class +) +public interface PullSensor { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + String getClassName(); + + void setClassName(String className); + + List getConfiguration(); + + void setConfiguration(List configuration); + + Interval getInterval(); + + void setInterval(Interval interval); +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PullSensorImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PullSensorImpl.java new file mode 100644 index 0000000..edaf90b --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PullSensorImpl.java @@ -0,0 +1,73 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "className", + "configuration", + "interval" +}) +public class PullSensorImpl implements PullSensor { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("className") + private String className; + + @JsonProperty("configuration") + private List configuration; + + @JsonProperty("interval") + private Interval interval; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("className") + public String getClassName() { + return this.className; + } + + @JsonProperty("className") + public void setClassName(String className) { + this.className = className; + } + + @JsonProperty("configuration") + public List getConfiguration() { + return this.configuration; + } + + @JsonProperty("configuration") + public void setConfiguration(List configuration) { + this.configuration = configuration; + } + + @JsonProperty("interval") + public Interval getInterval() { + return this.interval; + } + + @JsonProperty("interval") + public void setInterval(Interval interval) { + this.interval = interval; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PushSensor.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PushSensor.java new file mode 100644 index 0000000..909d324 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PushSensor.java @@ -0,0 +1,19 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.lang.Object; +import java.lang.String; +import java.util.Map; + +@JsonDeserialize( + as = PushSensorImpl.class +) +public interface PushSensor { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + int getPort(); + + void setPort(int port); +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PushSensorImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PushSensorImpl.java new file mode 100644 index 0000000..2c08ff7 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/PushSensorImpl.java @@ -0,0 +1,42 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder("port") +public class PushSensorImpl implements PushSensor { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("port") + private int port; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("port") + public int getPort() { + return this.port; + } + + @JsonProperty("port") + public void setPort(int port) { + this.port = port; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Sensor.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Sensor.java new file mode 100644 index 0000000..7eb8ec5 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Sensor.java @@ -0,0 +1,49 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import eu.melodic.models.resources.SensorDeserializer; +import eu.melodic.models.resources.SensorSerializer; + +import java.lang.IllegalStateException; +import java.lang.Object; + +@JsonDeserialize( + using = SensorDeserializer.class +) +@JsonSerialize( + using = SensorSerializer.class +) +public class Sensor { + private Object anyType; + + private Sensor() { + this.anyType = null; + } + + public Sensor(PushSensor pushSensor) { + this.anyType = pushSensor; + } + + public Sensor(PullSensor pullSensor) { + this.anyType = pullSensor; + } + + public PushSensor getPushSensor() { + if ( !(anyType instanceof PushSensor)) throw new IllegalStateException("fetching wrong type out of the union: PushSensor"); + return (PushSensor) anyType; + } + + public boolean isPushSensor() { + return anyType instanceof PushSensor; + } + + public PullSensor getPullSensor() { + if ( !(anyType instanceof PullSensor)) throw new IllegalStateException("fetching wrong type out of the union: PullSensor"); + return (PullSensor) anyType; + } + + public boolean isPullSensor() { + return anyType instanceof PullSensor; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Sink.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Sink.java new file mode 100644 index 0000000..8ff0dba --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/Sink.java @@ -0,0 +1,46 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +import java.lang.Object; +import java.lang.String; +import java.util.List; +import java.util.Map; + +@JsonDeserialize( + as = SinkImpl.class +) +public interface Sink { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + TypeType getType(); + + void setType(TypeType type); + + List getConfiguration(); + + void setConfiguration(List configuration); + + enum TypeType { + @JsonProperty("KAIROS_DB") + KAIROSDB("KAIROS_DB"), + + @JsonProperty("INFLUX") + INFLUX("INFLUX"), + + @JsonProperty("JMS") + JMS("JMS"), + + @JsonProperty("CLI") + CLI("CLI"); + + private String name; + + TypeType(String name) { + this.name = name; + } + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/SinkImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/SinkImpl.java new file mode 100644 index 0000000..092b1f3 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/interfaces/SinkImpl.java @@ -0,0 +1,60 @@ +package eu.melodic.models.interfaces; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "type", + "configuration" +}) +public class SinkImpl implements Sink { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("type") + private TypeType type; + + @JsonProperty("configuration") + private List configuration; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("type") + public TypeType getType() { + return this.type; + } + + @JsonProperty("type") + public void setType(TypeType type) { + this.type = type; + } + + @JsonProperty("configuration") + public List getConfiguration() { + return this.configuration; + } + + @JsonProperty("configuration") + public void setConfiguration(List configuration) { + this.configuration = configuration; + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/resources/SensorDeserializer.java b/ems-core/control-service/src/main/java/eu/melodic/models/resources/SensorDeserializer.java new file mode 100644 index 0000000..c6ad6db --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/resources/SensorDeserializer.java @@ -0,0 +1,36 @@ +package eu.melodic.models.resources; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import gr.iccs.imu.ems.util.StrUtil; +import eu.melodic.models.interfaces.PullSensor; +import eu.melodic.models.interfaces.PushSensor; +import eu.melodic.models.interfaces.Sensor; +import java.io.IOException; +import java.lang.Object; +import java.lang.String; +import java.util.Arrays; +import java.util.Map; + +public class SensorDeserializer extends StdDeserializer { + public SensorDeserializer() { + super(Sensor.class);} + + private boolean looksLikePushSensor(Map map) { + return map.keySet().containsAll(Arrays.asList("port")); + } + + private boolean looksLikePullSensor(Map map) { + return map.keySet().containsAll(Arrays.asList("className","configuration","interval")); + } + + public Sensor deserialize(JsonParser jsonParser, DeserializationContext jsonContext) throws IOException { + ObjectMapper mapper = new ObjectMapper(); + Map map = StrUtil.castToMapStringObject( mapper.readValue(jsonParser, Map.class) ); + if ( looksLikePushSensor(map) ) return new Sensor(mapper.convertValue(map, PushSensor.class)); + if ( looksLikePullSensor(map) ) return new Sensor(mapper.convertValue(map, PullSensor.class)); + throw new IOException("Can't figure out type of object" + map); + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/resources/SensorSerializer.java b/ems-core/control-service/src/main/java/eu/melodic/models/resources/SensorSerializer.java new file mode 100644 index 0000000..a5c8e18 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/resources/SensorSerializer.java @@ -0,0 +1,25 @@ +package eu.melodic.models.resources; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import eu.melodic.models.interfaces.Sensor; +import java.io.IOException; + +public class SensorSerializer extends StdSerializer { + public SensorSerializer() { + super(Sensor.class);} + + public void serialize(Sensor object, JsonGenerator jsonGenerator, SerializerProvider jsonSerializerProvider) throws IOException, JsonProcessingException { + if ( object.isPushSensor()) { + jsonGenerator.writeObject(object.getPushSensor()); + return; + } + if ( object.isPullSensor()) { + jsonGenerator.writeObject(object.getPullSensor()); + return; + } + throw new IOException("Can't figure out type of object" + object); + } +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/services/CamelModelNotificationRequest.java b/ems-core/control-service/src/main/java/eu/melodic/models/services/CamelModelNotificationRequest.java new file mode 100644 index 0000000..25c35d7 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/services/CamelModelNotificationRequest.java @@ -0,0 +1,30 @@ +package eu.melodic.models.services; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import eu.melodic.models.commons.NotificationResult; +import eu.melodic.models.commons.Watermark; + +import java.lang.Object; +import java.lang.String; +import java.util.Map; + +@JsonDeserialize( + as = CamelModelNotificationRequestImpl.class +) +public interface CamelModelNotificationRequest { + Map getAdditionalProperties(); + + void setAdditionalProperties(Map additionalProperties); + + String getApplicationId(); + + void setApplicationId(String applicationId); + + NotificationResult getResult(); + + void setResult(NotificationResult result); + + Watermark getWatermark(); + + void setWatermark(Watermark watermark); +} diff --git a/ems-core/control-service/src/main/java/eu/melodic/models/services/CamelModelNotificationRequestImpl.java b/ems-core/control-service/src/main/java/eu/melodic/models/services/CamelModelNotificationRequestImpl.java new file mode 100644 index 0000000..fdb0b36 --- /dev/null +++ b/ems-core/control-service/src/main/java/eu/melodic/models/services/CamelModelNotificationRequestImpl.java @@ -0,0 +1,75 @@ +package eu.melodic.models.services; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import eu.melodic.models.commons.NotificationResult; +import eu.melodic.models.commons.Watermark; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "applicationId", + "result", + "watermark" +}) +public class CamelModelNotificationRequestImpl implements CamelModelNotificationRequest { + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("applicationId") + private String applicationId; + + @JsonProperty("result") + private NotificationResult result; + + @JsonProperty("watermark") + private Watermark watermark; + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @JsonProperty("applicationId") + public String getApplicationId() { + return this.applicationId; + } + + @JsonProperty("applicationId") + public void setApplicationId(String applicationId) { + this.applicationId = applicationId; + } + + @JsonProperty("result") + public NotificationResult getResult() { + return this.result; + } + + @JsonProperty("result") + public void setResult(NotificationResult result) { + this.result = result; + } + + @JsonProperty("watermark") + public Watermark getWatermark() { + return this.watermark; + } + + @JsonProperty("watermark") + public void setWatermark(Watermark watermark) { + this.watermark = watermark; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/ApplicationContext.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/ApplicationContext.java new file mode 100644 index 0000000..b403e89 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/ApplicationContext.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control; + +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import gr.iccs.imu.ems.control.util.WebClientUtil; +import gr.iccs.imu.ems.util.EventBus; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Scope; +import org.springframework.core.task.TaskExecutor; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.web.reactive.function.client.WebClient; + +@Slf4j +@Configuration +@RequiredArgsConstructor +public class ApplicationContext { + private final ControlServiceProperties properties; + + @Bean + @SneakyThrows + @Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON) + public WebClient webClient() { + return new WebClientUtil().createInstance(properties.getSsl()); + } + + @Bean + @Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON) + public EventBus eventBus() { + return EventBus.builder().build(); + } + + @Bean + @Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON) + public TaskExecutor taskExecutor() { + ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); + taskExecutor.setDaemon(true); + log.debug("ApplicationContext: taskScheduler: NEW INSTANCE CREATED: {}", taskExecutor); + return taskExecutor; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/ControlServiceApplication.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/ControlServiceApplication.java new file mode 100644 index 0000000..a3600b8 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/ControlServiceApplication.java @@ -0,0 +1,144 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control; + +import com.ulisesbocchio.jasyptspringboot.environment.StandardEncryptableEnvironment; +import gr.iccs.imu.ems.control.controller.ControlServiceCoordinator; +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import gr.iccs.imu.ems.util.EventBus; +import gr.iccs.imu.ems.util.KeystoreUtil; +import gr.iccs.imu.ems.util.PasswordUtil; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.Connector; +import org.springframework.boot.Banner; +import org.springframework.boot.ExitCodeGenerator; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; +import org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.context.ApplicationPidFileWriter; +import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +import org.springframework.boot.web.servlet.server.ServletWebServerFactory; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.EnableScheduling; + +import java.util.Map; +import java.util.Timer; +import java.util.TimerTask; + +@Slf4j +@EnableAsync +@EnableScheduling +@Configuration +@SpringBootApplication( + scanBasePackages = { + "gr.iccs.imu.ems.baguette.server", "gr.iccs.imu.ems.baguette.client.install", + "gr.iccs.imu.ems.baguette.client.selfhealing", "gr.iccs.imu.ems.brokercep", + "gr.iccs.imu.ems.control", "gr.iccs.imu.ems.translate", + "gr.iccs.imu.ems.common", "gr.iccs.imu.ems.util", + "gr.iccs.imu.ems.brokerclient", + "${scan.packages}" + }, + exclude = { SecurityAutoConfiguration.class, UserDetailsServiceAutoConfiguration.class } ) +@RequiredArgsConstructor +public class ControlServiceApplication { + private static ConfigurableApplicationContext applicationContext; + private static Timer exitTimer; + + private final ControlServiceProperties properties; + private final PasswordUtil passwordUtil; + + public static void main(String[] args) { + long initStartTime = System.currentTimeMillis(); + + // Start EMS server + SpringApplication springApplication = new SpringApplicationBuilder() + .environment(new StandardEncryptableEnvironment()) + .sources(ControlServiceApplication.class) + .build(); + //SpringApplication springApplication = new SpringApplication(ControlServiceApplication.class); + springApplication.setBannerMode(Banner.Mode.LOG); + springApplication.addListeners(new ApplicationPidFileWriter("./ems.pid")); + applicationContext = springApplication.run(args); + + // Load configured plugins + /*BeanDefinitionRegistry beanFactory = (BeanDefinitionRegistry) applicationContext.getAutowireCapableBeanFactory(); + ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner( + beanFactory, true, applicationContext.getEnvironment()); + scanner.scan("gr.iccs.imu.ems"); + */ + + long initEndTime = System.currentTimeMillis(); + log.info("EMS server initialized in {}ms", initEndTime-initStartTime); + StrUtil.castToEventBusStringObjectObject(applicationContext.getBean(EventBus.class)) + .send(ControlServiceCoordinator.COORDINATOR_STATUS_TOPIC, Map.of( + "state", "EMS STARTED", + "message", "EMS server initialized in "+(initEndTime-initStartTime)+"ms", + "timestamp", System.currentTimeMillis() + ), applicationContext.getBean(ControlServiceApplication.class)); + } + + @Bean + public ServletWebServerFactory servletWebServerFactory() { + return new TomcatServletWebServerFactory() { + protected void customizeConnector(Connector connector) { + if (this.getSsl() != null && this.getSsl().isEnabled()) { + try { + log.debug("TomcatServletWebServerFactory: ControlServiceProperties: {}", properties); + log.debug("TomcatServletWebServerFactory: Keystore password: {}", passwordUtil.encodePassword(properties.getSsl().getKeystorePassword())); + log.debug("TomcatServletWebServerFactory: Truststore password: {}", passwordUtil.encodePassword(properties.getSsl().getTruststorePassword())); + + log.debug("TomcatServletWebServerFactory: Initializing HTTPS keystore, truststore and certificate..."); + KeystoreUtil.initializeKeystoresAndCertificate(properties.getSsl(), passwordUtil); + log.debug("TomcatServletWebServerFactory: Initializing HTTPS keystore, truststore and certificate... done"); + } catch (Exception e) { + log.error("TomcatServletWebServerFactory: EXCEPTION while initializing HTTPS keystore, truststore and certificate:\n", e); + } + } + super.customizeConnector(connector); + } + }; + } + + public synchronized static void exitApp(int exitCode, long gracePeriod) { + if (exitTimer==null) { + // Wait for 'gracePeriod' seconds before forcing JVM to exit + log.info("ControlServiceApplication.exitApp(): Wait for {}sec before exit", gracePeriod); + exitTimer = new Timer("exit-timer", true); + exitTimer.schedule(new TimerTask() { + @Override + public void run() { + log.info("ControlServiceApplication.exitApp(): exit-timer: Exiting with code: {}", exitCode); + System.exit(exitCode); + log.info("ControlServiceApplication.exitApp(): exit-timer: Bye"); + } + }, gracePeriod * 1000); + + // Close SpringBoot application + log.info("ControlServiceApplication.exitApp(): Closing application context..."); + ExitCodeGenerator exitCodeGenerator = () -> { + log.info("ControlServiceApplication.exitApp(): exitCodeGenerator: Exit code: {}", exitCode); + return exitCode; + }; + SpringApplication.exit(applicationContext, exitCodeGenerator); + log.info("ControlServiceApplication.exitApp(): Exiting with code: {}", exitCode); + System.exit(exitCode); + + } else { + log.warn("ControlServiceApplication.exitApp(): Exit timer has already started: {}", exitTimer); + } + } +} \ No newline at end of file diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/Collector.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/Collector.java new file mode 100644 index 0000000..653c21f --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/Collector.java @@ -0,0 +1,15 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.collector; + +import gr.iccs.imu.ems.util.Plugin; + +public interface Collector extends Plugin { +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/ServerCollectorContext.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/ServerCollectorContext.java new file mode 100644 index 0000000..bef3049 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/ServerCollectorContext.java @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.collector; + +import gr.iccs.imu.ems.baguette.server.NodeRegistry; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.util.ClientConfiguration; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.io.Serializable; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +@Slf4j +@Component +@RequiredArgsConstructor +public class ServerCollectorContext implements CollectorContext { + private final NodeRegistry nodeRegistry; + private final BrokerCepService brokerCepService; + + @Override + public List getNodeConfigurations() { + return null; + } + + @Override + public Set getNodesWithoutClient() { + if (nodeRegistry==null || nodeRegistry.getCoordinator()==null) return null; + return nodeRegistry.getCoordinator().supportsAggregators() + ? Collections.emptySet() + : nodeRegistry.getNodes().stream() + .filter(entry -> entry.getState()== NodeRegistryEntry.STATE.NOT_INSTALLED) + .map(NodeRegistryEntry::getIpAddress) + .collect(Collectors.toCollection(HashSet::new)); + } + + @Override + public boolean isAggregator() { + return true; + } + + @Override + @SneakyThrows + public PUBLISH_RESULT sendEvent(String connectionString, String destinationName, EventMap event, boolean createDestination) { + assert(connectionString==null); + if (createDestination || brokerCepService.destinationExists(destinationName)) { + brokerCepService.publishEvent(null, destinationName, event); + return PUBLISH_RESULT.SENT; + } + return PUBLISH_RESULT.SKIPPED; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/netdata/ServerNetdataCollector.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/netdata/ServerNetdataCollector.java new file mode 100644 index 0000000..b37df76 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/collector/netdata/ServerNetdataCollector.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.collector.netdata; + +import gr.iccs.imu.ems.common.collector.CollectorContext; +import gr.iccs.imu.ems.common.collector.netdata.NetdataCollectorProperties; +import gr.iccs.imu.ems.common.collector.netdata.NetdataCollector; +import gr.iccs.imu.ems.control.collector.Collector; +import gr.iccs.imu.ems.control.collector.ServerCollectorContext; +import gr.iccs.imu.ems.util.EventBus; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.stereotype.Component; + +/** + * Collects measurements from Netdata http server + */ +@Slf4j +@Component +public class ServerNetdataCollector extends NetdataCollector implements Collector { + public ServerNetdataCollector(@NonNull NetdataCollectorProperties properties, + @NonNull CollectorContext collectorContext, + @NonNull TaskScheduler taskScheduler, + @NonNull EventBus eventBus) + { + super("ServerNetdataCollector", properties, collectorContext, taskScheduler, eventBus); + if (!(collectorContext instanceof ServerCollectorContext)) + throw new IllegalArgumentException("Invalid CollectorContext provided. Expected: ServerCollectorContext, but got "+collectorContext.getClass().getName()); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/BrokerCepController.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/BrokerCepController.java new file mode 100644 index 0000000..ae7e075 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/BrokerCepController.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import gr.iccs.imu.ems.brokercep.EventCache; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Collection; +import java.util.List; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class BrokerCepController { + + private final EventCache eventCache; + + @RequestMapping(value = { "/brokercep/last-events/{howmany}", "/brokercep/last-events" }, method=GET) + public Collection getLastEvents(@PathVariable(required = false) Integer howmany) { + log.info("BrokerCepController.getLastEvents(): howmany={}", howmany); + + List cache = eventCache.asList(); + return howmany!=null && howmany >0 && howmany controllerEndpoints; + @Getter + private List controllerEndpointsShort; + + // ------------------------------------------------------------------------------------------------------------ + // ESB and Upperware interfacing methods + // ------------------------------------------------------------------------------------------------------------ + + @RequestMapping(value = "/camelModel", method = POST) + public String newAppModel(@RequestBody CamelModelRequestImpl request, + @RequestHeader(name = HttpHeaders.AUTHORIZATION, required = false) String jwtToken) + { + log.debug("ControlServiceController.newAppModel(): Received request: {}", request); + log.trace("ControlServiceController.newAppModel(): JWT token: {}", jwtToken); + + // Get information from request + String applicationId = request.getApplicationId(); + String notificationUri = request.getNotificationURI(); + String requestUuid = request.getWatermark().getUuid(); + log.info("ControlServiceController.newAppModel(): Request info: app-id={}, notification-uri={}, request-id={}", + applicationId, notificationUri, requestUuid); + + // Check parameters + if (StringUtils.isBlank(applicationId)) { + log.warn("ControlServiceController.newAppModel(): Request does not contain an application id"); + throw new RestControllerException(400, "Request does not contain an application id"); + } + + // Start translation and reconfiguration in a worker thread + coordinator.processAppModel(applicationId, null, ControlServiceRequestInfo.create(notificationUri, requestUuid, jwtToken)); + log.debug("ControlServiceController.newAppModel()/camelModel: Model translation dispatched to a worker thread"); + + return "OK"; + } + + @RequestMapping(value = "/appModelJson", method = POST, + consumes = MediaType.APPLICATION_JSON_VALUE) + public String newAppModel(@RequestBody String requestStr, + @RequestHeader(name = HttpHeaders.AUTHORIZATION, required = false) String jwtToken) + { + log.debug("ControlServiceController.newAppModel(): Received request: {}", requestStr); + log.trace("ControlServiceController.newAppModel()/camelModelJson: JWT token: {}", jwtToken); + + // Use Gson to get model id's from request body (in JSON format) + com.google.gson.JsonObject jobj = new com.google.gson.Gson().fromJson(requestStr, com.google.gson.JsonObject.class); + String appModelId = Optional.ofNullable(jobj.get("app-model-id")).map(je -> stripQuotes(je.toString())).orElse(null); + String cpModelId = Optional.ofNullable(jobj.get("cp-model-id")).map(je -> stripQuotes(je.toString())).orElse(null); + log.info("ControlServiceController.newAppModel(): App model id from request: {}", appModelId); + log.info("ControlServiceController.newAppModel(): CP model id from request: {}", cpModelId); + + // Check parameters + if (StringUtils.isBlank(appModelId)) { + log.warn("ControlServiceController.newAppModel(): Request does not contain an app. model id"); + throw new RestControllerException(400, "Request does not contain an application id"); + } + + // Start translation and component reconfiguration in a worker thread + coordinator.processAppModel(appModelId, cpModelId, ControlServiceRequestInfo.create(null, null, jwtToken)); + log.debug("ControlServiceController.newAppModel(): Model translation dispatched to a worker thread"); + + return "OK"; + } + + // ------------------------------------------------------------------------------------------------------------ + + @RequestMapping(value = "/cpModelJson", method = POST, + consumes = MediaType.APPLICATION_JSON_VALUE) + public String newCpModel(@RequestBody String requestStr, + @RequestHeader(name = HttpHeaders.AUTHORIZATION, required = false) String jwtToken) + { + log.debug("ControlServiceController.newCpModel(): Received request: {}", requestStr); + log.trace("ControlServiceController.newCpModel(): JWT token: {}", jwtToken); + + // Use Gson to get model id's from request body (in JSON format) + com.google.gson.JsonObject jobj = new com.google.gson.Gson().fromJson(requestStr, com.google.gson.JsonObject.class); + String cpModelId = Optional.ofNullable(jobj.get("cp-model-id")).map(je -> stripQuotes(je.toString())).orElse(null); + log.info("ControlServiceController.newCpModel(): CP model id from request: {}", cpModelId); + + // Check parameters + if (StringUtils.isBlank(cpModelId)) { + log.warn("ControlServiceController.newCpModel(): Request does not contain a CP model id"); + throw new RestControllerException(400, "Request does not contain a CP model id"); + } + + // Start CP model processing in a worker thread + coordinator.processCpModel(cpModelId, ControlServiceRequestInfo.create(null, null, jwtToken)); + log.debug("ControlServiceController.newCpModel(): CP Model processing dispatched to a worker thread"); + + return "OK"; + } + + @RequestMapping(value = "/cpConstants", method = POST, + consumes = MediaType.APPLICATION_JSON_VALUE) + public String setConstants(@RequestBody String requestStr, + @RequestHeader(name = HttpHeaders.AUTHORIZATION, required = false) String jwtToken) + { + log.debug("ControlServiceController.setConstants(): Received request: {}", requestStr); + log.trace("ControlServiceController.setConstants(): JWT token: {}", jwtToken); + + // Use Gson to get constants from request body (in JSON format) + Type type = new TypeToken>(){}.getType(); + Map constants = new com.google.gson.Gson().fromJson(requestStr, type); + log.info("ControlServiceController.setConstants(): Constants from request: {}", constants); + + // Start CP model processing in a worker thread + coordinator.setConstants(constants, ControlServiceRequestInfo.create(null, null, jwtToken)); + log.debug("ControlServiceController.setConstants(): Constants set"); + + return "OK"; + } + + /*@RequestMapping(value = "/test/**", method = {GET, POST}) + public String test(HttpServletRequest request, @RequestBody(required = false) String body, + @RequestHeader(name = HttpHeaders.AUTHORIZATION, required = false) String jwtToken) + { + String path = request.getRequestURI().split("/test/", 2)[1]; + Map headers = Collections.list(request.getHeaderNames()).stream() + .collect(Collectors.toMap(h -> h, request::getHeader)); + log.warn("-------------- TEST endpoint: --------------------------------------------------------"); + log.warn("-------------- TEST endpoint: Verb/URL: {} {}", request.getMethod(), UriUtils.decode(path, StandardCharsets.UTF_8)); + log.warn("-------------- TEST endpoint: headers: {}", headers); + log.warn("-------------- TEST endpoint: body: {}", body); + log.warn("-------------- TEST endpoint: JWT: {}", jwtToken); + return "OK"; + }*/ + + // --------------------------------------------------------------------------------------------------- + // Translator results methods + // --------------------------------------------------------------------------------------------------- + + @RequestMapping(value = "/translator/currentAppModel", method = {GET,POST}) + public String getCurrentAppModel(@RequestHeader(name = HttpHeaders.AUTHORIZATION, required = false) String jwtToken) + { + log.debug("ControlServiceController.getCurrentAppModel(): Received request"); + log.trace("ControlServiceController.getCurrentAppModel(): JWT token: {}", jwtToken); + + String currentAppModelId = coordinator.getCurrentAppModelId(); + log.info("ControlServiceController.getCurrentAppModel(): Current App model: {}", currentAppModelId); + + return currentAppModelId; + } + + @RequestMapping(value = "/translator/currentCpModel", method = {GET,POST}) + public String getCurrentCpModel(@RequestHeader(name = HttpHeaders.AUTHORIZATION, required = false) String jwtToken) + { + log.debug("ControlServiceController.getCurrentCpModel(): Received request"); + log.trace("ControlServiceController.getCurrentCpModel(): JWT token: {}", jwtToken); + + String currentCpModelId = coordinator.getCurrentCpModelId(); + log.info("ControlServiceController.getCurrentCpModel(): Current CP model: {}", currentCpModelId); + + return currentCpModelId; + } + + // --------------------------------------------------------------------------------------------------- + // Helper methods + // --------------------------------------------------------------------------------------------------- + + protected String stripQuotes(String s) { + return (s != null && s.startsWith("\"") && s.endsWith("\"")) ? s.substring(1, s.length() - 1) : s; + } + + @EventListener + public void handleContextRefresh(ContextRefreshedEvent event) { + ApplicationContext applicationContext = event.getApplicationContext(); + RequestMappingHandlerMapping requestMappingHandlerMapping = applicationContext + .getBean("requestMappingHandlerMapping", RequestMappingHandlerMapping.class); + Map map = requestMappingHandlerMapping + .getHandlerMethods(); + //map.forEach((key, value) -> log.info("..... {} {}", key, value)); + + controllerEndpoints = map.keySet().stream() + .filter(Objects::nonNull) + .map(RequestMappingInfo::getPatternValues) + .flatMap(Set::stream) + .collect(Collectors.toList()); + log.debug("ControlServiceController.handleContextRefresh: controller-endpoints: {}", controllerEndpoints); + + controllerEndpointsShort = controllerEndpoints.stream() + .map(s -> s.startsWith("/") ? s.substring(1) : s) + .map(s -> s.indexOf("/") > 0 ? s.split("/", 2)[0] + "/**" : s) + .map(e -> "/" + e.replaceAll("\\{.*", "**")) + .distinct() + .collect(Collectors.toList()); + log.debug("ControlServiceController.handleContextRefresh: controller-endpoints-short: {}", controllerEndpointsShort); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ControlServiceCoordinator.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ControlServiceCoordinator.java new file mode 100644 index 0000000..de5fa52 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ControlServiceCoordinator.java @@ -0,0 +1,903 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import com.google.gson.GsonBuilder; +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.NodeRegistry; +import gr.iccs.imu.ems.baguette.server.ServerCoordinator; +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.brokercep.BrokerCepStatementSubscriber; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.control.collector.netdata.ServerNetdataCollector; +import gr.iccs.imu.ems.control.plugin.PostTranslationPlugin; +import gr.iccs.imu.ems.control.plugin.TranslationContextPlugin; +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import gr.iccs.imu.ems.control.util.TopicBeacon; +import gr.iccs.imu.ems.control.util.TranslationContextMonitorGsonDeserializer; +import gr.iccs.imu.ems.control.util.mvv.NoopMetricVariableValuesServiceImpl; +import gr.iccs.imu.ems.util.EventBus; +import eu.melodic.models.commons.NotificationResult; +import eu.melodic.models.commons.NotificationResultImpl; +import eu.melodic.models.commons.Watermark; +import eu.melodic.models.commons.WatermarkImpl; +import eu.melodic.models.services.CamelModelNotificationRequest; +import eu.melodic.models.services.CamelModelNotificationRequestImpl; +import gr.iccs.imu.ems.translate.NoopTranslator; +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.translate.TranslationContextPrinter; +import gr.iccs.imu.ems.translate.Translator; +import gr.iccs.imu.ems.translate.dag.DAGNode; +import gr.iccs.imu.ems.translate.model.Monitor; +import gr.iccs.imu.ems.translate.model.Sink; +import gr.iccs.imu.ems.translate.mvv.MetricVariableValuesService; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.Getter; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.ApplicationContext; +import org.springframework.context.event.EventListener; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.web.reactive.function.client.WebClient; + +import java.io.IOException; +import java.nio.file.Paths; +import java.util.*; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ControlServiceCoordinator implements InitializingBean { + + public final static String COORDINATOR_STATUS_TOPIC = "COORDINATOR_STATUS_TOPIC"; + + private final ApplicationContext applicationContext; + private final ControlServiceProperties properties; + @Getter private final BaguetteServer baguetteServer; + private final NodeRegistry nodeRegistry; + private final WebClient webClient; + private final PasswordUtil passwordUtil; + private final EventBus eventBus; + + private final List translatorImplementations; + private Translator translator; // Will be populated in 'afterPropertiesSet()' + private final List postTranslationPlugins; + private final List translationContextPlugins; + private final TranslationContextPrinter translationContextPrinter; + + private final List mvvServiceImplementations; + private MetricVariableValuesService mvvService; // Will be populated in 'afterPropertiesSet()' + + @Getter private BrokerCepService brokerCep; + + private final AtomicBoolean inUse = new AtomicBoolean(); + private final Map appModelToTcCache = new HashMap<>(); + + @Getter private String currentAppModelId; + @Getter private String currentCpModelId; + private TranslationContext currentTC; + + private ServerNetdataCollector netdataCollector; + + public enum EMS_STATE { + IDLE, INITIALIZING, RECONFIGURING, READY, ERROR + } + + @Getter private EMS_STATE currentEmsState = EMS_STATE.IDLE; + @Getter private String currentEmsStateMessage; + @Getter private long currentEmsStateChangeTimestamp; + + + @Override + public void afterPropertiesSet() throws Exception { + initTranslator(); + initMvvService(); + + // Run configuration checks and throw exceptions early (before actually using EMS) + if (properties.isSkipTranslation()) { + if (StringUtils.isBlank(properties.getTcLoadFile())) + throw new IllegalArgumentException("Model translation will be skipped (see property control.skip-translation), but no Translation Context file or pattern has been set. Check property: control.tc-load-file"); + log.warn("Model translation will be skipped, and a Translation Context file will be used: tc-file-pattern={}", properties.getTcLoadFile()); + } + + log.debug("ControlServiceCoordinator.afterPropertiesSet(): Post-translation plugins: {}", postTranslationPlugins); + log.debug("ControlServiceCoordinator.afterPropertiesSet(): TranslationContext plugins: {}", translationContextPlugins); + } + + private void initMvvService() { + // Initialize MVV service + log.debug("ControlServiceCoordinator.initMvvService(): MVV service implementations: {}", mvvServiceImplementations); + if (mvvServiceImplementations.size() == 1) { + mvvService = mvvServiceImplementations.get(0); + } else if (mvvServiceImplementations.isEmpty()) { + throw new IllegalArgumentException("No MVV service implementation found"); + } else { + mvvService = mvvServiceImplementations.stream() + .filter(s -> s!=null && !(s instanceof NoopMetricVariableValuesServiceImpl)) + .findAny() + .orElse(new NoopMetricVariableValuesServiceImpl()); + } + log.debug("ControlServiceCoordinator.initMvvService(): MVV service implementation selected: {}", mvvService); + mvvService.init(); + log.debug("ControlServiceCoordinator.initMvvService(): MVV service initialized"); + } + + private void initTranslator() { + log.debug("ControlServiceCoordinator.initTranslator(): Translator implementations: {}", translatorImplementations); + if (translatorImplementations.size() == 1) { + translator = translatorImplementations.get(0); + } else if (translatorImplementations.isEmpty()) { + throw new IllegalArgumentException("No Translator implementations found"); + } else { + translator = translatorImplementations.stream() + .filter(s -> s!=null && !(s instanceof NoopTranslator)) + .findAny() + .orElse(new NoopTranslator()); + } + log.debug("ControlServiceCoordinator.initTranslator(): Translator implementation selected: {}", translator); + + log.info("ControlServiceCoordinator.initTranslator(): Effective translator: {}", translator.getClass().getName()); + } + + // ------------------------------------------------------------------------------------------------------------ + + public String getAppModelPath() { + return currentAppModelId; + } + + public String getCpModelPath() { + return currentCpModelId; + } + + public TranslationContext getTranslationContextOfAppModel(String appModelId) { + return appModelToTcCache.get(_normalizeModelId(appModelId)); + } + + public void setCurrentEmsState(@NonNull EMS_STATE newState, String message) { + this.currentEmsState = newState; + this.currentEmsStateMessage = message; + this.currentEmsStateChangeTimestamp = System.currentTimeMillis(); + + eventBus.send(COORDINATOR_STATUS_TOPIC, Map.of( + "state", newState, + "message", Objects.requireNonNullElse(message, ""), + "timestamp", currentEmsStateChangeTimestamp + ), this); + } + + // ------------------------------------------------------------------------------------------------------------ + + @EventListener(ApplicationReadyEvent.class) + public void applicationReady() { + log.debug("ControlServiceCoordinator.applicationReady(): invoked"); + log.info("ControlServiceCoordinator.applicationReady(): IP setting: {}", properties.getIpSetting()); + preloadModels(); + } + + @Async + public void preloadModels() { + String preloadAppModel = properties.getPreload().getCamelModel(); + String preloadCpModel = properties.getPreload().getCpModel(); + if (StringUtils.isNotBlank(preloadAppModel)) { + log.info("==================================================================================================="); + log.info("ControlServiceCoordinator.preloadModels(): Preloading models: app-model={}, cp-model={}", + preloadAppModel, preloadCpModel); + processAppModel(preloadAppModel, preloadCpModel, ControlServiceRequestInfo.EMPTY); + } else { + log.info("ControlServiceCoordinator.preloadModels(): No model to preload"); + } + } + + // ------------------------------------------------------------------------------------------------------------ + + @Async + public void processAppModel(String appModelId, String cpModelId, ControlServiceRequestInfo requestInfo) { + _lockAndProcessModel(appModelId, cpModelId, requestInfo, "processAppModel()", () -> { + // Call '_processNewModels()' to do actual processing + _processAppModels(appModelId, cpModelId, requestInfo); + this.currentAppModelId = _normalizeModelId(appModelId); + this.currentCpModelId = _normalizeModelId(cpModelId); + }); + } + + @Async + public void processCpModel(String cpModelId, ControlServiceRequestInfo requestInfo) { + _lockAndProcessModel(null, cpModelId, requestInfo, "processCpModel()", () -> { + // Call '_processCpModel()' to do actual processing + _processCpModel(cpModelId, requestInfo); + this.currentCpModelId = _normalizeModelId(cpModelId); + }); + } + + @Async + public void setConstants(@NonNull Map constants, ControlServiceRequestInfo requestInfo) { + _lockAndProcessModel(null, null, requestInfo, "processCpModel()", () -> { + // Call '_processCpModel()' to do actual processing + _setConstants(constants, requestInfo); + }); + } + + protected void _lockAndProcessModel(String appModelId, String cpModelId, ControlServiceRequestInfo requestInfo, String caller, Runnable callback) { + // Acquire lock of this coordinator + if (!inUse.compareAndSet(false, true)) { + String mesg = "ControlServiceCoordinator."+caller+": ERROR: Coordinator is in use. Exits immediately"; + log.warn(mesg); + if (!properties.isSkipEsbNotification()) { + sendErrorNotification(appModelId, requestInfo, mesg, mesg); + } else { + log.warn("ControlServiceCoordinator."+caller+": Skipping ESB notification due to configuration"); + } + return; + } + + try { + callback.run(); + } catch (Exception ex) { + setCurrentEmsState(EMS_STATE.ERROR, ex.getMessage()); + + String mesg = "ControlServiceCoordinator."+caller+": EXCEPTION: " + ex; + log.error(mesg, ex); + if (!properties.isSkipEsbNotification()) { + sendErrorNotification(appModelId, requestInfo, mesg, mesg); + } else { + log.warn("ControlServiceCoordinator"+caller+": Skipping ESB notification due to configuration"); + } + } finally { + // Release lock of this coordinator + inUse.compareAndSet(true, false); + } + } + + // ------------------------------------------------------------------------------------------------------------ + + protected void _processAppModels(String appModelId, String cpModelId, ControlServiceRequestInfo requestInfo) { + log.info("ControlServiceCoordinator._processAppModel(): BEGIN: app-model-id={}, cp-model-id={}, request-info={}", appModelId, cpModelId, requestInfo); + + // Translate model into Translation Context (with EPL rules etc.) + TranslationContext _TC; + if (!properties.isSkipTranslation()) { + _TC = translateAppModelAndStore(appModelId); + } else { + log.warn("ControlServiceCoordinator._processAppModel(): Skipping translation due to configuration"); + _TC = loadStoredTranslationContext(appModelId); + } + + // Run TranslationContext plugins + if (translationContextPlugins!=null && translationContextPlugins.size()>0) { + log.info("ControlServiceCoordinator._processAppModel(): Running {} TranslationContext plugins", translationContextPlugins.size()); + translationContextPlugins.stream().filter(Objects::nonNull).forEach(plugin -> { + log.debug("ControlServiceCoordinator._processAppModel(): Calling TranslationContext plugin: {}", plugin.getClass().getName()); + plugin.processTranslationContext(_TC); + log.debug("ControlServiceCoordinator._processAppModel(): RESULTS after running TranslationContext plugin: {}\n{}", plugin.getClass().getName(), _TC); + }); + } else { + log.info("ControlServiceCoordinator._processAppModel(): No TranslationContext plugins found"); + } + + // Print resulting Translation Context + try { + translationContextPrinter.printResults(_TC, null); + } catch (Exception e) { + log.error("ControlServiceCoordinator._processAppModel(): EXCEPTION while printing Translation results: ", e); + } + + // Retrieve Metric Variable Values (MVV) from CP model - i.e. constants + Map constants = new HashMap<>(); + if (!properties.isSkipMvvRetrieve()) { + if (StringUtils.isNotBlank(cpModelId)) { + constants = retrieveConstantsFromCpModel(cpModelId, _TC, EMS_STATE.INITIALIZING); + } else { + log.warn("ControlServiceCoordinator._processAppModel(): No CP model has been provided"); + } + } else { + log.warn("ControlServiceCoordinator._processAppModel(): Skipping MVV retrieval due to configuration"); + } + + // (Re-)Configure Broker and CEP + String upperwareGrouping = properties.getUpperwareGrouping(); + if (!properties.isSkipBrokerCep()) { + configureBrokerCep(appModelId, _TC, constants, upperwareGrouping); + } else { + log.warn("ControlServiceCoordinator._processAppModel(): Skipping Broker-CEP setup due to configuration"); + } + + // Process placeholders in sink type configurations + if (brokerCep!=null && brokerCep.getBrokerCepProperties()!=null) { + String brokerUrlForClients = brokerCep.getBrokerCepProperties().getBrokerUrlForClients(); + processPlaceholdersInMonitors(_TC, brokerUrlForClients); + } + + // (Re-)Configure Baguette server + if (!properties.isSkipBaguette()) { + configureBaguetteServer(appModelId, _TC, constants, upperwareGrouping); + } else { + log.warn("ControlServiceCoordinator._processAppModel(): Skipping Baguette Server setup due to configuration"); + } + + // Start/Stop Netdata collector + if (!properties.isSkipCollectors() && !properties.isSkipBaguette() && nodeRegistry!=null) { + startNetdataCollector(appModelId); + } else { + log.warn("ControlServiceCoordinator._processAppModel(): Skipping Collectors setup due to configuration"); + } + + // (Re-)Configure MetaSolver + if (!properties.isSkipMetasolver()) { + configureMetaSolver(_TC, requestInfo.getJwtToken()); + } else { + log.warn("ControlServiceCoordinator._processAppModel(): Skipping MetaSolver setup due to configuration"); + } + + // Cache _TC in order to reply to Adapter queries about component-to-sensor mappings and sensor-configuration + log.info("ControlServiceCoordinator._processAppModel(): Cache translation results: app-model-id={}", appModelId); + appModelToTcCache.put(_normalizeModelId(appModelId), _TC); + + // Notify ESB, if 'notificationUri' is provided + if (!properties.isSkipEsbNotification()) { + notifyESB(appModelId, requestInfo, EMS_STATE.INITIALIZING); + } else { + log.warn("ControlServiceCoordinator._processAppModel(): Skipping ESB notification due to configuration"); + } + + this.currentTC = _TC; + log.info("ControlServiceCoordinator._processAppModel(): END: app-model-id={}", appModelId); + + setCurrentEmsState(EMS_STATE.READY, null); + } + + protected void _processCpModel(String cpModelId, ControlServiceRequestInfo requestInfo) { + log.info("ControlServiceCoordinator._processCpModel(): BEGIN: cp-model-id={}, request-info={}", cpModelId, requestInfo); + log.info("ControlServiceCoordinator._processCpModel(): Current app-model-id={}", currentAppModelId); + TranslationContext _TC = this.currentTC; + + // Retrieve Metric Variable Values (MVV) from CP model + Map constants = new HashMap<>(); + if (!properties.isSkipMvvRetrieve()) { + constants = retrieveConstantsFromCpModel(cpModelId, _TC, EMS_STATE.RECONFIGURING); + } else { + log.warn("ControlServiceCoordinator._processCpModel(): Skipping MVV retrieval due to configuration"); + } + + // Set MVV constants in Broker-CEP and Baguette Server, and then notify ESB + _setConstants(constants, requestInfo); + + log.info("ControlServiceCoordinator._processCpModel(): END: cp-model-id={}", cpModelId); + + setCurrentEmsState(EMS_STATE.READY, null); + } + + protected void _setConstants(@NonNull Map constants, ControlServiceRequestInfo requestInfo) { + log.info("ControlServiceCoordinator.setConstants(): BEGIN: constants={}, request-info={}", constants, requestInfo); + log.info("ControlServiceCoordinator.setConstants(): constants={}", constants); + + // Retrieve Metric Variable Values (MVV) from CP model + if (properties.isSkipMvvRetrieve()) { + log.warn("ControlServiceCoordinator.setConstants(): isSkipMvvRetrieve is true, but constants processing will continue"); + } + + // (Re-)Configure Broker and CEP + if (!properties.isSkipBrokerCep()) { + reconfigureBrokerCep(constants); + } else { + log.warn("ControlServiceCoordinator.setConstants(): Skipping Broker-CEP setup due to configuration"); + } + + // (Re-)Configure Baguette server + if (!properties.isSkipBaguette()) { + reconfigureBaguetteServer(constants); + } else { + log.warn("ControlServiceCoordinator.setConstants(): Skipping Baguette Server setup due to configuration"); + } + + // Notify ESB, if 'notificationUri' is provided + if (!properties.isSkipEsbNotification()) { + notifyESB(null, requestInfo, EMS_STATE.RECONFIGURING); + } else { + log.warn("ControlServiceCoordinator.setConstants(): Skipping ESB notification due to configuration"); + } + + log.info("ControlServiceCoordinator.setConstants(): END: constants={}", constants); + + setCurrentEmsState(EMS_STATE.READY, null); + } + + private TranslationContext translateAppModelAndStore(String appModelId) { + final TranslationContext _TC; + setCurrentEmsState(EMS_STATE.INITIALIZING, "Retrieving and translating model"); + + // Translate application model into a TranslationContext object + log.info("ControlServiceCoordinator.translateAppModelAndStore(): Model translation: model-id={}", appModelId); + _TC = translator.translate(appModelId); + log.debug("ControlServiceCoordinator.translateAppModelAndStore(): Model translation: RESULTS: {}", _TC); + + // Run post-translation plugins + if (postTranslationPlugins!=null && postTranslationPlugins.size()>0) { + log.info("ControlServiceCoordinator.translateAppModelAndStore(): Running {} post-translation plugins", postTranslationPlugins.size()); + postTranslationPlugins.stream().filter(Objects::nonNull).forEach(plugin -> { + log.debug("ControlServiceCoordinator.translateAppModelAndStore(): Calling post-translation plugin: {}", plugin.getClass().getName()); + plugin.processTranslationResults(_TC, applicationContext.getBean(TopicBeacon.class)); + log.debug("ControlServiceCoordinator.translateAppModelAndStore(): RESULTS after running post-translation plugin: {}\n{}", plugin.getClass().getName(), _TC); + }); + } else { + log.info("ControlServiceCoordinator.translateAppModelAndStore(): No post-translation plugins found"); + } + + // Serialize and store 'TranslationContext' in a file + String fileName = properties.getTcSaveFile(); + if (StringUtils.isNotBlank(fileName)) { + try { + setCurrentEmsState(EMS_STATE.INITIALIZING, "Storing translation context to file"); + + // Get TC file name + fileName = getTcFileName(appModelId, fileName); + if (Paths.get(fileName).toFile().exists()) { + log.warn("ControlServiceCoordinator.translateAppModelAndStore(): The specified Translation Context file already exists. Its contents will be overwritten: tc-file-pattern={}, tc-file={}", properties.getTcLoadFile(), fileName); + } + + // Store _TC in a file + log.debug("ControlServiceCoordinator.translateAppModelAndStore(): Start serializing _TC data in file: {}", fileName); + com.google.gson.Gson gson = new GsonBuilder().setPrettyPrinting().create(); + java.io.Writer writer = new java.io.FileWriter(fileName); + gson.toJson(_TC, writer); + writer.close(); + +// ObjectMapper mapper = new ObjectMapper(new YAMLFactory()); +// mapper.writeValue(Paths.get(fileName+".yml").toFile(), _TC); + + log.debug("ControlServiceCoordinator.translateAppModelAndStore(): Serialized _TC data in file: {}", fileName); + log.info("ControlServiceCoordinator.translateAppModelAndStore(): Saved translation data in file: {}", fileName); + + } catch (IOException ex) { + log.error("ControlServiceCoordinator.translateAppModelAndStore(): FAILED to serialize _TC to file: {} : Exception: ", fileName, ex); + } + } + return _TC; + } + + private TranslationContext loadStoredTranslationContext(String appModelId) { + TranslationContext _TC; + + // deserialize 'TranslationContext' from file + String fileName = properties.getTcLoadFile(); + if (StringUtils.isNotBlank(fileName)) { + setCurrentEmsState(EMS_STATE.INITIALIZING, "Loading translation context from file"); + + try { + fileName = getTcFileName(appModelId, fileName); + if (! Paths.get(fileName).toFile().exists()) { + log.error("ControlServiceCoordinator.loadStoredTranslationContext(): The specified Translation Context file does not exist: tc-file-pattern={}, tc-file={}", properties.getTcLoadFile(), fileName); + throw new IllegalArgumentException("The specified Translation Context file does not exist. Check property: control.tc-load-file=" + properties.getTcLoadFile() + ", file-name=" + fileName); + } + log.info("ControlServiceCoordinator.loadStoredTranslationContext(): Loading translator data from file: {}", fileName); + log.debug("ControlServiceCoordinator.loadStoredTranslationContext(): Start deserializing _TC data from file: {}", fileName); + java.io.Reader reader = new java.io.FileReader(fileName); + com.google.gson.Gson gson = new GsonBuilder() + .registerTypeAdapter(Monitor.class, new TranslationContextMonitorGsonDeserializer()) + .create(); + _TC = gson.fromJson(reader, TranslationContext.class); + reader.close(); + log.debug("ControlServiceCoordinator.loadStoredTranslationContext(): Deserialized _TC data from file: {}", fileName); + } catch (IOException ex) { + log.error("ControlServiceCoordinator.loadStoredTranslationContext(): FAILED to deserialize _TC from file: {} : Exception: ", fileName, ex); + throw new IllegalArgumentException("Failed to load translation data from file: " + fileName, ex); + } + } else { + log.error("ControlServiceCoordinator.loadStoredTranslationContext(): No translation context file has been set"); + throw new IllegalArgumentException("No translation context file has been set"); + } + return _TC; + } + + private String getTcFileName(@NonNull String appModelId, @NonNull String fileName) { + appModelId = StringUtils.removeStart(appModelId, "/"); + return String.format(fileName, appModelId.replaceAll("[^\\p{L}\\d]", "_")); + } + + private Map retrieveConstantsFromCpModel(String cpModelId, TranslationContext _TC, EMS_STATE emsState) { + Map constants = Collections.emptyMap(); + if (StringUtils.isNotBlank(cpModelId)) { + setCurrentEmsState(emsState, "Retrieving MVVs from CP model"); + + try { + log.debug("ControlServiceCoordinator.retrieveConstantsFromCpModel(): Retrieving MVVs from CP model: cp-model-id={}", cpModelId); + + // Retrieve constant names from '_TC.MVV_CP' and values from a given CP model + log.debug("ControlServiceCoordinator.retrieveConstantsFromCpModel(): Looking for MVV_CP's: {}", _TC.getCompositeMetricVariables()); + constants = mvvService.getMatchingMetricVariableValues(cpModelId, _TC); + log.debug("ControlServiceCoordinator.retrieveConstantsFromCpModel(): MVVs retrieved from CP model: cp-model-id={}, MVVs={}", cpModelId, constants); + + } catch (Exception ex) { + log.error("ControlServiceCoordinator.retrieveConstantsFromCpModel(): EXCEPTION while retrieving MVVs from CP model: cp-model-id={}", cpModelId, ex); + } + } else { + log.error("ControlServiceCoordinator.retrieveConstantsFromCpModel(): No CP model have been provided"); + } + return constants; + } + + private void configureBrokerCep(String appModelId, TranslationContext _TC, Map constants, String upperwareGrouping) { + setCurrentEmsState(EMS_STATE.INITIALIZING, "initializing Broker-CEP"); + + try { + // Initializing Broker-CEP module if necessary + if (brokerCep == null) { + log.debug("ControlServiceCoordinator.configureBrokerCep(): Broker-CEP: Initializing..."); + brokerCep = applicationContext.getBean(BrokerCepService.class); + log.debug("ControlServiceCoordinator.configureBrokerCep(): Broker-CEP: Initializing...ok"); + } + + // Get event types for GLOBAL grouping (i.e. that of Upperware) + log.debug("ControlServiceCoordinator.configureBrokerCep(): Broker-CEP: Upperware grouping: {}", upperwareGrouping); + Set eventTypeNames = _TC.getG2T().get(upperwareGrouping); + log.debug("ControlServiceCoordinator.configureBrokerCep(): Broker-CEP: Configuration of Event Types: {}", eventTypeNames); + if (eventTypeNames == null || eventTypeNames.size() == 0) + throw new RuntimeException("Broker-CEP: No event types for GLOBAL grouping"); + + // Clear any previous event types, statements or function definitions and register the new ones + brokerCep.clearState(); + brokerCep.addEventTypes(eventTypeNames, EventMap.getPropertyNames(), EventMap.getPropertyClasses()); + + log.debug("ControlServiceCoordinator.configureBrokerCep(): Broker-CEP: Constants: {}", constants); + brokerCep.setConstants(constants); + + log.debug("ControlServiceCoordinator.configureBrokerCep(): Broker-CEP: Function definitions: {}", _TC.getFunctionDefinitions()); + brokerCep.addFunctionDefinitions(_TC.getFunctionDefinitions()); + + Map> ruleStatements = _TC.getG2R().get(upperwareGrouping); + log.debug("ControlServiceCoordinator.configureBrokerCep(): Broker-CEP: Configuration of EPL statements: {}", ruleStatements); + if (ruleStatements != null) { + int cnt = 0; + for (Map.Entry> topicRules : ruleStatements.entrySet()) { + String topicName = topicRules.getKey(); + for (String rule : topicRules.getValue()) { + brokerCep.getCepService().addStatementSubscriber( + new BrokerCepStatementSubscriber("Subscriber_" + cnt++, topicName, rule, brokerCep, passwordUtil) + ); + } + } + log.debug("ControlServiceCoordinator.configureBrokerCep(): Broker-CEP: Added {} EPL statements", cnt); + } else { + log.warn("ControlServiceCoordinator.configureBrokerCep(): Broker-CEP: No EPL statements found for GLOBAL grouping"); + } + } catch (Exception ex) { + log.error("ControlServiceCoordinator.configureBrokerCep(): EXCEPTION while initializing Broker-CEP of Upperware: app-model-id={}", appModelId, ex); + } + } + + private void reconfigureBrokerCep(Map constants) { + try { + setCurrentEmsState(EMS_STATE.RECONFIGURING, "Reconfiguring Broker-CEP"); + + // Initializing Broker-CEP module if necessary + if (brokerCep == null) { + log.debug("ControlServiceCoordinator.reconfigureBrokerCep(): Broker-CEP: Initializing..."); + brokerCep = applicationContext.getBean(BrokerCepService.class); + log.debug("ControlServiceCoordinator.reconfigureBrokerCep(): Broker-CEP: Initializing...ok"); + } + + log.debug("ControlServiceCoordinator.reconfigureBrokerCep(): Passing constants to Broker-CEP: {}", constants); + brokerCep.setConstants(constants); + } catch (Exception ex) { + log.error("ControlServiceCoordinator.reconfigureBrokerCep(): EXCEPTION while initializing Broker-CEP with constants: constants={}", constants, ex); + } + } + + private static void processPlaceholdersInMonitors(TranslationContext _TC, String brokerUrlForClients) { + for (Monitor mon : _TC.getMON()) { + if (mon.getSinks()!=null) { + for (Sink s : mon.getSinks()) { + s.getConfiguration().entrySet().forEach(entry -> { + if (entry.getValue() != null) + entry.setValue(entry.getValue().replace("%{BROKER_URL}%", brokerUrlForClients)); + }); + } + } + } + } + + private void configureBaguetteServer(String appModelId, TranslationContext _TC, Map constants, String upperwareGrouping) { + setCurrentEmsState(EMS_STATE.INITIALIZING, "Initializing Baguette Server"); + + log.debug("ControlServiceCoordinator.configureBaguetteServer(): Re-configuring Baguette Server: app-model-id={}", appModelId); + try { + baguetteServer.setTopologyConfiguration(_TC, constants, upperwareGrouping, brokerCep); + } catch (Exception ex) { + log.error("ControlServiceCoordinator.configureBaguetteServer(): EXCEPTION while starting Baguette server: app-model-id={}", appModelId, ex); + } + } + + private void reconfigureBaguetteServer(Map constants) { + setCurrentEmsState(EMS_STATE.RECONFIGURING, "Reconfiguring Baguette Server"); + + log.debug("ControlServiceCoordinator.reconfigureBaguetteServer(): Re-configuring Baguette Server with constants: {}", constants); + try { + baguetteServer.sendConstants(constants); + } catch (Exception ex) { + log.error("ControlServiceCoordinator.reconfigureBaguetteServer(): EXCEPTION while configuring Baguette server: constants={}", constants, ex); + } + } + + private void startNetdataCollector(String appModelId) { + // Stop any running Netdata collector instance + if (netdataCollector!=null) { + log.info("ControlServiceCoordinator.startNetdataCollector(): Stopping NetdataCollector: app-model-id={}", appModelId); + try { + netdataCollector.stop(); + } catch (Exception ex) { + log.error("ControlServiceCoordinator.startNetdataCollector(): EXCEPTION while stopping NetdataCollector: app-model-id={}", appModelId, ex); + } + } + + // Starting new Netdata collector instance, if needed + ServerCoordinator serverCoordinator = nodeRegistry.getCoordinator(); + if (! serverCoordinator.supportsAggregators()) { + if (netdataCollector==null) { + netdataCollector = applicationContext.getBean(ServerNetdataCollector.class); + } + log.info("ControlServiceCoordinator.startNetdataCollector(): Starting NetdataCollector: app-model-id={}", appModelId); + try { + netdataCollector.start(); + } catch (Exception ex) { + log.error("ControlServiceCoordinator.startNetdataCollector(): EXCEPTION while starting NetdataCollector: app-model-id={}", appModelId, ex); + } + } else { + log.info("ControlServiceCoordinator.startNetdataCollector(): NetdataCollector is not needed (will not start it): app-model-id={}", appModelId); + } + } + + private void configureMetaSolver(TranslationContext _TC, String jwtToken) { + setCurrentEmsState(EMS_STATE.INITIALIZING, "Sending configuration to MetaSolver"); + + // Check that MetaSolver configuration URL has been set + if (StringUtils.isEmpty(properties.getMetasolverConfigurationUrl())) { + log.warn("ControlServiceCoordinator.configureMetaSolver(): MetaSolver endpoint is empty. Skipping Metasolver configuration"); + return; + } + + // Get scaling event and SLO topics from _TC + Set scalingTopics = new HashSet<>(); + scalingTopics.addAll(_TC.getE2A().keySet()); + scalingTopics.addAll(_TC.getSLO()); + log.debug("ControlServiceCoordinator.configureMetaSolver(): MetaSolver configuration: scaling-topics: {}", scalingTopics); + + // Get top-level metric topics from _TC + Set metricTopics = _TC.getDAG().getTopLevelNodes().stream() + .map(DAGNode::getElementName) + .filter(elementName -> !scalingTopics.contains(elementName)) + .collect(Collectors.toSet()); + log.debug("ControlServiceCoordinator.configureMetaSolver(): MetaSolver configuration: metric-topics: {}", metricTopics); + + // Prepare subscription configurations + String upperwareBrokerUrl = brokerCep != null ? brokerCep.getBrokerCepProperties().getBrokerUrlForClients() : null; + boolean usesAuthentication = brokerCep.getBrokerCepProperties().isAuthenticationEnabled(); + String username = usesAuthentication ? brokerCep.getBrokerUsername() : null; + String password = usesAuthentication ? brokerCep.getBrokerPassword() : null; + String certificate = brokerCep.getBrokerCertificate(); + log.debug("ControlServiceCoordinator.configureMetaSolver(): Local Broker: uses-authentication={}, username={}, password={}, has-certificate={}", + usesAuthentication, username, passwordUtil.encodePassword(password), StringUtils.isNotBlank(certificate)); + log.trace("ControlServiceCoordinator.configureMetaSolver(): Local Broker: broker-certificate={}", certificate); + + if (StringUtils.isBlank(upperwareBrokerUrl)) { + log.warn("ControlServiceCoordinator.configureMetaSolver(): No Broker URL has been specified or Broker-CEP module is deactivated"); + } + List> subscriptionConfigs = new ArrayList<>(); + for (String t : scalingTopics) + subscriptionConfigs.add(_prepareSubscriptionConfig(upperwareBrokerUrl, username, password, certificate, t, "", "SCALE")); + for (String t : metricTopics) + subscriptionConfigs.add(_prepareSubscriptionConfig(upperwareBrokerUrl, username, password, certificate, t, "", "MVV")); + log.debug("ControlServiceCoordinator.configureMetaSolver(): MetaSolver subscriptions configuration: {}", subscriptionConfigs); + + // Retrieve MVV to Current-Config MVV map + Map mvvMap = _TC.getCompositeMetricVariables(); + log.debug("ControlServiceCoordinator.configureMetaSolver(): MetaSolver MVV configuration: {}", mvvMap); + + // Prepare MetaSolver configuration + Map msConfig = new HashMap<>(); + msConfig.put("subscriptions", subscriptionConfigs); + msConfig.put("mvv", mvvMap); + + // POST configuration to MetaSolver + String metaSolverEndpoint = properties.getMetasolverConfigurationUrl(); + com.google.gson.Gson gson = new com.google.gson.Gson(); + String json = gson.toJson(msConfig); + log.debug("ControlServiceCoordinator.configureMetaSolver(): MetaSolver configuration in JSON: {}", json); + + try { + log.info("ControlServiceCoordinator.configureMetaSolver(): Calling MetaSolver: endpoint={}", metaSolverEndpoint); + ResponseEntity response = webClient.post() + .uri(metaSolverEndpoint) + .contentType(MediaType.APPLICATION_JSON) + .header(HttpHeaders.AUTHORIZATION, jwtToken) + .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) + .header(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE) + .bodyValue(json) + .retrieve() + .toEntity(String.class) + .block(); + String metaSolverResponse = (response!=null && response.getStatusCode().is2xxSuccessful()) ? response.getBody() : null; + log.info("ControlServiceCoordinator.configureMetaSolver(): MetaSolver response: endpoint={}, status={}, message={}", + metaSolverEndpoint, response!=null ? response.getStatusCode() : null, metaSolverResponse); + } catch (Exception ex) { + log.error("ControlServiceCoordinator.configureMetaSolver(): Failed to call MetaSolver: endpoint={}, EXCEPTION: ", metaSolverEndpoint, ex); + } + } + + private void notifyESB(String appModelId, ControlServiceRequestInfo requestInfo, @NonNull EMS_STATE emsState) { + if (StringUtils.isNotBlank(requestInfo.getNotificationUri())) { + setCurrentEmsState(emsState, "Notifying ESB"); + + String notificationUri = requestInfo.getNotificationUri().trim(); + log.debug("ControlServiceCoordinator.notifyESB(): Notifying ESB: {}", notificationUri); + sendSuccessNotification(appModelId, requestInfo); + log.debug("ControlServiceCoordinator.notifyESB(): ESB notified: {}", notificationUri); + } else { + log.warn("ControlServiceCoordinator.notifyESB(): Notification URI is blank"); + } + } + + // ------------------------------------------------------------------------------------------------------------ + + protected String _normalizeModelId(String modelId) { + if (StringUtils.isBlank(modelId)) return modelId; + modelId = modelId.trim(); + if (!modelId.startsWith("/")) modelId = "/"+modelId; + return modelId; + } + + protected Map _prepareSubscriptionConfig(String url, String username, String password, String certificate, String topic, String clientId, String type) { + Map map = new HashMap<>(); + map.put("url", url); + map.put("username", username); + map.put("password", password); + map.put("certificate", certificate); + map.put("topic", topic); + map.put("client-id", clientId); + map.put("type", type); + return map; + } + + // ------------------------------------------------------------------------------------------------------------ + // ESB notification methods + // ------------------------------------------------------------------------------------------------------------ + + private void sendSuccessNotification(String applicationId, ControlServiceRequestInfo requestInfo) { + // Prepare success result notification + NotificationResultImpl result = new NotificationResultImpl(); + result.setStatus(NotificationResult.StatusType.SUCCESS); + + // Prepare and send CamelModelNotification + try { + sendAppModelNotification(applicationId, result, requestInfo); + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } + + private void sendErrorNotification(String applicationId, ControlServiceRequestInfo requestInfo, + String errorCode, String errorDescription) + { + // Prepare error result notification + NotificationResultImpl result = new NotificationResultImpl(); + result.setStatus(NotificationResult.StatusType.ERROR); + result.setErrorCode(errorCode); + result.setErrorDescription(errorDescription); + + // Prepare and send CamelModelNotification + try { + sendAppModelNotification(applicationId, result, requestInfo); + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } + + private void sendAppModelNotification(String applicationId, NotificationResult result, ControlServiceRequestInfo requestInfo) { + // Create a new watermark + Watermark watermark = new WatermarkImpl(); + watermark.setUser("EMS"); + watermark.setSystem("EMS"); + watermark.setDate(new java.util.Date()); + String uuid = Objects.requireNonNullElse( requestInfo.getRequestUuid(), UUID.randomUUID().toString().toLowerCase() ); + watermark.setUuid(uuid); + + // Create a new CamelModelNotification + CamelModelNotificationRequest request = new CamelModelNotificationRequestImpl(); + request.setApplicationId(applicationId); + request.setResult(result); + request.setWatermark(watermark); + + // Send CamelModelNotification to ESB (Control Process) + sendAppModelNotification(request, requestInfo); + } + + private void sendAppModelNotification(CamelModelNotificationRequest notification, ControlServiceRequestInfo requestInfo) { + String notificationUri = requestInfo.getNotificationUri(); + String requestUuid = requestInfo.getRequestUuid(); + String jwtToken = requestInfo.getJwtToken(); + + // Check if 'notificationUri' is blank + if (StringUtils.isBlank(notificationUri)) { + log.warn("ControlServiceCoordinator.sendAppModelNotification(): notificationUri not provided or is empty. No notification will be sent to ESB."); + return; + } + notificationUri = notificationUri.trim(); + + // Get ESB url from control-service configuration + String esbUrl = properties.getEsbUrl(); + if (StringUtils.isBlank(esbUrl)) { + log.warn("ControlServiceCoordinator.sendAppModelNotification(): esb-url property is empty. No notification will be sent to ESB."); + return; + } + esbUrl = esbUrl.trim(); + + // Fixing ESB URL parts + if (esbUrl.endsWith("/")) { + esbUrl = esbUrl.substring(0, esbUrl.length() - 1); + } + if (notificationUri.startsWith("/")) { + notificationUri = notificationUri.substring(1); + } + + // Call ESB endpoint + String url = esbUrl + "/" + notificationUri; + log.info("ControlServiceCoordinator.sendAppModelNotification(): Invoking ESB endpoint: {}", url); + log.trace("ControlServiceCoordinator.sendAppModelNotification(): JWT token: {}", jwtToken); + + ResponseEntity response; + response = webClient.post(). + uri(url) + .contentType(MediaType.APPLICATION_JSON) + .header(HttpHeaders.AUTHORIZATION, jwtToken) + .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) + .header(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE) + .header("X-Request-UUID", requestUuid) + .bodyValue(notification) + .retrieve() + .toEntity(String.class) + .block(); + + if (response!=null) { + String responseStatus = response.getStatusCode().toString(); + if (response.getStatusCode().is2xxSuccessful()) + log.info("ControlServiceCoordinator.sendAppModelNotification(): ESB endpoint invoked: {}, status={}, message={}", url, responseStatus, response.getBody()); + else + log.info("ControlServiceCoordinator.sendAppModelNotification(): ESB endpoint invoked: {}, status={}, message={}", url, responseStatus, response.getBody()); + } else { + log.warn("ControlServiceCoordinator.sendAppModelNotification(): ESB endpoint invoked: {}, response is NULL", url); + } + } + + public HttpEntity createHttpEntity(Class notificationType, Object notification, String jwtToken) { + HttpHeaders headers = createHttpHeaders(jwtToken); + return new HttpEntity(notificationType.cast(notification), headers); + } + + private HttpHeaders createHttpHeaders(String jwtToken) { + HttpHeaders headers = new HttpHeaders(); + if (StringUtils.isNotBlank(jwtToken)) { + headers.set(HttpHeaders.AUTHORIZATION, jwtToken); + } + headers.set(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE); + headers.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE); + return headers; + } + + // ------------------------------------------------------------------------------------------------------------ +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ControlServiceRequestInfo.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ControlServiceRequestInfo.java new file mode 100644 index 0000000..08b5e4d --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ControlServiceRequestInfo.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import lombok.Builder; +import lombok.Data; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Data +@Builder +public class ControlServiceRequestInfo { + public final static ControlServiceRequestInfo EMPTY = create(null, null, null); + + private final String notificationUri; + private final String requestUuid; + @ToString.Exclude + private final String jwtToken; + + public static ControlServiceRequestInfo create(String notificationUri, String requestUuid, String jwtToken) { + return ControlServiceRequestInfo.builder() + .notificationUri(notificationUri) + .requestUuid(requestUuid) + .jwtToken(jwtToken) + .build(); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/CredentialsController.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/CredentialsController.java new file mode 100644 index 0000000..fe09e82 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/CredentialsController.java @@ -0,0 +1,169 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.baguette.server.properties.BaguetteServerProperties; +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import gr.iccs.imu.ems.control.webconf.WebSecurityConfig; +import gr.iccs.imu.ems.util.CredentialsMap; +import gr.iccs.imu.ems.util.PasswordUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; +import static org.springframework.web.bind.annotation.RequestMethod.POST; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class CredentialsController { + + private final static String ROLES_ALLOWED_JWT_TOKEN_OR_API_KEY = + "hasAnyRole('"+WebSecurityConfig.ROLE_JWT_TOKEN+"','"+WebSecurityConfig.ROLE_API_KEY+"')"; + + private final ControlServiceProperties properties; + private final ControlServiceCoordinator coordinator; + private final CredentialsCoordinator credentialsCoordinator; + private final WebSecurityConfig webSecurityConfig; + private final PasswordUtil passwordUtil; + + // ------------------------------------------------------------------------------------------------------------ + // Credentials methods + // ------------------------------------------------------------------------------------------------------------ + +// @PreAuthorize(ROLES_ALLOWED_JWT_TOKEN_OR_API_KEY) + @RequestMapping(value = "/broker/credentials", method = {GET,POST}) + public HttpEntity getBrokerCredentials(@RequestHeader(name = HttpHeaders.AUTHORIZATION, required = false) String jwtToken) + { + log.info("CredentialsController.getBrokerCredentials(): BEGIN"); + log.trace("CredentialsController.getBrokerCredentials(): JWT token: {}", jwtToken); + + // Retrieve sensor information + String brokerClientsUrl = coordinator.getBrokerCep().getBrokerCepProperties().getBrokerUrlForClients(); + String brokerUsername = coordinator.getBrokerCep().getBrokerUsername(); + String brokerPassword = coordinator.getBrokerCep().getBrokerPassword(); + String brokerCertificatePem = coordinator.getBrokerCep().getBrokerCertificate(); + + // Prepare response + Map response = new HashMap<>(); + response.put("url", brokerClientsUrl); + response.put("username", brokerUsername); + response.put("password", brokerPassword); + response.put("certificate", brokerCertificatePem); + HttpEntity entity = coordinator.createHttpEntity(Map.class, response, jwtToken); + log.info("CredentialsController.getBrokerCredentials(): Response: {}", response); + + //return response; + return entity; + } + +// @PreAuthorize(ROLES_ALLOWED_JWT_TOKEN_OR_API_KEY) + @RequestMapping(value = "/baguette/ref/{ref}", method = {GET,POST}, + produces = MediaType.APPLICATION_JSON_VALUE) + public HttpEntity getNodeCredentials(@PathVariable("ref") Optional optRef, + @RequestHeader(name = HttpHeaders.AUTHORIZATION, required = false) String jwtToken) + { + log.info("CredentialsController.getNodeCredentials(): BEGIN: ref={}", optRef); + log.trace("CredentialsController.getNodeCredentials(): JWT token: {}", jwtToken); + + if (StringUtils.isBlank(optRef.orElse(null))) + throw new IllegalArgumentException("The 'ref' parameter is mandatory"); + + // Check if it is EMS server ref + if (credentialsCoordinator.getReference().equals(optRef.get())) { + if (coordinator.getBaguetteServer()==null || !coordinator.getBaguetteServer().isServerRunning()) { + log.warn("CredentialsController.getNodeCredentials(): Baguette Server is not started"); + return null; + } + + BaguetteServerProperties config = coordinator.getBaguetteServer().getConfiguration(); + String address = config.getServerAddress(); + int port = config.getServerPort(); + String username = null; + String password = null; + CredentialsMap credentials = config.getCredentials(); + if (!credentials.isEmpty()) { + username = credentials.keySet().stream().findFirst().orElse(null); + password = credentials.get(username); + } + String key = coordinator.getBaguetteServer().getServerPubkey(); + + log.debug("CredentialsController.getNodeCredentials(): Retrieved EMS server connection info by reference: ref={}", optRef.get()); + + // Prepare response + Map response = new HashMap<>(); + response.put("hostname", address); + response.put("port", ""+port); + response.put("username", username); + response.put("password", password); + response.put("private-key", key); + HttpEntity entity = coordinator.createHttpEntity(Map.class, response, jwtToken); + log.debug("CredentialsController.getNodeCredentials(): Response: ** Not shown because it contains credentials **"); + + return entity; + } + + // Retrieve node credentials + NodeRegistryEntry entry = coordinator.getBaguetteServer().getNodeRegistry().getNodeByReference(optRef.get()); + if (entry==null) { + throw new IllegalArgumentException("Not found Node with reference: "+optRef.get()); + } + log.debug("CredentialsController.getNodeCredentials(): Retrieved node by reference: ref={}", optRef.get()); + + // Prepare response + Map response = new HashMap<>(); + response.put("hostname", entry.getIpAddress()); + response.put("port", entry.getPreregistration().getOrDefault("ssh.port", "22")); + response.put("username", entry.getPreregistration().get("ssh.username")); + response.put("password", entry.getPreregistration().get("ssh.password")); + response.put("private-key", entry.getPreregistration().get("ssh.key")); + HttpEntity entity = coordinator.createHttpEntity(Map.class, response, jwtToken); + log.debug("CredentialsController.getNodeCredentials(): Response: ** Not shown because it contains credentials **"); + + return entity; + } + + + // ------------------------------------------------------------------------------------------------------------ + // EMS One-Time-Password (OTP) endpoints + // ------------------------------------------------------------------------------------------------------------ + + @RequestMapping(value = "/ems/otp/new", method = {GET, POST}) + public String newOtp() { + log.info("CredentialsController.newOtp(): BEGIN"); + String newOtp = webSecurityConfig.otpCreate(); + log.debug("CredentialsController.newOtp(): New OTP: {}", passwordUtil.encodePassword(newOtp)); + return newOtp; + } + + @RequestMapping(value = "/ems/otp/remove/{otp}", method = {GET, POST}) + public String removeOtp(@PathVariable String otp) { + log.info("CredentialsController.removeOtp(): BEGIN"); + if ("*".equals(otp)) + webSecurityConfig.otpClearCache(); + else + webSecurityConfig.otpRemove(otp); + log.debug("CredentialsController.removeOtp(): Removed OTP: {}", passwordUtil.encodePassword(otp)); + return "OK"; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/CredentialsCoordinator.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/CredentialsCoordinator.java new file mode 100644 index 0000000..8e9c597 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/CredentialsCoordinator.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.UUID; + +@Slf4j +@Service +@RequiredArgsConstructor +public class CredentialsCoordinator { + @Getter + private final String reference = UUID.randomUUID().toString(); +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ManagementController.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ManagementController.java new file mode 100644 index 0000000..6bb3977 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ManagementController.java @@ -0,0 +1,133 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; +import static org.springframework.web.bind.annotation.RequestMethod.POST; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class ManagementController { + + private final ControlServiceProperties properties; + private final ManagementCoordinator coordinator; + + // ------------------------------------------------------------------------------------------------------------ + // Client and Cluster info and control methods + // ------------------------------------------------------------------------------------------------------------ + + @RequestMapping(value = "/client/list", method = GET, + produces = MediaType.APPLICATION_JSON_VALUE) + public List listClients() { + List clients = coordinator.clientList(); + log.info("ManagementController.listClients(): {}", clients); + return clients; + } + + @RequestMapping(value = "/client/list/map", method = GET, + produces = MediaType.APPLICATION_JSON_VALUE) + public Map> listClientMaps() { + Map> clients = coordinator.clientMap(); + log.info("ManagementController.listClientMaps(): {}", clients); + return clients; + } + + @RequestMapping(value = "/client/command/{clientId}/{command:.+}", method = GET) + public String clientCommand(@PathVariable String clientId, @PathVariable String command) { + log.info("ManagementController.clientCommand(): PARAMS: client={}, command={}", clientId, command); + return coordinator.clientCommandSend(clientId, command); + } + + @RequestMapping(value = "/cluster/command/{clusterId}/{command:.+}", method = GET) + public String clusterCommand(@PathVariable String clusterId, @PathVariable String command) { + log.info("ManagementController.clusterCommand(): PARAMS: cluster={}, command={}", clusterId, command); + return coordinator.clusterCommandSend(clusterId, command); + } + + // ------------------------------------------------------------------------------------------------------------ + // Event Generation and Debugging methods + // ------------------------------------------------------------------------------------------------------------ + + @RequestMapping(value = "/event/generate-start/{clientId}/{topicName}/{interval}/{lowerValue}/{upperValue}", method = GET) + public String startEventGeneration(@PathVariable String clientId, @PathVariable String topicName, @PathVariable long interval, @PathVariable double lowerValue, @PathVariable double upperValue) { + log.info("ManagementController.startEventGeneration(): PARAMS: client={}, topic={}, interval={}, value-range=[{},{}]", clientId, topicName, interval, lowerValue, upperValue); + return coordinator.eventGenerationStart(clientId, topicName, interval, lowerValue, upperValue); + } + + @RequestMapping(value = "/event/generate-stop/{clientId}/{topicName}", method = GET) + public String stopEventGeneration(@PathVariable String clientId, @PathVariable String topicName) { + log.info("ManagementController.stopEventGeneration(): PARAMS: client={}, topic={}", clientId, topicName); + return coordinator.eventGenerationStop(clientId, topicName); + } + + @RequestMapping(value = "/event/send/{clientId}/{topicName}/{value}", method = GET) + public String sendEvent(@PathVariable String clientId, @PathVariable String topicName, @PathVariable double value) { + log.info("ManagementController.sendEvent(): PARAMS: client={}, topic={}, value={}", clientId, topicName, value); + return coordinator.eventLocalSend(clientId, topicName, value); + } + + // ------------------------------------------------------------------------------------------------------------ + // EMS status and information query methods + // ------------------------------------------------------------------------------------------------------------ + + @RequestMapping(value = "/ems/shutdown", method = {GET, POST}) + public String emsShutdown() { + log.info("ManagementController.emsShutdown(): Not implemented"); + coordinator.emsShutdownServices(); + return "OK"; + } + + @RequestMapping(value = { "/ems/exit", "/ems/exit/{exitCode}" }, method = {GET, POST}) + public String emsExit(@PathVariable Optional exitCode) { + if (properties.isExitAllowed()) { + int _exitCode = exitCode.orElse(properties.getExitCode()); + log.info("ManagementController.emsExit(): exitCode={}", _exitCode); + coordinator.emsShutdownServices(); + coordinator.emsExit(_exitCode); + return "OK"; + } else { + log.info("ManagementController.emsExit(): Exiting EMS is not allowed"); + return "NOT ALLOWED"; + } + } + + @RequestMapping(value = "/ems/status", method = {GET, POST}, produces = MediaType.APPLICATION_JSON_VALUE) + public Map emsStatus() { + log.info("ManagementController.emsStatus(): Not implemented"); + return Collections.emptyMap(); + } + + @RequestMapping(value = "/ems/topology", method = {GET, POST}, produces = MediaType.APPLICATION_JSON_VALUE) + public Map emsTopology() { + log.info("ManagementController.emsTopology(): Not implemented"); + return Collections.emptyMap(); + } + + // ------------------------------------------------------------------------------------------------------------ + + @RequestMapping(value = "/health", method = GET) + public String health() { + return "OK"; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ManagementCoordinator.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ManagementCoordinator.java new file mode 100644 index 0000000..6ee9d52 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/ManagementCoordinator.java @@ -0,0 +1,222 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.brokerclient.event.EventGenerator; +import gr.iccs.imu.ems.control.ControlServiceApplication; +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.ApplicationContext; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Service +@RequiredArgsConstructor +public class ManagementCoordinator { + + private final ApplicationContext applicationContext; + private final ControlServiceProperties properties; + private final ControlServiceCoordinator coordinator; + private final BrokerCepService brokerCepService; + private final BaguetteServer baguetteServer; + + private final Map eventGenerators = new HashMap<>(); + + // ------------------------------------------------------------------------------------------------------------ + // Life-Cycle control methods + // ------------------------------------------------------------------------------------------------------------ + + void emsShutdownServices() { + /*log.info("ManagementCoordinator.emsShutdownServices(): Shutting down EMS..."); + log.info("ManagementCoordinator.emsShutdownServices(): Shutting down EMS... done");*/ + log.warn("ManagementCoordinator.emsShutdownServices(): Not implemented"); + } + + void emsExit() { + emsExit(properties.getExitCode()); + } + + void emsExit(int exitCode) { + if (properties.isExitAllowed()) { + // Signal SpringBootApp to exit + log.info("ManagementCoordinator.emsExit(): Signaling exit..."); + ControlServiceApplication.exitApp(exitCode, properties.getExitGracePeriod()); + log.info("ManagementCoordinator.emsExit(): Signaling exit... done"); + } else { + log.warn("ManagementCoordinator.emsExit(): Exit is not allowed"); + } + } + + // ------------------------------------------------------------------------------------------------------------ + // Event Generation and Debugging methods + // ------------------------------------------------------------------------------------------------------------ + + private final static String EVENT_LOG_OK = "OK"; + private final static String EVENT_LOG_ERROR = "ERROR"; + private final static String BAGUETTE_DISABLED = "BAGUETTE SERVER IS DISABLED"; + private final static String BAGUETTE_NOT_RUNNING = "BAGUETTE SERVER IS NOT RUNNING"; + + private String eventLogEnd(String method, String result) { + log.debug("ManagementCoordinator.{}(): END: result={}", method, result); + return result; + } + + private String eventSendCommandToClient(String method, String clientId, String command) { + // Check status + if (properties.isSkipBaguette()) return eventLogEnd(method, BAGUETTE_DISABLED); + if (!baguetteServer.isServerRunning()) return eventLogEnd(method, BAGUETTE_NOT_RUNNING); + + // Send command + if (clientId.equals("0")) { + if (command.startsWith("SEND-")) { + try { + String[] part = command.split(" "); + String topicName = part[1].trim(); + String value = part[2].trim(); + EventMap event = new EventMap(Double.parseDouble(value), 3, System.currentTimeMillis()); + coordinator.getBrokerCep().publishEvent(null, topicName, event); + } catch (Exception ex) { + log.warn("ManagementCoordinator.{}(): EXCEPTION: command: {}, exception: ", method, command, ex); + // Log error + return eventLogEnd(method, EVENT_LOG_ERROR+": "+method+": "+ex.getMessage()); + } + } else if (command.startsWith("GENERATE-EVENTS-START")) { + String[] args = command.split("[ \t\r\n]+"); + String destination = args[1].trim(); + long interval = Long.parseLong(args[2].trim()); + double lower = Double.parseDouble(args[3].trim()); + double upper = Double.parseDouble(args[4].trim()); + if (eventGenerators.get(destination) == null) { + EventGenerator generator = applicationContext.getBean(EventGenerator.class); + //generator.setBrokerUrl(null); + generator.setBrokerUsername(brokerCepService.getBrokerUsername()); + generator.setBrokerPassword(brokerCepService.getBrokerPassword()); + generator.setDestinationName(destination); + generator.setLevel(1); + generator.setInterval(interval); + generator.setLowerValue(lower); + generator.setUpperValue(upper); + eventGenerators.put(destination, generator); + generator.start(); + } + + } else if (command.startsWith("GENERATE-EVENTS-STOP")) { + String[] args = command.split("[ \t\r\n]+"); + String destination = args[1].trim(); + EventGenerator generator = eventGenerators.remove(destination); + if (generator != null) { + generator.stop(); + } + } else { + log.warn("ManagementCoordinator.{}(): ERROR: Unsupported command for client-id=0 : {}", method, command); + // Log error + return eventLogEnd(method, EVENT_LOG_ERROR+": "+method+": "+command); + } + } else if ("*".equals(clientId)) + baguetteServer.sendToActiveClients(command); + else + baguetteServer.sendToClient("#"+clientId, command); + + // Log success + return eventLogEnd(method, EVENT_LOG_OK); + } + + + // Public API for event debugging + public String eventGenerationStart(String clientId, String topicName, long interval, double lowerValue, double upperValue) { + log.debug("ManagementCoordinator.eventGenerationStart(): client={}, topic={}, interval={}, value-range=[{},{}]", clientId, topicName, interval, lowerValue, upperValue); + String command = String.format(java.util.Locale.ROOT, "GENERATE-EVENTS-START %s %d %f %f", topicName, interval, lowerValue, upperValue); + return eventSendCommandToClient("eventGenerationStart", clientId, command); + } + + public String eventGenerationStop(String clientId, String topicName) { + log.debug("ManagementCoordinator.eventGenerationStop(): client={}, topic={}", clientId, topicName); + String command = String.format(java.util.Locale.ROOT, "GENERATE-EVENTS-STOP %s", topicName); + return eventSendCommandToClient("eventGenerationStop", clientId, command); + } + + public String eventLocalSend(String clientId, String topicName, double value) { + log.debug("ManagementCoordinator.eventLocalSend(): BEGIN: client={}, topic={}, value={}", clientId, topicName, value); + String command = String.format(java.util.Locale.ROOT, "SEND-LOCAL-EVENT %s %f", topicName, value); + return eventSendCommandToClient("eventLocalSend", clientId, command); + } + + public String eventRemoteSend(String clientId, String brokerUrl, String topicName, double value) { + log.debug("ManagementCoordinator.eventRemoteSend(): BEGIN: client={}, broker-url={}, topic={}, value={}", clientId, brokerUrl, topicName, value); + String command = String.format(java.util.Locale.ROOT, "SEND-EVENT %s %s %f", brokerUrl, topicName, value); + return eventSendCommandToClient("eventRemoteSend", clientId, command); + } + + // ------------------------------------------------------------------------------------------------------------ + + public List clientList() { + log.debug("ManagementCoordinator.clientList(): BEGIN:"); + return baguetteServer.isServerRunning() ? baguetteServer.getActiveClients() : Collections.emptyList(); + } + + public Map> clientMap() { + log.debug("ManagementCoordinator.clientMap(): BEGIN:"); + return baguetteServer.isServerRunning() ? baguetteServer.getActiveClientsMap() : Collections.emptyMap(); + } + + public List passiveClientList() { + log.debug("ManagementCoordinator.passiveClientList(): BEGIN:"); + return baguetteServer.isServerRunning() ? baguetteServer.getPassiveNodes() : Collections.emptyList(); + } + + public Map> passiveClientMap() { + log.debug("ManagementCoordinator.passiveClientMap(): BEGIN:"); + return baguetteServer.isServerRunning() ? baguetteServer.getPassiveNodesMap() : Collections.emptyMap(); + } + + public List allClientList() { + log.debug("ManagementCoordinator.allClientList(): BEGIN:"); + return baguetteServer.isServerRunning() ? baguetteServer.getAllNodes() : Collections.emptyList(); + } + + public Map> allClientMap() { + log.debug("ManagementCoordinator.allClientMap(): BEGIN:"); + return baguetteServer.isServerRunning() ? baguetteServer.getAllNodesMap() : Collections.emptyMap(); + } + + public String clientCommandSend(String clientId, String command) { + log.debug("ManagementCoordinator.clientCommandSend(): BEGIN: client={}, command={}", clientId, command); + return eventSendCommandToClient("clientCommandSend", clientId, command); + } + + public String clusterCommandSend(String clusterId, String command) { + log.debug("ManagementCoordinator.clusterCommandSend(): BEGIN: cluster={}, command={}", clusterId, command); + return sendCommandToCluster("clusterCommandSend", clusterId, command); + } + + private String sendCommandToCluster(String method, String clusterId, String command) { + // Check status + if (properties.isSkipBaguette()) return eventLogEnd(method, BAGUETTE_DISABLED); + if (!baguetteServer.isServerRunning()) return eventLogEnd(method, BAGUETTE_NOT_RUNNING); + + // Send command + if ("*".equals(clusterId)) + baguetteServer.sendToActiveClusters(command); + else + baguetteServer.sendToCluster(clusterId, command); + + // Log success + return eventLogEnd(method, EVENT_LOG_OK); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/NodeRegistrationController.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/NodeRegistrationController.java new file mode 100644 index 0000000..81abb19 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/NodeRegistrationController.java @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.lang.reflect.Type; +import java.util.Collection; +import java.util.Map; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; +import static org.springframework.web.bind.annotation.RequestMethod.POST; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class NodeRegistrationController { + private final ControlServiceProperties properties; + private final ControlServiceCoordinator coordinator; + private final NodeRegistrationCoordinator nodeRegistrationCoordinator; + + // ------------------------------------------------------------------------------------------------------------ + // Baguette control methods + // ------------------------------------------------------------------------------------------------------------ + + @RequestMapping(value = "/baguette/stopServer", method = {GET, POST}) + public String baguetteStopServer() { + log.info("NodeRegistrationController.baguetteStopServer(): Request received"); + + // Dispatch Baguette stop operation in a worker thread + nodeRegistrationCoordinator.stopBaguette(); + log.info("NodeRegistrationController.baguetteStopServer(): Baguette stop operation dispatched to a worker thread"); + + return "OK"; + } + + @RequestMapping(value = "/baguette/registerNode", method = POST, + consumes = MediaType.APPLICATION_JSON_VALUE) + public String baguetteRegisterNode(@RequestBody String jsonNode, HttpServletRequest request) throws Exception { + log.info("NodeRegistrationController.baguetteRegisterNode(): Invoked"); + log.debug("NodeRegistrationController.baguetteRegisterNode(): Node json:\n{}", jsonNode); + + // Extract node information from json + Type type = new TypeToken>(){}.getType(); + Map nodeMap = new Gson().fromJson(jsonNode, type); + String nodeId = (String) nodeMap.get("id"); + log.info("NodeRegistrationController.baguetteRegisterNode(): node-id: {}", nodeId); + log.debug("NodeRegistrationController.baguetteRegisterNode(): Node information: map={}", nodeMap); + + String response = nodeRegistrationCoordinator.registerNode(request, nodeMap, + coordinator.getTranslationContextOfAppModel(coordinator.getCurrentAppModelId())); + + log.info("NodeRegistrationController.baguetteRegisterNode(): Node registered: node-id: {}", nodeId); + log.debug("NodeRegistrationController.baguetteRegisterNode(): node: {}, json: {}", nodeId, response); + return response; + } + + @RequestMapping(value = "/baguette/node/list", method = GET) + public Collection baguetteNodeList() throws Exception { + log.info("NodeRegistrationController.baguetteNodeList(): Invoked"); + + Collection addresses = coordinator.getBaguetteServer().getNodeRegistry().getNodeAddresses(); + + log.info("NodeRegistrationController.baguetteNodeList(): {}", addresses); + return addresses; + } + + @RequestMapping(value = "/baguette/node/reinstall/{ipAddress:.+}", method = {GET, POST}, + produces = MediaType.TEXT_PLAIN_VALUE) + public String baguetteNodeReinstall(@PathVariable String ipAddress) throws Exception { + log.info("NodeRegistrationController.baguetteNodeReinstall(): Invoked"); + log.info("NodeRegistrationController.baguetteNodeReinstall(): Node IP address: {}", ipAddress); + + // Get node info using IP address + BaguetteServer baguette = coordinator.getBaguetteServer(); + NodeRegistryEntry nodeInfo = baguette.getNodeRegistry().getNodeByAddress(ipAddress); + log.info("NodeRegistrationController.baguetteNodeReinstall(): Info for node at: ip-address={}, Node Info:\n{}", + ipAddress, nodeInfo); + if (nodeInfo==null) { + log.warn("NodeRegistrationController.baguetteNodeReinstall(): Not found pre-registered node with ip-address: {}", ipAddress); + return "NODE NOT FOUND: "+ipAddress; + } + + // Continue processing according to ExecutionWare type + String response; + log.info("NodeRegistrationController.baguetteNodeReinstall(): ExecutionWare: {}", properties.getExecutionware()); + if (properties.getExecutionware() == ControlServiceProperties.ExecutionWare.CLOUDIATOR) { + response = nodeRegistrationCoordinator.getClientInstallationInstructions(nodeInfo); + } else { + response = nodeRegistrationCoordinator.createClientInstallationTask(nodeInfo, + coordinator.getTranslationContextOfAppModel(coordinator.getCurrentAppModelId())); + } + + log.info("NodeRegistrationController.baguetteNodeReinstall(): node ip-address: {}, response: {}", ipAddress, response); + return response; + } + + @RequestMapping(value = "/baguette/getNodeInfoByAddress/{ipAddress:.+}", method = {GET, POST}, + produces = MediaType.APPLICATION_JSON_VALUE) + public NodeRegistryEntry baguetteGetNodeInfoByAddress(@PathVariable String ipAddress) throws Exception { + log.info("NodeRegistrationController.baguetteGetNodeInfoByAddress(): ip-address={}", ipAddress); + + BaguetteServer baguette = coordinator.getBaguetteServer(); + NodeRegistryEntry nodeInfo = baguette.getNodeRegistry().getNodeByAddress(ipAddress); + + log.info("NodeRegistrationController.baguetteGetNodeInfoByAddress(): Info for node at: ip-address={}, Node Info:\n{}", + ipAddress, nodeInfo); + return nodeInfo; + } + + @RequestMapping(value = "/baguette/getNodeNameByAddress/{ipAddress:.+}", method = {GET, POST}, + produces = MediaType.TEXT_PLAIN_VALUE) + public String baguetteGetNodeNameByAddress(@PathVariable String ipAddress) throws Exception { + log.info("NodeRegistrationController.baguetteGetNodeNameByAddress(): ip-address={}", ipAddress); + + BaguetteServer baguette = coordinator.getBaguetteServer(); + NodeRegistryEntry nodeInfo = baguette.getNodeRegistry().getNodeByAddress(ipAddress); + String nodeName = nodeInfo!=null ? nodeInfo.getPreregistration().get("name") : null; + + log.info("NodeRegistrationController.baguetteGetNodeNameByAddress(): Name of node at: ip-address={}, Node name: {}", + ipAddress, nodeName); + return nodeName; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/NodeRegistrationCoordinator.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/NodeRegistrationCoordinator.java new file mode 100644 index 0000000..78c3daf --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/NodeRegistrationCoordinator.java @@ -0,0 +1,186 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import gr.iccs.imu.ems.baguette.client.install.ClientInstallationTask; +import gr.iccs.imu.ems.baguette.client.install.ClientInstaller; +import gr.iccs.imu.ems.baguette.client.install.helper.InstallationHelperFactory; +import gr.iccs.imu.ems.baguette.server.BaguetteServer; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import gr.iccs.imu.ems.control.properties.StaticResourceProperties; +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.util.NetUtil; +import gr.iccs.imu.ems.util.StrUtil; +import jakarta.servlet.http.HttpServletRequest; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.support.ServletUriComponentsBuilder; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; + +@Slf4j +@Service +@RequiredArgsConstructor +public class NodeRegistrationCoordinator implements InitializingBean { + private final ControlServiceProperties properties; + @Getter + private final BaguetteServer baguetteServer; + private final StaticResourceProperties staticResourceProperties; + private final AtomicBoolean inUse = new AtomicBoolean(); + + @Override + public void afterPropertiesSet() throws Exception { + } + + // ------------------------------------------------------------------------------------------------------------ + // Baguette control methods + // ------------------------------------------------------------------------------------------------------------ + + @Async + public void stopBaguette() { + // Acquire lock of this coordinator + if (!inUse.compareAndSet(false, true)) { + log.warn("NodeRegistrationCoordinator.stopBaguette(): ERROR: Coordinator is in use. Method exits immediately"); + return; + } + + try { + // Stop Baguette server + log.info("NodeRegistrationCoordinator.stopBaguette(): Stopping Baguette server..."); + baguetteServer.stopServer(); + log.info("NodeRegistrationCoordinator.stopBaguette(): Stopping Baguette server... done"); + } catch (Exception ex) { + log.error("NodeRegistrationCoordinator.stopBaguette(): EXCEPTION while stopping Baguette server: ", ex); + } finally { + // Release lock of this coordinator + inUse.compareAndSet(true, false); + } + } + + + // ------------------------------------------------------------------------------------------------------------ + // Node registration methods + // ------------------------------------------------------------------------------------------------------------ + + public String registerNode(HttpServletRequest request, Map nodeMap, TranslationContext translationContext) throws Exception { + // Pre-process node data passed from SAL (before registering node) + Map nodeMapFlattened = StrUtil.deepFlattenMap(nodeMap); + log.trace("NodeRegistrationCoordinator.registerNode(): Flattened node info map: \n{}", nodeMapFlattened); + + // Get web server base URL + String baseUrl = calculateBaseUrl(request); + log.debug("NodeRegistrationCoordinator.registerNode(): baseUrl={}", baseUrl); + + // Update node registration info with OS name, BASE_URL, IP_SETTING, and CLIENT_ID + updateRegistrationInfo(nodeMapFlattened, baseUrl); + log.trace("NodeRegistrationCoordinator.registerNode(): updated flattened node info map: \n{}", nodeMapFlattened); + + // Register node to Baguette server + NodeRegistryEntry entry; + try { + entry = baguetteServer.registerClient(nodeMapFlattened); + } catch (Exception e) { + log.error("NodeRegistrationCoordinator.registerNode(): EXCEPTION while registering node: map={}\n", nodeMap, e); + return "ERROR "+e.getMessage(); + } + + // Continue processing according to ExecutionWare type + String response; + log.info("NodeRegistrationCoordinator.registerNode(): ExecutionWare: {}", properties.getExecutionware()); + if (properties.getExecutionware()==ControlServiceProperties.ExecutionWare.CLOUDIATOR) { + response = getClientInstallationInstructions(entry); + } else { + response = createClientInstallationTask(entry, translationContext); + } + + return response; + } + + void updateRegistrationInfo(Map nodeMap, String baseUrl) { + // Set OS info + String os = StringUtils.isNotBlank(nodeMap.get("operatingSystem.name")) + ? nodeMap.get("operatingSystem.name") + : nodeMap.get("operatingSystem"); + nodeMap.put("operatingSystem", os); + + // Get IP Setting and Client ID + String ipSetting = properties.getIpSetting().toString(); + String clientId = getBaguetteServer().generateClientIdFromNodeInfo(nodeMap); + + // Add to context + nodeMap.put("BASE_URL", baseUrl); + nodeMap.put("CLIENT_ID", clientId); + nodeMap.put("IP_SETTING", ipSetting); + } + + public String getServerIpAddress() { + return (properties.getIpSetting() == ControlServiceProperties.IpSetting.DEFAULT_IP) + ? NetUtil.getDefaultIpAddress() + : NetUtil.getPublicIpAddress(); + } + + public String calculateBaseUrl(HttpServletRequest request) { + String staticResourceContext = staticResourceProperties.getResourceContext(); + staticResourceContext = StringUtils.substringBeforeLast(staticResourceContext,"/**"); + staticResourceContext = StringUtils.substringBeforeLast(staticResourceContext,"/*"); + if (!staticResourceContext.startsWith("/")) staticResourceContext = "/"+staticResourceContext; + /*String baseUrl = + request.getScheme()+"://"+ coordinator.getServerIpAddress() +":"+request.getServerPort()+staticResourceContext;*/ + String baseUrl = ServletUriComponentsBuilder.fromRequestUri(request) + .host(getServerIpAddress()) + .replacePath(staticResourceContext) + .build().toUriString(); + return baseUrl; + } + + // Retained for backward compatibility with Cloudiator + @SneakyThrows + public String getClientInstallationInstructions(NodeRegistryEntry entry) throws IOException { + // Prepare Baguette Client installation instructions for node + final String CLOUDIATOR_HELPER_CLASS = "gr.iccs.imu.ems.extra.cloudiator.CloudiatorInstallationHelper"; + String json = InstallationHelperFactory.getInstance() + .createInstallationHelperBean(CLOUDIATOR_HELPER_CLASS, entry) + .getInstallationInstructionsForOs(entry) + .orElse(Collections.emptyList()) + .stream().findFirst() + .orElse(null); + if (json==null) { + log.warn("NodeRegistrationCoordinator.getClientInstallationInstructions(): No instruction sets: node-map={}", entry.getPreregistration()); + return null; + } + log.debug("NodeRegistrationCoordinator.getClientInstallationInstructions(): instructionsSet: {}", json); + + log.trace("NodeRegistrationCoordinator.getClientInstallationInstructions(): instructionsSet: node-map={}, json:\n{}", entry.getPreregistration(), json); + return json; + } + + public String createClientInstallationTask(NodeRegistryEntry entry, TranslationContext translationContext + ) throws Exception { + //log.info("ControlServiceController.baguetteRegisterNodeForProactive(): INPUT: node-map: {}", nodeMap); + + ClientInstallationTask installationTask = InstallationHelperFactory.getInstance() + .createInstallationHelper(entry) + .createClientInstallationTask(entry, translationContext); + ClientInstaller.instance().addTask(installationTask); + log.debug("NodeRegistrationCoordinator.createClientInstallationTask(): New installation-task: {}", installationTask); + + return "OK"; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/RestControllerException.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/RestControllerException.java new file mode 100644 index 0000000..9db99ef --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/RestControllerException.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import lombok.Getter; +import lombok.Setter; + +public class RestControllerException extends RuntimeException { + @Getter @Setter + private int statusCode; + + public RestControllerException() { super(); } + public RestControllerException(String message) { super(message); } + public RestControllerException(Throwable cause) { super(cause); } + public RestControllerException(String message, Throwable cause) { super(message, cause); } + + public RestControllerException(int code) { super(); statusCode = code; } + public RestControllerException(int code, String message) { super(message); statusCode = code; } + public RestControllerException(int code, Throwable cause) { super(cause); statusCode = code; } + public RestControllerException(int code, String message, Throwable cause) { super(message, cause); statusCode = code; } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/RestControllerExceptionHandler.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/RestControllerExceptionHandler.java new file mode 100644 index 0000000..2fc2320 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/controller/RestControllerExceptionHandler.java @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.controller; + +import gr.iccs.imu.ems.util.StrUtil; +import lombok.AccessLevel; +import lombok.Data; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.context.request.WebRequest; +import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; + +import java.time.LocalDateTime; + +@Slf4j +@RestControllerAdvice +public class RestControllerExceptionHandler extends ResponseEntityExceptionHandler implements InitializingBean { + + @Override + public void afterPropertiesSet() { + log.debug("RestControllerExceptionHandler initialized"); + } + + @ExceptionHandler(Throwable.class) + private ResponseEntity handleAnyException(Throwable ex, WebRequest request) { + log.warn("RestControllerExceptionHandler: EXCEPTION: context-path={}, error={}", request.getContextPath(), ex.getMessage()); + log.debug("RestControllerExceptionHandler: EXCEPTION: context-path={}, error={}\n", request.getContextPath(), ex.getMessage(), ex); + + HttpStatus httpStatus = HttpStatus.INTERNAL_SERVER_ERROR; //BAD_REQUEST; + if (ex instanceof RestControllerException subEx) { + httpStatus = HttpStatus.resolve(subEx.getStatusCode()); + if (httpStatus!=null) { + if (httpStatus.is5xxServerError()) { + log.error("RestControllerExceptionHandler: EXCEPTION: context-path={}\n", request.getContextPath(), ex); + } + } else + httpStatus = HttpStatus.INTERNAL_SERVER_ERROR; //BAD_REQUEST; + } + + // Return error response + ErrorType error = new ErrorType(httpStatus, ex); + return new ResponseEntity<>(error, error.getReason()); + } + + @Data + @Setter(AccessLevel.NONE) + public static class ErrorType { + private final int status; + private final HttpStatus reason; + private final LocalDateTime timestamp = LocalDateTime.now(); + private final String exception; + private final String message; + private final String details; + + public ErrorType(HttpStatus httpStatus, Throwable error) { + status = httpStatus.value(); + reason = httpStatus; + exception = error.getClass().getSimpleName(); + message = error.getMessage(); + details = StrUtil.exceptionToDetailsString(error); + } + } +} \ No newline at end of file diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/BuildInfoProvider.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/BuildInfoProvider.java new file mode 100644 index 0000000..92d5cfe --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/BuildInfoProvider.java @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.info.BuildProperties; +import org.springframework.boot.info.InfoProperties; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.core.io.Resource; +import org.springframework.stereotype.Component; +import org.springframework.util.StreamUtils; + +import java.io.IOException; +import java.io.StringReader; +import java.nio.charset.StandardCharsets; +import java.util.*; +import java.util.stream.StreamSupport; + +@Slf4j +@Component +public class BuildInfoProvider implements ApplicationContextAware, IEmsInfoProvider { + @Autowired + private ControlServiceProperties properties; + @Autowired + private BuildProperties buildProperties; + + private Map infoMap; + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.infoMap = new HashMap<>(); + collectBuildInfo(applicationContext, infoMap); + } + + @Override + public Map getMetricValues() { return infoMap; } + + @SneakyThrows + protected void collectBuildInfo(ApplicationContext applicationContext, Map infoMap) { + // Collect info from 'BuildProperties' + print("\n--------------------------------------------------------------------------------"); + print("===== Build Properties ====="); + final Map map = new LinkedHashMap<>(); + StreamSupport.stream(Spliterators.spliteratorUnknownSize(buildProperties.iterator(), Spliterator.ORDERED), false) + .sorted(Comparator.comparing(InfoProperties.Entry::getKey)) + .forEach(e->{ + print(" - {} = {}", e.getKey(), e.getValue()); + map.put(e.getKey(), e.getValue()); + }); + infoMap.put("buildProperties", map); + print("\n--------------------------------------------------------------------------------"); + + // Collect info from bundled files + infoMap.put("versionInfo", + collectInfoFromFile(applicationContext, "Version Info", "classpath:/version.txt")); + print("\n--------------------------------------------------------------------------------"); + infoMap.put("gitInfo", + collectInfoFromFile(applicationContext, "Git Info", "classpath:/git.properties")); + print("\n--------------------------------------------------------------------------------"); + infoMap.put("buildInfo", + collectInfoFromFile(applicationContext, "Build Info", "classpath:/META-INF/build-info.properties")); + print("\n--------------------------------------------------------------------------------"); + } + + protected Map collectInfoFromFile(ApplicationContext applicationContext, String title, String resourceStr) throws IOException { + Map map = new LinkedHashMap<>(); + Resource[] resources = applicationContext.getResources(resourceStr); + if (resources.length>0) { + Resource r = resources[0]; + String linesStr = StreamUtils.copyToString(r.getInputStream(), StandardCharsets.UTF_8); + String s = StringUtils.repeat("=", title.length()+12); + print("\n{}\n===== {} =====\n{}\n=== File: {}\n=== URL: {}\n\n{}\n", s, title, s, r.getFilename(), r.getURL(), linesStr); + Properties p; + try (StringReader sr = new StringReader(linesStr)) { + p = new Properties(); + p.load(sr); + } + for (final String name: p.stringPropertyNames()) + map.put(name, p.getProperty(name)); + } + return map; + } + + protected void print(String formatter, Object...args) { + if (!properties.isPrintBuildInfo()) return; + log.info(formatter, args); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceBuildInfoEndpoint.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceBuildInfoEndpoint.java new file mode 100644 index 0000000..0d46f0f --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceBuildInfoEndpoint.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.actuate.endpoint.annotation.Endpoint; +import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; +import org.springframework.boot.actuate.endpoint.annotation.Selector; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Slf4j +@Component +@Endpoint(id = "emsBuildInfo") +public class ControlServiceBuildInfoEndpoint { + @Autowired + private BuildInfoProvider buildInfoProvider; + + @ReadOperation + public Map infoMap() { return buildInfoProvider.getMetricValues(); } + + @ReadOperation + public Map info(@Selector String s) { return buildInfoProvider.getMetricValuesFor(s); } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceHealthIndicator.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceHealthIndicator.java new file mode 100644 index 0000000..6cd923f --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceHealthIndicator.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeansException; +import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +@Slf4j +@Component("ems-control-service") +@ConditionalOnEnabledHealthIndicator("controlService") +public class ControlServiceHealthIndicator implements HealthIndicator, ApplicationContextAware { + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + } + + @Override + public Health health() { + Health.Builder status = Health.up() + .withDetail("message", "EMS Control Service is running"); + return status.build(); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceInfoEndpointExtension.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceInfoEndpointExtension.java new file mode 100644 index 0000000..a6b54d9 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceInfoEndpointExtension.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; +import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; +import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; +import org.springframework.boot.actuate.endpoint.web.annotation.EndpointWebExtension; +import org.springframework.boot.actuate.info.InfoEndpoint; +import org.springframework.context.ApplicationContext; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Component +@RequiredArgsConstructor +@EndpointWebExtension(endpoint = InfoEndpoint.class) +@ConditionalOnAvailableEndpoint(endpoint = InfoEndpoint.class /*, exposure = org.springframework.boot.actuate.autoconfigure.endpoint.expose.EndpointExposure.WEB*/) +public class ControlServiceInfoEndpointExtension implements InitializingBean { + + private final ApplicationContext applicationContext; + private final InfoEndpoint delegate; + + @Override + public void afterPropertiesSet() throws Exception { + log.info("Info endpoint is enabled and exposed. Added EMS info extension."); + } + + @ReadOperation + public WebEndpointResponse info() { + Map info = new HashMap<>(this.delegate.info()); + info.put("ems-build-info", applicationContext.getBean(BuildInfoProvider.class).getMetricValues()); + info.put("ems-live-info", applicationContext.getBean(IEmsInfoService.class).getServerMetricValues()); + return new WebEndpointResponse<>(info, 200); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceLiveInfoEndpoint.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceLiveInfoEndpoint.java new file mode 100644 index 0000000..9388ccc --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceLiveInfoEndpoint.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.actuate.endpoint.annotation.Endpoint; +import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; +import org.springframework.boot.actuate.endpoint.annotation.Selector; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Slf4j +@Component +@Endpoint(id = "emsLiveInfo") +@RequiredArgsConstructor +public class ControlServiceLiveInfoEndpoint { + + private final IEmsInfoService emsInfoService; + + @ReadOperation + public Map infoMap() { + return emsInfoService.getServerMetricValues(); + } + + @ReadOperation + public Map info(@Selector String s) { + Map v = emsInfoService.getServerMetricValuesFor(s); + if (v!=null) + return v; + throw new IllegalArgumentException("Unknown EMS info provider: "+s); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceMBean.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceMBean.java new file mode 100644 index 0000000..6e85704 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceMBean.java @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.jmx.export.annotation.*; +import org.springframework.jmx.export.notification.NotificationPublisher; +import org.springframework.jmx.export.notification.NotificationPublisherAware; +import org.springframework.jmx.support.MetricType; +import org.springframework.stereotype.Component; + +import javax.management.Notification; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +@Slf4j +@Component("emsControl") +@ManagedResource( + objectName = "gr.iccs.imu.ems:category=EmsInfo,name=emsControl", + log = true, +// logFile = "ems_notif.txt", + description="EMS Control Service Bean") +@ManagedNotifications({ + @ManagedNotification(name = "randNumNotif", notificationTypes = { "java.lang.String", "java.lang.Double" }), + @ManagedNotification(name = "timestampNotif", notificationTypes = { "java.lang.String" }) +}) +public class ControlServiceMBean implements NotificationPublisherAware { + private NotificationPublisher notificationPublisher; + private AtomicLong notificationSequence = new AtomicLong(0); + + @ManagedOperation + public void testOk() { + log.warn("!!!!!!!!!!!!!!!!!!!!!!!! testOk"); + } + + @ManagedOperation + @ManagedOperationParameters({ + @ManagedOperationParameter(name = "message", description = "Message param") + }) + public void test2(String mesg) { + log.warn("!!!!!!!!!!!!!!!!!!!!!!!! test2: {}", mesg); + } + + private String attrib; + + @ManagedAttribute + public String getAttrib() { + log.warn("!!!!!!!!!!!!!!!!!!!!!!!! getAttrib: {}", attrib); + return attrib; + } + @ManagedAttribute + public void setAttrib(String s) { + log.warn("!!!!!!!!!!!!!!!!!!!!!!!! setAttrib: {} -> {}", attrib, s); + attrib = new String(s); + } + + @ManagedMetric(category = "ems-metrics", description = "EMS metrics bla bla", displayName = "Curr Date", + metricType = MetricType.COUNTER, unit = "_date") + public Date getCurrDate() { + Date now = new Date(); + log.warn("!!!!!!!!!!!!!!!!!!!!!!!! getCurrDate: {}", now); + return now; + } + + @Override + public void setNotificationPublisher(NotificationPublisher notificationPublisher) { + this.notificationPublisher = notificationPublisher; + } + + @ManagedOperation + public void trigger() { + if (notificationPublisher != null) { + final Notification notification = new Notification("java.lang.String", + getClass().getName(), + notificationSequence.get(), + "A random number: "+(Math.random()*10000000000L)); + notificationPublisher.sendNotification(notification); + log.warn("!!!!!!!!!!!!!!!!!!!!!!!! trigger/1: {}", notification); + + final Notification notification2 = new Notification("java.lang.Double", + "source2", + notificationSequence.getAndIncrement(), + ""+(Math.random()*10000000000L)); + notificationPublisher.sendNotification(notification2); + log.warn("!!!!!!!!!!!!!!!!!!!!!!!! trigger/2: {}", notification2); + } + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceMetrics.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceMetrics.java new file mode 100644 index 0000000..c78a120 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/ControlServiceMetrics.java @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import io.micrometer.core.instrument.Counter; +import io.micrometer.core.instrument.Gauge; +import io.micrometer.core.instrument.MeterRegistry; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +@RequiredArgsConstructor +public class ControlServiceMetrics implements ApplicationContextAware { + + private final MeterRegistry meterRegistry; + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + Counter howmany = Counter + .builder("ems-howmany") + .description("EMS test counter metric") + .tags("ems", "test") + .register(meterRegistry); + howmany.increment(10); + Gauge freemem = Gauge + .builder("ems-freemem", () -> Runtime.getRuntime().freeMemory()) + .description("EMS test gauge metric") + .tags("ems", "test") + .register(meterRegistry); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/EmsInfoServiceImpl.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/EmsInfoServiceImpl.java new file mode 100644 index 0000000..0c5e378 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/EmsInfoServiceImpl.java @@ -0,0 +1,361 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import gr.iccs.imu.ems.baguette.server.ClientShellCommand; +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.common.misc.SystemResourceMonitor; +import gr.iccs.imu.ems.control.controller.ControlServiceCoordinator; +import gr.iccs.imu.ems.control.controller.CredentialsCoordinator; +import gr.iccs.imu.ems.control.controller.ManagementCoordinator; +import gr.iccs.imu.ems.control.controller.NodeRegistrationCoordinator; +import gr.iccs.imu.ems.control.plugin.EmsInfoPlugin; +import gr.iccs.imu.ems.control.properties.ControlServiceProperties; +import gr.iccs.imu.ems.control.properties.InfoServiceProperties; +import gr.iccs.imu.ems.control.properties.StaticResourceProperties; +import gr.iccs.imu.ems.control.properties.WebSecurityProperties; +import gr.iccs.imu.ems.control.util.EventBusCache; +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.util.FunctionDefinition; +import gr.iccs.imu.ems.util.GROUPING; +import gr.iccs.imu.ems.util.NetUtil; +import gr.iccs.imu.ems.util.StrUtil; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.context.ApplicationContext; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class EmsInfoServiceImpl implements IEmsInfoService { + + private final AtomicLong currentServerMetricsVersion = new AtomicLong(0); + private final AtomicLong currentClientMetricsVersion = new AtomicLong(0); + private Map currentServerMetrics; + private Map currentClientMetrics; + + private final ApplicationContext applicationContext; + private final ControlServiceProperties controlServiceProperties; + private final InfoServiceProperties infoServiceProperties; + private final ControlServiceCoordinator controlServiceCoordinator; + private final CredentialsCoordinator credentialsCoordinator; + private final ManagementCoordinator managementCoordinator; + private final NodeRegistrationCoordinator nodeRegistrationCoordinator; + private final StaticResourceProperties staticResourceProperties; + private final WebSecurityProperties webSecurityProperties; + + private final BuildInfoProvider buildInfoProvider; + private final SystemInfoProvider systemInfoProvider; + private final BrokerCepService brokerCepService; + private final SystemResourceMonitor systemResourceMonitor; + private final EventBusCache eventBusCache; + + private final List emsInfoPlugins; + + @Override + public void clearServerMetricValues() { + log.debug("clearServerMetricValues(): BEGIN"); + synchronized (currentServerMetricsVersion) { + systemInfoProvider.clearMetricValues(); + brokerCepService.clearBrokerCepStatistics(); + currentServerMetrics = null; + + // Call clear on EmsInfoPlugin's + callClearOnPlugins(); + } + log.debug("clearServerMetricValues(): END"); + } + + @Override + public Map getServerMetricValues() { + log.debug("getServerMetricValues(): BEGIN"); + updateServerMetricValues(false); + log.debug("getServerMetricValues(): END: {}", currentServerMetrics); + return currentServerMetrics; + } + + public Map getServerMetricValuesFor(@NonNull String key) { + log.debug("getServerMetricValuesFor(): BEGIN: key={}", key); + return StrUtil.castToMapStringObject(getServerMetricValues().get(key)); + } + + // ------------------------------------------------------------------------ + + @Override + public void clearClientMetricValues() { + log.debug("clearClientMetricValues(): BEGIN"); + synchronized (currentClientMetricsVersion) { + currentClientMetrics = null; + managementCoordinator.clientCommandSend("*", "CLEAR-STATS"); + } + log.debug("clearClientMetricValues(): END"); + } + + @Override + public Map getClientMetricValues() { + log.debug("getClientMetricValues(): BEGIN"); + updateClientMetricValues(); + log.debug("getClientMetricValues(): END: {}", currentClientMetrics); + return currentClientMetrics; + } + + @Override + public Map getClientMetricValues(@NonNull String clientId) { + log.debug("getClientMetricValues(): BEGIN: clientId={}", clientId); + return StrUtil.castToMapStringObject(getClientMetricValues().get(clientId)); + } + + // ------------------------------------------------------------------------ + + protected void updateServerMetricValues(boolean includeStaticInfo) { + log.debug("updateServerMetricValues(): BEGIN: includeStaticInfo={}", includeStaticInfo); + if (currentServerMetrics!=null) { + long timestamp = (long) currentServerMetrics.get(".timestamp"); + log.trace("updateServerMetricValues(): stored-timestamp: {}", timestamp); + if (System.currentTimeMillis() - timestamp < infoServiceProperties.getMetricsUpdateInterval()) { + log.debug("updateServerMetricValues(): STOP: Retry in {}ms", + timestamp + infoServiceProperties.getMetricsUpdateInterval() - System.currentTimeMillis()); + return; + } + } + + long timestamp = System.currentTimeMillis(); + log.trace("updateServerMetricValues(): new-timestamp: {}", timestamp); + + Map metrics = new LinkedHashMap<>(); + + metrics.put("ip-address", nodeRegistrationCoordinator.getServerIpAddress()); + metrics.put("public-ip-address", NetUtil.getPublicIpAddress()); + metrics.put("default-ip-address", NetUtil.getDefaultIpAddress()); + metrics.put("reference", credentialsCoordinator.getReference()); + + // Collect JVM and System resource metrics for EMS server + Map systemInfo = new LinkedHashMap<>(); + systemInfo.put("jmx-resource-metrics", systemInfoProvider.getMetricValues()); + systemInfo.put("system-resource-metrics", systemResourceMonitor.getLatestMeasurements()); + metrics.put(SYSTEM_INFO_PROVIDER, systemInfo); + + // Collect EMS build info + if (includeStaticInfo) + metrics.put(BUILD_INFO_PROVIDER, buildInfoProvider.getMetricValues()); + + // Collect Control Service metrics + Map controlServiceInfo = new LinkedHashMap<>(); + controlServiceInfo.put("current-ems-state", controlServiceCoordinator.getCurrentEmsState()); + controlServiceInfo.put("current-ems-state-message", controlServiceCoordinator.getCurrentEmsStateMessage()); + controlServiceInfo.put("current-ems-state-change-timestamp", controlServiceCoordinator.getCurrentEmsStateChangeTimestamp()); + controlServiceInfo.put("current-app-model-path", controlServiceCoordinator.getAppModelPath()); + controlServiceInfo.put("current-cp-model-path", controlServiceCoordinator.getCpModelPath()); + if (controlServiceProperties!=null && infoServiceProperties!=null) { + controlServiceInfo.put("prop-ip-setting", controlServiceProperties.getIpSetting()); + controlServiceInfo.put("prop-executionware", controlServiceProperties.getExecutionware().toString()); + controlServiceInfo.put("prop-esb-url", controlServiceProperties.getEsbUrl()); + controlServiceInfo.put("prop-metasolver-config-url", controlServiceProperties.getMetasolverConfigurationUrl()); + controlServiceInfo.put("prop-metrics-update-interval", infoServiceProperties.getMetricsUpdateInterval()); + controlServiceInfo.put("prop-metrics-client-update-interval", infoServiceProperties.getMetricsClientUpdateInterval()); + controlServiceInfo.put("prop-metrics-stream-event-name", infoServiceProperties.getMetricsStreamEventName()); + controlServiceInfo.put("prop-metrics-stream-update-interval", infoServiceProperties.getMetricsStreamUpdateInterval()); + controlServiceInfo.put("prop-preload-app-model", controlServiceProperties.getPreload().getCamelModel()); + controlServiceInfo.put("prop-preload-cp-model", controlServiceProperties.getPreload().getCpModel()); + controlServiceInfo.put("prop-upperware-grouping", controlServiceProperties.getUpperwareGrouping()); + controlServiceInfo.put("prop-tc-load-file", controlServiceProperties.getTcLoadFile()); + controlServiceInfo.put("prop-tc-save-file", controlServiceProperties.getTcSaveFile()); + + Map debugFlags = new LinkedHashMap<>(); + debugFlags.put("exit-allowed", controlServiceProperties.isExitAllowed()); + debugFlags.put("print-build-info", controlServiceProperties.isPrintBuildInfo()); + debugFlags.put("skip-translation", controlServiceProperties.isSkipTranslation()); + debugFlags.put("skip-broker-cep-init", controlServiceProperties.isSkipBrokerCep()); + debugFlags.put("skip-baguette-server-init", controlServiceProperties.isSkipBaguette()); + debugFlags.put("skip-mvv-retrieve", controlServiceProperties.isSkipMvvRetrieve()); + debugFlags.put("skip-metasolver-configuration", controlServiceProperties.isSkipMetasolver()); + debugFlags.put("skip-esb-notification", controlServiceProperties.isSkipEsbNotification()); + controlServiceInfo.put("prop-debug-flags",debugFlags); + } + if (staticResourceProperties!=null) { + Map staticResourceCfg = new LinkedHashMap<>(); + /*staticResourceCfg.put("favicon-context", staticResourceProperties.getFaviconContext()); + staticResourceCfg.put("favicon-path", staticResourceProperties.getFaviconPath());*/ + staticResourceCfg.put("resource-context", staticResourceProperties.getResourceContext()); + staticResourceCfg.put("resource-path", staticResourceProperties.getResourcePath()); + staticResourceCfg.put("resource-redirect", staticResourceProperties.getRedirect()); + staticResourceCfg.put("resource-redirects", staticResourceProperties.getRedirects()); + staticResourceCfg.put("logs-context", staticResourceProperties.getLogsContext()); + staticResourceCfg.put("logs-path", staticResourceProperties.getLogsPath()); + controlServiceInfo.put("prop-static-resource", staticResourceCfg); + } + // Adding Authorization properties has been moved to an EmsInfoPlugin in ems-4-morphemic project + if (webSecurityProperties!=null) { + Map authMap = new LinkedHashMap<>(); + authMap.put("jwt-authentication-enabled", webSecurityProperties.getJwtAuthentication().isEnabled()); + authMap.put("api-key-authentication-enabled", webSecurityProperties.getApiKeyAuthentication().isEnabled()); + authMap.put("otp-authentication-enabled", webSecurityProperties.getOtpAuthentication().isEnabled()); + authMap.put("form-authentication-enabled", webSecurityProperties.getFormAuthentication().isEnabled()); + controlServiceInfo.put("prop-authentication-methods", authMap); + } + controlServiceInfo.put("latest-bus-events", eventBusCache.asList()); + metrics.put(CONTROL_INFO_PROVIDER, controlServiceInfo); + + // Collect Broker-CEP metrics + metrics.put(BROKER_CEP_INFO_PROVIDER, brokerCepService.getBrokerCepStatistics()); + + // Collect Baguette-Client metrics and topology + Map baguetteServerInfo = new LinkedHashMap<>(); + baguetteServerInfo.put("active-clients-list", managementCoordinator.clientList()); + baguetteServerInfo.put("active-clients-map", managementCoordinator.clientMap()); + baguetteServerInfo.put("passive-clients-list", managementCoordinator.passiveClientList()); + baguetteServerInfo.put("passive-clients-map", managementCoordinator.passiveClientMap()); + baguetteServerInfo.put("all-clients-list", managementCoordinator.allClientList()); + baguetteServerInfo.put("all-clients-map", managementCoordinator.allClientMap()); + metrics.put(BAGUETTE_SERVER_INFO_PROVIDER, baguetteServerInfo); + + // Destinations per grouping and min/max grouping + Map translatorInfo = new LinkedHashMap<>(); + metrics.put(TRANSLATOR_INFO_PROVIDER, translatorInfo); + String appModelPath = controlServiceCoordinator.getAppModelPath(); + if (StringUtils.isNotBlank(appModelPath)) { + TranslationContext _TC = controlServiceCoordinator.getTranslationContextOfAppModel(appModelPath); + Set groupings = _TC.getG2T().keySet(); + ArrayList orderedGroupings = new ArrayList<>(groupings); + orderedGroupings.sort((o1, o2) -> { + GROUPING g1 = GROUPING.valueOf(o1); + GROUPING g2 = GROUPING.valueOf(o2); + return g1.compareTo(g2); + }); + translatorInfo.put("app-model-path", appModelPath); + translatorInfo.put("groupings", orderedGroupings); + translatorInfo.put("actions-per-event", _TC.getE2A()); + translatorInfo.put("slo", _TC.getSLO()); + translatorInfo.put("monitors", _TC.getMONS()); + translatorInfo.put("rules-per-grouping", _TC.getG2R()); + translatorInfo.put("destinations-per-grouping", _TC.getG2T()); + translatorInfo.put("composite-metric-variables", _TC.getCMVar()); + translatorInfo.put("metric-variable-values", _TC.getMVV()); + translatorInfo.put("metric-variable-values-for-CP", _TC.getCompositeMetricVariables()); + translatorInfo.put("destination-connections", _TC.getTopicConnections()); + translatorInfo.put("function-definitions", _TC.getFUNC().stream() + .map(FunctionDefinition::toString).collect(Collectors.toList())); + translatorInfo.put("export-files", _TC.getExportFiles()); + } + + // Call EmsInfoPlugin's to add information + callUpdateInfoOnPlugins(metrics); + + log.debug("updateServerMetricValues(): Collected server metrics: {}", metrics); + + synchronized (currentServerMetricsVersion) { + log.trace("updateServerMetricValues(): IN-SYNC-BLOCK"); + if (currentServerMetrics==null || (long)currentServerMetrics.get(".timestamp") < timestamp) { + long version = currentServerMetricsVersion.getAndIncrement(); + log.trace("updateServerMetricValues(): NEW-VERSION: {}", version); + metrics.put(".version", version); + metrics.put(".timestamp", timestamp); + this.currentServerMetrics = Collections.unmodifiableMap(metrics); + log.trace("updateServerMetricValues(): NEW currentServerMetrics: {}", currentServerMetrics); + } + log.debug("updateServerMetricValues(): END"); + } + } + + private void callClearOnPlugins() { + log.debug("callClearOnPlugins(): BEGIN: Calling clear on EMS info plugins: {}", emsInfoPlugins); + emsInfoPlugins.forEach(plugin -> { + try { + log.trace("callClearOnPlugins(): - Calling clear on plugin: {}", plugin); + plugin.clearInfo(); + log.trace("callClearOnPlugins(): Plugin clear completed: {}", plugin); + } catch (Exception e) { + log.warn("callClearOnPlugins(): EXCEPTION while calling lear on plugin: {}\n", plugin, e); + } + }); + log.debug("callClearOnPlugins(): END: Calling clear on EMS info plugins"); + } + + private void callUpdateInfoOnPlugins(Map metrics) { + log.debug("callUpdateInfoOnPlugins(): BEGIN: Calling EMS info plugins: {}", emsInfoPlugins); + emsInfoPlugins.forEach(plugin -> { + try { + log.trace("callUpdateInfoOnPlugins(): - Calling plugin: {}", plugin); + plugin.updateInfo(metrics); + log.trace("callUpdateInfoOnPlugins(): Plugin completed: {}, metrics={}", plugin, metrics); + } catch (Exception e) { + log.warn("callUpdateInfoOnPlugins(): EXCEPTION while calling plugin: {}\n", plugin, e); + } + }); + log.debug("callUpdateInfoOnPlugins(): END: Calling EMS info plugins"); + } + + protected void updateClientMetricValues() { + log.debug("updateClientMetricValues(): BEGIN"); + // Not really needed check, since clients PUSH their statistics to server + if (currentClientMetrics!=null) { + long timestamp = (long) currentClientMetrics.get(".timestamp"); + log.trace("updateClientMetricValues(): stored-timestamp: {}", timestamp); + if (System.currentTimeMillis() - timestamp < infoServiceProperties.getMetricsClientUpdateInterval()) { + log.debug("updateClientMetricValues(): STOP: Retry in {}ms", + timestamp + infoServiceProperties.getMetricsClientUpdateInterval() - System.currentTimeMillis()); + return; + } + } + + long timestamp = System.currentTimeMillis(); + log.trace("updateClientMetricValues(): new-timestamp: {}", timestamp); + + Map clientMetrics = new LinkedHashMap<>(); + + // Collecting EMS clients' metrics + List clientIds = managementCoordinator.clientList(); + log.trace("updateClientMetricValues(): active-baguette-clients: {}", clientIds); + for (String clientId : clientIds.stream().map(s->s.split(" ")[0]).toList()) { + /*log.trace("updateClientMetricValues(): Requesting metrics from client: {}", clientId); + Object o = baguetteServer.readFromClient(clientId, "SHOW-STATS", org.slf4j.event.Level.DEBUG); + log.trace("updateClientMetricValues(): Metrics from client: {}, metrics: {}", clientId, o); + if (o instanceof Map) { + clientMetrics.put(clientId, o); + log.trace("updateClientMetricValues(): client-metrics: id={}, Client metrics ADDED in results map", clientId); + }*/ + + log.trace("updateClientMetricValues(): Retrieving cached statistics of client: id={}", clientId); + ClientShellCommand csc = ClientShellCommand.getActiveById(clientId); + log.trace("updateClientMetricValues(): CSC of client: id={}, CSC={}", clientId, csc); + if (csc!=null) { + if (csc.getClientStatistics()!=null) { + clientMetrics.put(clientId, csc.getClientStatistics()); + log.trace("updateClientMetricValues(): client-metrics: id={}, Client metrics ADDED in results map", clientId); + } else { + log.debug("updateClientMetricValues(): No client statistics available: client-id={}", clientId); + } + } else { + log.warn("updateClientMetricValues(): CSC NOT FOUND: client-id={}", clientId); + } + } + log.debug("updateClientMetricValues(): Collected client metrics: {}", clientMetrics); + + synchronized (currentClientMetricsVersion) { + log.trace("updateClientMetricValues(): IN-SYNC-BLOCK"); + if (currentClientMetrics==null || (long)currentClientMetrics.get(".timestamp") < timestamp) { + long version = currentClientMetricsVersion.getAndIncrement(); + log.trace("updateClientMetricValues(): NEW-VERSION: {}", version); + clientMetrics.put(".version", version); + clientMetrics.put(".timestamp", timestamp); + this.currentClientMetrics = Collections.unmodifiableMap(clientMetrics); + log.trace("updateServerMetricValues(): NEW currentClientMetrics: {}", currentClientMetrics); + } + log.debug("updateClientMetricValues(): END"); + } + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/FilesController.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/FilesController.java new file mode 100644 index 0000000..154285f --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/FilesController.java @@ -0,0 +1,277 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import gr.iccs.imu.ems.control.properties.InfoServiceProperties; +import gr.iccs.imu.ems.util.EmsConstant; +import jakarta.servlet.http.HttpServletRequest; +import lombok.Builder; +import lombok.Data; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.core.io.InputStreamResource; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.WebRequest; +import org.springframework.web.server.ResponseStatusException; +import org.springframework.web.servlet.HandlerMapping; + +import javax.validation.constraints.Null; +import java.io.*; +import java.net.URLConnection; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@RestController +@ConditionalOnProperty(value = "enabled", prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "info.files", havingValue = "true", matchIfMissing = true) +public class FilesController { + + private final InfoServiceProperties properties; + private final List roots; + + public FilesController(@NonNull InfoServiceProperties properties) { + this.properties = properties; + List tmp = properties.getFiles().getRoots(); + this.roots = (tmp!=null) ? tmp : Collections.emptyList(); + log.debug("FilesController: File roots: {}", roots); + } + + @GetMapping("/files") + public List listRoots(HttpServletRequest request) { + log.debug("listRoots(): --- client: {}:{}", request.getRemoteAddr(), request.getRemotePort()); + return toFileList(roots, null); + } + + @GetMapping("/files/tree/roots") + public List> listTreeRoots(HttpServletRequest request) throws IOException { + log.debug("listTreeRoots(): --- client: {}:{}", request.getRemoteAddr(), request.getRemotePort()); + LinkedList> trees = new LinkedList<>(); + for (Path root : roots) { + trees.add( toFileList(Files.walk(root).collect(Collectors.toList()), root) ); + } + return trees; + } + + @GetMapping("/files/tree/{rootId}") + public List listTreeFiles(HttpServletRequest request, @PathVariable int rootId) throws IOException { + log.debug("listTreeFiles(): --- client: {}:{}", request.getRemoteAddr(), request.getRemotePort()); + log.debug("listTreeFiles(): --- Root-Id: {}", rootId); + Path root = roots.get(rootId); + return toFileList(Files.walk(root).collect(Collectors.toList()), root); + } + + @GetMapping({"/files/dir/{rootId}", "/files/dir/{rootId}/**"}) + public List listDirFiles(HttpServletRequest request, @PathVariable int rootId, WebRequest webRequest) throws IOException { + log.debug("listDirFiles(): --- client: {}:{}", request.getRemoteAddr(), request.getRemotePort()); + String mvcPrefix = "/files/dir/" + rootId; + String pathStr = getPathFromRequest(request, webRequest, mvcPrefix); + + Path path = Paths.get(roots.get(rootId).toString(), pathStr); + log.debug("listDirFiles(): --- Effective Path: {}", path); + if (path.toFile().exists()) { + if (path.toFile().isDirectory()) { + return toFileList(Files.list(path).collect(Collectors.toList()), path); + } else { + return null; + } + } else { + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "File not found: "+rootId+": "+pathStr); + } + } + + private String getPathFromRequest(HttpServletRequest request, WebRequest webRequest, String mvcPrefix) { + log.debug("getPathFromRequest(): --- mvc-prefix: {}", mvcPrefix); + String mvcPath = (String) webRequest.getAttribute( + HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST); + log.debug("getPathFromRequest(): --- mvc-path: {}", mvcPath); + String pathStr = mvcPath!=null ? mvcPath.substring(mvcPrefix.length()) : ""; + log.debug("getPathFromRequest(): --- Prefix: {}, Path: {}", mvcPrefix, pathStr); + return pathStr; + } + + private InputStreamResource toStringInputStream(String s) { + //return new InputStreamResource(new org.apache.tools.ant.filters.StringInputStream(s)); + return new InputStreamResource(new ByteArrayInputStream(s.getBytes())); + } + + @GetMapping("/files/get/{rootId}/**") + public ResponseEntity getFile(HttpServletRequest request, @PathVariable int rootId, WebRequest webRequest) throws IOException { + log.debug("getFile(): --- client: {}:{}", request.getRemoteAddr(), request.getRemotePort()); + String mvcPrefix = "/files/get/" + rootId + "/"; + String pathStr = getPathFromRequest(request, webRequest, mvcPrefix); + + File file = Paths.get(roots.get(rootId).toString(), pathStr).toFile(); + log.debug("getFile(): --- Effective Path: {}", file); + if (!file.exists()) { + //return ResponseEntity.badRequest().body( toStringInputStream("File not exists") ); + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "File not found: "+rootId+": "+pathStr); + } + if (isFileBlocked(file.toPath())) { + throw new ResponseStatusException(HttpStatus.FORBIDDEN, "Blocked extension. Cannot download file: "+rootId+": "+pathStr); + } + if (!file.canRead()) { + return ResponseEntity.badRequest().body( toStringInputStream("File cannot be read") ); + } + if (file.isFile()) { + HttpHeaders headers = new HttpHeaders(); + headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename="+file.getName()); + headers.add("Cache-Control", "no-cache, no-store, must-revalidate"); + headers.add("Pragma", "no-cache"); + headers.add("Expires", "0"); + + String mimeType = URLConnection.guessContentTypeFromName(file.getName()); + if (StringUtils.isBlank(mimeType)) + mimeType = Files.probeContentType(file.toPath()); + log.debug("getFile(): --- File content type: {}", mimeType); + MediaType mediaType = MediaType.APPLICATION_OCTET_STREAM; + try { + if (StringUtils.isNotBlank(mimeType)) + mediaType = MediaType.parseMediaType(mimeType); + } catch (Exception e) { + log.warn("getFile(): --- Invalid File content type: {}, file: {}\n", mimeType, file.getName(), e); + } + log.debug("getFile(): --- Will use content type: {}", mediaType); + + return ResponseEntity.ok() + .headers(headers) + .contentLength(file.length()) + .contentType(mediaType) + .body(new InputStreamResource(new FileInputStream(file))); + } + return ResponseEntity.badRequest().body( toStringInputStream("Not a regular file") ); + } + + @GetMapping("/files/getpath/**") + public ResponseEntity getFileFromPath(HttpServletRequest request, WebRequest webRequest) throws IOException { + log.debug("getFileFromPath(): --- client: {}:{}", request.getRemoteAddr(), request.getRemotePort()); + String mvcPrefix = "/files/getpath/"; + String pathStr = getPathFromRequest(request, webRequest, mvcPrefix); + log.debug("getFileFromPath(): --- pathStr: {}", pathStr); + if (!pathStr.startsWith(File.separator)) pathStr = File.separator+pathStr; + + String filePath = null; + for (Path r : roots) { + log.trace("getFileFromPath(): --- Checking pathStr against root: pathStr={}, root={}", pathStr, r); + if (pathStr.startsWith(r.toFile().getAbsolutePath())) { + log.debug("getFileFromPath(): --- pathStr is under root: pathStr={}, root={}", pathStr, r); + filePath = pathStr; + if (!filePath.startsWith(File.separator)) filePath = File.separator+filePath; + break; + } + } + log.debug("getFileFromPath(): --- filePath: {}", filePath); + if (filePath==null) { + log.warn("getFileFromPath(): --- FORBIDDEN: Specified path is not under any allowed root: {}", filePath); + throw new ResponseStatusException(HttpStatus.FORBIDDEN, "Specified path is not under any allowed root: "+filePath); + } + + File file = Paths.get(pathStr).toFile(); + log.debug("getFileFromPath(): --- Effective Path: {}", file); + if (!file.exists()) { + //return ResponseEntity.badRequest().body( toStringInputStream("File not exists") ); + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "File not found: "+pathStr); + } + if (isFileBlocked(file.toPath())) { + throw new ResponseStatusException(HttpStatus.FORBIDDEN, "Blocked extension. Cannot download file: "+pathStr); + } + if (!file.canRead()) { + return ResponseEntity.badRequest().body( toStringInputStream("File cannot be read") ); + } + if (file.isFile()) { + HttpHeaders headers = new HttpHeaders(); + headers.add("Cache-Control", "no-cache, no-store, must-revalidate"); + headers.add("Pragma", "no-cache"); + headers.add("Expires", "0"); + + String mimeType = URLConnection.guessContentTypeFromName(file.getName()); + if (StringUtils.isBlank(mimeType)) + mimeType = Files.probeContentType(file.toPath()); + log.debug("getFileFromPath(): --- File content type: {}", mimeType); + MediaType mediaType = MediaType.APPLICATION_OCTET_STREAM; + try { + if (StringUtils.isNotBlank(mimeType)) + mediaType = MediaType.parseMediaType(mimeType); + } catch (Exception e) { + log.warn("getFileFromPath(): --- Invalid File content type: {}, file: {}\n", mimeType, file.getName(), e); + } + log.debug("getFileFromPath(): --- Will use content type: {}", mediaType); + if (mediaType==MediaType.APPLICATION_OCTET_STREAM) + headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename="+file.getName()); + + return ResponseEntity.ok() + .headers(headers) + .contentLength(file.length()) + .contentType(mediaType) + .body(new InputStreamResource(Files.newInputStream(file.toPath()))); + } + return ResponseEntity.badRequest().body( toStringInputStream("Not a regular file") ); + } + + private boolean isFileBlocked(Path path) { + String fileName = path.toFile().getName(); + return properties.getFiles().getExtensionsBlocked().stream() + .anyMatch(ext->StringUtils.endsWithIgnoreCase(fileName, ext)); + } + + private List toFileList(@NonNull List paths, @Null Path root) { + String prefix = (root!=null) ? root.toString() : ""; + boolean listBlocked = properties.getFiles().isListBlocked(); + boolean listHidden = properties.getFiles().isListHidden(); + List list = new LinkedList<>(); + for (Path p : paths) { + boolean blocked = isFileBlocked(p); + if (!listBlocked && blocked) continue; + if (!listHidden && p.toFile().isHidden()) continue; + String pathStr = StringUtils.removeStart(p.toString(), prefix); + File f = p.toFile(); + if (StringUtils.isNotBlank(pathStr)) + list.add(FILE.builder() + .path(pathStr) + .size(f.length()) + .lastModified(f.lastModified()) + .hidden(f.isHidden()) + .dir(f.isDirectory()) + .root(root==null) + .read(f.canRead()).write(f.canWrite()).exec(f.canExecute()) + .noLink(blocked) + .build()); + } + return list; + } + + @Data + @Builder + public static class FILE { + private final String path; + private final long size; + private final long lastModified; + private final boolean hidden; + private final boolean dir; + private final boolean root; + private final boolean read; + private final boolean write; + private final boolean exec; + private final boolean noLink; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/FilesDisabledController.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/FilesDisabledController.java new file mode 100644 index 0000000..0bc1adb --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/FilesDisabledController.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@ConditionalOnMissingBean(FilesController.class) +public class FilesDisabledController { + + public FilesDisabledController() { + log.info("FilesDisabledController: File browsing is disabled"); + } + + @GetMapping({"/files", "/files/**"}) + public ResponseEntity filesDisabled(HttpServletRequest request) { + log.debug("filesDisabled(): --- client: {}:{}", request.getRemoteAddr(), request.getRemotePort()); + return ResponseEntity.badRequest().body("File browsing is disabled"); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/IEmsInfoProvider.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/IEmsInfoProvider.java new file mode 100644 index 0000000..1888c7d --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/IEmsInfoProvider.java @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import gr.iccs.imu.ems.util.StrUtil; + +import java.util.Map; + +public interface IEmsInfoProvider { + default void clearMetricValues() { } + + default Map getMetricValues() { return null; } + + default Map getMetricValuesFor(String key) { + return StrUtil.castToMapStringObject(getMetricValues().get(key)); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/IEmsInfoService.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/IEmsInfoService.java new file mode 100644 index 0000000..9bf27ee --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/IEmsInfoService.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import lombok.NonNull; + +import java.util.Map; + +public interface IEmsInfoService { + String SYSTEM_INFO_PROVIDER = "system-info"; + String BUILD_INFO_PROVIDER = "build-info"; + String CONTROL_INFO_PROVIDER = "control"; + String BROKER_CEP_INFO_PROVIDER = "broker-cep"; + String BAGUETTE_SERVER_INFO_PROVIDER = "baguette-server"; + String CLIENT_INSTALLER_INFO_PROVIDER = "baguette-client-installer"; + String TRANSLATOR_INFO_PROVIDER = "translator"; + String MISC_INFO_PROVIDER = "misc-info"; + + void clearServerMetricValues(); + Map getServerMetricValues(); + Map getServerMetricValuesFor(@NonNull String key); + + void clearClientMetricValues(); + Map getClientMetricValues(); + Map getClientMetricValues(@NonNull String clientId); +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/InfoServiceController.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/InfoServiceController.java new file mode 100644 index 0000000..7c7a4c4 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/InfoServiceController.java @@ -0,0 +1,377 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +//XXX: TODO: Temporarily disabled logviewer: import com.logviewer.data2.LogFormat; +//XXX: TODO: Temporarily disabled logviewer: import com.logviewer.logLibs.LogConfigurationLoader; +//XXX: TODO: Temporarily disabled logviewer: import com.logviewer.springboot.LogViewerSpringBootConfig; +import gr.iccs.imu.ems.control.controller.ControlServiceCoordinator; +import gr.iccs.imu.ems.control.controller.ManagementCoordinator; +import gr.iccs.imu.ems.control.plugin.WebAdminPlugin; +import gr.iccs.imu.ems.control.properties.InfoServiceProperties; +import gr.iccs.imu.ems.util.StrUtil; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.ws.rs.QueryParam; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +//XXX: TODO: Temporarily disabled logviewer: import org.springframework.context.annotation.Bean; +//XXX: TODO: Temporarily disabled logviewer: import org.springframework.context.annotation.Import; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.http.codec.ServerSentEvent; +import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +//XXX: TODO: Temporarily disabled logviewer: import java.nio.file.Path; +import java.time.Duration; +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +@RestController +@RequiredArgsConstructor +//XXX: TODO: Temporarily disabled logviewer: @Import(LogViewerSpringBootConfig.class) +public class InfoServiceController implements InitializingBean { + + private final InfoServiceProperties properties; + private final ControlServiceCoordinator coordinator; + private final ManagementCoordinator managementCoordinator; + private final IEmsInfoService emsInfoService; + private final List webAdminPlugins; + private List restCallCommands; + private Map>> restCallForms; + + @Override + public void afterPropertiesSet() throws Exception { + initAdditionalRestCommands(); + } + + /*XXX: TODO: Temporarily disabled logviewer + @Bean + public LogConfigurationLoader getLogConfigurationLoader() { + // Initialize Log-Viewer log paths + List logPaths = properties.getLogViewerFiles(); + if (logPaths==null || logPaths.size()==0) + return null; + return () -> { + LinkedHashMap logConf = new LinkedHashMap<>(); + logPaths.forEach(p -> logConf.put(p, null)); + log.info("LogConfigurationLoader: log-paths: {}", logConf); + return logConf; + }; + }*/ + + @GetMapping("/info/metrics/get") + public Mono> serverMetricsGet(HttpServletRequest request, @AuthenticationPrincipal UserDetails user) { + log.info("serverMetricsGet(): --- client: {}:{}", request.getRemoteAddr(), request.getRemotePort()); + Map message = createServerMetricsResult(null, -1L, user); + log.debug("serverMetricsGet(): message={}", message); + return Mono.just(message); + } + + @GetMapping("/info/metrics/stream") + public Flux>> serverMetricsStream( + @QueryParam("interval") Optional interval, HttpServletRequest request, @AuthenticationPrincipal UserDetails user) + { + String sid = UUID.randomUUID().toString(); + log.info("serverMetricsStream(): interval={} --- client: {}:{}, Stream-Id: {}", + interval, request.getRemoteAddr(), request.getRemotePort(), sid); + int intervalInSeconds = interval.orElse(-1); + if (intervalInSeconds<1) intervalInSeconds = properties.getMetricsStreamUpdateInterval(); + log.debug("serverMetricsStream(): effective-interval={}", intervalInSeconds); + + return Flux.interval(Duration.ofSeconds(intervalInSeconds)) + .onBackpressureDrop() + .map(sequence -> { + Map message = createServerMetricsResult(sid, sequence, user); + log.debug("serverMetricsStream(): seq={}, id={}, message={}", sequence, sid, message); + return ServerSentEvent.> builder() + .id(String.valueOf(sequence)) + .event(properties.getMetricsStreamEventName()) + .data(message) + .build(); + }); + } + + @GetMapping("/info/metrics/clear") + public String serverMetricsClear(HttpServletRequest request) { + log.info("serverMetricsClear(): --- client: {}:{}", request.getRemoteAddr(), request.getRemotePort()); + emsInfoService.clearServerMetricValues(); + emsInfoService.clearClientMetricValues(); + return "CLEARED-SERVER-METRICS"; + } + + // ------------------------------------------------------------------------ + + @GetMapping("/info/client-metrics/get/{clientIds}") + public Mono> clientMetricsGet( + @PathVariable("clientIds") List clientIds, HttpServletRequest request) + { + log.info("clientMetricsGet(): baguette-client-ids={} --- client: {}:{}", clientIds, request.getRemoteAddr(), request.getRemotePort()); + Map message = createClientMetricsResult(null, -1L, clientIds); + log.debug("clientMetricsGet(): message={}", message); + return Mono.just(message); + } + + @GetMapping("/info/client-metrics/stream/{clientIds}") + public Flux>> clientMetricsStream( + @PathVariable("clientIds") List clientIds, + @QueryParam("interval") Optional interval, + HttpServletRequest request) + { + String sid = UUID.randomUUID().toString(); + log.info("clientMetricsStream(): interval={}, baguette-client-ids={} --- client: {}:{}, Stream-Id: {}", + interval, clientIds, request.getRemoteAddr(), request.getRemotePort(), sid); + int intervalInSeconds = interval.orElse(-1); + if (intervalInSeconds<1) intervalInSeconds = properties.getMetricsStreamUpdateInterval(); + log.debug("clientMetricsStream(): effective-interval={}", intervalInSeconds); + + return Flux.interval(Duration.ofSeconds(intervalInSeconds)) + .onBackpressureDrop() + .map(sequence -> { + Map message = createClientMetricsResult(sid, sequence, clientIds); + log.debug("clientMetricsStream(): seq={}, id={}, message={}", sequence, sid, message); + return ServerSentEvent.> builder() + .id(String.valueOf(sequence)) + .event(properties.getMetricsStreamEventName()) + .data(message) + .build(); + }); + } + + @GetMapping("/info/client-metrics/clear/{clientIds}") + public String clientMetricsClear(@PathVariable("clientIds") List clientIds, HttpServletRequest request) { + log.info("clientMetricsClear(): baguette-client-ids={} --- client: {}:{}", + clientIds, request.getRemoteAddr(), request.getRemotePort()); + emsInfoService.clearClientMetricValues(); + return "CLEARED-CLIENT-METRICS"; + } + + // ------------------------------------------------------------------------ + + @GetMapping("/info/all-metrics/get/{clientIds}") + public Mono> allMetricsGet( + @PathVariable("clientIds") List clientIds, HttpServletRequest request, @AuthenticationPrincipal UserDetails user) + { + log.info("allMetricsGet(): baguette-client-ids={} --- client: {}:{}", clientIds, request.getRemoteAddr(), request.getRemotePort()); + Map message1 = createServerMetricsResult(null, -1L, user); + Map message2 = createClientMetricsResult(null, -1L, clientIds); + Map message = new LinkedHashMap<>(); + message.put("ems", message1); + message.put("clients", message2); + log.debug("allMetricsGet(): message={}", message); + return Mono.just(message); + } + + @GetMapping("/info/all-metrics/stream/{clientIds}") + public Flux>> allMetricsStream( + @PathVariable("clientIds") List clientIds, + @QueryParam("interval") Optional interval, + HttpServletRequest request, + @AuthenticationPrincipal UserDetails user) + { + String sid = UUID.randomUUID().toString(); + log.info("allMetricsStream(): interval={}, baguette-client-ids={} --- client: {}:{}, Stream-Id: {}", + interval, clientIds, request.getRemoteAddr(), request.getRemotePort(), sid); + int intervalInSeconds = interval.orElse(-1); + if (intervalInSeconds<1) intervalInSeconds = properties.getMetricsStreamUpdateInterval(); + log.debug("allMetricsStream(): effective-interval={}", intervalInSeconds); + + return Flux.interval(Duration.ofSeconds(intervalInSeconds)) + .onBackpressureDrop() + .map(sequence -> { + Map message1 = createServerMetricsResult(sid, sequence, user); + Map message2 = createClientMetricsResult(sid, sequence, clientIds); + Map message = new LinkedHashMap<>(); + message.put("ems", message1); + message.put("clients", message2); + log.debug("allMetricsStream(): seq={}, id={}, message={}", sequence, sid, message); + return ServerSentEvent.> builder() + .id(String.valueOf(sequence)) + .event(properties.getMetricsStreamEventName()) + .data(message) + .build(); + }); + } + + @GetMapping("/info/all-metrics/clear") + public String allMetricsClear(HttpServletRequest request) { + log.info("allMetricsClear(): client: {}:{}", + request.getRemoteAddr(), request.getRemotePort()); + emsInfoService.clearServerMetricValues(); + emsInfoService.clearClientMetricValues(); + return "CLEARED-ALL-METRICS"; + } + + // ------------------------------------------------------------------------ + + public Map createServerMetricsResult(String sid, long sequence, UserDetails userDetails) { + log.trace("createServerMetricsResult: BEGIN: sid={}, seq={}", sid, sequence); + Map metrics = new LinkedHashMap<>(emsInfoService.getServerMetricValues()); + + addMetricsFromEnvVars(metrics); + addAuthenticationInfo(metrics, userDetails); + addRestCallCommands(metrics); + + metrics.put(".stream-id", sid); + metrics.put(".sequence", sequence); + log.trace("createMetricsResult: {}", metrics); + log.trace("createServerMetricsResult: END: sid={}, seq={} ==> {}", sid, sequence, metrics); + return metrics; + } + + public Map createClientMetricsResult(String sid, long sequence, @NonNull List clientIds) { + log.trace("createClientMetricsResult: BEGIN: sid={}, seq={}, client-ids={}", sid, sequence, clientIds); + Map metrics = emsInfoService.getClientMetricValues(); + log.trace("createClientMetricsResult: metrics: {}", metrics); + if (metrics!=null && clientIds.size()>0 && !clientIds.contains("*")) { + clientIds = clientIds.stream() + .filter(StringUtils::isNotBlank) + .map(s->s.startsWith("#") ? s : "#"+s) + .collect(Collectors.toList()); + log.trace("createClientMetricsResult(): CLIENT-FILTER: PREPARE: client-ids: {}", clientIds); + metrics = new LinkedHashMap<>(metrics); + log.trace("createClientMetricsResult(): CLIENT-FILTER: BEFORE: metrics: {}", metrics); + metrics.keySet().retainAll(clientIds); + log.trace("createClientMetricsResult(): CLIENT-FILTER: AFTER: metrics: {}", metrics); + } + + // Add client info in results + Map> clientsInfo = managementCoordinator.clientMap(); + for (Map.Entry entry : metrics.entrySet()) { + Map info = clientsInfo.get(entry.getKey()); + Object o = entry.getValue(); + if (o instanceof Map) { + StrUtil.castToMapStringObject(o) + .put("client-info", info); + } + } + + Map clientMetrics = new LinkedHashMap<>(); + clientMetrics.put("client-metrics", metrics); + clientMetrics.put(".stream-id", sid); + clientMetrics.put(".sequence", sequence); + log.trace("createClientMetricsResult: END: sid={}, seq={} ==> {}", sid, sequence, clientMetrics); + return clientMetrics; + } + + protected void addMetricsFromEnvVars(Map metrics) { + // Process configured env. var. prefixes + for (String prefix : properties.getEnvVarPrefixes()) { + prefix = prefix.trim(); + if (StringUtils.isNotBlank(prefix)) { + // Check for processing switches (at the end of the prefix) + boolean trimPrefix = false; + boolean underscoreToDash = false; + boolean uppercase = false; + boolean lowercase = false; + int len = prefix.length(); + while (len>0) { + char ch = prefix.charAt(len-1); + if (ch=='/') { trimPrefix = true; len--; } + else if (ch=='-') { underscoreToDash = true; len--; } + else if (ch=='^') { uppercase = true; len--; } + else if (ch=='~') { lowercase = true; len--; } + else break; + } + + // Check env. vars against the prefix (and its switches) + if (len>0) { + if (prefix.length()!=len) prefix = prefix.substring(0, len); + + final String _prefix = prefix; + final boolean _trimPrefix = trimPrefix; + final boolean _underscoreToDash = underscoreToDash; + final boolean _uppercase = uppercase; + final boolean _lowercase = lowercase; + System.getenv().forEach((varName,varValue) -> { + if (StringUtils.startsWithIgnoreCase(varName, _prefix)) { + // Process switches + String varNameOriginal = varName; + if (_trimPrefix) varName = varName.substring(_prefix.length()); + if (_underscoreToDash) varName = varName.replace("_", "-"); + if (_uppercase) varName = varName.toUpperCase(); + if (_lowercase) varName = varName.toLowerCase(); + + // Add env. var. in the metrics map + log.debug("addMetricsFromEnvVars: Adding env. var. {} in metrics map as: {} = {}", varNameOriginal, varName, varValue); + metrics.put(varName, varValue); + } + }); + } + } + } + } + + private void addAuthenticationInfo(Map metrics, UserDetails userDetails) { + log.debug("addAuthenticationInfo: user-details: {}", userDetails); + if (userDetails!=null && StringUtils.isNotBlank(userDetails.getUsername())) { + String username = userDetails.getUsername(); + metrics.put(".authentication-username", username); + log.debug("addAuthenticationInfo: Adding username from session: {}", username); + } + } + + private void initAdditionalRestCommands() { + if (webAdminPlugins==null) return; + final List commandGroups = new ArrayList<>(); + final Set formsSet = new HashSet<>(); + webAdminPlugins.stream().filter(Objects::nonNull).forEach(plugin->{ + WebAdminPlugin.RestCallCommandGroup commandGroup = plugin.restCallCommands(); + List cmdList = commandGroup.getCommands(); + if (cmdList!=null && cmdList.size()>0 && StringUtils.isNotBlank(commandGroup.getId())) { + commandGroups.add( Map.of( + "id", commandGroup.getId(), + "text", commandGroup.getText(), + "priority", commandGroup.getPriority(), + "disabled", Boolean.toString(commandGroup.isDisabled()), + "options", cmdList.stream().filter(Objects::nonNull).map(cmd -> Map.of( + "id", cmd.getId(), + "text", cmd.getText(), + "url", cmd.getUrl(), + "method", cmd.getMethod(), + "form", (cmd.getForm() != null && StringUtils.isNotBlank(cmd.getForm().getId())) + ? cmd.getForm().getId() : cmd.getFormId(), + "priority", Integer.toString(cmd.getPriority()), + "disabled", Boolean.toString(cmd.isDisabled()) + )).toList() + + ) ); + formsSet.addAll( cmdList.stream() + .filter(Objects::nonNull) + .map(WebAdminPlugin.RestCallCommand::getForm) + .filter(Objects::nonNull) + .collect(Collectors.toSet()) + ); + } + }); + restCallCommands = commandGroups; + restCallForms = formsSet.stream().collect(Collectors.toMap( + WebAdminPlugin.RestCallForm::getId, + f -> Collections.singletonMap("fields", f.getFields()) + )); + } + + private void addRestCallCommands(Map metrics) { + log.debug("addRestCallCommands: rest-call-commands: {}", restCallCommands); + log.debug("addRestCallCommands: rest-call-forms: {}", restCallForms); + if (restCallCommands!=null && restCallForms!=null) { + metrics.put(".rest-call-commands", restCallCommands); + metrics.put(".rest-call-forms", restCallForms); + log.debug("addRestCallCommands: Added rest-call commands and forms"); + } + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/SystemInfoProvider.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/SystemInfoProvider.java new file mode 100644 index 0000000..6e824c1 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/info/SystemInfoProvider.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.info; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.lang.management.*; +import java.util.LinkedHashMap; +import java.util.Map; + +@Slf4j +@Service +@RequiredArgsConstructor +public class SystemInfoProvider implements IEmsInfoProvider { + + private final File root = new File("/"); + + @Override + public Map getMetricValues() { + Map sysInfo = new LinkedHashMap<>(); + sysInfo.put("jvm-memory-total", Runtime.getRuntime().totalMemory()); + sysInfo.put("jvm-memory-max", Runtime.getRuntime().freeMemory()); + sysInfo.put("jvm-memory-free", Runtime.getRuntime().maxMemory()); + + MemoryMXBean memBean = ManagementFactory.getMemoryMXBean() ; + String heapInfo = memBean.getHeapMemoryUsage().toString(); + String nonHeapInfo = memBean.getNonHeapMemoryUsage().toString(); + sysInfo.put("jvm-memory-heap", heapInfo); + sysInfo.put("jvm-memory-non-heap", nonHeapInfo); + + ThreadMXBean threadBean = ManagementFactory.getThreadMXBean(); + sysInfo.put("jvm-thread-count", threadBean.getThreadCount()); + sysInfo.put("jvm-thread-daemon-count", threadBean.getDaemonThreadCount()); + sysInfo.put("jvm-thread-peak-count", threadBean.getPeakThreadCount()); + sysInfo.put("jvm-thread-total-started-count", threadBean.getTotalStartedThreadCount()); + + RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean(); + long uptime = runtimeBean.getUptime() / 1000; + String vmInfo = String.format("%s, ver.%s, by %s", runtimeBean.getVmName(), runtimeBean.getVmVersion(), runtimeBean.getVmVendor()); + sysInfo.put("jvm-info", vmInfo); + sysInfo.put("jvm-uptime", uptime); + + OperatingSystemMXBean osBean = ManagementFactory.getOperatingSystemMXBean(); + String osInfo = String.format("OS %s, %s, v.%s, processors: %d, avg. load: %.02f", osBean.getName(), osBean.getArch(), osBean.getVersion(), + osBean.getAvailableProcessors(), osBean.getSystemLoadAverage()); + sysInfo.put("os-info", osInfo); + + sysInfo.put("os-disk-total", root.getTotalSpace()); + sysInfo.put("os-disk-free", root.getFreeSpace()); + sysInfo.put("os-disk-usable", root.getUsableSpace()); + + return sysInfo; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/BeaconPlugin.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/BeaconPlugin.java new file mode 100644 index 0000000..0120221 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/BeaconPlugin.java @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.plugin; + +import gr.iccs.imu.ems.control.util.TopicBeacon; +import gr.iccs.imu.ems.util.Plugin; + +/** + * TopicBeacon plugin + */ +public interface BeaconPlugin extends Plugin { + void transmit(TopicBeacon.BeaconContext context); +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/EmsInfoPlugin.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/EmsInfoPlugin.java new file mode 100644 index 0000000..100581f --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/EmsInfoPlugin.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.plugin; + +import gr.iccs.imu.ems.util.Plugin; + +import java.util.Map; + +/** + * Executed every time EMS info are collected + */ +public interface EmsInfoPlugin extends Plugin { + void updateInfo(Map metrics); + void clearInfo(); +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/PostTranslationPlugin.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/PostTranslationPlugin.java new file mode 100644 index 0000000..5a3279a --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/PostTranslationPlugin.java @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.plugin; + +import gr.iccs.imu.ems.control.util.TopicBeacon; +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.util.Plugin; + +/** + * Executed right after application model translation, to enrich TranslationContext with additional information, + * but before TranslationContext is stored in a TC JSON file. + * When TranslationContext is loaded from TC file PostTranslationPlugin plugins are NOT executed. If this is desired + * use TranslationContextPlugin plugins instead. + */ +public interface PostTranslationPlugin extends Plugin { + void processTranslationResults(TranslationContext translationContext, TopicBeacon topicBeacon); +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/TranslationContextPlugin.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/TranslationContextPlugin.java new file mode 100644 index 0000000..de4145c --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/TranslationContextPlugin.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.plugin; + +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.util.Plugin; + +/** + * Executed after application model translation and TranslationContext store in TC JSON file, + * or after TranslationContext loading from a TC JSON file. + * NOTE: + * Changes made by these plugins are NOT stored in TC JSON file + */ +public interface TranslationContextPlugin extends Plugin { + void processTranslationContext(TranslationContext translationContext); +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/WebAdminPlugin.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/WebAdminPlugin.java new file mode 100644 index 0000000..d139b9a --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/WebAdminPlugin.java @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.plugin; + +import gr.iccs.imu.ems.util.Plugin; +import lombok.*; + +import java.util.List; + +/** + * WebAdmin plugin + */ +public interface WebAdminPlugin extends Plugin { + RestCallCommandGroup restCallCommands(); + + @Getter + @Builder + @AllArgsConstructor + class RestCallCommandGroup { + @NonNull + private String id; + @NonNull + private String text; + private int priority; + private boolean disabled; + @Singular + private List commands; + } + + @Getter + @Builder + @AllArgsConstructor + class RestCallCommand { + @NonNull + private String id; + @NonNull + private String text; + @NonNull + private String url; + @Builder.Default + private String method = "GET"; + private String formId; + private RestCallForm form; + private int priority; + private boolean disabled; + } + + @Getter + @Builder + @AllArgsConstructor + class RestCallForm { + @NonNull + private String id; + @Singular + private List fields; + } + + @Getter + @Builder + @AllArgsConstructor + class RestCallFormField { + @NonNull + private String name; + @NonNull + private String text; + private String defaultValue; + private boolean function; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopBeaconPlugin.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopBeaconPlugin.java new file mode 100644 index 0000000..e6eaf46 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopBeaconPlugin.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.plugin.noop; + +import gr.iccs.imu.ems.control.plugin.BeaconPlugin; +import gr.iccs.imu.ems.control.util.TopicBeacon; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class NoopBeaconPlugin implements BeaconPlugin { + public void transmit(TopicBeacon.BeaconContext context) { + log.trace("NoopBeaconPlugin.transmit(): Invoked"); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopPostTranslationPlugin.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopPostTranslationPlugin.java new file mode 100644 index 0000000..06a2d51 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopPostTranslationPlugin.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.plugin.noop; + +import gr.iccs.imu.ems.control.plugin.PostTranslationPlugin; +import gr.iccs.imu.ems.control.util.TopicBeacon; +import gr.iccs.imu.ems.translate.TranslationContext; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; + +@Slf4j +@Service +public class NoopPostTranslationPlugin implements PostTranslationPlugin { + @PostConstruct + public void created() { + log.debug("NoopPostTranslationPlugin: CREATED"); + } + + @Override + public void processTranslationResults(TranslationContext translationContext, TopicBeacon topicBeacon) { + log.debug("NoopPostTranslationPlugin.processTranslationResults(): INVOKED"); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopTranslationContextPlugin.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopTranslationContextPlugin.java new file mode 100644 index 0000000..d2b9dc8 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/plugin/noop/NoopTranslationContextPlugin.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.plugin.noop; + +import gr.iccs.imu.ems.control.plugin.TranslationContextPlugin; +import gr.iccs.imu.ems.translate.TranslationContext; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; + +@Slf4j +@Service +public class NoopTranslationContextPlugin implements TranslationContextPlugin { + @PostConstruct + public void created() { + log.debug("NoopTranslationContextPlugin: CREATED"); + } + + @Override + public void processTranslationContext(TranslationContext translationContext) { + log.debug("NoopTranslationContextPlugin.processTranslationContext(): INVOKED"); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/ControlServiceProperties.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/ControlServiceProperties.java new file mode 100644 index 0000000..8e24758 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/ControlServiceProperties.java @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.properties; + +import gr.iccs.imu.ems.util.KeystoreAndCertificateProperties; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; +import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.PropertySource; +import org.springframework.validation.annotation.Validated; + +import javax.validation.constraints.Min; + +import static gr.iccs.imu.ems.util.EmsConstant.EMS_PROPERTIES_PREFIX; + +@Slf4j +@Data +@Validated +@Configuration +@ConfigurationProperties(prefix = EMS_PROPERTIES_PREFIX + "control") +/*@PropertySource(value = { + "file:${EMS_CONFIG_DIR}/ems-server.yml", + "file:${EMS_CONFIG_DIR}/ems-server.properties", + "file:${EMS_CONFIG_DIR}/ems.yml", + "file:${EMS_CONFIG_DIR}/ems.properties" +}, ignoreResourceNotFound = true)*/ +public class ControlServiceProperties { + public enum IpSetting { + DEFAULT_IP, + PUBLIC_IP + } + + public enum ExecutionWare { + CLOUDIATOR, PROACTIVE + } + + private boolean printBuildInfo; + + private IpSetting ipSetting = IpSetting.PUBLIC_IP; + private ExecutionWare executionware = ExecutionWare.PROACTIVE; + + private String upperwareGrouping; + private String metasolverConfigurationUrl; + private String esbUrl; + + private Preload preload = new Preload(); + + private boolean skipTranslation; + private boolean skipMvvRetrieve; + private boolean skipBrokerCep; + private boolean skipBaguette; + private boolean skipCollectors; + private boolean skipMetasolver; + private boolean skipEsbNotification; + + private String tcLoadFile; + private String tcSaveFile; + + private boolean exitAllowed; + @Min(1) + private long exitGracePeriod = 10; + private int exitCode = 0; + + // control.ssl.** settings + @NestedConfigurationProperty + private KeystoreAndCertificateProperties ssl; + + @Data + public static class Preload { + private String camelModel; + private String cpModel; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/InfoServiceProperties.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/InfoServiceProperties.java new file mode 100644 index 0000000..e2d1c43 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/InfoServiceProperties.java @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.properties; + +import gr.iccs.imu.ems.control.util.EventBusCache; +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.validation.annotation.Validated; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.nio.file.Path; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Data +@Validated +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "info") +public class InfoServiceProperties implements InitializingBean { + @Min(1) + private long metricsUpdateInterval = 1000; + @Min(1) + private long metricsClientUpdateInterval = 500; //XXX:TODO: Not really needed since clients PUSH their statistics to server + @Min(1) + private int metricsStreamUpdateInterval = 10; // in seconds + @NotBlank + private String metricsStreamEventName = "ems-metrics-event"; + private List envVarPrefixes = Arrays.asList("WEBSSH_SERVICE_-^", "WEB_ADMIN_!^"); + // ! at the end means to trim off the prefix; - at the end means to convert '_' to '-'; + // ^ at the end means convert to upper case; ~ at the end means convert to lower case; + + private FileExplorerProperties files = new FileExplorerProperties(); + + private List logViewerFiles = Collections.emptyList(); + + private boolean eventBusCacheEnabled = true; + private int eventBusCacheSize = EventBusCache.DEFAULT_EVENT_BUS_CACHE_SIZE; + + @Override + public void afterPropertiesSet() { + log.debug("InfoServiceProperties: {}", this); + } + + @Data + public static class FileExplorerProperties { + private boolean enabled = true; + private List roots = Collections.emptyList(); + private List extensionsBlocked = Collections.emptyList(); + private boolean listBlocked = true; + private boolean listHidden = true; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/StaticResourceProperties.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/StaticResourceProperties.java new file mode 100644 index 0000000..1cea590 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/StaticResourceProperties.java @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.properties; + +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.validation.annotation.Validated; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Data +@Validated +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "web.static") +public class StaticResourceProperties implements InitializingBean { + @Override + public void afterPropertiesSet() { + log.debug("StaticResourceProperties: {}", this); + } + + /*private String faviconContext = "/favicon.ico"; + private String faviconPath;*/ + + private String resourceContext = "/resources/**"; + private List resourcePath; + + private String logsContext = "/logs/**"; + private List logsPath; + + private String redirect; + private Map redirects = new LinkedHashMap<>(); +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/TopicBeaconProperties.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/TopicBeaconProperties.java new file mode 100644 index 0000000..c79b4d1 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/TopicBeaconProperties.java @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.properties; + +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.validation.annotation.Validated; + +import javax.validation.constraints.Min; +import java.util.HashSet; +import java.util.Set; + +@Slf4j +@Data +@Validated +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "beacon") +public class TopicBeaconProperties implements InitializingBean { + private boolean enabled = true; + @Min(0) private long initialDelay = 60000; + @Min(1) private long delay = 60000; + @Min(1) private long rate = 60000; + private boolean useDelay = true; + + private Set heartbeatTopics = new HashSet<>(); + private Set thresholdTopics = new HashSet<>(); + private Set instanceTopics = new HashSet<>(); + private Set predictionTopics = new HashSet<>(); + @Min(1) private long predictionRate = 60000; + @Min(1) private long predictionMinAllowedRate = 1; + @Min(1) private long predictionMaxAllowedRate = 365*24*3600*1000L; + private Set sloViolationDetectorTopics = new HashSet<>(); + + @Override + public void afterPropertiesSet() { + log.debug("TopicBeaconProperties: {}", this); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/WebSecurityProperties.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/WebSecurityProperties.java new file mode 100644 index 0000000..a4b597d --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/properties/WebSecurityProperties.java @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.properties; + +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.validation.annotation.Validated; + +import javax.validation.Valid; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +@Slf4j +@Data +@Validated +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "web.security") +public class WebSecurityProperties implements InitializingBean { + + @Override + public void afterPropertiesSet() throws Exception { + log.debug("WebSecurityProperties: {}", this); + } + + // JWT Token authentication + @Valid + @NotNull + private JwtAuthentication jwtAuthentication = new JwtAuthentication(); + + @Data + public static class JwtAuthentication { + private boolean enabled = true; + private String requestParameter; + private boolean printSampleToken; + } + + // API-Key authentication + @Valid + @NotNull + private ApiKeyAuthentication apiKeyAuthentication = new ApiKeyAuthentication(); + + @Data + public static class ApiKeyAuthentication { + private boolean enabled = true; + private String requestHeader = "EMS-API-KEY"; + private String requestParameter = "ems-api-key"; + private String value; + } + + // OTP authentication + @Valid + @NotNull + private OtpAuthentication otpAuthentication = new OtpAuthentication(); + + @Data + public static class OtpAuthentication { + private boolean enabled = true; + @Min(1) + private long duration = 3600000; + private String requestHeader = "EMS-OTP"; + private String requestParameter = "ems-otp"; + } + + // User form authentication + @Valid + @NotNull + private FormAuthentication formAuthentication = new FormAuthentication(); + + @Data + public static class FormAuthentication { + private boolean enabled = true; + private String username = "admin"; + private String password; + + private String loginPage = "/admin/login.html"; + private String loginUrl = "/login"; + private String loginSuccessUrl = "/"; + private String loginFailureUrl = "/admin/login.html?error=Invalid+username+or+password"; + private String logoutUrl = "/logout"; + private String logoutSuccessUrl = "/admin/login.html?message=Signed+out"; + } + + // Permitted URLs + private List permittedUrls = Arrays.asList( + "/login*", "/logout*", "/favicon.ico", "/admin/login.html", "/admin/favicon.ico", "/admin/assets/**", "/resources/*"); +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/EventBusCache.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/EventBusCache.java new file mode 100644 index 0000000..576f010 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/EventBusCache.java @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.util; + +import gr.iccs.imu.ems.control.controller.ControlServiceCoordinator; +import gr.iccs.imu.ems.control.properties.InfoServiceProperties; +import gr.iccs.imu.ems.util.EventBus; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class EventBusCache implements InitializingBean, EventBus.EventConsumer { + public final static int DEFAULT_EVENT_BUS_CACHE_SIZE = 100; + public final static List DEFAULT_TOPICS = Arrays.asList( + ControlServiceCoordinator.COORDINATOR_STATUS_TOPIC + ); + + private final EventBus eventBus; + private final InfoServiceProperties properties; + private final AtomicLong cacheCounter = new AtomicLong(0); + private ArrayBlockingQueue messageCache; + private boolean enabled; + + @Override + public void afterPropertiesSet() throws Exception { + enabled = properties.isEventBusCacheEnabled() && properties.getEventBusCacheSize()!=0; + if (!enabled) return; + + int s = properties.getEventBusCacheSize(); + if (s<0) s = DEFAULT_EVENT_BUS_CACHE_SIZE; + messageCache = new ArrayBlockingQueue<>(s); + + DEFAULT_TOPICS.forEach(topic -> eventBus.subscribe(topic, this)); + } + + public List asList() { + return enabled ? new ArrayList<>(messageCache) : Collections.emptyList(); + } + + public synchronized void clearCache() { + clearCache(false); + } + + public synchronized void clearCache(boolean resetCounter) { + if (!enabled) return; + messageCache.clear(); + cacheCounter.set(0); + } + + public void cacheEvent(String topic, Map message, Object sender) { + if (!enabled) return; + EventBusCache.CacheEntry entry; + synchronized (cacheCounter) { + try { + while (messageCache.remainingCapacity() == 0) + messageCache.poll(); + entry = new EventBusCache.CacheEntry( + topic, message, Map.of("sender", sender), + cacheCounter.getAndIncrement(), + System.currentTimeMillis()); + if (!messageCache.offer(entry)) { + log.warn("EventBusCache.cacheEvent: Failed to cache event. Cache is full: size={}", messageCache.size()); + } + } catch (Throwable e) { + log.warn("EventBusCache.cacheEvent: Exception while caching event: ", e); + } + } + } + + @Override + public void onMessage(String topic, Object message, Object sender) { + if (message instanceof Map m) { + Map map = m.entrySet().stream() + .filter(e -> e.getKey() instanceof String) + .collect(Collectors.toMap( + e -> ((String) e.getKey()), Map.Entry::getValue + )); + cacheEvent(topic, map, sender!=null ? sender.getClass().getSimpleName() : null); + } + } + + @RequiredArgsConstructor + public static class CacheEntry { + public final String destination; + public final Map payload; + public final Map properties; + public final long counter; + public final long timestamp; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/TopicBeacon.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/TopicBeacon.java new file mode 100644 index 0000000..5337658 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/TopicBeacon.java @@ -0,0 +1,233 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.util; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import gr.iccs.imu.ems.baguette.server.NodeRegistryEntry; +import gr.iccs.imu.ems.brokercep.BrokerCepService; +import gr.iccs.imu.ems.brokercep.event.EventMap; +import gr.iccs.imu.ems.control.controller.ControlServiceCoordinator; +import gr.iccs.imu.ems.control.plugin.BeaconPlugin; +import gr.iccs.imu.ems.control.properties.TopicBeaconProperties; +import gr.iccs.imu.ems.translate.TranslationContext; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.scheduling.TaskScheduler; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.stereotype.Service; + +import javax.jms.JMSException; +import java.io.Serializable; +import java.time.Duration; +import java.util.*; +import java.util.concurrent.atomic.AtomicLong; + +@Slf4j +@Service +@EnableScheduling +@RequiredArgsConstructor +public class TopicBeacon implements InitializingBean { + @Getter + private final TopicBeaconProperties properties; + + private final ControlServiceCoordinator coordinator; + private final BrokerCepService brokerCepService; + private final TaskScheduler scheduler; + private final BeaconContext beaconContext = new BeaconContext(this); + private final List beaconPlugins; + + private Gson gson; + private String previousModelId = ""; + private final AtomicLong modelVersion = new AtomicLong(0); + + @Override + public void afterPropertiesSet() throws Exception { + if (!properties.isEnabled()) { + log.warn("Topic Beacon is disabled"); + return; + } + + // initialize a Gson instance + gson = new GsonBuilder().disableHtmlEscaping().create(); + + // configure and start scheduler + Date startTime = new Date(System.currentTimeMillis() + properties.getInitialDelay()); + log.debug("Topic Beacon settings: init-delay={}, delay={}, heartbeat-topics={}, threshold-topics={}, instance-topics={}", + properties.getInitialDelay(), properties.getDelay(), properties.getHeartbeatTopics(), properties.getThresholdTopics(), + properties.getInstanceTopics()); + + Runnable transmitInfoTask = () -> { + try { + transmitInfo(); + } catch (Exception e) { + log.error("Topic Beacon: Exception while sending info: ", e); + } + }; + if (properties.isUseDelay()) { + scheduler.scheduleWithFixedDelay(transmitInfoTask, startTime.toInstant(), Duration.ofMillis(properties.getDelay())); + log.info("Topic Beacon started: init-delay={}ms, delay={}ms", properties.getInitialDelay(), properties.getDelay()); + } else { + scheduler.scheduleAtFixedRate(transmitInfoTask, startTime.toInstant(), Duration.ofMillis(properties.getRate())); + log.info("Topic Beacon started: init-delay={}ms, rate={}ms", properties.getInitialDelay(), properties.getRate()); + } + } + + private Set emptyIfNull(Set s) { + if (s==null) return Collections.emptySet(); + return s; + } + + public long getModelVersion() { + return modelVersion.get(); + } + + public String toJson(Object o) { + return gson.toJson(o); + } + + public void transmitInfo() throws JMSException { + log.debug("Topic Beacon: Start transmitting info: {}", new Date()); + updateModelVersion(); + + // Call standard transmit methods + transmitHeartbeat(); + transmitThresholdInfo(); + transmitInstanceInfo(); + + // Call Beacon plugins + beaconPlugins.stream().filter(Objects::nonNull).forEach(plugin -> { + try { + log.debug("Topic Beacon: Calling Beacon plugin: {}", plugin.getClass().getName()); + plugin.transmit(beaconContext); + } catch (Throwable t) { + log.error("Topic Beacon: EXCEPTION in Beacon plugin: {}\n", plugin.getClass().getName(), t); + } + }); + + log.debug("Topic Beacon: Completed transmitting info: {}", new Date()); + } + + public void transmitHeartbeat() throws JMSException { + if (emptyIfNull(properties.getHeartbeatTopics()).isEmpty()) return; + + String message = "TOPIC BEACON HEARTBEAT "+new Date(); + log.debug("Topic Beacon: Transmitting Heartbeat info: message={}, topics={}", message, properties.getHeartbeatTopics()); + sendMessageToTopics(message, properties.getHeartbeatTopics()); + } + + public void transmitThresholdInfo() { + if (emptyIfNull(properties.getThresholdTopics()).isEmpty()) return; + + if (coordinator.getTranslationContextOfAppModel(coordinator.getCurrentAppModelId())==null) + return; + coordinator.getTranslationContextOfAppModel(coordinator.getCurrentAppModelId()) + .getMetricConstraints() + .forEach(c -> { + String message = gson.toJson(c); + log.debug("Topic Beacon: Transmitting Metric Constraint threshold info: message={}, topics={}",message, properties.getThresholdTopics()); + try { + sendEventToTopics(message, properties.getThresholdTopics()); + } catch (JMSException e) { + log.error("Topic Beacon: EXCEPTION while transmitting Metric Constraint threshold info: message={}, topics={}, exception: ", + message, properties.getThresholdTopics(), e); + } + }); + } + + public void transmitInstanceInfo() throws JMSException { + if (emptyIfNull(properties.getInstanceTopics()).isEmpty()) return; + + if (coordinator.getBaguetteServer().isServerRunning()) { + log.debug("Topic Beacon: Transmitting Instance info: topics={}", properties.getInstanceTopics()); + for (NodeRegistryEntry node : coordinator.getBaguetteServer().getNodeRegistry().getNodes()) { + String nodeName = node.getPreregistration().getOrDefault("name", ""); + String nodeIp = node.getIpAddress(); + //String nodeIp = node.getPreregistration().getOrDefault("ip",""); + String message = gson.toJson(node); + log.debug("Topic Beacon: Transmitting Instance info for: instance={}, ip-address={}, message={}, topics={}", + nodeName, nodeIp, message, properties.getInstanceTopics()); + sendEventToTopics(message, properties.getInstanceTopics()); + } + } + } + + // ------------------------------------------------------------------------ + + private void sendEventToTopics(String message, Set topics) throws JMSException { + EventMap event = new EventMap(-1); + event.put("message", message); + sendMessageToTopics(event, topics); + } + + private void sendMessageToTopics(Serializable event, Set topics) throws JMSException { + for (String topicName : topics) { + log.trace("Topic Beacon: Sending event to topic: event={}, topic={}", event, topicName); + brokerCepService.publishSerializable( + brokerCepService.getBrokerCepProperties().getBrokerUrlForClients(), + brokerCepService.getBrokerUsername(), + brokerCepService.getBrokerPassword(), + topicName, + event, + false); + log.debug("Topic Beacon: Event sent to topic: event={}, topic={}", event, topicName); + } + } + + private synchronized boolean updateModelVersion() { + String modelId = coordinator.getCurrentAppModelId(); + boolean versionChanged = ! StringUtils.defaultIfBlank(modelId, "").equals(previousModelId); + log.trace("Topic Beacon: updateModelVersion: previousModelId='{}', modelId='{}', version={}, version-changed={}", + previousModelId, modelId, modelVersion.get(), versionChanged); + if (versionChanged) { + long newVersion = modelVersion.incrementAndGet(); + log.info("Topic Beacon: updateModelVersion: Model changed: {} -> {}, version: {}", previousModelId, modelId, newVersion); + previousModelId = modelId; + } + return versionChanged; + } + + @RequiredArgsConstructor + public static class BeaconContext { + @Getter + private final TopicBeacon topicBeacon; + + public TopicBeaconProperties getProperties() { + return topicBeacon.properties; + } + + public String getCurrentAppModelId() { + return topicBeacon.coordinator.getCurrentAppModelId(); + } + + public TranslationContext getTranslationContextOfAppModel(String modelId) { + return topicBeacon.coordinator.getTranslationContextOfAppModel(modelId); + } + + public long getModelVersion() { + return topicBeacon.modelVersion.get(); + } + + public String toJson(Object payload) { + return topicBeacon.toJson(payload); + } + + public void sendEventToTopics(String event, Set topics) throws JMSException { + topicBeacon.sendEventToTopics(event, topics); + } + + public void sendMessageToTopics(Serializable event, Set topics) throws JMSException { + topicBeacon.sendMessageToTopics(event, topics); + } + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/TranslationContextMonitorGsonDeserializer.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/TranslationContextMonitorGsonDeserializer.java new file mode 100644 index 0000000..aeb7b5a --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/TranslationContextMonitorGsonDeserializer.java @@ -0,0 +1,174 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.util; + +import com.google.gson.*; +import gr.iccs.imu.ems.translate.model.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +public class TranslationContextMonitorGsonDeserializer implements JsonDeserializer { + @Override + public Monitor deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { + log.debug("TranslationContextMonitorGsonDeserializer: INPUT: jsonElement={}, type={}, context={}", jsonElement, type, jsonDeserializationContext); + + JsonObject jsonObject = (JsonObject) jsonElement; + Monitor monitor = new Monitor(); + + String metricName = jsonObject.getAsJsonPrimitive("metric").getAsString(); + monitor.setMetric(metricName); + + String _componentName = null; + if (jsonObject.has("component")) { + JsonPrimitive compNameElem = jsonObject.getAsJsonPrimitive("component"); + _componentName = compNameElem!=null ? compNameElem.getAsString() : null; + monitor.setComponent(_componentName); + } + final String componentName = _componentName; + + // Find and initialize sensor + JsonObject jsonSensorObject = jsonObject.getAsJsonObject("sensor"); + if (jsonSensorObject.has("anyType") && jsonSensorObject.get("anyType").isJsonObject()) { + jsonSensorObject = jsonSensorObject.getAsJsonObject("anyType"); + } + + boolean isPull = jsonSensorObject.has("className") + || jsonSensorObject.has("configuration") + || jsonSensorObject.has("interval"); + boolean isPush = jsonSensorObject.has("port"); + if (isPull && isPush) + throw new JsonParseException("Monitor.Sensor contains fields of both PullSensor and PushSensor class: " + + "metric=" + metricName + ", component=" + componentName); + if (!isPull && !isPush) + throw new JsonParseException("Monitor.Sensor contain no fields of either PullSensor or PushSensor class: " + + "metric=" + metricName + ", component=" + componentName); + + Sensor sensor; + if (isPull) { + PullSensor pullSensor = new PullSensor(); + if (jsonSensorObject.has("className") && !jsonSensorObject.get("className").isJsonNull()) { + JsonPrimitive classNameElem = jsonSensorObject.getAsJsonPrimitive("className"); + String className = classNameElem!=null ? classNameElem.getAsString() : null; + pullSensor.setClassName(className); + } + + pullSensor.setConfiguration( getConfiguration(jsonSensorObject, metricName, componentName, "PullSensor") ); + + pullSensor.setInterval( getInterval(jsonSensorObject, metricName, componentName, "PullSensor") ); + + sensor = pullSensor; + } else if (isPush) { + PushSensor pushSensor = new PushSensor(); + int port = jsonSensorObject.getAsJsonPrimitive("port").getAsInt(); + pushSensor.setPort(port); + sensor = pushSensor; + } else { + throw new JsonParseException("Monitor.Sensor is neither Pull or Push: " + + "jsonSensorObject=" + jsonSensorObject); + } + monitor.setSensor(sensor); + + // Get sinks + if (jsonObject.has("sinks")) { + if (!jsonObject.get("sinks").isJsonNull()) { + if (!jsonObject.get("sinks").isJsonArray()) + throw new JsonParseException("Monitor.sinks must be an array or null: " + + "metric=" + metricName + ", component=" + componentName); + + List sinks = new ArrayList<>(); + JsonArray jsonSinkArray = jsonObject.getAsJsonArray("sinks"); + jsonSinkArray.forEach(elem -> { + if (!elem.isJsonNull()) { + JsonObject jsonSinkElem = elem.getAsJsonObject(); + Sink sink = new Sink(); + sink.setType(Sink.Type.valueOf(jsonSinkElem.getAsJsonPrimitive("type").getAsString())); + sink.setConfiguration(getConfiguration(jsonSinkElem, metricName, componentName, "PullSensor.sinks[]")); + sinks.add(sink); + } + }); + + monitor.setSinks(sinks); + } + } + + log.debug("TranslationContextMonitorGsonDeserializer: OUTPUT: monitor={}", monitor); + return monitor; + } + + public Map getConfiguration(JsonObject jsonObject, String metricName, String componentName, String field) { + if (!jsonObject.has("configuration")) return null; + if (jsonObject.get("configuration").isJsonNull()) return null; + if (!jsonObject.get("configuration").isJsonObject()) + throw new JsonParseException("Monitor."+field+".configuration must be a map or null: " + + "metric=" + metricName + ", component=" + componentName); + + Map configPairs = new LinkedHashMap<>(); + JsonObject jsonConfigMap = jsonObject.getAsJsonObject("configuration"); + jsonConfigMap.entrySet().forEach(entry -> { + String key = entry.getKey(); + String val = null; + JsonElement jsonElem = entry.getValue(); + + if (StringUtils.isBlank(key)) + throw new JsonParseException("Monitor."+field+".configuration contains a blank key: " + + "metric=" + metricName + ", component=" + componentName); + + if (jsonElem.isJsonNull()) + val = null; + else if (jsonElem.isJsonPrimitive()) + val = jsonElem.getAsString(); + else + throw new JsonParseException("Monitor."+field+".configuration entry contains a non-string value: " + + "metric=" + metricName + ", component=" + componentName + ", configuration[].key=" + key); + + configPairs.put(key, val); + }); + + return configPairs; + } + + public Interval getInterval(JsonObject jsonObject, String metricName, String componentName, String field) { + if (!jsonObject.has("interval")) return null; + if (jsonObject.get("interval").isJsonNull()) return null; + if (!jsonObject.get("interval").isJsonObject()) + throw new JsonParseException("Monitor.Sensor."+field+".interval must be an object or null: " + + "metric=" + metricName + ", component=" + componentName); + + JsonObject jsonIntervalObject = jsonObject.getAsJsonObject("interval"); + JsonElement unitElem = jsonIntervalObject.get("unit"); + JsonElement periodElem = jsonIntervalObject.get("period"); + + if (unitElem.isJsonNull()) + throw new JsonParseException("Monitor."+field+".interval.unit cannot be null: " + + "metric=" + metricName + ", component=" + componentName); + if (!unitElem.isJsonPrimitive()) + throw new JsonParseException("Monitor."+field+".interval.unit must be a member of Interval.UnitType enum: " + + "metric=" + metricName + ", component=" + componentName); + + if (periodElem.isJsonNull()) + throw new JsonParseException("Monitor."+field+".interval.period cannot be null: " + + "metric=" + metricName + ", component=" + componentName); + if (!periodElem.isJsonPrimitive()) + throw new JsonParseException("Monitor."+field+".interval.period must be an integer: " + + "metric=" + metricName + ", component=" + componentName); + + Interval interval = new Interval(); + interval.setUnit(Interval.UnitType.valueOf(unitElem.getAsString())); + interval.setPeriod(periodElem.getAsInt()); + return interval; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/WebClientUtil.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/WebClientUtil.java new file mode 100644 index 0000000..0d3d44a --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/WebClientUtil.java @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.util; + +import gr.iccs.imu.ems.util.KeystoreAndCertificateProperties; +import gr.iccs.imu.ems.util.KeystoreUtil; +import io.netty.handler.ssl.SslContextBuilder; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.client.reactive.ReactorClientHttpConnector; +import org.springframework.web.reactive.function.client.WebClient; +import reactor.netty.http.client.HttpClient; + +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.TrustManagerFactory; +import java.io.IOException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.UnrecoverableKeyException; +import java.security.cert.CertificateException; + +@Slf4j +public class WebClientUtil { + public WebClient createInstance(KeystoreAndCertificateProperties sslProperties) throws IOException, CertificateException, KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException { + // Load keystore and truststore + KeyStore keyStore = KeystoreUtil.readKeystore( + sslProperties.getKeystoreFile(), + sslProperties.getKeystoreType(), + sslProperties.getKeystorePassword()); + KeyStore trustStore = KeystoreUtil.readKeystore( + sslProperties.getTruststoreFile(), + sslProperties.getTruststoreType(), + sslProperties.getTruststorePassword()); + + // Create and initialize keystore and truststore managers + KeyManagerFactory keyManagerFactory = + KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); + keyManagerFactory.init(keyStore, sslProperties.getKeystorePassword().toCharArray()); + + TrustManagerFactory trustManagerFactory = + TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + trustManagerFactory.init(trustStore); + + // Create an SSL context and an HTTP client + io.netty.handler.ssl.SslContext sslContext = SslContextBuilder.forClient() + .keyManager(keyManagerFactory) + .trustManager(trustManagerFactory) + //.trustManager(InsecureTrustManagerFactory.INSTANCE) + .build(); + HttpClient httpClient = HttpClient.create() + .secure(sslSpec -> sslSpec.sslContext(sslContext)); + + // Create and return a WebClient (WebFlux) instance + return WebClient.builder() + .clientConnector(new ReactorClientHttpConnector(httpClient)) + .build(); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenProperties.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenProperties.java new file mode 100644 index 0000000..ba95937 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenProperties.java @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.util.jwt; + +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.validation.annotation.Validated; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.time.Duration; + +@Slf4j +@Data +@Validated +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "jwt") +public class JwtTokenProperties implements InitializingBean { + @Override + public void afterPropertiesSet() throws Exception { + log.debug("JwtTokenProperties: {}", this); + } + + @NotBlank + @ToString.Exclude + private String secret; + @NotNull + private Long expirationTime = Duration.ofDays(1).toMillis(); + @NotNull + private Long refreshTokenExpirationTime = Duration.ofDays(1).toMillis(); +} \ No newline at end of file diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenService.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenService.java new file mode 100644 index 0000000..1b876e3 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenService.java @@ -0,0 +1,103 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.util.jwt; + +import gr.iccs.imu.ems.util.PasswordUtil; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Header; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; +import io.jsonwebtoken.security.Keys; +import lombok.AllArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.security.Key; +import java.util.*; + +@Slf4j +@Service +@AllArgsConstructor +public class JwtTokenService { + + public static final String TOKEN_PREFIX = "Bearer "; + public static final String HEADER_STRING = "Authorization"; + public static final String REFRESH_HEADER_STRING = "Refresh"; + public static final String AUDIENCE_UPPERWARE = "UPPERWARE"; + public static final String AUDIENCE_JWT = "JWT_SERVER"; + + private JwtTokenProperties jwtTokenProperties; + private PasswordUtil passwordUtil; + + // ------------------------------------------------------------------------ + // Key-related methods + // ------------------------------------------------------------------------ + + public Key createKey() { + Key key = Keys.secretKeyFor(SignatureAlgorithm.HS256); + log.debug("JwtTokenService.createKey(): algorithm={}, format={}, key-size={}, base64-encoded-key={}", + key.getAlgorithm(), key.getFormat(), key.getEncoded().length, passwordUtil.encodePassword(keyToString(key))); + return key; + } + + @SneakyThrows + protected Key getKeyFromProperties() { + if (StringUtils.isBlank(jwtTokenProperties.getSecret())) + throw new InvalidPropertiesFormatException("JWT token secret key is blank. Check 'jwt.secret' property."); + Key key = Keys.hmacShaKeyFor(Base64.getDecoder().decode(jwtTokenProperties.getSecret())); + log.debug("JwtTokenService.getKeyFromProperties(): algorithm={}, format={}, key-size={}, base64-encoded-key={}", + key.getAlgorithm(), key.getFormat(), key.getEncoded().length, passwordUtil.encodePassword(keyToString(key))); + return key; + } + + protected String keyToString(Key key) { + return Base64.getEncoder().encodeToString(key.getEncoded()); + } + + // ------------------------------------------------------------------------ + // JWT-related methods + // ------------------------------------------------------------------------ + + public Claims parseToken(String token) { + return Jwts.parserBuilder() + .setSigningKey(getKeyFromProperties()) + .build() + .parseClaimsJws(token.replace(TOKEN_PREFIX, "")) + .getBody(); + } + + public String createToken(String userName) { + return createToken(userName, getKeyFromProperties()); + } + + public String createToken(String userName, Key key) { + return Jwts.builder() + .setSubject(userName) + .setAudience(AUDIENCE_UPPERWARE) + .setExpiration(new Date(System.currentTimeMillis() + jwtTokenProperties.getExpirationTime())) + .signWith(key) + .compact(); + } + + public String createRefreshToken(String userName) { + Map header = new HashMap<>(); + header.put(Header.CONTENT_TYPE, REFRESH_HEADER_STRING); + return Jwts.builder() + .setSubject(userName) + .setHeader(header) + .setAudience(AUDIENCE_JWT) + .setId(UUID.randomUUID().toString()) + .setExpiration(new Date(System.currentTimeMillis() + jwtTokenProperties.getRefreshTokenExpirationTime())) + .signWith(getKeyFromProperties()) + .compact(); + } +} \ No newline at end of file diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenUtil.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenUtil.java new file mode 100644 index 0000000..6a1c559 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/jwt/JwtTokenUtil.java @@ -0,0 +1,167 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.util.jwt; + +import io.jsonwebtoken.Claims; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.Banner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.WebApplicationType; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.ComponentScan; + +/** + * Run: + * java -cp .\target\control-service.jar -Dloader.main=jwt.util.gr.iccs.imu.ems.control.JwtTokenUtil -Dlogging.level.ROOT=WARN -Dlogging.level.gr.iccs.imu.ems.util=ERROR org.springframework.boot.loader.PropertiesLauncher createKey + * -or- + * java -cp .\target\control-service.jar -Dloader.main=jwt.util.gr.iccs.imu.ems.control.JwtTokenUtil -Dlogging.level.ROOT=WARN -Dlogging.level.gr.iccs.imu.ems.util=ERROR org.springframework.boot.loader.PropertiesLauncher create [USER]? + * -or- + * java -cp .\target\control-service.jar -Dloader.main=jwt.util.gr.iccs.imu.ems.control.JwtTokenUtil -Dlogging.level.ROOT=WARN -Dlogging.level.gr.iccs.imu.ems.util=ERROR org.springframework.boot.loader.PropertiesLauncher parser [TOKEN] + */ +@Slf4j +@SpringBootApplication +@ComponentScan(basePackages = { "gr.iccs.imu.ems.control.util.jwt", "gr.iccs.imu.ems.util", "com.ulisesbocchio" }) +@RequiredArgsConstructor +public class JwtTokenUtil { + public static void main(String[] args) { + SpringApplication springApplication = new SpringApplication(JwtTokenUtil.class); + springApplication.setBannerMode(Banner.Mode.OFF); + springApplication.setWebApplicationType(WebApplicationType.NONE); + springApplication.setLogStartupInfo(false); + ConfigurableApplicationContext ctx = springApplication.run(args); + + try { + execCommand(ctx.getBean(JwtTokenService.class), args); + } catch (Exception e) { + System.err.printf("%sERROR: %s%s\n", ConsoleColors.RED_BOLD_BRIGHT, getExceptionMessages(e), ConsoleColors.RESET); + exit(1); + } + } + + public static void execCommand(JwtTokenService jwtService, String... args) { + if (args.length>0) { + String token; + if ("createKey".equalsIgnoreCase(args[0].trim())) { + String key = jwtService.keyToString(jwtService.createKey()); + System.out.printf("%sNew secret key:\n%s%s%s\n", ConsoleColors.WHITE_BOLD_BRIGHT, ConsoleColors.YELLOW_BOLD_BRIGHT, key, ConsoleColors.RESET); + } else if ("create".equalsIgnoreCase(args[0].trim())) { + String user = args.length > 1 && !args[1].trim().isEmpty() ? args[1].trim() : "USER"; + token = jwtService.createToken(user); + System.out.printf("%sNew JWT token for user %s%s:\n%s%s%s\n", + ConsoleColors.GREEN_BOLD_BRIGHT, ConsoleColors.WHITE_BOLD_BRIGHT, user, ConsoleColors.CYAN_BOLD_BRIGHT, token, ConsoleColors.RESET); + } else if ("parse".equalsIgnoreCase(args[0].trim())) { + token = args[1]; + try { + Claims claims = jwtService.parseToken(token); + System.out.printf("%sToken claims: %s %s%s\n", ConsoleColors.GREEN_BOLD_BRIGHT, ConsoleColors.CYAN_BOLD_BRIGHT, claims, ConsoleColors.RESET); + } catch (Exception e) { + System.err.printf("%s%s%s\n", ConsoleColors.RED_BOLD_BRIGHT, getExceptionMessages(e), ConsoleColors.RESET); + exit(2); + } + } else { + System.err.printf("%sUnknown command: %s %s %s\n", ConsoleColors.RED_BOLD_BRIGHT, ConsoleColors.RED_BACKGROUND+ConsoleColors.YELLOW_BOLD_BRIGHT, args[0], ConsoleColors.RESET); + exit(3); + } + } else { + System.err.printf("%sNo command specified%s\n", ConsoleColors.RED_BOLD_BRIGHT, ConsoleColors.RESET); + exit(4); + } + } + + private static String getExceptionMessages(Exception e) { + StringBuilder s = new StringBuilder(); + s.append(e.getMessage()); + Throwable t = e.getCause(); + while (t!=null) { s.append(" -> ").append(t.getMessage()); t = t.getCause(); } + return s.toString(); + } + + protected static void exit(int errorCode) { + System.exit(errorCode); + } + + // See: https://stackoverflow.com/questions/5762491/how-to-print-color-in-console-using-system-out-println + public static class ConsoleColors { + // Reset + public static final String RESET = "\033[0m"; // Text Reset + + // Regular Colors + public static final String BLACK = "\033[0;30m"; // BLACK + public static final String RED = "\033[0;31m"; // RED + public static final String GREEN = "\033[0;32m"; // GREEN + public static final String YELLOW = "\033[0;33m"; // YELLOW + public static final String BLUE = "\033[0;34m"; // BLUE + public static final String PURPLE = "\033[0;35m"; // PURPLE + public static final String CYAN = "\033[0;36m"; // CYAN + public static final String WHITE = "\033[0;37m"; // WHITE + + // Bold + public static final String BLACK_BOLD = "\033[1;30m"; // BLACK + public static final String RED_BOLD = "\033[1;31m"; // RED + public static final String GREEN_BOLD = "\033[1;32m"; // GREEN + public static final String YELLOW_BOLD = "\033[1;33m"; // YELLOW + public static final String BLUE_BOLD = "\033[1;34m"; // BLUE + public static final String PURPLE_BOLD = "\033[1;35m"; // PURPLE + public static final String CYAN_BOLD = "\033[1;36m"; // CYAN + public static final String WHITE_BOLD = "\033[1;37m"; // WHITE + + // Underline + public static final String BLACK_UNDERLINED = "\033[4;30m"; // BLACK + public static final String RED_UNDERLINED = "\033[4;31m"; // RED + public static final String GREEN_UNDERLINED = "\033[4;32m"; // GREEN + public static final String YELLOW_UNDERLINED = "\033[4;33m"; // YELLOW + public static final String BLUE_UNDERLINED = "\033[4;34m"; // BLUE + public static final String PURPLE_UNDERLINED = "\033[4;35m"; // PURPLE + public static final String CYAN_UNDERLINED = "\033[4;36m"; // CYAN + public static final String WHITE_UNDERLINED = "\033[4;37m"; // WHITE + + // Background + public static final String BLACK_BACKGROUND = "\033[40m"; // BLACK + public static final String RED_BACKGROUND = "\033[41m"; // RED + public static final String GREEN_BACKGROUND = "\033[42m"; // GREEN + public static final String YELLOW_BACKGROUND = "\033[43m"; // YELLOW + public static final String BLUE_BACKGROUND = "\033[44m"; // BLUE + public static final String PURPLE_BACKGROUND = "\033[45m"; // PURPLE + public static final String CYAN_BACKGROUND = "\033[46m"; // CYAN + public static final String WHITE_BACKGROUND = "\033[47m"; // WHITE + + // High Intensity + public static final String BLACK_BRIGHT = "\033[0;90m"; // BLACK + public static final String RED_BRIGHT = "\033[0;91m"; // RED + public static final String GREEN_BRIGHT = "\033[0;92m"; // GREEN + public static final String YELLOW_BRIGHT = "\033[0;93m"; // YELLOW + public static final String BLUE_BRIGHT = "\033[0;94m"; // BLUE + public static final String PURPLE_BRIGHT = "\033[0;95m"; // PURPLE + public static final String CYAN_BRIGHT = "\033[0;96m"; // CYAN + public static final String WHITE_BRIGHT = "\033[0;97m"; // WHITE + + // Bold High Intensity + public static final String BLACK_BOLD_BRIGHT = "\033[1;90m"; // BLACK + public static final String RED_BOLD_BRIGHT = "\033[1;91m"; // RED + public static final String GREEN_BOLD_BRIGHT = "\033[1;92m"; // GREEN + public static final String YELLOW_BOLD_BRIGHT = "\033[1;93m";// YELLOW + public static final String BLUE_BOLD_BRIGHT = "\033[1;94m"; // BLUE + public static final String PURPLE_BOLD_BRIGHT = "\033[1;95m";// PURPLE + public static final String CYAN_BOLD_BRIGHT = "\033[1;96m"; // CYAN + public static final String WHITE_BOLD_BRIGHT = "\033[1;97m"; // WHITE + + // High Intensity backgrounds + public static final String BLACK_BACKGROUND_BRIGHT = "\033[0;100m";// BLACK + public static final String RED_BACKGROUND_BRIGHT = "\033[0;101m";// RED + public static final String GREEN_BACKGROUND_BRIGHT = "\033[0;102m";// GREEN + public static final String YELLOW_BACKGROUND_BRIGHT = "\033[0;103m";// YELLOW + public static final String BLUE_BACKGROUND_BRIGHT = "\033[0;104m";// BLUE + public static final String PURPLE_BACKGROUND_BRIGHT = "\033[0;105m"; // PURPLE + public static final String CYAN_BACKGROUND_BRIGHT = "\033[0;106m"; // CYAN + public static final String WHITE_BACKGROUND_BRIGHT = "\033[0;107m"; // WHITE + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/mvv/NoopMetricVariableValuesServiceImpl.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/mvv/NoopMetricVariableValuesServiceImpl.java new file mode 100644 index 0000000..2f265a9 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/util/mvv/NoopMetricVariableValuesServiceImpl.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.util.mvv; + +import gr.iccs.imu.ems.translate.TranslationContext; +import gr.iccs.imu.ems.translate.mvv.MetricVariableValuesService; +import lombok.SneakyThrows; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.Map; +import java.util.Set; + +@Service +public class NoopMetricVariableValuesServiceImpl implements MetricVariableValuesService { + public void init() { } + + @SneakyThrows + public Map getMatchingMetricVariableValues(String cpModelPath, TranslationContext _TC) { + return Collections.emptyMap(); + } + + @SneakyThrows + public Map getMetricVariableValues(String cpModelPath, Set variableNames) { + return Collections.emptyMap(); + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/StaticResourceConfiguration.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/StaticResourceConfiguration.java new file mode 100644 index 0000000..7a09073 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/StaticResourceConfiguration.java @@ -0,0 +1,116 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.webconf; + +import gr.iccs.imu.ems.control.properties.StaticResourceProperties; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.filter.CommonsRequestLoggingFilter; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.util.List; +import java.util.Map; + +@Slf4j +@Configuration +@RequiredArgsConstructor +public class StaticResourceConfiguration implements WebMvcConfigurer, InitializingBean { + private final StaticResourceProperties properties; + + public void afterPropertiesSet() { + log.debug("StaticResourceConfiguration: afterPropertiesSet: {}", properties); + } + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + /*String faviconContext = properties.getFaviconContext(); + String faviconPath = properties.getFaviconPath(); + if(StringUtils.isNotBlank(faviconPath)) { + log.debug("Serving favicon.ico from: {} --> {}", faviconContext, faviconPath); + registry + .addResourceHandler(faviconContext) + .addResourceLocations(faviconPath); + }*/ + + String resourceContext = properties.getResourceContext(); + List resourcePath = properties.getResourcePath(); + if (resourcePath != null && resourcePath.size() > 0) { + log.debug("Serving static content from: {} --> {}", resourceContext, resourcePath); + registry + .addResourceHandler(resourceContext) + .addResourceLocations(resourcePath.toArray(new String[0])); + } + + String logsContext = properties.getLogsContext(); + List logsPath = properties.getLogsPath(); + if (logsPath != null && logsPath.size() > 0) { + log.debug("Serving logs from: {} --> {}", logsContext, logsPath); + registry + .addResourceHandler(logsContext) + .addResourceLocations(logsPath.toArray(new String[0])); + } + + WebMvcConfigurer.super.addResourceHandlers(registry); + } + + @Override + public void addViewControllers(ViewControllerRegistry registry) { + // Remains for backward compatibility (of properties file) + String resourceRedirect = properties.getRedirect(); + if (StringUtils.isNotBlank(resourceRedirect)) { + log.debug("Redirecting / to: {}", resourceRedirect); + registry + .addViewController("/") + .setViewName("redirect:" + resourceRedirect); + } + + Map resourceRedirects = properties.getRedirects(); + log.debug("Configured resource redirects: {}", resourceRedirects); + if (resourceRedirects!=null) { + resourceRedirects.forEach((context, redirect) -> { + if (StringUtils.isNotBlank(context) && StringUtils.isNotBlank(redirect)) { + context = context.trim(); + redirect = redirect.trim(); + log.debug("Redirecting {} to: {}", context, redirect); + registry + .addViewController(context) + .setViewName("redirect:" + redirect); + } + }); + } + + WebMvcConfigurer.super.addViewControllers(registry); + } + + @ConditionalOnProperty(name="control.log-requests", matchIfMissing = true) + @Bean + public CommonsRequestLoggingFilter logFilter() { + CommonsRequestLoggingFilter filter + = new CommonsRequestLoggingFilter(); + filter.setIncludeQueryString(true); + filter.setIncludePayload(true); + filter.setMaxPayloadLength(10000); + filter.setIncludeHeaders(true); + filter.setIncludeClientInfo(true); + + filter.setBeforeMessagePrefix("REQUEST DATA BEFORE: >>"); + filter.setBeforeMessageSuffix("<< REQUEST DATA BEFORE"); + filter.setAfterMessagePrefix("REQUEST DATA AFTER: >>"); + filter.setAfterMessageSuffix("<< REQUEST DATA AFTER"); + return filter; + } +} diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/WebMvcConfig.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/WebMvcConfig.java new file mode 100644 index 0000000..9be2504 --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/WebMvcConfig.java @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.webconf; + +import jakarta.servlet.Filter; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.core.task.AsyncTaskExecutor; +import org.springframework.scheduling.concurrent.ConcurrentTaskExecutor; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.config.annotation.AsyncSupportConfigurer; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.web.util.ContentCachingRequestWrapper; +import org.springframework.web.util.ContentCachingResponseWrapper; + +import java.util.concurrent.Executors; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +@Slf4j +@Component +@RequiredArgsConstructor +public class WebMvcConfig implements WebMvcConfigurer { + private final ApplicationContext applicationContext; + + @Override + public void configureAsyncSupport(AsyncSupportConfigurer configurer) { + configurer.setTaskExecutor(applicationContext.getBean("asyncExecutor", AsyncTaskExecutor.class)); + } + + @Bean(name="asyncExecutor") + public AsyncTaskExecutor asyncExecutor() { + ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newCachedThreadPool(); + log.debug("asyncExecutor(): ThreadPoolExecutor: core={}, max={}, size={}, active={}, keep-alive={}", + executor.getCorePoolSize(), executor.getMaximumPoolSize(), executor.getPoolSize(), + executor.getActiveCount(), executor.getKeepAliveTime(TimeUnit.SECONDS)); + return new ConcurrentTaskExecutor(executor); + } + + @Bean + public Filter contentCachingFilter() { + log.debug("contentCachingFilter(): Registering content caching request filter"); + return (servletRequest, servletResponse, filterChain) -> { + log.trace("contentCachingFilter(): request={}", servletRequest); + HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; + //HttpServletResponse httpResponse = (HttpServletResponse) servletResponse; + + ServletRequest contentCachingRequestWrapper = new ContentCachingRequestWrapper(httpRequest); + //ServletResponse contentCachingResponseWrapper = new ContentCachingResponseWrapper(httpResponse); + log.trace("contentCachingFilter(): request={}, content-caching-request={}", servletRequest, contentCachingRequestWrapper); + //log.trace("contentCachingFilter(): response={}, content-caching-response={}", servletResponse, contentCachingResponseWrapper); + + filterChain.doFilter(contentCachingRequestWrapper, servletResponse); + //filterChain.doFilter(contentCachingRequestWrapper, contentCachingResponseWrapper); + }; + } +} \ No newline at end of file diff --git a/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/WebSecurityConfig.java b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/WebSecurityConfig.java new file mode 100644 index 0000000..c16bb6c --- /dev/null +++ b/ems-core/control-service/src/main/java/gr/iccs/imu/ems/control/webconf/WebSecurityConfig.java @@ -0,0 +1,565 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.control.webconf; + +//import properties.gr.iccs.imu.ems.control.StaticResourceProperties; +import gr.iccs.imu.ems.control.properties.WebSecurityProperties; +import gr.iccs.imu.ems.control.util.jwt.JwtTokenService; +import gr.iccs.imu.ems.util.PasswordUtil; +import gr.iccs.imu.ems.util.StrUtil; +import io.jsonwebtoken.Claims; +import jakarta.servlet.Filter; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.event.EventListener; +import org.springframework.core.annotation.Order; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; +import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; +import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; + +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Order(1) +@Configuration +@EnableWebSecurity +@EnableMethodSecurity +@RequiredArgsConstructor +public class WebSecurityConfig implements InitializingBean { + + public final static String ROLE_USER_FORM = "ROLE_USER_FORM"; + public static final String ROLE_JWT_TOKEN = "ROLE_JWT_TOKEN"; + public static final String ROLE_API_KEY = "ROLE_API_KEY"; + public static final String ROLE_OTP = "ROLE_OTP"; + + //private final StaticResourceProperties staticResourceProperties; + private final WebSecurityProperties properties; + private final PasswordUtil passwordUtil; + private final JwtTokenService jwtTokenService; + + private final Map otpCache = new HashMap<>(); + + @Value("${melodic.security.enabled:true}") + private boolean securityEnabled; + private boolean propertiesCopied; + + // JWT Token authentication fields + private boolean jwtAuthEnabled; + private String jwtRequestParam; + private boolean printSampleJwt; + + // API-Key authentication fields + private boolean apiKeyAuthEnabled; + private String apiKeyRequestHeader; + private String apiKeyRequestParam; + private String apiKeyValue; + + // OTP authentication fields + private boolean otpAuthEnabled; + private long otpDuration; + private String otpRequestHeader; + private String otpRequestParam; + + // User form authentication fields + private boolean userFormAuthEnabled; + private String username; + private String password; + + private String loginPage; + private String loginUrl; + private String loginSuccessUrl; + private String loginFailureUrl; + private String logoutUrl; + private String logoutSuccessUrl; + + // Permitted URLs + private String[] permittedUrls; + + private final static String divider = "--------------------------------------------------------------------------------"; + + @Override + public void afterPropertiesSet() { + copyPropertiesToLocalFields(); + } + + private void copyPropertiesToLocalFields() { + if (properties==null) return; + if (propertiesCopied) return; + + // JWT Token authentication fields + jwtAuthEnabled = properties.getJwtAuthentication().isEnabled(); + jwtRequestParam = properties.getJwtAuthentication().getRequestParameter(); + printSampleJwt = properties.getJwtAuthentication().isPrintSampleToken(); + + // API-Key authentication fields + apiKeyAuthEnabled = properties.getApiKeyAuthentication().isEnabled(); + apiKeyRequestHeader = properties.getApiKeyAuthentication().getRequestHeader(); + apiKeyRequestParam = properties.getApiKeyAuthentication().getRequestParameter(); + apiKeyValue = properties.getApiKeyAuthentication().getValue(); + + // OTP authentication fields + otpAuthEnabled = properties.getOtpAuthentication().isEnabled(); + otpDuration = properties.getOtpAuthentication().getDuration(); + otpRequestHeader = properties.getOtpAuthentication().getRequestHeader(); + otpRequestParam = properties.getOtpAuthentication().getRequestParameter(); + + // User form authentication fields + userFormAuthEnabled = properties.getFormAuthentication().isEnabled(); + username = properties.getFormAuthentication().getUsername(); + password = properties.getFormAuthentication().getPassword(); + + loginPage = properties.getFormAuthentication().getLoginPage(); + loginUrl = properties.getFormAuthentication().getLoginUrl(); + loginSuccessUrl = properties.getFormAuthentication().getLoginSuccessUrl(); + loginFailureUrl = properties.getFormAuthentication().getLoginFailureUrl(); + logoutUrl = properties.getFormAuthentication().getLogoutUrl(); + logoutSuccessUrl = properties.getFormAuthentication().getLogoutSuccessUrl(); + + // Permitted URLs + permittedUrls = properties.getPermittedUrls()!=null + ? properties.getPermittedUrls().toArray(new String[0]) + : new String[0]; + + propertiesCopied = true; + } + + @EventListener(ApplicationReadyEvent.class) + public void applicationReady() { + if (securityEnabled && userFormAuthEnabled && (StringUtils.isBlank(username) || StringUtils.isEmpty(password))) + throw new InvalidParameterException("User form authentication is enabled but username or password is blank"); + if (securityEnabled && apiKeyAuthEnabled && StringUtils.isBlank(apiKeyValue)) + throw new InvalidParameterException("API Key authentication is enabled but no API Key provided or it is blank"); + if (permittedUrls==null) permittedUrls = new String[0]; + + if (securityEnabled && userFormAuthEnabled) { + log.debug("afterPropertiesSet: Admin Username: {}", username); + log.debug("afterPropertiesSet: Admin Password: {}", passwordUtil.encodePassword(password)); + } + if (securityEnabled && apiKeyAuthEnabled) { + log.debug("afterPropertiesSet: API Key: {}", passwordUtil.encodePassword(apiKeyValue)); + } + if (printSampleJwt) { + try { + log.info("afterPropertiesSet:\n{}\nSample JWT Token: \nBearer {}\n{}", + divider, jwtTokenService.createToken("USER"), divider); + } catch (Throwable e) { + String s = StrUtil.exceptionToDetailsString(e); + log.error("afterPropertiesSet: Failed to generate sample JWT Token: {}", s); + log.debug("afterPropertiesSet: Failed to generate sample JWT Token: EXCEPTION:\n", e); + } + } + + log.debug("afterPropertiesSet: ---------------------"); + log.debug("afterPropertiesSet: securityEnabled: {}", securityEnabled); + log.debug("afterPropertiesSet: ---------------------"); + log.debug("afterPropertiesSet: jwtTokenAuthEnabled: {}", jwtAuthEnabled); + log.debug("afterPropertiesSet: jwtTokenRequestParam: {}", jwtRequestParam); + log.debug("afterPropertiesSet: ---------------------"); + log.debug("afterPropertiesSet: apiKeyAuthEnabled: {}", apiKeyAuthEnabled); + log.debug("afterPropertiesSet: apiKeyRequestHeader: {}", apiKeyRequestHeader); + log.debug("afterPropertiesSet: apiKeyRequestParam: {}", apiKeyRequestParam); + log.debug("afterPropertiesSet: ---------------------"); + log.debug("afterPropertiesSet: otpAuthEnabled: {}", otpAuthEnabled); + log.debug("afterPropertiesSet: otpDuration: {}", otpDuration); + log.debug("afterPropertiesSet: otpRequestHeader: {}", otpRequestHeader); + log.debug("afterPropertiesSet: otpRequestParam: {}", otpRequestParam); + log.debug("afterPropertiesSet: ---------------------"); + log.debug("afterPropertiesSet: userFormAuthEnabled: {}", userFormAuthEnabled); + log.debug("afterPropertiesSet: username: {}", username); + log.debug("afterPropertiesSet: loginPage: {}", loginPage); + log.debug("afterPropertiesSet: loginUrl: {}", loginUrl); + log.debug("afterPropertiesSet: loginSuccessUrl: {}", loginSuccessUrl); + log.debug("afterPropertiesSet: loginFailUrl: {}", loginFailureUrl); + log.debug("afterPropertiesSet: logoutUrl: {}", logoutUrl); + log.debug("afterPropertiesSet: logoutSuccessUrl: {}", logoutSuccessUrl); + log.debug("afterPropertiesSet: ---------------------"); + log.debug("afterPropertiesSet: permittedUrls: {}", Arrays.asList(permittedUrls)); + log.debug("afterPropertiesSet: ---------------------"); + } + + @Bean + public InMemoryUserDetailsManager userDetailsService() { + copyPropertiesToLocalFields(); + UserDetails userDetails; + if (this.userFormAuthEnabled && StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password)) { + userDetails = User.builder() + .username(username) + .password(passwordEncoder().encode(password)) + .authorities(ROLE_USER_FORM) + .build(); + log.debug("WebSecurityConfig: User Form Admin credentials have been set: username={}", username); + } else { + userDetails = User.builder().build(); + log.warn("WebSecurityConfig: No Form Admin credentials provided"); + } + return new InMemoryUserDetailsManager(userDetails); + } + + @Bean + public static PasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(); + } + + /*@Bean + public WebSecurityCustomizer webSecurityCustomizer() { + return web -> web.ignoring() + // Spring Security should completely ignore the following URLs + .antMatchers(staticResourceProperties.getFaviconContext(), "/health"); + }*/ + + @Bean + protected SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { + + // Check configuration settings + checkSettings(); + + // Check if authentication is disabled + log.debug("WebSecurityConfig: security-enabled={}, user-form-auth-enabled={}, jwt-token-auth-enabled={}, api-key-auth-enabled={}, otp-auth-enabled={}", + securityEnabled, userFormAuthEnabled, jwtAuthEnabled, apiKeyAuthEnabled, otpAuthEnabled); + if (!securityEnabled || !userFormAuthEnabled && !jwtAuthEnabled && !apiKeyAuthEnabled && !otpAuthEnabled) { + log.warn("WebSecurityConfig: Authentication is disabled"); + // Authorize all requests + httpSecurity + .csrf(AbstractHttpConfigurer::disable) + .authorizeHttpRequests( + authorize -> authorize.anyRequest().permitAll()); + return httpSecurity.build(); + } + + // Common security settings + httpSecurity + .csrf(AbstractHttpConfigurer::disable) + .sessionManagement(sm -> sm.sessionCreationPolicy(SessionCreationPolicy.ALWAYS)); + + // Add and Configure User Form authentication + if (userFormAuthEnabled) { + log.debug("WebSecurityConfig: User form Authentication is enabled"); + httpSecurity + .formLogin(formLogin -> formLogin + .loginPage(loginPage).permitAll() + .loginProcessingUrl(loginUrl).permitAll() + .defaultSuccessUrl(loginSuccessUrl, false) + .failureUrl(loginFailureUrl).permitAll() + ) + .logout(logout -> logout + .logoutUrl(logoutUrl).permitAll() + .logoutSuccessUrl(logoutSuccessUrl).permitAll() + .invalidateHttpSession(true) + .deleteCookies("JSESSIONID") + ); + log.debug("WebSecurityConfig: User form Authentication has been configured"); + } + + // Add configured authentication filters + Class lastAuthFilterClass = UsernamePasswordAuthenticationFilter.class; + Filter f; + if (apiKeyAuthEnabled) { + log.debug("WebSecurityConfig: API-Key Authentication is enabled"); + httpSecurity + .addFilterAfter(f=apiKeyAuthenticationFilter(), lastAuthFilterClass); + lastAuthFilterClass = f.getClass(); + log.debug("WebSecurityConfig: API-Key Authentication filter added"); + } + if (jwtAuthEnabled) { + log.debug("WebSecurityConfig: JWT-Token Authentication is enabled"); + httpSecurity + .addFilterAfter(f=jwtAuthorizationFilter(), lastAuthFilterClass); + lastAuthFilterClass = f.getClass(); + log.debug("WebSecurityConfig: JWT-Token Authentication filter added"); + } + if (otpAuthEnabled) { + log.debug("WebSecurityConfig: OTP Authentication is enabled"); + httpSecurity + .addFilterAfter(f=otpAuthenticationFilter(), lastAuthFilterClass); + lastAuthFilterClass = f.getClass(); + log.debug("WebSecurityConfig: OTP Authentication filter added"); + } + if (apiKeyAuthEnabled || jwtAuthEnabled || otpAuthEnabled) { + httpSecurity + .addFilterAfter((servletRequest, servletResponse, filterChain) -> { + boolean isAuthenticated = SecurityContextHolder.getContext() != null + && SecurityContextHolder.getContext().getAuthentication() != null + && SecurityContextHolder.getContext().getAuthentication().isAuthenticated(); + log.trace("WebSecurityConfig: Redirection filters: authenticated={}", isAuthenticated); + if (isAuthenticated && (servletRequest instanceof HttpServletRequest)) { + String uri = ((HttpServletRequest)servletRequest).getRequestURI(); + log.trace("WebSecurityConfig: Redirection filters: Request uri={}", uri); + if (StringUtils.startsWithAny(uri, loginUrl, loginPage)) { + log.debug("WebSecurityConfig: Redirection filter: Redirecting {} to {}...", uri, loginSuccessUrl); + ((HttpServletResponse)servletResponse).sendRedirect(loginSuccessUrl); + } + } + filterChain.doFilter(servletRequest, servletResponse); + }, lastAuthFilterClass); + } + + if (userFormAuthEnabled) { + httpSecurity + //.authorizeHttpRequests( + // authorize -> authorize.requestMatchers("/broker/credentials", "/baguette/ref/**").hasAnyRole(ROLE_JWT_TOKEN, ROLE_API_KEY)) + .authorizeHttpRequests( + authorize -> authorize.requestMatchers("/favicon.ico", "/health").permitAll()) + .authorizeHttpRequests( + authorize -> authorize.requestMatchers(permittedUrls).permitAll()) + .authorizeHttpRequests( + authorize -> authorize.anyRequest().authenticated()); + } else { + httpSecurity + .authorizeHttpRequests( + authorize -> authorize.anyRequest().authenticated()); + } + + return httpSecurity.build(); + } + + private void checkSettings() { + // Check User Form authentication settings + boolean userFormAuthEnabled = this.userFormAuthEnabled && StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password); + if (this.userFormAuthEnabled && !userFormAuthEnabled) { + if (StringUtils.isBlank(username)) + log.warn("WebSecurityConfig: User Form authentication is enabled but -no- Username has been provided. It will not be possible to login from User form"); + if (StringUtils.isBlank(password)) + log.warn("WebSecurityConfig: User Form authentication is enabled but -no- Password has been provided. It will not be possible to login from User form"); + } + + // Check JWT Token authentication settings + // Nothing to do + + // Check API Key authentication settings + boolean apiKeyAuthEnabled = this.apiKeyAuthEnabled && StringUtils.isNotBlank(apiKeyValue) + && (StringUtils.isNotBlank(apiKeyRequestHeader) || StringUtils.isNotBlank(apiKeyRequestParam)); + if (this.apiKeyAuthEnabled && !apiKeyAuthEnabled) { + if (StringUtils.isBlank(apiKeyValue)) + log.warn("WebSecurityConfig: API Key authentication is enabled but -no- API Key has been provided. It will not be possible to authenticate using API Key"); + else + log.warn("WebSecurityConfig: API Key authentication is enabled but -no- API Key request header or parameter has been set. It will not be possible to authenticate using API Key"); + } + + // Check OTP authentication settings + boolean otpAuthEnabled = this.otpAuthEnabled + && (StringUtils.isNotBlank(otpRequestHeader) || StringUtils.isNotBlank(otpRequestParam)); + if (this.otpAuthEnabled && !otpAuthEnabled) { + log.warn("WebSecurityConfig: OTP authentication is enabled but -no- OTP request header or parameter has been set. It will not be possible to authenticate using OTP"); + } + } + + public Filter jwtAuthorizationFilter() { + return (servletRequest, servletResponse, filterChain) -> { + if (servletRequest instanceof HttpServletRequest req) { + + // Get JWT token from Authorization header + String jwtValue = req.getHeader(JwtTokenService.HEADER_STRING); + log.debug("jwtAuthorizationFilter: Authorization Header: {}", passwordUtil.encodePassword(jwtValue)); + + // ...else get JWT token from 'jwtRequestParam' query parameter + if (StringUtils.isBlank(jwtValue)) { + if (StringUtils.isNotBlank(jwtRequestParam)) { + log.debug("jwtAuthorizationFilter: Authorization Header is missing. Checking for '{}' parameter", jwtRequestParam); + jwtValue = req.getParameter(jwtRequestParam); + log.debug("jwtAuthorizationFilter: '{}' parameter value: {}", jwtRequestParam, passwordUtil.encodePassword(jwtValue)); + if (StringUtils.isNotBlank(jwtValue)) + jwtValue = JwtTokenService.TOKEN_PREFIX + jwtValue; + } else { + log.debug("jwtAuthorizationFilter: JWT token not found in headers and no JWT token parameter has been set"); + } + } + + // Check JWT token validity + if (jwtValue!=null && jwtValue.startsWith(JwtTokenService.TOKEN_PREFIX)) { + try { + log.debug("jwtAuthorizationFilter: Parsing Authorization header..."); + Claims claims = jwtTokenService.parseToken(jwtValue); + String user = claims.getSubject(); + String audience = claims.getAudience(); + log.debug("jwtAuthorizationFilter: Authorization header --> user: {}", user); + log.debug("jwtAuthorizationFilter: Authorization header --> audience: {}", audience); + if (user!=null && audience!=null) { + if (JwtTokenService.AUDIENCE_UPPERWARE.equals(audience)) { + log.debug("jwtAuthorizationFilter: JWT token is valid"); + UsernamePasswordAuthenticationToken authentication = + new UsernamePasswordAuthenticationToken(user, null, + Collections.singletonList(new SimpleGrantedAuthority(ROLE_JWT_TOKEN))); + SecurityContextHolder.getContext().setAuthentication(authentication); + log.debug("jwtAuthorizationFilter: Security context updated"); + } else { + log.debug("jwtAuthorizationFilter: Audience claim is invalid: {}", audience); + } + } else { + log.debug("jwtAuthorizationFilter: JWT token does not contain claim Audience"); + } + } catch (Exception ex) { + log.debug("jwtAuthorizationFilter: JWT token is not valid: EXCEPTION: ", ex); + } + } else { + log.debug("jwtAuthorizationFilter: No or invalid Authorization header"); + } + } else { + log.warn("jwtAuthorizationFilter: Not an HttpServletRequest"); + } + + // continue filter chain processing + filterChain.doFilter(servletRequest, servletResponse); + }; + } + + public Filter apiKeyAuthenticationFilter() { + return (servletRequest, servletResponse, filterChain) -> { + log.trace("apiKeyAuthenticationFilter: BEGIN: request={}", servletRequest); + if (StringUtils.isNotBlank(apiKeyValue)) { + if (servletRequest instanceof HttpServletRequest request && servletResponse instanceof HttpServletResponse) { + + log.trace("apiKeyAuthenticationFilter: http-request={}", request); + String apiKey = request.getHeader(apiKeyRequestHeader); + log.debug("apiKeyAuthenticationFilter: Request Header API Key: {}={}", apiKeyRequestHeader, passwordUtil.encodePassword(apiKey)); + if (StringUtils.isBlank(apiKey)) { + apiKey = request.getParameter(apiKeyRequestParam); + log.debug("apiKeyAuthenticationFilter: Request Parameter API Key: {}={}", apiKeyRequestParam, passwordUtil.encodePassword(apiKey)); + } + if (StringUtils.isNotBlank(apiKey)) { + log.debug("apiKeyAuthenticationFilter: API Key found"); + + if (apiKeyValue.equals(apiKey)) { + log.debug("apiKeyAuthenticationFilter: API Key is correct"); + try { + // construct one of Spring's auth tokens + UsernamePasswordAuthenticationToken authentication = + new UsernamePasswordAuthenticationToken(apiKeyRequestHeader, apiKeyValue, + Collections.singletonList(new SimpleGrantedAuthority(ROLE_API_KEY))); + // store completed authentication in security context + SecurityContextHolder.getContext().setAuthentication(authentication); + log.debug("apiKeyAuthenticationFilter: Security context has been updated"); + } catch (Exception e) { + log.error("apiKeyAuthenticationFilter: EXCEPTION: ", e); + } + } else { + log.debug("apiKeyAuthenticationFilter: API Key is incorrect"); + } + } else { + log.debug("apiKeyAuthenticationFilter: No API Key found in request headers or parameters"); + } + } else { + throw new IllegalArgumentException("API Key Authentication filter does not support non-HTTP requests and responses. Req-class: " + +servletRequest.getClass().getName()+" Resp-class: "+servletResponse.getClass().getName()); + } + } else { + log.warn("apiKeyAuthenticationFilter: No API-Key specified"); + } + + // continue down the chain + filterChain.doFilter(servletRequest, servletResponse); + }; + } + + public Filter otpAuthenticationFilter() { + return (servletRequest, servletResponse, filterChain) -> { + log.trace("OTPAuthenticationFilter: BEGIN: request={}", servletRequest); + if (otpAuthEnabled) { + if (servletRequest instanceof HttpServletRequest request && servletResponse instanceof HttpServletResponse) { + + log.trace("OTPAuthenticationFilter: http-request={}", request); + String otp = request.getHeader(otpRequestHeader); + log.debug("OTPAuthenticationFilter: Request Header OTP: {}={}", otpRequestHeader, passwordUtil.encodePassword(otp)); + if (StringUtils.isBlank(otp)) { + otp = request.getParameter(otpRequestParam); + log.debug("OTPAuthenticationFilter: Request Parameter OTP: {}={}", otpRequestParam, passwordUtil.encodePassword(otp)); + } + if (StringUtils.isNotBlank(otp)) { + log.debug("OTPAuthenticationFilter: OTP provided"); + + if (otpCache.containsKey(otp)) { + long issueTimestamp = otpCache.remove(otp); + boolean expired = (System.currentTimeMillis() - issueTimestamp) > otpDuration; + + if (!expired) { + log.debug("OTPAuthenticationFilter: OTP found in cache"); + try { + // construct one of Spring's auth tokens + UsernamePasswordAuthenticationToken authentication = + new UsernamePasswordAuthenticationToken(otpRequestHeader, otp, + Collections.singletonList(new SimpleGrantedAuthority(ROLE_OTP))); + // store completed authentication in security context + SecurityContextHolder.getContext().setAuthentication(authentication); + log.debug("OTPAuthenticationFilter: Security context has been updated"); + } catch (Exception e) { + log.error("OTPAuthenticationFilter: EXCEPTION: ", e); + } + } else { + log.debug("OTPAuthenticationFilter: OTP found in cache but has expired"); + } + } else { + log.debug("OTPAuthenticationFilter: OTP not found in cache"); + } + } else { + log.debug("OTPAuthenticationFilter: No OTP provided in request headers or parameters"); + } + } else { + throw new IllegalArgumentException("OTP Authentication filter does not support non-HTTP requests and responses. Req-class: " + +servletRequest.getClass().getName()+" Resp-class: "+servletResponse.getClass().getName()); + } + } else { + log.warn("OTPAuthenticationFilter: OTP is disabled"); + } + + // continue down the chain + filterChain.doFilter(servletRequest, servletResponse); + }; + } + + public String otpCreate() { + String newOtp = RandomStringUtils.randomAlphanumeric(32, 64); + otpCache.put(newOtp, System.currentTimeMillis()); + return newOtp; + } + + public long otpIssueTimestamp(String otp) { + return otpCache.get(otp); + } + + public long otpExpirationTimestamp(String otp) { + return otpCache.get(otp) + otpDuration; + } + + public long otpDuration(String otp) { + return otpDuration; + } + + public void otpRemove(String otp) { + otpCache.remove(otp); + } + + public void otpClearCache() { + otpCache.clear(); + } +} \ No newline at end of file diff --git a/ems-core/control-service/src/main/resources/META-INF/spring.factories b/ems-core/control-service/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..d78b4f3 --- /dev/null +++ b/ems-core/control-service/src/main/resources/META-INF/spring.factories @@ -0,0 +1 @@ +org.springframework.boot.env.EnvironmentPostProcessor=gr.iccs.imu.ems.util.NetUtilPostProcessor \ No newline at end of file diff --git a/ems-core/control-service/src/main/resources/banner-0.txt b/ems-core/control-service/src/main/resources/banner-0.txt new file mode 100644 index 0000000..4a63096 --- /dev/null +++ b/ems-core/control-service/src/main/resources/banner-0.txt @@ -0,0 +1,16 @@ + + ______ __ __ _____ _____ _ _ + | ____| \/ |/ ____| / ____| | | | | + | |__ | \ / | (___ | | ___ _ __ | |_ _ __ ___ | | + | __| | |\/| |\___ \ | | / _ \| '_ \| __| '__/ _ \| | + | |____| | | |____) | | |___| (_) | | | | |_| | | (_) | | + |______|_| |_|_____/ \_____\___/|_| |_|\__|_| \___/|_| + + :: EMS Control :: (@project.version@) + :: Spring Boot :: ${spring-boot.formatted-version} + :: Java (TM) :: (${java.version}) + :: Build Num. :: @buildNumber@ + :: Build Date :: @timestamp@ + :: SCM Branch :: @scmBranch@ + :: Image Tag :: @docker.image.name@:@docker.image.tag@ + :: Description :: @build.description@ \ No newline at end of file diff --git a/ems-core/control-service/src/main/resources/banner-1.txt b/ems-core/control-service/src/main/resources/banner-1.txt new file mode 100644 index 0000000..e9eec3a --- /dev/null +++ b/ems-core/control-service/src/main/resources/banner-1.txt @@ -0,0 +1,9 @@ + + ________ ___ _____ _____ _ _ +| ___| \/ |/ ___| / __ \ | | | | +| |__ | . . |\ `--. | / \/ ___ _ __ | |_ _ __ ___ | | +| __|| |\/| | `--. \ | | / _ \| '_ \| __| '__/ _ \| | +| |___| | | |/\__/ / | \__/\ (_) | | | | |_| | | (_) | | +\____/\_| |_/\____/ \____/\___/|_| |_|\__|_| \___/|_| + + \ No newline at end of file diff --git a/ems-core/control-service/src/main/resources/banner.txt b/ems-core/control-service/src/main/resources/banner.txt new file mode 100644 index 0000000..d246d52 --- /dev/null +++ b/ems-core/control-service/src/main/resources/banner.txt @@ -0,0 +1,17 @@ + + +${AnsiColor.051} ███████╗███╗ ███╗███████╗ ██████╗ ██████╗ ███╗ ██╗████████╗██████╗ ██████╗ ██╗ +${AnsiColor.051} ██╔════╝████╗ ████║██╔════╝ ██╔════╝██╔═══██╗████╗ ██║╚══██╔══╝██╔══██╗██╔═══██╗██║ +${AnsiColor.051} █████╗ ██╔████╔██║███████╗ ██║ ██║ ██║██╔██╗ ██║ ██║ ██████╔╝██║ ██║██║ +${AnsiColor.012} ██╔══╝ ██║╚██╔╝██║╚════██║ ██║ ██║ ██║██║╚██╗██║ ██║ ██╔══██╗██║ ██║██║ +${AnsiColor.012} ███████╗██║ ╚═╝ ██║███████║ ╚██████╗╚██████╔╝██║ ╚████║ ██║ ██║ ██║╚██████╔╝███████╗ +${AnsiColor.012} ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ + +${AnsiColor.046} :: EMS Control :: ${AnsiColor.87} (@project.version@) +${AnsiColor.046} :: Spring Boot :: ${AnsiColor.87} ${spring-boot.formatted-version} +${AnsiColor.046} :: Java (TM) :: ${AnsiColor.87} (${java.version}) +${AnsiColor.046} :: Build Num. :: ${AnsiColor.226}@buildNumber@ +${AnsiColor.046} :: Build Date :: ${AnsiColor.226}@timestamp@ +${AnsiColor.046} :: SCM Branch :: ${AnsiColor.226}@git.branch@ +${AnsiColor.046} :: Image Tag :: ${AnsiColor.226}@docker.image.name@:@docker.image.tag@ +${AnsiColor.046} :: Description :: ${AnsiColor.226}@build.description@ ${AnsiColor.DEFAULT}${AnsiStyle.NORMAL} \ No newline at end of file diff --git a/ems-core/control-service/src/main/resources/public/client.bat b/ems-core/control-service/src/main/resources/public/client.bat new file mode 100644 index 0000000..838a094 --- /dev/null +++ b/ems-core/control-service/src/main/resources/public/client.bat @@ -0,0 +1,22 @@ +@echo off +:: +:: Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +:: +:: This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +:: Esper library is used, in which case it is subject to the terms of General Public License v2.0. +:: If a copy of the MPL was not distributed with this file, you can obtain one at +:: https://www.mozilla.org/en-US/MPL/2.0/ +:: + +rem set EMS_CONFIG_DIR=. + +setlocal +rem set JAVA_OPTS= -Djavax.net.ssl.trustStore=..\config-files\broker-truststore.p12 ^ +rem -Djavax.net.ssl.trustStorePassword=melodic ^ +rem -Djavax.net.ssl.trustStoreType=pkcs12 +rem -Djavax.net.debug=all +rem -Djavax.net.debug=ssl,handshake,record + +java %JAVA_OPTS% -jar broker-client.jar %* + +endlocal diff --git a/ems-core/control-service/src/main/resources/public/client.sh b/ems-core/control-service/src/main/resources/public/client.sh new file mode 100644 index 0000000..d2ddc8b --- /dev/null +++ b/ems-core/control-service/src/main/resources/public/client.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +#EMS_CONFIG_DIR=. + +#JAVA_OPTS=-Djavax.net.ssl.trustStore=./broker-truststore.p12\ -Djavax.net.ssl.trustStorePassword=melodic\ -Djavax.net.ssl.trustStoreType=pkcs12 +# -Djavax.net.debug=all +# -Djavax.net.debug=ssl,handshake,record + +java $JAVA_OPTS -jar broker-client.jar $* diff --git a/ems-core/control-service/src/main/resources/public/favicon.ico b/ems-core/control-service/src/main/resources/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2c5b645a0e6745572b886928bb7c5871d2e38a71 GIT binary patch literal 32924 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 + + + + + +

EMS - Event Generation and Publish

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

Settings

+ + + + + + +
Base URL:
+ +

Send Commands to Clients

+

[List] + [Map]

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClientCommandActionsResult
+ +
+ +
+ +
+ +
+ +
+ +

Event Publishing

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SesnorClientValueActionsResult
+ +
+ +
+ +
+ +
+ +
+ +

Event Generation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SensorClientIntervalLower ValueUpper ValueActionsResult
+ + +
+ + +
+ + +
+ + +
+ + +
+ +

Live Metrics:

+ + + +
+ + +

Statistics:

+ +

Downloads:

+ +
+ + + \ No newline at end of file diff --git a/ems-core/control-service/src/main/resources/version.txt b/ems-core/control-service/src/main/resources/version.txt new file mode 100644 index 0000000..a9bdc38 --- /dev/null +++ b/ems-core/control-service/src/main/resources/version.txt @@ -0,0 +1,8 @@ +java.version=@java.version@ +maven.version=@maven.version@ +project.name=@project.parent.name@ +project.version=@project.version@ +project.build.sourceEncoding=@project.build.sourceEncoding@ +buildNumber=@buildNumber@ +maven.build.timestamp=@maven.build.timestamp@ +timestamp=@timestamp@ \ No newline at end of file diff --git a/ems-core/pom.xml b/ems-core/pom.xml new file mode 100644 index 0000000..147ad43 --- /dev/null +++ b/ems-core/pom.xml @@ -0,0 +1,295 @@ + + + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 3.1.2 + + + + Event Management System + + gr.iccs.imu.ems + ems-core + ${revision} + pom + + + 7.0.0-SNAPSHOT + + + UTF-8 + + + 17 + 17 + + + 2.4 + 3.11.0 + 2.9.1 + 2.5.3 + + + 2.10.1 + + 3.13.0 + + 1.10.0 + + 7.1.0 + + 4.2.0 + + 1.18.24 + + 5.17.5 + + 3.0.5 + + 8.0.0.Final + + 2.10.0 + + 1.76 + + 32.1.2-jre + + + 2.15.2 + 2.0 + + + + web-admin + util + broker-client + broker-cep + translator + common + baguette-client + baguette-server + baguette-client-install + control-service + + + + + + org.projectlombok + lombok + ${lombok.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + org.apache.commons + commons-text + ${commons-text.version} + + + org.yaml + snakeyaml + ${snakeyaml.version} + + + + org.bouncycastle + bcpg-jdk18on + ${bouncy-castle.version} + + + org.bouncycastle + bcpkix-jdk18on + ${bouncy-castle.version} + + + org.bouncycastle + bcprov-jdk18on + ${bouncy-castle.version} + + + + + + + org.springframework + spring-context-indexer + true + + + + + + + maven-clean-plugin + 3.3.1 + + + + public_resources + + **/* + + + + + + + + org.codehaus.mojo + flatten-maven-plugin + 1.5.0 + + + + + + flatten + process-resources + + flatten + + + + + flatten-clean + clean + + clean + + + + + + + + + + + org.apache.maven.plugins + maven-source-plugin + ${source-plugin.version} + true + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler.version} + + + + -parameters + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${javadoc-plugin.version} + + + aggregate + + aggregate + + package + + -Xdoclint:none + + + + attach-javadocs + + jar + + + -Xdoclint:none + + + + + + + + + org.codehaus.mojo + buildnumber-maven-plugin + 3.2.0 + + + buildnumber-create + validate + + create + + + + buildnumber-create-metadata + validate + + create-metadata + + + + + ${project.build.directory} + + yyyy-MM-dd HH:mm:ss.SSSZ + ${project.version} + + + buildNumber + + false + false + + + + + + + + scm:git:http://127.0.0.1/dummy + scm:git:https://127.0.0.1/dummy + HEAD + http://127.0.0.1/dummy + + + diff --git a/ems-core/translator/pom.xml b/ems-core/translator/pom.xml new file mode 100644 index 0000000..41ebbcf --- /dev/null +++ b/ems-core/translator/pom.xml @@ -0,0 +1,74 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + translator + EMS - Translator + + + + 1.5.2 + 0.18.1 + + + + + + gr.iccs.imu.ems + broker-cep + ${project.version} + provided + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework + spring-web + + + + + org.projectlombok + lombok + provided + + + + + org.jgrapht + jgrapht-core + ${jgrapht.version} + + + org.jgrapht + jgrapht-io + ${jgrapht.version} + + + + + guru.nidi + graphviz-java-all-j2v8 + ${graphviz-java.version} + + + + diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/Grouping.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/Grouping.java new file mode 100644 index 0000000..cf2646e --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/Grouping.java @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate; + +public enum Grouping { + UNSPECIFIED(-1, false, false), + PER_INSTANCE(0, true, false), + PER_HOST(1, true, false), + PER_ZONE(2, false, true), + PER_REGION(3, false, true), + PER_CLOUD(4, false, true), + GLOBAL(5, false, false); + + private int order; + private boolean sameHost; + private boolean sameCloud; + + Grouping(int n, boolean sh, boolean sc) { + order = n; + sameHost = sh; + sameCloud = sc; + } + + public boolean equals(Grouping g) { + return this.order == g.order; + } + + public boolean lowerThan(Grouping g) { + return this.order < g.order; + } + + public boolean greaterThan(Grouping g) { + return this.order > g.order; + } +} \ No newline at end of file diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/NoopTranslator.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/NoopTranslator.java new file mode 100644 index 0000000..16764ee --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/NoopTranslator.java @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@Order(Integer.MIN_VALUE) +public class NoopTranslator implements Translator { + public TranslationContext translate(String modelPath) { + log.warn("NoopTranslator: Call to 'translate': model-path={}", modelPath); + return new TranslationContext(modelPath); + } +} \ No newline at end of file diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContext.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContext.java new file mode 100644 index 0000000..a6600ee --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContext.java @@ -0,0 +1,707 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.google.gson.Gson; +import gr.iccs.imu.ems.translate.dag.DAG; +import gr.iccs.imu.ems.translate.dag.DAGNode; +import gr.iccs.imu.ems.translate.model.*; +import gr.iccs.imu.ems.util.FunctionDefinition; +import lombok.Getter; +import lombok.NonNull; +import lombok.Setter; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.io.Serializable; +import java.util.*; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Collectors; + +@Slf4j +@ToString +public class TranslationContext implements Serializable { + + @Getter + private final String modelName; + + // Decomposition DAG + @Getter + @JsonIgnore + private transient gr.iccs.imu.ems.translate.dag.DAG DAG; + + // Event-to-Action map + @Getter + private final Map> E2A = new HashMap<>(); + + // SLO set + @Getter + private final Set SLO = new LinkedHashSet<>(); + + // Component-to-Sensor map + @Getter + @JsonIgnore + private final transient Map> C2S = new HashMap<>(); //XXX:TODO-LOW: Convert to strings + + // Data-to-Sensor map + @Getter + @JsonIgnore + private final transient Map> D2S = new HashMap<>(); //XXX:TODO-LOW: Convert to strings + + // Sensor Monitors set + @Getter + private final Set MON = new LinkedHashSet<>(); //XXX:TODO-LOW: Remove ?? + @Getter + private final Set MONS = new LinkedHashSet<>(); + + // Grouping-to-EPL Rule map + private final Map>> G2R = new HashMap<>(); + + // Grouping-to-Topics map + private final Map> G2T = new HashMap<>(); + + // Metric-to-Metric Context map + @Getter + @JsonIgnore + private final transient Map> M2MC = new HashMap<>(); + + // Composite Metric Variables set + @Getter + @JsonIgnore + private final transient Set CMVar = new LinkedHashSet<>(); + @Getter + @JsonIgnore + private final transient Set CMVar_1 = new LinkedHashSet<>(); + + // Metric Variable Values set (i.e. non-composite metric variable) + private final Set MVV = new LinkedHashSet<>(); + private final Map MvvCP = new HashMap<>(); + + // Function set + @Getter + private final Set FUNC = new LinkedHashSet<>(); + + // Topics-Connections-per-Grouping + @JsonIgnore + private final transient Map providedTopics = new HashMap<>(); // topic-grouping where this topic is provided + @JsonIgnore + private final transient Map> requiredTopics = new HashMap<>(); // topic-set of groupings where this topic is required + protected final Map>> topicConnections = new HashMap<>(); // grouping-provided topic in grouping-groupings that require provided topic + protected boolean needsRefresh; + + // Metric Constraints + private final Set metricConstraints = new LinkedHashSet<>(); + // Logical Constraints + private final Set logicalConstraints = new LinkedHashSet<>(); + // If-Then-Else Constraints + private final Set ifThenConstraints = new LinkedHashSet<>(); + + // Load-annotated Metric + protected final Set loadAnnotatedMetricsSet = new LinkedHashSet<>(); + + // Export files + @Getter @Setter + private List exportFiles = new ArrayList<>(); + + // Element-to-Full-Name cache, pattern and count + @JsonIgnore + protected transient final Map E2N; //XXX:TODO-LOW: Clear after translation + @JsonIgnore + protected transient final AtomicLong elementsCount; + @Getter @Setter + protected String fullNamePattern; // all options: {TYPE}, {CAMEL}, {MODEL}, {ELEM}, {HASH}, {COUNT} + + @Getter + protected final Map additionalResults = new LinkedHashMap<>(); + + @JsonIgnore + private final transient Gson gson = new Gson(); // Used when cloning + /*@JsonIgnore // Alternative: clone with Jackson instead of Gson + private final transient ObjectMapper objectMapper = new ObjectMapper();*/ + + // ==================================================================================================================================================== + // Constructors + + public TranslationContext(String modelName) { + this(true, modelName); + } + + public TranslationContext(boolean initializeDag, String modelName) { + // Initialize fields + this.modelName = modelName; + this.DAG = initializeDag ? new DAG(this::getFullName) : new DAG(); + + // Element-to-Full-Name staff + this.E2N = new HashMap<>(); + this.elementsCount = new AtomicLong(0); + this.fullNamePattern = "{ELEM}"; + } + + /*public TranslationContext(TranslationContext _TC, boolean initializeDag) { + this(initializeDag, _TC.modelName); + + // Comment out 'this(...)' constructor and uncomment the following lines + //this.DAG = deepCopy( _TC.DAG, DAG.class ); // DAG used during translation. Not for serialization + //this.E2N = new HashMap<>(); + //this.elementsCount = new AtomicLong(0); + //this.fullNamePattern = "{ELEM}"; + // + //this.M2MC.putAll( cloneMapSet(_TC.M2MC) ); // Temporary translation cache. Not for serialization + + this.E2A.putAll( cloneMapSet(_TC.E2A) ); + this.SLO.addAll(_TC.SLO); + //this.C2S.putAll( cloneMapSet(_TC.C2S) ); + //this.D2S.putAll( cloneMapSet(_TC.D2S) ); + this.MON.addAll( cloneSet(_TC.MON) ); + this.MONS.addAll(_TC.MONS); + this.G2R.putAll( cloneMapMapSet(_TC.G2R) ); + this.G2T.putAll( cloneMapSet(_TC.G2T) ); + this.CMVar.addAll(_TC.CMVar); + this.CMVar_1.addAll( cloneSet(_TC.CMVar_1) ); + this.MVV.addAll(_TC.MVV); + this.MvvCP.putAll(_TC.MvvCP); + this.FUNC.addAll( cloneSet(_TC.FUNC) ); + this.providedTopics.putAll(_TC.providedTopics); + this.requiredTopics.putAll( cloneMapSet(_TC.requiredTopics) ); + this.topicConnections.putAll( cloneMapMapSet(_TC.topicConnections) ); + this.needsRefresh = _TC.needsRefresh; + this.metricConstraints.addAll( cloneSet(_TC.metricConstraints) ); + this.logicalConstraints.addAll( cloneSet(_TC.logicalConstraints) ); + this.ifThenConstraints.addAll( cloneSet(_TC.ifThenConstraints) ); + this.loadAnnotatedMetricsSet.addAll(_TC.loadAnnotatedMetricsSet); + this.exportFiles.addAll(_TC.exportFiles); + this.fullNamePattern = cloneObject(_TC.fullNamePattern); + } + + // ==================================================================================================================================================== + // Cloning methods + + public TranslationContext clone() { + return new TranslationContext(this, false); + } + + @SneakyThrows + protected T deepCopy(T object, Class type) { + return gson.fromJson(gson.toJson(object, type), type); + *//*return objectMapper.readValue( + objectMapper.writeValueAsString(object), type);*//* + } + + protected T cloneObject(T obj) { + if (obj==null) return null; + if (obj instanceof String x) return (T) new String(x); + + if (obj instanceof PullSensor x) return (T) deepCopy(x, PullSensor.class); + if (obj instanceof PushSensor x) return (T) deepCopy(x, PushSensor.class); + if (obj instanceof Sensor x) return (T) deepCopy(x, Sensor.class); + if (obj instanceof Component x) return (T) deepCopy(x, Component.class); + if (obj instanceof Data x) return (T) deepCopy(x, Data.class); + if (obj instanceof Monitor x) return (T) deepCopy(x, Monitor.class); + + if (obj instanceof MetricVariable x) return (T) deepCopy(x, MetricVariable.class); + if (obj instanceof Metric x) return (T) deepCopy(x, Metric.class); + if (obj instanceof MetricContext x) return (T) deepCopy(x, MetricContext.class); + if (obj instanceof FunctionDefinition x) return (T) deepCopy(x, FunctionDefinition.class); + + if (obj instanceof MetricConstraint x) return (T) deepCopy(x, MetricConstraint.class); + if (obj instanceof LogicalConstraint x) return (T) deepCopy(x, LogicalConstraint.class); + if (obj instanceof IfThenConstraint x) return (T) deepCopy(x, IfThenConstraint.class); + if (obj instanceof Constraint x) return (T) deepCopy(x, Constraint.class); + + throw new IllegalArgumentException("Unsupported type: "+obj.getClass().getName()); + } + + protected Set cloneSet(Set set) { + return set.stream() + .map(this::cloneObject) + .collect(Collectors.toSet()); + } + + protected Map> cloneMapSet(Map> map) { + return map.entrySet().stream() + .collect(Collectors.toMap( + e -> cloneObject(e.getKey()), + e -> cloneSet(e.getValue()) + )); + } + + protected Map>> cloneMapMapSet(Map>> map) { + return map.entrySet().stream() + .collect(Collectors.toMap( + e -> cloneObject(e.getKey()), + e -> cloneMapSet(e.getValue()) + )); + }*/ + + // ==================================================================================================================================================== + // Copy/Getter methods + + public Map> getG2T() { + if (G2T==null) return Collections.emptyMap(); + HashMap> newMap = new HashMap<>(); + G2T.forEach((key, value) -> newMap.put(key, new HashSet<>(value))); + return newMap; + } + + public Map>> getG2R() { + if (G2R==null) return Collections.emptyMap(); + Map>> newGroupingsMap = new HashMap<>(); // groupings + G2R.forEach((key, value) -> { + Map> newTopicsMap = new HashMap<>(); // topics per grouping + newGroupingsMap.put(key, newTopicsMap); + value.forEach((key1, value1) -> { + Set newRuleSet = new HashSet<>(); // rules per topic per grouping + newTopicsMap.put(key1, newRuleSet); + newRuleSet.addAll(value1); + }); + }); + return newGroupingsMap; + } + + public MetricContext getMetricContextForMetric(Metric m) { + if (M2MC==null) return null; + Set set = M2MC.get(m); + return set == null ? null : set.iterator().next(); + } + + public Set getMetricConstraints() { + return metricConstraints!=null ? new HashSet<>(metricConstraints) : Collections.emptySet(); + } + + public Set getLogicalConstraints() { + return logicalConstraints!=null ? new HashSet<>(logicalConstraints) : Collections.emptySet(); + } + + public boolean isMVV(String name) { + if (MVV==null) + return false;; + for (String mvv : MVV) + if (mvv.equals(name)) return true; + return false; + } + + public Set getMVV() { + return MVV!=null ? new HashSet<>(MVV) : Collections.emptySet(); + } + + public Map getCompositeMetricVariables() { + return MvvCP!=null ? new HashMap<>(MvvCP) : Collections.emptyMap(); + } + + // ==================================================================================================================================================== + // Map- and Set-related helper methods + + @SuppressWarnings("unchecked") + protected void _addPair(Map map, Object key, Object value) { + Set valueSet = (Set) map.get(key); + if (valueSet == null) { + valueSet = new HashSet<>(); + map.put(key, valueSet); + } + if (value instanceof List) valueSet.addAll((List) value); + else valueSet.add(value); + } + + public void addEventActionPair(Event event, Action action) { + _addPair(E2A, E2N.get(event), E2N.get(action)); + } + + public void addEventActionPairs(Event event, List actions) { + _addPair(E2A, E2N.get(event), actions.stream().map(E2N::get).collect(Collectors.toList())); + } + + public void addSLO(ServiceLevelObjective slo) { + if (E2N.get(slo)!=null) SLO.add(E2N.get(slo)); + else SLO.add(slo.getName()); + } + + public void addComponentSensorPair(ObjectContext objContext, Sensor sensor) { + if (objContext != null) { + Component comp = objContext.getComponent(); + Data data = objContext.getData(); + if (comp != null) _addPair(C2S, comp, sensor); + if (data != null) _addPair(D2S, data, sensor); + } else { + _addPair(C2S, null, sensor); + } + } + + public void addMonitorsForSensor(String sensorName, Set monitors) { + if (monitors != null) { + if (!MONS.contains(sensorName)) { + MON.addAll(monitors); + MONS.add(sensorName); + } + } + } + + public boolean containsMonitorsForSensor(String sensorName) { + return MONS.contains(sensorName); + } + + public Set getMonitors() { + return Collections.unmodifiableSet(MON); + } + + public void addGroupingTopicPair(String grouping, String topic) { + _addPair(G2T, grouping, topic); + } + + public void addGroupingTopicPairs(String grouping, List topics) { + _addPair(G2T, grouping, topics); + } + + public void addGroupingRulePair(String grouping, String topic, String rule) { + Map> topics = G2R.computeIfAbsent(grouping, k -> new HashMap<>()); + Set rules = topics.computeIfAbsent(topic, k -> new HashSet<>()); + rules.add(rule); + } + + public void addGroupingRulePairs(String grouping, String topic, List rules) { + rules.forEach(rule -> addGroupingRulePair(grouping, topic, rule)); + } + + public void addMetricMetricContextPair(Metric m, MetricContext mc) { + _addPair(M2MC, m, mc); + } + + public void addMetricMetricContextPairs(Metric m, List mcs) { + _addPair(M2MC, m, mcs); + } + + public void addCompositeMetricVariable(MetricVariable mv) { + CMVar.add(mv.getName()); + CMVar_1.add(mv); + } + + public void addCompositeMetricVariables(List mvs) { + mvs.forEach(this::addCompositeMetricVariable); + } + + public void addMVV(@NonNull String mvv) { + MVV.add(mvv); + } + + public void addMVV(MetricVariable mvv) { + MVV.add(mvv.getName()); + } + + public void addMVVs(List mvvs) { + mvvs.forEach(this::addMVV); + } + + public void addFunction(Function f) { + FunctionDefinition fdef = new FunctionDefinition().setName(f.getName()).setExpression(f.getExpression()).setArguments(f.getArguments()); + FUNC.add(fdef); + } + + public void addMetricConstraint(UnaryConstraint uc) { + // Get comparison operator + ComparisonOperatorType op = uc.getComparisonOperator(); + if (op==null) + throw new IllegalArgumentException("Metric Constraint '"+uc.getName()+"' has no operator specified"); + + // Get metric context/variable name + String metricName = null; + if (uc instanceof MetricConstraint mc) { + MetricContext context = mc.getMetricContext(); + if (context!=null) metricName = context.getName(); + if (StringUtils.isBlank(metricName)) + throw new IllegalArgumentException("Metric Constraint '"+mc.getName()+"' has no valid metric context"); + } else + if (uc instanceof MetricVariableConstraint mvc) { + MetricVariable mv = mvc.getMetricVariable(); + if (mv!=null) metricName = mv.getName(); + if (StringUtils.isBlank(metricName)) + throw new IllegalArgumentException("Metric Variable Constraint '"+uc.getName()+"' has no valid metric variable"); + } else + throw new IllegalArgumentException("Invalid Unary Constraint '"+uc.getName()+"' specified. Only metric constraints and metric variable constraints are allowed."); + + // Add threshold information + metricConstraints.add( + MetricConstraint.builder() + .name(uc.getName()) + .comparisonOperator(op) + .threshold(uc.getThreshold()) + .build() + ); + } + + public void addLogicalConstraint(LogicalConstraint logicalConstraint, List nodeList) { + String name = logicalConstraint.getName(); + + // Check there is a logical operator + LogicalOperatorType op = logicalConstraint.getLogicalOperator(); + if (op==null) + throw new IllegalArgumentException("Logical Constraint '"+name+"' has no operator specified"); + + // Check there are child constraints + List childConstraintNames = logicalConstraint.getConstraints() + .stream().map(NamedElement::getName).toList(); + if (childConstraintNames.size()==0) + throw new IllegalArgumentException("Logical Constraint '"+name+"' has no child constraints"); + + // Add logical constraint information + logicalConstraints.add(logicalConstraint); + } + + public void addIfThenConstraint(@NonNull IfThenConstraint ifThenConstraint) { + String name = ifThenConstraint.getName(); + + // Check child constraints + Constraint ifConstraint = ifThenConstraint.getIf(); + Constraint thenConstraint = ifThenConstraint.getThen(); + Constraint elseConstraint = ifThenConstraint.getElse(); + if (ifConstraint==null || thenConstraint==null) + throw new IllegalArgumentException("If-Then-Else Constraint '"+name+"' has no IF or no THEN constraint"); + String ifConstraintName = ifConstraint.getName(); + String thenConstraintName = thenConstraint.getName(); + if (StringUtils.isBlank(ifConstraintName) || StringUtils.isBlank(thenConstraintName)) + throw new IllegalArgumentException("IF or THEN constraint in If-Then-Else constraint'"+name+"' has no name"); + String elseConstraintName = elseConstraint != null ? elseConstraint.getName() : null; + if (elseConstraint!=null && StringUtils.isBlank(elseConstraintName)) + throw new IllegalArgumentException("ELSE constraint in If-Then-Else constraint'"+name+"' has no name"); + + // Add if-then-else constraint information + ifThenConstraints.add(ifThenConstraint); + } + + // ==================================================================================================================================================== + // Topic-Connections-per-Grouping-related helper methods + // Auto-fill of Topic connections between Groupings.... (use provide/require methods below) + + public void provideGroupingTopicPair(String grouping, String topic) { + if (isMVV(topic)) return; + addGroupingTopicPair(grouping, topic); + String providerGrouping = providedTopics.get(grouping); + if (providerGrouping != null && !providerGrouping.equals(grouping)) { + throw new IllegalArgumentException("Topic " + topic + " is provided more than once: grouping-1=" + grouping + ", grouping-2=" + providedTopics.get(grouping)); + } + providedTopics.put(topic, grouping); + needsRefresh = true; + } + + public void requireGroupingTopicPair(String grouping, String topic) { + log.debug("requireGroupingTopicPair: grouping={}, topic={}", grouping, topic); + if (isMVV(topic)) return; + log.trace("requireGroupingTopicPair: Not an MVV. Good: grouping={}, topic={}", grouping, topic); + log.trace("requireGroupingTopicPair: requiredTopics BEFORE: {}", requiredTopics); + addGroupingTopicPair(grouping, topic); + Set groupings = requiredTopics.computeIfAbsent(topic, k -> new HashSet<>()); + groupings.add(grouping); + needsRefresh = true; + log.trace("requireGroupingTopicPair: requiredTopics AFTER: {}", requiredTopics); + } + + public void requireGroupingTopicPairs(String grouping, List topics) { + topics.forEach(t -> requireGroupingTopicPair(grouping, t)); + } + + public Map>> getTopicConnections() { + if (needsRefresh) { + log.debug("TranslationContext.getTopicConnections(): Topic connections need refresh"); + topicConnections.clear(); + + log.debug("TranslationContext.getTopicConnections(): required-topics={}, provided-topics={}", requiredTopics, providedTopics); + + // for every required topic... + for (Map.Entry> pair : requiredTopics.entrySet()) { + // get consumer topics for current required topic + String requiredTopic = pair.getKey(); + Set consumerGroupings = pair.getValue(); + // get provider grouping of current required topic + String providerGrouping = providedTopics.get(requiredTopic); + if (providerGrouping == null) + throw new IllegalArgumentException("Topic " + requiredTopic + " is not provided in any grouping"); + // remove provider grouping from consumer groupings + consumerGroupings.remove(providerGrouping); + // store required topic in 'topicConnections' + if (consumerGroupings.size() > 0) { + // ...get provider grouping topics from topicConnections + Map> groupingTopics = topicConnections.computeIfAbsent(providerGrouping, k -> new HashMap<>()); + // ...store consumer groupings for current required topic in provider grouping + if (groupingTopics.containsKey(requiredTopic)) + throw new IllegalArgumentException("INTERNAL ERROR: Required Topic " + requiredTopic + " is already set in provider grouping " + providerGrouping + " in '_TC.topicConnections'"); + groupingTopics.put(requiredTopic, consumerGroupings); + } + } + + needsRefresh = false; + log.debug("TranslationContext.getTopicConnections(): Topic connections refreshed: {}", topicConnections); + } else { + log.debug("TranslationContext.getTopicConnections(): No need to refresh Topic connections. Returning from cache: {}", topicConnections); + } + return topicConnections; + } + + public Map> getTopicConnectionsForGrouping(String grouping) { + return getTopicConnections().get(grouping); + } + + // ==================================================================================================================================================== + // Element full name generation methods + + public String getFullName(NamedElement elem) { + log.trace(" getFullName: BEGIN: {}", elem); + if (elem == null) return null; + log.trace(" getFullName: NULL check OK: name={}", elem.getName()); + + // return cached full-name for element + String fullName = E2N.get(elem); + log.trace(" getFullName: Cached Name: {}", fullName); + if (fullName != null) return fullName; + log.trace(" getFullName: NO Cached Name:..."); + + // else generate full-name for element (and cache it) + String elemName = elem.getName(); + log.trace(" getFullName: elem-name={}", elemName); + String elemType = _getElementType(elem); + log.trace(" getFullName: elem-type={}", elemType); + log.trace(" getFullName: elem-eContainer={}", elem.getContainer()); + String modelName = elem.getContainer()!=null + ? elem.getContainer().getName() : null; + log.trace(" getFullName: model-name={}", modelName); + log.trace(" getFullName: elem-eContainer-eContainer={}", + elem.getContainer()!=null ? elem.getContainer().getContainer() : null); + String camelName = elem.getContainer()!=null && elem.getContainer().getContainer()!=null + ? elem.getContainer().getContainer().getName() : null; + log.trace(" getFullName: camel-name={}", camelName); + + fullName = fullNamePattern + .replace("{TYPE}", elemType) + .replace("{CAMEL}", Objects.requireNonNullElse(camelName, "C")) + .replace("{MODEL}", Objects.requireNonNullElse(modelName, "M")) + .replace("{ELEM}", elemName) + .replace("{HASH}", Integer.toString(elemName.hashCode())) + .replace("{COUNT}", Long.toString(elementsCount.getAndIncrement())) + ; + log.trace(" getFullName: New Full name={}", fullName); + + E2N.put(elem, fullName); + log.trace(" getFullName: END: Cached new FULL name: {}", fullName); + + return fullName; + } + + public void addElementToNamePair(@NonNull NamedElement elem, @NonNull String fullName) { + E2N.put(elem, fullName); + } + + protected String _getElementType(NamedElement e) { + if (e==null) { + log.error("Null element passed"); + } + else if (e instanceof ScalabilityRule) return "RUL"; + else if (e instanceof Event) return "EVT"; + else if (e instanceof Constraint) return "CON"; + else if (e instanceof MetricVariable) return "VAR"; + else if (e instanceof MetricContext) return "CTX"; + else if (e instanceof Metric) return "MET"; + else if (e instanceof MetricTemplate) return "TMP"; + else if (e instanceof OptimisationRequirement) return "OPT"; + else if (e instanceof ServiceLevelObjective) return "SLO"; + else if (e instanceof Requirement) return "REQ"; + else if (e instanceof ObjectContext) return "OBJ"; + else if (e instanceof Sensor) return "SNR"; + else if (e instanceof Function) return "FUN"; //XXX:TODO: Or FunctionDefinition ?? + else if (e instanceof Schedule) return "CTX"; + else if (e instanceof Window) return "CTX"; + else if (e instanceof ScalingAction) return "ACT"; + else { + //throw new ModelAnalysisException( String.format("Unknown element type: %s class=%s", e.getName(), e.getClass().getName()) ); + log.error("Unknown element type: {} class={}", e.getName(), e.getClass().getName()); + } + return "XXX"; + } + + // ==================================================================================================================================================== + // Function-Definition-related helper methods + + public Set getFunctionDefinitions() { + return new HashSet<>(FUNC); + } + + // ==================================================================================================================================================== + // Load-Metrics-related helper methods + + public void addLoadAnnotatedMetric(@NonNull String metricName) { + loadAnnotatedMetricsSet.add(metricName); + } + + public void addLoadAnnotatedMetrics(@NonNull Set metricNames) { + loadAnnotatedMetricsSet.addAll(metricNames); + } + + public Set getLoadAnnotatedMetricsSet() { + return new HashSet<>(loadAnnotatedMetricsSet); + } + + // ==================================================================================================================================================== + // Additional results helper methods + + public T getAdditionalResultsAs(String key, Class clazz) { + if (getAdditionalResults()==null) return null; + Object result = getAdditionalResults().get(key); + if (result==null) return null; + return clazz.cast(result); + } + + // ==================================================================================================================================================== + + /*public void prepareForSerialization() { + setDagForSerialization(TranslationContext.convertToSerializableDag(getDAG())); + } + + public void updateAfterSerialization() { + if (DAG!=null) { + DAG.clearDAG(); + } else { + DAG = new DAG(this::getFullName); + } + convertToDAG(this.dagForSerialization, this.DAG); + } + + public static Dag convertToSerializableDag(DAG dag) { + return new Dag( + dag.getAllDAGNodes(), + dag.getAllDAGEdges().stream() + .map(edge->new Edge(edge.getId(), edge.getSource().getId(), edge.getTarget().getId())) + .collect(Collectors.toSet()) + ); + } + + public static void convertToDAG(Dag sourceDag, DAG targetDAG) { + final Map vertices = new HashMap<>(); + sourceDag.getNodes().forEach(node -> { + targetDAG.addDAGNode(node); + vertices.put(node.getId(), node); + }); + sourceDag.getEdges().forEach(edge -> { + DAGNode src = vertices.get(edge.getSourceId()); + DAGNode trg = vertices.get(edge.getTargetId()); + targetDAG.addDAGEdge(src, trg); + }); + } + + @lombok.Data + public static class Edge implements Serializable { + private final long id; + private final long sourceId; + private final long targetId; + } + + @lombok.Data + public static class Dag implements Serializable { + private final Set nodes; + private final Set edges; + }*/ +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContextPrinter.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContextPrinter.java new file mode 100644 index 0000000..51a9996 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContextPrinter.java @@ -0,0 +1,176 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate; + +import gr.iccs.imu.ems.translate.model.NamedElement; +import gr.iccs.imu.ems.util.FunctionDefinition; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class TranslationContextPrinter { + private final TranslationContextPrinterProperties properties; + + public void printResults(TranslationContext _TC, String exportName) { + if (! properties.isPrintResults()) { + log.debug("TranslationContextPrinter.printResults(): Translation results printing is disabled"); + return; + } + + // Print analysis results + log.info("*********************************************************"); + log.info("**** T R A N S L A T I O N R E S U L T S ****"); + log.info("*********************************************************"); + log.info("Model Name: {}", _TC.getModelName()); + + // Print DAG + String dot = null; + if (properties.getDag().isExportToDotEnabled()) { + log.info("Decomposition Graph:\n{}", _TC.getDAG()); + log.info("*********************************************************"); + try { + if (_TC.getDAG().getRootNode()!=null) { + dot = _TC.getDAG().exportToDot(); + log.info("Decomposition Graph in DOT format:\n{}", dot); + } else { + log.warn("Decomposition Graph is empty."); + log.warn("Translation Context loaded from cache?"); + } + } catch (Exception ex) { + log.error("Decomposition Graph in DOT format: EXCEPTION: ", ex); + } + } + // Export DAG to files + if (properties.getDag().isExportToFileEnabled()) { + log.info("*********************************************************"); + log.info("Decomposition Graph export to file(s)"); + try { + // Get graph export configuration + String exportPath = properties.getDag().getExportPath(); + String[] exportFormats = properties.getDag().getExportFormats(); + int imageWidth = properties.getDag().getExportImageWidth(); + + // Get base name and path of export files + if (exportPath == null) exportPath = ""; + exportName = StringUtils.stripToEmpty(exportName); + if (exportName.isEmpty()) exportName = "noname"; + String baseFileName = String.format("%s/%s-%d", exportPath, exportName, System.currentTimeMillis()); + List exportFiles; + if (dot!=null) { + exportFiles = _TC.getDAG().exportDAG(dot, baseFileName, exportFormats, imageWidth); + } else { + exportFiles = _TC.getDAG().exportDAG(baseFileName, exportFormats, imageWidth); + } + _TC.setExportFiles(exportFiles); + //log.info("Decomposition Graph export to file(s): ok"); + } catch (Exception ex) { + log.error("Decomposition Graph export to file(s): EXCEPTION: ", ex); + } + } + + // Print other translation results + log.info("*********************************************************"); + log.info("Event-to-Action map:\n{}", map2string( _TC.getE2A() )); + log.info("*********************************************************"); + log.info("SLO set:\n{}", _TC.getSLO() ); + log.info("*********************************************************"); + log.info("Component-to-Sensor map:\n{}", map2string( _TC.getC2S() )); + log.info("*********************************************************"); + log.info("Data-to-Sensor map:\n{}", map2string( _TC.getD2S() )); + log.info("*********************************************************"); + log.info("Monitors:\n {}", _TC.getMONS() ); + log.info("*********************************************************"); + log.info("Grouping-to-EPL Rules map:\n{}", prettifyG2R(_TC.getG2R(), "")); + log.info("*********************************************************"); + log.info("Grouping-to-Topics map:\n{}", _TC.getG2T()); + log.info("*********************************************************"); + log.info("Topics-Connections map:\n{}", _TC.getTopicConnections()); + log.info("*********************************************************"); + log.info("Metric-to-Metric Context map:\n{}", map2string(_TC.getM2MC())); + log.info("*********************************************************"); + log.info("MVV set:\n{}", _TC.getMVV()); + log.info("*********************************************************"); + log.info("MVV_CP map:\n{}", _TC.getCompositeMetricVariables()); + log.info("*********************************************************"); + log.info("CMVAR set:\n{}", _TC.getCMVar()); + log.info("*********************************************************"); + log.info("Function Definitions set:\n{}", getFunctionNames(_TC.getFUNC())); + log.info("*********************************************************"); + log.info("Metric Constraints:\n{}", _TC.getMetricConstraints()); + log.info("*********************************************************"); + log.info("Load-Annotated Metrics:\n{}", _TC.getLoadAnnotatedMetricsSet()); + log.info("*********************************************************"); + log.info("Additional Results:\n{}", _TC.getAdditionalResults()); + log.info("*********************************************************"); + log.info("Export files:\n{}", _TC.getExportFiles()); + log.info("*********************************************************"); + } + + public String prettifyG2R(Map>> map, String startIdent) { + StringBuilder sb = new StringBuilder(); + String ident2 = startIdent+" "; + String ident3 = startIdent+" "; + String ident4 = startIdent+"\n "; + map.forEach((groupingName, groupingTopics) -> { + sb.append(startIdent).append("-----------------------\n"); + sb.append(startIdent).append(groupingName).append(": \n"); + groupingTopics.forEach((topicName, topicRules) -> { + sb.append(ident2).append(topicName).append(": \n"); + topicRules.forEach( + ruleStr -> { + ruleStr = ruleStr + .replace("\r\n", ident4) + .replace("\n", ident4); + sb.append(ident3).append("- ").append(ruleStr).append("\n"); + } + ); + }); + }); + return sb.toString(); + } + + protected Map> map2string(Map map) { + if (map==null) return null; + Map> newMap = new HashMap<>(); + for (Object key : map.keySet()) { + Set values = (Set) map.get(key); + ArrayList list = new ArrayList<>(); + if (key==null) { + newMap.put( key+"::"+key, list ); + } else + if (key instanceof NamedElement) { + newMap.put( key.getClass().getSimpleName()+"::"+((NamedElement)key).getName(), list ); + } else { + newMap.put( key.getClass().getSimpleName()+"::"+key, list ); + } + for (Object val : values) { + if (val instanceof NamedElement) { + list.add( val.getClass().getSimpleName()+"::"+((NamedElement)val).getName() ); + } else { + list.add( val.getClass().getSimpleName()+"::"+val ); + } + } + } + return newMap; + } + + protected Collection getFunctionNames(Collection col) { + return col.stream() + .map(FunctionDefinition::getName) + .collect(Collectors.toList()); + } +} \ No newline at end of file diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContextPrinterProperties.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContextPrinterProperties.java new file mode 100644 index 0000000..81af3b9 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslationContextPrinterProperties.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate; + +import gr.iccs.imu.ems.util.EmsConstant; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.validation.annotation.Validated; + +@Slf4j +@Data +@Validated +@Configuration +@ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX + "translator") +public class TranslationContextPrinterProperties implements InitializingBean { + private boolean printResults = true; + private Dag dag = new Dag(); + + @Override + public void afterPropertiesSet() throws Exception { + log.debug("TranslationContextPrinterProperties: {}", this); + } + + @Data + public static class Dag { + // Graph rendering/export + private boolean exportToDotEnabled = true; + private boolean exportToFileEnabled = true; + + // Graph rendering parameters + private String exportPath; + private String[] exportFormats; + private int exportImageWidth = -1; + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/Translator.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/Translator.java new file mode 100644 index 0000000..159646e --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/Translator.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate; + +public interface Translator { + TranslationContext translate(String modelPath); +} \ No newline at end of file diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslatorApplication.java_OFF b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslatorApplication.java_OFF new file mode 100644 index 0000000..9f2b62c --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/TranslatorApplication.java_OFF @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate; + +import gr.iccs.imu.ems.translate.camel.CamelToEplTranslator; +import gr.iccs.imu.ems.translate.camel.properties.CamelToEplTranslatorProperties; +import gr.iccs.imu.ems.translate.camel.properties.RuleTemplateProperties; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/* + * Run the 'TranslatorApplication' from command line + * + * 1) Compile application and retrieve dependencies: + * mvn clean package + * mvn dependency:copy-dependencies + * + * 2) Start CDO server and set its address (+ other settings) in CDO client config: + * File: eu.paasage.mddb.cdo.client.properties + * Property: host + * + * 3) Set environment variables: + * PAASAGE_CONFIG_DIR=.... + * EMS_CONFIG_DIR=.... + * SPRING_CONFIG_LOCATION=classpath:rule-templates.yml,file:${EMS_CONFIG_DIR}/ems-server.yml + * + * 4) Run the application: + * Windows: + * java -cp target\classes;target\dependency\* gr.iccs.imu.ems.translate.TranslatorApplication ...<>... + * Linux: + * java -cp target/classes:target/dependency/* gr.iccs.imu.ems.translate.TranslatorApplication ...<>... + */ +@Slf4j +@SpringBootApplication +public class TranslatorApplication implements CommandLineRunner { + + private static boolean standalone = false; + @Autowired + private CamelToEplTranslator translator; + @Autowired + private CamelToEplTranslatorProperties properties; + @Autowired + private RuleTemplateProperties ruleTemplates; + + public static void main(String[] args) { + standalone = true; + SpringApplication.run(TranslatorApplication.class, args); + } + + @Override + public void run(String... args) { + if (!standalone) return; // Execute only if called by 'main()' + + log.info("Testing CAMEL-to-EPL Translator"); + log.info("Args: {}", java.util.Arrays.asList(args)); + log.info("Properties: {}", properties); + log.info("Rule Templates: {}", ruleTemplates); + + String camelModelPath = (args.length > 0 && !args[0].trim().isEmpty()) ? args[0].trim() : "/camel-model"; + log.info("Camel-model: {}", camelModelPath); + translator.translate(camelModelPath); + } +} \ No newline at end of file diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAG.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAG.java new file mode 100644 index 0000000..51dde05 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAG.java @@ -0,0 +1,460 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.dag; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import gr.iccs.imu.ems.translate.model.NamedElement; +import guru.nidi.graphviz.engine.Format; +import guru.nidi.graphviz.engine.Graphviz; +import guru.nidi.graphviz.engine.GraphvizV8Engine; +import guru.nidi.graphviz.model.MutableGraph; +import guru.nidi.graphviz.parse.Parser; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.jgrapht.graph.DirectedAcyclicGraph; +import org.jgrapht.nio.Attribute; +import org.jgrapht.nio.AttributeType; +import org.jgrapht.nio.DefaultAttribute; +import org.jgrapht.nio.dot.DOTExporter; + +import java.io.File; +import java.io.StringWriter; +import java.io.Writer; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Slf4j +public class DAG { + // Graph-related fields + @JsonIgnore + private transient Function fullNameProvider = NamedElement::getName; + private DirectedAcyclicGraph _graph; + @JsonIgnore + private transient DAGNode _root; + @JsonIgnore + private transient Map _namedElementToNodesMapping; + @JsonIgnore + private transient Map _nameToNodesMapping; + + + public DAG() { + // let everything 'null' + } + + public DAG(Function fullNameProvider) { + this.fullNameProvider = fullNameProvider; + _graph = new DirectedAcyclicGraph<>(DAGEdge.class); + _root = new DAGNode(); + _graph.addVertex(_root); + _namedElementToNodesMapping = new HashMap<>(); + _nameToNodesMapping = new HashMap<>(); + } + + public DAGNode getRootNode() { + return _root; + } + + public Set getTopLevelNodes() { + log.debug("DAG.getTopLevelNodes()"); + if (_graph==null || _root==null) { + log.debug("DAG.getTopLevelNodes(): _graph or _root is null. Returning empty set"); + return Collections.emptySet(); + } + Set children = _graph.outgoingEdgesOf(_root).stream() + .map(DAGEdge::getTarget) + .collect(Collectors.toSet()); + log.debug("DAG.getTopLevelNodes(): top-level-nodes={}", children); + return children; + } + + public boolean isTopLevelNode(DAGNode node) { + Set parents = getParentNodes(node); + for (DAGNode parent : parents) { + if (parent == _root) return true; + } + return false; + } + + public Set getLeafNodes() { + Iterator it = _graph.iterator(); + Set leafs = new HashSet<>(); + it.forEachRemaining(node -> { + if (node != _root && _graph.outgoingEdgesOf(node).isEmpty()) { + leafs.add(node); + } + }); + return leafs; + } + + public Set getParentNodes(DAGNode node) { + Set edges = _graph.incomingEdgesOf(node); + return edges.stream().map(DAGEdge::getSource).collect(Collectors.toSet()); + } + + public Set getNodeChildren(DAGNode node) { + try { + //log.debug("DAG.getNodeChildren(): node={}", node); + Set children = _graph.outgoingEdgesOf(node).stream().map(DAGEdge::getTarget).collect(java.util.stream.Collectors.toSet()); + //log.debug("DAG.getNodeChildren(): parent={}, children={}", node, children); + return children; + } catch (IllegalArgumentException iae) { + log.warn("DAG.getNodeChildren(): Node not in DAG: node={}", node); + return null; + } + } + + // ==================================================================================================================================================== + // Add node methods + + public DAGNode addTopLevelNode(NamedElement elem) { + return addTopLevelNode(elem, null); + } + + public DAGNode addTopLevelNode(NamedElement elem, String effectiveFullName) { + if (elem == null) throw new IllegalArgumentException("DAG.addTopLevelNode(): Argument #1 cannot be null"); + + log.debug("DAG.addTopLevelNode(): top-level-element={}, effective-full-name={}", elem.getName(), effectiveFullName); + DAGNode node = _namedElementToNodesMapping.get(elem); + log.debug("DAG.addTopLevelNode(): cached-node={}", node); + if (node != null && effectiveFullName != null && !effectiveFullName.trim().isEmpty() && !node.getName().equals(effectiveFullName)) { + log.debug("DAG.addTopLevelNode(): Cached-node has different full-name than effective-full-name. A new node will be created: {} != {}", node.getName(), effectiveFullName); + node = null; + } + boolean newNode = false; + if (node == null) { + String fullName = (effectiveFullName == null || effectiveFullName.trim().isEmpty()) ? fullNameProvider.apply(elem) : effectiveFullName.trim(); + + if (!_nameToNodesMapping.containsKey(fullName)) { + + node = new DAGNode(elem, fullName); + newNode = _graph.addVertex(node); + if (newNode) log.debug("DAG.addTopLevelNode(): Element added in DAG: {}", node.getName()); + else log.debug("DAG.addTopLevelNode(): Element already in DAG and replaced: {}", node.getName()); + + _namedElementToNodesMapping.put(elem, node); + if (_nameToNodesMapping.put(node.getName(), node) != null) { + log.warn("DAG.addTopLevelNode(): _nameToNodesMapping: {}", _nameToNodesMapping); + throw new RuntimeException("Element name already exists in DAG: " + node.getName()); + } + + } else { + node = _nameToNodesMapping.get(fullName); + newNode = _graph.addVertex(node); + if (newNode) log.debug("DAG.addTopLevelNode()-2: Element added in DAG: {}", node.getName()); + else log.debug("DAG.addTopLevelNode()-2: Element already in DAG and replaced: {}", node.getName()); + + _namedElementToNodesMapping.put(elem, node); + } + } else { + log.debug("DAG.addTopLevelNode(): Element already in DAG: {}", node.getName()); + } + + DAGEdge edge = new DAGEdge(); + boolean newEdge = _graph.addEdge(_root, node, edge); + if (newNode) log.debug("DAG.addTopLevelNode(): Element set as Top-Level in DAG: {}", node.getName()); + else log.debug("DAG.addTopLevelNode(): Element is already set as Top-Level in DAG: {}", node.getName()); + + return node; + } + + public DAGNode addNode(NamedElement parent, NamedElement elem) { + if (parent == null) throw new IllegalArgumentException("DAG.addNode(): Argument #1 'parent' cannot be null"); + if (elem == null) throw new IllegalArgumentException("DAG.addNode(): Argument #2 'elem' cannot be null"); + + log.debug("DAG.addNode(): parent={}, element={}", parent.getName(), elem.getName()); + DAGNode node = _namedElementToNodesMapping.get(elem); + log.debug("DAG.addNode(): cached-node={}", node); + boolean newNode = false; + if (node == null) { + String fullName = fullNameProvider.apply(elem); + + if (!_nameToNodesMapping.containsKey(fullName)) { + + node = new DAGNode(elem, fullName); + newNode = _graph.addVertex(node); + if (newNode) log.debug("DAG.addNode(): Element added in DAG: {}", node.getName()); + else log.debug("DAG.addNode(): Element already in DAG and replaced: {}", node.getName()); + + _namedElementToNodesMapping.put(elem, node); + if (_nameToNodesMapping.put(node.getName(), node) != null) { + log.warn("DAG.addNode(): _nameToNodesMapping: {}", _nameToNodesMapping); + throw new RuntimeException("Element name already exists in DAG: " + node.getName()); + } + + } else { + node = _nameToNodesMapping.get(fullName); + newNode = _graph.addVertex(node); + if (newNode) log.debug("DAG.addNode()-2: Element added in DAG: {}", node.getName()); + else log.debug("DAG.addNode()-2: Element already in DAG and replaced: {}", node.getName()); + + _namedElementToNodesMapping.put(elem, node); + } + } else { + log.debug("DAG.addNode(): Element already in DAG: {}", node.getName()); + } + + DAGNode parentNode = _namedElementToNodesMapping.get(parent); + DAGEdge edge = new DAGEdge(); + boolean newEdge = _graph.addEdge(parentNode, node, edge); + if (newNode) log.debug("DAG.addNode(): Edge added in DAG: {} --> {} ", parent.getName(), node.getName()); + else log.debug("DAG.addNode(): Edge is already in DAG: {} --> {}", parent.getName(), node.getName()); + + return node; + } + + // ==================================================================================================================================================== + // Remove node method + + public DAGNode removeNode(NamedElement elem) { + if (elem == null) throw new IllegalArgumentException("DAG.removeNode(): Argument cannot be null"); + + // check if children nodes exist + DAGNode node = _namedElementToNodesMapping.get(elem); + if (node == null) { + log.warn("DAG.removeNode(): Element not found (_namedElementToNodesMapping): {}", elem.getName()); + return null; + } + Set edges = _graph.outgoingEdgesOf(node); + if (edges != null && edges.size() > 0) + throw new RuntimeException("Element being removed has children: " + node.getName()); + + // remove node from DAG + _graph.removeVertex(node); // This also removes edges touching this node + _namedElementToNodesMapping.remove(elem); + log.debug("DAG.removeNode(): Element removed from DAG: {}", node.getName()); + + return node; + } + + // ==================================================================================================================================================== + // Add/Remove edge methods + + public DAGEdge addEdge(NamedElement elemFrom, NamedElement elemTo) { + if (elemFrom == null) + throw new IllegalArgumentException("DAG.addEdge(): Argument #1 'elemFrom' cannot be null"); + if (elemTo == null) throw new IllegalArgumentException("DAG.addEdge(): Argument #2 'elemTo' cannot be null"); + + Iterator it = _graph.iterator(); + DAGNode nodeFrom = null; + DAGNode nodeTo = null; + while (it.hasNext() && (nodeFrom == null || nodeTo == null)) { + DAGNode node = it.next(); + if (node.getElement() == elemFrom) nodeFrom = node; + if (node.getElement() == elemTo) nodeTo = node; + } + if (nodeFrom != null && nodeTo != null) { + DAGEdge edge = new DAGEdge(); + boolean newEdge = _graph.addEdge(nodeFrom, nodeTo, edge); + if (newEdge) log.debug("DAG.addEdge(): Edge added in DAG: {} --> {} ", elemFrom.getName(), elemTo.getName()); + else log.debug("DAG.addEdge(): Edge is already in DAG: {} --> {}", elemFrom.getName(), elemTo.getName()); + return edge; + } else { + throw new RuntimeException(String.format("Adding edge FAILED: elem-from=%s -> elem-to=%s. Node not found in DAG: node-from=%s --> node-to=%s", + elemFrom.getName(), elemTo.getName(), (nodeFrom != null ? nodeFrom.getName() : null), (nodeTo != null ? nodeTo.getName() : null))); + } + } + + public DAGEdge addEdge(String elemFrom, String elemTo) { + if (elemFrom == null) + throw new IllegalArgumentException("DAG.addEdge(): Argument #1 'elemFrom' cannot be null"); + if (elemTo == null) throw new IllegalArgumentException("DAG.addEdge(): Argument #2 'elemTo' cannot be null"); + log.debug("DAG.addEdge(): Adding edge in DAG: {} --> {} ", elemFrom, elemTo); + + Iterator it = _graph.iterator(); + DAGNode nodeFrom = null; + DAGNode nodeTo = null; + while (it.hasNext() && (nodeFrom == null || nodeTo == null)) { + DAGNode node = it.next(); + if (elemFrom.equals(node.getName())) nodeFrom = node; + if (elemTo.equals(node.getName())) nodeTo = node; + } + if (nodeFrom != null && nodeTo != null) { + DAGEdge edge = new DAGEdge(); + boolean newEdge = _graph.addEdge(nodeFrom, nodeTo, edge); + if (newEdge) log.debug("DAG.addEdge(): Edge added in DAG: {} --> {} ", elemFrom, elemTo); + else log.debug("DAG.addEdge(): Edge is already in DAG: {} --> {}", elemFrom, elemTo); + return edge; + } else { + throw new RuntimeException(String.format("Adding edge FAILED: elem-from=%s -> elem-to=%s. Node not found in DAG: node-from=%s --> node-to=%s", + elemFrom, elemTo, (nodeFrom != null ? nodeFrom.getName() : null), (nodeTo != null ? nodeTo.getName() : null))); + } + } + + public DAGEdge removeEdge(NamedElement elemFrom, NamedElement elemTo) { + if (elemFrom == null) + throw new IllegalArgumentException("DAG.removeEdge(): Argument #1 'elemFrom' cannot be null"); + if (elemTo == null) throw new IllegalArgumentException("DAG.removeEdge(): Argument #2 'elemTo' cannot be null"); + + Iterator it = _graph.iterator(); + DAGNode nodeFrom = null; + DAGNode nodeTo = null; + while (it.hasNext() && (nodeFrom == null || nodeTo == null)) { + DAGNode node = it.next(); + if (node.getElement() == elemFrom) nodeFrom = node; + if (node.getElement() == elemTo) nodeTo = node; + } + if (nodeFrom != null && nodeTo != null) { + DAGEdge deletedEdge = _graph.removeEdge(nodeFrom, nodeTo); + if (deletedEdge != null) + log.debug("DAG.removeEdge(): Edge removed from DAG: {} --> {} ", elemFrom.getName(), elemTo.getName()); + else log.warn("DAG.removeEdge(): Edge not found in DAG: {} --> {}", elemFrom.getName(), elemTo.getName()); + return deletedEdge; + } else { + throw new RuntimeException(String.format("Removing edge FAILED: elem-from=%s -> elem-to=%s. Node not found in DAG: node-from=%s --> node-to=%s", + elemFrom.getName(), elemTo.getName(), (nodeFrom != null ? nodeFrom.getName() : null), (nodeTo != null ? nodeTo.getName() : null))); + } + } + + public DAGEdge removeEdge(DAGNode nodeFrom, DAGNode nodeTo) { + if (nodeFrom == null) + throw new IllegalArgumentException("DAG.removeEdge(): Argument #1 'nodeFrom' cannot be null"); + if (nodeTo == null) throw new IllegalArgumentException("DAG.removeEdge(): Argument #2 'nodeTo' cannot be null"); + + DAGEdge deletedEdge = _graph.removeEdge(nodeFrom, nodeTo); + if (deletedEdge != null) + log.debug("DAG.removeEdge(): Edge removed from DAG: {} --> {} ", nodeFrom.getElementName(), nodeTo.getElementName()); + else + log.warn("DAG.removeEdge(): Edge not found in DAG: {} --> {}", nodeFrom.getElementName(), nodeTo.getElementName()); + return deletedEdge; + } + + // ==================================================================================================================================================== + // Traverse, query and modify graph methods + + public void traverseDAG(java.util.function.Consumer action) { + log.debug("DAG.traverseDAG(): Traversing graph: Begin"); + _graph.iterator().forEachRemaining(action); + log.debug("DAG.traverseDAG(): Traversing graph: End"); + } + + public Set getAllDAGNodes() { + return _graph.vertexSet(); + } + + public Set getAllDAGEdges() { + return _graph.edgeSet(); + } + + public void clearDAG() { + _graph.removeAllEdges(_graph.edgeSet()); + _graph.removeAllVertices(_graph.vertexSet()); + } + + public void addDAGNode(DAGNode node) { + _graph.addVertex(node); + } + + public void addDAGEdge(DAGNode src, DAGNode trg) { + _graph.addEdge(src, trg); + } + + // ==================================================================================================================================================== + // Export methods + + public String exportToDot() { + if (_graph==null) { + log.warn("DAG.exportToDot(): Cannot export: DAG has not been initialized"); + return null; + } + + DOTExporter exporter = new DOTExporter<>(node -> "NODE_" + node.getId()); + exporter.setVertexAttributeProvider(node -> { + LinkedHashMap vertexAttributes = new LinkedHashMap<>(); + String label; + if (node.getName() != null) { + if (node.getGrouping() != null) { + label = String.format("%s\n[%s]", node.getName(), node.getGrouping()); + } else { + label = node.getName(); + } + } else { + label = ""; + } + // See: https://graphviz.org/doc/info/attrs.html + vertexAttributes.put("label", new DefaultAttribute<>(label, AttributeType.STRING)); + /* + vertexAttributes.put("color", new DefaultAttribute<>("red", AttributeType.STRING)); + vertexAttributes.put("fontcolor", new DefaultAttribute<>("yellow", AttributeType.STRING)); + vertexAttributes.put("fillcolor", new DefaultAttribute<>("cyan:green;0.3", AttributeType.STRING)); + vertexAttributes.put("style", new DefaultAttribute<>("radial", AttributeType.STRING)); + vertexAttributes.put("gradientangle", new DefaultAttribute<>(60, AttributeType.INT)); + */ + return vertexAttributes; + }); + Writer writer = new StringWriter(); + exporter.exportGraph(_graph, writer); + return writer.toString(); + } + + public List exportDAG(String baseFileName, String[] exportFormats, int imageWidth) { + try { + if (!checkExportConfiguration(baseFileName, exportFormats, imageWidth)) return null; + + // Export DAG in DOT format (can be viewd with GraphViz tool) + String dot = exportToDot(); + log.debug("DAG.exportDAG(): Results of exportToDot(): Graph in DOT format:\n{}", dot); + if (dot==null) { + log.warn("DAG.exportDAG(): Cannot export: DAG has not been initialized"); + return null; + } + + // Export DOT into specified formats and save to file(s) + return exportDAG(dot, baseFileName, exportFormats, imageWidth); + + } catch (Exception ex) { + log.error("DAG.exportDAG(): Graph export FAILED: ", ex); + return null; + } + } + + public List exportDAG(@NonNull String dot, String baseFileName, String[] exportFormats, int imageWidth) { + try { + if (!checkExportConfiguration(baseFileName, exportFormats, imageWidth)) return null; + + // Configure Graphviz rendering engine to V8. It's faster + // See also: https://github.com/nidi3/graphviz-java + Graphviz.useEngine(new GraphvizV8Engine()); + + // Export DOT into specified formats and save to file(s) + List exportFilesList = new LinkedList<>(); + MutableGraph mg = new Parser().read(dot); + for (String f : exportFormats) { + Format fmt = Format.valueOf(f.toUpperCase()); + String exportFile = baseFileName + "." + f; + Graphviz.fromGraph(mg).width(imageWidth).render(fmt).toFile(new File(exportFile)); + exportFilesList.add(exportFile); + log.info("DAG.exportDAG(): Graph exported in {} format: {}", fmt, exportFile); + } + return exportFilesList; + + } catch (Exception ex) { + log.error("DAG.exportDAG(): Graph export FAILED: ", ex); + return null; + } + } + + protected boolean checkExportConfiguration(String baseFileName, String[] exportFormats, int imageWidth) { + // check export configuration + if (exportFormats == null || exportFormats.length == 0) { + log.warn("DAG.checkExportConfiguration(): No export formats specified for Graph export: {}", Arrays.toString(exportFormats)); + return false; + } + if (imageWidth < 1) { + log.warn("DAG.checkExportConfiguration(): Invalid image width for Graph export: {}", imageWidth); + return false; + } + return true; + } + + public String toString() { + return _graph!=null ? _graph.toString() : null; + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAGEdge.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAGEdge.java new file mode 100644 index 0000000..7c194f8 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAGEdge.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.dag; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import org.jgrapht.graph.DefaultEdge; + +import java.util.concurrent.atomic.AtomicLong; + +@RequiredArgsConstructor +public class DAGEdge extends DefaultEdge { + private final static AtomicLong edgeCounter = new AtomicLong(); + + @Getter + private final long id; + + public DAGEdge() { + id = edgeCounter.getAndIncrement(); + } + + public DAGNode getSource() { + return (DAGNode) super.getSource(); + } + + public DAGNode getTarget() { + return (DAGNode) super.getTarget(); + } + + public int hashCode() { + return toString().hashCode(); + } + + public boolean equals(Object o) { + return (o instanceof DAGEdge) && (toString().equals(o.toString())); + } + + public String toString() { + return "EDGE #" + id; + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAGNode.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAGNode.java new file mode 100644 index 0000000..336a308 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/dag/DAGNode.java @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.dag; + +import gr.iccs.imu.ems.translate.Grouping; +import gr.iccs.imu.ems.translate.model.NamedElement; +import lombok.Getter; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; + +import java.io.Serializable; +import java.util.Objects; +import java.util.concurrent.atomic.AtomicLong; + +@Getter +@RequiredArgsConstructor +public class DAGNode implements Serializable { + private final static AtomicLong counter = new AtomicLong(); + + private final long id; + private final String name; + private final NamedElement element; + private final String elementName; + private Grouping grouping; + + DAGNode() { + id = counter.getAndIncrement(); + element = null; + elementName = null; + name = null; + } + + public DAGNode(@NonNull NamedElement elem, @NonNull String fullName) { + id = counter.getAndIncrement(); + element = elem; + elementName = element.getName(); + name = fullName; + } + + public DAGNode setGrouping(Grouping g) { + grouping = g; + return this; + } + + public int hashCode() { + return toString().hashCode(); + } + + public boolean equals(Object o) { + return (o instanceof DAGNode) && (toString().equals(o.toString())); + } + + public String toString() { + return "NODE "+ Objects.requireNonNullElse(name, ""); + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/AbstractInterfaceRootObject.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/AbstractInterfaceRootObject.java new file mode 100644 index 0000000..32a3e89 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/AbstractInterfaceRootObject.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; +import java.util.Map; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public abstract class AbstractInterfaceRootObject extends AbstractRootObject { + protected Map additionalProperties; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/AbstractRootObject.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/AbstractRootObject.java new file mode 100644 index 0000000..2f503da --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/AbstractRootObject.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +public abstract class AbstractRootObject implements Serializable { + @JsonProperty("@objectClass") + private final String _objectClass = getClass().getName(); + + @JsonIgnore + protected transient Object object; + protected NamedElement container; + + public T getObject(Class c) { + return c.cast(object); + } + + public T getContainer(Class c) { + return c.cast(container); + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Action.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Action.java new file mode 100644 index 0000000..4e9b558 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Action.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Action extends Feature { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Annotation.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Annotation.java new file mode 100644 index 0000000..78e7111 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Annotation.java @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Annotation extends AbstractRootObject { + protected String id; + protected String uri; + protected boolean implemented; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Attribute.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Attribute.java new file mode 100644 index 0000000..1e585ff --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Attribute.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Attribute extends NamedElement { + private Object value; + private ValueType valueType; + private String unit; + private Object minValue; + private Object maxValue; + private boolean minInclusive; + private boolean maxInclusive; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BinaryEventPattern.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BinaryEventPattern.java new file mode 100644 index 0000000..3c2a5e6 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BinaryEventPattern.java @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class BinaryEventPattern extends EventPattern { + private Event leftEvent; + private Event rightEvent; + private double lowerOccurrenceBound; + private double upperOccurrenceBound; + private BinaryPatternOperatorType operator; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BinaryPatternOperatorType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BinaryPatternOperatorType.java new file mode 100644 index 0000000..9861f81 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BinaryPatternOperatorType.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum BinaryPatternOperatorType { + AND, OR, XOR, PRECEDES, REPEAT_UNTIL +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BooleanValue.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BooleanValue.java new file mode 100644 index 0000000..7e34bd9 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/BooleanValue.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class BooleanValue extends Value { + private boolean value; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ComparisonOperatorType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ComparisonOperatorType.java new file mode 100644 index 0000000..6d1696e --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ComparisonOperatorType.java @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor +public enum ComparisonOperatorType { + GREATER_THAN("GREATER_THAN", ">"), + GREATER_EQUAL_THAN("GREATER_EQUAL_THAN", ">="), + LESS_THAN("LESS_THAN", "<"), + LESS_EQUAL_THAN("LESS_EQUAL_THAN", "<="), + EQUAL("EQUAL", "="), + NOT_EQUAL("NOT_EQUAL", "<>"); + + private final String name; + private final String operator; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Component.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Component.java new file mode 100644 index 0000000..0be04c8 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Component.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Component extends Feature { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeConstraint.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeConstraint.java new file mode 100644 index 0000000..bd6c393 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeConstraint.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class CompositeConstraint extends Constraint { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeMetric.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeMetric.java new file mode 100644 index 0000000..09af481 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeMetric.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class CompositeMetric extends Metric { + private String formula; + @Builder.Default + private List componentMetrics = new ArrayList<>(); + + public boolean containsMetric(Metric m) { + return componentMetrics.contains(m); + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeMetricContext.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeMetricContext.java new file mode 100644 index 0000000..2419b25 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CompositeMetricContext.java @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class CompositeMetricContext extends MetricContext { + private GroupingType groupingType; + @Builder.Default + private List composingMetricContexts = new ArrayList<>(); + private Window window; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Constraint.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Constraint.java new file mode 100644 index 0000000..7639a7e --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Constraint.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Constraint extends NamedElement { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CriterionType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CriterionType.java new file mode 100644 index 0000000..66f6d62 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/CriterionType.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum CriterionType { + INSTANCE, HOST, ZONE, REGION, CLOUD, TIMESTAMP, CUSTOM +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Data.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Data.java new file mode 100644 index 0000000..c1fcf9b --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Data.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@lombok.Data +@SuperBuilder() +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Data extends Feature { + private DataSource dataSource; + @Builder.Default + private List includedData = new ArrayList<>(); +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/DataSource.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/DataSource.java new file mode 100644 index 0000000..9f0cbc9 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/DataSource.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class DataSource extends Feature { + private boolean external; + private Component component; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/DoubleValue.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/DoubleValue.java new file mode 100644 index 0000000..f63e2bb --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/DoubleValue.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class DoubleValue extends NumericValue { + private double value; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Event.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Event.java new file mode 100644 index 0000000..2eeeaaf --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Event.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Event extends Feature { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/EventPattern.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/EventPattern.java new file mode 100644 index 0000000..4e74576 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/EventPattern.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class EventPattern extends Event { + private Timer timer; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Feature.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Feature.java new file mode 100644 index 0000000..98582f4 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Feature.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Feature extends NamedElement { + protected List attributes; + protected List subFeatures; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/FloatValue.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/FloatValue.java new file mode 100644 index 0000000..5686da2 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/FloatValue.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class FloatValue extends NumericValue { + private float value; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Function.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Function.java new file mode 100644 index 0000000..d57ba2f --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Function.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Function extends Feature { + private String expression; + @Builder.Default + private List arguments = new ArrayList<>(); +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/GroupingType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/GroupingType.java new file mode 100644 index 0000000..8c23c9a --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/GroupingType.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum GroupingType { + PER_INSTANCE, PER_HOST, PER_ZONE, PER_REGION, PER_CLOUD, GLOBAL +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/IfThenConstraint.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/IfThenConstraint.java new file mode 100644 index 0000000..7f7cd55 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/IfThenConstraint.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class IfThenConstraint extends CompositeConstraint { + private Constraint ifConstraint; + private Constraint thenConstraint; + private Constraint elseConstraint; + + public Constraint getIf() { + return ifConstraint; + } + + public Constraint getThen() { + return thenConstraint; + } + + public Constraint getElse() { + return elseConstraint; + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/IntValue.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/IntValue.java new file mode 100644 index 0000000..f534049 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/IntValue.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class IntValue extends NumericValue { + private int value; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Interval.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Interval.java new file mode 100644 index 0000000..0680763 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Interval.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +// See: eu.melodic.models.interfaces.Interval +public class Interval extends AbstractInterfaceRootObject { + @ToString + public enum UnitType { DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS } + + private UnitType unit; + private int period; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LoadMetricVariable.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LoadMetricVariable.java new file mode 100644 index 0000000..f6eb633 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LoadMetricVariable.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class LoadMetricVariable extends MetricVariable { + public LoadMetricVariable(String name, MetricContext context) { + setName(name); + setMetricContext(context); + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LogicalConstraint.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LogicalConstraint.java new file mode 100644 index 0000000..ff41a76 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LogicalConstraint.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.NonNull; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class LogicalConstraint extends CompositeConstraint { + private LogicalOperatorType logicalOperator; + @Builder.Default + private List constraints = new ArrayList<>(); + + public boolean containsConstraint(@NonNull Constraint c) { + return constraints.contains(c); + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LogicalOperatorType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LogicalOperatorType.java new file mode 100644 index 0000000..4ce6f13 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/LogicalOperatorType.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum LogicalOperatorType { + AND, OR, XOR +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MeasurableAttribute.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MeasurableAttribute.java new file mode 100644 index 0000000..034888c --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MeasurableAttribute.java @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MeasurableAttribute extends Attribute { + @Builder.Default + private List sensors = new ArrayList<>(); +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Metric.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Metric.java new file mode 100644 index 0000000..1dfe13a --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Metric.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Metric extends Feature { + protected MetricTemplate metricTemplate; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricConstraint.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricConstraint.java new file mode 100644 index 0000000..cd45f32 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricConstraint.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MetricConstraint extends UnaryConstraint { + private MetricContext metricContext; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricContext.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricContext.java new file mode 100644 index 0000000..3198c75 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricContext.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MetricContext extends Feature { + private Metric metric; + private Schedule schedule; + private ObjectContext objectContext; + + public String getComponentName() { + if (objectContext==null) return null; + if (objectContext.getComponent()!=null) return objectContext.getComponent().getName(); + return null; + } + + public String getDataName() { + if (objectContext==null) return null; + if (objectContext.getData()!=null) return objectContext.getData().getName(); + return null; + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricTemplate.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricTemplate.java new file mode 100644 index 0000000..a7d9487 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricTemplate.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MetricTemplate extends Feature { + private ValueType valueType; + private short valueDirection; + private String unit; + private MeasurableAttribute attribute; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricVariable.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricVariable.java new file mode 100644 index 0000000..974df1c --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricVariable.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MetricVariable extends Metric { + private boolean currentConfiguration; + private Component component; + private boolean onNodeCandidates; + private String formula; + @Builder.Default + private List componentMetrics = new ArrayList<>(); + private MetricContext metricContext; + + public boolean containsMetric(Metric m) { + return componentMetrics.contains(m); + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricVariableConstraint.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricVariableConstraint.java new file mode 100644 index 0000000..2e882ce --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/MetricVariableConstraint.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MetricVariableConstraint extends UnaryConstraint { + private MetricVariable metricVariable; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Monitor.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Monitor.java new file mode 100644 index 0000000..74655be --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Monitor.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; +import java.util.Map; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +// See: eu.melodic.models.interfaces.Monitor +public class Monitor extends AbstractInterfaceRootObject { + private String metric; + private String component; + private Sensor sensor; + private List sinks; + private Map tags; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NamedElement.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NamedElement.java new file mode 100644 index 0000000..03d8da2 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NamedElement.java @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class NamedElement extends AbstractRootObject { + protected String name; + protected String description; + protected List annotations; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NonFunctionalEvent.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NonFunctionalEvent.java new file mode 100644 index 0000000..16d6e19 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NonFunctionalEvent.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class NonFunctionalEvent extends SingleEvent { + private MetricConstraint metricConstraint; + private boolean isViolation; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NumericValue.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NumericValue.java new file mode 100644 index 0000000..03ba42a --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/NumericValue.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class NumericValue extends Value { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ObjectContext.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ObjectContext.java new file mode 100644 index 0000000..b4614d3 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ObjectContext.java @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ObjectContext extends Feature { + private Component component; + private Data data; + //private Communication communication; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/OptimisationRequirement.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/OptimisationRequirement.java new file mode 100644 index 0000000..67f98dd --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/OptimisationRequirement.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class OptimisationRequirement extends Requirement { // SoftRequirement + private double priority; + private MetricContext metricContext; + private MetricVariable metricVariable; + private boolean minimise; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/PullSensor.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/PullSensor.java new file mode 100644 index 0000000..bc06dbb --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/PullSensor.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.HashMap; +import java.util.Map; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +// Based on: eu.melodic.models.interfaces.PullSensor +public class PullSensor extends Sensor { + private String className; + @Builder.Default + private Map configuration = new HashMap<>(); + private Interval interval; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/PushSensor.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/PushSensor.java new file mode 100644 index 0000000..b0de16d --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/PushSensor.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +// Based on: eu.melodic.models.interfaces.PushSensor +public class PushSensor extends Sensor { + private int port; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/RawMetric.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/RawMetric.java new file mode 100644 index 0000000..d8d5fe2 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/RawMetric.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RawMetric extends Metric { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/RawMetricContext.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/RawMetricContext.java new file mode 100644 index 0000000..8edb825 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/RawMetricContext.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RawMetricContext extends MetricContext { + private Sensor sensor; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Requirement.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Requirement.java new file mode 100644 index 0000000..6cb3588 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Requirement.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Requirement extends Feature { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ScalabilityRule.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ScalabilityRule.java new file mode 100644 index 0000000..9ba36de --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ScalabilityRule.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ScalabilityRule extends Feature { + private Event event; + @Builder.Default + private List actions = new ArrayList<>(); +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ScalingAction.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ScalingAction.java new file mode 100644 index 0000000..cc8df30 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ScalingAction.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ScalingAction extends Action { + private Component component; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Schedule.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Schedule.java new file mode 100644 index 0000000..d74f3cf --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Schedule.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.concurrent.TimeUnit; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Schedule extends Feature { + private Date start; + private Date end; + private String timeUnit; + private long interval; + private int repetitions; + + public long getIntervalInMillis() { + if (timeUnit == null) return interval; + return TimeUnit.MILLISECONDS.convert(interval, TimeUnit.valueOf(timeUnit.toUpperCase())); + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Sensor.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Sensor.java new file mode 100644 index 0000000..b037f24 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Sensor.java @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Map; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Sensor extends Component { + private String configurationStr; + private boolean isPush; + + public Map additionalProperties; + + public boolean isPullSensor() { + return !isPush; + } + + public boolean isPushSensor() { + return isPush; + } + + public PullSensor pullSensor() { + if (this instanceof PullSensor) + return (PullSensor) this; + throw new IllegalArgumentException("Not a Pull sensor: " + this.getName()); + } + + public PushSensor pushSensor() { + if (this instanceof PushSensor) + return (PushSensor) this; + throw new IllegalArgumentException("Not a Push sensor: " + this.getName()); + } +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ServiceLevelObjective.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ServiceLevelObjective.java new file mode 100644 index 0000000..66f6861 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ServiceLevelObjective.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ServiceLevelObjective extends Requirement { // HardRequirement + private Constraint constraint; + private Event violationEvent; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/SingleEvent.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/SingleEvent.java new file mode 100644 index 0000000..a6f50be --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/SingleEvent.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SingleEvent extends Feature { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Sink.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Sink.java new file mode 100644 index 0000000..8d9d805 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Sink.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.HashMap; +import java.util.Map; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +// See: eu.melodic.models.interfaces.Sink +public class Sink extends AbstractInterfaceRootObject { + public enum Type { /*CLI, KAIROS_DB,*/ INFLUX, JMS } + + private Type type; + private String component; + @Builder.Default + private Map configuration = new HashMap<>(); +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/StringValue.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/StringValue.java new file mode 100644 index 0000000..e849300 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/StringValue.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class StringValue extends Value { + private String value; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Timer.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Timer.java new file mode 100644 index 0000000..65e5f03 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Timer.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Timer extends Feature { + private TimerType type; + private int timeValue; + private int maxOccurrenceNum; + private String unit; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/TimerType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/TimerType.java new file mode 100644 index 0000000..457369c --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/TimerType.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum TimerType { + WITHIN, WITHIN_MAX, INTERVAL +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryConstraint.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryConstraint.java new file mode 100644 index 0000000..6af266b --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryConstraint.java @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class UnaryConstraint extends Constraint { + private Date validity; + private ComparisonOperatorType comparisonOperator; + private double threshold; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryEventPattern.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryEventPattern.java new file mode 100644 index 0000000..4bba0df --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryEventPattern.java @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class UnaryEventPattern extends EventPattern { + private Event event; + private double occurrenceNum; + private UnaryPatternOperatorType operator; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryPatternOperatorType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryPatternOperatorType.java new file mode 100644 index 0000000..7d777ea --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/UnaryPatternOperatorType.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum UnaryPatternOperatorType { + EVERY, NOT, REPEAT, WHEN +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Value.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Value.java new file mode 100644 index 0000000..d14c1a4 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Value.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Value extends AbstractRootObject { +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ValueType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ValueType.java new file mode 100644 index 0000000..10307fb --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/ValueType.java @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum ValueType { + //getPrimitiveType + INT_TYPE, STRING_TYPE, BOOLEAN_TYPE, FLOAT_TYPE, DOUBLE_TYPE, + IntType, StringType, BooleanType, FloatType, DoubleType +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/VariableType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/VariableType.java new file mode 100644 index 0000000..4885840 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/VariableType.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor +public enum VariableType { + CPU("cpu"), + CORES("cores"), + RAM("ram"), + STORAGE("storage"), + PROVIDER("provider"), + CARDINALITY("cardinality"), + OS("os"), + LOCATION("location"), + LATITUDE("latitude"), + LONGITUDE("longitude"); + + private final String name; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Window.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Window.java new file mode 100644 index 0000000..c75b7ca --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/Window.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Window extends Feature { + private String timeUnit; + private WindowType windowType; + private WindowSizeType sizeType; + private long measurementSize; + private long timeSize; + @Builder.Default + private List processings = null; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowCriterion.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowCriterion.java new file mode 100644 index 0000000..cb5ee4b --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowCriterion.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class WindowCriterion extends NamedElement { + private Metric metric; + private CriterionType type; + private String custom; + private boolean ascending; +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowProcessing.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowProcessing.java new file mode 100644 index 0000000..94c89d1 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowProcessing.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@lombok.Data +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class WindowProcessing extends Feature { + private WindowProcessingType processingType; + @Builder.Default + private List groupingCriteria = new ArrayList<>(); + @Builder.Default + private List rankingCriteria = new ArrayList<>(); +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowProcessingType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowProcessingType.java new file mode 100644 index 0000000..ce84845 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowProcessingType.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum WindowProcessingType { + GROUP, SORT, RANK +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowSizeType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowSizeType.java new file mode 100644 index 0000000..d378804 --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowSizeType.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum WindowSizeType { + MEASUREMENTS_ONLY, TIME_ONLY, FIRST_MATCH, BOTH_MATCH, TIME_ACCUM, TIME_ORDER +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowType.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowType.java new file mode 100644 index 0000000..d1064bf --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/model/WindowType.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.model; + +public enum WindowType { + FIXED, SLIDING +} diff --git a/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/mvv/MetricVariableValuesService.java b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/mvv/MetricVariableValuesService.java new file mode 100644 index 0000000..a810cfe --- /dev/null +++ b/ems-core/translator/src/main/java/gr/iccs/imu/ems/translate/mvv/MetricVariableValuesService.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.translate.mvv; + +import gr.iccs.imu.ems.translate.TranslationContext; + +import java.util.Map; +import java.util.Set; + +public interface MetricVariableValuesService { + void init(); + Map getMatchingMetricVariableValues(String cpModelPath, TranslationContext _TC); + Map getMetricVariableValues(String cpModelPath, Set variableNames); +} diff --git a/ems-core/translator/src/main/resources/banner-alternative.txt b/ems-core/translator/src/main/resources/banner-alternative.txt new file mode 100644 index 0000000..80fb379 --- /dev/null +++ b/ems-core/translator/src/main/resources/banner-alternative.txt @@ -0,0 +1,7 @@ + ______ __ ___ __________ __ + / ____/___ _____ ___ ___ / / |__ \ / ____/ __ \/ / + / / / __ `/ __ `__ \/ _ \/ / __/ / / __/ / /_/ / / +/ /___/ /_/ / / / / / / __/ / / __/ / /___/ ____/ /___ +\____/\__,_/_/ /_/ /_/\___/_/ /____/ /_____/_/ /_____/ + + \ No newline at end of file diff --git a/ems-core/translator/src/main/resources/banner.txt b/ems-core/translator/src/main/resources/banner.txt new file mode 100644 index 0000000..efd1f4e --- /dev/null +++ b/ems-core/translator/src/main/resources/banner.txt @@ -0,0 +1,8 @@ + _____ _ ___ ______ _____ _ + / ____| | | |__ \ | ____| __ \| | + | | __ _ _ __ ___ ___| | ) | | |__ | |__) | | + | | / _` | '_ ` _ \ / _ \ | / / | __| | ___/| | + | |___| (_| | | | | | | __/ | / /_ | |____| | | |____ + \_____\__,_|_| |_| |_|\___|_| |____| |______|_| |______| + + \ No newline at end of file diff --git a/ems-core/translator/src/main/resources/rule-templates.yml b/ems-core/translator/src/main/resources/rule-templates.yml new file mode 100644 index 0000000..65d85d3 --- /dev/null +++ b/ems-core/translator/src/main/resources/rule-templates.yml @@ -0,0 +1,237 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +# EPL Rule templates per Element-Type and Monitoring-Grouping + +DOLLAR: '$' +translator.generator: + language: EPL + rule-templates: + # SCHEDULE (i.e. IUTPUT) CLAUSE + SCHEDULE: + __ANY__: + - | + OUTPUT ALL EVERY [(${DOLLAR}{period})] [(${DOLLAR}{unit})] + AGG: + - | + OUTPUT SNAPSHOT EVERY [(${DOLLAR}{period})] [(${DOLLAR}{unit})] + # Binary-Event-Pattern templates + BEP-AND: + GLOBAL: + - | + /* BEP-AND-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT le.* FROM [(${DOLLAR}{leftEvent})].std:lastevent() AS le, [(${DOLLAR}{rightEvent})].std:lastevent() AS re + BEP-OR: + GLOBAL: +#XXX: TEST: + - | + /* BEP-OR-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT CASE WHEN le IS NULL THEN re ELSE le END AS evt FROM PATTERN [ EVERY ( le=[(${DOLLAR}{leftEvent})] OR re=[(${DOLLAR}{rightEvent})] ) ] + BEP-XOR: +#XXX: XOR is NOT SUPPORTED: IS IT EQUIVALENT TO OR?? + GLOBAL: +#XXX: TEST: + - | + /* BEP-XOR-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT CASE WHEN le IS NULL THEN re ELSE le END AS evt FROM PATTERN [ EVERY ( le=[(${DOLLAR}{leftEvent})] OR re=[(${DOLLAR}{rightEvent})] ) ] + BEP-PRECEDES: + GLOBAL: +#XXX: TEST: + - | + /* BEP-PRECEDES-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT le.* FROM PATTERN [ EVERY ( le=[(${DOLLAR}{leftEvent})] -> re=[(${DOLLAR}{rightEvent})] ) ] + BEP-REPEAT_UNTIL: + GLOBAL: +#XXX: TEST: + - | + /* BEP-REPEAT_UNTIL-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT re.* FROM PATTERN [ EVERY [ le=[(${DOLLAR}{leftEvent})] UNTIL re=[(${DOLLAR}{rightEvent})] ] ] WHERE le IS NOT NULL + + # Unary-Event-Pattern templates + UEP-EVERY: +#XXX: WHAT'S THE MEANING OF THIS OPERATOR?? ...IF STANDALONE?? + GLOBAL: + - | + /* UEP-EVERY-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT ue.* FROM PATTERN [ EVERY ue=[(${DOLLAR}{unaryEvent})] ] + UEP-NOT: +#XXX: WHAT'S THE MEANING OF THIS OPERATOR?? ...IF STANDALONE?? + GLOBAL: + - | + /* UEP-NOT-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT ue.* FROM PATTERN [ NOT ue=[(${DOLLAR}{unaryEvent})] ] + UEP-REPEAT: + GLOBAL: +#XXX: TEST: + - | + /* UEP-REPEAT-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT ue[0].* FROM PATTERN [ [[(${DOLLAR}{occurrenceNum})]] ue=[(${DOLLAR}{unaryEvent})] ] + UEP-WHEN: +#XXX: WHAT'S THE MEANING OF THIS OPERATOR?? ...IF STANDALONE?? + GLOBAL: + - | + /* UEP-WHEN-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT ue.* FROM [(${DOLLAR}{leftEvent})].std:lastevent() AS ue + + # Non-Functional-Event templates + NFE: + GLOBAL: + - | + /* NFE-GLOBAL */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT * FROM [(${DOLLAR}{metricConstraint})].std:lastevent() + + # Metric-Constraint templates + CONSTR-MET: + __ANY__: + - | + /* CONSTR-MET-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT * FROM [(${DOLLAR}{metricContext})] HAVING [(${DOLLAR}{metricContext})].metricValue [(${DOLLAR}{operator})] [(${DOLLAR}{threshold})] + + # Logical-Constraint templates + CONSTR-LOG: + __ANY__: + - | + /* CONSTR-LOG-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT 1 AS metricValue, 3 AS level, current_timestamp AS timestamp + FROM PATTERN [ EVERY ( [# th:each="con,iterStat : ${DOLLAR}{constraints}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{con} + ' '+${DOLLAR}{operator}+' ' : ${DOLLAR}{con}"] [/] ) ] + + # If-Then-Constraint templates + CONSTR-IF-THEN: + __ANY__: +#XXX: TEST: + - | + /* CONSTR-IF-THEN-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT 1 AS metricValue, 3 AS level, current_timestamp AS timestamp + FROM PATTERN [ EVERY ( [(${DOLLAR}{ifConstraint})] AND [(${DOLLAR}{thenConstraint})] [# th:if="${DOLLAR}{elseConstraint != null}" th:text="'OR NOT ( ' + ${DOLLAR}{ifConstraint} + ' ) AND ' + ${DOLLAR}{elseConstraint}"] [/] ) ] + + # Context templates + COMP-CTX: + __ANY__: + - | + /* COMP-CTX-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ [# th:switch="${DOLLAR}{selectMode}"] [# th:case="'epl'"] + SELECT [(${DOLLAR}{formula})] [/] [# th:case="*"] + SELECT EVAL( '[(${DOLLAR}{formula})]', '[# th:each="ctx,iterStat : ${DOLLAR}{components}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx} + ',' : ${DOLLAR}{ctx}"] [/]', [# th:each="ctx,iterStat : ${DOLLAR}{contexts}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx} + ', ' : ${DOLLAR}{ctx}"] [/] ) AS metricValue, + 3 AS level, + current_timestamp AS timestamp [/] [/] + FROM [# th:each="ctx,iterStat : ${DOLLAR}{contexts}" th:utext="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx}+${DOLLAR}{windowClause}+' AS '+${DOLLAR}{ctx} + ', ' : ${DOLLAR}{ctx}+${DOLLAR}{windowClause}+' AS '+${DOLLAR}{ctx}"] [/] + [(${DOLLAR}{scheduleClause})] + + AGG-COMP-CTX: + __ANY__: + - | + /* COMP-CTX-AGG-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ [# th:switch="${DOLLAR}{selectMode}"] [# th:case="'epl'"] + SELECT [(${DOLLAR}{formula})] [/] [# th:case="*"] + SELECT EVALAGG( '[(${DOLLAR}{formula})]', '[# th:each="ctx,iterStat : ${DOLLAR}{components}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx} + ',' : ${DOLLAR}{ctx}"] [/]', [# th:each="ctx,iterStat : ${DOLLAR}{contexts}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx} + ', ' : ${DOLLAR}{ctx}"] [/] ) AS metricValue, + 3 AS level, + current_timestamp AS timestamp [/] [/] + FROM [# th:each="ctx,iterStat : ${DOLLAR}{contexts}" th:utext="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx}+${DOLLAR}{windowClause}+' AS '+${DOLLAR}{ctx} + ', ' : ${DOLLAR}{ctx}+${DOLLAR}{windowClause}+' AS '+${DOLLAR}{ctx}"] [/] + [(${DOLLAR}{scheduleClause})] + + RAW-CTX: + PER_INSTANCE: + - | + /* RAW-CTX-PER_INSTANCE */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT * FROM [(${DOLLAR}{sensor})] [(${DOLLAR}{scheduleClause})] + + # Metric templates + TL-MET: + __ANY__: + - | + /* MET-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT * FROM [(${DOLLAR}{context})] + + # Metric Variable templates + VAR: + __ANY__: + - | + /* VAR-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ [# th:switch="${DOLLAR}{selectMode}"] [# th:case="'epl'"] + SELECT [(${DOLLAR}{formula})] [/] [# th:case="*"] + SELECT EVAL( '[(${DOLLAR}{formula})]', '[# th:each="ctx,iterStat : ${DOLLAR}{components}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx} + ',' : ${DOLLAR}{ctx}"] [/]', [# th:each="ctx,iterStat : ${DOLLAR}{contexts}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx} + ', ' : ${DOLLAR}{ctx}"] [/] ) AS metricValue, + 3 AS level, + current_timestamp AS timestamp [/] [/] + FROM [# th:each="ctx,iterStat : ${DOLLAR}{contexts}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx}+' AS '+${DOLLAR}{ctx} + ', ' : ${DOLLAR}{ctx}+' AS '+${DOLLAR}{ctx}"] [/] + + AGG-VAR: + __ANY__: + - | + /* VAR-AGG-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ [# th:switch="${DOLLAR}{selectMode}"] [# th:case="'epl'"] + SELECT [(${DOLLAR}{formula})] [/] [# th:case="*"] + SELECT EVALAGG( '[(${DOLLAR}{formula})]', '[# th:each="ctx,iterStat : ${DOLLAR}{components}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx} + ',' : ${DOLLAR}{ctx}"] [/]', [# th:each="ctx,iterStat : ${DOLLAR}{contexts}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx} + ', ' : ${DOLLAR}{ctx}"] [/] ) AS metricValue, + 3 AS level, + current_timestamp AS timestamp [/] [/] + FROM [# th:each="ctx,iterStat : ${DOLLAR}{contexts}" th:text="!${DOLLAR}{iterStat.last} ? ${DOLLAR}{ctx}+' AS '+${DOLLAR}{ctx} + ', ' : ${DOLLAR}{ctx}+' AS '+${DOLLAR}{ctx}"] [/] + + LOAD-VAR: + __ANY__: + - | + /* LOAD-VAR-any */ /*INSERT INTO [(${outputStream})]*/ + SELECT * FROM [(${context})] + + # Optimisation-Requirement templates + OPT-REQ-CTX: + __ANY__: + - | + /* OPT-REQ-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT * FROM [(${DOLLAR}{context})] + + OPT-REQ-VAR: + __ANY__: + - | + /* OPT-REQ-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT * FROM [(${DOLLAR}{variable})] + + # SLO templates + SLO: + __ANY__: + - | + /* SLO-any */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT * FROM [(${DOLLAR}{constraint})] + +#XXX:DEL:...remove next rule + XXX-extra-rule-templates: + BEP-AND: + GLOBAL: + - | + /* BEP-AND-GLOBAL : ALTERNATIVE */ /*INSERT INTO [(${DOLLAR}{outputStream})]*/ + SELECT le.* FROM PATTERN [ EVERY (le=[(${DOLLAR}{leftEvent})] AND re=[(${DOLLAR}{rightEvent})]) ] + RAW-CTX: + PER_INSTANCE: + - | + /* RAW-CTX-PER_INSTANCE */ + INSERT INTO TEST_STREAM + SELECT EVAL('-1*CPUMetric+CPUMetric_2+CPUMetric_3', '[(${DOLLAR}{metric})],[(${DOLLAR}{metric})]_2,[(${DOLLAR}{metric})]_3', [(${DOLLAR}{metric})], [(${DOLLAR}{metric})]_2, [(${DOLLAR}{metric})]_3) AS metricValue, + 1 AS level, + current_timestamp AS timestamp + FROM [(${DOLLAR}{metric})] as [(${DOLLAR}{metric})], [(${DOLLAR}{metric})] as [(${DOLLAR}{metric})]_2, [(${DOLLAR}{metric})] as [(${DOLLAR}{metric})]_3[(${DOLLAR}{scheduleClause})] + + FE: + PER_INSTANCE: + - | + /* XXX: TODO: FE-PER_INSTANCE */ + .......... Functional Event + CONSTR-IF-THEN: + PER_INSTANCE: + - | + /* XXX: TODO: CONSTR-IF-THEN-PER_INSTANCE */ + .......... If-Then constraint + CONSTR-VAR: + PER_INSTANCE: + - | + /* XXX: TODO: CONSTR-VAR-PER_INSTANCE */ + .......... Metric Variable constraint + CONSTR-LOG: + PER_INSTANCE: + - | + /* XXX: TODO: CONSTR-LOG-PER_INSTANCE */ + .......... Logical constraint + VAR: + PER_INSTANCE: + - | + /* XXX: TODO: VAR-PER_INSTANCE */ + .......... Metric Variable \ No newline at end of file diff --git a/ems-core/util/pom.xml b/ems-core/util/pom.xml new file mode 100644 index 0000000..f6c7658 --- /dev/null +++ b/ems-core/util/pom.xml @@ -0,0 +1,100 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + util + EMS - Utilities + + + + + org.springframework.boot + spring-boot-starter + + + + + org.projectlombok + lombok + provided + + + + + com.google.code.gson + gson + + + + + org.apache.commons + commons-text + + + + + org.cryptacular + cryptacular + 1.2.5 + + + + + org.bouncycastle + bcpg-jdk18on + compile + + + org.bouncycastle + bcpkix-jdk18on + compile + + + org.bouncycastle + bcprov-jdk18on + + + + + + + + maven-assembly-plugin + + + + gr.iccs.imu.ems.util.NetUtil + + + + jar-with-dependencies + + + + + make-assembly + package + + single + + + + + + + + diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/ClientConfiguration.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/ClientConfiguration.java new file mode 100644 index 0000000..ae258c6 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/ClientConfiguration.java @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.*; + +import java.io.Serializable; +import java.util.Set; + +/** + * Baguette Client Configuration + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ClientConfiguration implements Serializable { + @NonNull private Set nodesWithoutClient; +} \ No newline at end of file diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/CredentialsMap.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/CredentialsMap.java new file mode 100644 index 0000000..d4c410c --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/CredentialsMap.java @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import gr.iccs.imu.ems.util.password.PasswordEncoder; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; + +import java.util.HashMap; +import java.util.stream.Collectors; + +/** + * CredentialsMap is a HashMap for storing username/passwords in-memory. + * It includes a preferred key (i.e. username), and overrides 'toString()' method in order to password-encode entry values. + */ +@Slf4j +public class CredentialsMap extends HashMap { + @Getter + private PasswordEncoder passwordEncoder; + @Getter + private String preferredKey; + + public CredentialsMap() { + this(PasswordUtil.getDefaultPasswordEncoder()); + } + + public CredentialsMap(PasswordEncoder pe) { + this.passwordEncoder = pe; + } + + public String put(String key, String value, boolean preferred) { + if (preferred) preferredKey = key; + return super.put(key, value); + } + + public String remove(String key) { + if (key.equals(preferredKey)) preferredKey = null; + return super.remove(key); + } + + public boolean hasPreferredPair() { + return preferredKey!=null; + } + + public CredentialsMap.Entry getPreferredPair() { + if (preferredKey==null) return null; + return new CredentialsMap.SimpleEntry<>(preferredKey, get(preferredKey)); + } + + public String toString() { + return entrySet() + .stream() + .collect(Collectors.toMap(Entry::getKey, e -> passwordEncoder.encode(e.getValue()))) + .toString(); + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/CredentialsMapConverter.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/CredentialsMapConverter.java new file mode 100644 index 0000000..4614934 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/CredentialsMapConverter.java @@ -0,0 +1,49 @@ + +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import com.google.gson.Gson; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.boot.context.properties.ConfigurationPropertiesBinding; +import org.springframework.core.convert.converter.Converter; +import org.springframework.stereotype.Component; + +/** + * Converts a String to a CredentialsMap + */ +@Slf4j +@Component +@ConfigurationPropertiesBinding +public class CredentialsMapConverter implements Converter { + private Gson gson; + + public CredentialsMapConverter() { + gson = new Gson(); + } + + @Override + public CredentialsMap convert(@NonNull String s) { + if (StringUtils.isNotBlank(s)) { + try { + CredentialsMap credentialsMap = gson.fromJson(s.trim(), CredentialsMap.class); + log.debug("CredentialsMapConverter: result: {}", credentialsMap); + return credentialsMap; + } catch (Throwable t) { + log.debug("CredentialsMapConverter: JSON input: {}", s); + log.error("CredentialsMapConverter: EXCEPTION while parsing JSON input: ", t); + throw new IllegalArgumentException(t); + } + } + throw new IllegalArgumentException("Input is blank: "+s); + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/EmsConstant.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/EmsConstant.java new file mode 100644 index 0000000..af6f6b6 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/EmsConstant.java @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +/** + * EMS constant + */ +public class EmsConstant { + public final static String EMS_PROPERTIES_PREFIX = ""; //""ems."; + public final static String EVENT_PROPERTY_SOURCE_ADDRESS = "producer-host"; + public final static String EVENT_PROPERTY_ORIGINAL_DESTINATION = "original-destination"; + public final static String EVENT_PROPERTY_EFFECTIVE_DESTINATION = "effective-destination"; + + public final static String COLLECTOR_DESTINATION_ALIASES = "destination-aliases"; + public final static String COLLECTOR_DESTINATION_ALIASES_DELIMITERS = "[,;: \t\r\n]+"; + public final static String COLLECTOR_ALLOWED_TOPICS_VAR = "COLLECTOR_ALLOWED_TOPICS"; +} \ No newline at end of file diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/EventBus.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/EventBus.java new file mode 100644 index 0000000..bd82175 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/EventBus.java @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.Builder; +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; + +import java.util.*; +import java.util.regex.Pattern; + +@Slf4j +@Builder +public class EventBus { // Topic,Message,Sender + //enum STANDARD_EVENT_TOPICS { CONTROL_EVENT, TRANSLATOR_EVENT, BAGUETTE_SERVER_EVENT, BROKER_CEP_EVENT, CLIENT_INSTALLER_EVENT } + + /*private static EventBus _DEFAULT; + private static void initDefault() { + _DEFAULT = EventBus.builder() + //.allowedTopics(Arrays.stream(STANDARD_EVENT_TOPICS.values()).map(Enum::name).collect(Collectors.toSet())) + .build(); + } + public static EventBus getDefault() { initDefault(); return _DEFAULT; } + public static void setDefault(EventBus eventBus) { _DEFAULT = eventBus; }*/ + + private final Set allowedTopics; + private final Set allowedSenders; + private final Map>> topicsAndConsumers = new LinkedHashMap<>(); + private final Map, List> consumerPatternMap = new LinkedHashMap<>(); + + public void send(@NonNull T topic, @NonNull M message) { + send(topic, message, null); + } + + public void send(@NonNull T topic, @NonNull M message, S sender) { + sendSync(topic, message, sender); + } + + public void sendSync(@NonNull final T topic, @NonNull final M message, final S sender) { + log.debug("EventBus: sendSync: BEGIN: topic={}, sender={}, message={}", topic, sender, message); + checkTopic(topic); + checkSender(sender); + log.trace("EventBus: sendSync: CHECKED: topicsAndConsumers={}, consumerPatternMap={}", topicsAndConsumers, consumerPatternMap); + Set> topicConsumers = topicsAndConsumers.get(topic); + log.debug("EventBus: sendSync: CHECKED: topic={}, sender={}, message={}, consumers={}", topic, sender, message, topicConsumers); + if (topicConsumers!=null) { + topicConsumers.forEach(consumer -> { + log.debug("EventBus: sendSync: ....SENDING-TO-CONSUMER: topic={}, sender={}, consumer={}, message={}", topic, sender, consumer, message); + consumer.onMessage(topic, message, sender); + }); + } + final String topicString = topic.toString(); + consumerPatternMap.forEach((consumer, patternSet) -> patternSet.forEach(pattern -> { + log.debug("EventBus: sendSync: ....CHECKING PATTERN: topic={}, sender={}, consumer={}, pattern={}, message={}", topic, sender, consumer, pattern.pattern(), message); + if (pattern.matcher(topicString).matches()) { + log.debug("EventBus: sendSync: ....SENDING-TO-PATTERN-CONSUMER: topic={}, sender={}, consumer={}, pattern={}, message={}", topic, sender, consumer, pattern.pattern(), message); + consumer.onMessage(topic, message, sender); + } + })); + } + + public boolean subscribe(@NonNull T topic, @NonNull EventConsumer consumer) { + checkTopic(topic); + Set> topicConsumers = topicsAndConsumers.get(topic); + if (topicConsumers==null) { + synchronized (topicsAndConsumers) { + topicConsumers = topicsAndConsumers.computeIfAbsent(topic, k -> new HashSet<>()); + } + } + + return topicConsumers.add(consumer); + } + + public boolean unsubscribe(@NonNull T topic, @NonNull EventConsumer consumer) { + checkTopic(topic); + Set> topicConsumers = topicsAndConsumers.get(topic); + if (topicConsumers!=null) { + boolean result = topicConsumers.remove(consumer); + if (topicConsumers.isEmpty()) { + synchronized (topicsAndConsumers) { + topicConsumers = topicsAndConsumers.get(topic); + if (topicConsumers.isEmpty()) { + topicsAndConsumers.remove(topic); + } + } + } + return result; + } + return false; + } + + public boolean subscribePattern(@NonNull String patternString, @NonNull EventConsumer consumer) { + Pattern pattern = Pattern.compile(patternString); + List consumerPatterns = consumerPatternMap.get(consumer); + if (consumerPatterns==null) { + synchronized (consumerPatternMap) { + consumerPatterns = consumerPatternMap.computeIfAbsent(consumer, k -> new ArrayList<>()); + } + } + + return consumerPatterns.add(pattern); + } + + public boolean unsubscribePattern(@NonNull String patternString, @NonNull EventConsumer consumer) { + List consumerPatterns = consumerPatternMap.get(consumer); + if (consumerPatterns!=null) { + Optional item = consumerPatterns.stream().filter(pattern -> pattern.pattern().equals(patternString)).findAny(); + boolean result = false; + if (item.isPresent()) + result = consumerPatterns.remove(item.get()); + if (consumerPatterns.isEmpty()) { + synchronized (consumerPatternMap) { + consumerPatterns = consumerPatternMap.get(consumer); + if (consumerPatterns.isEmpty()) { + consumerPatternMap.remove(consumer); + } + } + } + return result; + } + return false; + } + + private void checkTopic(@NonNull T topic) { + if (allowedTopics==null || allowedTopics.isEmpty()) return; + if (!allowedTopics.contains(topic)) + throw new IllegalArgumentException("Topic not allowed in event bus: "+topic); + } + + private void checkSender(S sender) { + if (allowedSenders==null || allowedSenders.isEmpty()) return; + if (!allowedSenders.contains(sender)) + throw new IllegalArgumentException("Sender not allowed in event bus: "+sender); + } + + public interface EventConsumer { + void onMessage(T topic, M message, S sender); + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/FunctionDefinition.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/FunctionDefinition.java new file mode 100644 index 0000000..5f44f1d --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/FunctionDefinition.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.Getter; +import lombok.ToString; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +@Getter +@ToString +public class FunctionDefinition implements Serializable { + private String name; + private String expression; + private List arguments; + + public FunctionDefinition setName(String name) { + this.name = name; + return this; + } + + public FunctionDefinition setExpression(String expression) { + this.expression = expression; + return this; + } + + public FunctionDefinition setArguments(List arguments) { + this.arguments = new ArrayList<>(arguments); + return this; + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/GROUPING.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/GROUPING.java new file mode 100644 index 0000000..87e125d --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/GROUPING.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.extern.slf4j.Slf4j; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +public enum GROUPING { + GLOBAL, + PER_CLOUD, + PER_REGION, + PER_ZONE, + PER_HOST, + PER_INSTANCE; + + public static List getNames() { + return Arrays.stream(values()) + .map(Enum::name) + .collect(Collectors.toList()); + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/GroupingConfiguration.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/GroupingConfiguration.java new file mode 100644 index 0000000..369086e --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/GroupingConfiguration.java @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.*; + +import java.io.Serializable; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + +/** + * Baguette Client Grouping Configuration + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ToString(exclude = {"brokerPassword"}) +public class GroupingConfiguration implements Serializable { + @NonNull private String name; + private Properties properties; + @NonNull private Map brokerConnections; + @NonNull private Set eventTypeNames; + @NonNull private Map> rules; + @NonNull private Map> connections; + @NonNull private Set functionDefinitions; + @NonNull private Map constants; + private String brokerUsername; + private String brokerPassword; + + @Data + @NoArgsConstructor + @AllArgsConstructor + @ToString(exclude = {"certificate", "password"}) + public static class BrokerConnectionConfig implements Serializable { + private String grouping; + private String url; + private String certificate; + private String username; + private String password; + } +} \ No newline at end of file diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/IKeystoreAndCertificateProperties.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/IKeystoreAndCertificateProperties.java new file mode 100644 index 0000000..62c9914 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/IKeystoreAndCertificateProperties.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +public interface IKeystoreAndCertificateProperties { + + enum KEY_ENTRY_GENERATE { YES, ALWAYS, NO, NEVER, IF_MISSING, IF_IP_CHANGED }; + + String getKeystoreFile(); + String getKeystoreType(); + String getKeystorePassword(); + String getTruststoreFile(); + String getTruststoreType(); + String getTruststorePassword(); + String getCertificateFile(); + + KEY_ENTRY_GENERATE getKeyEntryGenerate(); + String getKeyEntryName(); + String getKeyEntryDName(); + String getKeyEntryExtSAN(); +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/KeystoreAndCertificateProperties.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/KeystoreAndCertificateProperties.java new file mode 100644 index 0000000..8a623fa --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/KeystoreAndCertificateProperties.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.Data; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Data +@ToString(exclude = {"truststorePassword", "keystorePassword"}) +public class KeystoreAndCertificateProperties implements IKeystoreAndCertificateProperties { + + private String keystoreFile; + private String keystoreType; + private String keystorePassword; + + private String truststoreFile; + private String truststoreType; + private String truststorePassword; + + private String certificateFile; + + private KEY_ENTRY_GENERATE keyEntryGenerate; + private String keyEntryName; + private String keyEntryDName; + private String keyEntryExtSAN; +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/KeystoreUtil.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/KeystoreUtil.java new file mode 100644 index 0000000..89abddb --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/KeystoreUtil.java @@ -0,0 +1,577 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.bouncycastle.asn1.x500.X500Name; +import org.bouncycastle.asn1.x509.Extension; +import org.bouncycastle.asn1.x509.GeneralName; +import org.bouncycastle.asn1.x509.GeneralNames; +import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo; +import org.bouncycastle.cert.X509v3CertificateBuilder; +import org.bouncycastle.cert.jcajce.JcaX509ExtensionUtils; +import org.bouncycastle.operator.ContentSigner; +import org.bouncycastle.operator.OperatorCreationException; +import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder; +import org.cryptacular.util.CertUtil; +import org.cryptacular.x509.GeneralNameType; +import org.springframework.util.FileCopyUtils; + +import java.io.*; +import java.math.BigInteger; +import java.net.InetAddress; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.*; +import java.security.cert.Certificate; +import java.security.cert.*; +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +public class KeystoreUtil { + private final static String DEFAULT_KEY_GEN_ALGORITHM = "RSA"; + private final static String DEFAULT_SIGNATURE_ALGORITHM = "SHA256WithRSA"; + private final static int DEFAULT_KEY_SIZE = 2048; + private final static int DEFAULT_CERT_START_DATE_OFFSET = -1; + private final static int DEFAULT_CERT_END_DATE_OFFSET = 3650; + + private final static String BEGIN_CERT = "-----BEGIN CERTIFICATE-----"; + private final static String END_CERT = "-----END CERTIFICATE-----"; + private final static String LINE_SEPARATOR = System.getProperty("line.separator"); + + private static boolean bcProviderInitialized = false; + + private final String keystoreFile; + private final String keystoreType; + private final String keystorePassword; + private PasswordUtil passwordUtil; + + // KeystoreUtil instance methods + public static KeystoreUtil getKeystore(String file, String type, String password) { + return new KeystoreUtil(file, type, password); + } + + private KeystoreUtil(String file, String type, String password) { + this.keystoreFile = file; + this.keystoreType = type; + this.keystorePassword = password; + } + + // Creates a new keystore file if not already exists + public KeystoreUtil createIfNotExist() throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException { + File f = new File(keystoreFile); + if (! f.exists()) { + log.debug("KeystoreUtil: Keystore file not found: {}", keystoreFile); + KeyStore keystore = KeyStore.getInstance(keystoreType); + keystore.load(null, keystorePassword.toCharArray()); + writeKeystore(keystore); + log.debug("KeystoreUtil: Keystore file created: {}", keystoreFile); + } else { + log.debug("KeystoreUtil: Keystore file exists: {}", keystoreFile); + } + return this; + } + + public boolean checkIfExist() { + File f = new File(keystoreFile); + return f.exists(); + } + + public PasswordUtil passwordUtil() { + if (this.passwordUtil==null) + this.passwordUtil = PasswordUtil.getInstance(); + return this.passwordUtil; + } + + public KeystoreUtil passwordUtil(PasswordUtil passwordUtil) { + this.passwordUtil = passwordUtil!=null ? passwordUtil : PasswordUtil.getInstance(); + return this; + } + + // Create/Replace Key pair and Certificate methods + // If keystore file does not exist it will be created + public KeystoreUtil createKeyAndCert(String entryName, String dn, String ext) + throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException, OperatorCreationException + { + return createKeyAndCert(entryName, DEFAULT_KEY_GEN_ALGORITHM, DEFAULT_KEY_SIZE, DEFAULT_SIGNATURE_ALGORITHM, DEFAULT_CERT_START_DATE_OFFSET, DEFAULT_CERT_END_DATE_OFFSET, dn, ext); + } + + public KeystoreUtil createOrReplaceKeyAndCert(String entryName, String dn, String ext) + throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException, OperatorCreationException + { + return this + .deleteEntry(entryName) + .createKeyAndCert(entryName, dn, ext); + } + + public KeystoreUtil createKeyAndCert(String entryName, String keyGenAlg, int keySize, String sigAlg, int startDateOffset, int endDateOffset, String dn, String extSAN) + throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException, OperatorCreationException + { + boolean hasExt = StringUtils.isNotBlank(extSAN); + + // Read keystore from file or create it + log.trace("KeystoreUtil: Reading keystore from file: {}", keystoreFile); + KeyStore keystore; + try { + keystore = readKeystore(); + log.debug("KeystoreUtil: Keystore loaded from file: {}", keystoreFile); + } catch (FileNotFoundException e) { + log.info("KeystoreUtil: Keystore file will be created: {}", keystoreFile); + //keystore = KeyStore.getInstance(KeyStore.getDefaultType()); + keystore = KeyStore.getInstance(keystoreType); + keystore.load(null, keystorePassword.toCharArray()); + } + + // Generate new key pair + log.trace("KeystoreUtil: Creating entry: {}", entryName); + KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(keyGenAlg); + keyPairGen.initialize(keySize); + KeyPair keyPair = keyPairGen.generateKeyPair(); + + // Compute validity period of certificate (will be generated next) + long now = System.currentTimeMillis(); + Date dtNow = new Date(now); + Calendar calendar = Calendar.getInstance(); + + calendar.setTime(dtNow); + calendar.add(Calendar.DATE, startDateOffset); + Date validFrom = calendar.getTime(); + + calendar.setTime(dtNow); + calendar.add(Calendar.DATE, endDateOffset); + Date validTo = calendar.getTime(); + + // Register Bouncy-Castle provider (if not already) + if (!bcProviderInitialized) { + bcProviderInitialized = true; + Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); + } + + // Generate new certificate for key pair + X500Name subjectName = new X500Name(dn); + X500Name issuerName = subjectName; + BigInteger serialNumber = new BigInteger(Long.toString(now)); + X509v3CertificateBuilder certBuilder = new X509v3CertificateBuilder( + issuerName, serialNumber, validFrom, validTo, subjectName, + SubjectPublicKeyInfo.getInstance(keyPair.getPublic().getEncoded()) + ); + + // Add certificate extensions + JcaX509ExtensionUtils jcaExtUtils = new JcaX509ExtensionUtils(); + //X509Certificate caCert = null; + //certBuilder.addExtension(Extension.authorityKeyIdentifier, false, + // jcaExtUtils.createAuthorityKeyIdentifier(caCert)); + certBuilder.addExtension(Extension.subjectKeyIdentifier, false, + jcaExtUtils.createSubjectKeyIdentifier(keyPair.getPublic())); + if (hasExt) { + extSAN = extSAN.replaceAll("[ \t\r\n]]+",""); + String[] names = extSAN.split(","); + List altNames = new ArrayList<>(); + for (String name : names) { + if (StringUtils.startsWithIgnoreCase(name, "dns:")) { + name = name.substring("dns:".length()); + if (StringUtils.isNotBlank(name)) + altNames.add(new GeneralName(GeneralName.dNSName, name)); + } else + if (StringUtils.startsWithIgnoreCase(name, "ip:")) { + name = name.substring("ip:".length()); + if (StringUtils.isNotBlank(name)) + altNames.add(new GeneralName(GeneralName.iPAddress, name)); + } else + log.warn("KeystoreUtil: Ignoring element of Subject Alt. Names: {}", name); + } + GeneralNames subjectAltName = new GeneralNames(altNames.toArray(new GeneralName[0])); + certBuilder.addExtension(Extension.subjectAlternativeName, false, subjectAltName); + } + + // Self-Sign and get certificate + JcaContentSignerBuilder builder = new JcaContentSignerBuilder(sigAlg); + ContentSigner signer = builder.build(keyPair.getPrivate()); + + byte[] certBytes = certBuilder.build(signer).getEncoded(); + CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); + X509Certificate certificate = (X509Certificate)certificateFactory.generateCertificate(new ByteArrayInputStream(certBytes)); + + // Add/Replace key pair and certificate chain to keystore + PrivateKey newKey = keyPair.getPrivate(); + Certificate[] chain = new Certificate[] { certificate }; + String entryPassword = keystorePassword; + keystore.setKeyEntry(entryName, newKey, entryPassword.toCharArray(), chain); + log.debug("KeystoreUtil: Entry created: {}", entryName); + + // Store keystore back to file + log.trace("KeystoreUtil: Writing keystore to file: {}", keystoreFile); + writeKeystore(keystore); + log.debug("KeystoreUtil: Keystore stored to file: {}", keystoreFile); + + return this; + } + + public KeystoreUtil createOrReplaceKeyAndCert(String entryName, String keyGenAlg, int keySize, String sigAlg, int startDateOffset, int endDateOffset, String dn, String ext) + throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException, OperatorCreationException + { + return this + .deleteEntry(entryName) + .createKeyAndCert(entryName, keyGenAlg, keySize, sigAlg, startDateOffset, endDateOffset, dn, ext); + } + + public KeystoreUtil createKeyAndCertWithSAN(String entryName, String dn) + throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException, OperatorCreationException + { + String sanExt = String.format("dns:localhost,ip:127.0.0.1,ip:%s,ip:%s", + NetUtil.getDefaultIpAddress(), NetUtil.getPublicIpAddress()); + return createKeyAndCert(entryName, dn, sanExt); + } + + public KeystoreUtil createOrReplaceKeyAndCertWithSAN(String entryName, String dn) + throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException, OperatorCreationException + { + return this + .deleteEntry(entryName) + .createKeyAndCertWithSAN(entryName, dn); + } + + // Delete key pair and/or certificate from keystore + public KeystoreUtil deleteEntry(String entryName) + throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException + { + try { + log.trace("KeystoreUtil: Deleting entry from keystore: alias={}, file={}", entryName, keystoreFile); + KeyStore keystore = readKeystore(); + keystore.deleteEntry(entryName); + writeKeystore(keystore); + log.debug("KeystoreUtil: Entry deleted from keystore: alias={}, file={}", entryName, keystoreFile); + } catch (FileNotFoundException e) { + log.debug("KeystoreUtil: Keystore file not exists: {}", keystoreFile); + } + return this; + } + + // Query if alias exists in keystore + public boolean containsEntry(String entryName) + throws CertificateException, KeyStoreException, IOException, NoSuchAlgorithmException + { + KeyStore keystore = readKeystore(keystoreFile, keystoreType, keystorePassword); + return keystore.containsAlias(entryName); + } + + // Certificate import/export methods + public KeystoreUtil importAndReplaceCertFromFile(String entryName, String certFile) + throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException + { + return this + .deleteEntry(entryName) + .importCertFromFile(entryName, certFile); + } + + public KeystoreUtil importCertFromFile(String entryName, String certFile) + throws CertificateException, IOException, KeyStoreException, NoSuchAlgorithmException + { + log.debug("KeystoreUtil: Reading certificate from file: {}", certFile); + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + Certificate cert = cf.generateCertificate(Files.newInputStream(Paths.get(certFile))); + log.trace("KeystoreUtil: Certificate: {}", cert); + + log.trace("KeystoreUtil: Importing certificate to keystore file: alias={}, file={}", entryName, keystoreFile); + KeyStore keystore = readKeystore(keystoreFile, keystoreType, keystorePassword); + keystore.setCertificateEntry(entryName, cert); + writeKeystore(keystore, keystoreFile, keystoreType, keystorePassword); + log.debug("KeystoreUtil: Certificate imported into keystore: alias={}, file={}", entryName, keystoreFile); + + return this; + } + + public KeystoreUtil exportCertToFile(String entryName, String certFile) + throws CertificateException, KeyStoreException, IOException, NoSuchAlgorithmException + { + log.debug("KeystoreUtil: Reading certificate from keystore: alias={}, keystore={}", entryName, keystoreFile); + String certPem = getEntryCertificateAsPEM(entryName); + log.trace("KeystoreUtil: Certificate (PEM):\n{}", certPem); + + log.trace("KeystoreUtil: Storing certificate to file: {}", certFile); + try (PrintStream ps = new PrintStream(Files.newOutputStream(Paths.get(certFile)))) { + ps.print(certPem); + ps.flush(); + } + log.debug("KeystoreUtil: Certificate stored in file: {}", certFile); + return this; + } + + // Certificate retrieval methods + public X509Certificate getEntryCertificate(String entryName) + throws CertificateException, KeyStoreException, IOException, NoSuchAlgorithmException + { + log.trace("KeystoreUtil.getEntryCertificate(): keystore: file={}, type={}, password={}", + keystoreFile, keystoreType, passwordUtil().encodePassword(keystorePassword)); + KeyStore keystore = readKeystore(keystoreFile, keystoreType, keystorePassword); + log.trace("KeystoreUtil.getEntryCertificate(): keystore: {}", keystore); + log.trace("KeystoreUtil.getEntryCertificate(): entry-name: {}", entryName); + return (X509Certificate) keystore.getCertificate(entryName); + } + + public String getEntryCertificateAsPEM(String entryName) + throws CertificateException, KeyStoreException, IOException, NoSuchAlgorithmException + { + X509Certificate cert = getEntryCertificate(entryName); + log.trace("KeystoreUtil.getEntryCertificatePEM(): X509 certificate:\n{}", cert); + String certPem = exportCertificateAsPEM(cert); + log.trace("KeystoreUtil.getEntryCertificatePEM(): X509 certificate (PEM):\n{}", certPem); + return certPem; + } + + public byte[] getEntryCertificateAsDER(String entryName) throws CertificateException, KeyStoreException, IOException, NoSuchAlgorithmException { + X509Certificate cert = getEntryCertificate(entryName); + log.trace("KeystoreUtil.getEntryCertificatePEM(): X509 certificate:\n{}", cert); + byte[] certBytes = cert.getEncoded(); + log.trace("KeystoreUtil.getEntryCertificatePEM(): X509 certificate (DER):\n{}", certBytes); + return certBytes; + } + + public static String exportCertificateAsPEM(X509Certificate cert) throws CertificateEncodingException { + log.trace("KeystoreUtil.exportCertificateAsPEM(): X509 certificate:\n{}", cert); + byte[] certBytes = cert.getEncoded(); + Base64.Encoder encoder = Base64.getMimeEncoder(64, LINE_SEPARATOR.getBytes()); + String certEncoded = new String(encoder.encode(certBytes)); + String certPem = + BEGIN_CERT + LINE_SEPARATOR + certEncoded + LINE_SEPARATOR + END_CERT; + log.trace("KeystoreUtil.exportCertificateAsPEM(): X509 certificate (PEM):\n{}", certPem); + return certPem; + } + + public static byte[] exportCertificateAsDER(X509Certificate cert) throws CertificateEncodingException { + log.trace("KeystoreUtil.exportCertificateAsDER(): X509 certificate:\n{}", cert); + byte[] certBytes = cert.getEncoded(); + log.trace("KeystoreUtil.exportCertificateAsDER(): X509 certificate (DER):\n{}", certBytes); + return certBytes; + } + + // Certificate names methods + public List getEntryNames(String entryName, boolean onlyIp) + throws CertificateException, KeyStoreException, IOException, NoSuchAlgorithmException + { + X509Certificate cert = getEntryCertificate(entryName); + if (cert==null) { + log.debug("KeystoreUtil.getEntryNames(): No certificate found for {}", entryName); + return Collections.emptyList(); + } + + List names = onlyIp + ? CertUtil.subjectNames(cert, GeneralNameType.IPAddress) + : CertUtil.subjectNames(cert); + return names.stream() + .map(sanName -> { + try { + return sanName.startsWith("#") ? + InetAddress.getByAddress(parseHexToBinary(sanName.substring(1))).getHostAddress() + : sanName; + } catch (Exception ex) { + log.warn("KeystoreUtil: getEntryNames: entry={} caused {}", sanName, ex.toString()); + log.debug("KeystoreUtil: getEntryNames: entry={} caused:\n", sanName, ex); + return null; + } + }) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + } + + private byte[] parseHexToBinary(String hexValue) { + byte[] ip = new byte[hexValue.length()/2]; + for(int i = 0, j = 0; i < hexValue.length(); i = i + 2) { + ip[j++] = (byte)Integer.parseInt(hexValue.substring(i, i+2), 16); + } + if (log.isTraceEnabled()) log.trace("KeystoreUtil.parseHexBinary(): hex={}, ip={}", hexValue, Arrays.toString(ip)); + return ip; + } + + // Certificate listing methods + public List getCertificateAliases() throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException { + KeyStore ks = KeystoreUtil.readKeystore(keystoreFile, keystoreType, keystorePassword); + return getCertificateAliases(ks); + } + + public static List getCertificateAliases(KeyStore ks) throws KeyStoreException { + List certAliases = new ArrayList<>(); + Enumeration en = ks.aliases(); + while (en.hasMoreElements()) { + String alias = en.nextElement(); + log.trace("KeystoreUtil.getCertificateAliases(): Checking alias: {}", alias); + if (ks.isCertificateEntry(alias)) { + certAliases.add(alias); + log.trace("KeystoreUtil.getCertificateAliases(): Alias added in results: {}", alias); + } + } + log.trace("KeystoreUtil.getCertificateAliases(): Certificate aliases: {}", certAliases); + return certAliases; + } + + // Keystore read/write methods + public KeyStore readKeystore() throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException { + return KeystoreUtil.readKeystore(keystoreFile, keystoreType, keystorePassword); + } + + public KeystoreUtil writeKeystore(KeyStore keystore) throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException { + KeystoreUtil.writeKeystore(keystore, keystoreFile, keystoreType, keystorePassword); + return this; + } + + public String readFileAsBase64() throws IOException { + byte[] encoded = Base64.getEncoder().encode(FileCopyUtils.copyToByteArray(new File(keystoreFile))); + return new String(encoded, StandardCharsets.US_ASCII); + } + + public KeystoreUtil writeBase64ToFile(String base64) throws IOException { + byte[] bytes = Base64.getDecoder().decode(base64.getBytes(StandardCharsets.US_ASCII)); + FileCopyUtils.copy(bytes, new File(keystoreFile)); + return this; + } + + public static KeyStore readKeystore(String file, String type, String password) + throws KeyStoreException, IOException, CertificateException, NoSuchAlgorithmException + { + KeyStore keystore = KeyStore.getInstance(type); + try (FileInputStream fis = new FileInputStream(file)) { + keystore.load(fis, password.toCharArray()); + } + return keystore; + } + + public static void writeKeystore(KeyStore keystore, String file, String type, String password) + throws IOException, CertificateException, NoSuchAlgorithmException, KeyStoreException + { + try (FileOutputStream fos = new FileOutputStream(file)) { + keystore.store(fos, password.toCharArray()); + } + } + + // Keystore, Trust store and Certificate initialization based on a properties source + public static void initializeKeystoresAndCertificate(IKeystoreAndCertificateProperties properties, PasswordUtil passwordUtil) + throws CertificateException, KeyStoreException, NoSuchAlgorithmException, IOException, OperatorCreationException + { + if (passwordUtil==null) + passwordUtil = PasswordUtil.getInstance(); + log.debug("KeystoreUtil.initializeKeystoresAndCertificate(): Initializing keystores and certificate..."); + log.debug("KeystoreUtil.initializeKeystoresAndCertificate(): Key pair and Certificate settings:"); + log.debug(" Keystore file: {}", properties.getKeystoreFile()); + log.debug(" Keystore type: {}", properties.getKeystoreType()); + log.debug(" Keystore password: {}", passwordUtil.encodePassword(properties.getKeystorePassword())); + log.debug(" Trust store file: {}", properties.getTruststoreFile()); + log.debug(" Trust store type: {}", properties.getTruststoreType()); + log.debug(" Trust store password: {}", passwordUtil.encodePassword(properties.getTruststorePassword())); + log.debug(" Certificate file: {}", properties.getCertificateFile()); + log.debug(" Entry name: {}", properties.getKeyEntryName()); + log.debug(" Entry DName: {}", properties.getKeyEntryDName()); + log.debug(" Entry SAN: {}", properties.getKeyEntryExtSAN()); + log.debug(" Entry Gen.: {}", properties.getKeyEntryGenerate()); + + IKeystoreAndCertificateProperties.KEY_ENTRY_GENERATE keyGen = properties.getKeyEntryGenerate(); + boolean gen = (keyGen==IKeystoreAndCertificateProperties.KEY_ENTRY_GENERATE.YES || keyGen==IKeystoreAndCertificateProperties.KEY_ENTRY_GENERATE.ALWAYS); + + // Check if key entry is missing + if (keyGen==IKeystoreAndCertificateProperties.KEY_ENTRY_GENERATE.IF_MISSING) { + // Check if keystore and truststore files exist (and create if they don't) + KeystoreUtil + .getKeystore(properties.getKeystoreFile(), properties.getKeystoreType(), properties.getKeystorePassword()) + .passwordUtil(passwordUtil) + .createIfNotExist(); + KeystoreUtil + .getKeystore(properties.getTruststoreFile(), properties.getTruststoreType(), properties.getTruststorePassword()) + .passwordUtil(passwordUtil) + .createIfNotExist(); + + // Check if entry with given 'alias' already exists in keystore + boolean containsEntry = KeystoreUtil + .getKeystore(properties.getKeystoreFile(), properties.getKeystoreType(), properties.getKeystorePassword()) + .passwordUtil(passwordUtil) + .containsEntry(properties.getKeyEntryName()); + if (containsEntry) { + log.debug(" Keystore already contains entry: {}", properties.getKeyEntryName()); + } else { + log.debug(" Keystore does not contain entry: {}", properties.getKeyEntryName()); + gen = true; + } + } + + // Check if IP address is in subject CN or SAN list + if (keyGen==IKeystoreAndCertificateProperties.KEY_ENTRY_GENERATE.IF_IP_CHANGED) { + // Check if keystore and truststore files exist (and create if they don't) + KeystoreUtil + .getKeystore(properties.getKeystoreFile(), properties.getKeystoreType(), properties.getKeystorePassword()) + .passwordUtil(passwordUtil) + .createIfNotExist(); + KeystoreUtil + .getKeystore(properties.getTruststoreFile(), properties.getTruststoreType(), properties.getTruststorePassword()) + .passwordUtil(passwordUtil) + .createIfNotExist(); + + // get subject CN and SAN list (IP's only) + List addrList = KeystoreUtil + .getKeystore(properties.getKeystoreFile(), properties.getKeystoreType(), properties.getKeystorePassword()) + .passwordUtil(passwordUtil) + .getEntryNames(properties.getKeyEntryName(), true); + log.debug(" Entry addresses: {}", addrList); + + // get current Default and Public IP addresses + String defaultIp = NetUtil.getDefaultIpAddress(); + String publicIp = NetUtil.getPublicIpAddress(); + + // check if Default and Public IP addresses are contained in 'addrList' + boolean defaultFound = addrList.stream().anyMatch(s -> s.equals(defaultIp)); + boolean publicFound = addrList.stream().anyMatch(s -> s.equals(publicIp)); + gen = !defaultFound || !publicFound; + log.debug(" Address has changed: {} (default-ip-found={}, public-ip-found={})", + gen, defaultFound, publicFound); + } + + // Generate new key pair and certificate, and update keystore and trust store + if (gen) { + log.debug(" Generating new Key pair and Certificate for: {}", properties.getKeyEntryName()); + + KeystoreUtil ksUtil = KeystoreUtil + .getKeystore(properties.getKeystoreFile(), properties.getKeystoreType(), properties.getKeystorePassword()) + .passwordUtil(passwordUtil) + .createIfNotExist(); + if (StringUtils.isBlank(properties.getKeyEntryExtSAN())) { + log.debug(" Create/Replace entry (with SAN auto-generate): {}", properties.getKeyEntryName()); + ksUtil.createOrReplaceKeyAndCertWithSAN(properties.getKeyEntryName(), properties.getKeyEntryDName()); + } else { + log.debug(" Create/Replace entry and SAN: entry={}, san={}", + properties.getKeyEntryName(), properties.getKeyEntryExtSAN()); + String extSAN = properties.getKeyEntryExtSAN().trim(); + ksUtil.createOrReplaceKeyAndCert(properties.getKeyEntryName(), properties.getKeyEntryDName(), extSAN); + } + log.debug(" Exporting certificate to: {}", properties.getCertificateFile()); + ksUtil.exportCertToFile(properties.getKeyEntryName(), properties.getCertificateFile()); + + KeystoreUtil tsUtil = KeystoreUtil + .getKeystore(properties.getTruststoreFile(), properties.getTruststoreType(), properties.getTruststorePassword()) + .passwordUtil(passwordUtil) + .createIfNotExist(); + log.debug(" Importing certificate to trust store: {}", properties.getTruststoreFile()); + tsUtil.importAndReplaceCertFromFile(properties.getKeyEntryName(), properties.getCertificateFile()); + + log.debug(" Key pair and Certificate generation completed"); + } else { + log.debug(" Key pair and Certificate will not be re-generated"); + } + + // Log PEM certificate + if (log.isDebugEnabled()) { + String certPemStr = KeystoreUtil + .getKeystore(properties.getKeystoreFile(), properties.getKeystoreType(), properties.getKeystorePassword()) + .passwordUtil(passwordUtil) + .getEntryCertificateAsPEM(properties.getKeyEntryName()); + log.debug(" Certificate (PEM):\n{}", certPemStr); + } + log.debug("KeystoreUtil.initializeKeystoresAndCertificate(): Initializing keystores and certificate... done"); + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/NetUtil.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/NetUtil.java new file mode 100644 index 0000000..6142230 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/NetUtil.java @@ -0,0 +1,292 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.io.IOException; +import java.net.*; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Network Utility + */ +@Slf4j +public class NetUtil { + + private final static String[] ADDRESS_FILTERS; + + private final static String DATAGRAM_ADDRESS; + + private final static String[][] PUBLIC_ADDRESS_DISCOVERY_SERVICES; + + static { + // Configure Address Filters + String filtersStr = System.getenv("NET_UTIL_ADDRESS_FILTERS"); + List filtersList = new ArrayList<>(); + if (StringUtils.isNotBlank(filtersStr)) { + filtersList = Arrays.stream(filtersStr.split("[;, \t]+")).map(String::trim).filter(s->!s.isEmpty()).collect(Collectors.toList()); + } else { + filtersList = Arrays.asList( + "127.", + /*"192.168.", "10.", "172.16.", "172.31.", "169.254.",*/ + "224.", "239.", "255.255.255.255" + ); + } + ADDRESS_FILTERS = filtersList.toArray(new String[0]); + + // Configure Datagram address + String datagramAddress = System.getenv("NET_UTIL_DATAGRAM_ADDRESS"); + DATAGRAM_ADDRESS = StringUtils.isNotBlank(datagramAddress) ? datagramAddress.trim() : "8.8.8.8"; + + // Configure Address discovery services + String servicesStr = System.getenv("NET_UTIL_ADDRESS_DISCOVERY_SERVICES"); + List servicesList = new ArrayList<>(); + if (StringUtils.isNotBlank(servicesStr)) { + if (!"-".equals(servicesStr)) { + Arrays.stream(servicesStr.split("[;, \t]+")) + .map(String::trim) + .filter(s -> !s.isEmpty()) + .map(s -> s.split("[:=]", 2)) + .filter(a -> a.length == 2) + .peek(a->{ a[0]=a[0].trim(); a[1]=a[1].trim(); }) + .filter(a->!a[0].isEmpty() && !a[1].isEmpty()) + .forEach(servicesList::add); + } + } else { + servicesList.add(Arrays.asList("AWS", "http://checkip.amazonaws.com").toArray(new String[0])); + servicesList.add(Arrays.asList("Ipify", "https://api.ipify.org/?format=text").toArray(new String[0])); + servicesList.add(Arrays.asList("WhatIsMyIpAddress", "http://bot.whatismyipaddress.com/").toArray(new String[0])); + } + PUBLIC_ADDRESS_DISCOVERY_SERVICES = servicesList.toArray(new String[0][]); + } + + // ------------------------------------------------------------------------ + + public static void main(String[] args) throws IOException { + for (String arg : args) { + if ("-nolog".equalsIgnoreCase(arg)) { + loggingOff = true; + } else + if ("-log-all".equalsIgnoreCase(arg)) { + logAll = true; + } else + if ("public".equalsIgnoreCase(arg)) { + printAddress(getPublicIpAddress()); + } else + if ("default".equalsIgnoreCase(arg)) { + printAddress(getDefaultIpAddress()); + } else + if ("addresses".equalsIgnoreCase(arg)) { + for (InetAddress addr : getIpAddresses()) { + printAddress(addr.getHostAddress()); + } + } else + { + for (String[] service : PUBLIC_ADDRESS_DISCOVERY_SERVICES) { + if (service[0].equalsIgnoreCase(arg)) { + printAddress(queryService(service[1])); + } + } + } + } + } + + protected static void printAddress(String addr) { + if (logAll) log_info("{}", addr); + else System.out.println(addr); + } + + // ------------------------------------------------------------------------ + + protected static boolean loggingOff = false; + protected static boolean logAll = false; + + protected static void log_trace(String s, Object...o) { if (loggingOff) return; log.trace(s, o); } + protected static void log_debug(String s, Object...o) { if (loggingOff) return; log.debug(s, o); } + protected static void log_info(String s, Object...o) { if (loggingOff) return; log.info(s, o); } + protected static void log_warn(String s, Object...o) { if (loggingOff) return; log.warn(s, o); } + + // ------------------------------------------------------------------------ + + protected static boolean cacheAddresses = true; + + public static boolean isCacheAddresses() { return cacheAddresses; } + public static void setCacheAddresses(boolean b) { cacheAddresses = b; } + + public static void clearCaches() { + ipAddresses = null; + publicIpAddress = null; + defaultIpAddress = null; + } + + // ------------------------------------------------------------------------ + + private static List ipAddresses = null; + + public static List getIpAddresses() throws SocketException { + if (cacheAddresses && ipAddresses!=null) { + log_debug("NetUtil.getIpAddresses(): Returning cached IP addresses: {}", ipAddresses); + return ipAddresses; + } + + List list = new ArrayList<>(); + Enumeration en = NetworkInterface.getNetworkInterfaces(); + while (en.hasMoreElements()) { + NetworkInterface ni = en.nextElement(); + for (InterfaceAddress ia : ni.getInterfaceAddresses()) { + InetAddress inet = ia.getAddress(); + if (inet instanceof java.net.Inet4Address) { + String addr = inet.getHostAddress(); + if (!inet.isLoopbackAddress() && !inet.isMulticastAddress() && inet.isSiteLocalAddress()) { + boolean ok = Arrays.stream(ADDRESS_FILTERS) + .noneMatch(addr::startsWith); + if (ok) { + log_debug("{}", addr); + list.add(inet); + } + } + } + } + } + if (cacheAddresses) ipAddresses = Collections.unmodifiableList(list); + return list; + } + + protected static InetAddress _getIpAddress() { + try { + List list = getIpAddresses(); + if (list.size() == 0) { + log_debug("NetUtil.getIpAddress(): Returning 'null' because getIpAddresses() returned an empty list"); + return null; + } + return list.get(0); + } catch (SocketException se) { + log_debug("NetUtil.getIpAddress(): Returning 'null' due to exception: ", se); + return null; + } + } + + public static String getIpAddress() { + return _getIpAddress().getHostAddress(); + } + + public static String getHostname() { + return _getIpAddress().getHostName(); + } + + public static String getCanonicalHostName() { + return _getIpAddress().getCanonicalHostName(); + } + + // ------------------------------------------------------------------------ + + private static String publicIpAddress = null; + + public static String getPublicIpAddress() { + if (cacheAddresses && publicIpAddress!=null) { + log_debug("NetUtil.getPublicIpAddress(): Returning cached Public IP address: {}", publicIpAddress); + return publicIpAddress; + } + + for (String[] service : PUBLIC_ADDRESS_DISCOVERY_SERVICES) { + log_debug("NetUtil.getPublicIpAddress(): Contacting service {}", service[0]); + String ip = getIpAddressUsingService(service[1]); + if (StringUtils.isNotBlank(ip)) { + String addr = ip.trim(); + if (cacheAddresses) publicIpAddress = addr; + log_debug("NetUtil.getPublicIpAddress(): Public IP address: {}", addr); + return addr; + } + } + if (cacheAddresses) publicIpAddress = ""; + + log_warn("NetUtil.getPublicIpAddress(): No Public IP address or connectivity problems exist"); + return null; + } + + private static String getIpAddressUsingService(String url) { + try { + log_debug("NetUtil.getIpAddressUsingService(): Service URL: {}", url); + String response = queryService(url); + log_debug("NetUtil.getIpAddressUsingService(): Service response: {}", response); + if (StringUtils.isNotBlank(response)) { + return response; + } + } catch (Exception ex) { + log_warn("NetUtil.getIpAddressUsingService(): Contacting service FAILED: url={}, EXCEPTION={}", url, ex.toString()); + log_trace("NetUtil.getIpAddressUsingService(): Exception stack trace: ", ex); + } + + log_debug("NetUtil.getIpAddressUsingService(): Response is null or blank"); + return null; + } + + private static String queryService(String url) throws MalformedURLException, IOException { + try (Scanner s = new Scanner(new URL(url).openStream(), "UTF-8").useDelimiter("\\A")) { + return s.next().trim(); + } + } + + // ------------------------------------------------------------------------ + + private static String defaultIpAddress = null; + + public static String getDefaultIpAddress() { + if (cacheAddresses && defaultIpAddress!=null) { + log_debug("NetUtil.getDefaultIpAddress(): Returning cached Default IP address: {}", defaultIpAddress); + return defaultIpAddress; + } + + try { + log_debug("NetUtil.getDefaultIpAddress(): Datagram address: {}", DATAGRAM_ADDRESS); + String addr = getIpAddressWithDatagram(DATAGRAM_ADDRESS); + if (cacheAddresses) defaultIpAddress = addr; + log_debug("NetUtil.getDefaultIpAddress(): Response: {}", addr); + if (StringUtils.isNotBlank(defaultIpAddress)) return addr; + } catch (Exception ex) { + log_warn("NetUtil.getDefaultIpAddress(): Datagram method failed: outgoing-ip-address={}, exception=", DATAGRAM_ADDRESS, ex); + if (cacheAddresses) defaultIpAddress = ""; + } + + log_warn("NetUtil.getDefaultIpAddress(): Address is null or blank"); + return null; + } + + public static String getIpAddressWithDatagram(String address) throws SocketException, UnknownHostException { + try(final DatagramSocket socket = new DatagramSocket()) { + socket.connect(InetAddress.getByName(address), 10002); + return socket.getLocalAddress().getHostAddress(); + } + } + + // ------------------------------------------------------------------------ + + public static boolean isLocalAddress(String addr) throws UnknownHostException { + return isLocalAddress(InetAddress.getByName(addr)); + } + + // Source: https://stackoverflow.com/questions/2406341/how-to-check-if-an-ip-address-is-the-local-host-on-a-multi-homed-system + public static boolean isLocalAddress(InetAddress addr) { + // Check if the address is a valid special local or loop back + if (addr.isAnyLocalAddress() || addr.isLoopbackAddress()) { + return true; + } + + // Check if the address is defined on any interface + try { + return NetworkInterface.getByInetAddress(addr) != null; + } catch (SocketException e) { + return false; + } + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/NetUtilPostProcessor.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/NetUtilPostProcessor.java new file mode 100644 index 0000000..7fe780d --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/NetUtilPostProcessor.java @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.env.EnvironmentPostProcessor; +import org.springframework.boot.logging.DeferredLog; +import org.springframework.core.env.ConfigurableEnvironment; +import org.springframework.core.env.PropertySource; +import org.springframework.stereotype.Component; + +@Component +public class NetUtilPostProcessor implements EnvironmentPostProcessor { + private static final DeferredLog log = new DeferredLog(); + + @Override + public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) { + PropertySource ps = new NetUtilPropertySource(); + environment.getPropertySources().addFirst(ps); + log.info("NetUtilPostProcessor: NetUtilPropertySource registered (deferred log)"); + + application.addInitializers(ctx -> log.replayTo(NetUtilPostProcessor.class)); + } + + @Getter @Setter + public static class NetUtilPropertySource extends PropertySource { + private String defaultDefaultIp = "127.0.0.1"; + private String defaultPublicIp = "127.0.0.1"; + + public NetUtilPropertySource() { + super("ems-net-util-property-source"); + } + + public NetUtilPropertySource(String name) { + super(name); + } + + @Override + public String getProperty(String s) { + String address = null; + if ("DEFAULT_IP".equals(s)) { + address = NetUtil.getDefaultIpAddress(); + if (address==null) address = defaultDefaultIp; + } + if ("PUBLIC_IP".equals(s)) { + address = NetUtil.getPublicIpAddress(); + if (address==null) address = defaultPublicIp; + } + return address; + } + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/PasswordUtil.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/PasswordUtil.java new file mode 100644 index 0000000..cd95a0a --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/PasswordUtil.java @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import gr.iccs.imu.ems.util.password.AsterisksPasswordEncoder; +import gr.iccs.imu.ems.util.password.PasswordEncoder; +import lombok.Data; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Service; + +import java.lang.reflect.InvocationTargetException; +import java.util.Optional; +import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Supplier; + +@Slf4j +@Service +@RequiredArgsConstructor +public class PasswordUtil implements InitializingBean { + private final static Supplier passwordEncoderSupplier = AsterisksPasswordEncoder::new; + private final static AtomicReference defaultPasswordEncoder = new AtomicReference<>(); + + private final static Object LOCK = new Object(); + private static volatile PasswordUtil instance; + + private final PasswordUtilProperties properties; + private PasswordEncoder passwordEncoder; + + public static PasswordUtil getInstance() { + if (instance==null) { + synchronized (LOCK) { + if (instance==null) { + instance = new PasswordUtil(new PasswordUtilProperties()); + instance.afterPropertiesSet(); + } + } + } + return instance; + } + + @Override + public void afterPropertiesSet() { + String passwordEncoderClassName = properties.getPasswordEncoderClass(); + log.debug("PasswordUtil: password-encoder-class: {}", passwordEncoderClassName); + this.setPasswordEncoder(StringUtils.trim(passwordEncoderClassName)); + if (passwordEncoder!=null) + if (defaultPasswordEncoder.compareAndSet(null, passwordEncoder)) + log.info("PasswordUtil: Initialized default Password Encoder: {}", defaultPasswordEncoder.get().getClass().getName()); + } + + public String encodePassword(String password) { + return getPasswordEncoder().encode(password); + } + + public PasswordEncoder getPasswordEncoder() { + return passwordEncoder!=null + ? passwordEncoder : (passwordEncoder=createPasswordEncoder(null)); + } + + public void setPasswordEncoder(PasswordEncoder pe) { + passwordEncoder = pe; + log.debug("PasswordUtil.setPasswordEncoder(): PasswordEncoder set to: {}", passwordEncoder.getClass().getName()); + } + + public void setPasswordEncoder(String passwordEncoderClassName) { + setPasswordEncoder(createPasswordEncoder(passwordEncoderClassName)); + } + + public static PasswordEncoder createPasswordEncoder(String passwordEncoderClassName) { + if (StringUtils.isBlank(passwordEncoderClassName)) { + log.debug("Password encoder class name is empty. Default instance of PasswordEncoder will be created"); + return passwordEncoderSupplier.get(); + } + + try { + Class passwordEncoderClass = Class.forName(passwordEncoderClassName); + return (PasswordEncoder) passwordEncoderClass.getConstructor().newInstance(); + } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException e) { + log.warn("Could not instantiate PasswordEncoder instance of {}. Default instance of PasswordEncoder will be created", passwordEncoderClassName); + return passwordEncoderSupplier.get(); + } + } + + public static PasswordEncoder getDefaultPasswordEncoder() { + return Optional.ofNullable(defaultPasswordEncoder.get()) + .orElse(passwordEncoderSupplier.get()); + } + + @Slf4j + @Data + @Configuration + @ConfigurationProperties(prefix = EmsConstant.EMS_PROPERTIES_PREFIX) + public static class PasswordUtilProperties implements InitializingBean { + private String passwordEncoderClass; + + @Override + public void afterPropertiesSet() throws Exception { + log.debug("PasswordUtilProperties: {}", this); + } + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/Plugin.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/Plugin.java new file mode 100644 index 0000000..3cae229 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/Plugin.java @@ -0,0 +1,15 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +public interface Plugin { + default void start() {} + default void stop() {} +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/SerializationUtil.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/SerializationUtil.java new file mode 100644 index 0000000..1a6ce5f --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/SerializationUtil.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.extern.slf4j.Slf4j; + +import java.io.*; +import java.util.Base64; + +@Slf4j +public class SerializationUtil { + /** + * Write an object to Base64 string. + */ + public static String serializeToString(Object o) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(o); + oos.close(); + return Base64.getEncoder().encodeToString(baos.toByteArray()); + } + + /** + * Read the object from Base64 string. + */ + public static Object deserializeFromString(String s) throws IOException, ClassNotFoundException { + byte[] data = Base64.getDecoder().decode(s); + ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(data)); + Object o = ois.readObject(); + ois.close(); + return o; + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/StrUtil.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/StrUtil.java new file mode 100644 index 0000000..51d1f82 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/StrUtil.java @@ -0,0 +1,374 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util; + +import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.util.*; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +@Slf4j +public class StrUtil { + + // ------------------------------------------------------------------------ + // Key variations methods + // ------------------------------------------------------------------------ + + private final static Pattern pUppercase = Pattern.compile("(?=\\p{Lu})"); + private final static Pattern pDelims = Pattern.compile("[\\.\\-_ ]"); + + public static Set getVariations(@NonNull String s) { + return getVariations(s, false, null); + } + + public static Set getVariations(@NonNull String s, boolean alsoSplitOnUppercase) { + return getVariations(s, alsoSplitOnUppercase, null); + } + + public static Set getVariations(@NonNull String s, String delims) { + return getVariations(s, false, delims); + } + + public static Set getVariations(@NonNull String str, boolean alsoSplitOnUppercase, String delims) { + log.trace("StrUtil: getVariations: BEGIN: str={}, also-split-on-uppercase={}, delimiters={}", str, alsoSplitOnUppercase, delims); + // Split input string into separate words + List words = _splitToWords(str, alsoSplitOnUppercase, delims); + + // Create variations + Set variations = new LinkedHashSet<>(Arrays.asList( + // All letters plain separated with underscores + String.join("_", words), + // All letters capital separated with underscores + words.stream().map(String::toUpperCase).collect(Collectors.joining("_")), + // Title case + words.stream().map(StringUtils::capitalize).collect(Collectors.joining()), + // Camel case + StringUtils.uncapitalize(words.stream().map(StringUtils::capitalize).collect(Collectors.joining())), + // All letters lower case separated with periods + String.join(".", words), + // All letters lower case separated with dashes + String.join("-", words) + )); + log.trace("StrUtil: getVariations: END: variations: {}", variations); + return variations; + } + + public static String getNormalizedForm(@NonNull String str, boolean alsoSplitOnUppercase) { + return getNormalizedForm(str, alsoSplitOnUppercase, null); + } + + public static String getNormalizedForm(@NonNull String str, boolean alsoSplitOnUppercase, String delims) { + log.trace("StrUtil: getNormalizedForm: BEGIN: str={}, also-split-on-uppercase={}, delimiters={}", str, alsoSplitOnUppercase, delims); + // Split input string into separate words + List words = _splitToWords(str, alsoSplitOnUppercase, delims); + + // Create normalized form + String normalizedForm = words.stream().map(String::toUpperCase).collect(Collectors.joining("_")); + log.trace("StrUtil: getNormalizedForm: END: normalized form: {}", normalizedForm); + return normalizedForm; + } + + private static List _splitToWords(String str, boolean alsoSplitOnUppercase, String delims) { + log.trace("StrUtil: _splitToWords: BEGIN: str={}, also-split-on-uppercase={}, delimiters={}", str, alsoSplitOnUppercase, delims); + Pattern _delims = StringUtils.isNotBlank(delims) + ? Pattern.compile(delims) + : pDelims; + log.trace("StrUtil: _splitToWords: Effective delimiters={}", _delims); + + List words = + (alsoSplitOnUppercase + ? pUppercase.splitAsStream(str) + .filter(StringUtils::isNotBlank) + .flatMap(_delims::splitAsStream) + : _delims.splitAsStream(str) + ) + .filter(StringUtils::isNotBlank) + .map(String::trim) + .map(String::toLowerCase) + .collect(Collectors.toList()); + log.trace("StrUtil: _splitToWords: END: words: {}", words); + return words; + } + + // ------------------------------------------------------------------------ + // Get Map values using key variations + // ------------------------------------------------------------------------ + + public static String getWithVariations(@NonNull Map configuration, @NonNull String key) { + return getWithVariations(configuration, key, null); + } + + public static String getWithVariations(@NonNull Map configuration, @NonNull String key, String defaultValue) { + log.trace("StrUtil: getWithVariations: BEGIN: key={}, default={}, map={}", key, defaultValue, configuration); + + // Create key variations + Set variations = StrUtil.getVariations(key, true); + variations.add(key); + log.trace("StrUtil: getWithVariations: variations={}", variations); + + // Search for value + for (String k : variations) { + if (configuration.containsKey(k)) { + log.trace("StrUtil: getWithVariations: Variation matched: name={}, value={}", k, configuration.get(k)); + return configuration.get(k); + } + } + log.trace("StrUtil: getWithVariations: No variations matched. Returning default: {}", defaultValue); + return defaultValue; + } + + public static String getWithNormalized(@NonNull Map configuration, @NonNull String key) { + return getWithNormalized(configuration, key, null); + } + + public static String getWithNormalized(@NonNull Map configuration, @NonNull String key, String defaultValue) { + log.trace("StrUtil: getWithNormalized: BEGIN: key={}, default={}, map={}", key, defaultValue, configuration); + + // Normalize key + String normalizedForm = StrUtil.getNormalizedForm(key, true); + log.trace("StrUtil: getWithNormalized: Normalized key form: {}", normalizedForm); + + // Search for value + for (String k : configuration.keySet()) { + String normalizedKey = StrUtil.getNormalizedForm(k, true); + if (normalizedForm.equals(normalizedKey)) { + log.trace("StrUtil: getWithNormalized: Key matched: name={}, value={}", k, configuration.get(k)); + return configuration.get(k); + } + } + log.trace("StrUtil: getWithNormalized: key not found. Returning default: {}", defaultValue); + return defaultValue; + } + + public static boolean compareNormalized(@NonNull String key1, @NonNull String key2) { + log.trace("StrUtil: compareNormalized: BEGIN: key1={}, key2={}", key1, key2); + if (key1.equals(key2)) { + log.trace("StrUtil: compareNormalized: END: Original keys are equal"); + return true; + } + + // Normalized keys + String normalizedKey1 = StrUtil.getNormalizedForm(key1, true); + String normalizedKey2 = StrUtil.getNormalizedForm(key2, true); + log.trace("StrUtil: compareNormalized: Normalized keys: key1={}, key2={}", key1, key2); + + // Compare keys + boolean areEqual = normalizedKey1.equals(normalizedKey2); + log.trace("StrUtil: compareNormalized: END: Normalized keys are {}", areEqual ? "EQUAL" : "NOT EQUAL"); + return areEqual; + } + + // ------------------------------------------------------------------------ + // Convert string to primitives + // ------------------------------------------------------------------------ + + protected static class StrConverter { + public T convert(String str, T defaultValue, Function converter, Predicate checker, boolean throwException, String exceptionMessage) { + T result = defaultValue; + if (StringUtils.isNotBlank(str)) { + try { + result = converter.apply(str.trim()); + if (checker!=null && ! checker.test(result)) { + if (throwException) + throw new IllegalArgumentException("Value check failed: str="+str); + log.warn("StrConverter: Value check failed. Default value will be returned: str={}, default={}", str, defaultValue); + result = defaultValue; + } + } catch (Exception e) { + if (throwException) + throw new IllegalArgumentException("Invalid value: str="+str, e); + String formatter = exceptionMessage; + if (StringUtils.isBlank(exceptionMessage)) { + String typeName; + if (result!=null) { + typeName = result.getClass().getSimpleName(); + } else { + /*List dummy = new ArrayList<>(0); + Type[] actualTypeArguments = ((ParameterizedType) dummy.getClass().getGenericSuperclass()).getActualTypeArguments(); + Type clazz = actualTypeArguments[0]; + Class theClass = (Class) clazz.getClass(); + typeName = theClass.getSimpleName(); + */ + typeName = "unknown_type"; + } + formatter = String.format("StrConverter: Invalid %s value: str=%s, Exception: ", typeName, str); + } + log.warn(formatter, e); + } + } + return result; + } + } + + protected final static StrConverter strToIntConverter = new StrConverter<>(); + protected final static StrConverter strToLongConverter = new StrConverter<>(); + protected final static StrConverter strToDoubleConverter = new StrConverter<>(); + + public static int strToInt(String str, int defaultValue, Predicate checker, boolean throwException, String exceptionMessage) { + return strToIntConverter.convert(str, defaultValue, Integer::parseInt, checker, throwException, exceptionMessage); + } + + public static long strToLong(String str, long defaultValue, Predicate checker, boolean throwException, String exceptionMessage) { + return strToLongConverter.convert(str, defaultValue, Long::parseLong, checker, throwException, exceptionMessage); + } + + public static double strToDouble(String str, double defaultValue, Predicate checker, boolean throwException, String exceptionMessage) { + return strToDoubleConverter.convert(str, defaultValue, Double::parseDouble, checker, throwException, exceptionMessage); + } + + public static > T strToEnum(String str, Class enumType, T defaultValue, boolean throwException, String exceptionMessage) { + String formatter = StringUtils.isNotBlank(exceptionMessage) + ? exceptionMessage : "strToEnum: Invalid enum "+enumType.getSimpleName()+" value: str={}, Exception: "; + StrConverter converter = new StrConverter<>(); + return converter.convert(str, defaultValue, (s)->Enum.valueOf(enumType, s), null, throwException, formatter); + } + + // ------------------------------------------------------------------------ + // Convert Exceptions to details string + // ------------------------------------------------------------------------ + + public static String exceptionToDetailsString(Throwable t) { + return exceptionToDetailsString(t, true, true, false, "; ", ": "); + } + + public static String exceptionToDetailsString(Throwable t, boolean printRootCauseFirst) { + return exceptionToDetailsString(t, true, true, printRootCauseFirst, "; ", ": "); + } + + public static String exceptionToDetailsString(Throwable t, + boolean printExceptionClass, + boolean printExceptionMessage, + boolean printRootCauseFirst, + String exceptionDelimiter, + String messageDelimiter) + { + if (!printExceptionClass && !printExceptionMessage) + return null; + + StringBuilder s = new StringBuilder(); + String _m = t.getMessage(); + String _d = null; + if (printExceptionMessage && StringUtils.isNotBlank(_m)) + s.append(_d = _m); + if (printExceptionClass) + s.insert(0, _d == null ? "" : messageDelimiter).insert(0, t.getClass().getName()); + + Throwable _t = t.getCause(); + //if (_t==null) return null; + if (printRootCauseFirst) { + while (_t != null) { + _m = _t.getMessage(); + _d = null; + s.insert(0, exceptionDelimiter); + if (printExceptionMessage && StringUtils.isNotBlank(_m)) + s.insert(0, _d = _m); + if (printExceptionClass) + s.insert(0, _d == null ? "" : messageDelimiter).insert(0, _t.getClass().getName()); + _t = _t.getCause(); + } + } else { + while (_t != null) { + _m = _t.getMessage(); + _d = null; + s.append(exceptionDelimiter); + if (printExceptionClass) + s.append(_d = _t.getClass().getName()); + if (printExceptionMessage && StringUtils.isNotBlank(_m)) + s.append(_d==null ? "" : messageDelimiter).append(_m); + _t = _t.getCause(); + } + } + return s.toString(); + } + + // ------------------------------------------------------------------------ + // Object Map-to-String Map conversion methods + // ------------------------------------------------------------------------ + + @SuppressWarnings("unchecked") + public static Map castToMapStringObject(Object o) { + return (Map) o; + } + + @SuppressWarnings("unchecked") + public static EventBus castToEventBusStringObjectObject(Object o) { + return (EventBus) o; + } + + public static Map deepStringifyMap(Map inputMap) { + Map outMap = new LinkedHashMap<>(); + for (Map.Entry entry : inputMap.entrySet()) { + if (entry.getValue()!=null && entry.getValue() instanceof Map) { + Map tmpMap = deepStringifyMap(castToMapStringObject(entry.getValue())); + outMap.put(entry.getKey(), tmpMap); + } else { + outMap.put(entry.getKey(), entry.getValue()!=null ? entry.getValue().toString() : null); + } + } + return outMap; + } + + public static Map deepFlattenMap(Map inputMap) { + return deepFlattenMap(inputMap, ""); + } + + public static Map deepFlattenMap(Map inputMap, String prefix) { + if (inputMap==null) + return Collections.emptyMap(); + Map outMap = new LinkedHashMap<>(); + for (Map.Entry entry : inputMap.entrySet()) { + String newKey = prefix.isEmpty() + ? entry.getKey() + : (entry.getKey()!=null) ? prefix+"."+entry.getKey() : prefix; + if (entry.getValue()!=null && entry.getValue() instanceof Map) { + Map tmpMap = deepFlattenMap(castToMapStringObject(entry.getValue()), newKey); + outMap.putAll(tmpMap); + } else { + outMap.put(newKey, entry.getValue()!=null ? entry.getValue().toString() : null); + } + } + return outMap; + } + + // ------------------------------------------------------------------------ + // Main for command-line use + // ------------------------------------------------------------------------ + + public static void main(String[] args) { + boolean uc = false; + String key = null; + String delims = null; + + for (String s : args) { + if ("-u".equals(s)) uc = true; + else if (s.startsWith("-D")) delims = s.substring(2); + else key = s; + } + + Set v; + if (uc) { + if (delims!=null) v = getVariations(key, uc, delims); + else v = getVariations(key, uc); + } else { + if (delims!=null) v = getVariations(key, delims); + else v = getVariations(key); + } + + System.out.println("> "+v); + // with Original key + v.add(key); + System.out.println("> "+v); + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/AsterisksPasswordEncoder.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/AsterisksPasswordEncoder.java new file mode 100644 index 0000000..6d2d221 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/AsterisksPasswordEncoder.java @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util.password; + +public class AsterisksPasswordEncoder implements PasswordEncoder { + public String encode(String password) { + return "********"; + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/IdentityPasswordEncoder.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/IdentityPasswordEncoder.java new file mode 100644 index 0000000..c79c7e6 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/IdentityPasswordEncoder.java @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util.password; + +public class IdentityPasswordEncoder implements PasswordEncoder { + public String encode(String password) { + return password; + } +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/PasswordEncoder.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/PasswordEncoder.java new file mode 100644 index 0000000..cea7ab4 --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/PasswordEncoder.java @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util.password; + +public interface PasswordEncoder { + String encode(String password); +} diff --git a/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/PresentPasswordEncoder.java b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/PresentPasswordEncoder.java new file mode 100644 index 0000000..f25a60a --- /dev/null +++ b/ems-core/util/src/main/java/gr/iccs/imu/ems/util/password/PresentPasswordEncoder.java @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +package gr.iccs.imu.ems.util.password; + +import org.apache.commons.lang3.StringUtils; + +public class PresentPasswordEncoder implements PasswordEncoder { + public String encode(String password) { + return StringUtils.isEmpty(password) + ? "** No password provided **" + : "** password provided **"; + } +} diff --git a/ems-core/web-admin/.dockerignore b/ems-core/web-admin/.dockerignore new file mode 100644 index 0000000..7d2f2e8 --- /dev/null +++ b/ems-core/web-admin/.dockerignore @@ -0,0 +1,3 @@ +.idea +dist +node_modules diff --git a/ems-core/web-admin/.gitignore b/ems-core/web-admin/.gitignore new file mode 100644 index 0000000..c382ea5 --- /dev/null +++ b/ems-core/web-admin/.gitignore @@ -0,0 +1,26 @@ +.DS_Store +node_modules +/dist +/node +/.env +/package-lock.json + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/ems-core/web-admin/Dockerfile b/ems-core/web-admin/Dockerfile new file mode 100644 index 0000000..67abc32 --- /dev/null +++ b/ems-core/web-admin/Dockerfile @@ -0,0 +1,25 @@ +# +# Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) +# +# This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless +# Esper library is used, in which case it is subject to the terms of General Public License v2.0. +# If a copy of the MPL was not distributed with this file, you can obtain one at +# https://www.mozilla.org/en-US/MPL/2.0/ +# + +FROM node:14-alpine + +ENV WEB_BASEDIR /opt/ems-web-admin + +WORKDIR ${WEB_BASEDIR} + +ADD public ./public +ADD src ./src +ADD .env . +ADD *.js . +ADD *.json . +ADD README.md . + +RUN npm install + +ENTRYPOINT ["npm", "run", "serve"] \ No newline at end of file diff --git a/ems-core/web-admin/README.md b/ems-core/web-admin/README.md new file mode 100644 index 0000000..19bd949 --- /dev/null +++ b/ems-core/web-admin/README.md @@ -0,0 +1,33 @@ + + +# ems-web-admin + +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### Compiles and minifies for production +``` +npm run build +``` + +### Lints and fixes files +``` +npm run lint +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/ems-core/web-admin/babel.config.js b/ems-core/web-admin/babel.config.js new file mode 100644 index 0000000..e955840 --- /dev/null +++ b/ems-core/web-admin/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/ems-core/web-admin/package.json b/ems-core/web-admin/package.json new file mode 100644 index 0000000..4cfebba --- /dev/null +++ b/ems-core/web-admin/package.json @@ -0,0 +1,63 @@ +{ + "name": "ems-web-admin", + "version": "1.5.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@tip2tail/jqvmap": "^1.6.0", + "ace-builds": "^1.23.4", + "chart.js": "^3.7.1", + "core-js": "^3.21.1", + "jquery": "^3.6.0", + "jquery-knob": "^1.2.11", + "jquery-sparkline": "^2.4.0", + "jquery-ui": "^1.13.1", + "jvectormap-content": "^0.1.0", + "jvectormap-next": "^3.1.1", + "leaflet": "^1.7.1", + "leaflet-providers": "^1.13.0", + "leaflet.markercluster": "^1.5.3", + "mime-types": "^2.1.35", + "mitt": "^3.0.0", + "vue": "^3.2.31", + "vue-gauge": "^1.0.3", + "vue-json-pretty": "^2.0.6", + "vue-router": "^4.0.14", + "vue-world-map": "^0.1.1", + "vue3-ace-editor": "^2.2.2", + "vue3-blocks-tree": "^0.5.2", + "vue3-easy-data-table": "^1.5.47" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "^4.5.17", + "@vue/cli-plugin-eslint": "^4.5.17", + "@vue/cli-service": "^4.5.17", + "@vue/compiler-sfc": "^3.2.31", + "babel-eslint": "^10.1.0", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^7.20.0" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/vue3-essential", + "eslint:recommended" + ], + "parserOptions": { + "parser": "babel-eslint" + }, + "rules": {} + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/ems-core/web-admin/pom.xml b/ems-core/web-admin/pom.xml new file mode 100644 index 0000000..a051450 --- /dev/null +++ b/ems-core/web-admin/pom.xml @@ -0,0 +1,178 @@ + + + 4.0.0 + + + gr.iccs.imu.ems + ems-core + ${revision} + + + web-admin + pom + EMS - Web Admin + + + v14.17.3 + + + + + build-web-admin + + false + + ../.dev-skip-build-web-admin + + + + + + + + maven-clean-plugin + 3.3.1 + + + remove-dist + clean + + clean + + + + + + + ${project.basedir}/dist + + **/* + + false + + + ${project.basedir} + + .env + + false + + + + + + + + + + maven-resources-plugin + 3.2.0 + + + create-env-file + generate-resources + + copy-resources + + + ${project.basedir} + + + ${project.basedir}/src/resources + true + + + UTF-8 + + + + + + + + com.github.eirslett + frontend-maven-plugin + 1.13.4 + + + + install node and npm + + install-node-and-npm + + + ${node.version} + + + + + npm install + + npm + + + generate-resources + + + install + + + + + npm run build + + npm + + + run build + + + + + + + + + + + diff --git a/ems-core/web-admin/public/assets/css/adminlte.min.css b/ems-core/web-admin/public/assets/css/adminlte.min.css new file mode 100644 index 0000000..611eb24 --- /dev/null +++ b/ems-core/web-admin/public/assets/css/adminlte.min.css @@ -0,0 +1,12 @@ +/*! + * AdminLTE v3.1.0 + * Author: Colorlib + * Website: AdminLTE.io + * License: Open source - MIT + *//*! + * Bootstrap v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,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%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}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;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}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}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:none}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}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}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[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}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:baseline}[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-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:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{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.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;box-shadow:0 1px 2px rgba(0,0,0,.075);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem;box-shadow:inset 0 -.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:7.5px;padding-left:7.5px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-7.5px;margin-left:-7.5px}.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-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.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-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.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-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.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-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.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-auto{position:relative;width:100%;padding-right:7.5px;padding-left:7.5px}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-last{-webkit-order:13;-ms-flex-order:13;order:13}.order-0{-webkit-order:0;-ms-flex-order:0;order:0}.order-1{-webkit-order:1;-ms-flex-order:1;order:1}.order-2{-webkit-order:2;-ms-flex-order:2;order:2}.order-3{-webkit-order:3;-ms-flex-order:3;order:3}.order-4{-webkit-order:4;-ms-flex-order:4;order:4}.order-5{-webkit-order:5;-ms-flex-order:5;order:5}.order-6{-webkit-order:6;-ms-flex-order:6;order:6}.order-7{-webkit-order:7;-ms-flex-order:7;order:7}.order-8{-webkit-order:8;-ms-flex-order:8;order:8}.order-9{-webkit-order:9;-ms-flex-order:9;order:9}.order-10{-webkit-order:10;-ms-flex-order:10;order:10}.order-11{-webkit-order:11;-ms-flex-order:11;order:11}.order-12{-webkit-order:12;-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-order:13;-ms-flex-order:13;order:13}.order-sm-0{-webkit-order:0;-ms-flex-order:0;order:0}.order-sm-1{-webkit-order:1;-ms-flex-order:1;order:1}.order-sm-2{-webkit-order:2;-ms-flex-order:2;order:2}.order-sm-3{-webkit-order:3;-ms-flex-order:3;order:3}.order-sm-4{-webkit-order:4;-ms-flex-order:4;order:4}.order-sm-5{-webkit-order:5;-ms-flex-order:5;order:5}.order-sm-6{-webkit-order:6;-ms-flex-order:6;order:6}.order-sm-7{-webkit-order:7;-ms-flex-order:7;order:7}.order-sm-8{-webkit-order:8;-ms-flex-order:8;order:8}.order-sm-9{-webkit-order:9;-ms-flex-order:9;order:9}.order-sm-10{-webkit-order:10;-ms-flex-order:10;order:10}.order-sm-11{-webkit-order:11;-ms-flex-order:11;order:11}.order-sm-12{-webkit-order:12;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-order:13;-ms-flex-order:13;order:13}.order-md-0{-webkit-order:0;-ms-flex-order:0;order:0}.order-md-1{-webkit-order:1;-ms-flex-order:1;order:1}.order-md-2{-webkit-order:2;-ms-flex-order:2;order:2}.order-md-3{-webkit-order:3;-ms-flex-order:3;order:3}.order-md-4{-webkit-order:4;-ms-flex-order:4;order:4}.order-md-5{-webkit-order:5;-ms-flex-order:5;order:5}.order-md-6{-webkit-order:6;-ms-flex-order:6;order:6}.order-md-7{-webkit-order:7;-ms-flex-order:7;order:7}.order-md-8{-webkit-order:8;-ms-flex-order:8;order:8}.order-md-9{-webkit-order:9;-ms-flex-order:9;order:9}.order-md-10{-webkit-order:10;-ms-flex-order:10;order:10}.order-md-11{-webkit-order:11;-ms-flex-order:11;order:11}.order-md-12{-webkit-order:12;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-order:13;-ms-flex-order:13;order:13}.order-lg-0{-webkit-order:0;-ms-flex-order:0;order:0}.order-lg-1{-webkit-order:1;-ms-flex-order:1;order:1}.order-lg-2{-webkit-order:2;-ms-flex-order:2;order:2}.order-lg-3{-webkit-order:3;-ms-flex-order:3;order:3}.order-lg-4{-webkit-order:4;-ms-flex-order:4;order:4}.order-lg-5{-webkit-order:5;-ms-flex-order:5;order:5}.order-lg-6{-webkit-order:6;-ms-flex-order:6;order:6}.order-lg-7{-webkit-order:7;-ms-flex-order:7;order:7}.order-lg-8{-webkit-order:8;-ms-flex-order:8;order:8}.order-lg-9{-webkit-order:9;-ms-flex-order:9;order:9}.order-lg-10{-webkit-order:10;-ms-flex-order:10;order:10}.order-lg-11{-webkit-order:11;-ms-flex-order:11;order:11}.order-lg-12{-webkit-order:12;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-order:13;-ms-flex-order:13;order:13}.order-xl-0{-webkit-order:0;-ms-flex-order:0;order:0}.order-xl-1{-webkit-order:1;-ms-flex-order:1;order:1}.order-xl-2{-webkit-order:2;-ms-flex-order:2;order:2}.order-xl-3{-webkit-order:3;-ms-flex-order:3;order:3}.order-xl-4{-webkit-order:4;-ms-flex-order:4;order:4}.order-xl-5{-webkit-order:5;-ms-flex-order:5;order:5}.order-xl-6{-webkit-order:6;-ms-flex-order:6;order:6}.order-xl-7{-webkit-order:7;-ms-flex-order:7;order:7}.order-xl-8{-webkit-order:8;-ms-flex-order:8;order:8}.order-xl-9{-webkit-order:9;-ms-flex-order:9;order:9}.order-xl-10{-webkit-order:10;-ms-flex-order:10;order:10}.order-xl-11{-webkit-order:11;-ms-flex-order:11;order:11}.order-xl-12{-webkit-order:12;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.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-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#383f45}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#383f45}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;box-shadow:inset 0 0 0 transparent;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:inset 0 0 0 transparent}.form-control::-webkit-input-placeholder{color:#939ba2;opacity:1}.form-control::-moz-placeholder{color:#939ba2;opacity:1}.form-control:-ms-input-placeholder{color:#939ba2;opacity:1}.form-control::-ms-input-placeholder{color:#939ba2;opacity:1}.form-control::placeholder{color:#939ba2;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}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.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;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,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;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:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:2.25rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 0 rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:2.25rem;background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 0 rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.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:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.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 0 rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 0 rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:2.25rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 0 rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:2.25rem;background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 0 rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.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:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.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 0 rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 0 rgba(220,53,69,.25)}.form-inline{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{box-shadow:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff;box-shadow:none}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 0 rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.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 0 rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d;box-shadow:none}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 0 rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.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 0 rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745;box-shadow:none}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 0 rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.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 0 rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8;box-shadow:none}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 0 rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.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 0 rgba(58,176,195,.5)}.btn-warning{color:#1f2d3d;background-color:#ffc107;border-color:#ffc107;box-shadow:none}.btn-warning:hover{color:#1f2d3d;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#1f2d3d;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 0 rgba(221,171,15,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#1f2d3d;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#1f2d3d;background-color:#d39e00;border-color:#c69500}.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 0 rgba(221,171,15,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545;box-shadow:none}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 0 rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.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 0 rgba(225,83,97,.5)}.btn-light{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa;box-shadow:none}.btn-light:hover{color:#1f2d3d;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#1f2d3d;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 0 rgba(215,218,222,.5)}.btn-light.disabled,.btn-light:disabled{color:#1f2d3d;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:#1f2d3d;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 0 rgba(215,218,222,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40;box-shadow:none}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 0 rgba(82,88,93,.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 0 rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 0 rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.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:#007bff;border-color:#007bff}.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 0 rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 0 rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.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:#6c757d;border-color:#6c757d}.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 0 rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 0 rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.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:#28a745;border-color:#28a745}.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 0 rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 0 rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.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:#17a2b8;border-color:#17a2b8}.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 0 rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#1f2d3d;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 0 rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#1f2d3d;background-color:#ffc107;border-color:#ffc107}.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 0 rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 0 rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.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:#dc3545;border-color:#dc3545}.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 0 rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 0 rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#1f2d3d;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 0 rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;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 0 rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.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 0 rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:none}.btn-link.focus,.btn-link:focus{text-decoration:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.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{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;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-toggle:empty::after{margin-left:0}.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:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;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{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;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{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;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-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;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:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.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,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right: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.show .dropdown-toggle{box-shadow:none}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.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 input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.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,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.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:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:-webkit-flex;display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.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:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(2.875rem + 2px)}.input-group-lg>.custom-select,.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.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.8125rem + 2px)}.input-group-sm>.custom-select,.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.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.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-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;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff;box-shadow:none}.custom-control-input:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff;box-shadow:none}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#dee2e6;border:#adb5bd solid 1px;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.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{border-color:#007bff;background-color:#007bff;box-shadow:none}.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(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.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(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#dee2e6;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;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 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075)}.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:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:none}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;box-shadow:none}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:0;margin-left:0;background-color:#007bff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;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:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem .5rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:.5rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;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{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:1rem;padding-left:1rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.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%280, 0, 0, 0.5%29' 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{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#fff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.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:rgba(255,255,255,.75);border-color:rgba(255,255,255,.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%28255, 255, 255, 0.75%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.75)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:0 solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 0);border-top-right-radius:calc(.25rem - 0)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 0);border-bottom-left-radius:calc(.25rem - 0)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:0 solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 0) calc(.25rem - 0) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:0 solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 0) calc(.25rem - 0)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 0)}.card-img,.card-img-bottom,.card-img-top{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 0);border-top-right-radius:calc(.25rem - 0)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 0);border-bottom-left-radius:calc(.25rem - 0)}.card-deck .card{margin-bottom:7.5px}@media (min-width:576px){.card-deck{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-7.5px;margin-left:-7.5px}.card-deck .card{-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;margin-right:7.5px;margin-bottom:0;margin-left:7.5px}}.card-group>.card{margin-bottom:7.5px}@media (min-width:576px){.card-group{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:0}.breadcrumb{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.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:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.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:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#1f2d3d;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#1f2d3d;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#1f2d3d;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#1f2d3d;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@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:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close,.alert-dismissible .mailbox-attachment-close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.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{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-flex;display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-flex:1;-ms-flex:1;flex:1}.list-group{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.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,.mailbox-attachment-close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover,.mailbox-attachment-close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover,.mailbox-attachment-close:not(:disabled):not(.disabled):focus,.mailbox-attachment-close:not(:disabled):not(.disabled):hover{opacity:.75}button.close,button.mailbox-attachment-close{padding:0;background-color:transparent;border:0}a.close.disabled,a.disabled.mailbox-attachment-close{pointer-events:none}.toast{-webkit-flex-basis:350px;-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.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:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-webkit-flex;display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;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:.3rem;box-shadow:0 .25rem .5rem rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close,.modal-header .mailbox-attachment-close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #e9ecef;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.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-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-content{box-shadow:0 .5rem 1rem rgba(0,0,0,.5)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";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:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";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 rgba(0,0,0,.2);border-radius:.3rem;box-shadow:0 .25rem .5rem rgba(0,0,0,.2)}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.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::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;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:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;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::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;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:1rem;margin-left:-.5rem;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:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.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:50%/100% 100% no-repeat}.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:0;left:0;z-index:15;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:baseline!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:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!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-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!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:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!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:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;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:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;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:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;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:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.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:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;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:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;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.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-webkit-flex:1 1 auto!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-webkit-flex-grow:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-webkit-flex-grow:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-webkit-flex-shrink:0!important;-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-webkit-flex-shrink:1!important;-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-webkit-flex:1 1 auto!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-webkit-flex-grow:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-webkit-flex-grow:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-webkit-flex-shrink:0!important;-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-webkit-flex-shrink:1!important;-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-webkit-flex:1 1 auto!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-webkit-flex-grow:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-webkit-flex-grow:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-webkit-flex-shrink:0!important;-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-webkit-flex-shrink:1!important;-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-webkit-flex:1 1 auto!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-webkit-flex-grow:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-webkit-flex-grow:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-webkit-flex-shrink:0!important;-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-webkit-flex-shrink:1!important;-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-webkit-flex:1 1 auto!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-webkit-flex-grow:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-webkit-flex-grow:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-webkit-flex-shrink:0!important;-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-webkit-flex-shrink:1!important;-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;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:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!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{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@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;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!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-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!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:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!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:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!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:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!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:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!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:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!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:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!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:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!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:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!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:1200px){.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:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!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:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!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}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!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:1200px){.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-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.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 #adb5bd;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}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes shake{0%{-webkit-transform:translate(2px,1px) rotate(0);transform:translate(2px,1px) rotate(0)}10%{-webkit-transform:translate(-1px,-2px) rotate(-2deg);transform:translate(-1px,-2px) rotate(-2deg)}20%{-webkit-transform:translate(-3px,0) rotate(3deg);transform:translate(-3px,0) rotate(3deg)}30%{-webkit-transform:translate(0,2px) rotate(0);transform:translate(0,2px) rotate(0)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg);transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg);transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0);transform:translate(-3px,1px) rotate(0)}70%{-webkit-transform:translate(2px,1px) rotate(-2deg);transform:translate(2px,1px) rotate(-2deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(4deg);transform:translate(-1px,-1px) rotate(4deg)}90%{-webkit-transform:translate(2px,2px) rotate(0);transform:translate(2px,2px) rotate(0)}100%{-webkit-transform:translate(1px,-2px) rotate(-1deg);transform:translate(1px,-2px) rotate(-1deg)}}@keyframes shake{0%{-webkit-transform:translate(2px,1px) rotate(0);transform:translate(2px,1px) rotate(0)}10%{-webkit-transform:translate(-1px,-2px) rotate(-2deg);transform:translate(-1px,-2px) rotate(-2deg)}20%{-webkit-transform:translate(-3px,0) rotate(3deg);transform:translate(-3px,0) rotate(3deg)}30%{-webkit-transform:translate(0,2px) rotate(0);transform:translate(0,2px) rotate(0)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg);transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg);transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0);transform:translate(-3px,1px) rotate(0)}70%{-webkit-transform:translate(2px,1px) rotate(-2deg);transform:translate(2px,1px) rotate(-2deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(4deg);transform:translate(-1px,-1px) rotate(4deg)}90%{-webkit-transform:translate(2px,2px) rotate(0);transform:translate(2px,2px) rotate(0)}100%{-webkit-transform:translate(1px,-2px) rotate(-1deg);transform:translate(1px,-2px) rotate(-1deg)}}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}.dark-mode :root{--lightblue:#86bad8;--navy:#002c59;--olive:#74c8a3;--lime:#67ffa9;--fuchsia:#f672d8;--maroon:#ed6c9b;--blue:#3f6791;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#e74c3c;--orange:#fd7e14;--yellow:#f39c12;--green:#00bc8c;--teal:#20c997;--cyan:#3498db;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#3f6791;--secondary:#6c757d;--success:#00bc8c;--info:#3498db;--warning:#f39c12;--danger:#e74c3c;--light:#f8f9fa;--dark:#343a40}.animation__shake{-webkit-animation:shake 1.5s;animation:shake 1.5s}.animation__wobble{-webkit-animation:wobble 1.5s;animation:wobble 1.5s}.preloader{display:-webkit-flex;display:-ms-flexbox;display:flex;background-color:#f4f6f9;height:100vh;width:100%;transition:height .2s linear;position:fixed;left:0;top:0;z-index:9999}.dark-mode .preloader{background-color:#454d55!important;color:#fff}html.scroll-smooth{scroll-behavior:smooth}.wrapper,body,html{min-height:100%}.wrapper{position:relative}.wrapper .content-wrapper{min-height:calc(100vh - calc(3.5rem + 1px) - calc(3.5rem + 1px))}.layout-boxed .wrapper{box-shadow:0 0 10 rgba(0,0,0,.3)}.layout-boxed .wrapper,.layout-boxed .wrapper::before{margin:0 auto;max-width:1250px}.layout-boxed .wrapper .main-sidebar{left:inherit}@supports not (-webkit-touch-callout:none){.layout-fixed .wrapper .sidebar{height:calc(100vh - (3.5rem + 1px))}.layout-fixed.text-sm .wrapper .sidebar{height:calc(100vh - (2.93725rem + 1px))}}.layout-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed.sidebar-mini-md.sidebar-collapse .wrapper .brand-link,.layout-navbar-fixed.sidebar-mini-xs.sidebar-collapse .wrapper .brand-link,.layout-navbar-fixed.sidebar-mini.sidebar-collapse .wrapper .brand-link{height:calc(3.5rem + 1px);width:4.6rem}.layout-navbar-fixed.sidebar-mini-md.sidebar-collapse .wrapper .brand-link.text-sm,.layout-navbar-fixed.sidebar-mini-xs.sidebar-collapse .wrapper .brand-link.text-sm,.layout-navbar-fixed.sidebar-mini.sidebar-collapse .wrapper .brand-link.text-sm{height:calc(2.93725rem + 1px)}.layout-navbar-fixed.sidebar-mini-md.sidebar-collapse.text-sm .wrapper .brand-link,.layout-navbar-fixed.sidebar-mini-xs.sidebar-collapse.text-sm .wrapper .brand-link,.layout-navbar-fixed.sidebar-mini.sidebar-collapse.text-sm .wrapper .brand-link{height:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper .control-sidebar{top:0}.layout-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-navbar-fixed .wrapper .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-navbar-fixed .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1033}.layout-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-navbar-not-fixed .wrapper .brand-link{position:static}.layout-navbar-not-fixed .wrapper .content-wrapper,.layout-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-navbar-not-fixed .wrapper .main-header{position:static}.layout-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}.layout-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper .control-sidebar{top:0}.layout-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-navbar-fixed .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-not-fixed .wrapper .brand-link{position:static}.layout-navbar-not-fixed .wrapper .content-wrapper,.layout-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-navbar-not-fixed .wrapper .main-header{position:static}.layout-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}@media (min-width:576px){.layout-sm-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-sm-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-sm-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-sm-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-sm-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed .wrapper .control-sidebar{top:0}.layout-sm-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-sm-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-sm-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-sm-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-sm-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-sm-navbar-fixed .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-sm-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-sm-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-sm-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-sm-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-sm-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-sm-navbar-not-fixed .wrapper .brand-link{position:static}.layout-sm-navbar-not-fixed .wrapper .content-wrapper,.layout-sm-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-sm-navbar-not-fixed .wrapper .main-header{position:static}.layout-sm-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}}@media (min-width:768px){.layout-md-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-md-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-md-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-md-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-md-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed .wrapper .control-sidebar{top:0}.layout-md-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-md-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-md-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-md-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-md-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-md-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-md-navbar-fixed .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-md-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-md-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-md-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-md-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-md-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-md-navbar-not-fixed .wrapper .brand-link{position:static}.layout-md-navbar-not-fixed .wrapper .content-wrapper,.layout-md-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-md-navbar-not-fixed .wrapper .main-header{position:static}.layout-md-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}}@media (min-width:992px){.layout-lg-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-lg-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-lg-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-lg-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-lg-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed .wrapper .control-sidebar{top:0}.layout-lg-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-lg-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-lg-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-lg-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-lg-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-lg-navbar-fixed .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-lg-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-lg-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-lg-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-lg-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-lg-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-lg-navbar-not-fixed .wrapper .brand-link{position:static}.layout-lg-navbar-not-fixed .wrapper .content-wrapper,.layout-lg-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-lg-navbar-not-fixed .wrapper .main-header{position:static}.layout-lg-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}}@media (min-width:1200px){.layout-xl-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-xl-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-xl-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-xl-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-xl-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed .wrapper .control-sidebar{top:0}.layout-xl-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-xl-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-xl-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-xl-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-xl-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-xl-navbar-fixed .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-xl-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-xl-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-xl-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-xl-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-xl-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-xl-navbar-not-fixed .wrapper .brand-link{position:static}.layout-xl-navbar-not-fixed .wrapper .content-wrapper,.layout-xl-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-xl-navbar-not-fixed .wrapper .main-header{position:static}.layout-xl-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}}.layout-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-footer-not-fixed .wrapper .main-footer{position:static}.layout-footer-not-fixed .wrapper .content-wrapper{margin-bottom:0}.layout-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-footer-not-fixed .wrapper .main-footer{position:static}@media (min-width:576px){.layout-sm-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-sm-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-sm-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-sm-footer-not-fixed .wrapper .main-footer{position:static}}@media (min-width:768px){.layout-md-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-md-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-md-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-md-footer-not-fixed .wrapper .main-footer{position:static}}@media (min-width:992px){.layout-lg-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-lg-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-lg-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-lg-footer-not-fixed .wrapper .main-footer{position:static}}@media (min-width:1200px){.layout-xl-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-xl-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-xl-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-xl-footer-not-fixed .wrapper .main-footer{position:static}}.layout-top-nav .wrapper{margin-left:0}.layout-top-nav .wrapper .main-header .brand-image{margin-top:-.5rem;margin-right:.2rem;height:33px}.layout-top-nav .wrapper .main-sidebar{bottom:inherit;height:inherit}.layout-top-nav .wrapper .content-wrapper,.layout-top-nav .wrapper .main-footer,.layout-top-nav .wrapper .main-header{margin-left:0}body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .content-wrapper,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .content-wrapper::before,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .main-footer,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .main-footer::before,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .main-header,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .main-header::before{margin-left:0}@media (min-width:768px){body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header{transition:margin-left .3s ease-in-out;margin-left:250px}}@media (min-width:768px) and (prefers-reduced-motion:reduce){body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header{transition:none}}@media (min-width:768px){.sidebar-collapse body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,.sidebar-collapse body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,.sidebar-collapse body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header{margin-left:0}}@media (max-width:991.98px){body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header{margin-left:0}}@media (min-width:768px){.sidebar-mini-md .content-wrapper,.sidebar-mini-md .main-footer,.sidebar-mini-md .main-header{transition:margin-left .3s ease-in-out;margin-left:250px}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.sidebar-mini-md .content-wrapper,.sidebar-mini-md .main-footer,.sidebar-mini-md .main-header{transition:none}}@media (min-width:768px){.sidebar-collapse .sidebar-mini-md .content-wrapper,.sidebar-collapse .sidebar-mini-md .main-footer,.sidebar-collapse .sidebar-mini-md .main-header{margin-left:4.6rem}}@media (max-width:991.98px){.sidebar-mini-md .content-wrapper,.sidebar-mini-md .main-footer,.sidebar-mini-md .main-header{margin-left:4.6rem}}@media (max-width:767.98px){.sidebar-mini-md .content-wrapper,.sidebar-mini-md .main-footer,.sidebar-mini-md .main-header{margin-left:0}}@media (min-width:768px){.sidebar-mini-xs .content-wrapper,.sidebar-mini-xs .main-footer,.sidebar-mini-xs .main-header{transition:margin-left .3s ease-in-out;margin-left:250px}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.sidebar-mini-xs .content-wrapper,.sidebar-mini-xs .main-footer,.sidebar-mini-xs .main-header{transition:none}}@media (min-width:768px){.sidebar-collapse .sidebar-mini-xs .content-wrapper,.sidebar-collapse .sidebar-mini-xs .main-footer,.sidebar-collapse .sidebar-mini-xs .main-header{margin-left:4.6rem}}@media (max-width:991.98px){.sidebar-mini-xs .content-wrapper,.sidebar-mini-xs .main-footer,.sidebar-mini-xs .main-header{margin-left:4.6rem}}.content-wrapper{background-color:#f4f6f9}.content-wrapper>.content{padding:0 .5rem}.main-sidebar,.main-sidebar::before{transition:margin-left .3s ease-in-out,width .3s ease-in-out;width:250px}@media (prefers-reduced-motion:reduce){.main-sidebar,.main-sidebar::before{transition:none}}.sidebar-collapse:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .main-sidebar,.sidebar-collapse:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .main-sidebar::before{box-shadow:none!important}.sidebar-collapse .main-sidebar,.sidebar-collapse .main-sidebar::before{margin-left:-250px}.sidebar-collapse .main-sidebar .nav-sidebar.nav-child-indent .nav-treeview{padding:0}@media (max-width:767.98px){.main-sidebar,.main-sidebar::before{box-shadow:none!important;margin-left:-250px}.sidebar-open .main-sidebar,.sidebar-open .main-sidebar::before{margin-left:0}}body:not(.layout-fixed) .main-sidebar{height:inherit;min-height:100%;position:absolute;top:0}body:not(.layout-fixed) .main-sidebar .sidebar{overflow-y:auto}.layout-fixed .brand-link{width:250px}.layout-fixed .main-sidebar{bottom:0;float:none;left:0;position:fixed;top:0}.layout-fixed .control-sidebar{bottom:0;float:none;position:fixed;top:0}.layout-fixed .control-sidebar .control-sidebar-content::-webkit-scrollbar{width:.5rem;height:.5rem}.layout-fixed .control-sidebar .control-sidebar-content::-webkit-scrollbar-thumb{background-color:#a9a9a9}.layout-fixed .control-sidebar .control-sidebar-content::-webkit-scrollbar-track{background-color:transparent}.layout-fixed .control-sidebar .control-sidebar-content::-webkit-scrollbar-corner{background-color:transparent}.layout-fixed .control-sidebar .control-sidebar-content{height:calc(100vh - calc(3.5rem + 1px));overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:thin;scrollbar-color:#a9a9a9 transparent}@supports (-webkit-touch-callout:none){.layout-fixed .main-sidebar{height:inherit}}.main-footer{background-color:#fff;border-top:1px solid #dee2e6;color:#869099;padding:1rem}.main-footer.text-sm,.text-sm .main-footer{padding:.812rem}.content-header{padding:15px .5rem}.text-sm .content-header{padding:10px .5rem}.content-header h1{font-size:1.8rem;margin:0}.text-sm .content-header h1{font-size:1.5rem}.content-header .breadcrumb{background-color:transparent;line-height:1.8rem;margin-bottom:0;padding:0}.text-sm .content-header .breadcrumb{line-height:1.5rem}.hold-transition .content-wrapper,.hold-transition .control-sidebar,.hold-transition .control-sidebar *,.hold-transition .main-footer,.hold-transition .main-header,.hold-transition .main-sidebar,.hold-transition .main-sidebar *{transition:none!important;-webkit-animation-duration:0s!important;animation-duration:0s!important}.dark-mode{background-color:#454d55!important;color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}@media (min-width:576px){.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}}@media (min-width:768px){.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}}@media (min-width:992px){.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}}@media (min-width:1200px){.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}}.dark-mode .breadcrumb-item+.breadcrumb-item::before,.dark-mode .breadcrumb-item.active{color:#adb5bd}.dark-mode .main-footer{background-color:#343a40;border-color:#4b545c}.dark-mode .content-wrapper{background-color:#454d55;color:#fff}.dark-mode .content-wrapper .content-header{color:#fff}.main-header{border-bottom:1px solid #dee2e6;z-index:1034}.main-header .nav-link{height:2.5rem;position:relative}.main-header.text-sm .nav-link,.text-sm .main-header .nav-link{height:1.93725rem;padding:.35rem 1rem}.main-header.text-sm .nav-link>.fa,.main-header.text-sm .nav-link>.fab,.main-header.text-sm .nav-link>.fad,.main-header.text-sm .nav-link>.fal,.main-header.text-sm .nav-link>.far,.main-header.text-sm .nav-link>.fas,.main-header.text-sm .nav-link>.ion,.main-header.text-sm .nav-link>.svg-inline--fa,.text-sm .main-header .nav-link>.fa,.text-sm .main-header .nav-link>.fab,.text-sm .main-header .nav-link>.fad,.text-sm .main-header .nav-link>.fal,.text-sm .main-header .nav-link>.far,.text-sm .main-header .nav-link>.fas,.text-sm .main-header .nav-link>.ion,.text-sm .main-header .nav-link>.svg-inline--fa{font-size:.875rem}.main-header .navbar-nav .nav-item{margin:0}.main-header .navbar-nav[class*="-right"] .dropdown-menu{left:auto;margin-top:-3px;right:0}@media (max-width:575.98px){.main-header .navbar-nav[class*="-right"] .dropdown-menu{left:0;right:auto}}.main-header.dropdown-legacy .dropdown-menu{top:3rem;margin-top:0}.navbar-img{height:calc(3.5rem + 1px)/2;width:auto}.navbar-badge{font-size:.6rem;font-weight:300;padding:2px 4px;position:absolute;right:5px;top:9px}.btn-navbar{background-color:transparent;border-left-width:0}.form-control-navbar{border-right-width:0}.form-control-navbar+.input-group-append{margin-left:0}.btn-navbar,.form-control-navbar{transition:none}.navbar-dark .btn-navbar,.navbar-dark .form-control-navbar{background-color:#343a40;border-color:#6c757d}.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar:focus,.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#495057;border-color:#6c757d!important;color:#ced4da}.navbar-light .btn-navbar,.navbar-light .form-control-navbar{background-color:#dadfe4;border-color:#ced4da}.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar::placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar:focus,.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#d3d9df;border-color:#c7ced5!important;color:#ced4da}.navbar-light .navbar-search-block .form-control-navbar:focus,.navbar-light .navbar-search-block .form-control-navbar:focus+.input-group-append .btn-navbar{color:rgba(0,0,0,.6)}.navbar-search-block{position:absolute;padding:0 1rem;left:0;top:0;right:0;bottom:0;z-index:10;display:none;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:initial}.navbar-search-block.navbar-search-open{display:-webkit-flex;display:-ms-flexbox;display:flex}.navbar-search-block .input-group{width:100%}.brand-link{display:block;font-size:1.25rem;line-height:1.5;padding:.8125rem .5rem;transition:width .3s ease-in-out;white-space:nowrap}.brand-link:hover{color:#fff;text-decoration:none}.text-sm .brand-link{font-size:inherit}[class*=sidebar-dark] .brand-link{border-bottom:1px solid #4b545c}[class*=sidebar-dark] .brand-link,[class*=sidebar-dark] .brand-link .pushmenu{color:rgba(255,255,255,.8)}[class*=sidebar-dark] .brand-link .pushmenu:hover,[class*=sidebar-dark] .brand-link:hover{color:#fff}[class*=sidebar-light] .brand-link{border-bottom:1px solid #dee2e6}[class*=sidebar-light] .brand-link,[class*=sidebar-light] .brand-link .pushmenu{color:rgba(0,0,0,.8)}[class*=sidebar-light] .brand-link .pushmenu:hover,[class*=sidebar-light] .brand-link:hover{color:#000}.brand-link .pushmenu{margin-right:.5rem;font-size:1rem}.brand-link .brand-link{padding:0;border-bottom:none}.brand-link .brand-image{float:left;line-height:.8;margin-left:.8rem;margin-right:.5rem;margin-top:-3px;max-height:33px;width:auto}.brand-link .brand-image-xs{float:left;line-height:.8;margin-top:-.1rem;max-height:33px;width:auto}.brand-link .brand-image-xl{line-height:.8;max-height:40px;width:auto}.brand-link .brand-image-xl.single{margin-top:-.3rem}.brand-link.text-sm .brand-image,.text-sm .brand-link .brand-image{height:29px;margin-bottom:-.25rem;margin-left:.95rem;margin-top:-.25rem}.brand-link.text-sm .brand-image-xs,.text-sm .brand-link .brand-image-xs{margin-top:-.2rem;max-height:29px}.brand-link.text-sm .brand-image-xl,.text-sm .brand-link .brand-image-xl{margin-top:-.225rem;max-height:38px}.main-sidebar{height:100vh;overflow-y:hidden;z-index:1038}.main-sidebar a:-moz-focusring{border:0;outline:0}.sidebar::-webkit-scrollbar{width:.5rem;height:.5rem}.sidebar::-webkit-scrollbar-thumb{background-color:#a9a9a9}.sidebar::-webkit-scrollbar-track{background-color:transparent}.sidebar::-webkit-scrollbar-corner{background-color:transparent}.sidebar{height:calc(100% - (3.5rem + 1px));overflow-x:none;overflow-y:initial;padding-bottom:0;padding-left:.5rem;padding-right:.5rem;padding-top:0;-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:thin;scrollbar-color:#a9a9a9 transparent}.user-panel{position:relative}[class*=sidebar-dark] .user-panel{border-bottom:1px solid #4f5962}[class*=sidebar-light] .user-panel{border-bottom:1px solid #dee2e6}.user-panel,.user-panel .info{overflow:hidden;white-space:nowrap}.user-panel .image{display:inline-block;padding-left:.8rem}.user-panel img{height:auto;width:2.1rem}.user-panel .info{display:inline-block;padding:5px 5px 5px 10px}.user-panel .dropdown-menu,.user-panel .status{font-size:.875rem}.nav-sidebar .nav-item>.nav-link{margin-bottom:.2rem}.nav-sidebar .nav-item>.nav-link .right{transition:-webkit-transform ease-in-out .3s;transition:transform ease-in-out .3s;transition:transform ease-in-out .3s,-webkit-transform ease-in-out .3s}@media (prefers-reduced-motion:reduce){.nav-sidebar .nav-item>.nav-link .right{transition:none}}.nav-sidebar .nav-link>.right,.nav-sidebar .nav-link>p>.right{position:absolute;right:1rem;top:.7rem}.nav-sidebar .nav-link>.right i,.nav-sidebar .nav-link>.right span,.nav-sidebar .nav-link>p>.right i,.nav-sidebar .nav-link>p>.right span{margin-left:.5rem}.nav-sidebar .nav-link>.right:nth-child(2),.nav-sidebar .nav-link>p>.right:nth-child(2){right:2.2rem}.nav-sidebar .menu-open>.nav-treeview{display:block}.nav-sidebar .menu-is-opening>.nav-link i.right,.nav-sidebar .menu-open>.nav-link i.right{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.nav-sidebar>.nav-item{margin-bottom:0}.nav-sidebar>.nav-item .nav-icon{margin-left:.05rem;font-size:1.2rem;margin-right:.2rem;text-align:center;width:1.6rem}.nav-sidebar>.nav-item .nav-icon.fa,.nav-sidebar>.nav-item .nav-icon.fab,.nav-sidebar>.nav-item .nav-icon.fad,.nav-sidebar>.nav-item .nav-icon.fal,.nav-sidebar>.nav-item .nav-icon.far,.nav-sidebar>.nav-item .nav-icon.fas,.nav-sidebar>.nav-item .nav-icon.ion,.nav-sidebar>.nav-item .nav-icon.svg-inline--fa{font-size:1.1rem}.nav-sidebar>.nav-item .float-right{margin-top:3px}.nav-sidebar .nav-treeview{display:none;list-style:none;padding:0}.nav-sidebar .nav-treeview>.nav-item>.nav-link>.nav-icon{width:1.6rem}.nav-sidebar.nav-child-indent .nav-treeview{transition:padding .3s ease-in-out;padding-left:1rem}.text-sm .nav-sidebar.nav-child-indent .nav-treeview{padding-left:.5rem}.nav-sidebar.nav-child-indent.nav-legacy .nav-treeview .nav-treeview{padding-left:2rem;margin-left:-1rem}.text-sm .nav-sidebar.nav-child-indent.nav-legacy .nav-treeview .nav-treeview{padding-left:1rem;margin-left:-.5rem}.nav-sidebar .nav-header{font-size:.9rem;padding:.5rem .75rem}.nav-sidebar .nav-link p{display:inline;margin:0;white-space:normal}.sidebar-is-opening .nav-sidebar .nav-link p{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}#sidebar-overlay{background-color:rgba(0,0,0,.1);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1037}@media (max-width:991.98px){.sidebar-open #sidebar-overlay{display:block}}[class*=sidebar-light-]{background-color:#fff}[class*=sidebar-light-] .user-panel a:hover{color:#212529}[class*=sidebar-light-] .user-panel .status{background-color:rgba(0,0,0,.1);color:#343a40}[class*=sidebar-light-] .user-panel .status:active,[class*=sidebar-light-] .user-panel .status:focus,[class*=sidebar-light-] .user-panel .status:hover{background-color:rgba(0,0,0,.1);color:#212529}[class*=sidebar-light-] .user-panel .dropdown-menu{box-shadow:0 2px 4px rgba(0,0,0,.4);border-color:rgba(0,0,0,.1)}[class*=sidebar-light-] .user-panel .dropdown-item{color:#212529}[class*=sidebar-light-] .nav-sidebar>.nav-item>.nav-link:active,[class*=sidebar-light-] .nav-sidebar>.nav-item>.nav-link:focus{color:#343a40}[class*=sidebar-light-] .nav-sidebar>.nav-item.menu-open>.nav-link,[class*=sidebar-light-] .nav-sidebar>.nav-item:hover>.nav-link{background-color:rgba(0,0,0,.1);color:#212529}[class*=sidebar-light-] .nav-sidebar>.nav-item>.nav-link.active{color:#000;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}[class*=sidebar-light-] .nav-sidebar>.nav-item>.nav-treeview{background-color:transparent}[class*=sidebar-light-] .nav-header{background-color:inherit;color:#292d32}[class*=sidebar-light-] .sidebar a{color:#343a40}[class*=sidebar-light-] .sidebar a:hover{text-decoration:none}[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link{color:#777}[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link:focus,[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link:hover{background-color:rgba(0,0,0,.1);color:#000}[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link.active,[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link.active:hover{background-color:rgba(0,0,0,.1);color:#212529}[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link:hover{background-color:rgba(0,0,0,.1)}[class*=sidebar-light-] .nav-flat .nav-item .nav-treeview .nav-treeview{border-color:rgba(0,0,0,.1)}[class*=sidebar-light-] .nav-flat .nav-item .nav-treeview>.nav-item>.nav-link,[class*=sidebar-light-] .nav-flat .nav-item .nav-treeview>.nav-item>.nav-link.active{border-color:rgba(0,0,0,.1)}[class*=sidebar-dark-]{background-color:#343a40}[class*=sidebar-dark-] .user-panel a:hover{color:#fff}[class*=sidebar-dark-] .user-panel .status{background-color:rgba(255,255,255,.1);color:#c2c7d0}[class*=sidebar-dark-] .user-panel .status:active,[class*=sidebar-dark-] .user-panel .status:focus,[class*=sidebar-dark-] .user-panel .status:hover{background-color:rgba(247,247,247,.1);color:#fff}[class*=sidebar-dark-] .user-panel .dropdown-menu{box-shadow:0 2px 4px rgba(0,0,0,.4);border-color:rgba(242,242,242,.1)}[class*=sidebar-dark-] .user-panel .dropdown-item{color:#212529}[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link:active{color:#c2c7d0}[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-open>.nav-link,[class*=sidebar-dark-] .nav-sidebar>.nav-item:hover>.nav-link,[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link:focus{background-color:rgba(255,255,255,.1);color:#fff}[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link.active{color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-treeview{background-color:transparent}[class*=sidebar-dark-] .nav-header{background-color:inherit;color:#d0d4db}[class*=sidebar-dark-] .sidebar a{color:#c2c7d0}[class*=sidebar-dark-] .sidebar a:focus,[class*=sidebar-dark-] .sidebar a:hover{text-decoration:none}[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link{color:#c2c7d0}[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link:focus,[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link:hover{background-color:rgba(255,255,255,.1);color:#fff}[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active,[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active:focus,[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active:hover{background-color:rgba(255,255,255,.9);color:#343a40}[class*=sidebar-dark-] .nav-flat .nav-item .nav-treeview .nav-treeview{border-color:rgba(255,255,255,.9)}[class*=sidebar-dark-] .nav-flat .nav-item .nav-treeview>.nav-item>.nav-link,[class*=sidebar-dark-] .nav-flat .nav-item .nav-treeview>.nav-item>.nav-link.active{border-color:rgba(255,255,255,.9)}.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active{background-color:#007bff;color:#fff}.sidebar-dark-primary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-primary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#007bff}.sidebar-dark-secondary .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-secondary .nav-sidebar>.nav-item>.nav-link.active{background-color:#6c757d;color:#fff}.sidebar-dark-secondary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-secondary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6c757d}.sidebar-dark-success .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-success .nav-sidebar>.nav-item>.nav-link.active{background-color:#28a745;color:#fff}.sidebar-dark-success .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-success .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#28a745}.sidebar-dark-info .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-info .nav-sidebar>.nav-item>.nav-link.active{background-color:#17a2b8;color:#fff}.sidebar-dark-info .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-info .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#17a2b8}.sidebar-dark-warning .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-warning .nav-sidebar>.nav-item>.nav-link.active{background-color:#ffc107;color:#1f2d3d}.sidebar-dark-warning .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-warning .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#ffc107}.sidebar-dark-danger .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-danger .nav-sidebar>.nav-item>.nav-link.active{background-color:#dc3545;color:#fff}.sidebar-dark-danger .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-danger .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#dc3545}.sidebar-dark-light .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-light .nav-sidebar>.nav-item>.nav-link.active{background-color:#f8f9fa;color:#1f2d3d}.sidebar-dark-light .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-light .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f8f9fa}.sidebar-dark-dark .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-dark .nav-sidebar>.nav-item>.nav-link.active{background-color:#343a40;color:#fff}.sidebar-dark-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#343a40}.sidebar-dark-lightblue .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-lightblue .nav-sidebar>.nav-item>.nav-link.active{background-color:#3c8dbc;color:#fff}.sidebar-dark-lightblue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-lightblue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3c8dbc}.sidebar-dark-navy .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-navy .nav-sidebar>.nav-item>.nav-link.active{background-color:#001f3f;color:#fff}.sidebar-dark-navy .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-navy .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#001f3f}.sidebar-dark-olive .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-olive .nav-sidebar>.nav-item>.nav-link.active{background-color:#3d9970;color:#fff}.sidebar-dark-olive .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-olive .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3d9970}.sidebar-dark-lime .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-lime .nav-sidebar>.nav-item>.nav-link.active{background-color:#01ff70;color:#1f2d3d}.sidebar-dark-lime .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-lime .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#01ff70}.sidebar-dark-fuchsia .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-fuchsia .nav-sidebar>.nav-item>.nav-link.active{background-color:#f012be;color:#fff}.sidebar-dark-fuchsia .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-fuchsia .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f012be}.sidebar-dark-maroon .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-maroon .nav-sidebar>.nav-item>.nav-link.active{background-color:#d81b60;color:#fff}.sidebar-dark-maroon .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-maroon .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#d81b60}.sidebar-dark-blue .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-blue .nav-sidebar>.nav-item>.nav-link.active{background-color:#007bff;color:#fff}.sidebar-dark-blue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-blue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#007bff}.sidebar-dark-indigo .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-indigo .nav-sidebar>.nav-item>.nav-link.active{background-color:#6610f2;color:#fff}.sidebar-dark-indigo .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-indigo .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6610f2}.sidebar-dark-purple .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-purple .nav-sidebar>.nav-item>.nav-link.active{background-color:#6f42c1;color:#fff}.sidebar-dark-purple .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-purple .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6f42c1}.sidebar-dark-pink .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-pink .nav-sidebar>.nav-item>.nav-link.active{background-color:#e83e8c;color:#fff}.sidebar-dark-pink .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-pink .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#e83e8c}.sidebar-dark-red .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-red .nav-sidebar>.nav-item>.nav-link.active{background-color:#dc3545;color:#fff}.sidebar-dark-red .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-red .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#dc3545}.sidebar-dark-orange .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-orange .nav-sidebar>.nav-item>.nav-link.active{background-color:#fd7e14;color:#1f2d3d}.sidebar-dark-orange .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-orange .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#fd7e14}.sidebar-dark-yellow .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-yellow .nav-sidebar>.nav-item>.nav-link.active{background-color:#ffc107;color:#1f2d3d}.sidebar-dark-yellow .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-yellow .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#ffc107}.sidebar-dark-green .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-green .nav-sidebar>.nav-item>.nav-link.active{background-color:#28a745;color:#fff}.sidebar-dark-green .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-green .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#28a745}.sidebar-dark-teal .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-teal .nav-sidebar>.nav-item>.nav-link.active{background-color:#20c997;color:#fff}.sidebar-dark-teal .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-teal .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#20c997}.sidebar-dark-cyan .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-cyan .nav-sidebar>.nav-item>.nav-link.active{background-color:#17a2b8;color:#fff}.sidebar-dark-cyan .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-cyan .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#17a2b8}.sidebar-dark-white .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-white .nav-sidebar>.nav-item>.nav-link.active{background-color:#fff;color:#1f2d3d}.sidebar-dark-white .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-white .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#fff}.sidebar-dark-gray .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-gray .nav-sidebar>.nav-item>.nav-link.active{background-color:#6c757d;color:#fff}.sidebar-dark-gray .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-gray .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6c757d}.sidebar-dark-gray-dark .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-gray-dark .nav-sidebar>.nav-item>.nav-link.active{background-color:#343a40;color:#fff}.sidebar-dark-gray-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-gray-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#343a40}.sidebar-mini .main-sidebar.sidebar-focused .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini .main-sidebar:not(.sidebar-no-expand) .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand) .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand) .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview{padding-left:1rem;margin-left:-.5rem}.nav-flat{margin:-.25rem -.5rem 0}.nav-flat .nav-item>.nav-link{border-radius:0;margin-bottom:0}.nav-flat .nav-item>.nav-link>.nav-icon{margin-left:.55rem}.nav-flat:not(.nav-child-indent) .nav-treeview .nav-item>.nav-link>.nav-icon{margin-left:.4rem}.nav-flat.nav-child-indent .nav-treeview{padding-left:0}.nav-flat.nav-child-indent .nav-treeview .nav-icon{margin-left:.85rem}.nav-flat.nav-child-indent .nav-treeview .nav-treeview{border-left:.2rem solid}.nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-icon{margin-left:1.15rem}.nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:1.45rem}.nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:1.75rem}.nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:2.05rem}.sidebar-collapse .nav-flat.nav-child-indent .nav-treeview .nav-icon{margin-left:.55rem}.sidebar-collapse .nav-flat.nav-child-indent .nav-treeview .nav-link{padding-left:calc(1rem - .2rem)}.sidebar-collapse .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-icon{margin-left:.35rem}.sidebar-collapse .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:.15rem}.sidebar-collapse .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:-.15rem}.sidebar-collapse .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:-.35rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon{margin-left:.4rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon{margin-left:.85rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon{margin-left:1.15rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:1.45rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:1.75rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:2.05rem}.nav-flat .nav-icon{transition:margin-left ease-in-out .3s}@media (prefers-reduced-motion:reduce){.nav-flat .nav-icon{transition:none}}.nav-flat .nav-treeview .nav-icon{margin-left:-.2rem}.nav-flat.nav-sidebar>.nav-item .nav-treeview,.nav-flat.nav-sidebar>.nav-item>.nav-treeview{background-color:rgba(255,255,255,.05)}.nav-flat.nav-sidebar>.nav-item .nav-treeview .nav-item>.nav-link,.nav-flat.nav-sidebar>.nav-item>.nav-treeview .nav-item>.nav-link{border-left:.2rem solid}.nav-legacy{margin:-.25rem -.5rem 0}.nav-legacy.nav-sidebar .nav-item>.nav-link{border-radius:0;margin-bottom:0}.nav-legacy.nav-sidebar .nav-item>.nav-link>.nav-icon{margin-left:.55rem}.text-sm .nav-legacy.nav-sidebar .nav-item>.nav-link>.nav-icon{margin-left:.75rem}.nav-legacy.nav-sidebar>.nav-item>.nav-link.active{background-color:inherit;border-left:3px solid transparent;box-shadow:none}.nav-legacy.nav-sidebar>.nav-item>.nav-link.active>.nav-icon{margin-left:calc(.55rem - 3px)}.text-sm .nav-legacy.nav-sidebar>.nav-item>.nav-link.active>.nav-icon{margin-left:calc(.75rem - 3px)}.text-sm .nav-legacy.nav-sidebar.nav-flat .nav-treeview .nav-item>.nav-link>.nav-icon{margin-left:calc(.75rem - 3px)}.sidebar-mini .nav-legacy>.nav-item .nav-link .nav-icon,.sidebar-mini-md .nav-legacy>.nav-item .nav-link .nav-icon,.sidebar-mini-xs .nav-legacy>.nav-item .nav-link .nav-icon{transition:margin-left ease-in-out .3s;margin-left:.6rem}@media (prefers-reduced-motion:reduce){.sidebar-mini .nav-legacy>.nav-item .nav-link .nav-icon,.sidebar-mini-md .nav-legacy>.nav-item .nav-link .nav-icon,.sidebar-mini-xs .nav-legacy>.nav-item .nav-link .nav-icon{transition:none}}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview{padding-left:1rem}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview{padding-left:2rem;margin-left:-1rem}.sidebar-mini-md.sidebar-collapse.text-sm .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini-md.sidebar-collapse.text-sm .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini-xs.sidebar-collapse.text-sm .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini-xs.sidebar-collapse.text-sm .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini.sidebar-collapse.text-sm .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview,.sidebar-mini.sidebar-collapse.text-sm .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview{padding-left:.5rem}.sidebar-mini-md.sidebar-collapse.text-sm .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini-md.sidebar-collapse.text-sm .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini-xs.sidebar-collapse.text-sm .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini-xs.sidebar-collapse.text-sm .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini.sidebar-collapse.text-sm .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini.sidebar-collapse.text-sm .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview{padding-left:1rem;margin-left:-.5rem}.sidebar-mini-md.sidebar-collapse .nav-legacy>.nav-item>.nav-link .nav-icon,.sidebar-mini-xs.sidebar-collapse .nav-legacy>.nav-item>.nav-link .nav-icon,.sidebar-mini.sidebar-collapse .nav-legacy>.nav-item>.nav-link .nav-icon{margin-left:.55rem}.sidebar-mini-md.sidebar-collapse .nav-legacy>.nav-item>.nav-link.active>.nav-icon,.sidebar-mini-xs.sidebar-collapse .nav-legacy>.nav-item>.nav-link.active>.nav-icon,.sidebar-mini.sidebar-collapse .nav-legacy>.nav-item>.nav-link.active>.nav-icon{margin-left:.36rem}.sidebar-mini-md.sidebar-collapse .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini-xs.sidebar-collapse .nav-legacy.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini.sidebar-collapse .nav-legacy.nav-child-indent .nav-treeview .nav-treeview{padding-left:0;margin-left:0}.sidebar-mini-md.sidebar-collapse.text-sm .nav-legacy>.nav-item>.nav-link .nav-icon,.sidebar-mini-xs.sidebar-collapse.text-sm .nav-legacy>.nav-item>.nav-link .nav-icon,.sidebar-mini.sidebar-collapse.text-sm .nav-legacy>.nav-item>.nav-link .nav-icon{margin-left:.75rem}.sidebar-mini-md.sidebar-collapse.text-sm .nav-legacy>.nav-item>.nav-link.active>.nav-icon,.sidebar-mini-xs.sidebar-collapse.text-sm .nav-legacy>.nav-item>.nav-link.active>.nav-icon,.sidebar-mini.sidebar-collapse.text-sm .nav-legacy>.nav-item>.nav-link.active>.nav-icon{margin-left:calc(.75rem - 3px)}[class*=sidebar-dark] .nav-legacy.nav-sidebar>.nav-item .nav-treeview,[class*=sidebar-dark] .nav-legacy.nav-sidebar>.nav-item>.nav-treeview{background-color:rgba(255,255,255,.05)}[class*=sidebar-dark] .nav-legacy.nav-sidebar>.nav-item>.nav-link.active{color:#fff}[class*=sidebar-dark] .nav-legacy .nav-treeview>.nav-item>.nav-link.active,[class*=sidebar-dark] .nav-legacy .nav-treeview>.nav-item>.nav-link:focus,[class*=sidebar-dark] .nav-legacy .nav-treeview>.nav-item>.nav-link:hover{background-color:transparent;color:#fff}[class*=sidebar-light] .nav-legacy.nav-sidebar>.nav-item .nav-treeview,[class*=sidebar-light] .nav-legacy.nav-sidebar>.nav-item>.nav-treeview{background-color:rgba(0,0,0,.05)}[class*=sidebar-light] .nav-legacy.nav-sidebar>.nav-item>.nav-link.active{color:#000}[class*=sidebar-light] .nav-legacy .nav-treeview>.nav-item>.nav-link.active,[class*=sidebar-light] .nav-legacy .nav-treeview>.nav-item>.nav-link:focus,[class*=sidebar-light] .nav-legacy .nav-treeview>.nav-item>.nav-link:hover{background-color:transparent;color:#000}.nav-collapse-hide-child .menu-open>.nav-treeview{max-height:-webkit-min-content;max-height:-moz-min-content;max-height:min-content;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.sidebar-collapse .nav-collapse-hide-child .menu-open>.nav-treeview{max-height:0;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .nav-collapse-hide-child .menu-open>.nav-treeview,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .nav-collapse-hide-child .menu-open>.nav-treeview,.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .nav-collapse-hide-child .menu-open>.nav-treeview,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .nav-collapse-hide-child .menu-open>.nav-treeview,.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .nav-collapse-hide-child .menu-open>.nav-treeview,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .nav-collapse-hide-child .menu-open>.nav-treeview{max-height:-webkit-min-content;max-height:-moz-min-content;max-height:min-content;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.nav-compact .nav-header,.nav-compact .nav-link{padding-top:.25rem;padding-bottom:.25rem}.nav-compact .nav-header:not(:first-of-type){padding-top:.75rem;padding-bottom:.25rem}.nav-compact .nav-link>.right,.nav-compact .nav-link>p>.right{top:.465rem}.text-sm .nav-compact .nav-link>.right,.text-sm .nav-compact .nav-link>p>.right{top:.7rem}[class*=sidebar-dark] .btn-sidebar,[class*=sidebar-dark] .form-control-sidebar{background-color:#3f474e;border:1px solid #56606a;color:#fff}[class*=sidebar-dark] .btn-sidebar:focus,[class*=sidebar-dark] .form-control-sidebar:focus{border:1px solid #7a8793}[class*=sidebar-dark] .btn-sidebar:hover{background-color:#454d55}[class*=sidebar-dark] .btn-sidebar:focus{background-color:#4b545c}[class*=sidebar-dark] .list-group-item{background-color:#454d55;border-color:#56606a;color:#c2c7d0}[class*=sidebar-dark] .list-group-item:hover{background-color:#4b545c}[class*=sidebar-dark] .list-group-item:focus{background-color:#515a63}[class*=sidebar-dark] .list-group-item .search-path{color:#adb5bd}[class*=sidebar-light] .btn-sidebar,[class*=sidebar-light] .form-control-sidebar{background-color:#f2f2f2;border:1px solid #d9d9d9;color:#1f2d3d}[class*=sidebar-light] .btn-sidebar:focus,[class*=sidebar-light] .form-control-sidebar:focus{border:1px solid #b3b3b3}[class*=sidebar-light] .btn-sidebar:hover{background-color:#ececec}[class*=sidebar-light] .btn-sidebar:focus{background-color:#e6e6e6}[class*=sidebar-light] .list-group-item{border-color:#d9d9d9}[class*=sidebar-light] .list-group-item:hover{background-color:#ececec}[class*=sidebar-light] .list-group-item:focus{background-color:#e6e6e6}[class*=sidebar-light] .list-group-item .search-path{color:#6c757d}.sidebar .form-inline .input-group{width:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.sidebar nav .form-inline{margin-bottom:.2rem}.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs).sidebar-collapse .main-sidebar{margin-left:0}.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .content-wrapper,.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .main-footer,.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .main-header{z-index:9999;position:relative}.sidebar-collapse .form-control-sidebar,.sidebar-collapse .form-control-sidebar~.input-group-append,.sidebar-collapse .sidebar-search-results{display:none}[data-widget=sidebar-search] input[type=search]::-ms-clear,[data-widget=sidebar-search] input[type=search]::-ms-reveal{display:none;width:0;height:0}[data-widget=sidebar-search] input[type=search]::-webkit-search-cancel-button,[data-widget=sidebar-search] input[type=search]::-webkit-search-decoration,[data-widget=sidebar-search] input[type=search]::-webkit-search-results-button,[data-widget=sidebar-search] input[type=search]::-webkit-search-results-decoration{display:none}.sidebar-search-results{position:relative;display:none;width:100%}.sidebar-search-open .sidebar-search-results{display:inline-block}.sidebar-search-results .search-title{margin-bottom:-.1rem}.sidebar-search-results .list-group{position:absolute;width:100%;z-index:1039}.sidebar-search-results .list-group>.list-group-item{padding:.375rem .75rem}.sidebar-search-results .list-group>.list-group-item:-moz-focusring{margin-top:0;border-left:1px solid transparent;border-top:0;border-bottom:1px solid transparent}.sidebar-search-results .list-group>.list-group-item:first-child{margin-top:0;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.sidebar-search-results .search-path{font-size:80%}.sidebar-search-open .btn,.sidebar-search-open .form-control{border-bottom-right-radius:0;border-bottom-left-radius:0}[class*=sidebar-dark] .sidebar-custom{border-top:1px solid #4f5962}[class*=sidebar-light] .sidebar-custom{border-top:1px solid #dee2e6}.layout-fixed.sidebar-collapse .hide-on-collapse{display:none}.layout-fixed.sidebar-collapse:hover .hide-on-collapse{display:block}.layout-fixed .main-sidebar-custom .sidebar{height:calc(100% - ((3.5rem + 4rem) + 1px))}.layout-fixed .main-sidebar-custom .sidebar-custom{height:4rem;padding:.85rem .5rem}.layout-fixed .main-sidebar-custom-lg .sidebar{height:calc(100% - ((3.5rem + 6rem) + 1px))}.layout-fixed .main-sidebar-custom-lg .sidebar-custom{height:6rem}.layout-fixed .main-sidebar-custom-xl .sidebar{height:calc(100% - ((3.5rem + 8rem) + 1px))}.layout-fixed .main-sidebar-custom-xl .sidebar-custom{height:8rem}.layout-fixed .main-sidebar-custom .pos-right,.layout-fixed .main-sidebar-custom-lg .pos-right,.layout-fixed .main-sidebar-custom-xl .pos-right{position:absolute;right:.5rem}.dark-mode .sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active{background-color:#3f6791;color:#fff}.dark-mode .sidebar-dark-primary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-primary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3f6791}.dark-mode .sidebar-dark-secondary .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-secondary .nav-sidebar>.nav-item>.nav-link.active{background-color:#6c757d;color:#fff}.dark-mode .sidebar-dark-secondary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-secondary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6c757d}.dark-mode .sidebar-dark-success .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-success .nav-sidebar>.nav-item>.nav-link.active{background-color:#00bc8c;color:#fff}.dark-mode .sidebar-dark-success .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-success .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#00bc8c}.dark-mode .sidebar-dark-info .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-info .nav-sidebar>.nav-item>.nav-link.active{background-color:#3498db;color:#fff}.dark-mode .sidebar-dark-info .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-info .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3498db}.dark-mode .sidebar-dark-warning .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-warning .nav-sidebar>.nav-item>.nav-link.active{background-color:#f39c12;color:#1f2d3d}.dark-mode .sidebar-dark-warning .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-warning .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f39c12}.dark-mode .sidebar-dark-danger .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-danger .nav-sidebar>.nav-item>.nav-link.active{background-color:#e74c3c;color:#fff}.dark-mode .sidebar-dark-danger .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-danger .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#e74c3c}.dark-mode .sidebar-dark-light .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-light .nav-sidebar>.nav-item>.nav-link.active{background-color:#f8f9fa;color:#1f2d3d}.dark-mode .sidebar-dark-light .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-light .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f8f9fa}.dark-mode .sidebar-dark-dark .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-dark .nav-sidebar>.nav-item>.nav-link.active{background-color:#343a40;color:#fff}.dark-mode .sidebar-dark-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#343a40}.dark-mode .sidebar-dark-lightblue .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-lightblue .nav-sidebar>.nav-item>.nav-link.active{background-color:#86bad8;color:#1f2d3d}.dark-mode .sidebar-dark-lightblue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-lightblue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#86bad8}.dark-mode .sidebar-dark-navy .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-navy .nav-sidebar>.nav-item>.nav-link.active{background-color:#002c59;color:#fff}.dark-mode .sidebar-dark-navy .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-navy .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#002c59}.dark-mode .sidebar-dark-olive .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-olive .nav-sidebar>.nav-item>.nav-link.active{background-color:#74c8a3;color:#1f2d3d}.dark-mode .sidebar-dark-olive .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-olive .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#74c8a3}.dark-mode .sidebar-dark-lime .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-lime .nav-sidebar>.nav-item>.nav-link.active{background-color:#67ffa9;color:#1f2d3d}.dark-mode .sidebar-dark-lime .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-lime .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#67ffa9}.dark-mode .sidebar-dark-fuchsia .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-fuchsia .nav-sidebar>.nav-item>.nav-link.active{background-color:#f672d8;color:#1f2d3d}.dark-mode .sidebar-dark-fuchsia .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-fuchsia .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f672d8}.dark-mode .sidebar-dark-maroon .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-maroon .nav-sidebar>.nav-item>.nav-link.active{background-color:#ed6c9b;color:#1f2d3d}.dark-mode .sidebar-dark-maroon .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-maroon .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#ed6c9b}.dark-mode .sidebar-dark-blue .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-blue .nav-sidebar>.nav-item>.nav-link.active{background-color:#3f6791;color:#fff}.dark-mode .sidebar-dark-blue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-blue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3f6791}.dark-mode .sidebar-dark-indigo .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-indigo .nav-sidebar>.nav-item>.nav-link.active{background-color:#6610f2;color:#fff}.dark-mode .sidebar-dark-indigo .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-indigo .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6610f2}.dark-mode .sidebar-dark-purple .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-purple .nav-sidebar>.nav-item>.nav-link.active{background-color:#6f42c1;color:#fff}.dark-mode .sidebar-dark-purple .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-purple .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6f42c1}.dark-mode .sidebar-dark-pink .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-pink .nav-sidebar>.nav-item>.nav-link.active{background-color:#e83e8c;color:#fff}.dark-mode .sidebar-dark-pink .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-pink .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#e83e8c}.dark-mode .sidebar-dark-red .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-red .nav-sidebar>.nav-item>.nav-link.active{background-color:#e74c3c;color:#fff}.dark-mode .sidebar-dark-red .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-red .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#e74c3c}.dark-mode .sidebar-dark-orange .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-orange .nav-sidebar>.nav-item>.nav-link.active{background-color:#fd7e14;color:#1f2d3d}.dark-mode .sidebar-dark-orange .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-orange .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#fd7e14}.dark-mode .sidebar-dark-yellow .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-yellow .nav-sidebar>.nav-item>.nav-link.active{background-color:#f39c12;color:#1f2d3d}.dark-mode .sidebar-dark-yellow .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-yellow .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f39c12}.dark-mode .sidebar-dark-green .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-green .nav-sidebar>.nav-item>.nav-link.active{background-color:#00bc8c;color:#fff}.dark-mode .sidebar-dark-green .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-green .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#00bc8c}.dark-mode .sidebar-dark-teal .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-teal .nav-sidebar>.nav-item>.nav-link.active{background-color:#20c997;color:#fff}.dark-mode .sidebar-dark-teal .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-teal .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#20c997}.dark-mode .sidebar-dark-cyan .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-cyan .nav-sidebar>.nav-item>.nav-link.active{background-color:#3498db;color:#fff}.dark-mode .sidebar-dark-cyan .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-cyan .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3498db}.dark-mode .sidebar-dark-white .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-white .nav-sidebar>.nav-item>.nav-link.active{background-color:#fff;color:#1f2d3d}.dark-mode .sidebar-dark-white .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-white .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#fff}.dark-mode .sidebar-dark-gray .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-gray .nav-sidebar>.nav-item>.nav-link.active{background-color:#6c757d;color:#fff}.dark-mode .sidebar-dark-gray .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-gray .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6c757d}.dark-mode .sidebar-dark-gray-dark .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-gray-dark .nav-sidebar>.nav-item>.nav-link.active{background-color:#343a40;color:#fff}.dark-mode .sidebar-dark-gray-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-gray-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#343a40}.dark-mode [class*=sidebar-light-] .sidebar a{color:#343a40}.dark-mode [class*=sidebar-light-] .sidebar a:hover{text-decoration:none}.logo-xl,.logo-xs{opacity:1;position:absolute;visibility:visible}.logo-xl.brand-image-xs,.logo-xs.brand-image-xs{left:18px;top:12px}.logo-xl.brand-image-xl,.logo-xs.brand-image-xl{left:12px;top:6px}.logo-xs{opacity:0;visibility:hidden}.logo-xs.brand-image-xl{left:16px;top:8px}.brand-link.logo-switch::before{content:"\00a0"}@media (min-width:992px){.sidebar-mini .nav-sidebar,.sidebar-mini .nav-sidebar .nav-link,.sidebar-mini .nav-sidebar>.nav-header{white-space:nowrap}.sidebar-mini.sidebar-collapse .d-hidden-mini{display:none}.sidebar-mini.sidebar-collapse .content-wrapper,.sidebar-mini.sidebar-collapse .main-footer,.sidebar-mini.sidebar-collapse .main-header{margin-left:4.6rem!important}.sidebar-mini.sidebar-collapse .nav-sidebar .nav-header{display:none}.sidebar-mini.sidebar-collapse .nav-sidebar .nav-link p{width:0;white-space:nowrap}.sidebar-mini.sidebar-collapse .brand-text,.sidebar-mini.sidebar-collapse .nav-sidebar .nav-link p,.sidebar-mini.sidebar-collapse .sidebar .user-panel>.info{margin-left:-10px;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini.sidebar-collapse .logo-xl{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini.sidebar-collapse .logo-xs{display:inline-block;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini.sidebar-collapse .main-sidebar{overflow-x:hidden}.sidebar-mini.sidebar-collapse .main-sidebar,.sidebar-mini.sidebar-collapse .main-sidebar::before{margin-left:0;width:4.6rem}.sidebar-mini.sidebar-collapse .main-sidebar .user-panel .image{float:none}.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused,.sidebar-mini.sidebar-collapse .main-sidebar:hover{width:250px}.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .brand-link,.sidebar-mini.sidebar-collapse .main-sidebar:hover .brand-link{width:250px}.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .user-panel,.sidebar-mini.sidebar-collapse .main-sidebar:hover .user-panel{text-align:left}.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .user-panel .image,.sidebar-mini.sidebar-collapse .main-sidebar:hover .user-panel .image{float:left}.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .brand-text,.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .logo-xl,.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .nav-sidebar .nav-link p,.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .user-panel>.info,.sidebar-mini.sidebar-collapse .main-sidebar:hover .brand-text,.sidebar-mini.sidebar-collapse .main-sidebar:hover .logo-xl,.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link p,.sidebar-mini.sidebar-collapse .main-sidebar:hover .user-panel>.info{display:inline-block;margin-left:0;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .logo-xs,.sidebar-mini.sidebar-collapse .main-sidebar:hover .logo-xs{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .brand-image,.sidebar-mini.sidebar-collapse .main-sidebar:hover .brand-image{margin-right:.5rem}.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .sidebar-form,.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .user-panel>.info,.sidebar-mini.sidebar-collapse .main-sidebar:hover .sidebar-form,.sidebar-mini.sidebar-collapse .main-sidebar:hover .user-panel>.info{display:block!important;-webkit-transform:translateZ(0);transform:translateZ(0)}.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .nav-sidebar>.nav-item>.nav-link>span,.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar>.nav-item>.nav-link>span{display:inline-block!important}.sidebar-mini.sidebar-collapse .visible-sidebar-mini{display:block!important}.sidebar-mini.sidebar-collapse.layout-fixed .main-sidebar:hover .brand-link{width:250px}.sidebar-mini.sidebar-collapse.layout-fixed .brand-link{width:4.6rem}}@media (max-width:991.98px){.sidebar-mini.sidebar-collapse .main-sidebar{box-shadow:none!important}}@media (min-width:768px){.sidebar-mini-md .nav-sidebar,.sidebar-mini-md .nav-sidebar .nav-link,.sidebar-mini-md .nav-sidebar>.nav-header{white-space:nowrap}.sidebar-mini-md.sidebar-collapse .d-hidden-mini{display:none}.sidebar-mini-md.sidebar-collapse .content-wrapper,.sidebar-mini-md.sidebar-collapse .main-footer,.sidebar-mini-md.sidebar-collapse .main-header{margin-left:4.6rem!important}.sidebar-mini-md.sidebar-collapse .nav-sidebar .nav-header{display:none}.sidebar-mini-md.sidebar-collapse .nav-sidebar .nav-link p{width:0;white-space:nowrap}.sidebar-mini-md.sidebar-collapse .brand-text,.sidebar-mini-md.sidebar-collapse .nav-sidebar .nav-link p,.sidebar-mini-md.sidebar-collapse .sidebar .user-panel>.info{margin-left:-10px;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-md.sidebar-collapse .logo-xl{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-md.sidebar-collapse .logo-xs{display:inline-block;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini-md.sidebar-collapse .main-sidebar{overflow-x:hidden}.sidebar-mini-md.sidebar-collapse .main-sidebar,.sidebar-mini-md.sidebar-collapse .main-sidebar::before{margin-left:0;width:4.6rem}.sidebar-mini-md.sidebar-collapse .main-sidebar .user-panel .image{float:none}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover{width:250px}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .brand-link,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .brand-link{width:250px}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .user-panel,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .user-panel{text-align:left}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .user-panel .image,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .user-panel .image{float:left}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .brand-text,.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .logo-xl,.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .nav-sidebar .nav-link p,.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .user-panel>.info,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .brand-text,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .logo-xl,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link p,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .user-panel>.info{display:inline-block;margin-left:0;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .logo-xs,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .logo-xs{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .brand-image,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .brand-image{margin-right:.5rem}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .sidebar-form,.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .user-panel>.info,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .sidebar-form,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .user-panel>.info{display:block!important;-webkit-transform:translateZ(0);transform:translateZ(0)}.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused .nav-sidebar>.nav-item>.nav-link>span,.sidebar-mini-md.sidebar-collapse .main-sidebar:hover .nav-sidebar>.nav-item>.nav-link>span{display:inline-block!important}.sidebar-mini-md.sidebar-collapse .visible-sidebar-mini{display:block!important}.sidebar-mini-md.sidebar-collapse.layout-fixed .main-sidebar:hover .brand-link{width:250px}.sidebar-mini-md.sidebar-collapse.layout-fixed .brand-link{width:4.6rem}}@media (max-width:767.98px){.sidebar-mini-md.sidebar-collapse .main-sidebar{box-shadow:none!important}}.sidebar-mini-xs .nav-sidebar,.sidebar-mini-xs .nav-sidebar .nav-link,.sidebar-mini-xs .nav-sidebar>.nav-header{white-space:nowrap}.sidebar-mini-xs.sidebar-collapse .d-hidden-mini{display:none}.sidebar-mini-xs.sidebar-collapse .content-wrapper,.sidebar-mini-xs.sidebar-collapse .main-footer,.sidebar-mini-xs.sidebar-collapse .main-header{margin-left:4.6rem!important}.sidebar-mini-xs.sidebar-collapse .nav-sidebar .nav-header{display:none}.sidebar-mini-xs.sidebar-collapse .nav-sidebar .nav-link p{width:0;white-space:nowrap}.sidebar-mini-xs.sidebar-collapse .brand-text,.sidebar-mini-xs.sidebar-collapse .nav-sidebar .nav-link p,.sidebar-mini-xs.sidebar-collapse .sidebar .user-panel>.info{margin-left:-10px;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-xs.sidebar-collapse .logo-xl{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-xs.sidebar-collapse .logo-xs{display:inline-block;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini-xs.sidebar-collapse .main-sidebar{overflow-x:hidden}.sidebar-mini-xs.sidebar-collapse .main-sidebar,.sidebar-mini-xs.sidebar-collapse .main-sidebar::before{margin-left:0;width:4.6rem}.sidebar-mini-xs.sidebar-collapse .main-sidebar .user-panel .image{float:none}.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover{width:250px}.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .brand-link,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .brand-link{width:250px}.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .user-panel,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .user-panel{text-align:left}.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .user-panel .image,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .user-panel .image{float:left}.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .brand-text,.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .logo-xl,.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .nav-sidebar .nav-link p,.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .user-panel>.info,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .brand-text,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .logo-xl,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link p,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .user-panel>.info{display:inline-block;margin-left:0;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .logo-xs,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .logo-xs{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .brand-image,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .brand-image{margin-right:.5rem}.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .sidebar-form,.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .user-panel>.info,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .sidebar-form,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .user-panel>.info{display:block!important;-webkit-transform:translateZ(0);transform:translateZ(0)}.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused .nav-sidebar>.nav-item>.nav-link>span,.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover .nav-sidebar>.nav-item>.nav-link>span{display:inline-block!important}.sidebar-mini-xs.sidebar-collapse .visible-sidebar-mini{display:block!important}.sidebar-mini-xs.sidebar-collapse.layout-fixed .main-sidebar:hover .brand-link{width:250px}.sidebar-mini-xs.sidebar-collapse.layout-fixed .brand-link{width:4.6rem}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 1rem)}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 2rem)}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 3rem)}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 4rem)}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 5rem)}.sidebar-mini .main-sidebar .nav-legacy .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy .nav-link{width:250px}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-link{width:calc(250px - 1rem)}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 1rem)}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 2rem)}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 3rem)}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 4rem)}.sidebar-mini .main-sidebar .nav-flat .nav-link,.sidebar-mini-md .main-sidebar .nav-flat .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat .nav-link{width:250px}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-link{width:calc(250px)}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem)}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 2)}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 3)}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 4)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - .5rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 1rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 1.5rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 2rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 2.5rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-link{width:250px}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link{width:calc(250px - .5rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 3)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 4)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 5)}.sidebar-mini .main-sidebar .nav-link,.sidebar-mini-md .main-sidebar .nav-link,.sidebar-mini-xs .main-sidebar .nav-link{width:calc(250px - .5rem * 2);transition:width ease-in-out .3s}@media (prefers-reduced-motion:reduce){.sidebar-mini .main-sidebar .nav-link,.sidebar-mini-md .main-sidebar .nav-link,.sidebar-mini-xs .main-sidebar .nav-link{transition:none}}.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar .nav-link{width:3.6rem}.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar.nav-flat .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar.nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar.nav-flat .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar.nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar.nav-flat .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar.nav-legacy .nav-link{width:4.6rem}.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-treeview,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-treeview,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-treeview{padding-left:0!important;margin-left:0!important}.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-link{width:calc(4.6rem - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-link{width:calc(250px - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-header,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-header,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-header,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-header,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-header,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-header{display:inline-block}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent .nav-link{width:calc(250px - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy .nav-link{width:250px}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-link{width:calc(250px - 1rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 1rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 2rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 3rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 4rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat .nav-link{width:250px}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-link{width:calc(250px)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 3)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 4)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-compact .nav-link{width:calc(250px - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-link{width:250px}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link{width:calc(250px - .5rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 3)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 4)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 5)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar,.sidebar-collapse.sidebar-mini .main-sidebar:hover .sidebar::-webkit-scrollbar,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .sidebar::-webkit-scrollbar,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .sidebar::-webkit-scrollbar{width:.5rem;height:.5rem}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar-thumb,.sidebar-collapse.sidebar-mini .main-sidebar:hover .sidebar::-webkit-scrollbar-thumb,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar-thumb,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .sidebar::-webkit-scrollbar-thumb,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar-thumb,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .sidebar::-webkit-scrollbar-thumb{background-color:#a9a9a9}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar-track,.sidebar-collapse.sidebar-mini .main-sidebar:hover .sidebar::-webkit-scrollbar-track,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar-track,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .sidebar::-webkit-scrollbar-track,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar-track,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .sidebar::-webkit-scrollbar-track{background-color:transparent}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar-corner,.sidebar-collapse.sidebar-mini .main-sidebar:hover .sidebar::-webkit-scrollbar-corner,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar-corner,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .sidebar::-webkit-scrollbar-corner,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .sidebar::-webkit-scrollbar-corner,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .sidebar::-webkit-scrollbar-corner{background-color:transparent}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .sidebar,.sidebar-collapse.sidebar-mini .main-sidebar:hover .sidebar,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .sidebar,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .sidebar,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .sidebar,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .sidebar{-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:thin;scrollbar-color:#a9a9a9 transparent}.sidebar-collapse.sidebar-mini .main-sidebar .sidebar::-webkit-scrollbar,.sidebar-collapse.sidebar-mini-md .main-sidebar .sidebar::-webkit-scrollbar,.sidebar-collapse.sidebar-mini-xs .main-sidebar .sidebar::-webkit-scrollbar{width:0;height:0}.sidebar-collapse.sidebar-mini .main-sidebar .sidebar,.sidebar-collapse.sidebar-mini-md .main-sidebar .sidebar,.sidebar-collapse.sidebar-mini-xs .main-sidebar .sidebar{-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-width:none}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover{width:4.6rem}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .nav-header,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .nav-header,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .nav-header,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .nav-header,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .nav-header,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .nav-header{display:none}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .brand-link,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .brand-link,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .brand-link,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .brand-link,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .brand-link,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .brand-link{width:4.6rem!important}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .user-panel .image,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .user-panel .image,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .user-panel .image,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .user-panel .image,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .user-panel .image,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .user-panel .image{float:none!important}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xs,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .logo-xs,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xs,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .logo-xs,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xs,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .logo-xs{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xl,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .logo-xl,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xl,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .logo-xl,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xl,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .logo-xl{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .nav-sidebar.nav-child-indent .nav-treeview{padding-left:0}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .brand-text,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .user-panel>.info,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .brand-text,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .user-panel>.info,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .brand-text,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .user-panel>.info,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .brand-text,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .user-panel>.info,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .brand-text,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .user-panel>.info,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .brand-text,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .user-panel>.info{margin-left:-10px;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden;width:0}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .nav-sidebar>.nav-item .nav-icon{margin-right:0}.nav-sidebar{position:relative}.nav-sidebar:hover{overflow:visible}.nav-sidebar>.nav-header,.sidebar-form{overflow:hidden;text-overflow:clip}.nav-sidebar .nav-item>.nav-link{position:relative}.nav-sidebar .nav-item>.nav-link>.float-right{margin-top:-7px;position:absolute;right:10px;top:50%}.main-sidebar .brand-text,.main-sidebar .logo-xl,.main-sidebar .logo-xs,.sidebar .nav-link p,.sidebar .user-panel .info{transition:margin-left .3s linear,opacity .3s ease,visibility .3s ease}@media (prefers-reduced-motion:reduce){.main-sidebar .brand-text,.main-sidebar .logo-xl,.main-sidebar .logo-xs,.sidebar .nav-link p,.sidebar .user-panel .info{transition:none}}html.control-sidebar-animate{overflow-x:hidden}.control-sidebar{bottom:calc(3.5rem + 1px);position:absolute;top:calc(3.5rem + 1px);z-index:1031}.control-sidebar,.control-sidebar::before{bottom:calc(3.5rem + 1px);display:none;right:-250px;width:250px;transition:right .3s ease-in-out,display .3s ease-in-out}@media (prefers-reduced-motion:reduce){.control-sidebar,.control-sidebar::before{transition:none}}.control-sidebar::before{content:"";display:block;position:fixed;top:0;z-index:-1}body.text-sm .control-sidebar{bottom:calc(2.9365rem + 1px);top:calc(2.93725rem + 1px)}.main-header.text-sm~.control-sidebar{top:calc(2.93725rem + 1px)}.main-footer.text-sm~.control-sidebar{bottom:calc(2.9365rem + 1px)}.control-sidebar-push-slide .content-wrapper,.control-sidebar-push-slide .main-footer{transition:margin-right .3s ease-in-out}@media (prefers-reduced-motion:reduce){.control-sidebar-push-slide .content-wrapper,.control-sidebar-push-slide .main-footer{transition:none}}.control-sidebar-open .control-sidebar{display:block}.control-sidebar-open .control-sidebar,.control-sidebar-open .control-sidebar::before{right:0}.control-sidebar-open.control-sidebar-push .content-wrapper,.control-sidebar-open.control-sidebar-push .main-footer,.control-sidebar-open.control-sidebar-push-slide .content-wrapper,.control-sidebar-open.control-sidebar-push-slide .main-footer{margin-right:250px}.control-sidebar-slide-open .control-sidebar{display:block}.control-sidebar-slide-open .control-sidebar,.control-sidebar-slide-open .control-sidebar::before{right:0;transition:right .3s ease-in-out,display .3s ease-in-out}@media (prefers-reduced-motion:reduce){.control-sidebar-slide-open .control-sidebar,.control-sidebar-slide-open .control-sidebar::before{transition:none}}.control-sidebar-slide-open.control-sidebar-push .content-wrapper,.control-sidebar-slide-open.control-sidebar-push .main-footer,.control-sidebar-slide-open.control-sidebar-push-slide .content-wrapper,.control-sidebar-slide-open.control-sidebar-push-slide .main-footer{margin-right:250px}.control-sidebar-dark{background-color:#343a40}.control-sidebar-dark,.control-sidebar-dark .nav-link,.control-sidebar-dark a{color:#c2c7d0}.control-sidebar-dark a:hover{color:#fff}.control-sidebar-dark h1,.control-sidebar-dark h2,.control-sidebar-dark h3,.control-sidebar-dark h4,.control-sidebar-dark h5,.control-sidebar-dark h6,.control-sidebar-dark label{color:#fff}.control-sidebar-dark .nav-tabs{background-color:rgba(255,255,255,.1);border-bottom:0;margin-bottom:5px}.control-sidebar-dark .nav-tabs .nav-item{margin:0}.control-sidebar-dark .nav-tabs .nav-link{border-radius:0;padding:10px 20px;position:relative;text-align:center}.control-sidebar-dark .nav-tabs .nav-link,.control-sidebar-dark .nav-tabs .nav-link.active,.control-sidebar-dark .nav-tabs .nav-link:active,.control-sidebar-dark .nav-tabs .nav-link:focus,.control-sidebar-dark .nav-tabs .nav-link:hover{border:0}.control-sidebar-dark .nav-tabs .nav-link.active,.control-sidebar-dark .nav-tabs .nav-link:active,.control-sidebar-dark .nav-tabs .nav-link:focus,.control-sidebar-dark .nav-tabs .nav-link:hover{border-bottom-color:transparent;border-left-color:transparent;border-top-color:transparent;color:#fff}.control-sidebar-dark .nav-tabs .nav-link.active{background-color:#343a40}.control-sidebar-dark .tab-pane{padding:10px 15px}.control-sidebar-light{color:#4b545c;background-color:#fff;border-left:1px solid #dee2e6}.text-sm .dropdown-menu{font-size:.875rem!important}.text-sm .dropdown-toggle::after{vertical-align:.2rem}.dropdown-item-title{font-size:1rem;margin:0}.dropdown-icon::after{margin-left:0}.dropdown-menu-lg{max-width:300px;min-width:280px;padding:0}.dropdown-menu-lg .dropdown-divider{margin:0}.dropdown-menu-lg .dropdown-item{padding:.5rem 1rem}.dropdown-menu-lg p{margin:0;white-space:normal}.dropdown-submenu{position:relative}.dropdown-submenu>a::after{border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;float:right;margin-left:.5rem;margin-top:.5rem}.dropdown-submenu>.dropdown-menu{left:100%;margin-left:0;margin-top:0;top:0}.dropdown-hover .dropdown-submenu:hover>.dropdown-menu,.dropdown-hover.dropdown-submenu:hover>.dropdown-menu,.dropdown-hover.nav-item.dropdown:hover>.dropdown-menu,.dropdown-hover:hover>.dropdown-menu{display:block}.dropdown-menu-xl{max-width:420px;min-width:360px;padding:0}.dropdown-menu-xl .dropdown-divider{margin:0}.dropdown-menu-xl .dropdown-item{padding:.5rem 1rem}.dropdown-menu-xl p{margin:0;white-space:normal}.dropdown-footer,.dropdown-header{display:block;font-size:.875rem;padding:.5rem 1rem;text-align:center}.open:not(.dropup)>.animated-dropdown-menu{-webkit-animation:flipInX .7s both;animation:flipInX .7s both;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.navbar-custom-menu>.navbar-nav>li{position:relative}.navbar-custom-menu>.navbar-nav>li>.dropdown-menu{position:absolute;right:0;left:auto}@media (max-width:767.98px){.navbar-custom-menu>.navbar-nav{float:right}.navbar-custom-menu>.navbar-nav>li{position:static}.navbar-custom-menu>.navbar-nav>li>.dropdown-menu{position:absolute;right:5%;left:auto;border:1px solid #ddd;background-color:#fff}}.navbar-nav>.user-menu>.nav-link::after{content:none}.navbar-nav>.user-menu>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;padding:0;width:280px}.navbar-nav>.user-menu>.dropdown-menu,.navbar-nav>.user-menu>.dropdown-menu>.user-body{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.navbar-nav>.user-menu>.dropdown-menu>li.user-header{height:175px;padding:10px;text-align:center}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>img{z-index:5;height:90px;width:90px;border:3px solid;border-color:transparent;border-color:rgba(255,255,255,.2)}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p{z-index:5;font-size:17px;margin-top:10px}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p>small{display:block;font-size:12px}.navbar-nav>.user-menu>.dropdown-menu>.user-body{border-bottom:1px solid #495057;border-top:1px solid #dee2e6;padding:15px}.navbar-nav>.user-menu>.dropdown-menu>.user-body::after{display:block;clear:both;content:""}@media (min-width:576px){.navbar-nav>.user-menu>.dropdown-menu>.user-body a{background-color:#fff!important;color:#495057!important}}.navbar-nav>.user-menu>.dropdown-menu>.user-footer{background-color:#f8f9fa;padding:10px}.navbar-nav>.user-menu>.dropdown-menu>.user-footer::after{display:block;clear:both;content:""}.navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default{color:#6c757d}@media (min-width:576px){.navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:hover{background-color:#f8f9fa}}.navbar-nav>.user-menu .user-image{border-radius:50%;float:left;height:2.1rem;margin-right:10px;margin-top:-2px;width:2.1rem}@media (min-width:576px){.navbar-nav>.user-menu .user-image{float:none;line-height:10px;margin-right:.4rem;margin-top:-8px}}.dark-mode .dropdown-menu{background-color:#343a40;color:#fff}.dark-mode .dropdown-item{color:#fff}.dark-mode .dropdown-item:focus,.dark-mode .dropdown-item:hover{background-color:#3f474e}.dark-mode .dropdown-divider{border-color:#6c757d}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer{background-color:#3a4047;color:#fff}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default{color:#fff}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:focus,.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:hover{background-color:#3f474e;color:#dee2e6}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:focus{background-color:#454d55}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-body{border-color:#6c757d}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-body a{background-color:transparent!important;color:#fff!important}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-body a:focus,.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-body a:hover{color:#ced4da!important}.nav-pills .nav-link{color:#6c757d}.nav-pills .nav-link:not(.active):hover{color:#007bff}.nav-pills .nav-item.dropdown.show .nav-link:hover{color:#fff}.nav-tabs.flex-column{border-bottom:0;border-right:1px solid #dee2e6}.nav-tabs.flex-column .nav-link{border-bottom-left-radius:.25rem;border-top-right-radius:0;margin-right:-1px}.nav-tabs.flex-column .nav-link:focus,.nav-tabs.flex-column .nav-link:hover{border-color:#e9ecef transparent #e9ecef #e9ecef}.nav-tabs.flex-column .nav-item.show .nav-link,.nav-tabs.flex-column .nav-link.active{border-color:#dee2e6 transparent #dee2e6 #dee2e6}.nav-tabs.flex-column.nav-tabs-right{border-left:1px solid #dee2e6;border-right:0}.nav-tabs.flex-column.nav-tabs-right .nav-link{border-bottom-left-radius:0;border-bottom-right-radius:.25rem;border-top-left-radius:0;border-top-right-radius:.25rem;margin-left:-1px}.nav-tabs.flex-column.nav-tabs-right .nav-link:focus,.nav-tabs.flex-column.nav-tabs-right .nav-link:hover{border-color:#e9ecef #e9ecef #e9ecef transparent}.nav-tabs.flex-column.nav-tabs-right .nav-item.show .nav-link,.nav-tabs.flex-column.nav-tabs-right .nav-link.active{border-color:#dee2e6 #dee2e6 #dee2e6 transparent}.navbar-no-expand{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-no-expand .nav-link{padding-left:1rem;padding-right:1rem}.navbar-no-expand .dropdown-menu{position:absolute}.navbar-light{background-color:#f8f9fa}.navbar-dark{background-color:#343a40;border-color:#4b545c}.navbar-primary{background-color:#007bff;color:#fff}.navbar-primary.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar,.navbar-primary.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#0071eb;border-color:#0065d1;color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus,.navbar-primary.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#006fe6;border-color:#0065d1!important;color:#343a40}.navbar-primary.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar,.navbar-primary.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1486ff;border-color:#2e93ff;color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus,.navbar-primary.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1a88ff;border-color:#2e93ff!important;color:#fff}.navbar-secondary{background-color:#6c757d;color:#fff}.navbar-secondary.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar,.navbar-secondary.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#636b72;border-color:#575e64;color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus,.navbar-secondary.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#60686f;border-color:#575e64!important;color:#343a40}.navbar-secondary.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar,.navbar-secondary.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#757f88;border-color:#838c94;color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus,.navbar-secondary.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#78828a;border-color:#838c94!important;color:#fff}.navbar-success{background-color:#28a745;color:#fff}.navbar-success.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar,.navbar-success.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#24973e;border-color:#1f8236;color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus,.navbar-success.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#23923d;border-color:#1f8236!important;color:#343a40}.navbar-success.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar,.navbar-success.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#2cb74c;border-color:#31cc54;color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus,.navbar-success.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#2dbc4e;border-color:#31cc54!important;color:#fff}.navbar-info{background-color:#17a2b8;color:#fff}.navbar-info.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar,.navbar-info.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1592a6;border-color:#127e8f;color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus,.navbar-info.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#148ea1;border-color:#127e8f!important;color:#343a40}.navbar-info.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar,.navbar-info.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#19b2ca;border-color:#1cc6e1;color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus,.navbar-info.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1ab6cf;border-color:#1cc6e1!important;color:#fff}.navbar-warning{background-color:#ffc107;color:#1f2d3d}.navbar-warning.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar,.navbar-warning.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f2b500;border-color:#d8a200;color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus,.navbar-warning.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#edb100;border-color:#d8a200!important;color:#343a40}.navbar-warning.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar,.navbar-warning.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ffc61b;border-color:#ffcc35;color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus,.navbar-warning.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ffc721;border-color:#ffcc35!important;color:#fff}.navbar-danger{background-color:#dc3545;color:#fff}.navbar-danger.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar,.navbar-danger.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#d72536;border-color:#c22231;color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus,.navbar-danger.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#d32535;border-color:#c22231!important;color:#343a40}.navbar-danger.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar,.navbar-danger.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#df4655;border-color:#e35c69;color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus,.navbar-danger.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e04b59;border-color:#e35c69!important;color:#fff}.navbar-lightblue{background-color:#3c8dbc;color:#fff}.navbar-lightblue.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar,.navbar-lightblue.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#3781ad;border-color:#317399;color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus,.navbar-lightblue.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#367fa9;border-color:#317399!important;color:#343a40}.navbar-lightblue.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar,.navbar-lightblue.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#4897c5;border-color:#5ba2cb;color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus,.navbar-lightblue.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4c99c6;border-color:#5ba2cb!important;color:#fff}.navbar-navy{background-color:#001f3f;color:#fff}.navbar-navy.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar,.navbar-navy.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00152b;border-color:#000811;color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus,.navbar-navy.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#001226;border-color:#000811!important;color:#343a40}.navbar-navy.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar,.navbar-navy.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#002953;border-color:#00366d;color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus,.navbar-navy.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#002c59;border-color:#00366d!important;color:#fff}.navbar-olive{background-color:#3d9970;color:#fff}.navbar-olive.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar,.navbar-olive.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#378a65;border-color:#307858;color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus,.navbar-olive.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#368763;border-color:#307858!important;color:#343a40}.navbar-olive.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar,.navbar-olive.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#43a87b;border-color:#4cb888;color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus,.navbar-olive.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#44ab7d;border-color:#4cb888!important;color:#fff}.navbar-lime{background-color:#01ff70;color:#1f2d3d}.navbar-lime.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar,.navbar-lime.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00ec67;border-color:#00d25c;color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus,.navbar-lime.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00e765;border-color:#00d25c!important;color:#343a40}.navbar-lime.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar,.navbar-lime.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#15ff7b;border-color:#2fff8a;color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus,.navbar-lime.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1bff7e;border-color:#2fff8a!important;color:#fff}.navbar-fuchsia{background-color:#f012be;color:#fff}.navbar-fuchsia.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar,.navbar-fuchsia.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#df0eb0;border-color:#c70d9d;color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus,.navbar-fuchsia.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#db0ead;border-color:#c70d9d!important;color:#343a40}.navbar-fuchsia.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar,.navbar-fuchsia.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f125c3;border-color:#f33dca;color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus,.navbar-fuchsia.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f22ac5;border-color:#f33dca!important;color:#fff}.navbar-maroon{background-color:#d81b60;color:#fff}.navbar-maroon.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar,.navbar-maroon.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#c61958;border-color:#af164e;color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus,.navbar-maroon.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#c11856;border-color:#af164e!important;color:#343a40}.navbar-maroon.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar,.navbar-maroon.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e4246a;border-color:#e63a79;color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus,.navbar-maroon.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e4286d;border-color:#e63a79!important;color:#fff}.navbar-blue{background-color:#007bff;color:#fff}.navbar-blue.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar,.navbar-blue.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#0071eb;border-color:#0065d1;color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus,.navbar-blue.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#006fe6;border-color:#0065d1!important;color:#343a40}.navbar-blue.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar,.navbar-blue.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1486ff;border-color:#2e93ff;color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus,.navbar-blue.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1a88ff;border-color:#2e93ff!important;color:#fff}.navbar-indigo{background-color:#6610f2;color:#fff}.navbar-indigo.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar,.navbar-indigo.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#5d0ce1;border-color:#530bc9;color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus,.navbar-indigo.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#5b0cdd;border-color:#530bc9!important;color:#343a40}.navbar-indigo.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar,.navbar-indigo.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7223f3;border-color:#823cf4;color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus,.navbar-indigo.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#7528f3;border-color:#823cf4!important;color:#fff}.navbar-purple{background-color:#6f42c1;color:#fff}.navbar-purple.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar,.navbar-purple.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#663bb4;border-color:#5b35a0;color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus,.navbar-purple.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#643ab0;border-color:#5b35a0!important;color:#343a40}.navbar-purple.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar,.navbar-purple.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7b51c6;border-color:#8965cc;color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus,.navbar-purple.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#7e55c7;border-color:#8965cc!important;color:#fff}.navbar-pink{background-color:#e83e8c;color:#fff}.navbar-pink.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar,.navbar-pink.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e62c81;border-color:#de1a74;color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus,.navbar-pink.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e5277e;border-color:#de1a74!important;color:#343a40}.navbar-pink.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar,.navbar-pink.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ea5097;border-color:#ed67a4;color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus,.navbar-pink.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#eb559a;border-color:#ed67a4!important;color:#fff}.navbar-red{background-color:#dc3545;color:#fff}.navbar-red.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar,.navbar-red.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#d72536;border-color:#c22231;color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus,.navbar-red.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#d32535;border-color:#c22231!important;color:#343a40}.navbar-red.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar,.navbar-red.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#df4655;border-color:#e35c69;color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus,.navbar-red.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e04b59;border-color:#e35c69!important;color:#fff}.navbar-orange{background-color:#fd7e14;color:#1f2d3d}.navbar-orange.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar,.navbar-orange.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fa7302;border-color:#e16702;color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus,.navbar-orange.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f57102;border-color:#e16702!important;color:#343a40}.navbar-orange.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar,.navbar-orange.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fd8928;border-color:#fd9742;color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus,.navbar-orange.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#fd8c2d;border-color:#fd9742!important;color:#fff}.navbar-yellow{background-color:#ffc107;color:#1f2d3d}.navbar-yellow.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar,.navbar-yellow.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f2b500;border-color:#d8a200;color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus,.navbar-yellow.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#edb100;border-color:#d8a200!important;color:#343a40}.navbar-yellow.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar,.navbar-yellow.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ffc61b;border-color:#ffcc35;color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus,.navbar-yellow.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ffc721;border-color:#ffcc35!important;color:#fff}.navbar-green{background-color:#28a745;color:#fff}.navbar-green.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar,.navbar-green.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#24973e;border-color:#1f8236;color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus,.navbar-green.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#23923d;border-color:#1f8236!important;color:#343a40}.navbar-green.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar,.navbar-green.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#2cb74c;border-color:#31cc54;color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus,.navbar-green.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#2dbc4e;border-color:#31cc54!important;color:#fff}.navbar-teal{background-color:#20c997;color:#fff}.navbar-teal.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar,.navbar-teal.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1db78a;border-color:#1aa179;color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus,.navbar-teal.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1cb386;border-color:#1aa179!important;color:#343a40}.navbar-teal.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar,.navbar-teal.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#23dba4;border-color:#38dfae;color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus,.navbar-teal.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#26dca6;border-color:#38dfae!important;color:#fff}.navbar-cyan{background-color:#17a2b8;color:#fff}.navbar-cyan.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar,.navbar-cyan.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1592a6;border-color:#127e8f;color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus,.navbar-cyan.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#148ea1;border-color:#127e8f!important;color:#343a40}.navbar-cyan.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar,.navbar-cyan.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#19b2ca;border-color:#1cc6e1;color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus,.navbar-cyan.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1ab6cf;border-color:#1cc6e1!important;color:#fff}.navbar-white{background-color:#fff;color:#1f2d3d}.navbar-white.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar,.navbar-white.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f5f5f5;border-color:#e8e8e8;color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus,.navbar-white.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f2f2f2;border-color:#e8e8e8!important;color:#343a40}.navbar-white.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar,.navbar-white.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fff;border-color:#fff;color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus,.navbar-white.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#fff;border-color:#fff!important;color:#fff}.navbar-gray{background-color:#6c757d;color:#fff}.navbar-gray.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar,.navbar-gray.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#636b72;border-color:#575e64;color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus,.navbar-gray.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#60686f;border-color:#575e64!important;color:#343a40}.navbar-gray.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar,.navbar-gray.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#757f88;border-color:#838c94;color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus,.navbar-gray.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#78828a;border-color:#838c94!important;color:#fff}.navbar-gray-dark{background-color:#343a40;color:#fff}.navbar-gray-dark.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar,.navbar-gray-dark.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#2b3035;border-color:#1f2327;color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus,.navbar-gray-dark.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#292d32;border-color:#1f2327!important;color:#343a40}.navbar-gray-dark.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar,.navbar-gray-dark.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#3d444b;border-color:#495159;color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus,.navbar-gray-dark.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#3f474e;border-color:#495159!important;color:#fff}.dark-mode .nav-pills .nav-link{color:#ced4da}.dark-mode .nav-tabs{border-color:#56606a}.dark-mode .nav-tabs .nav-link:focus,.dark-mode .nav-tabs .nav-link:hover{border-color:#56606a}.dark-mode .nav-tabs .nav-item.show .nav-link,.dark-mode .nav-tabs .nav-link.active{background-color:#343a40;border-color:#56606a #56606a transparent #56606a;color:#fff}.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link.active,.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link:focus,.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link:hover,.dark-mode .nav-tabs.flex-column .nav-link.active,.dark-mode .nav-tabs.flex-column .nav-link:focus,.dark-mode .nav-tabs.flex-column .nav-link:hover{border-color:#56606a transparent #56606a #56606a}.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link:focus,.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link:hover,.dark-mode .nav-tabs.flex-column .nav-link:focus,.dark-mode .nav-tabs.flex-column .nav-link:hover{background-color:#3f474e}.dark-mode .nav-tabs.flex-column.nav-tabs-right{border-color:#56606a}.dark-mode .nav-tabs.flex-column.nav-tabs-right .nav-link.active,.dark-mode .nav-tabs.flex-column.nav-tabs-right .nav-link:focus,.dark-mode .nav-tabs.flex-column.nav-tabs-right .nav-link:hover{border-color:#56606a #56606a #56606a transparent}.dark-mode .navbar-light{background-color:#f8f9fa}.dark-mode .navbar-dark{background-color:#343a40;border-color:#4b545c}.dark-mode .navbar-primary{background-color:#3f6791;color:#fff}.dark-mode .navbar-primary.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar,.dark-mode .navbar-primary.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#395d83;border-color:#315071;color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus,.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#375a7f;border-color:#315071!important;color:#343a40}.dark-mode .navbar-primary.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar,.dark-mode .navbar-primary.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#45719f;border-color:#4d7eb1;color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4774a3;border-color:#4d7eb1!important;color:#fff}.dark-mode .navbar-secondary{background-color:#6c757d;color:#fff}.dark-mode .navbar-secondary.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar,.dark-mode .navbar-secondary.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#636b72;border-color:#575e64;color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus,.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#60686f;border-color:#575e64!important;color:#343a40}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar,.dark-mode .navbar-secondary.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#757f88;border-color:#838c94;color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#78828a;border-color:#838c94!important;color:#fff}.dark-mode .navbar-success{background-color:#00bc8c;color:#fff}.dark-mode .navbar-success.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar,.dark-mode .navbar-success.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00a87d;border-color:#008e6a;color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus,.dark-mode .navbar-success.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00a379;border-color:#008e6a!important;color:#343a40}.dark-mode .navbar-success.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar,.dark-mode .navbar-success.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00d09b;border-color:#00eaae;color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00d69f;border-color:#00eaae!important;color:#fff}.dark-mode .navbar-info{background-color:#3498db;color:#fff}.dark-mode .navbar-info.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar,.dark-mode .navbar-info.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#268fd5;border-color:#2280bf;color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus,.dark-mode .navbar-info.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#258cd1;border-color:#2280bf!important;color:#343a40}.dark-mode .navbar-info.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar,.dark-mode .navbar-info.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#45a1de;border-color:#5bace2;color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4aa3df;border-color:#5bace2!important;color:#fff}.dark-mode .navbar-warning{background-color:#f39c12;color:#1f2d3d}.dark-mode .navbar-warning.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar,.dark-mode .navbar-warning.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e5910c;border-color:#cd820a;color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus,.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e08e0b;border-color:#cd820a!important;color:#343a40}.dark-mode .navbar-warning.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar,.dark-mode .navbar-warning.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f4a425;border-color:#f5ae3e;color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f4a62a;border-color:#f5ae3e!important;color:#fff}.dark-mode .navbar-danger{background-color:#e74c3c;color:#fff}.dark-mode .navbar-danger.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar,.dark-mode .navbar-danger.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e53b2a;border-color:#da2d1b;color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus,.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e43725;border-color:#da2d1b!important;color:#343a40}.dark-mode .navbar-danger.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar,.dark-mode .navbar-danger.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e95d4e;border-color:#ec7265;color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ea6153;border-color:#ec7265!important;color:#fff}.dark-mode .navbar-lightblue{background-color:#86bad8;color:#1f2d3d}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar,.dark-mode .navbar-lightblue.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#76b1d3;border-color:#63a6cd;color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus,.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#72afd2;border-color:#63a6cd!important;color:#343a40}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar,.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#95c3dd;border-color:#a9cee3;color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#99c5de;border-color:#a9cee3!important;color:#fff}.dark-mode .navbar-navy{background-color:#002c59;color:#fff}.dark-mode .navbar-navy.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar,.dark-mode .navbar-navy.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#024;border-color:#00152b;color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus,.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#001f3f;border-color:#00152b!important;color:#343a40}.dark-mode .navbar-navy.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar,.dark-mode .navbar-navy.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00366d;border-color:#004286;color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#003872;border-color:#004286!important;color:#fff}.dark-mode .navbar-olive{background-color:#74c8a3;color:#1f2d3d}.dark-mode .navbar-olive.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar,.dark-mode .navbar-olive.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#66c299;border-color:#53bb8d;color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus,.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#62c096;border-color:#53bb8d!important;color:#343a40}.dark-mode .navbar-olive.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar,.dark-mode .navbar-olive.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#83ceac;border-color:#95d5b8;color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#87cfaf;border-color:#95d5b8!important;color:#fff}.dark-mode .navbar-lime{background-color:#67ffa9;color:#1f2d3d}.dark-mode .navbar-lime.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar,.dark-mode .navbar-lime.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#53ff9e;border-color:#39ff90;color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus,.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4eff9b;border-color:#39ff90!important;color:#343a40}.dark-mode .navbar-lime.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar,.dark-mode .navbar-lime.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7bffb5;border-color:#95ffc3;color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#81ffb8;border-color:#95ffc3!important;color:#fff}.dark-mode .navbar-fuchsia{background-color:#f672d8;color:#1f2d3d}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar,.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f55fd3;border-color:#f347cc;color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus,.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f55ad2;border-color:#f347cc!important;color:#343a40}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar,.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f785de;border-color:#f99de4;color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f88adf;border-color:#f99de4!important;color:#fff}.dark-mode .navbar-maroon{background-color:#ed6c9b;color:#1f2d3d}.dark-mode .navbar-maroon.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar,.dark-mode .navbar-maroon.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ea5a8f;border-color:#e8447f;color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus,.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ea568c;border-color:#e8447f!important;color:#343a40}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar,.dark-mode .navbar-maroon.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ef7ea8;border-color:#f295b7;color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f083ab;border-color:#f295b7!important;color:#fff}.dark-mode .navbar-blue{background-color:#3f6791;color:#fff}.dark-mode .navbar-blue.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar,.dark-mode .navbar-blue.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#395d83;border-color:#315071;color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus,.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#375a7f;border-color:#315071!important;color:#343a40}.dark-mode .navbar-blue.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar,.dark-mode .navbar-blue.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#45719f;border-color:#4d7eb1;color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4774a3;border-color:#4d7eb1!important;color:#fff}.dark-mode .navbar-indigo{background-color:#6610f2;color:#fff}.dark-mode .navbar-indigo.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar,.dark-mode .navbar-indigo.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#5d0ce1;border-color:#530bc9;color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus,.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#5b0cdd;border-color:#530bc9!important;color:#343a40}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar,.dark-mode .navbar-indigo.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7223f3;border-color:#823cf4;color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#7528f3;border-color:#823cf4!important;color:#fff}.dark-mode .navbar-purple{background-color:#6f42c1;color:#fff}.dark-mode .navbar-purple.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar,.dark-mode .navbar-purple.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#663bb4;border-color:#5b35a0;color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus,.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#643ab0;border-color:#5b35a0!important;color:#343a40}.dark-mode .navbar-purple.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar,.dark-mode .navbar-purple.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7b51c6;border-color:#8965cc;color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#7e55c7;border-color:#8965cc!important;color:#fff}.dark-mode .navbar-pink{background-color:#e83e8c;color:#fff}.dark-mode .navbar-pink.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar,.dark-mode .navbar-pink.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e62c81;border-color:#de1a74;color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus,.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e5277e;border-color:#de1a74!important;color:#343a40}.dark-mode .navbar-pink.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar,.dark-mode .navbar-pink.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ea5097;border-color:#ed67a4;color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#eb559a;border-color:#ed67a4!important;color:#fff}.dark-mode .navbar-red{background-color:#e74c3c;color:#fff}.dark-mode .navbar-red.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar,.dark-mode .navbar-red.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e53b2a;border-color:#da2d1b;color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus,.dark-mode .navbar-red.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e43725;border-color:#da2d1b!important;color:#343a40}.dark-mode .navbar-red.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar,.dark-mode .navbar-red.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e95d4e;border-color:#ec7265;color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ea6153;border-color:#ec7265!important;color:#fff}.dark-mode .navbar-orange{background-color:#fd7e14;color:#1f2d3d}.dark-mode .navbar-orange.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar,.dark-mode .navbar-orange.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fa7302;border-color:#e16702;color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus,.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f57102;border-color:#e16702!important;color:#343a40}.dark-mode .navbar-orange.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar,.dark-mode .navbar-orange.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fd8928;border-color:#fd9742;color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#fd8c2d;border-color:#fd9742!important;color:#fff}.dark-mode .navbar-yellow{background-color:#f39c12;color:#1f2d3d}.dark-mode .navbar-yellow.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar,.dark-mode .navbar-yellow.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e5910c;border-color:#cd820a;color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus,.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e08e0b;border-color:#cd820a!important;color:#343a40}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar,.dark-mode .navbar-yellow.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f4a425;border-color:#f5ae3e;color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f4a62a;border-color:#f5ae3e!important;color:#fff}.dark-mode .navbar-green{background-color:#00bc8c;color:#fff}.dark-mode .navbar-green.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar,.dark-mode .navbar-green.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00a87d;border-color:#008e6a;color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus,.dark-mode .navbar-green.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00a379;border-color:#008e6a!important;color:#343a40}.dark-mode .navbar-green.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar,.dark-mode .navbar-green.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00d09b;border-color:#00eaae;color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00d69f;border-color:#00eaae!important;color:#fff}.dark-mode .navbar-teal{background-color:#20c997;color:#fff}.dark-mode .navbar-teal.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar,.dark-mode .navbar-teal.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1db78a;border-color:#1aa179;color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus,.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1cb386;border-color:#1aa179!important;color:#343a40}.dark-mode .navbar-teal.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar,.dark-mode .navbar-teal.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#23dba4;border-color:#38dfae;color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#26dca6;border-color:#38dfae!important;color:#fff}.dark-mode .navbar-cyan{background-color:#3498db;color:#fff}.dark-mode .navbar-cyan.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar,.dark-mode .navbar-cyan.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#268fd5;border-color:#2280bf;color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus,.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#258cd1;border-color:#2280bf!important;color:#343a40}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar,.dark-mode .navbar-cyan.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#45a1de;border-color:#5bace2;color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4aa3df;border-color:#5bace2!important;color:#fff}.dark-mode .navbar-white{background-color:#fff;color:#1f2d3d}.dark-mode .navbar-white.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar,.dark-mode .navbar-white.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f5f5f5;border-color:#e8e8e8;color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus,.dark-mode .navbar-white.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f2f2f2;border-color:#e8e8e8!important;color:#343a40}.dark-mode .navbar-white.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar,.dark-mode .navbar-white.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fff;border-color:#fff;color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#fff;border-color:#fff!important;color:#fff}.dark-mode .navbar-gray{background-color:#6c757d;color:#fff}.dark-mode .navbar-gray.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar,.dark-mode .navbar-gray.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#636b72;border-color:#575e64;color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus,.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#60686f;border-color:#575e64!important;color:#343a40}.dark-mode .navbar-gray.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar,.dark-mode .navbar-gray.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#757f88;border-color:#838c94;color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#78828a;border-color:#838c94!important;color:#fff}.dark-mode .navbar-gray-dark{background-color:#343a40;color:#fff}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar,.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#2b3035;border-color:#1f2327;color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus,.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#292d32;border-color:#1f2327!important;color:#343a40}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar,.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#3d444b;border-color:#495159;color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#3f474e;border-color:#495159!important;color:#fff}.pagination-month .page-item{justify-self:stretch}.pagination-month .page-item .page-link{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;box-shadow:none}.pagination-month .page-item:first-child .page-link,.pagination-month .page-item:last-child .page-link{height:100%;font-size:1.25rem}.pagination-month .page-item .page-month{margin-bottom:0;font-size:1.25rem;font-weight:700}.pagination-month .page-item .page-year{margin-bottom:0}.pagination-month.pagination-lg .page-month{font-size:1.5625rem}.pagination-month.pagination-sm .page-month{font-size:1rem}.dark-mode .page-item.disabled .page-link,.dark-mode .page-item.disabled a{background-color:#3a4047!important;border-color:#6c757d!important;color:#6c757d}.dark-mode .page-item .page-link{color:#3f6791}.dark-mode .page-item.active .page-link{background-color:#3f6791;color:#fff}.dark-mode .page-item.active .page-link:focus,.dark-mode .page-item.active .page-link:hover{color:#ced4da!important}.dark-mode .page-item:not(.active) .page-link{background-color:#343a40;border-color:#6c757d}.dark-mode .page-item:not(.active) .page-link:focus,.dark-mode .page-item:not(.active) .page-link:hover{color:#4774a3;background-color:#3f474e}.form-group.has-icon{position:relative}.form-group.has-icon .form-control{padding-right:35px}.form-group.has-icon .form-icon{background-color:transparent;border:0;cursor:pointer;font-size:1rem;padding:.375rem .75rem;position:absolute;right:3px;top:0}.btn-group-vertical .btn.btn-flat:first-of-type,.btn-group-vertical .btn.btn-flat:last-of-type{border-radius:0}.form-control-feedback.fa,.form-control-feedback.fab,.form-control-feedback.fad,.form-control-feedback.fal,.form-control-feedback.far,.form-control-feedback.fas,.form-control-feedback.ion,.form-control-feedback.svg-inline--fa{line-height:calc(2.25rem + 2px)}.input-group-lg+.form-control-feedback.fa,.input-group-lg+.form-control-feedback.fab,.input-group-lg+.form-control-feedback.fad,.input-group-lg+.form-control-feedback.fal,.input-group-lg+.form-control-feedback.far,.input-group-lg+.form-control-feedback.fas,.input-group-lg+.form-control-feedback.ion,.input-group-lg+.form-control-feedback.svg-inline--fa,.input-lg+.form-control-feedback.fa,.input-lg+.form-control-feedback.fab,.input-lg+.form-control-feedback.fad,.input-lg+.form-control-feedback.fal,.input-lg+.form-control-feedback.far,.input-lg+.form-control-feedback.fas,.input-lg+.form-control-feedback.ion,.input-lg+.form-control-feedback.svg-inline--fa{line-height:calc(2.875rem + 2px)}.form-group-lg .form-control+.form-control-feedback.fa,.form-group-lg .form-control+.form-control-feedback.fab,.form-group-lg .form-control+.form-control-feedback.fad,.form-group-lg .form-control+.form-control-feedback.fal,.form-group-lg .form-control+.form-control-feedback.far,.form-group-lg .form-control+.form-control-feedback.fas,.form-group-lg .form-control+.form-control-feedback.ion,.form-group-lg .form-control+.form-control-feedback.svg-inline--fa{line-height:calc(2.875rem + 2px)}.input-group-sm+.form-control-feedback.fa,.input-group-sm+.form-control-feedback.fab,.input-group-sm+.form-control-feedback.fad,.input-group-sm+.form-control-feedback.fal,.input-group-sm+.form-control-feedback.far,.input-group-sm+.form-control-feedback.fas,.input-group-sm+.form-control-feedback.ion,.input-group-sm+.form-control-feedback.svg-inline--fa,.input-sm+.form-control-feedback.fa,.input-sm+.form-control-feedback.fab,.input-sm+.form-control-feedback.fad,.input-sm+.form-control-feedback.fal,.input-sm+.form-control-feedback.far,.input-sm+.form-control-feedback.fas,.input-sm+.form-control-feedback.ion,.input-sm+.form-control-feedback.svg-inline--fa{line-height:calc(1.8125rem + 2px)}.form-group-sm .form-control+.form-control-feedback.fa,.form-group-sm .form-control+.form-control-feedback.fab,.form-group-sm .form-control+.form-control-feedback.fad,.form-group-sm .form-control+.form-control-feedback.fal,.form-group-sm .form-control+.form-control-feedback.far,.form-group-sm .form-control+.form-control-feedback.fas,.form-group-sm .form-control+.form-control-feedback.ion,.form-group-sm .form-control+.form-control-feedback.svg-inline--fa{line-height:calc(1.8125rem + 2px)}label:not(.form-check-label):not(.custom-file-label){font-weight:700}.warning-feedback{font-size:80%;color:#ffc107;display:none;margin-top:.25rem;width:100%}.warning-tooltip{border-radius:.25rem;font-size:.875rem;background-color:rgba(255,193,7,.9);color:#1f2d3d;display:none;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-control.is-warning{border-color:#ffc107}.form-control.is-warning:focus{border-color:#ffc107;box-shadow:0 0 0 0 rgba(255,193,7,.25)}.form-control.is-warning~.warning-feedback,.form-control.is-warning~.warning-tooltip{display:block}textarea.form-control.is-warning{padding-right:2.25rem;background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-warning{border-color:#ffc107}.custom-select.is-warning:focus{border-color:#ffc107;box-shadow:0 0 0 0 rgba(255,193,7,.25)}.custom-select.is-warning~.warning-feedback,.custom-select.is-warning~.warning-tooltip{display:block}.form-control-file.is-warning~.warning-feedback,.form-control-file.is-warning~.warning-tooltip{display:block}.form-check-input.is-warning~.form-check-label{color:#ffc107}.form-check-input.is-warning~.warning-feedback,.form-check-input.is-warning~.warning-tooltip{display:block}.custom-control-input.is-warning~.custom-control-label{color:#ffc107}.custom-control-input.is-warning~.custom-control-label::before{border-color:#ffc107}.custom-control-input.is-warning~.warning-feedback,.custom-control-input.is-warning~.warning-tooltip{display:block}.custom-control-input.is-warning:checked~.custom-control-label::before{background-color:#ffce3a;border-color:#ffce3a}.custom-control-input.is-warning:focus~.custom-control-label::before{box-shadow:0 0 0 0 rgba(255,193,7,.25)}.custom-control-input.is-warning:focus:not(:checked)~.custom-control-label::before{border-color:#ffc107}.custom-file-input.is-warning~.custom-file-label{border-color:#ffc107}.custom-file-input.is-warning~.warning-feedback,.custom-file-input.is-warning~.warning-tooltip{display:block}.custom-file-input.is-warning:focus~.custom-file-label{border-color:#ffc107;box-shadow:0 0 0 0 rgba(255,193,7,.25)}body.text-sm .input-group-text{font-size:.875rem}.custom-select.form-control-border,.form-control.form-control-border{border-top:0;border-left:0;border-right:0;border-radius:0;box-shadow:inherit}.custom-select.form-control-border.border-width-2,.form-control.form-control-border.border-width-2{border-bottom-width:2px}.custom-select.form-control-border.border-width-3,.form-control.form-control-border.border-width-3{border-bottom-width:3px}.custom-switch.custom-switch-off-primary .custom-control-input~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.custom-switch.custom-switch-off-primary .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-switch.custom-switch-off-primary .custom-control-input~.custom-control-label::after{background-color:#003e80}.custom-switch.custom-switch-on-primary .custom-control-input:checked~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.custom-switch.custom-switch-on-primary .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-switch.custom-switch-on-primary .custom-control-input:checked~.custom-control-label::after{background-color:#99caff}.custom-switch.custom-switch-off-secondary .custom-control-input~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.custom-switch.custom-switch-off-secondary .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-switch.custom-switch-off-secondary .custom-control-input~.custom-control-label::after{background-color:#313539}.custom-switch.custom-switch-on-secondary .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.custom-switch.custom-switch-on-secondary .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-switch.custom-switch-on-secondary .custom-control-input:checked~.custom-control-label::after{background-color:#bcc1c6}.custom-switch.custom-switch-off-success .custom-control-input~.custom-control-label::before{background-color:#28a745;border-color:#145523}.custom-switch.custom-switch-off-success .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-switch.custom-switch-off-success .custom-control-input~.custom-control-label::after{background-color:#0f401b}.custom-switch.custom-switch-on-success .custom-control-input:checked~.custom-control-label::before{background-color:#28a745;border-color:#145523}.custom-switch.custom-switch-on-success .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-switch.custom-switch-on-success .custom-control-input:checked~.custom-control-label::after{background-color:#86e29b}.custom-switch.custom-switch-off-info .custom-control-input~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.custom-switch.custom-switch-off-info .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-switch.custom-switch-off-info .custom-control-input~.custom-control-label::after{background-color:#093e47}.custom-switch.custom-switch-on-info .custom-control-input:checked~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.custom-switch.custom-switch-on-info .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-switch.custom-switch-on-info .custom-control-input:checked~.custom-control-label::after{background-color:#7adeee}.custom-switch.custom-switch-off-warning .custom-control-input~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.custom-switch.custom-switch-off-warning .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-switch.custom-switch-off-warning .custom-control-input~.custom-control-label::after{background-color:#876500}.custom-switch.custom-switch-on-warning .custom-control-input:checked~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.custom-switch.custom-switch-on-warning .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-switch.custom-switch-on-warning .custom-control-input:checked~.custom-control-label::after{background-color:#ffe7a0}.custom-switch.custom-switch-off-danger .custom-control-input~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.custom-switch.custom-switch-off-danger .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-switch.custom-switch-off-danger .custom-control-input~.custom-control-label::after{background-color:#7c151f}.custom-switch.custom-switch-on-danger .custom-control-input:checked~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.custom-switch.custom-switch-on-danger .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-switch.custom-switch-on-danger .custom-control-input:checked~.custom-control-label::after{background-color:#f3b7bd}.custom-switch.custom-switch-off-light .custom-control-input~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.custom-switch.custom-switch-off-light .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-switch.custom-switch-off-light .custom-control-input~.custom-control-label::after{background-color:#aeb9c5}.custom-switch.custom-switch-on-light .custom-control-input:checked~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.custom-switch.custom-switch-on-light .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-switch.custom-switch-on-light .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.custom-switch.custom-switch-off-dark .custom-control-input~.custom-control-label::before{background-color:#343a40;border-color:#060708}.custom-switch.custom-switch-off-dark .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-switch.custom-switch-off-dark .custom-control-input~.custom-control-label::after{background-color:#000}.custom-switch.custom-switch-on-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.custom-switch.custom-switch-on-dark .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-switch.custom-switch-on-dark .custom-control-input:checked~.custom-control-label::after{background-color:#7a8793}.custom-switch.custom-switch-off-lightblue .custom-control-input~.custom-control-label::before{background-color:#3c8dbc;border-color:#23536f}.custom-switch.custom-switch-off-lightblue .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-switch.custom-switch-off-lightblue .custom-control-input~.custom-control-label::after{background-color:#1d455b}.custom-switch.custom-switch-on-lightblue .custom-control-input:checked~.custom-control-label::before{background-color:#3c8dbc;border-color:#23536f}.custom-switch.custom-switch-on-lightblue .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-switch.custom-switch-on-lightblue .custom-control-input:checked~.custom-control-label::after{background-color:#acd0e5}.custom-switch.custom-switch-off-navy .custom-control-input~.custom-control-label::before{background-color:#001f3f;border-color:#000}.custom-switch.custom-switch-off-navy .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-switch.custom-switch-off-navy .custom-control-input~.custom-control-label::after{background-color:#000}.custom-switch.custom-switch-on-navy .custom-control-input:checked~.custom-control-label::before{background-color:#001f3f;border-color:#000}.custom-switch.custom-switch-on-navy .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-switch.custom-switch-on-navy .custom-control-input:checked~.custom-control-label::after{background-color:#006ad8}.custom-switch.custom-switch-off-olive .custom-control-input~.custom-control-label::before{background-color:#3d9970;border-color:#20503b}.custom-switch.custom-switch-off-olive .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-switch.custom-switch-off-olive .custom-control-input~.custom-control-label::after{background-color:#193e2d}.custom-switch.custom-switch-on-olive .custom-control-input:checked~.custom-control-label::before{background-color:#3d9970;border-color:#20503b}.custom-switch.custom-switch-on-olive .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-switch.custom-switch-on-olive .custom-control-input:checked~.custom-control-label::after{background-color:#99d6bb}.custom-switch.custom-switch-off-lime .custom-control-input~.custom-control-label::before{background-color:#01ff70;border-color:#009a43}.custom-switch.custom-switch-off-lime .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-switch.custom-switch-off-lime .custom-control-input~.custom-control-label::after{background-color:#008138}.custom-switch.custom-switch-on-lime .custom-control-input:checked~.custom-control-label::before{background-color:#01ff70;border-color:#009a43}.custom-switch.custom-switch-on-lime .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-switch.custom-switch-on-lime .custom-control-input:checked~.custom-control-label::after{background-color:#9affc6}.custom-switch.custom-switch-off-fuchsia .custom-control-input~.custom-control-label::before{background-color:#f012be;border-color:#930974}.custom-switch.custom-switch-off-fuchsia .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-switch.custom-switch-off-fuchsia .custom-control-input~.custom-control-label::after{background-color:#7b0861}.custom-switch.custom-switch-on-fuchsia .custom-control-input:checked~.custom-control-label::before{background-color:#f012be;border-color:#930974}.custom-switch.custom-switch-on-fuchsia .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-switch.custom-switch-on-fuchsia .custom-control-input:checked~.custom-control-label::after{background-color:#f9a2e5}.custom-switch.custom-switch-off-maroon .custom-control-input~.custom-control-label::before{background-color:#d81b60;border-color:#7d1038}.custom-switch.custom-switch-off-maroon .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-switch.custom-switch-off-maroon .custom-control-input~.custom-control-label::after{background-color:#670d2e}.custom-switch.custom-switch-on-maroon .custom-control-input:checked~.custom-control-label::before{background-color:#d81b60;border-color:#7d1038}.custom-switch.custom-switch-on-maroon .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-switch.custom-switch-on-maroon .custom-control-input:checked~.custom-control-label::after{background-color:#f29aba}.custom-switch.custom-switch-off-blue .custom-control-input~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.custom-switch.custom-switch-off-blue .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-switch.custom-switch-off-blue .custom-control-input~.custom-control-label::after{background-color:#003e80}.custom-switch.custom-switch-on-blue .custom-control-input:checked~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.custom-switch.custom-switch-on-blue .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-switch.custom-switch-on-blue .custom-control-input:checked~.custom-control-label::after{background-color:#99caff}.custom-switch.custom-switch-off-indigo .custom-control-input~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.custom-switch.custom-switch-off-indigo .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-switch.custom-switch-off-indigo .custom-control-input~.custom-control-label::after{background-color:#33077c}.custom-switch.custom-switch-on-indigo .custom-control-input:checked~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.custom-switch.custom-switch-on-indigo .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-switch.custom-switch-on-indigo .custom-control-input:checked~.custom-control-label::after{background-color:#c3a1fa}.custom-switch.custom-switch-off-purple .custom-control-input~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.custom-switch.custom-switch-off-purple .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-switch.custom-switch-off-purple .custom-control-input~.custom-control-label::after{background-color:#382063}.custom-switch.custom-switch-on-purple .custom-control-input:checked~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.custom-switch.custom-switch-on-purple .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-switch.custom-switch-on-purple .custom-control-input:checked~.custom-control-label::after{background-color:#c7b5e7}.custom-switch.custom-switch-off-pink .custom-control-input~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.custom-switch.custom-switch-off-pink .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-switch.custom-switch-off-pink .custom-control-input~.custom-control-label::after{background-color:#95124e}.custom-switch.custom-switch-on-pink .custom-control-input:checked~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.custom-switch.custom-switch-on-pink .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-switch.custom-switch-on-pink .custom-control-input:checked~.custom-control-label::after{background-color:#f8c7dd}.custom-switch.custom-switch-off-red .custom-control-input~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.custom-switch.custom-switch-off-red .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-switch.custom-switch-off-red .custom-control-input~.custom-control-label::after{background-color:#7c151f}.custom-switch.custom-switch-on-red .custom-control-input:checked~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.custom-switch.custom-switch-on-red .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-switch.custom-switch-on-red .custom-control-input:checked~.custom-control-label::after{background-color:#f3b7bd}.custom-switch.custom-switch-off-orange .custom-control-input~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.custom-switch.custom-switch-off-orange .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-switch.custom-switch-off-orange .custom-control-input~.custom-control-label::after{background-color:#904201}.custom-switch.custom-switch-on-orange .custom-control-input:checked~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.custom-switch.custom-switch-on-orange .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-switch.custom-switch-on-orange .custom-control-input:checked~.custom-control-label::after{background-color:#fed1ac}.custom-switch.custom-switch-off-yellow .custom-control-input~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.custom-switch.custom-switch-off-yellow .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-switch.custom-switch-off-yellow .custom-control-input~.custom-control-label::after{background-color:#876500}.custom-switch.custom-switch-on-yellow .custom-control-input:checked~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.custom-switch.custom-switch-on-yellow .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-switch.custom-switch-on-yellow .custom-control-input:checked~.custom-control-label::after{background-color:#ffe7a0}.custom-switch.custom-switch-off-green .custom-control-input~.custom-control-label::before{background-color:#28a745;border-color:#145523}.custom-switch.custom-switch-off-green .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-switch.custom-switch-off-green .custom-control-input~.custom-control-label::after{background-color:#0f401b}.custom-switch.custom-switch-on-green .custom-control-input:checked~.custom-control-label::before{background-color:#28a745;border-color:#145523}.custom-switch.custom-switch-on-green .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-switch.custom-switch-on-green .custom-control-input:checked~.custom-control-label::after{background-color:#86e29b}.custom-switch.custom-switch-off-teal .custom-control-input~.custom-control-label::before{background-color:#20c997;border-color:#127155}.custom-switch.custom-switch-off-teal .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-switch.custom-switch-off-teal .custom-control-input~.custom-control-label::after{background-color:#0e5b44}.custom-switch.custom-switch-on-teal .custom-control-input:checked~.custom-control-label::before{background-color:#20c997;border-color:#127155}.custom-switch.custom-switch-on-teal .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-switch.custom-switch-on-teal .custom-control-input:checked~.custom-control-label::after{background-color:#94eed3}.custom-switch.custom-switch-off-cyan .custom-control-input~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.custom-switch.custom-switch-off-cyan .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-switch.custom-switch-off-cyan .custom-control-input~.custom-control-label::after{background-color:#093e47}.custom-switch.custom-switch-on-cyan .custom-control-input:checked~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.custom-switch.custom-switch-on-cyan .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-switch.custom-switch-on-cyan .custom-control-input:checked~.custom-control-label::after{background-color:#7adeee}.custom-switch.custom-switch-off-white .custom-control-input~.custom-control-label::before{background-color:#fff;border-color:#ccc}.custom-switch.custom-switch-off-white .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-switch.custom-switch-off-white .custom-control-input~.custom-control-label::after{background-color:#bfbfbf}.custom-switch.custom-switch-on-white .custom-control-input:checked~.custom-control-label::before{background-color:#fff;border-color:#ccc}.custom-switch.custom-switch-on-white .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-switch.custom-switch-on-white .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.custom-switch.custom-switch-off-gray .custom-control-input~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.custom-switch.custom-switch-off-gray .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-switch.custom-switch-off-gray .custom-control-input~.custom-control-label::after{background-color:#313539}.custom-switch.custom-switch-on-gray .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.custom-switch.custom-switch-on-gray .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-switch.custom-switch-on-gray .custom-control-input:checked~.custom-control-label::after{background-color:#bcc1c6}.custom-switch.custom-switch-off-gray-dark .custom-control-input~.custom-control-label::before{background-color:#343a40;border-color:#060708}.custom-switch.custom-switch-off-gray-dark .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-switch.custom-switch-off-gray-dark .custom-control-input~.custom-control-label::after{background-color:#000}.custom-switch.custom-switch-on-gray-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.custom-switch.custom-switch-on-gray-dark .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-switch.custom-switch-on-gray-dark .custom-control-input:checked~.custom-control-label::after{background-color:#7a8793}.custom-range.custom-range-primary:focus{outline:0}.custom-range.custom-range-primary:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-primary:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-primary:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-primary::-webkit-slider-thumb{background-color:#007bff}.custom-range.custom-range-primary::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-primary::-moz-range-thumb{background-color:#007bff}.custom-range.custom-range-primary::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-primary::-ms-thumb{background-color:#007bff}.custom-range.custom-range-primary::-ms-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-secondary:focus{outline:0}.custom-range.custom-range-secondary:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-secondary:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-secondary:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-secondary::-webkit-slider-thumb{background-color:#6c757d}.custom-range.custom-range-secondary::-webkit-slider-thumb:active{background-color:#caced1}.custom-range.custom-range-secondary::-moz-range-thumb{background-color:#6c757d}.custom-range.custom-range-secondary::-moz-range-thumb:active{background-color:#caced1}.custom-range.custom-range-secondary::-ms-thumb{background-color:#6c757d}.custom-range.custom-range-secondary::-ms-thumb:active{background-color:#caced1}.custom-range.custom-range-success:focus{outline:0}.custom-range.custom-range-success:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-success:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-success:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-success::-webkit-slider-thumb{background-color:#28a745}.custom-range.custom-range-success::-webkit-slider-thumb:active{background-color:#9be7ac}.custom-range.custom-range-success::-moz-range-thumb{background-color:#28a745}.custom-range.custom-range-success::-moz-range-thumb:active{background-color:#9be7ac}.custom-range.custom-range-success::-ms-thumb{background-color:#28a745}.custom-range.custom-range-success::-ms-thumb:active{background-color:#9be7ac}.custom-range.custom-range-info:focus{outline:0}.custom-range.custom-range-info:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-info:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-info:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-info::-webkit-slider-thumb{background-color:#17a2b8}.custom-range.custom-range-info::-webkit-slider-thumb:active{background-color:#90e4f1}.custom-range.custom-range-info::-moz-range-thumb{background-color:#17a2b8}.custom-range.custom-range-info::-moz-range-thumb:active{background-color:#90e4f1}.custom-range.custom-range-info::-ms-thumb{background-color:#17a2b8}.custom-range.custom-range-info::-ms-thumb:active{background-color:#90e4f1}.custom-range.custom-range-warning:focus{outline:0}.custom-range.custom-range-warning:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-warning:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-warning:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-warning::-webkit-slider-thumb{background-color:#ffc107}.custom-range.custom-range-warning::-webkit-slider-thumb:active{background-color:#ffeeba}.custom-range.custom-range-warning::-moz-range-thumb{background-color:#ffc107}.custom-range.custom-range-warning::-moz-range-thumb:active{background-color:#ffeeba}.custom-range.custom-range-warning::-ms-thumb{background-color:#ffc107}.custom-range.custom-range-warning::-ms-thumb:active{background-color:#ffeeba}.custom-range.custom-range-danger:focus{outline:0}.custom-range.custom-range-danger:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-danger:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-danger:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-danger::-webkit-slider-thumb{background-color:#dc3545}.custom-range.custom-range-danger::-webkit-slider-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-danger::-moz-range-thumb{background-color:#dc3545}.custom-range.custom-range-danger::-moz-range-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-danger::-ms-thumb{background-color:#dc3545}.custom-range.custom-range-danger::-ms-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-light:focus{outline:0}.custom-range.custom-range-light:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-range.custom-range-light:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-range.custom-range-light:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-range.custom-range-light::-webkit-slider-thumb{background-color:#f8f9fa}.custom-range.custom-range-light::-webkit-slider-thumb:active{background-color:#fff}.custom-range.custom-range-light::-moz-range-thumb{background-color:#f8f9fa}.custom-range.custom-range-light::-moz-range-thumb:active{background-color:#fff}.custom-range.custom-range-light::-ms-thumb{background-color:#f8f9fa}.custom-range.custom-range-light::-ms-thumb:active{background-color:#fff}.custom-range.custom-range-dark:focus{outline:0}.custom-range.custom-range-dark:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-dark:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-dark:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-dark::-webkit-slider-thumb{background-color:#343a40}.custom-range.custom-range-dark::-webkit-slider-thumb:active{background-color:#88939e}.custom-range.custom-range-dark::-moz-range-thumb{background-color:#343a40}.custom-range.custom-range-dark::-moz-range-thumb:active{background-color:#88939e}.custom-range.custom-range-dark::-ms-thumb{background-color:#343a40}.custom-range.custom-range-dark::-ms-thumb:active{background-color:#88939e}.custom-range.custom-range-lightblue:focus{outline:0}.custom-range.custom-range-lightblue:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-range.custom-range-lightblue:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-range.custom-range-lightblue:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-range.custom-range-lightblue::-webkit-slider-thumb{background-color:#3c8dbc}.custom-range.custom-range-lightblue::-webkit-slider-thumb:active{background-color:#c0dbeb}.custom-range.custom-range-lightblue::-moz-range-thumb{background-color:#3c8dbc}.custom-range.custom-range-lightblue::-moz-range-thumb:active{background-color:#c0dbeb}.custom-range.custom-range-lightblue::-ms-thumb{background-color:#3c8dbc}.custom-range.custom-range-lightblue::-ms-thumb:active{background-color:#c0dbeb}.custom-range.custom-range-navy:focus{outline:0}.custom-range.custom-range-navy:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-range.custom-range-navy:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-range.custom-range-navy:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-range.custom-range-navy::-webkit-slider-thumb{background-color:#001f3f}.custom-range.custom-range-navy::-webkit-slider-thumb:active{background-color:#0077f2}.custom-range.custom-range-navy::-moz-range-thumb{background-color:#001f3f}.custom-range.custom-range-navy::-moz-range-thumb:active{background-color:#0077f2}.custom-range.custom-range-navy::-ms-thumb{background-color:#001f3f}.custom-range.custom-range-navy::-ms-thumb:active{background-color:#0077f2}.custom-range.custom-range-olive:focus{outline:0}.custom-range.custom-range-olive:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-range.custom-range-olive:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-range.custom-range-olive:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-range.custom-range-olive::-webkit-slider-thumb{background-color:#3d9970}.custom-range.custom-range-olive::-webkit-slider-thumb:active{background-color:#abdec7}.custom-range.custom-range-olive::-moz-range-thumb{background-color:#3d9970}.custom-range.custom-range-olive::-moz-range-thumb:active{background-color:#abdec7}.custom-range.custom-range-olive::-ms-thumb{background-color:#3d9970}.custom-range.custom-range-olive::-ms-thumb:active{background-color:#abdec7}.custom-range.custom-range-lime:focus{outline:0}.custom-range.custom-range-lime:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-range.custom-range-lime:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-range.custom-range-lime:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-range.custom-range-lime::-webkit-slider-thumb{background-color:#01ff70}.custom-range.custom-range-lime::-webkit-slider-thumb:active{background-color:#b4ffd4}.custom-range.custom-range-lime::-moz-range-thumb{background-color:#01ff70}.custom-range.custom-range-lime::-moz-range-thumb:active{background-color:#b4ffd4}.custom-range.custom-range-lime::-ms-thumb{background-color:#01ff70}.custom-range.custom-range-lime::-ms-thumb:active{background-color:#b4ffd4}.custom-range.custom-range-fuchsia:focus{outline:0}.custom-range.custom-range-fuchsia:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-range.custom-range-fuchsia:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-range.custom-range-fuchsia:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-range.custom-range-fuchsia::-webkit-slider-thumb{background-color:#f012be}.custom-range.custom-range-fuchsia::-webkit-slider-thumb:active{background-color:#fbbaec}.custom-range.custom-range-fuchsia::-moz-range-thumb{background-color:#f012be}.custom-range.custom-range-fuchsia::-moz-range-thumb:active{background-color:#fbbaec}.custom-range.custom-range-fuchsia::-ms-thumb{background-color:#f012be}.custom-range.custom-range-fuchsia::-ms-thumb:active{background-color:#fbbaec}.custom-range.custom-range-maroon:focus{outline:0}.custom-range.custom-range-maroon:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-range.custom-range-maroon:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-range.custom-range-maroon:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-range.custom-range-maroon::-webkit-slider-thumb{background-color:#d81b60}.custom-range.custom-range-maroon::-webkit-slider-thumb:active{background-color:#f5b0c9}.custom-range.custom-range-maroon::-moz-range-thumb{background-color:#d81b60}.custom-range.custom-range-maroon::-moz-range-thumb:active{background-color:#f5b0c9}.custom-range.custom-range-maroon::-ms-thumb{background-color:#d81b60}.custom-range.custom-range-maroon::-ms-thumb:active{background-color:#f5b0c9}.custom-range.custom-range-blue:focus{outline:0}.custom-range.custom-range-blue:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-blue:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-blue:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-blue::-webkit-slider-thumb{background-color:#007bff}.custom-range.custom-range-blue::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-blue::-moz-range-thumb{background-color:#007bff}.custom-range.custom-range-blue::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-blue::-ms-thumb{background-color:#007bff}.custom-range.custom-range-blue::-ms-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-indigo:focus{outline:0}.custom-range.custom-range-indigo:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-range.custom-range-indigo:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-range.custom-range-indigo:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-range.custom-range-indigo::-webkit-slider-thumb{background-color:#6610f2}.custom-range.custom-range-indigo::-webkit-slider-thumb:active{background-color:#d2b9fb}.custom-range.custom-range-indigo::-moz-range-thumb{background-color:#6610f2}.custom-range.custom-range-indigo::-moz-range-thumb:active{background-color:#d2b9fb}.custom-range.custom-range-indigo::-ms-thumb{background-color:#6610f2}.custom-range.custom-range-indigo::-ms-thumb:active{background-color:#d2b9fb}.custom-range.custom-range-purple:focus{outline:0}.custom-range.custom-range-purple:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-range.custom-range-purple:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-range.custom-range-purple:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-range.custom-range-purple::-webkit-slider-thumb{background-color:#6f42c1}.custom-range.custom-range-purple::-webkit-slider-thumb:active{background-color:#d5c8ed}.custom-range.custom-range-purple::-moz-range-thumb{background-color:#6f42c1}.custom-range.custom-range-purple::-moz-range-thumb:active{background-color:#d5c8ed}.custom-range.custom-range-purple::-ms-thumb{background-color:#6f42c1}.custom-range.custom-range-purple::-ms-thumb:active{background-color:#d5c8ed}.custom-range.custom-range-pink:focus{outline:0}.custom-range.custom-range-pink:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-range.custom-range-pink:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-range.custom-range-pink:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-range.custom-range-pink::-webkit-slider-thumb{background-color:#e83e8c}.custom-range.custom-range-pink::-webkit-slider-thumb:active{background-color:#fbddeb}.custom-range.custom-range-pink::-moz-range-thumb{background-color:#e83e8c}.custom-range.custom-range-pink::-moz-range-thumb:active{background-color:#fbddeb}.custom-range.custom-range-pink::-ms-thumb{background-color:#e83e8c}.custom-range.custom-range-pink::-ms-thumb:active{background-color:#fbddeb}.custom-range.custom-range-red:focus{outline:0}.custom-range.custom-range-red:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-red:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-red:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-red::-webkit-slider-thumb{background-color:#dc3545}.custom-range.custom-range-red::-webkit-slider-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-red::-moz-range-thumb{background-color:#dc3545}.custom-range.custom-range-red::-moz-range-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-red::-ms-thumb{background-color:#dc3545}.custom-range.custom-range-red::-ms-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-orange:focus{outline:0}.custom-range.custom-range-orange:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-range.custom-range-orange:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-range.custom-range-orange:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-range.custom-range-orange::-webkit-slider-thumb{background-color:#fd7e14}.custom-range.custom-range-orange::-webkit-slider-thumb:active{background-color:#ffdfc5}.custom-range.custom-range-orange::-moz-range-thumb{background-color:#fd7e14}.custom-range.custom-range-orange::-moz-range-thumb:active{background-color:#ffdfc5}.custom-range.custom-range-orange::-ms-thumb{background-color:#fd7e14}.custom-range.custom-range-orange::-ms-thumb:active{background-color:#ffdfc5}.custom-range.custom-range-yellow:focus{outline:0}.custom-range.custom-range-yellow:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-yellow:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-yellow:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-yellow::-webkit-slider-thumb{background-color:#ffc107}.custom-range.custom-range-yellow::-webkit-slider-thumb:active{background-color:#ffeeba}.custom-range.custom-range-yellow::-moz-range-thumb{background-color:#ffc107}.custom-range.custom-range-yellow::-moz-range-thumb:active{background-color:#ffeeba}.custom-range.custom-range-yellow::-ms-thumb{background-color:#ffc107}.custom-range.custom-range-yellow::-ms-thumb:active{background-color:#ffeeba}.custom-range.custom-range-green:focus{outline:0}.custom-range.custom-range-green:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-green:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-green:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-green::-webkit-slider-thumb{background-color:#28a745}.custom-range.custom-range-green::-webkit-slider-thumb:active{background-color:#9be7ac}.custom-range.custom-range-green::-moz-range-thumb{background-color:#28a745}.custom-range.custom-range-green::-moz-range-thumb:active{background-color:#9be7ac}.custom-range.custom-range-green::-ms-thumb{background-color:#28a745}.custom-range.custom-range-green::-ms-thumb:active{background-color:#9be7ac}.custom-range.custom-range-teal:focus{outline:0}.custom-range.custom-range-teal:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-range.custom-range-teal:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-range.custom-range-teal:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-range.custom-range-teal::-webkit-slider-thumb{background-color:#20c997}.custom-range.custom-range-teal::-webkit-slider-thumb:active{background-color:#aaf1dc}.custom-range.custom-range-teal::-moz-range-thumb{background-color:#20c997}.custom-range.custom-range-teal::-moz-range-thumb:active{background-color:#aaf1dc}.custom-range.custom-range-teal::-ms-thumb{background-color:#20c997}.custom-range.custom-range-teal::-ms-thumb:active{background-color:#aaf1dc}.custom-range.custom-range-cyan:focus{outline:0}.custom-range.custom-range-cyan:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-cyan:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-cyan:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-cyan::-webkit-slider-thumb{background-color:#17a2b8}.custom-range.custom-range-cyan::-webkit-slider-thumb:active{background-color:#90e4f1}.custom-range.custom-range-cyan::-moz-range-thumb{background-color:#17a2b8}.custom-range.custom-range-cyan::-moz-range-thumb:active{background-color:#90e4f1}.custom-range.custom-range-cyan::-ms-thumb{background-color:#17a2b8}.custom-range.custom-range-cyan::-ms-thumb:active{background-color:#90e4f1}.custom-range.custom-range-white:focus{outline:0}.custom-range.custom-range-white:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-range.custom-range-white:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-range.custom-range-white:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-range.custom-range-white::-webkit-slider-thumb{background-color:#fff}.custom-range.custom-range-white::-webkit-slider-thumb:active{background-color:#fff}.custom-range.custom-range-white::-moz-range-thumb{background-color:#fff}.custom-range.custom-range-white::-moz-range-thumb:active{background-color:#fff}.custom-range.custom-range-white::-ms-thumb{background-color:#fff}.custom-range.custom-range-white::-ms-thumb:active{background-color:#fff}.custom-range.custom-range-gray:focus{outline:0}.custom-range.custom-range-gray:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-gray:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-gray:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-gray::-webkit-slider-thumb{background-color:#6c757d}.custom-range.custom-range-gray::-webkit-slider-thumb:active{background-color:#caced1}.custom-range.custom-range-gray::-moz-range-thumb{background-color:#6c757d}.custom-range.custom-range-gray::-moz-range-thumb:active{background-color:#caced1}.custom-range.custom-range-gray::-ms-thumb{background-color:#6c757d}.custom-range.custom-range-gray::-ms-thumb:active{background-color:#caced1}.custom-range.custom-range-gray-dark:focus{outline:0}.custom-range.custom-range-gray-dark:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-gray-dark:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-gray-dark:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-gray-dark::-webkit-slider-thumb{background-color:#343a40}.custom-range.custom-range-gray-dark::-webkit-slider-thumb:active{background-color:#88939e}.custom-range.custom-range-gray-dark::-moz-range-thumb{background-color:#343a40}.custom-range.custom-range-gray-dark::-moz-range-thumb:active{background-color:#88939e}.custom-range.custom-range-gray-dark::-ms-thumb{background-color:#343a40}.custom-range.custom-range-gray-dark::-ms-thumb:active{background-color:#88939e}.custom-control-input-primary:checked~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-control-input-primary.custom-control-input-outline:checked[type=checkbox]~.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='%23007bff' 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")!important}.custom-control-input-primary.custom-control-input-outline:checked[type=radio]~.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='%23007bff'/%3E%3C/svg%3E")!important}.custom-control-input-primary:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input-primary:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input-primary:not(:disabled):active~.custom-control-label::before{background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input-secondary:checked~.custom-control-label::before{border-color:#6c757d;background-color:#6c757d}.custom-control-input-secondary.custom-control-input-outline:checked[type=checkbox]~.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='%236c757d' 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")!important}.custom-control-input-secondary.custom-control-input-outline:checked[type=radio]~.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='%236c757d'/%3E%3C/svg%3E")!important}.custom-control-input-secondary:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(108,117,125,.25)}.custom-control-input-secondary:focus:not(:checked)~.custom-control-label::before{border-color:#afb5ba}.custom-control-input-secondary:not(:disabled):active~.custom-control-label::before{background-color:#caced1;border-color:#caced1}.custom-control-input-success:checked~.custom-control-label::before{border-color:#28a745;background-color:#28a745}.custom-control-input-success.custom-control-input-outline:checked[type=checkbox]~.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='%2328a745' 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")!important}.custom-control-input-success.custom-control-input-outline:checked[type=radio]~.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='%2328a745'/%3E%3C/svg%3E")!important}.custom-control-input-success:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input-success:focus:not(:checked)~.custom-control-label::before{border-color:#71dd8a}.custom-control-input-success:not(:disabled):active~.custom-control-label::before{background-color:#9be7ac;border-color:#9be7ac}.custom-control-input-info:checked~.custom-control-label::before{border-color:#17a2b8;background-color:#17a2b8}.custom-control-input-info.custom-control-input-outline:checked[type=checkbox]~.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='%2317a2b8' 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")!important}.custom-control-input-info.custom-control-input-outline:checked[type=radio]~.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='%2317a2b8'/%3E%3C/svg%3E")!important}.custom-control-input-info:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(23,162,184,.25)}.custom-control-input-info:focus:not(:checked)~.custom-control-label::before{border-color:#63d9ec}.custom-control-input-info:not(:disabled):active~.custom-control-label::before{background-color:#90e4f1;border-color:#90e4f1}.custom-control-input-warning:checked~.custom-control-label::before{border-color:#ffc107;background-color:#ffc107}.custom-control-input-warning.custom-control-input-outline:checked[type=checkbox]~.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='%23ffc107' 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")!important}.custom-control-input-warning.custom-control-input-outline:checked[type=radio]~.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='%23ffc107'/%3E%3C/svg%3E")!important}.custom-control-input-warning:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(255,193,7,.25)}.custom-control-input-warning:focus:not(:checked)~.custom-control-label::before{border-color:#ffe187}.custom-control-input-warning:not(:disabled):active~.custom-control-label::before{background-color:#ffeeba;border-color:#ffeeba}.custom-control-input-danger:checked~.custom-control-label::before{border-color:#dc3545;background-color:#dc3545}.custom-control-input-danger.custom-control-input-outline:checked[type=checkbox]~.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='%23dc3545' 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")!important}.custom-control-input-danger.custom-control-input-outline:checked[type=radio]~.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='%23dc3545'/%3E%3C/svg%3E")!important}.custom-control-input-danger:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input-danger:focus:not(:checked)~.custom-control-label::before{border-color:#efa2a9}.custom-control-input-danger:not(:disabled):active~.custom-control-label::before{background-color:#f6cdd1;border-color:#f6cdd1}.custom-control-input-light:checked~.custom-control-label::before{border-color:#f8f9fa;background-color:#f8f9fa}.custom-control-input-light.custom-control-input-outline:checked[type=checkbox]~.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='%23f8f9fa' 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")!important}.custom-control-input-light.custom-control-input-outline:checked[type=radio]~.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='%23f8f9fa'/%3E%3C/svg%3E")!important}.custom-control-input-light:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(248,249,250,.25)}.custom-control-input-light:focus:not(:checked)~.custom-control-label::before{border-color:#fff}.custom-control-input-light:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.custom-control-input-dark:checked~.custom-control-label::before{border-color:#343a40;background-color:#343a40}.custom-control-input-dark.custom-control-input-outline:checked[type=checkbox]~.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='%23343a40' 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")!important}.custom-control-input-dark.custom-control-input-outline:checked[type=radio]~.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='%23343a40'/%3E%3C/svg%3E")!important}.custom-control-input-dark:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,58,64,.25)}.custom-control-input-dark:focus:not(:checked)~.custom-control-label::before{border-color:#6d7a86}.custom-control-input-dark:not(:disabled):active~.custom-control-label::before{background-color:#88939e;border-color:#88939e}.custom-control-input-lightblue:checked~.custom-control-label::before{border-color:#3c8dbc;background-color:#3c8dbc}.custom-control-input-lightblue.custom-control-input-outline:checked[type=checkbox]~.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='%233c8dbc' 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")!important}.custom-control-input-lightblue.custom-control-input-outline:checked[type=radio]~.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='%233c8dbc'/%3E%3C/svg%3E")!important}.custom-control-input-lightblue:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(60,141,188,.25)}.custom-control-input-lightblue:focus:not(:checked)~.custom-control-label::before{border-color:#99c5de}.custom-control-input-lightblue:not(:disabled):active~.custom-control-label::before{background-color:#c0dbeb;border-color:#c0dbeb}.custom-control-input-navy:checked~.custom-control-label::before{border-color:#001f3f;background-color:#001f3f}.custom-control-input-navy.custom-control-input-outline:checked[type=checkbox]~.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='%23001f3f' 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")!important}.custom-control-input-navy.custom-control-input-outline:checked[type=radio]~.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='%23001f3f'/%3E%3C/svg%3E")!important}.custom-control-input-navy:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,31,63,.25)}.custom-control-input-navy:focus:not(:checked)~.custom-control-label::before{border-color:#005ebf}.custom-control-input-navy:not(:disabled):active~.custom-control-label::before{background-color:#0077f2;border-color:#0077f2}.custom-control-input-olive:checked~.custom-control-label::before{border-color:#3d9970;background-color:#3d9970}.custom-control-input-olive.custom-control-input-outline:checked[type=checkbox]~.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='%233d9970' 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")!important}.custom-control-input-olive.custom-control-input-outline:checked[type=radio]~.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='%233d9970'/%3E%3C/svg%3E")!important}.custom-control-input-olive:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(61,153,112,.25)}.custom-control-input-olive:focus:not(:checked)~.custom-control-label::before{border-color:#87cfaf}.custom-control-input-olive:not(:disabled):active~.custom-control-label::before{background-color:#abdec7;border-color:#abdec7}.custom-control-input-lime:checked~.custom-control-label::before{border-color:#01ff70;background-color:#01ff70}.custom-control-input-lime.custom-control-input-outline:checked[type=checkbox]~.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='%2301ff70' 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")!important}.custom-control-input-lime.custom-control-input-outline:checked[type=radio]~.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='%2301ff70'/%3E%3C/svg%3E")!important}.custom-control-input-lime:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(1,255,112,.25)}.custom-control-input-lime:focus:not(:checked)~.custom-control-label::before{border-color:#81ffb8}.custom-control-input-lime:not(:disabled):active~.custom-control-label::before{background-color:#b4ffd4;border-color:#b4ffd4}.custom-control-input-fuchsia:checked~.custom-control-label::before{border-color:#f012be;background-color:#f012be}.custom-control-input-fuchsia.custom-control-input-outline:checked[type=checkbox]~.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='%23f012be' 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")!important}.custom-control-input-fuchsia.custom-control-input-outline:checked[type=radio]~.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='%23f012be'/%3E%3C/svg%3E")!important}.custom-control-input-fuchsia:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(240,18,190,.25)}.custom-control-input-fuchsia:focus:not(:checked)~.custom-control-label::before{border-color:#f88adf}.custom-control-input-fuchsia:not(:disabled):active~.custom-control-label::before{background-color:#fbbaec;border-color:#fbbaec}.custom-control-input-maroon:checked~.custom-control-label::before{border-color:#d81b60;background-color:#d81b60}.custom-control-input-maroon.custom-control-input-outline:checked[type=checkbox]~.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='%23d81b60' 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")!important}.custom-control-input-maroon.custom-control-input-outline:checked[type=radio]~.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='%23d81b60'/%3E%3C/svg%3E")!important}.custom-control-input-maroon:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(216,27,96,.25)}.custom-control-input-maroon:focus:not(:checked)~.custom-control-label::before{border-color:#f083ab}.custom-control-input-maroon:not(:disabled):active~.custom-control-label::before{background-color:#f5b0c9;border-color:#f5b0c9}.custom-control-input-blue:checked~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-control-input-blue.custom-control-input-outline:checked[type=checkbox]~.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='%23007bff' 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")!important}.custom-control-input-blue.custom-control-input-outline:checked[type=radio]~.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='%23007bff'/%3E%3C/svg%3E")!important}.custom-control-input-blue:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input-blue:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input-blue:not(:disabled):active~.custom-control-label::before{background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input-indigo:checked~.custom-control-label::before{border-color:#6610f2;background-color:#6610f2}.custom-control-input-indigo.custom-control-input-outline:checked[type=checkbox]~.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='%236610f2' 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")!important}.custom-control-input-indigo.custom-control-input-outline:checked[type=radio]~.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='%236610f2'/%3E%3C/svg%3E")!important}.custom-control-input-indigo:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(102,16,242,.25)}.custom-control-input-indigo:focus:not(:checked)~.custom-control-label::before{border-color:#b389f9}.custom-control-input-indigo:not(:disabled):active~.custom-control-label::before{background-color:#d2b9fb;border-color:#d2b9fb}.custom-control-input-purple:checked~.custom-control-label::before{border-color:#6f42c1;background-color:#6f42c1}.custom-control-input-purple.custom-control-input-outline:checked[type=checkbox]~.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='%236f42c1' 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")!important}.custom-control-input-purple.custom-control-input-outline:checked[type=radio]~.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='%236f42c1'/%3E%3C/svg%3E")!important}.custom-control-input-purple:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(111,66,193,.25)}.custom-control-input-purple:focus:not(:checked)~.custom-control-label::before{border-color:#b8a2e0}.custom-control-input-purple:not(:disabled):active~.custom-control-label::before{background-color:#d5c8ed;border-color:#d5c8ed}.custom-control-input-pink:checked~.custom-control-label::before{border-color:#e83e8c;background-color:#e83e8c}.custom-control-input-pink.custom-control-input-outline:checked[type=checkbox]~.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='%23e83e8c' 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")!important}.custom-control-input-pink.custom-control-input-outline:checked[type=radio]~.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='%23e83e8c'/%3E%3C/svg%3E")!important}.custom-control-input-pink:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(232,62,140,.25)}.custom-control-input-pink:focus:not(:checked)~.custom-control-label::before{border-color:#f6b0d0}.custom-control-input-pink:not(:disabled):active~.custom-control-label::before{background-color:#fbddeb;border-color:#fbddeb}.custom-control-input-red:checked~.custom-control-label::before{border-color:#dc3545;background-color:#dc3545}.custom-control-input-red.custom-control-input-outline:checked[type=checkbox]~.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='%23dc3545' 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")!important}.custom-control-input-red.custom-control-input-outline:checked[type=radio]~.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='%23dc3545'/%3E%3C/svg%3E")!important}.custom-control-input-red:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input-red:focus:not(:checked)~.custom-control-label::before{border-color:#efa2a9}.custom-control-input-red:not(:disabled):active~.custom-control-label::before{background-color:#f6cdd1;border-color:#f6cdd1}.custom-control-input-orange:checked~.custom-control-label::before{border-color:#fd7e14;background-color:#fd7e14}.custom-control-input-orange.custom-control-input-outline:checked[type=checkbox]~.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='%23fd7e14' 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")!important}.custom-control-input-orange.custom-control-input-outline:checked[type=radio]~.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='%23fd7e14'/%3E%3C/svg%3E")!important}.custom-control-input-orange:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(253,126,20,.25)}.custom-control-input-orange:focus:not(:checked)~.custom-control-label::before{border-color:#fec392}.custom-control-input-orange:not(:disabled):active~.custom-control-label::before{background-color:#ffdfc5;border-color:#ffdfc5}.custom-control-input-yellow:checked~.custom-control-label::before{border-color:#ffc107;background-color:#ffc107}.custom-control-input-yellow.custom-control-input-outline:checked[type=checkbox]~.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='%23ffc107' 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")!important}.custom-control-input-yellow.custom-control-input-outline:checked[type=radio]~.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='%23ffc107'/%3E%3C/svg%3E")!important}.custom-control-input-yellow:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(255,193,7,.25)}.custom-control-input-yellow:focus:not(:checked)~.custom-control-label::before{border-color:#ffe187}.custom-control-input-yellow:not(:disabled):active~.custom-control-label::before{background-color:#ffeeba;border-color:#ffeeba}.custom-control-input-green:checked~.custom-control-label::before{border-color:#28a745;background-color:#28a745}.custom-control-input-green.custom-control-input-outline:checked[type=checkbox]~.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='%2328a745' 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")!important}.custom-control-input-green.custom-control-input-outline:checked[type=radio]~.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='%2328a745'/%3E%3C/svg%3E")!important}.custom-control-input-green:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input-green:focus:not(:checked)~.custom-control-label::before{border-color:#71dd8a}.custom-control-input-green:not(:disabled):active~.custom-control-label::before{background-color:#9be7ac;border-color:#9be7ac}.custom-control-input-teal:checked~.custom-control-label::before{border-color:#20c997;background-color:#20c997}.custom-control-input-teal.custom-control-input-outline:checked[type=checkbox]~.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='%2320c997' 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")!important}.custom-control-input-teal.custom-control-input-outline:checked[type=radio]~.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='%2320c997'/%3E%3C/svg%3E")!important}.custom-control-input-teal:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(32,201,151,.25)}.custom-control-input-teal:focus:not(:checked)~.custom-control-label::before{border-color:#7eeaca}.custom-control-input-teal:not(:disabled):active~.custom-control-label::before{background-color:#aaf1dc;border-color:#aaf1dc}.custom-control-input-cyan:checked~.custom-control-label::before{border-color:#17a2b8;background-color:#17a2b8}.custom-control-input-cyan.custom-control-input-outline:checked[type=checkbox]~.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='%2317a2b8' 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")!important}.custom-control-input-cyan.custom-control-input-outline:checked[type=radio]~.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='%2317a2b8'/%3E%3C/svg%3E")!important}.custom-control-input-cyan:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(23,162,184,.25)}.custom-control-input-cyan:focus:not(:checked)~.custom-control-label::before{border-color:#63d9ec}.custom-control-input-cyan:not(:disabled):active~.custom-control-label::before{background-color:#90e4f1;border-color:#90e4f1}.custom-control-input-white:checked~.custom-control-label::before{border-color:#fff;background-color:#fff}.custom-control-input-white.custom-control-input-outline:checked[type=checkbox]~.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")!important}.custom-control-input-white.custom-control-input-outline:checked[type=radio]~.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")!important}.custom-control-input-white:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(255,255,255,.25)}.custom-control-input-white:focus:not(:checked)~.custom-control-label::before{border-color:#fff}.custom-control-input-white:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.custom-control-input-gray:checked~.custom-control-label::before{border-color:#6c757d;background-color:#6c757d}.custom-control-input-gray.custom-control-input-outline:checked[type=checkbox]~.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='%236c757d' 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")!important}.custom-control-input-gray.custom-control-input-outline:checked[type=radio]~.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='%236c757d'/%3E%3C/svg%3E")!important}.custom-control-input-gray:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(108,117,125,.25)}.custom-control-input-gray:focus:not(:checked)~.custom-control-label::before{border-color:#afb5ba}.custom-control-input-gray:not(:disabled):active~.custom-control-label::before{background-color:#caced1;border-color:#caced1}.custom-control-input-gray-dark:checked~.custom-control-label::before{border-color:#343a40;background-color:#343a40}.custom-control-input-gray-dark.custom-control-input-outline:checked[type=checkbox]~.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='%23343a40' 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")!important}.custom-control-input-gray-dark.custom-control-input-outline:checked[type=radio]~.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='%23343a40'/%3E%3C/svg%3E")!important}.custom-control-input-gray-dark:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,58,64,.25)}.custom-control-input-gray-dark:focus:not(:checked)~.custom-control-label::before{border-color:#6d7a86}.custom-control-input-gray-dark:not(:disabled):active~.custom-control-label::before{background-color:#88939e;border-color:#88939e}.custom-control-input-outline~.custom-control-label::before{background-color:transparent!important;box-shadow:none}.custom-control-input-outline:checked~.custom-control-label::before{background-color:transparent}.navbar-dark .btn-navbar,.navbar-dark .form-control-navbar{background-color:#3f474e;border:1px solid #56606a;color:#fff}.navbar-dark .btn-navbar:hover{background-color:#454d55}.navbar-dark .btn-navbar:focus{background-color:#4b545c}.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar,.navbar-dark .form-control-navbar+.input-group-prepend>.btn-navbar{background-color:#3f474e;color:#fff;border:1px solid #56606a;border-left:none}.dark-mode .custom-control-label::before,.dark-mode .custom-file-label,.dark-mode .custom-file-label::after,.dark-mode .custom-select,.dark-mode .form-control:not(.form-control-navbar):not(.form-control-sidebar),.dark-mode .input-group-text{background-color:#343a40;color:#fff}.dark-mode .custom-file-label,.dark-mode .custom-file-label::after,.dark-mode .form-control:not(.form-control-navbar):not(.form-control-sidebar):not(.is-invalid):not(:focus){border-color:#6c757d}.dark-mode select{background-color:#343a40;color:#fff;border-color:#6c757d}.dark-mode .input-group-text{border-color:#6c757d}.dark-mode .custom-control-input:disabled~.custom-control-label::before,.dark-mode .custom-control-input[disabled]~.custom-control-label::before{background-color:#3f474e;border-color:#6c757d;color:#fff}.dark-mode .custom-range::-webkit-slider-runnable-track{background-color:#454d55}.dark-mode .custom-range::-moz-range-track{background-color:#454d55}.dark-mode .custom-range::-ms-track{background-color:#454d55}.dark-mode .custom-range.custom-range-primary:focus{outline:0}.dark-mode .custom-range.custom-range-primary:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-primary:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-primary:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-primary::-webkit-slider-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-primary::-webkit-slider-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-primary::-moz-range-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-primary::-moz-range-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-primary::-ms-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-primary::-ms-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-secondary:focus{outline:0}.dark-mode .custom-range.custom-range-secondary:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-secondary:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-secondary:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-secondary::-webkit-slider-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-secondary::-webkit-slider-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-secondary::-moz-range-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-secondary::-moz-range-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-secondary::-ms-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-secondary::-ms-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-success:focus{outline:0}.dark-mode .custom-range.custom-range-success:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-success:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-success:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-success::-webkit-slider-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-success::-webkit-slider-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-success::-moz-range-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-success::-moz-range-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-success::-ms-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-success::-ms-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-info:focus{outline:0}.dark-mode .custom-range.custom-range-info:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-info:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-info:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-info::-webkit-slider-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-info::-webkit-slider-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-info::-moz-range-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-info::-moz-range-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-info::-ms-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-info::-ms-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-warning:focus{outline:0}.dark-mode .custom-range.custom-range-warning:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-warning:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-warning:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-warning::-webkit-slider-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-warning::-webkit-slider-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-warning::-moz-range-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-warning::-moz-range-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-warning::-ms-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-warning::-ms-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-danger:focus{outline:0}.dark-mode .custom-range.custom-range-danger:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-danger:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-danger:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-danger::-webkit-slider-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-danger::-webkit-slider-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-danger::-moz-range-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-danger::-moz-range-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-danger::-ms-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-danger::-ms-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-light:focus{outline:0}.dark-mode .custom-range.custom-range-light:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-range.custom-range-light:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-range.custom-range-light:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-range.custom-range-light::-webkit-slider-thumb{background-color:#f8f9fa}.dark-mode .custom-range.custom-range-light::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-light::-moz-range-thumb{background-color:#f8f9fa}.dark-mode .custom-range.custom-range-light::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-light::-ms-thumb{background-color:#f8f9fa}.dark-mode .custom-range.custom-range-light::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-dark:focus{outline:0}.dark-mode .custom-range.custom-range-dark:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-dark:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-dark:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-dark::-webkit-slider-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-dark::-webkit-slider-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-dark::-moz-range-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-dark::-moz-range-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-dark::-ms-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-dark::-ms-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-lightblue:focus{outline:0}.dark-mode .custom-range.custom-range-lightblue:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-range.custom-range-lightblue:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-range.custom-range-lightblue:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-range.custom-range-lightblue::-webkit-slider-thumb{background-color:#86bad8}.dark-mode .custom-range.custom-range-lightblue::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-lightblue::-moz-range-thumb{background-color:#86bad8}.dark-mode .custom-range.custom-range-lightblue::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-lightblue::-ms-thumb{background-color:#86bad8}.dark-mode .custom-range.custom-range-lightblue::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-navy:focus{outline:0}.dark-mode .custom-range.custom-range-navy:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-range.custom-range-navy:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-range.custom-range-navy:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-range.custom-range-navy::-webkit-slider-thumb{background-color:#002c59}.dark-mode .custom-range.custom-range-navy::-webkit-slider-thumb:active{background-color:#0c84ff}.dark-mode .custom-range.custom-range-navy::-moz-range-thumb{background-color:#002c59}.dark-mode .custom-range.custom-range-navy::-moz-range-thumb:active{background-color:#0c84ff}.dark-mode .custom-range.custom-range-navy::-ms-thumb{background-color:#002c59}.dark-mode .custom-range.custom-range-navy::-ms-thumb:active{background-color:#0c84ff}.dark-mode .custom-range.custom-range-olive:focus{outline:0}.dark-mode .custom-range.custom-range-olive:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-range.custom-range-olive:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-range.custom-range-olive:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-range.custom-range-olive::-webkit-slider-thumb{background-color:#74c8a3}.dark-mode .custom-range.custom-range-olive::-webkit-slider-thumb:active{background-color:#f4fbf8}.dark-mode .custom-range.custom-range-olive::-moz-range-thumb{background-color:#74c8a3}.dark-mode .custom-range.custom-range-olive::-moz-range-thumb:active{background-color:#f4fbf8}.dark-mode .custom-range.custom-range-olive::-ms-thumb{background-color:#74c8a3}.dark-mode .custom-range.custom-range-olive::-ms-thumb:active{background-color:#f4fbf8}.dark-mode .custom-range.custom-range-lime:focus{outline:0}.dark-mode .custom-range.custom-range-lime:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-range.custom-range-lime:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-range.custom-range-lime:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-range.custom-range-lime::-webkit-slider-thumb{background-color:#67ffa9}.dark-mode .custom-range.custom-range-lime::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-lime::-moz-range-thumb{background-color:#67ffa9}.dark-mode .custom-range.custom-range-lime::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-lime::-ms-thumb{background-color:#67ffa9}.dark-mode .custom-range.custom-range-lime::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-fuchsia:focus{outline:0}.dark-mode .custom-range.custom-range-fuchsia:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-range.custom-range-fuchsia:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-range.custom-range-fuchsia:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-range.custom-range-fuchsia::-webkit-slider-thumb{background-color:#f672d8}.dark-mode .custom-range.custom-range-fuchsia::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-fuchsia::-moz-range-thumb{background-color:#f672d8}.dark-mode .custom-range.custom-range-fuchsia::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-fuchsia::-ms-thumb{background-color:#f672d8}.dark-mode .custom-range.custom-range-fuchsia::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-maroon:focus{outline:0}.dark-mode .custom-range.custom-range-maroon:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-range.custom-range-maroon:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-range.custom-range-maroon:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-range.custom-range-maroon::-webkit-slider-thumb{background-color:#ed6c9b}.dark-mode .custom-range.custom-range-maroon::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-maroon::-moz-range-thumb{background-color:#ed6c9b}.dark-mode .custom-range.custom-range-maroon::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-maroon::-ms-thumb{background-color:#ed6c9b}.dark-mode .custom-range.custom-range-maroon::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-blue:focus{outline:0}.dark-mode .custom-range.custom-range-blue:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-blue:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-blue:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-blue::-webkit-slider-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-blue::-webkit-slider-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-blue::-moz-range-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-blue::-moz-range-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-blue::-ms-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-blue::-ms-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-indigo:focus{outline:0}.dark-mode .custom-range.custom-range-indigo:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-range.custom-range-indigo:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-range.custom-range-indigo:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-range.custom-range-indigo::-webkit-slider-thumb{background-color:#6610f2}.dark-mode .custom-range.custom-range-indigo::-webkit-slider-thumb:active{background-color:#d2b9fb}.dark-mode .custom-range.custom-range-indigo::-moz-range-thumb{background-color:#6610f2}.dark-mode .custom-range.custom-range-indigo::-moz-range-thumb:active{background-color:#d2b9fb}.dark-mode .custom-range.custom-range-indigo::-ms-thumb{background-color:#6610f2}.dark-mode .custom-range.custom-range-indigo::-ms-thumb:active{background-color:#d2b9fb}.dark-mode .custom-range.custom-range-purple:focus{outline:0}.dark-mode .custom-range.custom-range-purple:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-range.custom-range-purple:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-range.custom-range-purple:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-range.custom-range-purple::-webkit-slider-thumb{background-color:#6f42c1}.dark-mode .custom-range.custom-range-purple::-webkit-slider-thumb:active{background-color:#d5c8ed}.dark-mode .custom-range.custom-range-purple::-moz-range-thumb{background-color:#6f42c1}.dark-mode .custom-range.custom-range-purple::-moz-range-thumb:active{background-color:#d5c8ed}.dark-mode .custom-range.custom-range-purple::-ms-thumb{background-color:#6f42c1}.dark-mode .custom-range.custom-range-purple::-ms-thumb:active{background-color:#d5c8ed}.dark-mode .custom-range.custom-range-pink:focus{outline:0}.dark-mode .custom-range.custom-range-pink:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-range.custom-range-pink:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-range.custom-range-pink:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-range.custom-range-pink::-webkit-slider-thumb{background-color:#e83e8c}.dark-mode .custom-range.custom-range-pink::-webkit-slider-thumb:active{background-color:#fbddeb}.dark-mode .custom-range.custom-range-pink::-moz-range-thumb{background-color:#e83e8c}.dark-mode .custom-range.custom-range-pink::-moz-range-thumb:active{background-color:#fbddeb}.dark-mode .custom-range.custom-range-pink::-ms-thumb{background-color:#e83e8c}.dark-mode .custom-range.custom-range-pink::-ms-thumb:active{background-color:#fbddeb}.dark-mode .custom-range.custom-range-red:focus{outline:0}.dark-mode .custom-range.custom-range-red:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-red:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-red:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-red::-webkit-slider-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-red::-webkit-slider-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-red::-moz-range-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-red::-moz-range-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-red::-ms-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-red::-ms-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-orange:focus{outline:0}.dark-mode .custom-range.custom-range-orange:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-range.custom-range-orange:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-range.custom-range-orange:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-range.custom-range-orange::-webkit-slider-thumb{background-color:#fd7e14}.dark-mode .custom-range.custom-range-orange::-webkit-slider-thumb:active{background-color:#ffdfc5}.dark-mode .custom-range.custom-range-orange::-moz-range-thumb{background-color:#fd7e14}.dark-mode .custom-range.custom-range-orange::-moz-range-thumb:active{background-color:#ffdfc5}.dark-mode .custom-range.custom-range-orange::-ms-thumb{background-color:#fd7e14}.dark-mode .custom-range.custom-range-orange::-ms-thumb:active{background-color:#ffdfc5}.dark-mode .custom-range.custom-range-yellow:focus{outline:0}.dark-mode .custom-range.custom-range-yellow:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-yellow:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-yellow:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-yellow::-webkit-slider-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-yellow::-webkit-slider-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-yellow::-moz-range-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-yellow::-moz-range-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-yellow::-ms-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-yellow::-ms-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-green:focus{outline:0}.dark-mode .custom-range.custom-range-green:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-green:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-green:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-green::-webkit-slider-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-green::-webkit-slider-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-green::-moz-range-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-green::-moz-range-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-green::-ms-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-green::-ms-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-teal:focus{outline:0}.dark-mode .custom-range.custom-range-teal:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-range.custom-range-teal:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-range.custom-range-teal:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-range.custom-range-teal::-webkit-slider-thumb{background-color:#20c997}.dark-mode .custom-range.custom-range-teal::-webkit-slider-thumb:active{background-color:#aaf1dc}.dark-mode .custom-range.custom-range-teal::-moz-range-thumb{background-color:#20c997}.dark-mode .custom-range.custom-range-teal::-moz-range-thumb:active{background-color:#aaf1dc}.dark-mode .custom-range.custom-range-teal::-ms-thumb{background-color:#20c997}.dark-mode .custom-range.custom-range-teal::-ms-thumb:active{background-color:#aaf1dc}.dark-mode .custom-range.custom-range-cyan:focus{outline:0}.dark-mode .custom-range.custom-range-cyan:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-cyan:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-cyan:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-cyan::-webkit-slider-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-cyan::-webkit-slider-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-cyan::-moz-range-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-cyan::-moz-range-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-cyan::-ms-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-cyan::-ms-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-white:focus{outline:0}.dark-mode .custom-range.custom-range-white:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-range.custom-range-white:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-range.custom-range-white:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-range.custom-range-white::-webkit-slider-thumb{background-color:#fff}.dark-mode .custom-range.custom-range-white::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-white::-moz-range-thumb{background-color:#fff}.dark-mode .custom-range.custom-range-white::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-white::-ms-thumb{background-color:#fff}.dark-mode .custom-range.custom-range-white::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-gray:focus{outline:0}.dark-mode .custom-range.custom-range-gray:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-gray:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-gray:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-gray::-webkit-slider-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-gray::-webkit-slider-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-gray::-moz-range-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-gray::-moz-range-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-gray::-ms-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-gray::-ms-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-gray-dark:focus{outline:0}.dark-mode .custom-range.custom-range-gray-dark:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-gray-dark:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-gray-dark:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-gray-dark::-webkit-slider-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-gray-dark::-webkit-slider-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-gray-dark::-moz-range-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-gray-dark::-moz-range-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-gray-dark::-ms-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-gray-dark::-ms-thumb:active{background-color:#88939e}.dark-mode .custom-switch.custom-switch-off-primary .custom-control-input~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .custom-switch.custom-switch-off-primary .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-switch.custom-switch-off-primary .custom-control-input~.custom-control-label::after{background-color:#182838}.dark-mode .custom-switch.custom-switch-on-primary .custom-control-input:checked~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .custom-switch.custom-switch-on-primary .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-switch.custom-switch-on-primary .custom-control-input:checked~.custom-control-label::after{background-color:#97b4d2}.dark-mode .custom-switch.custom-switch-off-secondary .custom-control-input~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .custom-switch.custom-switch-off-secondary .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-switch.custom-switch-off-secondary .custom-control-input~.custom-control-label::after{background-color:#313539}.dark-mode .custom-switch.custom-switch-on-secondary .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .custom-switch.custom-switch-on-secondary .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-switch.custom-switch-on-secondary .custom-control-input:checked~.custom-control-label::after{background-color:#bcc1c6}.dark-mode .custom-switch.custom-switch-off-success .custom-control-input~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .custom-switch.custom-switch-off-success .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-switch.custom-switch-off-success .custom-control-input~.custom-control-label::after{background-color:#003d2d}.dark-mode .custom-switch.custom-switch-on-success .custom-control-input:checked~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .custom-switch.custom-switch-on-success .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-switch.custom-switch-on-success .custom-control-input:checked~.custom-control-label::after{background-color:#56ffd4}.dark-mode .custom-switch.custom-switch-off-info .custom-control-input~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .custom-switch.custom-switch-off-info .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-switch.custom-switch-off-info .custom-control-input~.custom-control-label::after{background-color:#16527a}.dark-mode .custom-switch.custom-switch-on-info .custom-control-input:checked~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .custom-switch.custom-switch-on-info .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-switch.custom-switch-on-info .custom-control-input:checked~.custom-control-label::after{background-color:#b6daf2}.dark-mode .custom-switch.custom-switch-off-warning .custom-control-input~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .custom-switch.custom-switch-off-warning .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-switch.custom-switch-off-warning .custom-control-input~.custom-control-label::after{background-color:#7f5006}.dark-mode .custom-switch.custom-switch-on-warning .custom-control-input:checked~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .custom-switch.custom-switch-on-warning .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-switch.custom-switch-on-warning .custom-control-input:checked~.custom-control-label::after{background-color:#fad9a4}.dark-mode .custom-switch.custom-switch-off-danger .custom-control-input~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .custom-switch.custom-switch-off-danger .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-switch.custom-switch-off-danger .custom-control-input~.custom-control-label::after{background-color:#921e12}.dark-mode .custom-switch.custom-switch-on-danger .custom-control-input:checked~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .custom-switch.custom-switch-on-danger .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-switch.custom-switch-on-danger .custom-control-input:checked~.custom-control-label::after{background-color:#f8c9c4}.dark-mode .custom-switch.custom-switch-off-light .custom-control-input~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.dark-mode .custom-switch.custom-switch-off-light .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-switch.custom-switch-off-light .custom-control-input~.custom-control-label::after{background-color:#aeb9c5}.dark-mode .custom-switch.custom-switch-on-light .custom-control-input:checked~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.dark-mode .custom-switch.custom-switch-on-light .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-switch.custom-switch-on-light .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.dark-mode .custom-switch.custom-switch-off-dark .custom-control-input~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .custom-switch.custom-switch-off-dark .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-switch.custom-switch-off-dark .custom-control-input~.custom-control-label::after{background-color:#000}.dark-mode .custom-switch.custom-switch-on-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .custom-switch.custom-switch-on-dark .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-switch.custom-switch-on-dark .custom-control-input:checked~.custom-control-label::after{background-color:#7a8793}.dark-mode .custom-switch.custom-switch-off-lightblue .custom-control-input~.custom-control-label::before{background-color:#86bad8;border-color:#3c8dbc}.dark-mode .custom-switch.custom-switch-off-lightblue .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-switch.custom-switch-off-lightblue .custom-control-input~.custom-control-label::after{background-color:#367fa9}.dark-mode .custom-switch.custom-switch-on-lightblue .custom-control-input:checked~.custom-control-label::before{background-color:#86bad8;border-color:#3c8dbc}.dark-mode .custom-switch.custom-switch-on-lightblue .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-switch.custom-switch-on-lightblue .custom-control-input:checked~.custom-control-label::after{background-color:#fafcfd}.dark-mode .custom-switch.custom-switch-off-navy .custom-control-input~.custom-control-label::before{background-color:#002c59;border-color:#000}.dark-mode .custom-switch.custom-switch-off-navy .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-switch.custom-switch-off-navy .custom-control-input~.custom-control-label::after{background-color:#000}.dark-mode .custom-switch.custom-switch-on-navy .custom-control-input:checked~.custom-control-label::before{background-color:#002c59;border-color:#000}.dark-mode .custom-switch.custom-switch-on-navy .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-switch.custom-switch-on-navy .custom-control-input:checked~.custom-control-label::after{background-color:#0077f2}.dark-mode .custom-switch.custom-switch-off-olive .custom-control-input~.custom-control-label::before{background-color:#74c8a3;border-color:#3d9970}.dark-mode .custom-switch.custom-switch-off-olive .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-switch.custom-switch-off-olive .custom-control-input~.custom-control-label::after{background-color:#368763}.dark-mode .custom-switch.custom-switch-on-olive .custom-control-input:checked~.custom-control-label::before{background-color:#74c8a3;border-color:#3d9970}.dark-mode .custom-switch.custom-switch-on-olive .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-switch.custom-switch-on-olive .custom-control-input:checked~.custom-control-label::after{background-color:#e2f3eb}.dark-mode .custom-switch.custom-switch-off-lime .custom-control-input~.custom-control-label::before{background-color:#67ffa9;border-color:#01ff70}.dark-mode .custom-switch.custom-switch-off-lime .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-switch.custom-switch-off-lime .custom-control-input~.custom-control-label::after{background-color:#00e765}.dark-mode .custom-switch.custom-switch-on-lime .custom-control-input:checked~.custom-control-label::before{background-color:#67ffa9;border-color:#01ff70}.dark-mode .custom-switch.custom-switch-on-lime .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-switch.custom-switch-on-lime .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.dark-mode .custom-switch.custom-switch-off-fuchsia .custom-control-input~.custom-control-label::before{background-color:#f672d8;border-color:#f012be}.dark-mode .custom-switch.custom-switch-off-fuchsia .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-switch.custom-switch-off-fuchsia .custom-control-input~.custom-control-label::after{background-color:#db0ead}.dark-mode .custom-switch.custom-switch-on-fuchsia .custom-control-input:checked~.custom-control-label::before{background-color:#f672d8;border-color:#f012be}.dark-mode .custom-switch.custom-switch-on-fuchsia .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-switch.custom-switch-on-fuchsia .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.dark-mode .custom-switch.custom-switch-off-maroon .custom-control-input~.custom-control-label::before{background-color:#ed6c9b;border-color:#d81b60}.dark-mode .custom-switch.custom-switch-off-maroon .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-switch.custom-switch-off-maroon .custom-control-input~.custom-control-label::after{background-color:#c11856}.dark-mode .custom-switch.custom-switch-on-maroon .custom-control-input:checked~.custom-control-label::before{background-color:#ed6c9b;border-color:#d81b60}.dark-mode .custom-switch.custom-switch-on-maroon .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-switch.custom-switch-on-maroon .custom-control-input:checked~.custom-control-label::after{background-color:#fef4f8}.dark-mode .custom-switch.custom-switch-off-blue .custom-control-input~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .custom-switch.custom-switch-off-blue .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-switch.custom-switch-off-blue .custom-control-input~.custom-control-label::after{background-color:#182838}.dark-mode .custom-switch.custom-switch-on-blue .custom-control-input:checked~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .custom-switch.custom-switch-on-blue .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-switch.custom-switch-on-blue .custom-control-input:checked~.custom-control-label::after{background-color:#97b4d2}.dark-mode .custom-switch.custom-switch-off-indigo .custom-control-input~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.dark-mode .custom-switch.custom-switch-off-indigo .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-switch.custom-switch-off-indigo .custom-control-input~.custom-control-label::after{background-color:#33077c}.dark-mode .custom-switch.custom-switch-on-indigo .custom-control-input:checked~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.dark-mode .custom-switch.custom-switch-on-indigo .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-switch.custom-switch-on-indigo .custom-control-input:checked~.custom-control-label::after{background-color:#c3a1fa}.dark-mode .custom-switch.custom-switch-off-purple .custom-control-input~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.dark-mode .custom-switch.custom-switch-off-purple .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-switch.custom-switch-off-purple .custom-control-input~.custom-control-label::after{background-color:#382063}.dark-mode .custom-switch.custom-switch-on-purple .custom-control-input:checked~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.dark-mode .custom-switch.custom-switch-on-purple .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-switch.custom-switch-on-purple .custom-control-input:checked~.custom-control-label::after{background-color:#c7b5e7}.dark-mode .custom-switch.custom-switch-off-pink .custom-control-input~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.dark-mode .custom-switch.custom-switch-off-pink .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-switch.custom-switch-off-pink .custom-control-input~.custom-control-label::after{background-color:#95124e}.dark-mode .custom-switch.custom-switch-on-pink .custom-control-input:checked~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.dark-mode .custom-switch.custom-switch-on-pink .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-switch.custom-switch-on-pink .custom-control-input:checked~.custom-control-label::after{background-color:#f8c7dd}.dark-mode .custom-switch.custom-switch-off-red .custom-control-input~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .custom-switch.custom-switch-off-red .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-switch.custom-switch-off-red .custom-control-input~.custom-control-label::after{background-color:#921e12}.dark-mode .custom-switch.custom-switch-on-red .custom-control-input:checked~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .custom-switch.custom-switch-on-red .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-switch.custom-switch-on-red .custom-control-input:checked~.custom-control-label::after{background-color:#f8c9c4}.dark-mode .custom-switch.custom-switch-off-orange .custom-control-input~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.dark-mode .custom-switch.custom-switch-off-orange .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-switch.custom-switch-off-orange .custom-control-input~.custom-control-label::after{background-color:#904201}.dark-mode .custom-switch.custom-switch-on-orange .custom-control-input:checked~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.dark-mode .custom-switch.custom-switch-on-orange .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-switch.custom-switch-on-orange .custom-control-input:checked~.custom-control-label::after{background-color:#fed1ac}.dark-mode .custom-switch.custom-switch-off-yellow .custom-control-input~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .custom-switch.custom-switch-off-yellow .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-switch.custom-switch-off-yellow .custom-control-input~.custom-control-label::after{background-color:#7f5006}.dark-mode .custom-switch.custom-switch-on-yellow .custom-control-input:checked~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .custom-switch.custom-switch-on-yellow .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-switch.custom-switch-on-yellow .custom-control-input:checked~.custom-control-label::after{background-color:#fad9a4}.dark-mode .custom-switch.custom-switch-off-green .custom-control-input~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .custom-switch.custom-switch-off-green .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-switch.custom-switch-off-green .custom-control-input~.custom-control-label::after{background-color:#003d2d}.dark-mode .custom-switch.custom-switch-on-green .custom-control-input:checked~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .custom-switch.custom-switch-on-green .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-switch.custom-switch-on-green .custom-control-input:checked~.custom-control-label::after{background-color:#56ffd4}.dark-mode .custom-switch.custom-switch-off-teal .custom-control-input~.custom-control-label::before{background-color:#20c997;border-color:#127155}.dark-mode .custom-switch.custom-switch-off-teal .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-switch.custom-switch-off-teal .custom-control-input~.custom-control-label::after{background-color:#0e5b44}.dark-mode .custom-switch.custom-switch-on-teal .custom-control-input:checked~.custom-control-label::before{background-color:#20c997;border-color:#127155}.dark-mode .custom-switch.custom-switch-on-teal .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-switch.custom-switch-on-teal .custom-control-input:checked~.custom-control-label::after{background-color:#94eed3}.dark-mode .custom-switch.custom-switch-off-cyan .custom-control-input~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .custom-switch.custom-switch-off-cyan .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-switch.custom-switch-off-cyan .custom-control-input~.custom-control-label::after{background-color:#16527a}.dark-mode .custom-switch.custom-switch-on-cyan .custom-control-input:checked~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .custom-switch.custom-switch-on-cyan .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-switch.custom-switch-on-cyan .custom-control-input:checked~.custom-control-label::after{background-color:#b6daf2}.dark-mode .custom-switch.custom-switch-off-white .custom-control-input~.custom-control-label::before{background-color:#fff;border-color:#ccc}.dark-mode .custom-switch.custom-switch-off-white .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-switch.custom-switch-off-white .custom-control-input~.custom-control-label::after{background-color:#bfbfbf}.dark-mode .custom-switch.custom-switch-on-white .custom-control-input:checked~.custom-control-label::before{background-color:#fff;border-color:#ccc}.dark-mode .custom-switch.custom-switch-on-white .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-switch.custom-switch-on-white .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.dark-mode .custom-switch.custom-switch-off-gray .custom-control-input~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .custom-switch.custom-switch-off-gray .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-switch.custom-switch-off-gray .custom-control-input~.custom-control-label::after{background-color:#313539}.dark-mode .custom-switch.custom-switch-on-gray .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .custom-switch.custom-switch-on-gray .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-switch.custom-switch-on-gray .custom-control-input:checked~.custom-control-label::after{background-color:#bcc1c6}.dark-mode .custom-switch.custom-switch-off-gray-dark .custom-control-input~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .custom-switch.custom-switch-off-gray-dark .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-switch.custom-switch-off-gray-dark .custom-control-input~.custom-control-label::after{background-color:#000}.dark-mode .custom-switch.custom-switch-on-gray-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .custom-switch.custom-switch-on-gray-dark .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-switch.custom-switch-on-gray-dark .custom-control-input:checked~.custom-control-label::after{background-color:#7a8793}.dark-mode .custom-control-input-primary:checked~.custom-control-label::before{border-color:#3f6791;background-color:#3f6791}.dark-mode .custom-control-input-primary.custom-control-input-outline:checked[type=checkbox]~.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='%233f6791' 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")!important}.dark-mode .custom-control-input-primary.custom-control-input-outline:checked[type=radio]~.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='%233f6791'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-primary:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(63,103,145,.25)}.dark-mode .custom-control-input-primary:focus:not(:checked)~.custom-control-label::before{border-color:#85a7ca}.dark-mode .custom-control-input-primary:not(:disabled):active~.custom-control-label::before{background-color:#a9c1da;border-color:#a9c1da}.dark-mode .custom-control-input-secondary:checked~.custom-control-label::before{border-color:#6c757d;background-color:#6c757d}.dark-mode .custom-control-input-secondary.custom-control-input-outline:checked[type=checkbox]~.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='%236c757d' 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")!important}.dark-mode .custom-control-input-secondary.custom-control-input-outline:checked[type=radio]~.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='%236c757d'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-secondary:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(108,117,125,.25)}.dark-mode .custom-control-input-secondary:focus:not(:checked)~.custom-control-label::before{border-color:#afb5ba}.dark-mode .custom-control-input-secondary:not(:disabled):active~.custom-control-label::before{background-color:#caced1;border-color:#caced1}.dark-mode .custom-control-input-success:checked~.custom-control-label::before{border-color:#00bc8c;background-color:#00bc8c}.dark-mode .custom-control-input-success.custom-control-input-outline:checked[type=checkbox]~.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='%2300bc8c' 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")!important}.dark-mode .custom-control-input-success.custom-control-input-outline:checked[type=radio]~.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='%2300bc8c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-success:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,188,140,.25)}.dark-mode .custom-control-input-success:focus:not(:checked)~.custom-control-label::before{border-color:#3dffcd}.dark-mode .custom-control-input-success:not(:disabled):active~.custom-control-label::before{background-color:#70ffda;border-color:#70ffda}.dark-mode .custom-control-input-info:checked~.custom-control-label::before{border-color:#3498db;background-color:#3498db}.dark-mode .custom-control-input-info.custom-control-input-outline:checked[type=checkbox]~.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='%233498db' 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")!important}.dark-mode .custom-control-input-info.custom-control-input-outline:checked[type=radio]~.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='%233498db'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-info:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,152,219,.25)}.dark-mode .custom-control-input-info:focus:not(:checked)~.custom-control-label::before{border-color:#a0cfee}.dark-mode .custom-control-input-info:not(:disabled):active~.custom-control-label::before{background-color:#cce5f6;border-color:#cce5f6}.dark-mode .custom-control-input-warning:checked~.custom-control-label::before{border-color:#f39c12;background-color:#f39c12}.dark-mode .custom-control-input-warning.custom-control-input-outline:checked[type=checkbox]~.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='%23f39c12' 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")!important}.dark-mode .custom-control-input-warning.custom-control-input-outline:checked[type=radio]~.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='%23f39c12'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-warning:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(243,156,18,.25)}.dark-mode .custom-control-input-warning:focus:not(:checked)~.custom-control-label::before{border-color:#f9cf8b}.dark-mode .custom-control-input-warning:not(:disabled):active~.custom-control-label::before{background-color:#fce3bc;border-color:#fce3bc}.dark-mode .custom-control-input-danger:checked~.custom-control-label::before{border-color:#e74c3c;background-color:#e74c3c}.dark-mode .custom-control-input-danger.custom-control-input-outline:checked[type=checkbox]~.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='%23e74c3c' 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")!important}.dark-mode .custom-control-input-danger.custom-control-input-outline:checked[type=radio]~.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='%23e74c3c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-danger:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(231,76,60,.25)}.dark-mode .custom-control-input-danger:focus:not(:checked)~.custom-control-label::before{border-color:#f5b4ae}.dark-mode .custom-control-input-danger:not(:disabled):active~.custom-control-label::before{background-color:#fbdedb;border-color:#fbdedb}.dark-mode .custom-control-input-light:checked~.custom-control-label::before{border-color:#f8f9fa;background-color:#f8f9fa}.dark-mode .custom-control-input-light.custom-control-input-outline:checked[type=checkbox]~.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='%23f8f9fa' 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")!important}.dark-mode .custom-control-input-light.custom-control-input-outline:checked[type=radio]~.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='%23f8f9fa'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-light:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(248,249,250,.25)}.dark-mode .custom-control-input-light:focus:not(:checked)~.custom-control-label::before{border-color:#fff}.dark-mode .custom-control-input-light:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-dark:checked~.custom-control-label::before{border-color:#343a40;background-color:#343a40}.dark-mode .custom-control-input-dark.custom-control-input-outline:checked[type=checkbox]~.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='%23343a40' 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")!important}.dark-mode .custom-control-input-dark.custom-control-input-outline:checked[type=radio]~.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='%23343a40'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-dark:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,58,64,.25)}.dark-mode .custom-control-input-dark:focus:not(:checked)~.custom-control-label::before{border-color:#6d7a86}.dark-mode .custom-control-input-dark:not(:disabled):active~.custom-control-label::before{background-color:#88939e;border-color:#88939e}.dark-mode .custom-control-input-lightblue:checked~.custom-control-label::before{border-color:#86bad8;background-color:#86bad8}.dark-mode .custom-control-input-lightblue.custom-control-input-outline:checked[type=checkbox]~.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='%2386bad8' 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")!important}.dark-mode .custom-control-input-lightblue.custom-control-input-outline:checked[type=radio]~.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='%2386bad8'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-lightblue:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(134,186,216,.25)}.dark-mode .custom-control-input-lightblue:focus:not(:checked)~.custom-control-label::before{border-color:#e6f1f7}.dark-mode .custom-control-input-lightblue:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-navy:checked~.custom-control-label::before{border-color:#002c59;background-color:#002c59}.dark-mode .custom-control-input-navy.custom-control-input-outline:checked[type=checkbox]~.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='%23002c59' 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")!important}.dark-mode .custom-control-input-navy.custom-control-input-outline:checked[type=radio]~.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='%23002c59'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-navy:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,44,89,.25)}.dark-mode .custom-control-input-navy:focus:not(:checked)~.custom-control-label::before{border-color:#006ad8}.dark-mode .custom-control-input-navy:not(:disabled):active~.custom-control-label::before{background-color:#0c84ff;border-color:#0c84ff}.dark-mode .custom-control-input-olive:checked~.custom-control-label::before{border-color:#74c8a3;background-color:#74c8a3}.dark-mode .custom-control-input-olive.custom-control-input-outline:checked[type=checkbox]~.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='%2374c8a3' 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")!important}.dark-mode .custom-control-input-olive.custom-control-input-outline:checked[type=radio]~.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='%2374c8a3'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-olive:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(116,200,163,.25)}.dark-mode .custom-control-input-olive:focus:not(:checked)~.custom-control-label::before{border-color:#cfecdf}.dark-mode .custom-control-input-olive:not(:disabled):active~.custom-control-label::before{background-color:#f4fbf8;border-color:#f4fbf8}.dark-mode .custom-control-input-lime:checked~.custom-control-label::before{border-color:#67ffa9;background-color:#67ffa9}.dark-mode .custom-control-input-lime.custom-control-input-outline:checked[type=checkbox]~.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='%2367ffa9' 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")!important}.dark-mode .custom-control-input-lime.custom-control-input-outline:checked[type=radio]~.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='%2367ffa9'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-lime:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(103,255,169,.25)}.dark-mode .custom-control-input-lime:focus:not(:checked)~.custom-control-label::before{border-color:#e7fff1}.dark-mode .custom-control-input-lime:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-fuchsia:checked~.custom-control-label::before{border-color:#f672d8;background-color:#f672d8}.dark-mode .custom-control-input-fuchsia.custom-control-input-outline:checked[type=checkbox]~.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='%23f672d8' 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")!important}.dark-mode .custom-control-input-fuchsia.custom-control-input-outline:checked[type=radio]~.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='%23f672d8'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-fuchsia:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(246,114,216,.25)}.dark-mode .custom-control-input-fuchsia:focus:not(:checked)~.custom-control-label::before{border-color:#feeaf9}.dark-mode .custom-control-input-fuchsia:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-maroon:checked~.custom-control-label::before{border-color:#ed6c9b;background-color:#ed6c9b}.dark-mode .custom-control-input-maroon.custom-control-input-outline:checked[type=checkbox]~.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='%23ed6c9b' 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")!important}.dark-mode .custom-control-input-maroon.custom-control-input-outline:checked[type=radio]~.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='%23ed6c9b'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-maroon:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(237,108,155,.25)}.dark-mode .custom-control-input-maroon:focus:not(:checked)~.custom-control-label::before{border-color:#fbdee8}.dark-mode .custom-control-input-maroon:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-blue:checked~.custom-control-label::before{border-color:#3f6791;background-color:#3f6791}.dark-mode .custom-control-input-blue.custom-control-input-outline:checked[type=checkbox]~.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='%233f6791' 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")!important}.dark-mode .custom-control-input-blue.custom-control-input-outline:checked[type=radio]~.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='%233f6791'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-blue:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(63,103,145,.25)}.dark-mode .custom-control-input-blue:focus:not(:checked)~.custom-control-label::before{border-color:#85a7ca}.dark-mode .custom-control-input-blue:not(:disabled):active~.custom-control-label::before{background-color:#a9c1da;border-color:#a9c1da}.dark-mode .custom-control-input-indigo:checked~.custom-control-label::before{border-color:#6610f2;background-color:#6610f2}.dark-mode .custom-control-input-indigo.custom-control-input-outline:checked[type=checkbox]~.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='%236610f2' 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")!important}.dark-mode .custom-control-input-indigo.custom-control-input-outline:checked[type=radio]~.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='%236610f2'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-indigo:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(102,16,242,.25)}.dark-mode .custom-control-input-indigo:focus:not(:checked)~.custom-control-label::before{border-color:#b389f9}.dark-mode .custom-control-input-indigo:not(:disabled):active~.custom-control-label::before{background-color:#d2b9fb;border-color:#d2b9fb}.dark-mode .custom-control-input-purple:checked~.custom-control-label::before{border-color:#6f42c1;background-color:#6f42c1}.dark-mode .custom-control-input-purple.custom-control-input-outline:checked[type=checkbox]~.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='%236f42c1' 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")!important}.dark-mode .custom-control-input-purple.custom-control-input-outline:checked[type=radio]~.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='%236f42c1'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-purple:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(111,66,193,.25)}.dark-mode .custom-control-input-purple:focus:not(:checked)~.custom-control-label::before{border-color:#b8a2e0}.dark-mode .custom-control-input-purple:not(:disabled):active~.custom-control-label::before{background-color:#d5c8ed;border-color:#d5c8ed}.dark-mode .custom-control-input-pink:checked~.custom-control-label::before{border-color:#e83e8c;background-color:#e83e8c}.dark-mode .custom-control-input-pink.custom-control-input-outline:checked[type=checkbox]~.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='%23e83e8c' 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")!important}.dark-mode .custom-control-input-pink.custom-control-input-outline:checked[type=radio]~.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='%23e83e8c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-pink:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(232,62,140,.25)}.dark-mode .custom-control-input-pink:focus:not(:checked)~.custom-control-label::before{border-color:#f6b0d0}.dark-mode .custom-control-input-pink:not(:disabled):active~.custom-control-label::before{background-color:#fbddeb;border-color:#fbddeb}.dark-mode .custom-control-input-red:checked~.custom-control-label::before{border-color:#e74c3c;background-color:#e74c3c}.dark-mode .custom-control-input-red.custom-control-input-outline:checked[type=checkbox]~.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='%23e74c3c' 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")!important}.dark-mode .custom-control-input-red.custom-control-input-outline:checked[type=radio]~.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='%23e74c3c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-red:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(231,76,60,.25)}.dark-mode .custom-control-input-red:focus:not(:checked)~.custom-control-label::before{border-color:#f5b4ae}.dark-mode .custom-control-input-red:not(:disabled):active~.custom-control-label::before{background-color:#fbdedb;border-color:#fbdedb}.dark-mode .custom-control-input-orange:checked~.custom-control-label::before{border-color:#fd7e14;background-color:#fd7e14}.dark-mode .custom-control-input-orange.custom-control-input-outline:checked[type=checkbox]~.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='%23fd7e14' 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")!important}.dark-mode .custom-control-input-orange.custom-control-input-outline:checked[type=radio]~.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='%23fd7e14'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-orange:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(253,126,20,.25)}.dark-mode .custom-control-input-orange:focus:not(:checked)~.custom-control-label::before{border-color:#fec392}.dark-mode .custom-control-input-orange:not(:disabled):active~.custom-control-label::before{background-color:#ffdfc5;border-color:#ffdfc5}.dark-mode .custom-control-input-yellow:checked~.custom-control-label::before{border-color:#f39c12;background-color:#f39c12}.dark-mode .custom-control-input-yellow.custom-control-input-outline:checked[type=checkbox]~.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='%23f39c12' 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")!important}.dark-mode .custom-control-input-yellow.custom-control-input-outline:checked[type=radio]~.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='%23f39c12'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-yellow:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(243,156,18,.25)}.dark-mode .custom-control-input-yellow:focus:not(:checked)~.custom-control-label::before{border-color:#f9cf8b}.dark-mode .custom-control-input-yellow:not(:disabled):active~.custom-control-label::before{background-color:#fce3bc;border-color:#fce3bc}.dark-mode .custom-control-input-green:checked~.custom-control-label::before{border-color:#00bc8c;background-color:#00bc8c}.dark-mode .custom-control-input-green.custom-control-input-outline:checked[type=checkbox]~.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='%2300bc8c' 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")!important}.dark-mode .custom-control-input-green.custom-control-input-outline:checked[type=radio]~.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='%2300bc8c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-green:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,188,140,.25)}.dark-mode .custom-control-input-green:focus:not(:checked)~.custom-control-label::before{border-color:#3dffcd}.dark-mode .custom-control-input-green:not(:disabled):active~.custom-control-label::before{background-color:#70ffda;border-color:#70ffda}.dark-mode .custom-control-input-teal:checked~.custom-control-label::before{border-color:#20c997;background-color:#20c997}.dark-mode .custom-control-input-teal.custom-control-input-outline:checked[type=checkbox]~.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='%2320c997' 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")!important}.dark-mode .custom-control-input-teal.custom-control-input-outline:checked[type=radio]~.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='%2320c997'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-teal:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(32,201,151,.25)}.dark-mode .custom-control-input-teal:focus:not(:checked)~.custom-control-label::before{border-color:#7eeaca}.dark-mode .custom-control-input-teal:not(:disabled):active~.custom-control-label::before{background-color:#aaf1dc;border-color:#aaf1dc}.dark-mode .custom-control-input-cyan:checked~.custom-control-label::before{border-color:#3498db;background-color:#3498db}.dark-mode .custom-control-input-cyan.custom-control-input-outline:checked[type=checkbox]~.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='%233498db' 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")!important}.dark-mode .custom-control-input-cyan.custom-control-input-outline:checked[type=radio]~.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='%233498db'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-cyan:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,152,219,.25)}.dark-mode .custom-control-input-cyan:focus:not(:checked)~.custom-control-label::before{border-color:#a0cfee}.dark-mode .custom-control-input-cyan:not(:disabled):active~.custom-control-label::before{background-color:#cce5f6;border-color:#cce5f6}.dark-mode .custom-control-input-white:checked~.custom-control-label::before{border-color:#fff;background-color:#fff}.dark-mode .custom-control-input-white.custom-control-input-outline:checked[type=checkbox]~.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")!important}.dark-mode .custom-control-input-white.custom-control-input-outline:checked[type=radio]~.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")!important}.dark-mode .custom-control-input-white:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(255,255,255,.25)}.dark-mode .custom-control-input-white:focus:not(:checked)~.custom-control-label::before{border-color:#fff}.dark-mode .custom-control-input-white:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-gray:checked~.custom-control-label::before{border-color:#6c757d;background-color:#6c757d}.dark-mode .custom-control-input-gray.custom-control-input-outline:checked[type=checkbox]~.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='%236c757d' 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")!important}.dark-mode .custom-control-input-gray.custom-control-input-outline:checked[type=radio]~.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='%236c757d'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-gray:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(108,117,125,.25)}.dark-mode .custom-control-input-gray:focus:not(:checked)~.custom-control-label::before{border-color:#afb5ba}.dark-mode .custom-control-input-gray:not(:disabled):active~.custom-control-label::before{background-color:#caced1;border-color:#caced1}.dark-mode .custom-control-input-gray-dark:checked~.custom-control-label::before{border-color:#343a40;background-color:#343a40}.dark-mode .custom-control-input-gray-dark.custom-control-input-outline:checked[type=checkbox]~.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='%23343a40' 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")!important}.dark-mode .custom-control-input-gray-dark.custom-control-input-outline:checked[type=radio]~.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='%23343a40'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-gray-dark:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,58,64,.25)}.dark-mode .custom-control-input-gray-dark:focus:not(:checked)~.custom-control-label::before{border-color:#6d7a86}.dark-mode .custom-control-input-gray-dark:not(:disabled):active~.custom-control-label::before{background-color:#88939e;border-color:#88939e}.progress{box-shadow:none;border-radius:1px}.progress.vertical{display:inline-block;height:200px;margin-right:10px;position:relative;width:30px}.progress.vertical>.progress-bar{bottom:0;position:absolute;width:100%}.progress.vertical.progress-sm,.progress.vertical.sm{width:20px}.progress.vertical.progress-xs,.progress.vertical.xs{width:10px}.progress.vertical.progress-xxs,.progress.vertical.xxs{width:3px}.progress-group{margin-bottom:.5rem}.progress-sm{height:10px}.progress-xs{height:7px}.progress-xxs{height:3px}.table tr>td .progress{margin:0}.dark-mode .progress{background:#454d55}.card-primary:not(.card-outline)>.card-header{background-color:#007bff}.card-primary:not(.card-outline)>.card-header,.card-primary:not(.card-outline)>.card-header a{color:#fff}.card-primary:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-primary.card-outline{border-top:3px solid #007bff}.card-primary.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-primary.card-outline-tabs>.card-header a.active{border-top:3px solid #007bff}.bg-gradient-primary>.card-header .btn-tool,.bg-primary>.card-header .btn-tool,.card-primary:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-primary>.card-header .btn-tool:hover,.bg-primary>.card-header .btn-tool:hover,.card-primary:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-primary .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-primary .bootstrap-datetimepicker-widget .table th,.card.bg-primary .bootstrap-datetimepicker-widget .table td,.card.bg-primary .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-primary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#0067d6;color:#fff}.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.today::before,.card.bg-primary .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.active,.card.bg-primary .bootstrap-datetimepicker-widget table td.active:hover{background-color:#3395ff;color:#fff}.card-secondary:not(.card-outline)>.card-header{background-color:#6c757d}.card-secondary:not(.card-outline)>.card-header,.card-secondary:not(.card-outline)>.card-header a{color:#fff}.card-secondary:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-secondary.card-outline{border-top:3px solid #6c757d}.card-secondary.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-secondary.card-outline-tabs>.card-header a.active{border-top:3px solid #6c757d}.bg-gradient-secondary>.card-header .btn-tool,.bg-secondary>.card-header .btn-tool,.card-secondary:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-secondary>.card-header .btn-tool:hover,.bg-secondary>.card-header .btn-tool:hover,.card-secondary:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-secondary .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget .table th,.card.bg-secondary .bootstrap-datetimepicker-widget .table td,.card.bg-secondary .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#596167;color:#fff}.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.today::before,.card.bg-secondary .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.active,.card.bg-secondary .bootstrap-datetimepicker-widget table td.active:hover{background-color:#868e96;color:#fff}.card-success:not(.card-outline)>.card-header{background-color:#28a745}.card-success:not(.card-outline)>.card-header,.card-success:not(.card-outline)>.card-header a{color:#fff}.card-success:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-success.card-outline{border-top:3px solid #28a745}.card-success.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-success.card-outline-tabs>.card-header a.active{border-top:3px solid #28a745}.bg-gradient-success>.card-header .btn-tool,.bg-success>.card-header .btn-tool,.card-success:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-success>.card-header .btn-tool:hover,.bg-success>.card-header .btn-tool:hover,.card-success:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-success .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-success .bootstrap-datetimepicker-widget .table th,.card.bg-success .bootstrap-datetimepicker-widget .table td,.card.bg-success .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-success .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-success .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#208637;color:#fff}.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.today::before,.card.bg-success .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.active,.card.bg-success .bootstrap-datetimepicker-widget table td.active:hover{background-color:#34ce57;color:#fff}.card-info:not(.card-outline)>.card-header{background-color:#17a2b8}.card-info:not(.card-outline)>.card-header,.card-info:not(.card-outline)>.card-header a{color:#fff}.card-info:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-info.card-outline{border-top:3px solid #17a2b8}.card-info.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-info.card-outline-tabs>.card-header a.active{border-top:3px solid #17a2b8}.bg-gradient-info>.card-header .btn-tool,.bg-info>.card-header .btn-tool,.card-info:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-info>.card-header .btn-tool:hover,.bg-info>.card-header .btn-tool:hover,.card-info:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-info .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-info .bootstrap-datetimepicker-widget .table th,.card.bg-info .bootstrap-datetimepicker-widget .table td,.card.bg-info .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-info .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-info .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#128294;color:#fff}.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.today::before,.card.bg-info .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.active,.card.bg-info .bootstrap-datetimepicker-widget table td.active:hover{background-color:#1fc8e3;color:#fff}.card-warning:not(.card-outline)>.card-header{background-color:#ffc107}.card-warning:not(.card-outline)>.card-header,.card-warning:not(.card-outline)>.card-header a{color:#1f2d3d}.card-warning:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-warning.card-outline{border-top:3px solid #ffc107}.card-warning.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-warning.card-outline-tabs>.card-header a.active{border-top:3px solid #ffc107}.bg-gradient-warning>.card-header .btn-tool,.bg-warning>.card-header .btn-tool,.card-warning:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-warning>.card-header .btn-tool:hover,.bg-warning>.card-header .btn-tool:hover,.card-warning:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-warning .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-warning .bootstrap-datetimepicker-widget .table th,.card.bg-warning .bootstrap-datetimepicker-widget .table td,.card.bg-warning .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-warning .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#dda600;color:#1f2d3d}.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.today::before,.card.bg-warning .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.active,.card.bg-warning .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ffce3a;color:#1f2d3d}.card-danger:not(.card-outline)>.card-header{background-color:#dc3545}.card-danger:not(.card-outline)>.card-header,.card-danger:not(.card-outline)>.card-header a{color:#fff}.card-danger:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-danger.card-outline{border-top:3px solid #dc3545}.card-danger.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-danger.card-outline-tabs>.card-header a.active{border-top:3px solid #dc3545}.bg-danger>.card-header .btn-tool,.bg-gradient-danger>.card-header .btn-tool,.card-danger:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-danger>.card-header .btn-tool:hover,.bg-gradient-danger>.card-header .btn-tool:hover,.card-danger:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-danger .bootstrap-datetimepicker-widget .table td,.card.bg-danger .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-danger .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-danger .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-danger .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-danger .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-danger .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-danger .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-danger .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#c62232;color:#fff}.card.bg-danger .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-danger .bootstrap-datetimepicker-widget table td.active,.card.bg-danger .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.active:hover{background-color:#e4606d;color:#fff}.card-light:not(.card-outline)>.card-header{background-color:#f8f9fa}.card-light:not(.card-outline)>.card-header,.card-light:not(.card-outline)>.card-header a{color:#1f2d3d}.card-light:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-light.card-outline{border-top:3px solid #f8f9fa}.card-light.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-light.card-outline-tabs>.card-header a.active{border-top:3px solid #f8f9fa}.bg-gradient-light>.card-header .btn-tool,.bg-light>.card-header .btn-tool,.card-light:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-light>.card-header .btn-tool:hover,.bg-light>.card-header .btn-tool:hover,.card-light:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-light .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-light .bootstrap-datetimepicker-widget .table th,.card.bg-light .bootstrap-datetimepicker-widget .table td,.card.bg-light .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-light .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-light .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e0e5e9;color:#1f2d3d}.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.today::before,.card.bg-light .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.active,.card.bg-light .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fff;color:#1f2d3d}.card-dark:not(.card-outline)>.card-header{background-color:#343a40}.card-dark:not(.card-outline)>.card-header,.card-dark:not(.card-outline)>.card-header a{color:#fff}.card-dark:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-dark.card-outline{border-top:3px solid #343a40}.card-dark.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-dark.card-outline-tabs>.card-header a.active{border-top:3px solid #343a40}.bg-dark>.card-header .btn-tool,.bg-gradient-dark>.card-header .btn-tool,.card-dark:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-dark>.card-header .btn-tool:hover,.bg-gradient-dark>.card-header .btn-tool:hover,.card-dark:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-dark .bootstrap-datetimepicker-widget .table td,.card.bg-dark .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-dark .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-dark .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-dark .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-dark .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-dark .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-dark .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#222629;color:#fff}.card.bg-dark .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-dark .bootstrap-datetimepicker-widget table td.active,.card.bg-dark .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.active:hover{background-color:#4b545c;color:#fff}.card-lightblue:not(.card-outline)>.card-header{background-color:#3c8dbc}.card-lightblue:not(.card-outline)>.card-header,.card-lightblue:not(.card-outline)>.card-header a{color:#fff}.card-lightblue:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-lightblue.card-outline{border-top:3px solid #3c8dbc}.card-lightblue.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-lightblue.card-outline-tabs>.card-header a.active{border-top:3px solid #3c8dbc}.bg-gradient-lightblue>.card-header .btn-tool,.bg-lightblue>.card-header .btn-tool,.card-lightblue:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-lightblue>.card-header .btn-tool:hover,.bg-lightblue>.card-header .btn-tool:hover,.card-lightblue:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget .table th,.card.bg-lightblue .bootstrap-datetimepicker-widget .table td,.card.bg-lightblue .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#32769d;color:#fff}.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.today::before,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.active,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5fa4cc;color:#fff}.card-navy:not(.card-outline)>.card-header{background-color:#001f3f}.card-navy:not(.card-outline)>.card-header,.card-navy:not(.card-outline)>.card-header a{color:#fff}.card-navy:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-navy.card-outline{border-top:3px solid #001f3f}.card-navy.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-navy.card-outline-tabs>.card-header a.active{border-top:3px solid #001f3f}.bg-gradient-navy>.card-header .btn-tool,.bg-navy>.card-header .btn-tool,.card-navy:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-navy>.card-header .btn-tool:hover,.bg-navy>.card-header .btn-tool:hover,.card-navy:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-navy .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-navy .bootstrap-datetimepicker-widget .table th,.card.bg-navy .bootstrap-datetimepicker-widget .table td,.card.bg-navy .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-navy .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#000b16;color:#fff}.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.today::before,.card.bg-navy .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.active,.card.bg-navy .bootstrap-datetimepicker-widget table td.active:hover{background-color:#003872;color:#fff}.card-olive:not(.card-outline)>.card-header{background-color:#3d9970}.card-olive:not(.card-outline)>.card-header,.card-olive:not(.card-outline)>.card-header a{color:#fff}.card-olive:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-olive.card-outline{border-top:3px solid #3d9970}.card-olive.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-olive.card-outline-tabs>.card-header a.active{border-top:3px solid #3d9970}.bg-gradient-olive>.card-header .btn-tool,.bg-olive>.card-header .btn-tool,.card-olive:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-olive>.card-header .btn-tool:hover,.bg-olive>.card-header .btn-tool:hover,.card-olive:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-olive .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-olive .bootstrap-datetimepicker-widget .table th,.card.bg-olive .bootstrap-datetimepicker-widget .table td,.card.bg-olive .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-olive .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#317c5b;color:#fff}.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.today::before,.card.bg-olive .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.active,.card.bg-olive .bootstrap-datetimepicker-widget table td.active:hover{background-color:#50b98a;color:#fff}.card-lime:not(.card-outline)>.card-header{background-color:#01ff70}.card-lime:not(.card-outline)>.card-header,.card-lime:not(.card-outline)>.card-header a{color:#1f2d3d}.card-lime:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-lime.card-outline{border-top:3px solid #01ff70}.card-lime.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-lime.card-outline-tabs>.card-header a.active{border-top:3px solid #01ff70}.bg-gradient-lime>.card-header .btn-tool,.bg-lime>.card-header .btn-tool,.card-lime:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-lime>.card-header .btn-tool:hover,.bg-lime>.card-header .btn-tool:hover,.card-lime:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-lime .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-lime .bootstrap-datetimepicker-widget .table th,.card.bg-lime .bootstrap-datetimepicker-widget .table td,.card.bg-lime .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-lime .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#00d75e;color:#1f2d3d}.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.today::before,.card.bg-lime .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.active,.card.bg-lime .bootstrap-datetimepicker-widget table td.active:hover{background-color:#34ff8d;color:#1f2d3d}.card-fuchsia:not(.card-outline)>.card-header{background-color:#f012be}.card-fuchsia:not(.card-outline)>.card-header,.card-fuchsia:not(.card-outline)>.card-header a{color:#fff}.card-fuchsia:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-fuchsia.card-outline{border-top:3px solid #f012be}.card-fuchsia.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-fuchsia.card-outline-tabs>.card-header a.active{border-top:3px solid #f012be}.bg-fuchsia>.card-header .btn-tool,.bg-gradient-fuchsia>.card-header .btn-tool,.card-fuchsia:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-fuchsia>.card-header .btn-tool:hover,.bg-gradient-fuchsia>.card-header .btn-tool:hover,.card-fuchsia:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-fuchsia .bootstrap-datetimepicker-widget .table td,.card.bg-fuchsia .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-fuchsia .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#cc0da1;color:#fff}.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.active,.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f342cb;color:#fff}.card-maroon:not(.card-outline)>.card-header{background-color:#d81b60}.card-maroon:not(.card-outline)>.card-header,.card-maroon:not(.card-outline)>.card-header a{color:#fff}.card-maroon:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-maroon.card-outline{border-top:3px solid #d81b60}.card-maroon.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-maroon.card-outline-tabs>.card-header a.active{border-top:3px solid #d81b60}.bg-gradient-maroon>.card-header .btn-tool,.bg-maroon>.card-header .btn-tool,.card-maroon:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-maroon>.card-header .btn-tool:hover,.bg-maroon>.card-header .btn-tool:hover,.card-maroon:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-maroon .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget .table th,.card.bg-maroon .bootstrap-datetimepicker-widget .table td,.card.bg-maroon .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#b41650;color:#fff}.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.today::before,.card.bg-maroon .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.active,.card.bg-maroon .bootstrap-datetimepicker-widget table td.active:hover{background-color:#e73f7c;color:#fff}.card-blue:not(.card-outline)>.card-header{background-color:#007bff}.card-blue:not(.card-outline)>.card-header,.card-blue:not(.card-outline)>.card-header a{color:#fff}.card-blue:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-blue.card-outline{border-top:3px solid #007bff}.card-blue.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-blue.card-outline-tabs>.card-header a.active{border-top:3px solid #007bff}.bg-blue>.card-header .btn-tool,.bg-gradient-blue>.card-header .btn-tool,.card-blue:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-blue>.card-header .btn-tool:hover,.bg-gradient-blue>.card-header .btn-tool:hover,.card-blue:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-blue .bootstrap-datetimepicker-widget .table td,.card.bg-blue .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-blue .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-blue .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-blue .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-blue .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-blue .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-blue .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-blue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#0067d6;color:#fff}.card.bg-blue .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-blue .bootstrap-datetimepicker-widget table td.active,.card.bg-blue .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.active:hover{background-color:#3395ff;color:#fff}.card-indigo:not(.card-outline)>.card-header{background-color:#6610f2}.card-indigo:not(.card-outline)>.card-header,.card-indigo:not(.card-outline)>.card-header a{color:#fff}.card-indigo:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-indigo.card-outline{border-top:3px solid #6610f2}.card-indigo.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-indigo.card-outline-tabs>.card-header a.active{border-top:3px solid #6610f2}.bg-gradient-indigo>.card-header .btn-tool,.bg-indigo>.card-header .btn-tool,.card-indigo:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-indigo>.card-header .btn-tool:hover,.bg-indigo>.card-header .btn-tool:hover,.card-indigo:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-indigo .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget .table th,.card.bg-indigo .bootstrap-datetimepicker-widget .table td,.card.bg-indigo .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#550bce;color:#fff}.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.today::before,.card.bg-indigo .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.active,.card.bg-indigo .bootstrap-datetimepicker-widget table td.active:hover{background-color:#8540f5;color:#fff}.card-purple:not(.card-outline)>.card-header{background-color:#6f42c1}.card-purple:not(.card-outline)>.card-header,.card-purple:not(.card-outline)>.card-header a{color:#fff}.card-purple:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-purple.card-outline{border-top:3px solid #6f42c1}.card-purple.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-purple.card-outline-tabs>.card-header a.active{border-top:3px solid #6f42c1}.bg-gradient-purple>.card-header .btn-tool,.bg-purple>.card-header .btn-tool,.card-purple:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-purple>.card-header .btn-tool:hover,.bg-purple>.card-header .btn-tool:hover,.card-purple:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-purple .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-purple .bootstrap-datetimepicker-widget .table th,.card.bg-purple .bootstrap-datetimepicker-widget .table td,.card.bg-purple .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-purple .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#5d36a4;color:#fff}.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.today::before,.card.bg-purple .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.active,.card.bg-purple .bootstrap-datetimepicker-widget table td.active:hover{background-color:#8c68ce;color:#fff}.card-pink:not(.card-outline)>.card-header{background-color:#e83e8c}.card-pink:not(.card-outline)>.card-header,.card-pink:not(.card-outline)>.card-header a{color:#fff}.card-pink:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-pink.card-outline{border-top:3px solid #e83e8c}.card-pink.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-pink.card-outline-tabs>.card-header a.active{border-top:3px solid #e83e8c}.bg-gradient-pink>.card-header .btn-tool,.bg-pink>.card-header .btn-tool,.card-pink:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-pink>.card-header .btn-tool:hover,.bg-pink>.card-header .btn-tool:hover,.card-pink:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-pink .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-pink .bootstrap-datetimepicker-widget .table th,.card.bg-pink .bootstrap-datetimepicker-widget .table td,.card.bg-pink .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-pink .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e21b76;color:#fff}.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.today::before,.card.bg-pink .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.active,.card.bg-pink .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ed6ca7;color:#fff}.card-red:not(.card-outline)>.card-header{background-color:#dc3545}.card-red:not(.card-outline)>.card-header,.card-red:not(.card-outline)>.card-header a{color:#fff}.card-red:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-red.card-outline{border-top:3px solid #dc3545}.card-red.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-red.card-outline-tabs>.card-header a.active{border-top:3px solid #dc3545}.bg-gradient-red>.card-header .btn-tool,.bg-red>.card-header .btn-tool,.card-red:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-red>.card-header .btn-tool:hover,.bg-red>.card-header .btn-tool:hover,.card-red:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-red .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-red .bootstrap-datetimepicker-widget .table th,.card.bg-red .bootstrap-datetimepicker-widget .table td,.card.bg-red .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-red .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-red .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#c62232;color:#fff}.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.today::before,.card.bg-red .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.active,.card.bg-red .bootstrap-datetimepicker-widget table td.active:hover{background-color:#e4606d;color:#fff}.card-orange:not(.card-outline)>.card-header{background-color:#fd7e14}.card-orange:not(.card-outline)>.card-header,.card-orange:not(.card-outline)>.card-header a{color:#1f2d3d}.card-orange:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-orange.card-outline{border-top:3px solid #fd7e14}.card-orange.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-orange.card-outline-tabs>.card-header a.active{border-top:3px solid #fd7e14}.bg-gradient-orange>.card-header .btn-tool,.bg-orange>.card-header .btn-tool,.card-orange:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-orange>.card-header .btn-tool:hover,.bg-orange>.card-header .btn-tool:hover,.card-orange:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-orange .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-orange .bootstrap-datetimepicker-widget .table th,.card.bg-orange .bootstrap-datetimepicker-widget .table td,.card.bg-orange .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-orange .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e66a02;color:#1f2d3d}.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.today::before,.card.bg-orange .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.active,.card.bg-orange .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fd9a47;color:#1f2d3d}.card-yellow:not(.card-outline)>.card-header{background-color:#ffc107}.card-yellow:not(.card-outline)>.card-header,.card-yellow:not(.card-outline)>.card-header a{color:#1f2d3d}.card-yellow:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-yellow.card-outline{border-top:3px solid #ffc107}.card-yellow.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-yellow.card-outline-tabs>.card-header a.active{border-top:3px solid #ffc107}.bg-gradient-yellow>.card-header .btn-tool,.bg-yellow>.card-header .btn-tool,.card-yellow:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-yellow>.card-header .btn-tool:hover,.bg-yellow>.card-header .btn-tool:hover,.card-yellow:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-yellow .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget .table th,.card.bg-yellow .bootstrap-datetimepicker-widget .table td,.card.bg-yellow .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#dda600;color:#1f2d3d}.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.today::before,.card.bg-yellow .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.active,.card.bg-yellow .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ffce3a;color:#1f2d3d}.card-green:not(.card-outline)>.card-header{background-color:#28a745}.card-green:not(.card-outline)>.card-header,.card-green:not(.card-outline)>.card-header a{color:#fff}.card-green:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-green.card-outline{border-top:3px solid #28a745}.card-green.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-green.card-outline-tabs>.card-header a.active{border-top:3px solid #28a745}.bg-gradient-green>.card-header .btn-tool,.bg-green>.card-header .btn-tool,.card-green:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-green>.card-header .btn-tool:hover,.bg-green>.card-header .btn-tool:hover,.card-green:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-green .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-green .bootstrap-datetimepicker-widget .table th,.card.bg-green .bootstrap-datetimepicker-widget .table td,.card.bg-green .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-green .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-green .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#208637;color:#fff}.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.today::before,.card.bg-green .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.active,.card.bg-green .bootstrap-datetimepicker-widget table td.active:hover{background-color:#34ce57;color:#fff}.card-teal:not(.card-outline)>.card-header{background-color:#20c997}.card-teal:not(.card-outline)>.card-header,.card-teal:not(.card-outline)>.card-header a{color:#fff}.card-teal:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-teal.card-outline{border-top:3px solid #20c997}.card-teal.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-teal.card-outline-tabs>.card-header a.active{border-top:3px solid #20c997}.bg-gradient-teal>.card-header .btn-tool,.bg-teal>.card-header .btn-tool,.card-teal:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-teal>.card-header .btn-tool:hover,.bg-teal>.card-header .btn-tool:hover,.card-teal:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-teal .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-teal .bootstrap-datetimepicker-widget .table th,.card.bg-teal .bootstrap-datetimepicker-widget .table td,.card.bg-teal .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#1aa67d;color:#fff}.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.today::before,.card.bg-teal .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.active,.card.bg-teal .bootstrap-datetimepicker-widget table td.active:hover{background-color:#3ce0af;color:#fff}.card-cyan:not(.card-outline)>.card-header{background-color:#17a2b8}.card-cyan:not(.card-outline)>.card-header,.card-cyan:not(.card-outline)>.card-header a{color:#fff}.card-cyan:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-cyan.card-outline{border-top:3px solid #17a2b8}.card-cyan.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-cyan.card-outline-tabs>.card-header a.active{border-top:3px solid #17a2b8}.bg-cyan>.card-header .btn-tool,.bg-gradient-cyan>.card-header .btn-tool,.card-cyan:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-cyan>.card-header .btn-tool:hover,.bg-gradient-cyan>.card-header .btn-tool:hover,.card-cyan:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-cyan .bootstrap-datetimepicker-widget .table td,.card.bg-cyan .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-cyan .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-cyan .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-cyan .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-cyan .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-cyan .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#128294;color:#fff}.card.bg-cyan .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-cyan .bootstrap-datetimepicker-widget table td.active,.card.bg-cyan .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.active:hover{background-color:#1fc8e3;color:#fff}.card-white:not(.card-outline)>.card-header{background-color:#fff}.card-white:not(.card-outline)>.card-header,.card-white:not(.card-outline)>.card-header a{color:#1f2d3d}.card-white:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-white.card-outline{border-top:3px solid #fff}.card-white.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-white.card-outline-tabs>.card-header a.active{border-top:3px solid #fff}.bg-gradient-white>.card-header .btn-tool,.bg-white>.card-header .btn-tool,.card-white:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-white>.card-header .btn-tool:hover,.bg-white>.card-header .btn-tool:hover,.card-white:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-white .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-white .bootstrap-datetimepicker-widget .table th,.card.bg-white .bootstrap-datetimepicker-widget .table td,.card.bg-white .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-white .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-white .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#ebebeb;color:#1f2d3d}.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.today::before,.card.bg-white .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.active,.card.bg-white .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fff;color:#1f2d3d}.card-gray:not(.card-outline)>.card-header{background-color:#6c757d}.card-gray:not(.card-outline)>.card-header,.card-gray:not(.card-outline)>.card-header a{color:#fff}.card-gray:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-gray.card-outline{border-top:3px solid #6c757d}.card-gray.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-gray.card-outline-tabs>.card-header a.active{border-top:3px solid #6c757d}.bg-gradient-gray>.card-header .btn-tool,.bg-gray>.card-header .btn-tool,.card-gray:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-gray>.card-header .btn-tool:hover,.bg-gray>.card-header .btn-tool:hover,.card-gray:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-gray .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-gray .bootstrap-datetimepicker-widget .table th,.card.bg-gray .bootstrap-datetimepicker-widget .table td,.card.bg-gray .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gray .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#596167;color:#fff}.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gray .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.active,.card.bg-gray .bootstrap-datetimepicker-widget table td.active:hover{background-color:#868e96;color:#fff}.card-gray-dark:not(.card-outline)>.card-header{background-color:#343a40}.card-gray-dark:not(.card-outline)>.card-header,.card-gray-dark:not(.card-outline)>.card-header a{color:#fff}.card-gray-dark:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-gray-dark.card-outline{border-top:3px solid #343a40}.card-gray-dark.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-gray-dark.card-outline-tabs>.card-header a.active{border-top:3px solid #343a40}.bg-gradient-gray-dark>.card-header .btn-tool,.bg-gray-dark>.card-header .btn-tool,.card-gray-dark:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-gray-dark>.card-header .btn-tool:hover,.bg-gray-dark>.card-header .btn-tool:hover,.card-gray-dark:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget .table th,.card.bg-gray-dark .bootstrap-datetimepicker-widget .table td,.card.bg-gray-dark .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#222629;color:#fff}.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.active,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.active:hover{background-color:#4b545c;color:#fff}.card{box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);margin-bottom:1rem}.card.bg-dark .card-header{border-color:#383f45}.card.bg-dark,.card.bg-dark .card-body{color:#fff}.card.maximized-card{height:100%!important;left:0;max-height:100%!important;max-width:100%!important;position:fixed;top:0;width:100%!important;z-index:1040}.card.maximized-card.was-collapsed .card-body{display:block!important}.card.maximized-card .card-body{overflow:auto}.card.maximized-card [data-card-widgett=collapse]{display:none}.card.maximized-card .card-footer,.card.maximized-card .card-header{border-radius:0!important}.card.collapsed-card .card-body,.card.collapsed-card .card-footer{display:none}.card .nav.flex-column>li{border-bottom:1px solid rgba(0,0,0,.125);margin:0}.card .nav.flex-column>li:last-of-type{border-bottom:0}.card.height-control .card-body{max-height:300px;overflow:auto}.card .border-right{border-right:1px solid rgba(0,0,0,.125)}.card .border-left{border-left:1px solid rgba(0,0,0,.125)}.card.card-tabs:not(.card-outline)>.card-header{border-bottom:0}.card.card-tabs:not(.card-outline)>.card-header .nav-item:first-child .nav-link{border-left-color:transparent}.card.card-tabs.card-outline .nav-item{border-bottom:0}.card.card-tabs.card-outline .nav-item:first-child .nav-link{border-left:0;margin-left:0}.card.card-tabs .card-tools{margin:.3rem .5rem}.card.card-tabs:not(.expanding-card).collapsed-card .card-header{border-bottom:0}.card.card-tabs:not(.expanding-card).collapsed-card .card-header .nav-tabs{border-bottom:0}.card.card-tabs:not(.expanding-card).collapsed-card .card-header .nav-tabs .nav-item{margin-bottom:0}.card.card-tabs.expanding-card .card-header .nav-tabs .nav-item{margin-bottom:-1px}.card.card-outline-tabs{border-top:0}.card.card-outline-tabs .card-header .nav-item:first-child .nav-link{border-left:0;margin-left:0}.card.card-outline-tabs .card-header a{border-top:3px solid transparent}.card.card-outline-tabs .card-header a:hover{border-top:3px solid #dee2e6}.card.card-outline-tabs .card-header a.active:hover{margin-top:0}.card.card-outline-tabs .card-tools{margin:.5rem .5rem .3rem}.card.card-outline-tabs:not(.expanding-card).collapsed-card .card-header{border-bottom:0}.card.card-outline-tabs:not(.expanding-card).collapsed-card .card-header .nav-tabs{border-bottom:0}.card.card-outline-tabs:not(.expanding-card).collapsed-card .card-header .nav-tabs .nav-item{margin-bottom:0}.card.card-outline-tabs.expanding-card .card-header .nav-tabs .nav-item{margin-bottom:-1px}html.maximized-card{overflow:hidden}.card-body::after,.card-footer::after,.card-header::after{display:block;clear:both;content:""}.card-header{background-color:transparent;border-bottom:1px solid rgba(0,0,0,.125);padding:.75rem 1.25rem;position:relative;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.collapsed-card .card-header{border-bottom:0}.card-header>.card-tools{float:right;margin-right:-.625rem}.card-header>.card-tools .input-group,.card-header>.card-tools .nav,.card-header>.card-tools .pagination{margin-bottom:-.3rem;margin-top:-.3rem}.card-header>.card-tools [data-toggle=tooltip]{position:relative}.card-title{float:left;font-size:1.1rem;font-weight:400;margin:0}.card-text{clear:both}.btn-tool{background-color:transparent;color:#adb5bd;font-size:.875rem;margin:-.75rem 0;padding:.25rem .5rem}.btn-group.show .btn-tool,.btn-tool:hover{color:#495057}.btn-tool:focus,.show .btn-tool{box-shadow:none!important}.text-sm .card-title{font-size:1rem}.text-sm .nav-link{padding:.4rem .8rem}.card-body>.table{margin-bottom:0}.card-body>.table>thead>tr>td,.card-body>.table>thead>tr>th{border-top-width:0}.card-body .fc{margin-top:5px}.card-body .full-width-chart{margin:-19px}.card-body.p-0 .full-width-chart{margin:-9px}.chart-legend{padding-left:0;list-style:none;margin:10px 0}@media (max-width:576px){.chart-legend>li{float:left;margin-right:10px}}.card-comments{background-color:#f8f9fa}.card-comments .card-comment{border-bottom:1px solid #e9ecef;padding:8px 0}.card-comments .card-comment::after{display:block;clear:both;content:""}.card-comments .card-comment:last-of-type{border-bottom:0}.card-comments .card-comment:first-of-type{padding-top:0}.card-comments .card-comment img{height:1.875rem;width:1.875rem;float:left}.card-comments .comment-text{color:#78838e;margin-left:40px}.card-comments .username{color:#495057;display:block;font-weight:600}.card-comments .text-muted{font-size:12px;font-weight:400}.todo-list{list-style:none;margin:0;overflow:auto;padding:0}.todo-list>li{border-radius:2px;background-color:#f8f9fa;border-left:2px solid #e9ecef;color:#495057;margin-bottom:2px;padding:10px}.todo-list>li:last-of-type{margin-bottom:0}.todo-list>li>input[type=checkbox]{margin:0 10px 0 5px}.todo-list>li .text{display:inline-block;font-weight:600;margin-left:5px}.todo-list>li .badge{font-size:.7rem;margin-left:10px}.todo-list>li .tools{color:#dc3545;display:none;float:right}.todo-list>li .tools>.fa,.todo-list>li .tools>.fab,.todo-list>li .tools>.fad,.todo-list>li .tools>.fal,.todo-list>li .tools>.far,.todo-list>li .tools>.fas,.todo-list>li .tools>.ion,.todo-list>li .tools>.svg-inline--fa{cursor:pointer;margin-right:5px}.todo-list>li:hover .tools{display:inline-block}.todo-list>li.done{color:#697582}.todo-list>li.done .text{font-weight:500;text-decoration:line-through}.todo-list>li.done .badge{background-color:#adb5bd!important}.todo-list .primary{border-left-color:#007bff}.todo-list .secondary{border-left-color:#6c757d}.todo-list .success{border-left-color:#28a745}.todo-list .info{border-left-color:#17a2b8}.todo-list .warning{border-left-color:#ffc107}.todo-list .danger{border-left-color:#dc3545}.todo-list .light{border-left-color:#f8f9fa}.todo-list .dark{border-left-color:#343a40}.todo-list .lightblue{border-left-color:#3c8dbc}.todo-list .navy{border-left-color:#001f3f}.todo-list .olive{border-left-color:#3d9970}.todo-list .lime{border-left-color:#01ff70}.todo-list .fuchsia{border-left-color:#f012be}.todo-list .maroon{border-left-color:#d81b60}.todo-list .blue{border-left-color:#007bff}.todo-list .indigo{border-left-color:#6610f2}.todo-list .purple{border-left-color:#6f42c1}.todo-list .pink{border-left-color:#e83e8c}.todo-list .red{border-left-color:#dc3545}.todo-list .orange{border-left-color:#fd7e14}.todo-list .yellow{border-left-color:#ffc107}.todo-list .green{border-left-color:#28a745}.todo-list .teal{border-left-color:#20c997}.todo-list .cyan{border-left-color:#17a2b8}.todo-list .white{border-left-color:#fff}.todo-list .gray{border-left-color:#6c757d}.todo-list .gray-dark{border-left-color:#343a40}.todo-list .handle{cursor:move;display:inline-block;margin:0 5px}.card-input{max-width:200px}.card-default .nav-item:first-child .nav-link{border-left:0}.dark-mode .card-primary:not(.card-outline)>.card-header{background-color:#3f6791}.dark-mode .card-primary:not(.card-outline)>.card-header,.dark-mode .card-primary:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-primary:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-primary.card-outline{border-top:3px solid #3f6791}.dark-mode .card-primary.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-primary.card-outline-tabs>.card-header a.active{border-top:3px solid #3f6791}.dark-mode .bg-gradient-primary>.card-header .btn-tool,.dark-mode .bg-primary>.card-header .btn-tool,.dark-mode .card-primary:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-primary>.card-header .btn-tool:hover,.dark-mode .bg-primary>.card-header .btn-tool:hover,.dark-mode .card-primary:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#335375;color:#fff}.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5080b3;color:#fff}.dark-mode .card-secondary:not(.card-outline)>.card-header{background-color:#6c757d}.dark-mode .card-secondary:not(.card-outline)>.card-header,.dark-mode .card-secondary:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-secondary:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-secondary.card-outline{border-top:3px solid #6c757d}.dark-mode .card-secondary.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-secondary.card-outline-tabs>.card-header a.active{border-top:3px solid #6c757d}.dark-mode .bg-gradient-secondary>.card-header .btn-tool,.dark-mode .bg-secondary>.card-header .btn-tool,.dark-mode .card-secondary:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-secondary>.card-header .btn-tool:hover,.dark-mode .bg-secondary>.card-header .btn-tool:hover,.dark-mode .card-secondary:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#596167;color:#fff}.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.active:hover{background-color:#868e96;color:#fff}.dark-mode .card-success:not(.card-outline)>.card-header{background-color:#00bc8c}.dark-mode .card-success:not(.card-outline)>.card-header,.dark-mode .card-success:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-success:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-success.card-outline{border-top:3px solid #00bc8c}.dark-mode .card-success.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-success.card-outline-tabs>.card-header a.active{border-top:3px solid #00bc8c}.dark-mode .bg-gradient-success>.card-header .btn-tool,.dark-mode .bg-success>.card-header .btn-tool,.dark-mode .card-success:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-success>.card-header .btn-tool:hover,.dark-mode .bg-success>.card-header .btn-tool:hover,.dark-mode .card-success:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#00936e;color:#fff}.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.active:hover{background-color:#00efb2;color:#fff}.dark-mode .card-info:not(.card-outline)>.card-header{background-color:#3498db}.dark-mode .card-info:not(.card-outline)>.card-header,.dark-mode .card-info:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-info:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-info.card-outline{border-top:3px solid #3498db}.dark-mode .card-info.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-info.card-outline-tabs>.card-header a.active{border-top:3px solid #3498db}.dark-mode .bg-gradient-info>.card-header .btn-tool,.dark-mode .bg-info>.card-header .btn-tool,.dark-mode .card-info:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-info>.card-header .btn-tool:hover,.dark-mode .bg-info>.card-header .btn-tool:hover,.dark-mode .card-info:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#2383c4;color:#fff}.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5faee3;color:#fff}.dark-mode .card-warning:not(.card-outline)>.card-header{background-color:#f39c12}.dark-mode .card-warning:not(.card-outline)>.card-header,.dark-mode .card-warning:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-warning:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-warning.card-outline{border-top:3px solid #f39c12}.dark-mode .card-warning.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-warning.card-outline-tabs>.card-header a.active{border-top:3px solid #f39c12}.dark-mode .bg-gradient-warning>.card-header .btn-tool,.dark-mode .bg-warning>.card-header .btn-tool,.dark-mode .card-warning:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-warning>.card-header .btn-tool:hover,.dark-mode .bg-warning>.card-header .btn-tool:hover,.dark-mode .card-warning:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#d2850b;color:#1f2d3d}.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f5b043;color:#1f2d3d}.dark-mode .card-danger:not(.card-outline)>.card-header{background-color:#e74c3c}.dark-mode .card-danger:not(.card-outline)>.card-header,.dark-mode .card-danger:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-danger:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-danger.card-outline{border-top:3px solid #e74c3c}.dark-mode .card-danger.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-danger.card-outline-tabs>.card-header a.active{border-top:3px solid #e74c3c}.dark-mode .bg-danger>.card-header .btn-tool,.dark-mode .bg-gradient-danger>.card-header .btn-tool,.dark-mode .card-danger:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-danger>.card-header .btn-tool:hover,.dark-mode .bg-gradient-danger>.card-header .btn-tool:hover,.dark-mode .card-danger:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#df2e1b;color:#fff}.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ed7669;color:#fff}.dark-mode .card-light:not(.card-outline)>.card-header{background-color:#f8f9fa}.dark-mode .card-light:not(.card-outline)>.card-header,.dark-mode .card-light:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-light:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-light.card-outline{border-top:3px solid #f8f9fa}.dark-mode .card-light.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-light.card-outline-tabs>.card-header a.active{border-top:3px solid #f8f9fa}.dark-mode .bg-gradient-light>.card-header .btn-tool,.dark-mode .bg-light>.card-header .btn-tool,.dark-mode .card-light:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-light>.card-header .btn-tool:hover,.dark-mode .bg-light>.card-header .btn-tool:hover,.dark-mode .card-light:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e0e5e9;color:#1f2d3d}.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fff;color:#1f2d3d}.dark-mode .card-dark:not(.card-outline)>.card-header{background-color:#343a40}.dark-mode .card-dark:not(.card-outline)>.card-header,.dark-mode .card-dark:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-dark:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-dark.card-outline{border-top:3px solid #343a40}.dark-mode .card-dark.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-dark.card-outline-tabs>.card-header a.active{border-top:3px solid #343a40}.dark-mode .bg-dark>.card-header .btn-tool,.dark-mode .bg-gradient-dark>.card-header .btn-tool,.dark-mode .card-dark:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-dark>.card-header .btn-tool:hover,.dark-mode .bg-gradient-dark>.card-header .btn-tool:hover,.dark-mode .card-dark:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#222629;color:#fff}.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.active:hover{background-color:#4b545c;color:#fff}.dark-mode .card-lightblue:not(.card-outline)>.card-header{background-color:#86bad8}.dark-mode .card-lightblue:not(.card-outline)>.card-header,.dark-mode .card-lightblue:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-lightblue:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-lightblue.card-outline{border-top:3px solid #86bad8}.dark-mode .card-lightblue.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-lightblue.card-outline-tabs>.card-header a.active{border-top:3px solid #86bad8}.dark-mode .bg-gradient-lightblue>.card-header .btn-tool,.dark-mode .bg-lightblue>.card-header .btn-tool,.dark-mode .card-lightblue:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-lightblue>.card-header .btn-tool:hover,.dark-mode .bg-lightblue>.card-header .btn-tool:hover,.dark-mode .card-lightblue:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#67a8ce;color:#1f2d3d}.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.active:hover{background-color:#acd0e5;color:#1f2d3d}.dark-mode .card-navy:not(.card-outline)>.card-header{background-color:#002c59}.dark-mode .card-navy:not(.card-outline)>.card-header,.dark-mode .card-navy:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-navy:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-navy.card-outline{border-top:3px solid #002c59}.dark-mode .card-navy.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-navy.card-outline-tabs>.card-header a.active{border-top:3px solid #002c59}.dark-mode .bg-gradient-navy>.card-header .btn-tool,.dark-mode .bg-navy>.card-header .btn-tool,.dark-mode .card-navy:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-navy>.card-header .btn-tool:hover,.dark-mode .bg-navy>.card-header .btn-tool:hover,.dark-mode .card-navy:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#001730;color:#fff}.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.active:hover{background-color:#00458c;color:#fff}.dark-mode .card-olive:not(.card-outline)>.card-header{background-color:#74c8a3}.dark-mode .card-olive:not(.card-outline)>.card-header,.dark-mode .card-olive:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-olive:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-olive.card-outline{border-top:3px solid #74c8a3}.dark-mode .card-olive.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-olive.card-outline-tabs>.card-header a.active{border-top:3px solid #74c8a3}.dark-mode .bg-gradient-olive>.card-header .btn-tool,.dark-mode .bg-olive>.card-header .btn-tool,.dark-mode .card-olive:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-olive>.card-header .btn-tool:hover,.dark-mode .bg-olive>.card-header .btn-tool:hover,.dark-mode .card-olive:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#57bc8f;color:#1f2d3d}.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.active:hover{background-color:#99d6bb;color:#1f2d3d}.dark-mode .card-lime:not(.card-outline)>.card-header{background-color:#67ffa9}.dark-mode .card-lime:not(.card-outline)>.card-header,.dark-mode .card-lime:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-lime:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-lime.card-outline{border-top:3px solid #67ffa9}.dark-mode .card-lime.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-lime.card-outline-tabs>.card-header a.active{border-top:3px solid #67ffa9}.dark-mode .bg-gradient-lime>.card-header .btn-tool,.dark-mode .bg-lime>.card-header .btn-tool,.dark-mode .card-lime:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-lime>.card-header .btn-tool:hover,.dark-mode .bg-lime>.card-header .btn-tool:hover,.dark-mode .card-lime:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#3eff92;color:#1f2d3d}.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.active:hover{background-color:#9affc6;color:#1f2d3d}.dark-mode .card-fuchsia:not(.card-outline)>.card-header{background-color:#f672d8}.dark-mode .card-fuchsia:not(.card-outline)>.card-header,.dark-mode .card-fuchsia:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-fuchsia:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-fuchsia.card-outline{border-top:3px solid #f672d8}.dark-mode .card-fuchsia.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-fuchsia.card-outline-tabs>.card-header a.active{border-top:3px solid #f672d8}.dark-mode .bg-fuchsia>.card-header .btn-tool,.dark-mode .bg-gradient-fuchsia>.card-header .btn-tool,.dark-mode .card-fuchsia:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-fuchsia>.card-header .btn-tool:hover,.dark-mode .bg-gradient-fuchsia>.card-header .btn-tool:hover,.dark-mode .card-fuchsia:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#f44cce;color:#1f2d3d}.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f9a2e5;color:#1f2d3d}.dark-mode .card-maroon:not(.card-outline)>.card-header{background-color:#ed6c9b}.dark-mode .card-maroon:not(.card-outline)>.card-header,.dark-mode .card-maroon:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-maroon:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-maroon.card-outline{border-top:3px solid #ed6c9b}.dark-mode .card-maroon.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-maroon.card-outline-tabs>.card-header a.active{border-top:3px solid #ed6c9b}.dark-mode .bg-gradient-maroon>.card-header .btn-tool,.dark-mode .bg-maroon>.card-header .btn-tool,.dark-mode .card-maroon:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-maroon>.card-header .btn-tool:hover,.dark-mode .bg-maroon>.card-header .btn-tool:hover,.dark-mode .card-maroon:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e84883;color:#1f2d3d}.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f29aba;color:#1f2d3d}.dark-mode .card-blue:not(.card-outline)>.card-header{background-color:#3f6791}.dark-mode .card-blue:not(.card-outline)>.card-header,.dark-mode .card-blue:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-blue:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-blue.card-outline{border-top:3px solid #3f6791}.dark-mode .card-blue.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-blue.card-outline-tabs>.card-header a.active{border-top:3px solid #3f6791}.dark-mode .bg-blue>.card-header .btn-tool,.dark-mode .bg-gradient-blue>.card-header .btn-tool,.dark-mode .card-blue:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-blue>.card-header .btn-tool:hover,.dark-mode .bg-gradient-blue>.card-header .btn-tool:hover,.dark-mode .card-blue:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#335375;color:#fff}.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5080b3;color:#fff}.dark-mode .card-indigo:not(.card-outline)>.card-header{background-color:#6610f2}.dark-mode .card-indigo:not(.card-outline)>.card-header,.dark-mode .card-indigo:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-indigo:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-indigo.card-outline{border-top:3px solid #6610f2}.dark-mode .card-indigo.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-indigo.card-outline-tabs>.card-header a.active{border-top:3px solid #6610f2}.dark-mode .bg-gradient-indigo>.card-header .btn-tool,.dark-mode .bg-indigo>.card-header .btn-tool,.dark-mode .card-indigo:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-indigo>.card-header .btn-tool:hover,.dark-mode .bg-indigo>.card-header .btn-tool:hover,.dark-mode .card-indigo:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#550bce;color:#fff}.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.active:hover{background-color:#8540f5;color:#fff}.dark-mode .card-purple:not(.card-outline)>.card-header{background-color:#6f42c1}.dark-mode .card-purple:not(.card-outline)>.card-header,.dark-mode .card-purple:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-purple:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-purple.card-outline{border-top:3px solid #6f42c1}.dark-mode .card-purple.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-purple.card-outline-tabs>.card-header a.active{border-top:3px solid #6f42c1}.dark-mode .bg-gradient-purple>.card-header .btn-tool,.dark-mode .bg-purple>.card-header .btn-tool,.dark-mode .card-purple:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-purple>.card-header .btn-tool:hover,.dark-mode .bg-purple>.card-header .btn-tool:hover,.dark-mode .card-purple:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#5d36a4;color:#fff}.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.active:hover{background-color:#8c68ce;color:#fff}.dark-mode .card-pink:not(.card-outline)>.card-header{background-color:#e83e8c}.dark-mode .card-pink:not(.card-outline)>.card-header,.dark-mode .card-pink:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-pink:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-pink.card-outline{border-top:3px solid #e83e8c}.dark-mode .card-pink.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-pink.card-outline-tabs>.card-header a.active{border-top:3px solid #e83e8c}.dark-mode .bg-gradient-pink>.card-header .btn-tool,.dark-mode .bg-pink>.card-header .btn-tool,.dark-mode .card-pink:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-pink>.card-header .btn-tool:hover,.dark-mode .bg-pink>.card-header .btn-tool:hover,.dark-mode .card-pink:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e21b76;color:#fff}.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ed6ca7;color:#fff}.dark-mode .card-red:not(.card-outline)>.card-header{background-color:#e74c3c}.dark-mode .card-red:not(.card-outline)>.card-header,.dark-mode .card-red:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-red:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-red.card-outline{border-top:3px solid #e74c3c}.dark-mode .card-red.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-red.card-outline-tabs>.card-header a.active{border-top:3px solid #e74c3c}.dark-mode .bg-gradient-red>.card-header .btn-tool,.dark-mode .bg-red>.card-header .btn-tool,.dark-mode .card-red:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-red>.card-header .btn-tool:hover,.dark-mode .bg-red>.card-header .btn-tool:hover,.dark-mode .card-red:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#df2e1b;color:#fff}.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ed7669;color:#fff}.dark-mode .card-orange:not(.card-outline)>.card-header{background-color:#fd7e14}.dark-mode .card-orange:not(.card-outline)>.card-header,.dark-mode .card-orange:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-orange:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-orange.card-outline{border-top:3px solid #fd7e14}.dark-mode .card-orange.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-orange.card-outline-tabs>.card-header a.active{border-top:3px solid #fd7e14}.dark-mode .bg-gradient-orange>.card-header .btn-tool,.dark-mode .bg-orange>.card-header .btn-tool,.dark-mode .card-orange:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-orange>.card-header .btn-tool:hover,.dark-mode .bg-orange>.card-header .btn-tool:hover,.dark-mode .card-orange:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e66a02;color:#1f2d3d}.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fd9a47;color:#1f2d3d}.dark-mode .card-yellow:not(.card-outline)>.card-header{background-color:#f39c12}.dark-mode .card-yellow:not(.card-outline)>.card-header,.dark-mode .card-yellow:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-yellow:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-yellow.card-outline{border-top:3px solid #f39c12}.dark-mode .card-yellow.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-yellow.card-outline-tabs>.card-header a.active{border-top:3px solid #f39c12}.dark-mode .bg-gradient-yellow>.card-header .btn-tool,.dark-mode .bg-yellow>.card-header .btn-tool,.dark-mode .card-yellow:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-yellow>.card-header .btn-tool:hover,.dark-mode .bg-yellow>.card-header .btn-tool:hover,.dark-mode .card-yellow:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#d2850b;color:#1f2d3d}.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f5b043;color:#1f2d3d}.dark-mode .card-green:not(.card-outline)>.card-header{background-color:#00bc8c}.dark-mode .card-green:not(.card-outline)>.card-header,.dark-mode .card-green:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-green:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-green.card-outline{border-top:3px solid #00bc8c}.dark-mode .card-green.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-green.card-outline-tabs>.card-header a.active{border-top:3px solid #00bc8c}.dark-mode .bg-gradient-green>.card-header .btn-tool,.dark-mode .bg-green>.card-header .btn-tool,.dark-mode .card-green:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-green>.card-header .btn-tool:hover,.dark-mode .bg-green>.card-header .btn-tool:hover,.dark-mode .card-green:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#00936e;color:#fff}.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.active:hover{background-color:#00efb2;color:#fff}.dark-mode .card-teal:not(.card-outline)>.card-header{background-color:#20c997}.dark-mode .card-teal:not(.card-outline)>.card-header,.dark-mode .card-teal:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-teal:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-teal.card-outline{border-top:3px solid #20c997}.dark-mode .card-teal.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-teal.card-outline-tabs>.card-header a.active{border-top:3px solid #20c997}.dark-mode .bg-gradient-teal>.card-header .btn-tool,.dark-mode .bg-teal>.card-header .btn-tool,.dark-mode .card-teal:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-teal>.card-header .btn-tool:hover,.dark-mode .bg-teal>.card-header .btn-tool:hover,.dark-mode .card-teal:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#1aa67d;color:#fff}.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.active:hover{background-color:#3ce0af;color:#fff}.dark-mode .card-cyan:not(.card-outline)>.card-header{background-color:#3498db}.dark-mode .card-cyan:not(.card-outline)>.card-header,.dark-mode .card-cyan:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-cyan:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-cyan.card-outline{border-top:3px solid #3498db}.dark-mode .card-cyan.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-cyan.card-outline-tabs>.card-header a.active{border-top:3px solid #3498db}.dark-mode .bg-cyan>.card-header .btn-tool,.dark-mode .bg-gradient-cyan>.card-header .btn-tool,.dark-mode .card-cyan:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-cyan>.card-header .btn-tool:hover,.dark-mode .bg-gradient-cyan>.card-header .btn-tool:hover,.dark-mode .card-cyan:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#2383c4;color:#fff}.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5faee3;color:#fff}.dark-mode .card-white:not(.card-outline)>.card-header{background-color:#fff}.dark-mode .card-white:not(.card-outline)>.card-header,.dark-mode .card-white:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-white:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-white.card-outline{border-top:3px solid #fff}.dark-mode .card-white.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-white.card-outline-tabs>.card-header a.active{border-top:3px solid #fff}.dark-mode .bg-gradient-white>.card-header .btn-tool,.dark-mode .bg-white>.card-header .btn-tool,.dark-mode .card-white:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-white>.card-header .btn-tool:hover,.dark-mode .bg-white>.card-header .btn-tool:hover,.dark-mode .card-white:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#ebebeb;color:#1f2d3d}.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fff;color:#1f2d3d}.dark-mode .card-gray:not(.card-outline)>.card-header{background-color:#6c757d}.dark-mode .card-gray:not(.card-outline)>.card-header,.dark-mode .card-gray:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-gray:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-gray.card-outline{border-top:3px solid #6c757d}.dark-mode .card-gray.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-gray.card-outline-tabs>.card-header a.active{border-top:3px solid #6c757d}.dark-mode .bg-gradient-gray>.card-header .btn-tool,.dark-mode .bg-gray>.card-header .btn-tool,.dark-mode .card-gray:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-gray>.card-header .btn-tool:hover,.dark-mode .bg-gray>.card-header .btn-tool:hover,.dark-mode .card-gray:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#596167;color:#fff}.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.active:hover{background-color:#868e96;color:#fff}.dark-mode .card-gray-dark:not(.card-outline)>.card-header{background-color:#343a40}.dark-mode .card-gray-dark:not(.card-outline)>.card-header,.dark-mode .card-gray-dark:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-gray-dark:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-gray-dark.card-outline{border-top:3px solid #343a40}.dark-mode .card-gray-dark.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-gray-dark.card-outline-tabs>.card-header a.active{border-top:3px solid #343a40}.dark-mode .bg-gradient-gray-dark>.card-header .btn-tool,.dark-mode .bg-gray-dark>.card-header .btn-tool,.dark-mode .card-gray-dark:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-gray-dark>.card-header .btn-tool:hover,.dark-mode .bg-gray-dark>.card-header .btn-tool:hover,.dark-mode .card-gray-dark:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#222629;color:#fff}.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.active:hover{background-color:#4b545c;color:#fff}.dark-mode .card{background-color:#343a40;color:#fff}.dark-mode .card .card{background-color:#3f474e;color:#fff}.dark-mode .card .nav.flex-column>li{border-bottom-color:#6c757d}.dark-mode .card .card-footer{background-color:rgba(0,0,0,.1)}.dark-mode .card.card-outline-tabs .card-header a:hover{border-color:#6c757d;border-bottom-color:transparent}.dark-mode .card:not(.card-outline)>.card-header a.active{color:#fff}.dark-mode .card-comments{background-color:#373d44}.dark-mode .card-comments .username{color:#ced4da}.dark-mode .card-comments .card-comment{border-bottom-color:#454d55}.dark-mode .todo-list>li{background-color:#3f474e;border-color:#454d55;color:#fff}.dark-mode .todo-list .primary{border-left-color:#3f6791}.dark-mode .todo-list .secondary{border-left-color:#6c757d}.dark-mode .todo-list .success{border-left-color:#00bc8c}.dark-mode .todo-list .info{border-left-color:#3498db}.dark-mode .todo-list .warning{border-left-color:#f39c12}.dark-mode .todo-list .danger{border-left-color:#e74c3c}.dark-mode .todo-list .light{border-left-color:#f8f9fa}.dark-mode .todo-list .dark{border-left-color:#343a40}.dark-mode .todo-list .lightblue{border-left-color:#86bad8}.dark-mode .todo-list .navy{border-left-color:#002c59}.dark-mode .todo-list .olive{border-left-color:#74c8a3}.dark-mode .todo-list .lime{border-left-color:#67ffa9}.dark-mode .todo-list .fuchsia{border-left-color:#f672d8}.dark-mode .todo-list .maroon{border-left-color:#ed6c9b}.dark-mode .todo-list .blue{border-left-color:#3f6791}.dark-mode .todo-list .indigo{border-left-color:#6610f2}.dark-mode .todo-list .purple{border-left-color:#6f42c1}.dark-mode .todo-list .pink{border-left-color:#e83e8c}.dark-mode .todo-list .red{border-left-color:#e74c3c}.dark-mode .todo-list .orange{border-left-color:#fd7e14}.dark-mode .todo-list .yellow{border-left-color:#f39c12}.dark-mode .todo-list .green{border-left-color:#00bc8c}.dark-mode .todo-list .teal{border-left-color:#20c997}.dark-mode .todo-list .cyan{border-left-color:#3498db}.dark-mode .todo-list .white{border-left-color:#fff}.dark-mode .todo-list .gray{border-left-color:#6c757d}.dark-mode .todo-list .gray-dark{border-left-color:#343a40}.modal-dialog .overlay{display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;left:0;top:0;bottom:0;right:0;margin:-1px;z-index:1052;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background-color:rgba(0,0,0,.7);color:#666f76;border-radius:.3rem}.modal-content.bg-warning .modal-footer,.modal-content.bg-warning .modal-header{border-color:#343a40}.modal-content.bg-danger .close,.modal-content.bg-danger .mailbox-attachment-close,.modal-content.bg-info .close,.modal-content.bg-info .mailbox-attachment-close,.modal-content.bg-primary .close,.modal-content.bg-primary .mailbox-attachment-close,.modal-content.bg-secondary .close,.modal-content.bg-secondary .mailbox-attachment-close,.modal-content.bg-success .close,.modal-content.bg-success .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .modal-footer,.dark-mode .modal-header{border-color:#6c757d}.dark-mode .modal-content{background-color:#343a40}.dark-mode .modal-content.bg-warning .modal-footer,.dark-mode .modal-content.bg-warning .modal-header{border-color:#6c757d}.dark-mode .modal-content.bg-warning .close,.dark-mode .modal-content.bg-warning .mailbox-attachment-close{color:#343a40!important;text-shadow:0 1px 0 #495057!important}.dark-mode .modal-content.bg-danger .modal-footer,.dark-mode .modal-content.bg-danger .modal-header,.dark-mode .modal-content.bg-info .modal-footer,.dark-mode .modal-content.bg-info .modal-header,.dark-mode .modal-content.bg-primary .modal-footer,.dark-mode .modal-content.bg-primary .modal-header,.dark-mode .modal-content.bg-secondary .modal-footer,.dark-mode .modal-content.bg-secondary .modal-header,.dark-mode .modal-content.bg-success .modal-footer,.dark-mode .modal-content.bg-success .modal-header{border-color:#fff}.toasts-top-right{position:absolute;right:0;top:0;z-index:1040}.toasts-top-right.fixed{position:fixed}.toasts-top-left{left:0;position:absolute;top:0;z-index:1040}.toasts-top-left.fixed{position:fixed}.toasts-bottom-right{bottom:0;position:absolute;right:0;z-index:1040}.toasts-bottom-right.fixed{position:fixed}.toasts-bottom-left{bottom:0;left:0;position:absolute;z-index:1040}.toasts-bottom-left.fixed{position:fixed}.dark-mode .toast{background-color:rgba(52,58,64,.85);color:#fff}.dark-mode .toast .toast-header{background-color:rgba(52,58,64,.7);color:#f8f9fa}.dark-mode .toast.bg-primary{background-color:rgba(63,103,145,.9)!important}.dark-mode .toast.bg-primary .close,.dark-mode .toast.bg-primary .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-primary .toast-header{background-color:rgba(63,103,145,.85);color:#fff}.dark-mode .toast.bg-secondary{background-color:rgba(108,117,125,.9)!important}.dark-mode .toast.bg-secondary .close,.dark-mode .toast.bg-secondary .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-secondary .toast-header{background-color:rgba(108,117,125,.85);color:#fff}.dark-mode .toast.bg-success{background-color:rgba(0,188,140,.9)!important}.dark-mode .toast.bg-success .close,.dark-mode .toast.bg-success .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-success .toast-header{background-color:rgba(0,188,140,.85);color:#fff}.dark-mode .toast.bg-info{background-color:rgba(52,152,219,.9)!important}.dark-mode .toast.bg-info .close,.dark-mode .toast.bg-info .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-info .toast-header{background-color:rgba(52,152,219,.85);color:#fff}.dark-mode .toast.bg-warning{background-color:rgba(243,156,18,.9)!important}.dark-mode .toast.bg-warning .toast-header{background-color:rgba(243,156,18,.85);color:#1f2d3d}.dark-mode .toast.bg-danger{background-color:rgba(231,76,60,.9)!important}.dark-mode .toast.bg-danger .close,.dark-mode .toast.bg-danger .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-danger .toast-header{background-color:rgba(231,76,60,.85);color:#fff}.dark-mode .toast.bg-light{background-color:rgba(248,249,250,.9)!important}.dark-mode .toast.bg-light .toast-header{background-color:rgba(248,249,250,.85);color:#1f2d3d}.dark-mode .toast.bg-dark{background-color:rgba(52,58,64,.9)!important}.dark-mode .toast.bg-dark .close,.dark-mode .toast.bg-dark .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-dark .toast-header{background-color:rgba(52,58,64,.85);color:#fff}.dark-mode .toast.bg-lightblue{background-color:rgba(134,186,216,.9)!important}.dark-mode .toast.bg-lightblue .toast-header{background-color:rgba(134,186,216,.85);color:#1f2d3d}.dark-mode .toast.bg-navy{background-color:rgba(0,44,89,.9)!important}.dark-mode .toast.bg-navy .close,.dark-mode .toast.bg-navy .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-navy .toast-header{background-color:rgba(0,44,89,.85);color:#fff}.dark-mode .toast.bg-olive{background-color:rgba(116,200,163,.9)!important}.dark-mode .toast.bg-olive .toast-header{background-color:rgba(116,200,163,.85);color:#1f2d3d}.dark-mode .toast.bg-lime{background-color:rgba(103,255,169,.9)!important}.dark-mode .toast.bg-lime .toast-header{background-color:rgba(103,255,169,.85);color:#1f2d3d}.dark-mode .toast.bg-fuchsia{background-color:rgba(246,114,216,.9)!important}.dark-mode .toast.bg-fuchsia .toast-header{background-color:rgba(246,114,216,.85);color:#1f2d3d}.dark-mode .toast.bg-maroon{background-color:rgba(237,108,155,.9)!important}.dark-mode .toast.bg-maroon .toast-header{background-color:rgba(237,108,155,.85);color:#1f2d3d}.dark-mode .toast.bg-blue{background-color:rgba(63,103,145,.9)!important}.dark-mode .toast.bg-blue .close,.dark-mode .toast.bg-blue .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-blue .toast-header{background-color:rgba(63,103,145,.85);color:#fff}.dark-mode .toast.bg-indigo{background-color:rgba(102,16,242,.9)!important}.dark-mode .toast.bg-indigo .close,.dark-mode .toast.bg-indigo .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-indigo .toast-header{background-color:rgba(102,16,242,.85);color:#fff}.dark-mode .toast.bg-purple{background-color:rgba(111,66,193,.9)!important}.dark-mode .toast.bg-purple .close,.dark-mode .toast.bg-purple .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-purple .toast-header{background-color:rgba(111,66,193,.85);color:#fff}.dark-mode .toast.bg-pink{background-color:rgba(232,62,140,.9)!important}.dark-mode .toast.bg-pink .close,.dark-mode .toast.bg-pink .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-pink .toast-header{background-color:rgba(232,62,140,.85);color:#fff}.dark-mode .toast.bg-red{background-color:rgba(231,76,60,.9)!important}.dark-mode .toast.bg-red .close,.dark-mode .toast.bg-red .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-red .toast-header{background-color:rgba(231,76,60,.85);color:#fff}.dark-mode .toast.bg-orange{background-color:rgba(253,126,20,.9)!important}.dark-mode .toast.bg-orange .toast-header{background-color:rgba(253,126,20,.85);color:#1f2d3d}.dark-mode .toast.bg-yellow{background-color:rgba(243,156,18,.9)!important}.dark-mode .toast.bg-yellow .toast-header{background-color:rgba(243,156,18,.85);color:#1f2d3d}.dark-mode .toast.bg-green{background-color:rgba(0,188,140,.9)!important}.dark-mode .toast.bg-green .close,.dark-mode .toast.bg-green .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-green .toast-header{background-color:rgba(0,188,140,.85);color:#fff}.dark-mode .toast.bg-teal{background-color:rgba(32,201,151,.9)!important}.dark-mode .toast.bg-teal .close,.dark-mode .toast.bg-teal .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-teal .toast-header{background-color:rgba(32,201,151,.85);color:#fff}.dark-mode .toast.bg-cyan{background-color:rgba(52,152,219,.9)!important}.dark-mode .toast.bg-cyan .close,.dark-mode .toast.bg-cyan .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-cyan .toast-header{background-color:rgba(52,152,219,.85);color:#fff}.dark-mode .toast.bg-white{background-color:rgba(255,255,255,.9)!important}.dark-mode .toast.bg-white .toast-header{background-color:rgba(255,255,255,.85);color:#1f2d3d}.dark-mode .toast.bg-gray{background-color:rgba(108,117,125,.9)!important}.dark-mode .toast.bg-gray .close,.dark-mode .toast.bg-gray .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-gray .toast-header{background-color:rgba(108,117,125,.85);color:#fff}.dark-mode .toast.bg-gray-dark{background-color:rgba(52,58,64,.9)!important}.dark-mode .toast.bg-gray-dark .close,.dark-mode .toast.bg-gray-dark .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-gray-dark .toast-header{background-color:rgba(52,58,64,.85);color:#fff}.toast.bg-primary{background-color:rgba(0,123,255,.9)!important}.toast.bg-primary .close,.toast.bg-primary .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-primary .toast-header{background-color:rgba(0,123,255,.85);color:#fff}.toast.bg-secondary{background-color:rgba(108,117,125,.9)!important}.toast.bg-secondary .close,.toast.bg-secondary .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-secondary .toast-header{background-color:rgba(108,117,125,.85);color:#fff}.toast.bg-success{background-color:rgba(40,167,69,.9)!important}.toast.bg-success .close,.toast.bg-success .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-success .toast-header{background-color:rgba(40,167,69,.85);color:#fff}.toast.bg-info{background-color:rgba(23,162,184,.9)!important}.toast.bg-info .close,.toast.bg-info .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-info .toast-header{background-color:rgba(23,162,184,.85);color:#fff}.toast.bg-warning{background-color:rgba(255,193,7,.9)!important}.toast.bg-warning .toast-header{background-color:rgba(255,193,7,.85);color:#1f2d3d}.toast.bg-danger{background-color:rgba(220,53,69,.9)!important}.toast.bg-danger .close,.toast.bg-danger .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-danger .toast-header{background-color:rgba(220,53,69,.85);color:#fff}.toast.bg-light{background-color:rgba(248,249,250,.9)!important}.toast.bg-light .toast-header{background-color:rgba(248,249,250,.85);color:#1f2d3d}.toast.bg-dark{background-color:rgba(52,58,64,.9)!important}.toast.bg-dark .close,.toast.bg-dark .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-dark .toast-header{background-color:rgba(52,58,64,.85);color:#fff}.toast.bg-lightblue{background-color:rgba(60,141,188,.9)!important}.toast.bg-lightblue .close,.toast.bg-lightblue .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-lightblue .toast-header{background-color:rgba(60,141,188,.85);color:#fff}.toast.bg-navy{background-color:rgba(0,31,63,.9)!important}.toast.bg-navy .close,.toast.bg-navy .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-navy .toast-header{background-color:rgba(0,31,63,.85);color:#fff}.toast.bg-olive{background-color:rgba(61,153,112,.9)!important}.toast.bg-olive .close,.toast.bg-olive .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-olive .toast-header{background-color:rgba(61,153,112,.85);color:#fff}.toast.bg-lime{background-color:rgba(1,255,112,.9)!important}.toast.bg-lime .toast-header{background-color:rgba(1,255,112,.85);color:#1f2d3d}.toast.bg-fuchsia{background-color:rgba(240,18,190,.9)!important}.toast.bg-fuchsia .close,.toast.bg-fuchsia .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-fuchsia .toast-header{background-color:rgba(240,18,190,.85);color:#fff}.toast.bg-maroon{background-color:rgba(216,27,96,.9)!important}.toast.bg-maroon .close,.toast.bg-maroon .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-maroon .toast-header{background-color:rgba(216,27,96,.85);color:#fff}.toast.bg-blue{background-color:rgba(0,123,255,.9)!important}.toast.bg-blue .close,.toast.bg-blue .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-blue .toast-header{background-color:rgba(0,123,255,.85);color:#fff}.toast.bg-indigo{background-color:rgba(102,16,242,.9)!important}.toast.bg-indigo .close,.toast.bg-indigo .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-indigo .toast-header{background-color:rgba(102,16,242,.85);color:#fff}.toast.bg-purple{background-color:rgba(111,66,193,.9)!important}.toast.bg-purple .close,.toast.bg-purple .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-purple .toast-header{background-color:rgba(111,66,193,.85);color:#fff}.toast.bg-pink{background-color:rgba(232,62,140,.9)!important}.toast.bg-pink .close,.toast.bg-pink .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-pink .toast-header{background-color:rgba(232,62,140,.85);color:#fff}.toast.bg-red{background-color:rgba(220,53,69,.9)!important}.toast.bg-red .close,.toast.bg-red .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-red .toast-header{background-color:rgba(220,53,69,.85);color:#fff}.toast.bg-orange{background-color:rgba(253,126,20,.9)!important}.toast.bg-orange .toast-header{background-color:rgba(253,126,20,.85);color:#1f2d3d}.toast.bg-yellow{background-color:rgba(255,193,7,.9)!important}.toast.bg-yellow .toast-header{background-color:rgba(255,193,7,.85);color:#1f2d3d}.toast.bg-green{background-color:rgba(40,167,69,.9)!important}.toast.bg-green .close,.toast.bg-green .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-green .toast-header{background-color:rgba(40,167,69,.85);color:#fff}.toast.bg-teal{background-color:rgba(32,201,151,.9)!important}.toast.bg-teal .close,.toast.bg-teal .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-teal .toast-header{background-color:rgba(32,201,151,.85);color:#fff}.toast.bg-cyan{background-color:rgba(23,162,184,.9)!important}.toast.bg-cyan .close,.toast.bg-cyan .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-cyan .toast-header{background-color:rgba(23,162,184,.85);color:#fff}.toast.bg-white{background-color:rgba(255,255,255,.9)!important}.toast.bg-white .toast-header{background-color:rgba(255,255,255,.85);color:#1f2d3d}.toast.bg-gray{background-color:rgba(108,117,125,.9)!important}.toast.bg-gray .close,.toast.bg-gray .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-gray .toast-header{background-color:rgba(108,117,125,.85);color:#fff}.toast.bg-gray-dark{background-color:rgba(52,58,64,.9)!important}.toast.bg-gray-dark .close,.toast.bg-gray-dark .mailbox-attachment-close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-gray-dark .toast-header{background-color:rgba(52,58,64,.85);color:#fff}.btn.disabled,.btn:disabled{cursor:not-allowed}.btn.btn-flat{border-radius:0;border-width:1px;box-shadow:none}.btn.btn-file{overflow:hidden;position:relative}.btn.btn-file>input[type=file]{background-color:#fff;cursor:inherit;display:block;font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:0;position:absolute;right:0;text-align:right;top:0}.text-sm .btn{font-size:.875rem!important}.btn-default{background-color:#f8f9fa;border-color:#ddd;color:#444}.btn-default.hover,.btn-default:active,.btn-default:hover{background-color:#e9ecef;color:#2b2b2b}.btn-app{border-radius:3px;background-color:#f8f9fa;border:1px solid #ddd;color:#6c757d;font-size:12px;height:60px;margin:0 0 10px 10px;min-width:80px;padding:15px 5px;position:relative;text-align:center}.btn-app>.fa,.btn-app>.fab,.btn-app>.fad,.btn-app>.fal,.btn-app>.far,.btn-app>.fas,.btn-app>.ion,.btn-app>.svg-inline--fa{display:block;font-size:20px}.btn-app>.svg-inline--fa{margin:0 auto}.btn-app:hover{background-color:#f8f9fa;border-color:#aaa;color:#444}.btn-app:active,.btn-app:focus{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-app>.badge{font-size:10px;font-weight:400;position:absolute;right:-10px;top:-3px}.btn-xs{padding:.125rem .25rem;font-size:.75rem;line-height:1.5;border-radius:.15rem}.dark-mode .btn-app,.dark-mode .btn-default{background-color:#3a4047;color:#fff;border-color:#6c757d}.dark-mode .btn-app:focus,.dark-mode .btn-app:hover,.dark-mode .btn-default:focus,.dark-mode .btn-default:hover{background-color:#3f474e;color:#dee2e6;border-color:#727b84}.dark-mode .btn-light{background-color:#454d55;color:#fff;border-color:#6c757d}.dark-mode .btn-light:focus,.dark-mode .btn-light:hover{background-color:#4b545c;color:#dee2e6;border-color:#78828a}.dark-mode .btn-primary{color:#fff;background-color:#3f6791;border-color:#3f6791;box-shadow:none}.dark-mode .btn-primary:hover{color:#fff;background-color:#335476;border-color:#304e6d}.dark-mode .btn-primary.focus,.dark-mode .btn-primary:focus{color:#fff;background-color:#335476;border-color:#304e6d;box-shadow:0 0 0 0 rgba(92,126,162,.5)}.dark-mode .btn-primary.disabled,.dark-mode .btn-primary:disabled{color:#fff;background-color:#3f6791;border-color:#3f6791}.dark-mode .btn-primary:not(:disabled):not(.disabled).active,.dark-mode .btn-primary:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-primary.dropdown-toggle{color:#fff;background-color:#304e6d;border-color:#2c4765}.dark-mode .btn-primary:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-primary:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(92,126,162,.5)}.dark-mode .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d;box-shadow:none}.dark-mode .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.dark-mode .btn-secondary.focus,.dark-mode .btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 0 rgba(130,138,145,.5)}.dark-mode .btn-secondary.disabled,.dark-mode .btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.dark-mode .btn-secondary:not(:disabled):not(.disabled).active,.dark-mode .btn-secondary:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.dark-mode .btn-secondary:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(130,138,145,.5)}.dark-mode .btn-success{color:#fff;background-color:#00bc8c;border-color:#00bc8c;box-shadow:none}.dark-mode .btn-success:hover{color:#fff;background-color:#009670;border-color:#008966}.dark-mode .btn-success.focus,.dark-mode .btn-success:focus{color:#fff;background-color:#009670;border-color:#008966;box-shadow:0 0 0 0 rgba(38,198,157,.5)}.dark-mode .btn-success.disabled,.dark-mode .btn-success:disabled{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.dark-mode .btn-success:not(:disabled):not(.disabled).active,.dark-mode .btn-success:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-success.dropdown-toggle{color:#fff;background-color:#008966;border-color:#007c5d}.dark-mode .btn-success:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-success:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(38,198,157,.5)}.dark-mode .btn-info{color:#fff;background-color:#3498db;border-color:#3498db;box-shadow:none}.dark-mode .btn-info:hover{color:#fff;background-color:#2384c6;border-color:#217dbb}.dark-mode .btn-info.focus,.dark-mode .btn-info:focus{color:#fff;background-color:#2384c6;border-color:#217dbb;box-shadow:0 0 0 0 rgba(82,167,224,.5)}.dark-mode .btn-info.disabled,.dark-mode .btn-info:disabled{color:#fff;background-color:#3498db;border-color:#3498db}.dark-mode .btn-info:not(:disabled):not(.disabled).active,.dark-mode .btn-info:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-info.dropdown-toggle{color:#fff;background-color:#217dbb;border-color:#1f76b0}.dark-mode .btn-info:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-info:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(82,167,224,.5)}.dark-mode .btn-warning{color:#1f2d3d;background-color:#f39c12;border-color:#f39c12;box-shadow:none}.dark-mode .btn-warning:hover{color:#fff;background-color:#d4860b;border-color:#c87f0a}.dark-mode .btn-warning.focus,.dark-mode .btn-warning:focus{color:#fff;background-color:#d4860b;border-color:#c87f0a;box-shadow:0 0 0 0 rgba(211,139,24,.5)}.dark-mode .btn-warning.disabled,.dark-mode .btn-warning:disabled{color:#1f2d3d;background-color:#f39c12;border-color:#f39c12}.dark-mode .btn-warning:not(:disabled):not(.disabled).active,.dark-mode .btn-warning:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-warning.dropdown-toggle{color:#fff;background-color:#c87f0a;border-color:#bc770a}.dark-mode .btn-warning:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-warning:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(211,139,24,.5)}.dark-mode .btn-danger{color:#fff;background-color:#e74c3c;border-color:#e74c3c;box-shadow:none}.dark-mode .btn-danger:hover{color:#fff;background-color:#e12e1c;border-color:#d62c1a}.dark-mode .btn-danger.focus,.dark-mode .btn-danger:focus{color:#fff;background-color:#e12e1c;border-color:#d62c1a;box-shadow:0 0 0 0 rgba(235,103,89,.5)}.dark-mode .btn-danger.disabled,.dark-mode .btn-danger:disabled{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.dark-mode .btn-danger:not(:disabled):not(.disabled).active,.dark-mode .btn-danger:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-danger.dropdown-toggle{color:#fff;background-color:#d62c1a;border-color:#ca2a19}.dark-mode .btn-danger:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-danger:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(235,103,89,.5)}.dark-mode .btn-light{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa;box-shadow:none}.dark-mode .btn-light:hover{color:#1f2d3d;background-color:#e2e6ea;border-color:#dae0e5}.dark-mode .btn-light.focus,.dark-mode .btn-light:focus{color:#1f2d3d;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 0 rgba(215,218,222,.5)}.dark-mode .btn-light.disabled,.dark-mode .btn-light:disabled{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.dark-mode .btn-light:not(:disabled):not(.disabled).active,.dark-mode .btn-light:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-light.dropdown-toggle{color:#1f2d3d;background-color:#dae0e5;border-color:#d3d9df}.dark-mode .btn-light:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-light:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(215,218,222,.5)}.dark-mode .btn-dark{color:#fff;background-color:#343a40;border-color:#343a40;box-shadow:none}.dark-mode .btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.dark-mode .btn-dark.focus,.dark-mode .btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 0 rgba(82,88,93,.5)}.dark-mode .btn-dark.disabled,.dark-mode .btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.dark-mode .btn-dark:not(:disabled):not(.disabled).active,.dark-mode .btn-dark:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.dark-mode .btn-dark:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-dark:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(82,88,93,.5)}.dark-mode .btn-outline-primary{color:#3f6791;border-color:#3f6791}.dark-mode .btn-outline-primary:hover{color:#fff;background-color:#3f6791;border-color:#3f6791}.dark-mode .btn-outline-primary.focus,.dark-mode .btn-outline-primary:focus{box-shadow:0 0 0 0 rgba(63,103,145,.5)}.dark-mode .btn-outline-primary.disabled,.dark-mode .btn-outline-primary:disabled{color:#3f6791;background-color:transparent}.dark-mode .btn-outline-primary:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-primary:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-primary.dropdown-toggle{color:#fff;background-color:#3f6791;border-color:#3f6791}.dark-mode .btn-outline-primary:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(63,103,145,.5)}.dark-mode .btn-outline-secondary{color:#6c757d;border-color:#6c757d}.dark-mode .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.dark-mode .btn-outline-secondary.focus,.dark-mode .btn-outline-secondary:focus{box-shadow:0 0 0 0 rgba(108,117,125,.5)}.dark-mode .btn-outline-secondary.disabled,.dark-mode .btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.dark-mode .btn-outline-secondary:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.dark-mode .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(108,117,125,.5)}.dark-mode .btn-outline-success{color:#00bc8c;border-color:#00bc8c}.dark-mode .btn-outline-success:hover{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.dark-mode .btn-outline-success.focus,.dark-mode .btn-outline-success:focus{box-shadow:0 0 0 0 rgba(0,188,140,.5)}.dark-mode .btn-outline-success.disabled,.dark-mode .btn-outline-success:disabled{color:#00bc8c;background-color:transparent}.dark-mode .btn-outline-success:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-success:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-success.dropdown-toggle{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.dark-mode .btn-outline-success:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(0,188,140,.5)}.dark-mode .btn-outline-info{color:#3498db;border-color:#3498db}.dark-mode .btn-outline-info:hover{color:#fff;background-color:#3498db;border-color:#3498db}.dark-mode .btn-outline-info.focus,.dark-mode .btn-outline-info:focus{box-shadow:0 0 0 0 rgba(52,152,219,.5)}.dark-mode .btn-outline-info.disabled,.dark-mode .btn-outline-info:disabled{color:#3498db;background-color:transparent}.dark-mode .btn-outline-info:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-info:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-info.dropdown-toggle{color:#fff;background-color:#3498db;border-color:#3498db}.dark-mode .btn-outline-info:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(52,152,219,.5)}.dark-mode .btn-outline-warning{color:#f39c12;border-color:#f39c12}.dark-mode .btn-outline-warning:hover{color:#1f2d3d;background-color:#f39c12;border-color:#f39c12}.dark-mode .btn-outline-warning.focus,.dark-mode .btn-outline-warning:focus{box-shadow:0 0 0 0 rgba(243,156,18,.5)}.dark-mode .btn-outline-warning.disabled,.dark-mode .btn-outline-warning:disabled{color:#f39c12;background-color:transparent}.dark-mode .btn-outline-warning:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-warning:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-warning.dropdown-toggle{color:#1f2d3d;background-color:#f39c12;border-color:#f39c12}.dark-mode .btn-outline-warning:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(243,156,18,.5)}.dark-mode .btn-outline-danger{color:#e74c3c;border-color:#e74c3c}.dark-mode .btn-outline-danger:hover{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.dark-mode .btn-outline-danger.focus,.dark-mode .btn-outline-danger:focus{box-shadow:0 0 0 0 rgba(231,76,60,.5)}.dark-mode .btn-outline-danger.disabled,.dark-mode .btn-outline-danger:disabled{color:#e74c3c;background-color:transparent}.dark-mode .btn-outline-danger:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-danger:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-danger.dropdown-toggle{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.dark-mode .btn-outline-danger:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(231,76,60,.5)}.dark-mode .btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.dark-mode .btn-outline-light:hover{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.dark-mode .btn-outline-light.focus,.dark-mode .btn-outline-light:focus{box-shadow:0 0 0 0 rgba(248,249,250,.5)}.dark-mode .btn-outline-light.disabled,.dark-mode .btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.dark-mode .btn-outline-light:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-light:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-light.dropdown-toggle{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.dark-mode .btn-outline-light:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(248,249,250,.5)}.dark-mode .btn-outline-dark{color:#343a40;border-color:#343a40}.dark-mode .btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.dark-mode .btn-outline-dark.focus,.dark-mode .btn-outline-dark:focus{box-shadow:0 0 0 0 rgba(52,58,64,.5)}.dark-mode .btn-outline-dark.disabled,.dark-mode .btn-outline-dark:disabled{color:#343a40;background-color:transparent}.dark-mode .btn-outline-dark:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-dark:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.dark-mode .btn-outline-dark:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(52,58,64,.5)}.callout{border-radius:.25rem;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);background-color:#fff;border-left:5px solid #e9ecef;margin-bottom:1rem;padding:1rem}.callout a{color:#495057;text-decoration:underline}.callout a:hover{color:#e9ecef}.callout p:last-child{margin-bottom:0}.callout.callout-danger{border-left-color:#bd2130}.callout.callout-warning{border-left-color:#d39e00}.callout.callout-info{border-left-color:#117a8b}.callout.callout-success{border-left-color:#1e7e34}.dark-mode .callout{background-color:#3f474e}.dark-mode .callout.callout-danger{border-left-color:#ed7669}.dark-mode .callout.callout-warning{border-left-color:#f5b043}.dark-mode .callout.callout-info{border-left-color:#5faee3}.dark-mode .callout.callout-success{border-left-color:#00efb2}.alert .icon{margin-right:10px}.alert .close,.alert .mailbox-attachment-close{color:#000;opacity:.2}.alert .close:hover,.alert .mailbox-attachment-close:hover{opacity:.5}.alert a{color:#fff;text-decoration:underline}.alert-primary{color:#fff;background-color:#007bff;border-color:#006fe6}.alert-default-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-default-primary hr{border-top-color:#9fcdff}.alert-default-primary .alert-link{color:#002752}.alert-secondary{color:#fff;background-color:#6c757d;border-color:#60686f}.alert-default-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-default-secondary hr{border-top-color:#c8cbcf}.alert-default-secondary .alert-link{color:#202326}.alert-success{color:#fff;background-color:#28a745;border-color:#23923d}.alert-default-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-default-success hr{border-top-color:#b1dfbb}.alert-default-success .alert-link{color:#0b2e13}.alert-info{color:#fff;background-color:#17a2b8;border-color:#148ea1}.alert-default-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-default-info hr{border-top-color:#abdde5}.alert-default-info .alert-link{color:#062c33}.alert-warning{color:#1f2d3d;background-color:#ffc107;border-color:#edb100}.alert-default-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-default-warning hr{border-top-color:#ffe8a1}.alert-default-warning .alert-link{color:#533f03}.alert-danger{color:#fff;background-color:#dc3545;border-color:#d32535}.alert-default-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-default-danger hr{border-top-color:#f1b0b7}.alert-default-danger .alert-link{color:#491217}.alert-light{color:#1f2d3d;background-color:#f8f9fa;border-color:#e9ecef}.alert-default-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-default-light hr{border-top-color:#ececf6}.alert-default-light .alert-link{color:#686868}.alert-dark{color:#fff;background-color:#343a40;border-color:#292d32}.alert-default-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-default-dark hr{border-top-color:#b9bbbe}.alert-default-dark .alert-link{color:#040505}.dark-mode .alert-primary{color:#fff;background-color:#3f6791;border-color:#375a7f}.dark-mode .alert-default-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.dark-mode .alert-default-primary hr{border-top-color:#9fcdff}.dark-mode .alert-default-primary .alert-link{color:#002752}.dark-mode .alert-secondary{color:#fff;background-color:#6c757d;border-color:#60686f}.dark-mode .alert-default-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.dark-mode .alert-default-secondary hr{border-top-color:#c8cbcf}.dark-mode .alert-default-secondary .alert-link{color:#202326}.dark-mode .alert-success{color:#fff;background-color:#00bc8c;border-color:#00a379}.dark-mode .alert-default-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.dark-mode .alert-default-success hr{border-top-color:#b1dfbb}.dark-mode .alert-default-success .alert-link{color:#0b2e13}.dark-mode .alert-info{color:#fff;background-color:#3498db;border-color:#258cd1}.dark-mode .alert-default-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.dark-mode .alert-default-info hr{border-top-color:#abdde5}.dark-mode .alert-default-info .alert-link{color:#062c33}.dark-mode .alert-warning{color:#1f2d3d;background-color:#f39c12;border-color:#e08e0b}.dark-mode .alert-default-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.dark-mode .alert-default-warning hr{border-top-color:#ffe8a1}.dark-mode .alert-default-warning .alert-link{color:#533f03}.dark-mode .alert-danger{color:#fff;background-color:#e74c3c;border-color:#e43725}.dark-mode .alert-default-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.dark-mode .alert-default-danger hr{border-top-color:#f1b0b7}.dark-mode .alert-default-danger .alert-link{color:#491217}.dark-mode .alert-light{color:#1f2d3d;background-color:#f8f9fa;border-color:#e9ecef}.dark-mode .alert-default-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.dark-mode .alert-default-light hr{border-top-color:#ececf6}.dark-mode .alert-default-light .alert-link{color:#686868}.dark-mode .alert-dark{color:#fff;background-color:#343a40;border-color:#292d32}.dark-mode .alert-default-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.dark-mode .alert-default-dark hr{border-top-color:#b9bbbe}.dark-mode .alert-default-dark .alert-link{color:#040505}.table:not(.table-dark){color:inherit}.table.table-head-fixed thead tr:nth-child(1) th{background-color:#fff;border-bottom:0;box-shadow:inset 0 1px 0 #dee2e6,inset 0 -1px 0 #dee2e6;position:-webkit-sticky;position:sticky;top:0;z-index:10}.table.table-head-fixed.table-dark thead tr:nth-child(1) th{background-color:#212529;box-shadow:inset 0 1px 0 #383f45,inset 0 -1px 0 #383f45}.table.no-border,.table.no-border td,.table.no-border th{border:0}.table.text-center,.table.text-center td,.table.text-center th{text-align:center}.table.table-valign-middle tbody>tr>td,.table.table-valign-middle tbody>tr>th,.table.table-valign-middle thead>tr>td,.table.table-valign-middle thead>tr>th{vertical-align:middle}.card-body.p-0 .table tbody>tr>td:first-of-type,.card-body.p-0 .table tbody>tr>th:first-of-type,.card-body.p-0 .table tfoot>tr>td:first-of-type,.card-body.p-0 .table tfoot>tr>th:first-of-type,.card-body.p-0 .table thead>tr>td:first-of-type,.card-body.p-0 .table thead>tr>th:first-of-type{padding-left:1.5rem}.card-body.p-0 .table tbody>tr>td:last-of-type,.card-body.p-0 .table tbody>tr>th:last-of-type,.card-body.p-0 .table tfoot>tr>td:last-of-type,.card-body.p-0 .table tfoot>tr>th:last-of-type,.card-body.p-0 .table thead>tr>td:last-of-type,.card-body.p-0 .table thead>tr>th:last-of-type{padding-right:1.5rem}.table-hover tbody tr.expandable-body:hover{background-color:inherit!important}[data-widget=expandable-table]{cursor:pointer}[data-widget=expandable-table] i.expandable-table-caret{transition:-webkit-transform .3s linear;transition:transform .3s linear;transition:transform .3s linear,-webkit-transform .3s linear}[data-widget=expandable-table][aria-expanded=true] td i.expandable-table-caret[class*=right]{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[data-widget=expandable-table][aria-expanded=true] td i.expandable-table-caret[class*=left]{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.expandable-body>td{padding:0!important;width:100%}.expandable-body>td>div,.expandable-body>td>p{padding:.75rem}.expandable-body .table{width:calc(100% - .75rem);margin:0 0 0 .75rem}.expandable-body .table tr:first-child td,.expandable-body .table tr:first-child th{border-top:none}.dark-mode .table-bordered,.dark-mode .table-bordered td,.dark-mode .table-bordered th{border-color:#6c757d}.dark-mode .table-hover tbody tr:hover{color:#dee2e6;background-color:#3a4047;border-color:#6c757d}.dark-mode .table thead th{border-bottom-color:#6c757d}.dark-mode .table td,.dark-mode .table th{border-top-color:#6c757d}.dark-mode .table.table-head-fixed thead tr:nth-child(1) th{background-color:#3f474e}.carousel-control-prev .carousel-control-custom-icon{margin-left:-20px}.carousel-control-next .carousel-control-custom-icon{margin-right:20px}.carousel-control-custom-icon>.fa,.carousel-control-custom-icon>.fab,.carousel-control-custom-icon>.fad,.carousel-control-custom-icon>.fal,.carousel-control-custom-icon>.far,.carousel-control-custom-icon>.fas,.carousel-control-custom-icon>.ion,.carousel-control-custom-icon>.svg-inline--fa{display:inline-block;font-size:40px;margin-top:-20px;position:absolute;top:50%;z-index:5}.close,.mailbox-attachment-close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover,.mailbox-attachment-close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover,.mailbox-attachment-close:not(:disabled):not(.disabled):focus,.mailbox-attachment-close:not(:disabled):not(.disabled):hover{opacity:.75}.close:focus,.mailbox-attachment-close:focus{outline:0}button.close,button.mailbox-attachment-close{padding:0;background-color:transparent;border:0}a.close.disabled,a.disabled.mailbox-attachment-close{pointer-events:none}.small-box{border-radius:.25rem;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);display:block;margin-bottom:20px;position:relative}.small-box>.inner{padding:10px}.small-box>.small-box-footer{background-color:rgba(0,0,0,.1);color:rgba(255,255,255,.8);display:block;padding:3px 0;position:relative;text-align:center;text-decoration:none;z-index:10}.small-box>.small-box-footer:hover{background-color:rgba(0,0,0,.15);color:#fff}.small-box h3{font-size:2.2rem;font-weight:700;margin:0 0 10px;padding:0;white-space:nowrap}@media (min-width:992px){.col-lg-2 .small-box h3,.col-md-2 .small-box h3,.col-xl-2 .small-box h3{font-size:1.6rem}.col-lg-3 .small-box h3,.col-md-3 .small-box h3,.col-xl-3 .small-box h3{font-size:1.6rem}}@media (min-width:1200px){.col-lg-2 .small-box h3,.col-md-2 .small-box h3,.col-xl-2 .small-box h3{font-size:2.2rem}.col-lg-3 .small-box h3,.col-md-3 .small-box h3,.col-xl-3 .small-box h3{font-size:2.2rem}}.small-box p{font-size:1rem}.small-box p>small{color:#f8f9fa;display:block;font-size:.9rem;margin-top:5px}.small-box h3,.small-box p{z-index:5}.small-box .icon{color:rgba(0,0,0,.15);z-index:0}.small-box .icon>i{font-size:90px;position:absolute;right:15px;top:15px;transition:-webkit-transform .3s linear;transition:transform .3s linear;transition:transform .3s linear,-webkit-transform .3s linear}.small-box .icon>i.fa,.small-box .icon>i.fab,.small-box .icon>i.fad,.small-box .icon>i.fal,.small-box .icon>i.far,.small-box .icon>i.fas,.small-box .icon>i.ion{font-size:70px;top:20px}.small-box .icon svg{font-size:70px;position:absolute;right:15px;top:15px;transition:-webkit-transform .3s linear;transition:transform .3s linear;transition:transform .3s linear,-webkit-transform .3s linear}.small-box:hover{text-decoration:none}.small-box:hover .icon>i,.small-box:hover .icon>i.fa,.small-box:hover .icon>i.fab,.small-box:hover .icon>i.fad,.small-box:hover .icon>i.fal,.small-box:hover .icon>i.far,.small-box:hover .icon>i.fas,.small-box:hover .icon>i.ion{-webkit-transform:scale(1.1);transform:scale(1.1)}.small-box:hover .icon>svg{-webkit-transform:scale(1.1);transform:scale(1.1)}@media (max-width:767.98px){.small-box{text-align:center}.small-box .icon{display:none}.small-box p{font-size:12px}}.info-box{box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);border-radius:.25rem;background-color:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:1rem;min-height:80px;padding:.5rem;position:relative;width:100%}.info-box .progress{background-color:rgba(0,0,0,.125);height:2px;margin:5px 0}.info-box .progress .progress-bar{background-color:#fff}.info-box .info-box-icon{border-radius:.25rem;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:1.875rem;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;width:70px}.info-box .info-box-icon>img{max-width:100%}.info-box .info-box-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;line-height:1.8;-webkit-flex:1;-ms-flex:1;flex:1;padding:0 10px}.info-box .info-box-number{display:block;margin-top:.25rem;font-weight:700}.info-box .info-box-text,.info-box .progress-description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-box .info-box .bg-gradient-primary,.info-box .info-box .bg-primary{color:#fff}.info-box .info-box .bg-gradient-primary .progress-bar,.info-box .info-box .bg-primary .progress-bar{background-color:#fff}.info-box .info-box .bg-gradient-secondary,.info-box .info-box .bg-secondary{color:#fff}.info-box .info-box .bg-gradient-secondary .progress-bar,.info-box .info-box .bg-secondary .progress-bar{background-color:#fff}.info-box .info-box .bg-gradient-success,.info-box .info-box .bg-success{color:#fff}.info-box .info-box .bg-gradient-success .progress-bar,.info-box .info-box .bg-success .progress-bar{background-color:#fff}.info-box .info-box .bg-gradient-info,.info-box .info-box .bg-info{color:#fff}.info-box .info-box .bg-gradient-info .progress-bar,.info-box .info-box .bg-info .progress-bar{background-color:#fff}.info-box .info-box .bg-gradient-warning,.info-box .info-box .bg-warning{color:#1f2d3d}.info-box .info-box .bg-gradient-warning .progress-bar,.info-box .info-box .bg-warning .progress-bar{background-color:#1f2d3d}.info-box .info-box .bg-danger,.info-box .info-box .bg-gradient-danger{color:#fff}.info-box .info-box .bg-danger .progress-bar,.info-box .info-box .bg-gradient-danger .progress-bar{background-color:#fff}.info-box .info-box .bg-gradient-light,.info-box .info-box .bg-light{color:#1f2d3d}.info-box .info-box .bg-gradient-light .progress-bar,.info-box .info-box .bg-light .progress-bar{background-color:#1f2d3d}.info-box .info-box .bg-dark,.info-box .info-box .bg-gradient-dark{color:#fff}.info-box .info-box .bg-dark .progress-bar,.info-box .info-box .bg-gradient-dark .progress-bar{background-color:#fff}.info-box .info-box-more{display:block}.info-box .progress-description{margin:0}@media (min-width:768px){.col-lg-2 .info-box .progress-description,.col-md-2 .info-box .progress-description,.col-xl-2 .info-box .progress-description{display:none}.col-lg-3 .info-box .progress-description,.col-md-3 .info-box .progress-description,.col-xl-3 .info-box .progress-description{display:none}}@media (min-width:992px){.col-lg-2 .info-box .progress-description,.col-md-2 .info-box .progress-description,.col-xl-2 .info-box .progress-description{font-size:.75rem;display:block}.col-lg-3 .info-box .progress-description,.col-md-3 .info-box .progress-description,.col-xl-3 .info-box .progress-description{font-size:.75rem;display:block}}@media (min-width:1200px){.col-lg-2 .info-box .progress-description,.col-md-2 .info-box .progress-description,.col-xl-2 .info-box .progress-description{font-size:1rem;display:block}.col-lg-3 .info-box .progress-description,.col-md-3 .info-box .progress-description,.col-xl-3 .info-box .progress-description{font-size:1rem;display:block}}.dark-mode .info-box{background-color:#343a40;color:#fff}.dark-mode .info-box .info-box .bg-gradient-primary,.dark-mode .info-box .info-box .bg-primary{color:#fff}.dark-mode .info-box .info-box .bg-gradient-primary .progress-bar,.dark-mode .info-box .info-box .bg-primary .progress-bar{background-color:#fff}.dark-mode .info-box .info-box .bg-gradient-secondary,.dark-mode .info-box .info-box .bg-secondary{color:#fff}.dark-mode .info-box .info-box .bg-gradient-secondary .progress-bar,.dark-mode .info-box .info-box .bg-secondary .progress-bar{background-color:#fff}.dark-mode .info-box .info-box .bg-gradient-success,.dark-mode .info-box .info-box .bg-success{color:#fff}.dark-mode .info-box .info-box .bg-gradient-success .progress-bar,.dark-mode .info-box .info-box .bg-success .progress-bar{background-color:#fff}.dark-mode .info-box .info-box .bg-gradient-info,.dark-mode .info-box .info-box .bg-info{color:#fff}.dark-mode .info-box .info-box .bg-gradient-info .progress-bar,.dark-mode .info-box .info-box .bg-info .progress-bar{background-color:#fff}.dark-mode .info-box .info-box .bg-gradient-warning,.dark-mode .info-box .info-box .bg-warning{color:#1f2d3d}.dark-mode .info-box .info-box .bg-gradient-warning .progress-bar,.dark-mode .info-box .info-box .bg-warning .progress-bar{background-color:#1f2d3d}.dark-mode .info-box .info-box .bg-danger,.dark-mode .info-box .info-box .bg-gradient-danger{color:#fff}.dark-mode .info-box .info-box .bg-danger .progress-bar,.dark-mode .info-box .info-box .bg-gradient-danger .progress-bar{background-color:#fff}.dark-mode .info-box .info-box .bg-gradient-light,.dark-mode .info-box .info-box .bg-light{color:#1f2d3d}.dark-mode .info-box .info-box .bg-gradient-light .progress-bar,.dark-mode .info-box .info-box .bg-light .progress-bar{background-color:#1f2d3d}.dark-mode .info-box .info-box .bg-dark,.dark-mode .info-box .info-box .bg-gradient-dark{color:#fff}.dark-mode .info-box .info-box .bg-dark .progress-bar,.dark-mode .info-box .info-box .bg-gradient-dark .progress-bar{background-color:#fff}.timeline{margin:0 0 45px;padding:0;position:relative}.timeline::before{border-radius:.25rem;background-color:#dee2e6;bottom:0;content:"";left:31px;margin:0;position:absolute;top:0;width:4px}.timeline>div{margin-bottom:15px;margin-right:10px;position:relative}.timeline>div::after,.timeline>div::before{content:"";display:table}.timeline>div>.timeline-item{box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);border-radius:.25rem;background-color:#fff;color:#495057;margin-left:60px;margin-right:15px;margin-top:0;padding:0;position:relative}.timeline>div>.timeline-item>.time{color:#999;float:right;font-size:12px;padding:10px}.timeline>div>.timeline-item>.timeline-header{border-bottom:1px solid rgba(0,0,0,.125);color:#495057;font-size:16px;line-height:1.1;margin:0;padding:10px}.timeline>div>.timeline-item>.timeline-header>a{font-weight:600}.timeline>div>.timeline-item>.timeline-body,.timeline>div>.timeline-item>.timeline-footer{padding:10px}.timeline>div>.timeline-item>.timeline-body>img{margin:10px}.timeline>div>.timeline-item>.timeline-body ol,.timeline>div>.timeline-item>.timeline-body ul,.timeline>div>.timeline-item>.timeline-body>dl{margin:0}.timeline>div>.timeline-item>.timeline-footer>a{color:#fff}.timeline>div>.fa,.timeline>div>.fab,.timeline>div>.fad,.timeline>div>.fal,.timeline>div>.far,.timeline>div>.fas,.timeline>div>.ion,.timeline>div>.svg-inline--fa{background-color:#adb5bd;border-radius:50%;font-size:16px;height:30px;left:18px;line-height:30px;position:absolute;text-align:center;top:0;width:30px}.timeline>div>.svg-inline--fa{padding:7px}.timeline>.time-label>span{border-radius:4px;background-color:#fff;display:inline-block;font-weight:600;padding:5px}.timeline-inverse>div>.timeline-item{box-shadow:none;background-color:#f8f9fa;border:1px solid #dee2e6}.timeline-inverse>div>.timeline-item>.timeline-header{border-bottom-color:#dee2e6}.dark-mode .timeline::before{background-color:#6c757d}.dark-mode .timeline>div>.timeline-item{background-color:#343a40;color:#fff;border-color:#6c757d}.dark-mode .timeline>div>.timeline-item>.timeline-header{color:#ced4da;border-color:#6c757d}.dark-mode .timeline>div>.timeline-item>.time{color:#ced4da}.products-list{list-style:none;margin:0;padding:0}.products-list>.item{border-radius:.25rem;background-color:#fff;padding:10px 0}.products-list>.item::after{display:block;clear:both;content:""}.products-list .product-img{float:left}.products-list .product-img img{height:50px;width:50px}.products-list .product-info{margin-left:60px}.products-list .product-title{font-weight:600}.products-list .product-description{color:#6c757d;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-list-in-card>.item{border-radius:0;border-bottom:1px solid rgba(0,0,0,.125)}.product-list-in-card>.item:last-of-type{border-bottom-width:0}.dark-mode .products-list>.item{background-color:#343a40;color:#fff;border-bottom-color:#6c757d}.dark-mode .product-description{color:#ced4da}.direct-chat .card-body{overflow-x:hidden;padding:0;position:relative}.direct-chat.chat-pane-open .direct-chat-contacts{-webkit-transform:translate(0,0);transform:translate(0,0)}.direct-chat.timestamp-light .direct-chat-timestamp{color:#30465f}.direct-chat.timestamp-dark .direct-chat-timestamp{color:#ccc}.direct-chat-messages{-webkit-transform:translate(0,0);transform:translate(0,0);height:250px;overflow:auto;padding:10px}.direct-chat-msg,.direct-chat-text{display:block}.direct-chat-msg{margin-bottom:10px}.direct-chat-msg::after{display:block;clear:both;content:""}.direct-chat-contacts,.direct-chat-messages{transition:-webkit-transform .5s ease-in-out;transition:transform .5s ease-in-out;transition:transform .5s ease-in-out,-webkit-transform .5s ease-in-out}.direct-chat-text{border-radius:.3rem;background-color:#d2d6de;border:1px solid #d2d6de;color:#444;margin:5px 0 0 50px;padding:5px 10px;position:relative}.direct-chat-text::after,.direct-chat-text::before{border:solid transparent;border-right-color:#d2d6de;content:" ";height:0;pointer-events:none;position:absolute;right:100%;top:15px;width:0}.direct-chat-text::after{border-width:5px;margin-top:-5px}.direct-chat-text::before{border-width:6px;margin-top:-6px}.right .direct-chat-text{margin-left:0;margin-right:50px}.right .direct-chat-text::after,.right .direct-chat-text::before{border-left-color:#d2d6de;border-right-color:transparent;left:100%;right:auto}.direct-chat-img{border-radius:50%;float:left;height:40px;width:40px}.right .direct-chat-img{float:right}.direct-chat-infos{display:block;font-size:.875rem;margin-bottom:2px}.direct-chat-name{font-weight:600}.direct-chat-timestamp{color:#697582}.direct-chat-contacts-open .direct-chat-contacts{-webkit-transform:translate(0,0);transform:translate(0,0)}.direct-chat-contacts{-webkit-transform:translate(101%,0);transform:translate(101%,0);background-color:#343a40;bottom:0;color:#fff;height:250px;overflow:auto;position:absolute;top:0;width:100%}.direct-chat-contacts-light{background-color:#f8f9fa}.direct-chat-contacts-light .contacts-list-name{color:#495057}.direct-chat-contacts-light .contacts-list-date{color:#6c757d}.direct-chat-contacts-light .contacts-list-msg{color:#545b62}.contacts-list{padding-left:0;list-style:none}.contacts-list>li{border-bottom:1px solid rgba(0,0,0,.2);margin:0;padding:10px}.contacts-list>li::after{display:block;clear:both;content:""}.contacts-list>li:last-of-type{border-bottom:0}.contacts-list-img{border-radius:50%;float:left;width:40px}.contacts-list-info{color:#fff;margin-left:45px}.contacts-list-name,.contacts-list-status{display:block}.contacts-list-name{font-weight:600}.contacts-list-status{font-size:.875rem}.contacts-list-date{color:#ced4da;font-weight:400}.contacts-list-msg{color:#b1bbc4}.direct-chat-primary .right>.direct-chat-text{background-color:#007bff;border-color:#007bff;color:#fff}.direct-chat-primary .right>.direct-chat-text::after,.direct-chat-primary .right>.direct-chat-text::before{border-left-color:#007bff}.direct-chat-secondary .right>.direct-chat-text{background-color:#6c757d;border-color:#6c757d;color:#fff}.direct-chat-secondary .right>.direct-chat-text::after,.direct-chat-secondary .right>.direct-chat-text::before{border-left-color:#6c757d}.direct-chat-success .right>.direct-chat-text{background-color:#28a745;border-color:#28a745;color:#fff}.direct-chat-success .right>.direct-chat-text::after,.direct-chat-success .right>.direct-chat-text::before{border-left-color:#28a745}.direct-chat-info .right>.direct-chat-text{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.direct-chat-info .right>.direct-chat-text::after,.direct-chat-info .right>.direct-chat-text::before{border-left-color:#17a2b8}.direct-chat-warning .right>.direct-chat-text{background-color:#ffc107;border-color:#ffc107;color:#1f2d3d}.direct-chat-warning .right>.direct-chat-text::after,.direct-chat-warning .right>.direct-chat-text::before{border-left-color:#ffc107}.direct-chat-danger .right>.direct-chat-text{background-color:#dc3545;border-color:#dc3545;color:#fff}.direct-chat-danger .right>.direct-chat-text::after,.direct-chat-danger .right>.direct-chat-text::before{border-left-color:#dc3545}.direct-chat-light .right>.direct-chat-text{background-color:#f8f9fa;border-color:#f8f9fa;color:#1f2d3d}.direct-chat-light .right>.direct-chat-text::after,.direct-chat-light .right>.direct-chat-text::before{border-left-color:#f8f9fa}.direct-chat-dark .right>.direct-chat-text{background-color:#343a40;border-color:#343a40;color:#fff}.direct-chat-dark .right>.direct-chat-text::after,.direct-chat-dark .right>.direct-chat-text::before{border-left-color:#343a40}.direct-chat-lightblue .right>.direct-chat-text{background-color:#3c8dbc;border-color:#3c8dbc;color:#fff}.direct-chat-lightblue .right>.direct-chat-text::after,.direct-chat-lightblue .right>.direct-chat-text::before{border-left-color:#3c8dbc}.direct-chat-navy .right>.direct-chat-text{background-color:#001f3f;border-color:#001f3f;color:#fff}.direct-chat-navy .right>.direct-chat-text::after,.direct-chat-navy .right>.direct-chat-text::before{border-left-color:#001f3f}.direct-chat-olive .right>.direct-chat-text{background-color:#3d9970;border-color:#3d9970;color:#fff}.direct-chat-olive .right>.direct-chat-text::after,.direct-chat-olive .right>.direct-chat-text::before{border-left-color:#3d9970}.direct-chat-lime .right>.direct-chat-text{background-color:#01ff70;border-color:#01ff70;color:#1f2d3d}.direct-chat-lime .right>.direct-chat-text::after,.direct-chat-lime .right>.direct-chat-text::before{border-left-color:#01ff70}.direct-chat-fuchsia .right>.direct-chat-text{background-color:#f012be;border-color:#f012be;color:#fff}.direct-chat-fuchsia .right>.direct-chat-text::after,.direct-chat-fuchsia .right>.direct-chat-text::before{border-left-color:#f012be}.direct-chat-maroon .right>.direct-chat-text{background-color:#d81b60;border-color:#d81b60;color:#fff}.direct-chat-maroon .right>.direct-chat-text::after,.direct-chat-maroon .right>.direct-chat-text::before{border-left-color:#d81b60}.direct-chat-blue .right>.direct-chat-text{background-color:#007bff;border-color:#007bff;color:#fff}.direct-chat-blue .right>.direct-chat-text::after,.direct-chat-blue .right>.direct-chat-text::before{border-left-color:#007bff}.direct-chat-indigo .right>.direct-chat-text{background-color:#6610f2;border-color:#6610f2;color:#fff}.direct-chat-indigo .right>.direct-chat-text::after,.direct-chat-indigo .right>.direct-chat-text::before{border-left-color:#6610f2}.direct-chat-purple .right>.direct-chat-text{background-color:#6f42c1;border-color:#6f42c1;color:#fff}.direct-chat-purple .right>.direct-chat-text::after,.direct-chat-purple .right>.direct-chat-text::before{border-left-color:#6f42c1}.direct-chat-pink .right>.direct-chat-text{background-color:#e83e8c;border-color:#e83e8c;color:#fff}.direct-chat-pink .right>.direct-chat-text::after,.direct-chat-pink .right>.direct-chat-text::before{border-left-color:#e83e8c}.direct-chat-red .right>.direct-chat-text{background-color:#dc3545;border-color:#dc3545;color:#fff}.direct-chat-red .right>.direct-chat-text::after,.direct-chat-red .right>.direct-chat-text::before{border-left-color:#dc3545}.direct-chat-orange .right>.direct-chat-text{background-color:#fd7e14;border-color:#fd7e14;color:#1f2d3d}.direct-chat-orange .right>.direct-chat-text::after,.direct-chat-orange .right>.direct-chat-text::before{border-left-color:#fd7e14}.direct-chat-yellow .right>.direct-chat-text{background-color:#ffc107;border-color:#ffc107;color:#1f2d3d}.direct-chat-yellow .right>.direct-chat-text::after,.direct-chat-yellow .right>.direct-chat-text::before{border-left-color:#ffc107}.direct-chat-green .right>.direct-chat-text{background-color:#28a745;border-color:#28a745;color:#fff}.direct-chat-green .right>.direct-chat-text::after,.direct-chat-green .right>.direct-chat-text::before{border-left-color:#28a745}.direct-chat-teal .right>.direct-chat-text{background-color:#20c997;border-color:#20c997;color:#fff}.direct-chat-teal .right>.direct-chat-text::after,.direct-chat-teal .right>.direct-chat-text::before{border-left-color:#20c997}.direct-chat-cyan .right>.direct-chat-text{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.direct-chat-cyan .right>.direct-chat-text::after,.direct-chat-cyan .right>.direct-chat-text::before{border-left-color:#17a2b8}.direct-chat-white .right>.direct-chat-text{background-color:#fff;border-color:#fff;color:#1f2d3d}.direct-chat-white .right>.direct-chat-text::after,.direct-chat-white .right>.direct-chat-text::before{border-left-color:#fff}.direct-chat-gray .right>.direct-chat-text{background-color:#6c757d;border-color:#6c757d;color:#fff}.direct-chat-gray .right>.direct-chat-text::after,.direct-chat-gray .right>.direct-chat-text::before{border-left-color:#6c757d}.direct-chat-gray-dark .right>.direct-chat-text{background-color:#343a40;border-color:#343a40;color:#fff}.direct-chat-gray-dark .right>.direct-chat-text::after,.direct-chat-gray-dark .right>.direct-chat-text::before{border-left-color:#343a40}.dark-mode .direct-chat-text{background-color:#454d55;border-color:#4b545c;color:#fff}.dark-mode .direct-chat-text::after,.dark-mode .direct-chat-text::before{border-right-color:#4b545c}.dark-mode .direct-chat-timestamp{color:#adb5bd}.dark-mode .right>.direct-chat-text::after,.dark-mode .right>.direct-chat-text::before{border-right-color:transparent}.dark-mode .direct-chat-primary .right>.direct-chat-text{background-color:#3f6791;border-color:#3f6791;color:#fff}.dark-mode .direct-chat-primary .right>.direct-chat-text::after,.dark-mode .direct-chat-primary .right>.direct-chat-text::before{border-left-color:#3f6791}.dark-mode .direct-chat-secondary .right>.direct-chat-text{background-color:#6c757d;border-color:#6c757d;color:#fff}.dark-mode .direct-chat-secondary .right>.direct-chat-text::after,.dark-mode .direct-chat-secondary .right>.direct-chat-text::before{border-left-color:#6c757d}.dark-mode .direct-chat-success .right>.direct-chat-text{background-color:#00bc8c;border-color:#00bc8c;color:#fff}.dark-mode .direct-chat-success .right>.direct-chat-text::after,.dark-mode .direct-chat-success .right>.direct-chat-text::before{border-left-color:#00bc8c}.dark-mode .direct-chat-info .right>.direct-chat-text{background-color:#3498db;border-color:#3498db;color:#fff}.dark-mode .direct-chat-info .right>.direct-chat-text::after,.dark-mode .direct-chat-info .right>.direct-chat-text::before{border-left-color:#3498db}.dark-mode .direct-chat-warning .right>.direct-chat-text{background-color:#f39c12;border-color:#f39c12;color:#1f2d3d}.dark-mode .direct-chat-warning .right>.direct-chat-text::after,.dark-mode .direct-chat-warning .right>.direct-chat-text::before{border-left-color:#f39c12}.dark-mode .direct-chat-danger .right>.direct-chat-text{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.dark-mode .direct-chat-danger .right>.direct-chat-text::after,.dark-mode .direct-chat-danger .right>.direct-chat-text::before{border-left-color:#e74c3c}.dark-mode .direct-chat-light .right>.direct-chat-text{background-color:#f8f9fa;border-color:#f8f9fa;color:#1f2d3d}.dark-mode .direct-chat-light .right>.direct-chat-text::after,.dark-mode .direct-chat-light .right>.direct-chat-text::before{border-left-color:#f8f9fa}.dark-mode .direct-chat-dark .right>.direct-chat-text{background-color:#343a40;border-color:#343a40;color:#fff}.dark-mode .direct-chat-dark .right>.direct-chat-text::after,.dark-mode .direct-chat-dark .right>.direct-chat-text::before{border-left-color:#343a40}.dark-mode .direct-chat-lightblue .right>.direct-chat-text{background-color:#86bad8;border-color:#86bad8;color:#1f2d3d}.dark-mode .direct-chat-lightblue .right>.direct-chat-text::after,.dark-mode .direct-chat-lightblue .right>.direct-chat-text::before{border-left-color:#86bad8}.dark-mode .direct-chat-navy .right>.direct-chat-text{background-color:#002c59;border-color:#002c59;color:#fff}.dark-mode .direct-chat-navy .right>.direct-chat-text::after,.dark-mode .direct-chat-navy .right>.direct-chat-text::before{border-left-color:#002c59}.dark-mode .direct-chat-olive .right>.direct-chat-text{background-color:#74c8a3;border-color:#74c8a3;color:#1f2d3d}.dark-mode .direct-chat-olive .right>.direct-chat-text::after,.dark-mode .direct-chat-olive .right>.direct-chat-text::before{border-left-color:#74c8a3}.dark-mode .direct-chat-lime .right>.direct-chat-text{background-color:#67ffa9;border-color:#67ffa9;color:#1f2d3d}.dark-mode .direct-chat-lime .right>.direct-chat-text::after,.dark-mode .direct-chat-lime .right>.direct-chat-text::before{border-left-color:#67ffa9}.dark-mode .direct-chat-fuchsia .right>.direct-chat-text{background-color:#f672d8;border-color:#f672d8;color:#1f2d3d}.dark-mode .direct-chat-fuchsia .right>.direct-chat-text::after,.dark-mode .direct-chat-fuchsia .right>.direct-chat-text::before{border-left-color:#f672d8}.dark-mode .direct-chat-maroon .right>.direct-chat-text{background-color:#ed6c9b;border-color:#ed6c9b;color:#1f2d3d}.dark-mode .direct-chat-maroon .right>.direct-chat-text::after,.dark-mode .direct-chat-maroon .right>.direct-chat-text::before{border-left-color:#ed6c9b}.dark-mode .direct-chat-blue .right>.direct-chat-text{background-color:#3f6791;border-color:#3f6791;color:#fff}.dark-mode .direct-chat-blue .right>.direct-chat-text::after,.dark-mode .direct-chat-blue .right>.direct-chat-text::before{border-left-color:#3f6791}.dark-mode .direct-chat-indigo .right>.direct-chat-text{background-color:#6610f2;border-color:#6610f2;color:#fff}.dark-mode .direct-chat-indigo .right>.direct-chat-text::after,.dark-mode .direct-chat-indigo .right>.direct-chat-text::before{border-left-color:#6610f2}.dark-mode .direct-chat-purple .right>.direct-chat-text{background-color:#6f42c1;border-color:#6f42c1;color:#fff}.dark-mode .direct-chat-purple .right>.direct-chat-text::after,.dark-mode .direct-chat-purple .right>.direct-chat-text::before{border-left-color:#6f42c1}.dark-mode .direct-chat-pink .right>.direct-chat-text{background-color:#e83e8c;border-color:#e83e8c;color:#fff}.dark-mode .direct-chat-pink .right>.direct-chat-text::after,.dark-mode .direct-chat-pink .right>.direct-chat-text::before{border-left-color:#e83e8c}.dark-mode .direct-chat-red .right>.direct-chat-text{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.dark-mode .direct-chat-red .right>.direct-chat-text::after,.dark-mode .direct-chat-red .right>.direct-chat-text::before{border-left-color:#e74c3c}.dark-mode .direct-chat-orange .right>.direct-chat-text{background-color:#fd7e14;border-color:#fd7e14;color:#1f2d3d}.dark-mode .direct-chat-orange .right>.direct-chat-text::after,.dark-mode .direct-chat-orange .right>.direct-chat-text::before{border-left-color:#fd7e14}.dark-mode .direct-chat-yellow .right>.direct-chat-text{background-color:#f39c12;border-color:#f39c12;color:#1f2d3d}.dark-mode .direct-chat-yellow .right>.direct-chat-text::after,.dark-mode .direct-chat-yellow .right>.direct-chat-text::before{border-left-color:#f39c12}.dark-mode .direct-chat-green .right>.direct-chat-text{background-color:#00bc8c;border-color:#00bc8c;color:#fff}.dark-mode .direct-chat-green .right>.direct-chat-text::after,.dark-mode .direct-chat-green .right>.direct-chat-text::before{border-left-color:#00bc8c}.dark-mode .direct-chat-teal .right>.direct-chat-text{background-color:#20c997;border-color:#20c997;color:#fff}.dark-mode .direct-chat-teal .right>.direct-chat-text::after,.dark-mode .direct-chat-teal .right>.direct-chat-text::before{border-left-color:#20c997}.dark-mode .direct-chat-cyan .right>.direct-chat-text{background-color:#3498db;border-color:#3498db;color:#fff}.dark-mode .direct-chat-cyan .right>.direct-chat-text::after,.dark-mode .direct-chat-cyan .right>.direct-chat-text::before{border-left-color:#3498db}.dark-mode .direct-chat-white .right>.direct-chat-text{background-color:#fff;border-color:#fff;color:#1f2d3d}.dark-mode .direct-chat-white .right>.direct-chat-text::after,.dark-mode .direct-chat-white .right>.direct-chat-text::before{border-left-color:#fff}.dark-mode .direct-chat-gray .right>.direct-chat-text{background-color:#6c757d;border-color:#6c757d;color:#fff}.dark-mode .direct-chat-gray .right>.direct-chat-text::after,.dark-mode .direct-chat-gray .right>.direct-chat-text::before{border-left-color:#6c757d}.dark-mode .direct-chat-gray-dark .right>.direct-chat-text{background-color:#343a40;border-color:#343a40;color:#fff}.dark-mode .direct-chat-gray-dark .right>.direct-chat-text::after,.dark-mode .direct-chat-gray-dark .right>.direct-chat-text::before{border-left-color:#343a40}.users-list{padding-left:0;list-style:none}.users-list>li{float:left;padding:10px;text-align:center;width:25%}.users-list>li img{border-radius:50%;height:auto;max-width:100%}.users-list>li>a:hover,.users-list>li>a:hover .users-list-name{color:#999}.users-list-date,.users-list-name{display:block}.users-list-name{color:#495057;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-list-date{color:#748290;font-size:12px}.dark-mode .users-list-name{color:#ced4da}.dark-mode .users-list-date{color:#adb5bd}.card-widget{border:0;position:relative}.widget-user .widget-user-header{border-top-left-radius:.25rem;border-top-right-radius:.25rem;height:135px;padding:1rem;text-align:center}.widget-user .widget-user-username{font-size:25px;font-weight:300;margin-bottom:0;margin-top:0;text-shadow:0 1px 1px rgba(0,0,0,.2)}.widget-user .widget-user-desc{margin-top:0}.widget-user .widget-user-image{left:50%;margin-left:-45px;position:absolute;top:80px}.widget-user .widget-user-image>img{border:3px solid #fff;height:auto;width:90px}.widget-user .card-footer{padding-top:50px}.widget-user-2 .widget-user-header{border-top-left-radius:.25rem;border-top-right-radius:.25rem;padding:1rem}.widget-user-2 .widget-user-username{font-size:25px;font-weight:300;margin-bottom:5px;margin-top:5px}.widget-user-2 .widget-user-desc{margin-top:0}.widget-user-2 .widget-user-desc,.widget-user-2 .widget-user-username{margin-left:75px}.widget-user-2 .widget-user-image>img{float:left;height:auto;width:65px}.mailbox-messages>.table{margin:0}.mailbox-controls{padding:5px}.mailbox-controls.with-border{border-bottom:1px solid rgba(0,0,0,.125)}.mailbox-read-info{border-bottom:1px solid rgba(0,0,0,.125);padding:10px}.mailbox-read-info h3{font-size:20px;margin:0}.mailbox-read-info h5{margin:0;padding:5px 0 0}.mailbox-read-time{color:#999;font-size:13px}.mailbox-read-message{padding:10px}.mailbox-attachments{padding-left:0;list-style:none}.mailbox-attachments li{border:1px solid #eee;float:left;margin-bottom:10px;margin-right:10px;width:200px}.mailbox-attachment-name{color:#666;font-weight:700}.mailbox-attachment-icon,.mailbox-attachment-info,.mailbox-attachment-size{display:block}.mailbox-attachment-info{background-color:#f8f9fa;padding:10px}.mailbox-attachment-size{color:#999;font-size:12px}.mailbox-attachment-size>span{display:inline-block;padding-top:.75rem}.mailbox-attachment-icon{color:#666;font-size:65px;max-height:132.5px;padding:20px 10px;text-align:center}.mailbox-attachment-icon.has-img{padding:0}.mailbox-attachment-icon.has-img>img{height:auto;max-width:100%}.lockscreen{background-color:#e9ecef}.lockscreen .lockscreen-name{font-weight:600;text-align:center}.lockscreen-logo{font-size:35px;font-weight:300;margin-bottom:25px;text-align:center}.lockscreen-logo a{color:#495057}.lockscreen-wrapper{margin:0 auto;margin-top:10%;max-width:400px}.lockscreen-item{border-radius:4px;background-color:#fff;margin:10px auto 30px;padding:0;position:relative;width:290px}.lockscreen-image{border-radius:50%;background-color:#fff;left:-10px;padding:5px;position:absolute;top:-25px;z-index:10}.lockscreen-image>img{border-radius:50%;height:70px;width:70px}.lockscreen-credentials{margin-left:70px}.lockscreen-credentials .form-control{border:0}.lockscreen-credentials .btn{background-color:#fff;border:0;padding:0 10px}.lockscreen-footer{margin-top:10px}.dark-mode .lockscreen-item{background-color:#343a40}.dark-mode .lockscreen-logo a{color:#fff}.dark-mode .lockscreen-credentials .btn{background-color:#343a40}.dark-mode .lockscreen-image{background-color:#6c757d}.login-logo,.register-logo{font-size:2.1rem;font-weight:300;margin-bottom:.9rem;text-align:center}.login-logo a,.register-logo a{color:#495057}.login-page,.register-page{-webkit-align-items:center;-ms-flex-align:center;align-items:center;background-color:#e9ecef;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100vh;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.login-box,.register-box{width:360px}@media (max-width:576px){.login-box,.register-box{margin-top:.5rem;width:90%}}.login-box .card,.register-box .card{margin-bottom:0}.login-card-body,.register-card-body{background-color:#fff;border-top:0;color:#666;padding:20px}.login-card-body .input-group .form-control,.register-card-body .input-group .form-control{border-right:0}.login-card-body .input-group .form-control:focus,.register-card-body .input-group .form-control:focus{box-shadow:none}.login-card-body .input-group .form-control:focus~.input-group-append .input-group-text,.login-card-body .input-group .form-control:focus~.input-group-prepend .input-group-text,.register-card-body .input-group .form-control:focus~.input-group-append .input-group-text,.register-card-body .input-group .form-control:focus~.input-group-prepend .input-group-text{border-color:#80bdff}.login-card-body .input-group .form-control.is-valid:focus,.register-card-body .input-group .form-control.is-valid:focus{box-shadow:none}.login-card-body .input-group .form-control.is-valid~.input-group-append .input-group-text,.login-card-body .input-group .form-control.is-valid~.input-group-prepend .input-group-text,.register-card-body .input-group .form-control.is-valid~.input-group-append .input-group-text,.register-card-body .input-group .form-control.is-valid~.input-group-prepend .input-group-text{border-color:#28a745}.login-card-body .input-group .form-control.is-invalid:focus,.register-card-body .input-group .form-control.is-invalid:focus{box-shadow:none}.login-card-body .input-group .form-control.is-invalid~.input-group-append .input-group-text,.register-card-body .input-group .form-control.is-invalid~.input-group-append .input-group-text{border-color:#dc3545}.login-card-body .input-group .input-group-text,.register-card-body .input-group .input-group-text{background-color:transparent;border-bottom-right-radius:.25rem;border-left:0;border-top-right-radius:.25rem;color:#777;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.login-box-msg,.register-box-msg{margin:0;padding:0 20px 20px;text-align:center}.social-auth-links{margin:10px 0}.dark-mode .login-card-body,.dark-mode .register-card-body{background-color:#343a40;border-color:#6c757d;color:#fff}.dark-mode .login-logo a,.dark-mode .register-logo a{color:#fff}.error-page{margin:20px auto 0;width:600px}@media (max-width:767.98px){.error-page{width:100%}}.error-page>.headline{float:left;font-size:100px;font-weight:300}@media (max-width:767.98px){.error-page>.headline{float:none;text-align:center}}.error-page>.error-content{display:block;margin-left:190px}@media (max-width:767.98px){.error-page>.error-content{margin-left:0}}.error-page>.error-content>h3{font-size:25px;font-weight:300}@media (max-width:767.98px){.error-page>.error-content>h3{text-align:center}}.invoice{background-color:#fff;border:1px solid rgba(0,0,0,.125);position:relative}.invoice-title{margin-top:0}.dark-mode .invoice{background-color:#343a40}.profile-user-img{border:3px solid #adb5bd;margin:0 auto;padding:3px;width:100px}.profile-username{font-size:21px;margin-top:5px}.post{border-bottom:1px solid #adb5bd;color:#666;margin-bottom:15px;padding-bottom:15px}.post:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.post .user-block{margin-bottom:15px;width:100%}.post .row{width:100%}.dark-mode .post{color:#fff;border-color:#6c757d}.product-image{max-width:100%;height:auto;width:100%}.product-image-thumbs{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-top:2rem}.product-image-thumb{box-shadow:0 1px 2px rgba(0,0,0,.075);border-radius:.25rem;background-color:#fff;border:1px solid #dee2e6;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:1rem;max-width:7rem;padding:.5rem}.product-image-thumb img{max-width:100%;height:auto;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.product-image-thumb:hover{opacity:.5}.product-share a{margin-right:.5rem}.projects td{vertical-align:middle}.projects .list-inline{margin-bottom:0}.projects .table-avatar img,.projects img.table-avatar{border-radius:50%;display:inline;width:2.5rem}.projects .project-state{text-align:center}body.iframe-mode .main-sidebar{display:none}body.iframe-mode .content-wrapper{margin-left:0!important;margin-top:0!important;padding-bottom:0!important}body.iframe-mode .main-footer,body.iframe-mode .main-header{display:none}body.iframe-mode-fullscreen{overflow:hidden}.content-wrapper{height:100%}.content-wrapper.iframe-mode .btn-iframe-close{color:#dc3545;position:absolute;line-height:1;right:.125rem;top:.125rem;z-index:10;visibility:hidden}.content-wrapper.iframe-mode .btn-iframe-close:focus,.content-wrapper.iframe-mode .btn-iframe-close:hover{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}@media (hover:none) and (pointer:coarse){.content-wrapper.iframe-mode .btn-iframe-close{visibility:visible}}.content-wrapper.iframe-mode .navbar-nav{overflow-y:auto;width:100%}.content-wrapper.iframe-mode .navbar-nav .nav-link{white-space:nowrap}.content-wrapper.iframe-mode .navbar-nav .nav-item{position:relative}.content-wrapper.iframe-mode .navbar-nav .nav-item:focus .btn-iframe-close,.content-wrapper.iframe-mode .navbar-nav .nav-item:hover .btn-iframe-close{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}@media (hover:none) and (pointer:coarse){.content-wrapper.iframe-mode .navbar-nav .nav-item:focus .btn-iframe-close,.content-wrapper.iframe-mode .navbar-nav .nav-item:hover .btn-iframe-close{visibility:visible}}.content-wrapper.iframe-mode .tab-content{position:relative}.content-wrapper.iframe-mode .tab-pane+.tab-empty{display:none}.content-wrapper.iframe-mode .tab-empty{width:100%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.content-wrapper.iframe-mode .tab-loading{position:absolute;top:0;left:0;width:100%;display:none;background-color:#f4f6f9}.content-wrapper.iframe-mode .tab-loading>div{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;height:100%}.content-wrapper.iframe-mode iframe{border:0;width:100%;height:100%;margin-bottom:-8px}.content-wrapper.iframe-mode iframe .content-wrapper{padding-bottom:0!important}body.iframe-mode-fullscreen .content-wrapper.iframe-mode{position:absolute;left:0;top:0;right:0;bottom:0;margin-left:0!important;height:100%;min-height:100%;z-index:1048}.permanent-btn-iframe-close .btn-iframe-close{-webkit-animation:none!important;animation:none!important;visibility:visible!important;opacity:1}.content-wrapper.kanban{height:1px}.content-wrapper.kanban .content{height:100%;overflow-x:auto;overflow-y:hidden}.content-wrapper.kanban .content .container,.content-wrapper.kanban .content .container-fluid,.content-wrapper.kanban .content .container-lg,.content-wrapper.kanban .content .container-md,.content-wrapper.kanban .content .container-sm,.content-wrapper.kanban .content .container-xl{width:-webkit-max-content;width:-moz-max-content;width:max-content;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.content-wrapper.kanban .content-header+.content{height:calc(100% - ((2 * 15px) + (1.8rem * 1.2)))}.content-wrapper.kanban .card .card-body{padding:.5rem}.content-wrapper.kanban .card.card-row{width:340px;display:inline-block;margin:0 .5rem}.content-wrapper.kanban .card.card-row:first-child{margin-left:0}.content-wrapper.kanban .card.card-row .card-body{height:calc(100% - (12px + (1.8rem * 1.2) + .5rem));overflow-y:auto}.content-wrapper.kanban .card.card-row .card:last-child{margin-bottom:0;border-bottom-width:1px}.content-wrapper.kanban .card.card-row .card .card-header{padding:.5rem .75rem}.content-wrapper.kanban .card.card-row .card .card-body{padding:.75rem}.content-wrapper.kanban .btn-tool.btn-link{text-decoration:underline;padding-left:0;padding-right:0}.fc-button{background:#f8f9fa;background-image:none;border-bottom-color:#ddd;border-color:#ddd;color:#495057}.fc-button.hover,.fc-button:active,.fc-button:hover{background-color:#e9e9e9}.fc-header-title h2{color:#666;font-size:15px;line-height:1.6em;margin-left:10px}.fc-header-right{padding-right:10px}.fc-header-left{padding-left:10px}.fc-widget-header{background:#fafafa}.fc-grid{border:0;width:100%}.fc-widget-content:first-of-type,.fc-widget-header:first-of-type{border-left:0;border-right:0}.fc-widget-content:last-of-type,.fc-widget-header:last-of-type{border-right:0}.fc-toolbar,.fc-toolbar.fc-header-toolbar{margin:0;padding:1rem}@media (max-width:575.98px){.fc-toolbar{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.fc-toolbar .fc-left{-webkit-order:1;-ms-flex-order:1;order:1;margin-bottom:.5rem}.fc-toolbar .fc-center{-webkit-order:0;-ms-flex-order:0;order:0;margin-bottom:.375rem}.fc-toolbar .fc-right{-webkit-order:2;-ms-flex-order:2;order:2}}.fc-day-number{font-size:20px;font-weight:300;padding-right:10px}.fc-color-picker{list-style:none;margin:0;padding:0}.fc-color-picker>li{float:left;font-size:30px;line-height:30px;margin-right:5px}.fc-color-picker>li .fa,.fc-color-picker>li .fab,.fc-color-picker>li .fad,.fc-color-picker>li .fal,.fc-color-picker>li .far,.fc-color-picker>li .fas,.fc-color-picker>li .ion,.fc-color-picker>li .svg-inline--fa{transition:-webkit-transform linear .3s;transition:transform linear .3s;transition:transform linear .3s,-webkit-transform linear .3s}.fc-color-picker>li .fa:hover,.fc-color-picker>li .fab:hover,.fc-color-picker>li .fad:hover,.fc-color-picker>li .fal:hover,.fc-color-picker>li .far:hover,.fc-color-picker>li .fas:hover,.fc-color-picker>li .ion:hover,.fc-color-picker>li .svg-inline--fa:hover{-webkit-transform:rotate(30deg);transform:rotate(30deg)}#add-new-event{transition:all linear .3s}.external-event{box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);border-radius:.25rem;cursor:move;font-weight:700;margin-bottom:4px;padding:5px 10px}.external-event:hover{box-shadow:inset 0 0 90px rgba(0,0,0,.2)}.select2-container--default .select2-selection--single{border:1px solid #ced4da;padding:.46875rem .75rem;height:calc(2.25rem + 2px)}.select2-container--default.select2-container--open .select2-selection--single{border-color:#80bdff}.select2-container--default .select2-dropdown{border:1px solid #ced4da}.select2-container--default .select2-results__option{padding:6px 12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:0;height:auto;margin-top:-3px}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:6px;padding-left:20px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:31px;right:6px}.select2-container--default .select2-selection--single .select2-selection__arrow b{margin-top:0}.select2-container--default .select2-dropdown .select2-search__field,.select2-container--default .select2-search--inline .select2-search__field{border:1px solid #ced4da}.select2-container--default .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-search--inline .select2-search__field:focus{outline:0;border:1px solid #80bdff}.select2-container--default .select2-dropdown.select2-dropdown--below{border-top:0}.select2-container--default .select2-dropdown.select2-dropdown--above{border-bottom:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#6c757d}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#dee2e6}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[aria-selected=true]:hover{color:#1f2d3d}.select2-container--default .select2-results__option--highlighted{background-color:#007bff;color:#fff}.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#0074f0;color:#fff}.select2-container--default .select2-selection--multiple{border:1px solid #ced4da;min-height:calc(2.25rem + 2px)}.select2-container--default .select2-selection--multiple:focus{border-color:#80bdff}.select2-container--default .select2-selection--multiple .select2-selection__rendered{padding:0 .375rem .375rem;margin-bottom:-.375rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered li:first-child.select2-search.select2-search--inline{width:100%;margin-left:.375rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered li:first-child.select2-search.select2-search--inline .select2-search__field{width:100%!important}.select2-container--default .select2-selection--multiple .select2-selection__rendered .select2-search.select2-search--inline .select2-search__field{border:0;margin-top:6px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#007bff;border-color:#006fe6;color:#fff;padding:0 10px;margin-top:.31rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7);float:right;margin-left:5px;margin-right:-2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-selection--multiple.text-sm .select2-search.select2-search--inline .select2-search__field,.text-sm .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline .select2-search__field{margin-top:8px}.select2-container--default .select2-selection--multiple.text-sm .select2-selection__choice,.text-sm .select2-container--default .select2-selection--multiple .select2-selection__choice{margin-top:.4rem}.select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default.select2-container--focus .select2-selection--single{border-color:#80bdff}.select2-container--default.select2-container--focus .select2-search__field{border:0}.select2-container--default .select2-selection--single .select2-selection__rendered li{padding-right:10px}.input-group-prepend~.select2-container--default .select2-selection{border-bottom-left-radius:0;border-top-left-radius:0}.input-group>.select2-container--default:not(:last-child) .select2-selection{border-bottom-right-radius:0;border-top-right-radius:0}.select2-container--bootstrap4.select2-container--focus .select2-selection{box-shadow:none}select.form-control-sm~.select2-container--default{font-size:.875rem}.text-sm .select2-container--default .select2-selection--single,select.form-control-sm~.select2-container--default .select2-selection--single{height:calc(1.8125rem + 2px)}.text-sm .select2-container--default .select2-selection--single .select2-selection__rendered,select.form-control-sm~.select2-container--default .select2-selection--single .select2-selection__rendered{margin-top:-.4rem}.text-sm .select2-container--default .select2-selection--single .select2-selection__arrow,select.form-control-sm~.select2-container--default .select2-selection--single .select2-selection__arrow{top:-.12rem}.text-sm .select2-container--default .select2-selection--multiple,select.form-control-sm~.select2-container--default .select2-selection--multiple{min-height:calc(1.8125rem + 2px)}.text-sm .select2-container--default .select2-selection--multiple .select2-selection__rendered,select.form-control-sm~.select2-container--default .select2-selection--multiple .select2-selection__rendered{padding:0 .25rem .25rem;margin-top:-.1rem}.text-sm .select2-container--default .select2-selection--multiple .select2-selection__rendered li:first-child.select2-search.select2-search--inline,select.form-control-sm~.select2-container--default .select2-selection--multiple .select2-selection__rendered li:first-child.select2-search.select2-search--inline{margin-left:.25rem}.text-sm .select2-container--default .select2-selection--multiple .select2-selection__rendered .select2-search.select2-search--inline .select2-search__field,select.form-control-sm~.select2-container--default .select2-selection--multiple .select2-selection__rendered .select2-search.select2-search--inline .select2-search__field{margin-top:6px}.maximized-card .select2-dropdown{z-index:9999}.select2-primary+.select2-container--default.select2-container--open .select2-selection--single{border-color:#80bdff}.select2-primary+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#80bdff}.select2-container--default .select2-primary .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-primary .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-primary.select2-dropdown .select2-search__field:focus,.select2-primary .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-primary .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-primary .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #80bdff}.select2-container--default .select2-primary .select2-results__option--highlighted,.select2-primary .select2-container--default .select2-results__option--highlighted{background-color:#007bff;color:#fff}.select2-container--default .select2-primary .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-primary .select2-results__option--highlighted[aria-selected]:hover,.select2-primary .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-primary .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#0074f0;color:#fff}.select2-container--default .select2-primary .select2-selection--multiple:focus,.select2-primary .select2-container--default .select2-selection--multiple:focus{border-color:#80bdff}.select2-container--default .select2-primary .select2-selection--multiple .select2-selection__choice,.select2-primary .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#007bff;border-color:#006fe6;color:#fff}.select2-container--default .select2-primary .select2-selection--multiple .select2-selection__choice__remove,.select2-primary .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-primary .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-primary .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-primary.select2-container--focus .select2-selection--multiple,.select2-primary .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#80bdff}.select2-secondary+.select2-container--default.select2-container--open .select2-selection--single{border-color:#afb5ba}.select2-secondary+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#afb5ba}.select2-container--default .select2-secondary .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-secondary .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-secondary.select2-dropdown .select2-search__field:focus,.select2-secondary .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-secondary .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-secondary .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #afb5ba}.select2-container--default .select2-secondary .select2-results__option--highlighted,.select2-secondary .select2-container--default .select2-results__option--highlighted{background-color:#6c757d;color:#fff}.select2-container--default .select2-secondary .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-secondary .select2-results__option--highlighted[aria-selected]:hover,.select2-secondary .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-secondary .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#656d75;color:#fff}.select2-container--default .select2-secondary .select2-selection--multiple:focus,.select2-secondary .select2-container--default .select2-selection--multiple:focus{border-color:#afb5ba}.select2-container--default .select2-secondary .select2-selection--multiple .select2-selection__choice,.select2-secondary .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#6c757d;border-color:#60686f;color:#fff}.select2-container--default .select2-secondary .select2-selection--multiple .select2-selection__choice__remove,.select2-secondary .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-secondary .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-secondary .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-secondary.select2-container--focus .select2-selection--multiple,.select2-secondary .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#afb5ba}.select2-success+.select2-container--default.select2-container--open .select2-selection--single{border-color:#71dd8a}.select2-success+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#71dd8a}.select2-container--default .select2-success .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-success .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-success.select2-dropdown .select2-search__field:focus,.select2-success .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-success .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-success .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #71dd8a}.select2-container--default .select2-success .select2-results__option--highlighted,.select2-success .select2-container--default .select2-results__option--highlighted{background-color:#28a745;color:#fff}.select2-container--default .select2-success .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-success .select2-results__option--highlighted[aria-selected]:hover,.select2-success .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-success .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#259b40;color:#fff}.select2-container--default .select2-success .select2-selection--multiple:focus,.select2-success .select2-container--default .select2-selection--multiple:focus{border-color:#71dd8a}.select2-container--default .select2-success .select2-selection--multiple .select2-selection__choice,.select2-success .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#28a745;border-color:#23923d;color:#fff}.select2-container--default .select2-success .select2-selection--multiple .select2-selection__choice__remove,.select2-success .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-success .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-success .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-success.select2-container--focus .select2-selection--multiple,.select2-success .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#71dd8a}.select2-info+.select2-container--default.select2-container--open .select2-selection--single{border-color:#63d9ec}.select2-info+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#63d9ec}.select2-container--default .select2-info .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-info .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-info.select2-dropdown .select2-search__field:focus,.select2-info .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-info .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-info .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #63d9ec}.select2-container--default .select2-info .select2-results__option--highlighted,.select2-info .select2-container--default .select2-results__option--highlighted{background-color:#17a2b8;color:#fff}.select2-container--default .select2-info .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-info .select2-results__option--highlighted[aria-selected]:hover,.select2-info .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-info .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#1596aa;color:#fff}.select2-container--default .select2-info .select2-selection--multiple:focus,.select2-info .select2-container--default .select2-selection--multiple:focus{border-color:#63d9ec}.select2-container--default .select2-info .select2-selection--multiple .select2-selection__choice,.select2-info .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#17a2b8;border-color:#148ea1;color:#fff}.select2-container--default .select2-info .select2-selection--multiple .select2-selection__choice__remove,.select2-info .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-info .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-info .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-info.select2-container--focus .select2-selection--multiple,.select2-info .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#63d9ec}.select2-warning+.select2-container--default.select2-container--open .select2-selection--single{border-color:#ffe187}.select2-warning+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#ffe187}.select2-container--default .select2-warning .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-warning .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-warning.select2-dropdown .select2-search__field:focus,.select2-warning .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-warning .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-warning .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #ffe187}.select2-container--default .select2-warning .select2-results__option--highlighted,.select2-warning .select2-container--default .select2-results__option--highlighted{background-color:#ffc107;color:#1f2d3d}.select2-container--default .select2-warning .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-warning .select2-results__option--highlighted[aria-selected]:hover,.select2-warning .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-warning .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#f7b900;color:#1f2d3d}.select2-container--default .select2-warning .select2-selection--multiple:focus,.select2-warning .select2-container--default .select2-selection--multiple:focus{border-color:#ffe187}.select2-container--default .select2-warning .select2-selection--multiple .select2-selection__choice,.select2-warning .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#ffc107;border-color:#edb100;color:#1f2d3d}.select2-container--default .select2-warning .select2-selection--multiple .select2-selection__choice__remove,.select2-warning .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.select2-container--default .select2-warning .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-warning .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.select2-container--default .select2-warning.select2-container--focus .select2-selection--multiple,.select2-warning .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#ffe187}.select2-danger+.select2-container--default.select2-container--open .select2-selection--single{border-color:#efa2a9}.select2-danger+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#efa2a9}.select2-container--default .select2-danger .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-danger .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-danger.select2-dropdown .select2-search__field:focus,.select2-danger .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-danger .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-danger .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #efa2a9}.select2-container--default .select2-danger .select2-results__option--highlighted,.select2-danger .select2-container--default .select2-results__option--highlighted{background-color:#dc3545;color:#fff}.select2-container--default .select2-danger .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-danger .select2-results__option--highlighted[aria-selected]:hover,.select2-danger .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-danger .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#da2839;color:#fff}.select2-container--default .select2-danger .select2-selection--multiple:focus,.select2-danger .select2-container--default .select2-selection--multiple:focus{border-color:#efa2a9}.select2-container--default .select2-danger .select2-selection--multiple .select2-selection__choice,.select2-danger .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#dc3545;border-color:#d32535;color:#fff}.select2-container--default .select2-danger .select2-selection--multiple .select2-selection__choice__remove,.select2-danger .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-danger .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-danger .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-danger.select2-container--focus .select2-selection--multiple,.select2-danger .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#efa2a9}.select2-light+.select2-container--default.select2-container--open .select2-selection--single{border-color:#fff}.select2-light+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#fff}.select2-container--default .select2-light .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-light .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-light.select2-dropdown .select2-search__field:focus,.select2-light .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-light .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-light .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #fff}.select2-container--default .select2-light .select2-results__option--highlighted,.select2-light .select2-container--default .select2-results__option--highlighted{background-color:#f8f9fa;color:#1f2d3d}.select2-container--default .select2-light .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-light .select2-results__option--highlighted[aria-selected]:hover,.select2-light .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-light .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#eff1f4;color:#1f2d3d}.select2-container--default .select2-light .select2-selection--multiple:focus,.select2-light .select2-container--default .select2-selection--multiple:focus{border-color:#fff}.select2-container--default .select2-light .select2-selection--multiple .select2-selection__choice,.select2-light .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#f8f9fa;border-color:#e9ecef;color:#1f2d3d}.select2-container--default .select2-light .select2-selection--multiple .select2-selection__choice__remove,.select2-light .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.select2-container--default .select2-light .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-light .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.select2-container--default .select2-light.select2-container--focus .select2-selection--multiple,.select2-light .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#fff}.select2-dark+.select2-container--default.select2-container--open .select2-selection--single{border-color:#6d7a86}.select2-dark+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#6d7a86}.select2-container--default .select2-dark .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-dark .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-dark.select2-dropdown .select2-search__field:focus,.select2-dark .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-dark .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-dark .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #6d7a86}.select2-container--default .select2-dark .select2-results__option--highlighted,.select2-dark .select2-container--default .select2-results__option--highlighted{background-color:#343a40;color:#fff}.select2-container--default .select2-dark .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-dark .select2-results__option--highlighted[aria-selected]:hover,.select2-dark .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-dark .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#2d3238;color:#fff}.select2-container--default .select2-dark .select2-selection--multiple:focus,.select2-dark .select2-container--default .select2-selection--multiple:focus{border-color:#6d7a86}.select2-container--default .select2-dark .select2-selection--multiple .select2-selection__choice,.select2-dark .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#343a40;border-color:#292d32;color:#fff}.select2-container--default .select2-dark .select2-selection--multiple .select2-selection__choice__remove,.select2-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-dark .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-dark.select2-container--focus .select2-selection--multiple,.select2-dark .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#6d7a86}.select2-lightblue+.select2-container--default.select2-container--open .select2-selection--single{border-color:#99c5de}.select2-lightblue+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#99c5de}.select2-container--default .select2-lightblue .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-lightblue .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-lightblue.select2-dropdown .select2-search__field:focus,.select2-lightblue .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-lightblue .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-lightblue .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #99c5de}.select2-container--default .select2-lightblue .select2-results__option--highlighted,.select2-lightblue .select2-container--default .select2-results__option--highlighted{background-color:#3c8dbc;color:#fff}.select2-container--default .select2-lightblue .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-lightblue .select2-results__option--highlighted[aria-selected]:hover,.select2-lightblue .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-lightblue .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#3884b0;color:#fff}.select2-container--default .select2-lightblue .select2-selection--multiple:focus,.select2-lightblue .select2-container--default .select2-selection--multiple:focus{border-color:#99c5de}.select2-container--default .select2-lightblue .select2-selection--multiple .select2-selection__choice,.select2-lightblue .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc;border-color:#367fa9;color:#fff}.select2-container--default .select2-lightblue .select2-selection--multiple .select2-selection__choice__remove,.select2-lightblue .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-lightblue .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-lightblue .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-lightblue.select2-container--focus .select2-selection--multiple,.select2-lightblue .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#99c5de}.select2-navy+.select2-container--default.select2-container--open .select2-selection--single{border-color:#005ebf}.select2-navy+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#005ebf}.select2-container--default .select2-navy .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-navy .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-navy.select2-dropdown .select2-search__field:focus,.select2-navy .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-navy .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-navy .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #005ebf}.select2-container--default .select2-navy .select2-results__option--highlighted,.select2-navy .select2-container--default .select2-results__option--highlighted{background-color:#001f3f;color:#fff}.select2-container--default .select2-navy .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-navy .select2-results__option--highlighted[aria-selected]:hover,.select2-navy .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-navy .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#001730;color:#fff}.select2-container--default .select2-navy .select2-selection--multiple:focus,.select2-navy .select2-container--default .select2-selection--multiple:focus{border-color:#005ebf}.select2-container--default .select2-navy .select2-selection--multiple .select2-selection__choice,.select2-navy .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#001f3f;border-color:#001226;color:#fff}.select2-container--default .select2-navy .select2-selection--multiple .select2-selection__choice__remove,.select2-navy .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-navy .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-navy .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-navy.select2-container--focus .select2-selection--multiple,.select2-navy .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#005ebf}.select2-olive+.select2-container--default.select2-container--open .select2-selection--single{border-color:#87cfaf}.select2-olive+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#87cfaf}.select2-container--default .select2-olive .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-olive .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-olive.select2-dropdown .select2-search__field:focus,.select2-olive .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-olive .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-olive .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #87cfaf}.select2-container--default .select2-olive .select2-results__option--highlighted,.select2-olive .select2-container--default .select2-results__option--highlighted{background-color:#3d9970;color:#fff}.select2-container--default .select2-olive .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-olive .select2-results__option--highlighted[aria-selected]:hover,.select2-olive .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-olive .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#398e68;color:#fff}.select2-container--default .select2-olive .select2-selection--multiple:focus,.select2-olive .select2-container--default .select2-selection--multiple:focus{border-color:#87cfaf}.select2-container--default .select2-olive .select2-selection--multiple .select2-selection__choice,.select2-olive .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3d9970;border-color:#368763;color:#fff}.select2-container--default .select2-olive .select2-selection--multiple .select2-selection__choice__remove,.select2-olive .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-olive .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-olive .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-olive.select2-container--focus .select2-selection--multiple,.select2-olive .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#87cfaf}.select2-lime+.select2-container--default.select2-container--open .select2-selection--single{border-color:#81ffb8}.select2-lime+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#81ffb8}.select2-container--default .select2-lime .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-lime .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-lime.select2-dropdown .select2-search__field:focus,.select2-lime .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-lime .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-lime .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #81ffb8}.select2-container--default .select2-lime .select2-results__option--highlighted,.select2-lime .select2-container--default .select2-results__option--highlighted{background-color:#01ff70;color:#1f2d3d}.select2-container--default .select2-lime .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-lime .select2-results__option--highlighted[aria-selected]:hover,.select2-lime .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-lime .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#00f169;color:#1f2d3d}.select2-container--default .select2-lime .select2-selection--multiple:focus,.select2-lime .select2-container--default .select2-selection--multiple:focus{border-color:#81ffb8}.select2-container--default .select2-lime .select2-selection--multiple .select2-selection__choice,.select2-lime .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#01ff70;border-color:#00e765;color:#1f2d3d}.select2-container--default .select2-lime .select2-selection--multiple .select2-selection__choice__remove,.select2-lime .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.select2-container--default .select2-lime .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-lime .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.select2-container--default .select2-lime.select2-container--focus .select2-selection--multiple,.select2-lime .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#81ffb8}.select2-fuchsia+.select2-container--default.select2-container--open .select2-selection--single{border-color:#f88adf}.select2-fuchsia+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#f88adf}.select2-container--default .select2-fuchsia .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-fuchsia .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-fuchsia.select2-dropdown .select2-search__field:focus,.select2-fuchsia .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-fuchsia .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-fuchsia .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #f88adf}.select2-container--default .select2-fuchsia .select2-results__option--highlighted,.select2-fuchsia .select2-container--default .select2-results__option--highlighted{background-color:#f012be;color:#fff}.select2-container--default .select2-fuchsia .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-fuchsia .select2-results__option--highlighted[aria-selected]:hover,.select2-fuchsia .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-fuchsia .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#e40eb4;color:#fff}.select2-container--default .select2-fuchsia .select2-selection--multiple:focus,.select2-fuchsia .select2-container--default .select2-selection--multiple:focus{border-color:#f88adf}.select2-container--default .select2-fuchsia .select2-selection--multiple .select2-selection__choice,.select2-fuchsia .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#f012be;border-color:#db0ead;color:#fff}.select2-container--default .select2-fuchsia .select2-selection--multiple .select2-selection__choice__remove,.select2-fuchsia .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-fuchsia .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-fuchsia .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-fuchsia.select2-container--focus .select2-selection--multiple,.select2-fuchsia .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#f88adf}.select2-maroon+.select2-container--default.select2-container--open .select2-selection--single{border-color:#f083ab}.select2-maroon+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#f083ab}.select2-container--default .select2-maroon .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-maroon .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-maroon.select2-dropdown .select2-search__field:focus,.select2-maroon .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-maroon .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-maroon .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #f083ab}.select2-container--default .select2-maroon .select2-results__option--highlighted,.select2-maroon .select2-container--default .select2-results__option--highlighted{background-color:#d81b60;color:#fff}.select2-container--default .select2-maroon .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-maroon .select2-results__option--highlighted[aria-selected]:hover,.select2-maroon .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-maroon .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#ca195a;color:#fff}.select2-container--default .select2-maroon .select2-selection--multiple:focus,.select2-maroon .select2-container--default .select2-selection--multiple:focus{border-color:#f083ab}.select2-container--default .select2-maroon .select2-selection--multiple .select2-selection__choice,.select2-maroon .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#d81b60;border-color:#c11856;color:#fff}.select2-container--default .select2-maroon .select2-selection--multiple .select2-selection__choice__remove,.select2-maroon .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-maroon .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-maroon .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-maroon.select2-container--focus .select2-selection--multiple,.select2-maroon .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#f083ab}.select2-blue+.select2-container--default.select2-container--open .select2-selection--single{border-color:#80bdff}.select2-blue+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#80bdff}.select2-blue .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-blue .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-blue .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .select2-blue .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-blue .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-blue.select2-dropdown .select2-search__field:focus{border:1px solid #80bdff}.select2-blue .select2-container--default .select2-results__option--highlighted,.select2-container--default .select2-blue .select2-results__option--highlighted{background-color:#007bff;color:#fff}.select2-blue .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-blue .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .select2-blue .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-blue .select2-results__option--highlighted[aria-selected]:hover{background-color:#0074f0;color:#fff}.select2-blue .select2-container--default .select2-selection--multiple:focus,.select2-container--default .select2-blue .select2-selection--multiple:focus{border-color:#80bdff}.select2-blue .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .select2-blue .select2-selection--multiple .select2-selection__choice{background-color:#007bff;border-color:#006fe6;color:#fff}.select2-blue .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .select2-blue .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-blue .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .select2-blue .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-blue .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .select2-blue.select2-container--focus .select2-selection--multiple{border-color:#80bdff}.select2-indigo+.select2-container--default.select2-container--open .select2-selection--single{border-color:#b389f9}.select2-indigo+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#b389f9}.select2-container--default .select2-indigo .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-indigo .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-indigo.select2-dropdown .select2-search__field:focus,.select2-indigo .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-indigo .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-indigo .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #b389f9}.select2-container--default .select2-indigo .select2-results__option--highlighted,.select2-indigo .select2-container--default .select2-results__option--highlighted{background-color:#6610f2;color:#fff}.select2-container--default .select2-indigo .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-indigo .select2-results__option--highlighted[aria-selected]:hover,.select2-indigo .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-indigo .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#5f0de6;color:#fff}.select2-container--default .select2-indigo .select2-selection--multiple:focus,.select2-indigo .select2-container--default .select2-selection--multiple:focus{border-color:#b389f9}.select2-container--default .select2-indigo .select2-selection--multiple .select2-selection__choice,.select2-indigo .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#6610f2;border-color:#5b0cdd;color:#fff}.select2-container--default .select2-indigo .select2-selection--multiple .select2-selection__choice__remove,.select2-indigo .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-indigo .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-indigo .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-indigo.select2-container--focus .select2-selection--multiple,.select2-indigo .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#b389f9}.select2-purple+.select2-container--default.select2-container--open .select2-selection--single{border-color:#b8a2e0}.select2-purple+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#b8a2e0}.select2-container--default .select2-purple .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-purple .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-purple.select2-dropdown .select2-search__field:focus,.select2-purple .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-purple .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-purple .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #b8a2e0}.select2-container--default .select2-purple .select2-results__option--highlighted,.select2-purple .select2-container--default .select2-results__option--highlighted{background-color:#6f42c1;color:#fff}.select2-container--default .select2-purple .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-purple .select2-results__option--highlighted[aria-selected]:hover,.select2-purple .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-purple .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#683cb8;color:#fff}.select2-container--default .select2-purple .select2-selection--multiple:focus,.select2-purple .select2-container--default .select2-selection--multiple:focus{border-color:#b8a2e0}.select2-container--default .select2-purple .select2-selection--multiple .select2-selection__choice,.select2-purple .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#6f42c1;border-color:#643ab0;color:#fff}.select2-container--default .select2-purple .select2-selection--multiple .select2-selection__choice__remove,.select2-purple .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-purple .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-purple .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-purple.select2-container--focus .select2-selection--multiple,.select2-purple .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#b8a2e0}.select2-pink+.select2-container--default.select2-container--open .select2-selection--single{border-color:#f6b0d0}.select2-pink+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#f6b0d0}.select2-container--default .select2-pink .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-pink .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-pink.select2-dropdown .select2-search__field:focus,.select2-pink .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-pink .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-pink .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #f6b0d0}.select2-container--default .select2-pink .select2-results__option--highlighted,.select2-pink .select2-container--default .select2-results__option--highlighted{background-color:#e83e8c;color:#fff}.select2-container--default .select2-pink .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-pink .select2-results__option--highlighted[aria-selected]:hover,.select2-pink .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-pink .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#e63084;color:#fff}.select2-container--default .select2-pink .select2-selection--multiple:focus,.select2-pink .select2-container--default .select2-selection--multiple:focus{border-color:#f6b0d0}.select2-container--default .select2-pink .select2-selection--multiple .select2-selection__choice,.select2-pink .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e83e8c;border-color:#e5277e;color:#fff}.select2-container--default .select2-pink .select2-selection--multiple .select2-selection__choice__remove,.select2-pink .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-pink .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-pink .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-pink.select2-container--focus .select2-selection--multiple,.select2-pink .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#f6b0d0}.select2-red+.select2-container--default.select2-container--open .select2-selection--single{border-color:#efa2a9}.select2-red+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#efa2a9}.select2-container--default .select2-red .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-red .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-red.select2-dropdown .select2-search__field:focus,.select2-red .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-red .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-red .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #efa2a9}.select2-container--default .select2-red .select2-results__option--highlighted,.select2-red .select2-container--default .select2-results__option--highlighted{background-color:#dc3545;color:#fff}.select2-container--default .select2-red .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-red .select2-results__option--highlighted[aria-selected]:hover,.select2-red .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-red .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#da2839;color:#fff}.select2-container--default .select2-red .select2-selection--multiple:focus,.select2-red .select2-container--default .select2-selection--multiple:focus{border-color:#efa2a9}.select2-container--default .select2-red .select2-selection--multiple .select2-selection__choice,.select2-red .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#dc3545;border-color:#d32535;color:#fff}.select2-container--default .select2-red .select2-selection--multiple .select2-selection__choice__remove,.select2-red .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-red .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-red .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-red.select2-container--focus .select2-selection--multiple,.select2-red .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#efa2a9}.select2-orange+.select2-container--default.select2-container--open .select2-selection--single{border-color:#fec392}.select2-orange+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#fec392}.select2-container--default .select2-orange .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-orange .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-orange.select2-dropdown .select2-search__field:focus,.select2-orange .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-orange .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-orange .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #fec392}.select2-container--default .select2-orange .select2-results__option--highlighted,.select2-orange .select2-container--default .select2-results__option--highlighted{background-color:#fd7e14;color:#1f2d3d}.select2-container--default .select2-orange .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-orange .select2-results__option--highlighted[aria-selected]:hover,.select2-orange .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-orange .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#fd7605;color:#fff}.select2-container--default .select2-orange .select2-selection--multiple:focus,.select2-orange .select2-container--default .select2-selection--multiple:focus{border-color:#fec392}.select2-container--default .select2-orange .select2-selection--multiple .select2-selection__choice,.select2-orange .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#fd7e14;border-color:#f57102;color:#1f2d3d}.select2-container--default .select2-orange .select2-selection--multiple .select2-selection__choice__remove,.select2-orange .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.select2-container--default .select2-orange .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-orange .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.select2-container--default .select2-orange.select2-container--focus .select2-selection--multiple,.select2-orange .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#fec392}.select2-yellow+.select2-container--default.select2-container--open .select2-selection--single{border-color:#ffe187}.select2-yellow+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#ffe187}.select2-container--default .select2-yellow .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-yellow .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-yellow.select2-dropdown .select2-search__field:focus,.select2-yellow .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-yellow .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-yellow .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #ffe187}.select2-container--default .select2-yellow .select2-results__option--highlighted,.select2-yellow .select2-container--default .select2-results__option--highlighted{background-color:#ffc107;color:#1f2d3d}.select2-container--default .select2-yellow .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-yellow .select2-results__option--highlighted[aria-selected]:hover,.select2-yellow .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-yellow .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#f7b900;color:#1f2d3d}.select2-container--default .select2-yellow .select2-selection--multiple:focus,.select2-yellow .select2-container--default .select2-selection--multiple:focus{border-color:#ffe187}.select2-container--default .select2-yellow .select2-selection--multiple .select2-selection__choice,.select2-yellow .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#ffc107;border-color:#edb100;color:#1f2d3d}.select2-container--default .select2-yellow .select2-selection--multiple .select2-selection__choice__remove,.select2-yellow .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.select2-container--default .select2-yellow .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-yellow .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.select2-container--default .select2-yellow.select2-container--focus .select2-selection--multiple,.select2-yellow .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#ffe187}.select2-green+.select2-container--default.select2-container--open .select2-selection--single{border-color:#71dd8a}.select2-green+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#71dd8a}.select2-container--default .select2-green .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-green .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-green.select2-dropdown .select2-search__field:focus,.select2-green .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-green .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-green .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #71dd8a}.select2-container--default .select2-green .select2-results__option--highlighted,.select2-green .select2-container--default .select2-results__option--highlighted{background-color:#28a745;color:#fff}.select2-container--default .select2-green .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-green .select2-results__option--highlighted[aria-selected]:hover,.select2-green .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-green .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#259b40;color:#fff}.select2-container--default .select2-green .select2-selection--multiple:focus,.select2-green .select2-container--default .select2-selection--multiple:focus{border-color:#71dd8a}.select2-container--default .select2-green .select2-selection--multiple .select2-selection__choice,.select2-green .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#28a745;border-color:#23923d;color:#fff}.select2-container--default .select2-green .select2-selection--multiple .select2-selection__choice__remove,.select2-green .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-green .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-green .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-green.select2-container--focus .select2-selection--multiple,.select2-green .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#71dd8a}.select2-teal+.select2-container--default.select2-container--open .select2-selection--single{border-color:#7eeaca}.select2-teal+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#7eeaca}.select2-container--default .select2-teal .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-teal .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-teal.select2-dropdown .select2-search__field:focus,.select2-teal .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-teal .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-teal .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #7eeaca}.select2-container--default .select2-teal .select2-results__option--highlighted,.select2-teal .select2-container--default .select2-results__option--highlighted{background-color:#20c997;color:#fff}.select2-container--default .select2-teal .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-teal .select2-results__option--highlighted[aria-selected]:hover,.select2-teal .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-teal .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#1ebc8d;color:#fff}.select2-container--default .select2-teal .select2-selection--multiple:focus,.select2-teal .select2-container--default .select2-selection--multiple:focus{border-color:#7eeaca}.select2-container--default .select2-teal .select2-selection--multiple .select2-selection__choice,.select2-teal .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#20c997;border-color:#1cb386;color:#fff}.select2-container--default .select2-teal .select2-selection--multiple .select2-selection__choice__remove,.select2-teal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-teal .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-teal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-teal.select2-container--focus .select2-selection--multiple,.select2-teal .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#7eeaca}.select2-cyan+.select2-container--default.select2-container--open .select2-selection--single{border-color:#63d9ec}.select2-cyan+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#63d9ec}.select2-container--default .select2-cyan .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-cyan .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-cyan.select2-dropdown .select2-search__field:focus,.select2-cyan .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-cyan .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-cyan .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #63d9ec}.select2-container--default .select2-cyan .select2-results__option--highlighted,.select2-cyan .select2-container--default .select2-results__option--highlighted{background-color:#17a2b8;color:#fff}.select2-container--default .select2-cyan .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-cyan .select2-results__option--highlighted[aria-selected]:hover,.select2-cyan .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-cyan .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#1596aa;color:#fff}.select2-container--default .select2-cyan .select2-selection--multiple:focus,.select2-cyan .select2-container--default .select2-selection--multiple:focus{border-color:#63d9ec}.select2-container--default .select2-cyan .select2-selection--multiple .select2-selection__choice,.select2-cyan .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#17a2b8;border-color:#148ea1;color:#fff}.select2-container--default .select2-cyan .select2-selection--multiple .select2-selection__choice__remove,.select2-cyan .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-cyan .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-cyan .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-cyan.select2-container--focus .select2-selection--multiple,.select2-cyan .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#63d9ec}.select2-white+.select2-container--default.select2-container--open .select2-selection--single{border-color:#fff}.select2-white+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#fff}.select2-container--default .select2-white .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-white .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-white.select2-dropdown .select2-search__field:focus,.select2-white .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-white .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-white .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #fff}.select2-container--default .select2-white .select2-results__option--highlighted,.select2-white .select2-container--default .select2-results__option--highlighted{background-color:#fff;color:#1f2d3d}.select2-container--default .select2-white .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-white .select2-results__option--highlighted[aria-selected]:hover,.select2-white .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-white .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#f7f7f7;color:#1f2d3d}.select2-container--default .select2-white .select2-selection--multiple:focus,.select2-white .select2-container--default .select2-selection--multiple:focus{border-color:#fff}.select2-container--default .select2-white .select2-selection--multiple .select2-selection__choice,.select2-white .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#fff;border-color:#f2f2f2;color:#1f2d3d}.select2-container--default .select2-white .select2-selection--multiple .select2-selection__choice__remove,.select2-white .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.select2-container--default .select2-white .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-white .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.select2-container--default .select2-white.select2-container--focus .select2-selection--multiple,.select2-white .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#fff}.select2-gray+.select2-container--default.select2-container--open .select2-selection--single{border-color:#afb5ba}.select2-gray+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#afb5ba}.select2-container--default .select2-gray .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-gray .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-gray.select2-dropdown .select2-search__field:focus,.select2-gray .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-gray .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-gray .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #afb5ba}.select2-container--default .select2-gray .select2-results__option--highlighted,.select2-gray .select2-container--default .select2-results__option--highlighted{background-color:#6c757d;color:#fff}.select2-container--default .select2-gray .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-gray .select2-results__option--highlighted[aria-selected]:hover,.select2-gray .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-gray .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#656d75;color:#fff}.select2-container--default .select2-gray .select2-selection--multiple:focus,.select2-gray .select2-container--default .select2-selection--multiple:focus{border-color:#afb5ba}.select2-container--default .select2-gray .select2-selection--multiple .select2-selection__choice,.select2-gray .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#6c757d;border-color:#60686f;color:#fff}.select2-container--default .select2-gray .select2-selection--multiple .select2-selection__choice__remove,.select2-gray .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-gray .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-gray .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-gray.select2-container--focus .select2-selection--multiple,.select2-gray .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#afb5ba}.select2-gray-dark+.select2-container--default.select2-container--open .select2-selection--single{border-color:#6d7a86}.select2-gray-dark+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#6d7a86}.select2-container--default .select2-gray-dark .select2-dropdown .select2-search__field:focus,.select2-container--default .select2-gray-dark .select2-search--inline .select2-search__field:focus,.select2-container--default .select2-gray-dark.select2-dropdown .select2-search__field:focus,.select2-gray-dark .select2-container--default .select2-dropdown .select2-search__field:focus,.select2-gray-dark .select2-container--default .select2-search--inline .select2-search__field:focus,.select2-gray-dark .select2-container--default.select2-dropdown .select2-search__field:focus{border:1px solid #6d7a86}.select2-container--default .select2-gray-dark .select2-results__option--highlighted,.select2-gray-dark .select2-container--default .select2-results__option--highlighted{background-color:#343a40;color:#fff}.select2-container--default .select2-gray-dark .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-gray-dark .select2-results__option--highlighted[aria-selected]:hover,.select2-gray-dark .select2-container--default .select2-results__option--highlighted[aria-selected],.select2-gray-dark .select2-container--default .select2-results__option--highlighted[aria-selected]:hover{background-color:#2d3238;color:#fff}.select2-container--default .select2-gray-dark .select2-selection--multiple:focus,.select2-gray-dark .select2-container--default .select2-selection--multiple:focus{border-color:#6d7a86}.select2-container--default .select2-gray-dark .select2-selection--multiple .select2-selection__choice,.select2-gray-dark .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#343a40;border-color:#292d32;color:#fff}.select2-container--default .select2-gray-dark .select2-selection--multiple .select2-selection__choice__remove,.select2-gray-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.select2-container--default .select2-gray-dark .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-gray-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container--default .select2-gray-dark.select2-container--focus .select2-selection--multiple,.select2-gray-dark .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#6d7a86}.dark-mode .select2-selection{background-color:#343a40;border-color:#6c757d}.dark-mode .select2-container--disabled .select2-selection--single{background-color:#454d55}.dark-mode .select2-selection--single{background-color:#343a40;border-color:#6c757d}.dark-mode .select2-selection--single .select2-selection__rendered{color:#fff}.dark-mode .select2-dropdown .select2-search__field,.dark-mode .select2-search--inline .select2-search__field{background-color:#343a40;border-color:#6c757d;color:#fff}.dark-mode .select2-dropdown{background-color:#343a40;border-color:#6c757d;color:#fff}.dark-mode .select2-results__option[aria-selected=true]{background-color:#3f474e!important;color:#dee2e6}.dark-mode .select2-container .select2-search--inline .select2-search__field{background-color:transparent;color:#fff}.dark-mode .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice{color:#fff}.dark-mode .select2-primary+.select2-container--default.select2-container--open .select2-selection--single{border-color:#85a7ca}.dark-mode .select2-primary+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#85a7ca}.dark-mode .select2-primary .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-primary .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-primary .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-primary .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-primary .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-primary.select2-dropdown .select2-search__field:focus{border:1px solid #85a7ca}.dark-mode .select2-primary .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-primary .select2-results__option--highlighted{background-color:#3f6791;color:#fff}.dark-mode .select2-primary .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-primary .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-primary .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-primary .select2-results__option--highlighted[aria-selected]:hover{background-color:#3a5f86;color:#fff}.dark-mode .select2-primary .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-primary .select2-selection--multiple:focus{border-color:#85a7ca}.dark-mode .select2-primary .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-primary .select2-selection--multiple .select2-selection__choice{background-color:#3f6791;border-color:#375a7f;color:#fff}.dark-mode .select2-primary .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-primary .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-primary .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-primary .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-primary .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-primary.select2-container--focus .select2-selection--multiple{border-color:#85a7ca}.dark-mode .select2-secondary+.select2-container--default.select2-container--open .select2-selection--single{border-color:#afb5ba}.dark-mode .select2-secondary+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#afb5ba}.dark-mode .select2-secondary .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-secondary .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-secondary .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-secondary .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-secondary .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-secondary.select2-dropdown .select2-search__field:focus{border:1px solid #afb5ba}.dark-mode .select2-secondary .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-secondary .select2-results__option--highlighted{background-color:#6c757d;color:#fff}.dark-mode .select2-secondary .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-secondary .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-secondary .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-secondary .select2-results__option--highlighted[aria-selected]:hover{background-color:#656d75;color:#fff}.dark-mode .select2-secondary .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-secondary .select2-selection--multiple:focus{border-color:#afb5ba}.dark-mode .select2-secondary .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-secondary .select2-selection--multiple .select2-selection__choice{background-color:#6c757d;border-color:#60686f;color:#fff}.dark-mode .select2-secondary .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-secondary .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-secondary .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-secondary .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-secondary .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-secondary.select2-container--focus .select2-selection--multiple{border-color:#afb5ba}.dark-mode .select2-success+.select2-container--default.select2-container--open .select2-selection--single{border-color:#3dffcd}.dark-mode .select2-success+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#3dffcd}.dark-mode .select2-success .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-success .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-success .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-success .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-success .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-success.select2-dropdown .select2-search__field:focus{border:1px solid #3dffcd}.dark-mode .select2-success .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-success .select2-results__option--highlighted{background-color:#00bc8c;color:#fff}.dark-mode .select2-success .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-success .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-success .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-success .select2-results__option--highlighted[aria-selected]:hover{background-color:#00ad81;color:#fff}.dark-mode .select2-success .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-success .select2-selection--multiple:focus{border-color:#3dffcd}.dark-mode .select2-success .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-success .select2-selection--multiple .select2-selection__choice{background-color:#00bc8c;border-color:#00a379;color:#fff}.dark-mode .select2-success .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-success .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-success .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-success .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-success .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-success.select2-container--focus .select2-selection--multiple{border-color:#3dffcd}.dark-mode .select2-info+.select2-container--default.select2-container--open .select2-selection--single{border-color:#a0cfee}.dark-mode .select2-info+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#a0cfee}.dark-mode .select2-info .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-info .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-info .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-info .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-info .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-info.select2-dropdown .select2-search__field:focus{border:1px solid #a0cfee}.dark-mode .select2-info .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-info .select2-results__option--highlighted{background-color:#3498db;color:#fff}.dark-mode .select2-info .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-info .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-info .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-info .select2-results__option--highlighted[aria-selected]:hover{background-color:#2791d9;color:#fff}.dark-mode .select2-info .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-info .select2-selection--multiple:focus{border-color:#a0cfee}.dark-mode .select2-info .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-info .select2-selection--multiple .select2-selection__choice{background-color:#3498db;border-color:#258cd1;color:#fff}.dark-mode .select2-info .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-info .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-info .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-info .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-info .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-info.select2-container--focus .select2-selection--multiple{border-color:#a0cfee}.dark-mode .select2-warning+.select2-container--default.select2-container--open .select2-selection--single{border-color:#f9cf8b}.dark-mode .select2-warning+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#f9cf8b}.dark-mode .select2-warning .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-warning .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-warning .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-warning .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-warning .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-warning.select2-dropdown .select2-search__field:focus{border:1px solid #f9cf8b}.dark-mode .select2-warning .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-warning .select2-results__option--highlighted{background-color:#f39c12;color:#1f2d3d}.dark-mode .select2-warning .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-warning .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-warning .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-warning .select2-results__option--highlighted[aria-selected]:hover{background-color:#ea940c;color:#1f2d3d}.dark-mode .select2-warning .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-warning .select2-selection--multiple:focus{border-color:#f9cf8b}.dark-mode .select2-warning .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-warning .select2-selection--multiple .select2-selection__choice{background-color:#f39c12;border-color:#e08e0b;color:#1f2d3d}.dark-mode .select2-warning .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-warning .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-warning .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-warning .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-warning .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-warning.select2-container--focus .select2-selection--multiple{border-color:#f9cf8b}.dark-mode .select2-danger+.select2-container--default.select2-container--open .select2-selection--single{border-color:#f5b4ae}.dark-mode .select2-danger+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#f5b4ae}.dark-mode .select2-danger .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-danger .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-danger .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-danger .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-danger .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-danger.select2-dropdown .select2-search__field:focus{border:1px solid #f5b4ae}.dark-mode .select2-danger .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-danger .select2-results__option--highlighted{background-color:#e74c3c;color:#fff}.dark-mode .select2-danger .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-danger .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-danger .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-danger .select2-results__option--highlighted[aria-selected]:hover{background-color:#e53f2e;color:#fff}.dark-mode .select2-danger .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-danger .select2-selection--multiple:focus{border-color:#f5b4ae}.dark-mode .select2-danger .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-danger .select2-selection--multiple .select2-selection__choice{background-color:#e74c3c;border-color:#e43725;color:#fff}.dark-mode .select2-danger .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-danger .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-danger .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-danger .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-danger .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-danger.select2-container--focus .select2-selection--multiple{border-color:#f5b4ae}.dark-mode .select2-light+.select2-container--default.select2-container--open .select2-selection--single{border-color:#fff}.dark-mode .select2-light+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#fff}.dark-mode .select2-light .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-light .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-light .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-light .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-light .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-light.select2-dropdown .select2-search__field:focus{border:1px solid #fff}.dark-mode .select2-light .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-light .select2-results__option--highlighted{background-color:#f8f9fa;color:#1f2d3d}.dark-mode .select2-light .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-light .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-light .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-light .select2-results__option--highlighted[aria-selected]:hover{background-color:#eff1f4;color:#1f2d3d}.dark-mode .select2-light .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-light .select2-selection--multiple:focus{border-color:#fff}.dark-mode .select2-light .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-light .select2-selection--multiple .select2-selection__choice{background-color:#f8f9fa;border-color:#e9ecef;color:#1f2d3d}.dark-mode .select2-light .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-light .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-light .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-light .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-light .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-light.select2-container--focus .select2-selection--multiple{border-color:#fff}.dark-mode .select2-dark+.select2-container--default.select2-container--open .select2-selection--single{border-color:#6d7a86}.dark-mode .select2-dark+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#6d7a86}.dark-mode .select2-dark .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-dark .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-dark .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-dark .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-dark .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-dark.select2-dropdown .select2-search__field:focus{border:1px solid #6d7a86}.dark-mode .select2-dark .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-dark .select2-results__option--highlighted{background-color:#343a40;color:#fff}.dark-mode .select2-dark .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-dark .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-dark .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-dark .select2-results__option--highlighted[aria-selected]:hover{background-color:#2d3238;color:#fff}.dark-mode .select2-dark .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-dark .select2-selection--multiple:focus{border-color:#6d7a86}.dark-mode .select2-dark .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-dark .select2-selection--multiple .select2-selection__choice{background-color:#343a40;border-color:#292d32;color:#fff}.dark-mode .select2-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-dark .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-dark .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-dark .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-dark.select2-container--focus .select2-selection--multiple{border-color:#6d7a86}.dark-mode .select2-lightblue+.select2-container--default.select2-container--open .select2-selection--single{border-color:#e6f1f7}.dark-mode .select2-lightblue+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#e6f1f7}.dark-mode .select2-lightblue .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-lightblue .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-lightblue .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-lightblue .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-lightblue .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-lightblue.select2-dropdown .select2-search__field:focus{border:1px solid #e6f1f7}.dark-mode .select2-lightblue .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-lightblue .select2-results__option--highlighted{background-color:#86bad8;color:#1f2d3d}.dark-mode .select2-lightblue .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-lightblue .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-lightblue .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-lightblue .select2-results__option--highlighted[aria-selected]:hover{background-color:#7ab3d5;color:#1f2d3d}.dark-mode .select2-lightblue .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-lightblue .select2-selection--multiple:focus{border-color:#e6f1f7}.dark-mode .select2-lightblue .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-lightblue .select2-selection--multiple .select2-selection__choice{background-color:#86bad8;border-color:#72afd2;color:#1f2d3d}.dark-mode .select2-lightblue .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-lightblue .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-lightblue .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-lightblue .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-lightblue .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-lightblue.select2-container--focus .select2-selection--multiple{border-color:#e6f1f7}.dark-mode .select2-navy+.select2-container--default.select2-container--open .select2-selection--single{border-color:#006ad8}.dark-mode .select2-navy+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#006ad8}.dark-mode .select2-navy .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-navy .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-navy .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-navy .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-navy .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-navy.select2-dropdown .select2-search__field:focus{border:1px solid #006ad8}.dark-mode .select2-navy .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-navy .select2-results__option--highlighted{background-color:#002c59;color:#fff}.dark-mode .select2-navy .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-navy .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-navy .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-navy .select2-results__option--highlighted[aria-selected]:hover{background-color:#002449;color:#fff}.dark-mode .select2-navy .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-navy .select2-selection--multiple:focus{border-color:#006ad8}.dark-mode .select2-navy .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-navy .select2-selection--multiple .select2-selection__choice{background-color:#002c59;border-color:#001f3f;color:#fff}.dark-mode .select2-navy .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-navy .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-navy .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-navy .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-navy .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-navy.select2-container--focus .select2-selection--multiple{border-color:#006ad8}.dark-mode .select2-olive+.select2-container--default.select2-container--open .select2-selection--single{border-color:#cfecdf}.dark-mode .select2-olive+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#cfecdf}.dark-mode .select2-olive .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-olive .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-olive .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-olive .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-olive .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-olive.select2-dropdown .select2-search__field:focus{border:1px solid #cfecdf}.dark-mode .select2-olive .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-olive .select2-results__option--highlighted{background-color:#74c8a3;color:#1f2d3d}.dark-mode .select2-olive .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-olive .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-olive .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-olive .select2-results__option--highlighted[aria-selected]:hover{background-color:#69c39b;color:#1f2d3d}.dark-mode .select2-olive .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-olive .select2-selection--multiple:focus{border-color:#cfecdf}.dark-mode .select2-olive .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-olive .select2-selection--multiple .select2-selection__choice{background-color:#74c8a3;border-color:#62c096;color:#1f2d3d}.dark-mode .select2-olive .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-olive .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-olive .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-olive .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-olive .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-olive.select2-container--focus .select2-selection--multiple{border-color:#cfecdf}.dark-mode .select2-lime+.select2-container--default.select2-container--open .select2-selection--single{border-color:#e7fff1}.dark-mode .select2-lime+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#e7fff1}.dark-mode .select2-lime .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-lime .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-lime .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-lime .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-lime .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-lime.select2-dropdown .select2-search__field:focus{border:1px solid #e7fff1}.dark-mode .select2-lime .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-lime .select2-results__option--highlighted{background-color:#67ffa9;color:#1f2d3d}.dark-mode .select2-lime .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-lime .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-lime .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-lime .select2-results__option--highlighted[aria-selected]:hover{background-color:#58ffa1;color:#1f2d3d}.dark-mode .select2-lime .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-lime .select2-selection--multiple:focus{border-color:#e7fff1}.dark-mode .select2-lime .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-lime .select2-selection--multiple .select2-selection__choice{background-color:#67ffa9;border-color:#4eff9b;color:#1f2d3d}.dark-mode .select2-lime .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-lime .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-lime .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-lime .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-lime .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-lime.select2-container--focus .select2-selection--multiple{border-color:#e7fff1}.dark-mode .select2-fuchsia+.select2-container--default.select2-container--open .select2-selection--single{border-color:#feeaf9}.dark-mode .select2-fuchsia+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#feeaf9}.dark-mode .select2-fuchsia .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-fuchsia .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-fuchsia .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-fuchsia .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-fuchsia .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-fuchsia.select2-dropdown .select2-search__field:focus{border:1px solid #feeaf9}.dark-mode .select2-fuchsia .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-fuchsia .select2-results__option--highlighted{background-color:#f672d8;color:#1f2d3d}.dark-mode .select2-fuchsia .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-fuchsia .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-fuchsia .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-fuchsia .select2-results__option--highlighted[aria-selected]:hover{background-color:#f564d4;color:#1f2d3d}.dark-mode .select2-fuchsia .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-fuchsia .select2-selection--multiple:focus{border-color:#feeaf9}.dark-mode .select2-fuchsia .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-fuchsia .select2-selection--multiple .select2-selection__choice{background-color:#f672d8;border-color:#f55ad2;color:#1f2d3d}.dark-mode .select2-fuchsia .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-fuchsia .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-fuchsia .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-fuchsia .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-fuchsia .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-fuchsia.select2-container--focus .select2-selection--multiple{border-color:#feeaf9}.dark-mode .select2-maroon+.select2-container--default.select2-container--open .select2-selection--single{border-color:#fbdee8}.dark-mode .select2-maroon+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#fbdee8}.dark-mode .select2-maroon .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-maroon .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-maroon .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-maroon .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-maroon .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-maroon.select2-dropdown .select2-search__field:focus{border:1px solid #fbdee8}.dark-mode .select2-maroon .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-maroon .select2-results__option--highlighted{background-color:#ed6c9b;color:#1f2d3d}.dark-mode .select2-maroon .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-maroon .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-maroon .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-maroon .select2-results__option--highlighted[aria-selected]:hover{background-color:#eb5f92;color:#fff}.dark-mode .select2-maroon .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-maroon .select2-selection--multiple:focus{border-color:#fbdee8}.dark-mode .select2-maroon .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-maroon .select2-selection--multiple .select2-selection__choice{background-color:#ed6c9b;border-color:#ea568c;color:#1f2d3d}.dark-mode .select2-maroon .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-maroon .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-maroon .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-maroon .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-maroon .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-maroon.select2-container--focus .select2-selection--multiple{border-color:#fbdee8}.dark-mode .select2-blue+.select2-container--default.select2-container--open .select2-selection--single{border-color:#85a7ca}.dark-mode .select2-blue+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#85a7ca}.dark-mode .select2-blue .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-blue .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-blue .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-blue .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-blue .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-blue.select2-dropdown .select2-search__field:focus{border:1px solid #85a7ca}.dark-mode .select2-blue .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-blue .select2-results__option--highlighted{background-color:#3f6791;color:#fff}.dark-mode .select2-blue .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-blue .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-blue .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-blue .select2-results__option--highlighted[aria-selected]:hover{background-color:#3a5f86;color:#fff}.dark-mode .select2-blue .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-blue .select2-selection--multiple:focus{border-color:#85a7ca}.dark-mode .select2-blue .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-blue .select2-selection--multiple .select2-selection__choice{background-color:#3f6791;border-color:#375a7f;color:#fff}.dark-mode .select2-blue .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-blue .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-blue .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-blue .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-blue .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-blue.select2-container--focus .select2-selection--multiple{border-color:#85a7ca}.dark-mode .select2-indigo+.select2-container--default.select2-container--open .select2-selection--single{border-color:#b389f9}.dark-mode .select2-indigo+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#b389f9}.dark-mode .select2-indigo .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-indigo .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-indigo .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-indigo .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-indigo .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-indigo.select2-dropdown .select2-search__field:focus{border:1px solid #b389f9}.dark-mode .select2-indigo .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-indigo .select2-results__option--highlighted{background-color:#6610f2;color:#fff}.dark-mode .select2-indigo .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-indigo .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-indigo .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-indigo .select2-results__option--highlighted[aria-selected]:hover{background-color:#5f0de6;color:#fff}.dark-mode .select2-indigo .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-indigo .select2-selection--multiple:focus{border-color:#b389f9}.dark-mode .select2-indigo .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-indigo .select2-selection--multiple .select2-selection__choice{background-color:#6610f2;border-color:#5b0cdd;color:#fff}.dark-mode .select2-indigo .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-indigo .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-indigo .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-indigo .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-indigo .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-indigo.select2-container--focus .select2-selection--multiple{border-color:#b389f9}.dark-mode .select2-purple+.select2-container--default.select2-container--open .select2-selection--single{border-color:#b8a2e0}.dark-mode .select2-purple+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#b8a2e0}.dark-mode .select2-purple .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-purple .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-purple .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-purple .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-purple .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-purple.select2-dropdown .select2-search__field:focus{border:1px solid #b8a2e0}.dark-mode .select2-purple .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-purple .select2-results__option--highlighted{background-color:#6f42c1;color:#fff}.dark-mode .select2-purple .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-purple .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-purple .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-purple .select2-results__option--highlighted[aria-selected]:hover{background-color:#683cb8;color:#fff}.dark-mode .select2-purple .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-purple .select2-selection--multiple:focus{border-color:#b8a2e0}.dark-mode .select2-purple .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-purple .select2-selection--multiple .select2-selection__choice{background-color:#6f42c1;border-color:#643ab0;color:#fff}.dark-mode .select2-purple .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-purple .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-purple .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-purple .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-purple .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-purple.select2-container--focus .select2-selection--multiple{border-color:#b8a2e0}.dark-mode .select2-pink+.select2-container--default.select2-container--open .select2-selection--single{border-color:#f6b0d0}.dark-mode .select2-pink+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#f6b0d0}.dark-mode .select2-pink .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-pink .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-pink .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-pink .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-pink .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-pink.select2-dropdown .select2-search__field:focus{border:1px solid #f6b0d0}.dark-mode .select2-pink .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-pink .select2-results__option--highlighted{background-color:#e83e8c;color:#fff}.dark-mode .select2-pink .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-pink .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-pink .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-pink .select2-results__option--highlighted[aria-selected]:hover{background-color:#e63084;color:#fff}.dark-mode .select2-pink .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-pink .select2-selection--multiple:focus{border-color:#f6b0d0}.dark-mode .select2-pink .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-pink .select2-selection--multiple .select2-selection__choice{background-color:#e83e8c;border-color:#e5277e;color:#fff}.dark-mode .select2-pink .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-pink .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-pink .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-pink .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-pink .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-pink.select2-container--focus .select2-selection--multiple{border-color:#f6b0d0}.dark-mode .select2-red+.select2-container--default.select2-container--open .select2-selection--single{border-color:#f5b4ae}.dark-mode .select2-red+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#f5b4ae}.dark-mode .select2-red .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-red .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-red .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-red .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-red .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-red.select2-dropdown .select2-search__field:focus{border:1px solid #f5b4ae}.dark-mode .select2-red .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-red .select2-results__option--highlighted{background-color:#e74c3c;color:#fff}.dark-mode .select2-red .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-red .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-red .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-red .select2-results__option--highlighted[aria-selected]:hover{background-color:#e53f2e;color:#fff}.dark-mode .select2-red .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-red .select2-selection--multiple:focus{border-color:#f5b4ae}.dark-mode .select2-red .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-red .select2-selection--multiple .select2-selection__choice{background-color:#e74c3c;border-color:#e43725;color:#fff}.dark-mode .select2-red .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-red .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-red .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-red .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-red .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-red.select2-container--focus .select2-selection--multiple{border-color:#f5b4ae}.dark-mode .select2-orange+.select2-container--default.select2-container--open .select2-selection--single{border-color:#fec392}.dark-mode .select2-orange+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#fec392}.dark-mode .select2-orange .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-orange .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-orange .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-orange .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-orange .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-orange.select2-dropdown .select2-search__field:focus{border:1px solid #fec392}.dark-mode .select2-orange .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-orange .select2-results__option--highlighted{background-color:#fd7e14;color:#1f2d3d}.dark-mode .select2-orange .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-orange .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-orange .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-orange .select2-results__option--highlighted[aria-selected]:hover{background-color:#fd7605;color:#fff}.dark-mode .select2-orange .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-orange .select2-selection--multiple:focus{border-color:#fec392}.dark-mode .select2-orange .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-orange .select2-selection--multiple .select2-selection__choice{background-color:#fd7e14;border-color:#f57102;color:#1f2d3d}.dark-mode .select2-orange .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-orange .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-orange .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-orange .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-orange .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-orange.select2-container--focus .select2-selection--multiple{border-color:#fec392}.dark-mode .select2-yellow+.select2-container--default.select2-container--open .select2-selection--single{border-color:#f9cf8b}.dark-mode .select2-yellow+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#f9cf8b}.dark-mode .select2-yellow .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-yellow .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-yellow .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-yellow .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-yellow .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-yellow.select2-dropdown .select2-search__field:focus{border:1px solid #f9cf8b}.dark-mode .select2-yellow .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-yellow .select2-results__option--highlighted{background-color:#f39c12;color:#1f2d3d}.dark-mode .select2-yellow .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-yellow .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-yellow .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-yellow .select2-results__option--highlighted[aria-selected]:hover{background-color:#ea940c;color:#1f2d3d}.dark-mode .select2-yellow .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-yellow .select2-selection--multiple:focus{border-color:#f9cf8b}.dark-mode .select2-yellow .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-yellow .select2-selection--multiple .select2-selection__choice{background-color:#f39c12;border-color:#e08e0b;color:#1f2d3d}.dark-mode .select2-yellow .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-yellow .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-yellow .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-yellow .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-yellow .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-yellow.select2-container--focus .select2-selection--multiple{border-color:#f9cf8b}.dark-mode .select2-green+.select2-container--default.select2-container--open .select2-selection--single{border-color:#3dffcd}.dark-mode .select2-green+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#3dffcd}.dark-mode .select2-green .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-green .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-green .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-green .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-green .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-green.select2-dropdown .select2-search__field:focus{border:1px solid #3dffcd}.dark-mode .select2-green .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-green .select2-results__option--highlighted{background-color:#00bc8c;color:#fff}.dark-mode .select2-green .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-green .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-green .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-green .select2-results__option--highlighted[aria-selected]:hover{background-color:#00ad81;color:#fff}.dark-mode .select2-green .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-green .select2-selection--multiple:focus{border-color:#3dffcd}.dark-mode .select2-green .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-green .select2-selection--multiple .select2-selection__choice{background-color:#00bc8c;border-color:#00a379;color:#fff}.dark-mode .select2-green .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-green .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-green .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-green .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-green .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-green.select2-container--focus .select2-selection--multiple{border-color:#3dffcd}.dark-mode .select2-teal+.select2-container--default.select2-container--open .select2-selection--single{border-color:#7eeaca}.dark-mode .select2-teal+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#7eeaca}.dark-mode .select2-teal .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-teal .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-teal .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-teal .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-teal .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-teal.select2-dropdown .select2-search__field:focus{border:1px solid #7eeaca}.dark-mode .select2-teal .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-teal .select2-results__option--highlighted{background-color:#20c997;color:#fff}.dark-mode .select2-teal .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-teal .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-teal .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-teal .select2-results__option--highlighted[aria-selected]:hover{background-color:#1ebc8d;color:#fff}.dark-mode .select2-teal .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-teal .select2-selection--multiple:focus{border-color:#7eeaca}.dark-mode .select2-teal .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-teal .select2-selection--multiple .select2-selection__choice{background-color:#20c997;border-color:#1cb386;color:#fff}.dark-mode .select2-teal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-teal .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-teal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-teal .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-teal .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-teal.select2-container--focus .select2-selection--multiple{border-color:#7eeaca}.dark-mode .select2-cyan+.select2-container--default.select2-container--open .select2-selection--single{border-color:#a0cfee}.dark-mode .select2-cyan+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#a0cfee}.dark-mode .select2-cyan .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-cyan .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-cyan .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-cyan .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-cyan .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-cyan.select2-dropdown .select2-search__field:focus{border:1px solid #a0cfee}.dark-mode .select2-cyan .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-cyan .select2-results__option--highlighted{background-color:#3498db;color:#fff}.dark-mode .select2-cyan .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-cyan .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-cyan .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-cyan .select2-results__option--highlighted[aria-selected]:hover{background-color:#2791d9;color:#fff}.dark-mode .select2-cyan .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-cyan .select2-selection--multiple:focus{border-color:#a0cfee}.dark-mode .select2-cyan .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-cyan .select2-selection--multiple .select2-selection__choice{background-color:#3498db;border-color:#258cd1;color:#fff}.dark-mode .select2-cyan .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-cyan .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-cyan .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-cyan .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-cyan .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-cyan.select2-container--focus .select2-selection--multiple{border-color:#a0cfee}.dark-mode .select2-white+.select2-container--default.select2-container--open .select2-selection--single{border-color:#fff}.dark-mode .select2-white+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#fff}.dark-mode .select2-white .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-white .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-white .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-white .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-white .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-white.select2-dropdown .select2-search__field:focus{border:1px solid #fff}.dark-mode .select2-white .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-white .select2-results__option--highlighted{background-color:#fff;color:#1f2d3d}.dark-mode .select2-white .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-white .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-white .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-white .select2-results__option--highlighted[aria-selected]:hover{background-color:#f7f7f7;color:#1f2d3d}.dark-mode .select2-white .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-white .select2-selection--multiple:focus{border-color:#fff}.dark-mode .select2-white .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-white .select2-selection--multiple .select2-selection__choice{background-color:#fff;border-color:#f2f2f2;color:#1f2d3d}.dark-mode .select2-white .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-white .select2-selection--multiple .select2-selection__choice__remove{color:rgba(31,45,61,.7)}.dark-mode .select2-white .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-white .select2-selection--multiple .select2-selection__choice__remove:hover{color:#1f2d3d}.dark-mode .select2-white .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-white.select2-container--focus .select2-selection--multiple{border-color:#fff}.dark-mode .select2-gray+.select2-container--default.select2-container--open .select2-selection--single{border-color:#afb5ba}.dark-mode .select2-gray+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#afb5ba}.dark-mode .select2-gray .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-gray .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-gray .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-gray .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-gray .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-gray.select2-dropdown .select2-search__field:focus{border:1px solid #afb5ba}.dark-mode .select2-gray .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-gray .select2-results__option--highlighted{background-color:#6c757d;color:#fff}.dark-mode .select2-gray .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-gray .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-gray .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-gray .select2-results__option--highlighted[aria-selected]:hover{background-color:#656d75;color:#fff}.dark-mode .select2-gray .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-gray .select2-selection--multiple:focus{border-color:#afb5ba}.dark-mode .select2-gray .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-gray .select2-selection--multiple .select2-selection__choice{background-color:#6c757d;border-color:#60686f;color:#fff}.dark-mode .select2-gray .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-gray .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-gray .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-gray .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-gray .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-gray.select2-container--focus .select2-selection--multiple{border-color:#afb5ba}.dark-mode .select2-gray-dark+.select2-container--default.select2-container--open .select2-selection--single{border-color:#6d7a86}.dark-mode .select2-gray-dark+.select2-container--default.select2-container--focus .select2-selection--single{border-color:#6d7a86}.dark-mode .select2-gray-dark .select2-container--default .select2-dropdown .select2-search__field:focus,.dark-mode .select2-gray-dark .select2-container--default .select2-search--inline .select2-search__field:focus,.dark-mode .select2-gray-dark .select2-container--default.select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-gray-dark .select2-dropdown .select2-search__field:focus,.select2-container--default .dark-mode .select2-gray-dark .select2-search--inline .select2-search__field:focus,.select2-container--default .dark-mode .select2-gray-dark.select2-dropdown .select2-search__field:focus{border:1px solid #6d7a86}.dark-mode .select2-gray-dark .select2-container--default .select2-results__option--highlighted,.select2-container--default .dark-mode .select2-gray-dark .select2-results__option--highlighted{background-color:#343a40;color:#fff}.dark-mode .select2-gray-dark .select2-container--default .select2-results__option--highlighted[aria-selected],.dark-mode .select2-gray-dark .select2-container--default .select2-results__option--highlighted[aria-selected]:hover,.select2-container--default .dark-mode .select2-gray-dark .select2-results__option--highlighted[aria-selected],.select2-container--default .dark-mode .select2-gray-dark .select2-results__option--highlighted[aria-selected]:hover{background-color:#2d3238;color:#fff}.dark-mode .select2-gray-dark .select2-container--default .select2-selection--multiple:focus,.select2-container--default .dark-mode .select2-gray-dark .select2-selection--multiple:focus{border-color:#6d7a86}.dark-mode .select2-gray-dark .select2-container--default .select2-selection--multiple .select2-selection__choice,.select2-container--default .dark-mode .select2-gray-dark .select2-selection--multiple .select2-selection__choice{background-color:#343a40;border-color:#292d32;color:#fff}.dark-mode .select2-gray-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,.select2-container--default .dark-mode .select2-gray-dark .select2-selection--multiple .select2-selection__choice__remove{color:rgba(255,255,255,.7)}.dark-mode .select2-gray-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .dark-mode .select2-gray-dark .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.dark-mode .select2-gray-dark .select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .dark-mode .select2-gray-dark.select2-container--focus .select2-selection--multiple{border-color:#6d7a86}.slider .tooltip.in{opacity:.9}.slider.slider-vertical{height:100%}.slider.slider-horizontal{width:100%}.slider-primary .slider .slider-selection{background:#007bff}.slider-secondary .slider .slider-selection{background:#6c757d}.slider-success .slider .slider-selection{background:#28a745}.slider-info .slider .slider-selection{background:#17a2b8}.slider-warning .slider .slider-selection{background:#ffc107}.slider-danger .slider .slider-selection{background:#dc3545}.slider-light .slider .slider-selection{background:#f8f9fa}.slider-dark .slider .slider-selection{background:#343a40}.slider-lightblue .slider .slider-selection{background:#3c8dbc}.slider-navy .slider .slider-selection{background:#001f3f}.slider-olive .slider .slider-selection{background:#3d9970}.slider-lime .slider .slider-selection{background:#01ff70}.slider-fuchsia .slider .slider-selection{background:#f012be}.slider-maroon .slider .slider-selection{background:#d81b60}.slider-blue .slider .slider-selection{background:#007bff}.slider-indigo .slider .slider-selection{background:#6610f2}.slider-purple .slider .slider-selection{background:#6f42c1}.slider-pink .slider .slider-selection{background:#e83e8c}.slider-red .slider .slider-selection{background:#dc3545}.slider-orange .slider .slider-selection{background:#fd7e14}.slider-yellow .slider .slider-selection{background:#ffc107}.slider-green .slider .slider-selection{background:#28a745}.slider-teal .slider .slider-selection{background:#20c997}.slider-cyan .slider .slider-selection{background:#17a2b8}.slider-white .slider .slider-selection{background:#fff}.slider-gray .slider .slider-selection{background:#6c757d}.slider-gray-dark .slider .slider-selection{background:#343a40}.dark-mode .slider-track{background-color:#4b545c;background-image:none}.dark-mode .slider-primary .slider .slider-selection{background:#3f6791}.dark-mode .slider-secondary .slider .slider-selection{background:#6c757d}.dark-mode .slider-success .slider .slider-selection{background:#00bc8c}.dark-mode .slider-info .slider .slider-selection{background:#3498db}.dark-mode .slider-warning .slider .slider-selection{background:#f39c12}.dark-mode .slider-danger .slider .slider-selection{background:#e74c3c}.dark-mode .slider-light .slider .slider-selection{background:#f8f9fa}.dark-mode .slider-dark .slider .slider-selection{background:#343a40}.dark-mode .slider-lightblue .slider .slider-selection{background:#86bad8}.dark-mode .slider-navy .slider .slider-selection{background:#002c59}.dark-mode .slider-olive .slider .slider-selection{background:#74c8a3}.dark-mode .slider-lime .slider .slider-selection{background:#67ffa9}.dark-mode .slider-fuchsia .slider .slider-selection{background:#f672d8}.dark-mode .slider-maroon .slider .slider-selection{background:#ed6c9b}.dark-mode .slider-blue .slider .slider-selection{background:#3f6791}.dark-mode .slider-indigo .slider .slider-selection{background:#6610f2}.dark-mode .slider-purple .slider .slider-selection{background:#6f42c1}.dark-mode .slider-pink .slider .slider-selection{background:#e83e8c}.dark-mode .slider-red .slider .slider-selection{background:#e74c3c}.dark-mode .slider-orange .slider .slider-selection{background:#fd7e14}.dark-mode .slider-yellow .slider .slider-selection{background:#f39c12}.dark-mode .slider-green .slider .slider-selection{background:#00bc8c}.dark-mode .slider-teal .slider .slider-selection{background:#20c997}.dark-mode .slider-cyan .slider .slider-selection{background:#3498db}.dark-mode .slider-white .slider .slider-selection{background:#fff}.dark-mode .slider-gray .slider .slider-selection{background:#6c757d}.dark-mode .slider-gray-dark .slider .slider-selection{background:#343a40}.icheck-primary>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-primary>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#007bff}.icheck-primary>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-primary>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#007bff}.icheck-primary>input:first-child:checked+input[type=hidden]+label::before,.icheck-primary>input:first-child:checked+label::before{background-color:#007bff;border-color:#007bff}.icheck-secondary>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-secondary>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#6c757d}.icheck-secondary>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-secondary>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#6c757d}.icheck-secondary>input:first-child:checked+input[type=hidden]+label::before,.icheck-secondary>input:first-child:checked+label::before{background-color:#6c757d;border-color:#6c757d}.icheck-success>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-success>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#28a745}.icheck-success>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-success>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#28a745}.icheck-success>input:first-child:checked+input[type=hidden]+label::before,.icheck-success>input:first-child:checked+label::before{background-color:#28a745;border-color:#28a745}.icheck-info>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-info>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#17a2b8}.icheck-info>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-info>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#17a2b8}.icheck-info>input:first-child:checked+input[type=hidden]+label::before,.icheck-info>input:first-child:checked+label::before{background-color:#17a2b8;border-color:#17a2b8}.icheck-warning>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-warning>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#ffc107}.icheck-warning>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-warning>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#ffc107}.icheck-warning>input:first-child:checked+input[type=hidden]+label::before,.icheck-warning>input:first-child:checked+label::before{background-color:#ffc107;border-color:#ffc107}.icheck-danger>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-danger>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#dc3545}.icheck-danger>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-danger>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#dc3545}.icheck-danger>input:first-child:checked+input[type=hidden]+label::before,.icheck-danger>input:first-child:checked+label::before{background-color:#dc3545;border-color:#dc3545}.icheck-light>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-light>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#f8f9fa}.icheck-light>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-light>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#f8f9fa}.icheck-light>input:first-child:checked+input[type=hidden]+label::before,.icheck-light>input:first-child:checked+label::before{background-color:#f8f9fa;border-color:#f8f9fa}.icheck-dark>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-dark>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#343a40}.icheck-dark>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-dark>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#343a40}.icheck-dark>input:first-child:checked+input[type=hidden]+label::before,.icheck-dark>input:first-child:checked+label::before{background-color:#343a40;border-color:#343a40}.icheck-lightblue>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-lightblue>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#3c8dbc}.icheck-lightblue>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-lightblue>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#3c8dbc}.icheck-lightblue>input:first-child:checked+input[type=hidden]+label::before,.icheck-lightblue>input:first-child:checked+label::before{background-color:#3c8dbc;border-color:#3c8dbc}.icheck-navy>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-navy>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#001f3f}.icheck-navy>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-navy>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#001f3f}.icheck-navy>input:first-child:checked+input[type=hidden]+label::before,.icheck-navy>input:first-child:checked+label::before{background-color:#001f3f;border-color:#001f3f}.icheck-olive>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-olive>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#3d9970}.icheck-olive>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-olive>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#3d9970}.icheck-olive>input:first-child:checked+input[type=hidden]+label::before,.icheck-olive>input:first-child:checked+label::before{background-color:#3d9970;border-color:#3d9970}.icheck-lime>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-lime>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#01ff70}.icheck-lime>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-lime>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#01ff70}.icheck-lime>input:first-child:checked+input[type=hidden]+label::before,.icheck-lime>input:first-child:checked+label::before{background-color:#01ff70;border-color:#01ff70}.icheck-fuchsia>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-fuchsia>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#f012be}.icheck-fuchsia>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-fuchsia>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#f012be}.icheck-fuchsia>input:first-child:checked+input[type=hidden]+label::before,.icheck-fuchsia>input:first-child:checked+label::before{background-color:#f012be;border-color:#f012be}.icheck-maroon>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-maroon>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#d81b60}.icheck-maroon>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-maroon>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#d81b60}.icheck-maroon>input:first-child:checked+input[type=hidden]+label::before,.icheck-maroon>input:first-child:checked+label::before{background-color:#d81b60;border-color:#d81b60}.icheck-blue>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-blue>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#007bff}.icheck-blue>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-blue>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#007bff}.icheck-blue>input:first-child:checked+input[type=hidden]+label::before,.icheck-blue>input:first-child:checked+label::before{background-color:#007bff;border-color:#007bff}.icheck-indigo>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-indigo>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#6610f2}.icheck-indigo>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-indigo>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#6610f2}.icheck-indigo>input:first-child:checked+input[type=hidden]+label::before,.icheck-indigo>input:first-child:checked+label::before{background-color:#6610f2;border-color:#6610f2}.icheck-purple>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-purple>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#6f42c1}.icheck-purple>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-purple>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#6f42c1}.icheck-purple>input:first-child:checked+input[type=hidden]+label::before,.icheck-purple>input:first-child:checked+label::before{background-color:#6f42c1;border-color:#6f42c1}.icheck-pink>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-pink>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#e83e8c}.icheck-pink>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-pink>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#e83e8c}.icheck-pink>input:first-child:checked+input[type=hidden]+label::before,.icheck-pink>input:first-child:checked+label::before{background-color:#e83e8c;border-color:#e83e8c}.icheck-red>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-red>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#dc3545}.icheck-red>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-red>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#dc3545}.icheck-red>input:first-child:checked+input[type=hidden]+label::before,.icheck-red>input:first-child:checked+label::before{background-color:#dc3545;border-color:#dc3545}.icheck-orange>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-orange>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#fd7e14}.icheck-orange>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-orange>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#fd7e14}.icheck-orange>input:first-child:checked+input[type=hidden]+label::before,.icheck-orange>input:first-child:checked+label::before{background-color:#fd7e14;border-color:#fd7e14}.icheck-yellow>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-yellow>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#ffc107}.icheck-yellow>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-yellow>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#ffc107}.icheck-yellow>input:first-child:checked+input[type=hidden]+label::before,.icheck-yellow>input:first-child:checked+label::before{background-color:#ffc107;border-color:#ffc107}.icheck-green>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-green>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#28a745}.icheck-green>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-green>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#28a745}.icheck-green>input:first-child:checked+input[type=hidden]+label::before,.icheck-green>input:first-child:checked+label::before{background-color:#28a745;border-color:#28a745}.icheck-teal>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-teal>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#20c997}.icheck-teal>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-teal>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#20c997}.icheck-teal>input:first-child:checked+input[type=hidden]+label::before,.icheck-teal>input:first-child:checked+label::before{background-color:#20c997;border-color:#20c997}.icheck-cyan>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-cyan>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#17a2b8}.icheck-cyan>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-cyan>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#17a2b8}.icheck-cyan>input:first-child:checked+input[type=hidden]+label::before,.icheck-cyan>input:first-child:checked+label::before{background-color:#17a2b8;border-color:#17a2b8}.icheck-white>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-white>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#fff}.icheck-white>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-white>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#fff}.icheck-white>input:first-child:checked+input[type=hidden]+label::before,.icheck-white>input:first-child:checked+label::before{background-color:#fff;border-color:#fff}.icheck-gray>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-gray>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#6c757d}.icheck-gray>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-gray>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#6c757d}.icheck-gray>input:first-child:checked+input[type=hidden]+label::before,.icheck-gray>input:first-child:checked+label::before{background-color:#6c757d;border-color:#6c757d}.icheck-gray-dark>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.icheck-gray-dark>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#343a40}.icheck-gray-dark>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.icheck-gray-dark>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#343a40}.icheck-gray-dark>input:first-child:checked+input[type=hidden]+label::before,.icheck-gray-dark>input:first-child:checked+label::before{background-color:#343a40;border-color:#343a40}.dark-mode [class*=icheck-]>input:first-child:not(:checked)+input[type=hidden]+label::before,.dark-mode [class*=icheck-]>input:first-child:not(:checked)+label::before{border-color:#6c757d}.dark-mode .icheck-primary>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-primary>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#3f6791}.dark-mode .icheck-primary>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-primary>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#3f6791}.dark-mode .icheck-primary>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-primary>input:first-child:checked+label::before{background-color:#3f6791;border-color:#3f6791}.dark-mode .icheck-secondary>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-secondary>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#6c757d}.dark-mode .icheck-secondary>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-secondary>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#6c757d}.dark-mode .icheck-secondary>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-secondary>input:first-child:checked+label::before{background-color:#6c757d;border-color:#6c757d}.dark-mode .icheck-success>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-success>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#00bc8c}.dark-mode .icheck-success>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-success>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#00bc8c}.dark-mode .icheck-success>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-success>input:first-child:checked+label::before{background-color:#00bc8c;border-color:#00bc8c}.dark-mode .icheck-info>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-info>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#3498db}.dark-mode .icheck-info>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-info>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#3498db}.dark-mode .icheck-info>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-info>input:first-child:checked+label::before{background-color:#3498db;border-color:#3498db}.dark-mode .icheck-warning>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-warning>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#f39c12}.dark-mode .icheck-warning>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-warning>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#f39c12}.dark-mode .icheck-warning>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-warning>input:first-child:checked+label::before{background-color:#f39c12;border-color:#f39c12}.dark-mode .icheck-danger>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-danger>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#e74c3c}.dark-mode .icheck-danger>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-danger>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#e74c3c}.dark-mode .icheck-danger>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-danger>input:first-child:checked+label::before{background-color:#e74c3c;border-color:#e74c3c}.dark-mode .icheck-light>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-light>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#f8f9fa}.dark-mode .icheck-light>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-light>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#f8f9fa}.dark-mode .icheck-light>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-light>input:first-child:checked+label::before{background-color:#f8f9fa;border-color:#f8f9fa}.dark-mode .icheck-dark>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-dark>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#343a40}.dark-mode .icheck-dark>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-dark>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#343a40}.dark-mode .icheck-dark>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-dark>input:first-child:checked+label::before{background-color:#343a40;border-color:#343a40}.dark-mode .icheck-lightblue>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-lightblue>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#86bad8}.dark-mode .icheck-lightblue>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-lightblue>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#86bad8}.dark-mode .icheck-lightblue>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-lightblue>input:first-child:checked+label::before{background-color:#86bad8;border-color:#86bad8}.dark-mode .icheck-navy>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-navy>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#002c59}.dark-mode .icheck-navy>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-navy>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#002c59}.dark-mode .icheck-navy>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-navy>input:first-child:checked+label::before{background-color:#002c59;border-color:#002c59}.dark-mode .icheck-olive>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-olive>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#74c8a3}.dark-mode .icheck-olive>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-olive>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#74c8a3}.dark-mode .icheck-olive>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-olive>input:first-child:checked+label::before{background-color:#74c8a3;border-color:#74c8a3}.dark-mode .icheck-lime>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-lime>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#67ffa9}.dark-mode .icheck-lime>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-lime>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#67ffa9}.dark-mode .icheck-lime>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-lime>input:first-child:checked+label::before{background-color:#67ffa9;border-color:#67ffa9}.dark-mode .icheck-fuchsia>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-fuchsia>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#f672d8}.dark-mode .icheck-fuchsia>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-fuchsia>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#f672d8}.dark-mode .icheck-fuchsia>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-fuchsia>input:first-child:checked+label::before{background-color:#f672d8;border-color:#f672d8}.dark-mode .icheck-maroon>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-maroon>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#ed6c9b}.dark-mode .icheck-maroon>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-maroon>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#ed6c9b}.dark-mode .icheck-maroon>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-maroon>input:first-child:checked+label::before{background-color:#ed6c9b;border-color:#ed6c9b}.dark-mode .icheck-blue>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-blue>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#3f6791}.dark-mode .icheck-blue>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-blue>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#3f6791}.dark-mode .icheck-blue>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-blue>input:first-child:checked+label::before{background-color:#3f6791;border-color:#3f6791}.dark-mode .icheck-indigo>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-indigo>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#6610f2}.dark-mode .icheck-indigo>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-indigo>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#6610f2}.dark-mode .icheck-indigo>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-indigo>input:first-child:checked+label::before{background-color:#6610f2;border-color:#6610f2}.dark-mode .icheck-purple>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-purple>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#6f42c1}.dark-mode .icheck-purple>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-purple>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#6f42c1}.dark-mode .icheck-purple>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-purple>input:first-child:checked+label::before{background-color:#6f42c1;border-color:#6f42c1}.dark-mode .icheck-pink>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-pink>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#e83e8c}.dark-mode .icheck-pink>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-pink>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#e83e8c}.dark-mode .icheck-pink>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-pink>input:first-child:checked+label::before{background-color:#e83e8c;border-color:#e83e8c}.dark-mode .icheck-red>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-red>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#e74c3c}.dark-mode .icheck-red>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-red>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#e74c3c}.dark-mode .icheck-red>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-red>input:first-child:checked+label::before{background-color:#e74c3c;border-color:#e74c3c}.dark-mode .icheck-orange>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-orange>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#fd7e14}.dark-mode .icheck-orange>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-orange>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#fd7e14}.dark-mode .icheck-orange>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-orange>input:first-child:checked+label::before{background-color:#fd7e14;border-color:#fd7e14}.dark-mode .icheck-yellow>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-yellow>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#f39c12}.dark-mode .icheck-yellow>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-yellow>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#f39c12}.dark-mode .icheck-yellow>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-yellow>input:first-child:checked+label::before{background-color:#f39c12;border-color:#f39c12}.dark-mode .icheck-green>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-green>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#00bc8c}.dark-mode .icheck-green>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-green>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#00bc8c}.dark-mode .icheck-green>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-green>input:first-child:checked+label::before{background-color:#00bc8c;border-color:#00bc8c}.dark-mode .icheck-teal>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-teal>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#20c997}.dark-mode .icheck-teal>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-teal>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#20c997}.dark-mode .icheck-teal>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-teal>input:first-child:checked+label::before{background-color:#20c997;border-color:#20c997}.dark-mode .icheck-cyan>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-cyan>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#3498db}.dark-mode .icheck-cyan>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-cyan>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#3498db}.dark-mode .icheck-cyan>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-cyan>input:first-child:checked+label::before{background-color:#3498db;border-color:#3498db}.dark-mode .icheck-white>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-white>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#fff}.dark-mode .icheck-white>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-white>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#fff}.dark-mode .icheck-white>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-white>input:first-child:checked+label::before{background-color:#fff;border-color:#fff}.dark-mode .icheck-gray>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-gray>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#6c757d}.dark-mode .icheck-gray>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-gray>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#6c757d}.dark-mode .icheck-gray>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-gray>input:first-child:checked+label::before{background-color:#6c757d;border-color:#6c757d}.dark-mode .icheck-gray-dark>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,.dark-mode .icheck-gray-dark>input:first-child:not(:checked):not(:disabled):hover+label::before{border-color:#343a40}.dark-mode .icheck-gray-dark>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,.dark-mode .icheck-gray-dark>input:first-child:not(:checked):not(:disabled):focus+label::before{border-color:#343a40}.dark-mode .icheck-gray-dark>input:first-child:checked+input[type=hidden]+label::before,.dark-mode .icheck-gray-dark>input:first-child:checked+label::before{background-color:#343a40;border-color:#343a40}.mapael .map{position:relative}.mapael .mapTooltip{font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";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;border-radius:.25rem;font-size:.875rem;background-color:#000;color:#fff;display:block;max-width:200px;padding:.25rem .5rem;position:absolute;text-align:center;word-wrap:break-word;z-index:1070}.mapael .myLegend{background-color:#f8f9fa;border:1px solid #adb5bd;padding:10px;width:600px}.mapael .zoomButton{background-color:#f8f9fa;border:1px solid #ddd;border-radius:.25rem;color:#444;cursor:pointer;font-weight:700;height:16px;left:10px;line-height:14px;padding-left:1px;position:absolute;text-align:center;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:16px}.mapael .zoomButton.hover,.mapael .zoomButton:active,.mapael .zoomButton:hover{background-color:#e9ecef;color:#2b2b2b}.mapael .zoomReset{line-height:12px;top:10px}.mapael .zoomIn{top:30px}.mapael .zoomOut{top:50px}.jqvmap-zoomin,.jqvmap-zoomout{background-color:#f8f9fa;border:1px solid #ddd;border-radius:.25rem;color:#444;height:15px;width:15px}.jqvmap-zoomin.hover,.jqvmap-zoomin:active,.jqvmap-zoomin:hover,.jqvmap-zoomout.hover,.jqvmap-zoomout:active,.jqvmap-zoomout:hover{background-color:#e9ecef;color:#2b2b2b}.swal2-icon.swal2-info{border-color:ligthen(#17a2b8,20%);color:#17a2b8}.swal2-icon.swal2-warning{border-color:ligthen(#ffc107,20%);color:#ffc107}.swal2-icon.swal2-error{border-color:ligthen(#dc3545,20%);color:#dc3545}.swal2-icon.swal2-question{border-color:ligthen(#6c757d,20%);color:#6c757d}.swal2-icon.swal2-success{border-color:ligthen(#28a745,20%);color:#28a745}.swal2-icon.swal2-success .swal2-success-ring{border-color:ligthen(#28a745,20%)}.swal2-icon.swal2-success [class^=swal2-success-line]{background-color:#28a745}.dark-mode .swal2-popup{background-color:#343a40;color:#e9ecef}.dark-mode .swal2-popup .swal2-content,.dark-mode .swal2-popup .swal2-title{color:#e9ecef}#toast-container .toast{background-color:#007bff}#toast-container .toast-success{background-color:#28a745}#toast-container .toast-error{background-color:#dc3545}#toast-container .toast-info{background-color:#17a2b8}#toast-container .toast-warning{background-color:#ffc107}.toast-bottom-full-width .toast,.toast-top-full-width .toast{max-width:inherit}.pace{z-index:1048}.pace .pace-progress{z-index:1049}.pace .pace-activity{z-index:1050}.pace-primary .pace .pace-progress{background:#007bff}.pace-barber-shop-primary .pace{background:#fff}.pace-barber-shop-primary .pace .pace-progress{background:#007bff}.pace-barber-shop-primary .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-primary .pace .pace-progress::after{color:rgba(0,123,255,.2)}.pace-bounce-primary .pace .pace-activity{background:#007bff}.pace-center-atom-primary .pace-progress{height:100px;width:80px}.pace-center-atom-primary .pace-progress::before{background:#007bff;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-primary .pace-activity{border-color:#007bff}.pace-center-atom-primary .pace-activity::after,.pace-center-atom-primary .pace-activity::before{border-color:#007bff}.pace-center-circle-primary .pace .pace-progress{background:rgba(0,123,255,.8);color:#fff}.pace-center-radar-primary .pace .pace-activity{border-color:#007bff transparent transparent}.pace-center-radar-primary .pace .pace-activity::before{border-color:#007bff transparent transparent}.pace-center-simple-primary .pace{background:#fff;border-color:#007bff}.pace-center-simple-primary .pace .pace-progress{background:#007bff}.pace-material-primary .pace{color:#007bff}.pace-corner-indicator-primary .pace .pace-activity{background:#007bff}.pace-corner-indicator-primary .pace .pace-activity::after,.pace-corner-indicator-primary .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-primary .pace .pace-activity::before{border-right-color:rgba(0,123,255,.2);border-left-color:rgba(0,123,255,.2)}.pace-corner-indicator-primary .pace .pace-activity::after{border-top-color:rgba(0,123,255,.2);border-bottom-color:rgba(0,123,255,.2)}.pace-fill-left-primary .pace .pace-progress{background-color:rgba(0,123,255,.2)}.pace-flash-primary .pace .pace-progress{background:#007bff}.pace-flash-primary .pace .pace-progress-inner{box-shadow:0 0 10px #007bff,0 0 5px #007bff}.pace-flash-primary .pace .pace-activity{border-top-color:#007bff;border-left-color:#007bff}.pace-loading-bar-primary .pace .pace-progress{background:#007bff;color:#007bff;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-primary .pace .pace-activity{box-shadow:inset 0 0 0 2px #007bff,inset 0 0 0 7px #fff}.pace-mac-osx-primary .pace .pace-progress{background-color:#007bff;box-shadow:inset -1px 0 #007bff,inset 0 -1px #007bff,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-primary .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-primary .pace-progress{color:#007bff}.pace-secondary .pace .pace-progress{background:#6c757d}.pace-barber-shop-secondary .pace{background:#fff}.pace-barber-shop-secondary .pace .pace-progress{background:#6c757d}.pace-barber-shop-secondary .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-secondary .pace .pace-progress::after{color:rgba(108,117,125,.2)}.pace-bounce-secondary .pace .pace-activity{background:#6c757d}.pace-center-atom-secondary .pace-progress{height:100px;width:80px}.pace-center-atom-secondary .pace-progress::before{background:#6c757d;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-secondary .pace-activity{border-color:#6c757d}.pace-center-atom-secondary .pace-activity::after,.pace-center-atom-secondary .pace-activity::before{border-color:#6c757d}.pace-center-circle-secondary .pace .pace-progress{background:rgba(108,117,125,.8);color:#fff}.pace-center-radar-secondary .pace .pace-activity{border-color:#6c757d transparent transparent}.pace-center-radar-secondary .pace .pace-activity::before{border-color:#6c757d transparent transparent}.pace-center-simple-secondary .pace{background:#fff;border-color:#6c757d}.pace-center-simple-secondary .pace .pace-progress{background:#6c757d}.pace-material-secondary .pace{color:#6c757d}.pace-corner-indicator-secondary .pace .pace-activity{background:#6c757d}.pace-corner-indicator-secondary .pace .pace-activity::after,.pace-corner-indicator-secondary .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-secondary .pace .pace-activity::before{border-right-color:rgba(108,117,125,.2);border-left-color:rgba(108,117,125,.2)}.pace-corner-indicator-secondary .pace .pace-activity::after{border-top-color:rgba(108,117,125,.2);border-bottom-color:rgba(108,117,125,.2)}.pace-fill-left-secondary .pace .pace-progress{background-color:rgba(108,117,125,.2)}.pace-flash-secondary .pace .pace-progress{background:#6c757d}.pace-flash-secondary .pace .pace-progress-inner{box-shadow:0 0 10px #6c757d,0 0 5px #6c757d}.pace-flash-secondary .pace .pace-activity{border-top-color:#6c757d;border-left-color:#6c757d}.pace-loading-bar-secondary .pace .pace-progress{background:#6c757d;color:#6c757d;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-secondary .pace .pace-activity{box-shadow:inset 0 0 0 2px #6c757d,inset 0 0 0 7px #fff}.pace-mac-osx-secondary .pace .pace-progress{background-color:#6c757d;box-shadow:inset -1px 0 #6c757d,inset 0 -1px #6c757d,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-secondary .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-secondary .pace-progress{color:#6c757d}.pace-success .pace .pace-progress{background:#28a745}.pace-barber-shop-success .pace{background:#fff}.pace-barber-shop-success .pace .pace-progress{background:#28a745}.pace-barber-shop-success .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-success .pace .pace-progress::after{color:rgba(40,167,69,.2)}.pace-bounce-success .pace .pace-activity{background:#28a745}.pace-center-atom-success .pace-progress{height:100px;width:80px}.pace-center-atom-success .pace-progress::before{background:#28a745;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-success .pace-activity{border-color:#28a745}.pace-center-atom-success .pace-activity::after,.pace-center-atom-success .pace-activity::before{border-color:#28a745}.pace-center-circle-success .pace .pace-progress{background:rgba(40,167,69,.8);color:#fff}.pace-center-radar-success .pace .pace-activity{border-color:#28a745 transparent transparent}.pace-center-radar-success .pace .pace-activity::before{border-color:#28a745 transparent transparent}.pace-center-simple-success .pace{background:#fff;border-color:#28a745}.pace-center-simple-success .pace .pace-progress{background:#28a745}.pace-material-success .pace{color:#28a745}.pace-corner-indicator-success .pace .pace-activity{background:#28a745}.pace-corner-indicator-success .pace .pace-activity::after,.pace-corner-indicator-success .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-success .pace .pace-activity::before{border-right-color:rgba(40,167,69,.2);border-left-color:rgba(40,167,69,.2)}.pace-corner-indicator-success .pace .pace-activity::after{border-top-color:rgba(40,167,69,.2);border-bottom-color:rgba(40,167,69,.2)}.pace-fill-left-success .pace .pace-progress{background-color:rgba(40,167,69,.2)}.pace-flash-success .pace .pace-progress{background:#28a745}.pace-flash-success .pace .pace-progress-inner{box-shadow:0 0 10px #28a745,0 0 5px #28a745}.pace-flash-success .pace .pace-activity{border-top-color:#28a745;border-left-color:#28a745}.pace-loading-bar-success .pace .pace-progress{background:#28a745;color:#28a745;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-success .pace .pace-activity{box-shadow:inset 0 0 0 2px #28a745,inset 0 0 0 7px #fff}.pace-mac-osx-success .pace .pace-progress{background-color:#28a745;box-shadow:inset -1px 0 #28a745,inset 0 -1px #28a745,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-success .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-success .pace-progress{color:#28a745}.pace-info .pace .pace-progress{background:#17a2b8}.pace-barber-shop-info .pace{background:#fff}.pace-barber-shop-info .pace .pace-progress{background:#17a2b8}.pace-barber-shop-info .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-info .pace .pace-progress::after{color:rgba(23,162,184,.2)}.pace-bounce-info .pace .pace-activity{background:#17a2b8}.pace-center-atom-info .pace-progress{height:100px;width:80px}.pace-center-atom-info .pace-progress::before{background:#17a2b8;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-info .pace-activity{border-color:#17a2b8}.pace-center-atom-info .pace-activity::after,.pace-center-atom-info .pace-activity::before{border-color:#17a2b8}.pace-center-circle-info .pace .pace-progress{background:rgba(23,162,184,.8);color:#fff}.pace-center-radar-info .pace .pace-activity{border-color:#17a2b8 transparent transparent}.pace-center-radar-info .pace .pace-activity::before{border-color:#17a2b8 transparent transparent}.pace-center-simple-info .pace{background:#fff;border-color:#17a2b8}.pace-center-simple-info .pace .pace-progress{background:#17a2b8}.pace-material-info .pace{color:#17a2b8}.pace-corner-indicator-info .pace .pace-activity{background:#17a2b8}.pace-corner-indicator-info .pace .pace-activity::after,.pace-corner-indicator-info .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-info .pace .pace-activity::before{border-right-color:rgba(23,162,184,.2);border-left-color:rgba(23,162,184,.2)}.pace-corner-indicator-info .pace .pace-activity::after{border-top-color:rgba(23,162,184,.2);border-bottom-color:rgba(23,162,184,.2)}.pace-fill-left-info .pace .pace-progress{background-color:rgba(23,162,184,.2)}.pace-flash-info .pace .pace-progress{background:#17a2b8}.pace-flash-info .pace .pace-progress-inner{box-shadow:0 0 10px #17a2b8,0 0 5px #17a2b8}.pace-flash-info .pace .pace-activity{border-top-color:#17a2b8;border-left-color:#17a2b8}.pace-loading-bar-info .pace .pace-progress{background:#17a2b8;color:#17a2b8;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-info .pace .pace-activity{box-shadow:inset 0 0 0 2px #17a2b8,inset 0 0 0 7px #fff}.pace-mac-osx-info .pace .pace-progress{background-color:#17a2b8;box-shadow:inset -1px 0 #17a2b8,inset 0 -1px #17a2b8,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-info .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-info .pace-progress{color:#17a2b8}.pace-warning .pace .pace-progress{background:#ffc107}.pace-barber-shop-warning .pace{background:#1f2d3d}.pace-barber-shop-warning .pace .pace-progress{background:#ffc107}.pace-barber-shop-warning .pace .pace-activity{background-image:linear-gradient(45deg,rgba(31,45,61,.2) 25%,transparent 25%,transparent 50%,rgba(31,45,61,.2) 50%,rgba(31,45,61,.2) 75%,transparent 75%,transparent)}.pace-big-counter-warning .pace .pace-progress::after{color:rgba(255,193,7,.2)}.pace-bounce-warning .pace .pace-activity{background:#ffc107}.pace-center-atom-warning .pace-progress{height:100px;width:80px}.pace-center-atom-warning .pace-progress::before{background:#ffc107;color:#1f2d3d;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-warning .pace-activity{border-color:#ffc107}.pace-center-atom-warning .pace-activity::after,.pace-center-atom-warning .pace-activity::before{border-color:#ffc107}.pace-center-circle-warning .pace .pace-progress{background:rgba(255,193,7,.8);color:#1f2d3d}.pace-center-radar-warning .pace .pace-activity{border-color:#ffc107 transparent transparent}.pace-center-radar-warning .pace .pace-activity::before{border-color:#ffc107 transparent transparent}.pace-center-simple-warning .pace{background:#1f2d3d;border-color:#ffc107}.pace-center-simple-warning .pace .pace-progress{background:#ffc107}.pace-material-warning .pace{color:#ffc107}.pace-corner-indicator-warning .pace .pace-activity{background:#ffc107}.pace-corner-indicator-warning .pace .pace-activity::after,.pace-corner-indicator-warning .pace .pace-activity::before{border:5px solid #1f2d3d}.pace-corner-indicator-warning .pace .pace-activity::before{border-right-color:rgba(255,193,7,.2);border-left-color:rgba(255,193,7,.2)}.pace-corner-indicator-warning .pace .pace-activity::after{border-top-color:rgba(255,193,7,.2);border-bottom-color:rgba(255,193,7,.2)}.pace-fill-left-warning .pace .pace-progress{background-color:rgba(255,193,7,.2)}.pace-flash-warning .pace .pace-progress{background:#ffc107}.pace-flash-warning .pace .pace-progress-inner{box-shadow:0 0 10px #ffc107,0 0 5px #ffc107}.pace-flash-warning .pace .pace-activity{border-top-color:#ffc107;border-left-color:#ffc107}.pace-loading-bar-warning .pace .pace-progress{background:#ffc107;color:#ffc107;box-shadow:120px 0 #1f2d3d,240px 0 #1f2d3d}.pace-loading-bar-warning .pace .pace-activity{box-shadow:inset 0 0 0 2px #ffc107,inset 0 0 0 7px #1f2d3d}.pace-mac-osx-warning .pace .pace-progress{background-color:#ffc107;box-shadow:inset -1px 0 #ffc107,inset 0 -1px #ffc107,inset 0 2px rgba(31,45,61,.5),inset 0 6px rgba(31,45,61,.3)}.pace-mac-osx-warning .pace .pace-activity{background-image:radial-gradient(rgba(31,45,61,.65) 0,rgba(31,45,61,.15) 100%);height:12px}.pace-progress-color-warning .pace-progress{color:#ffc107}.pace-danger .pace .pace-progress{background:#dc3545}.pace-barber-shop-danger .pace{background:#fff}.pace-barber-shop-danger .pace .pace-progress{background:#dc3545}.pace-barber-shop-danger .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-danger .pace .pace-progress::after{color:rgba(220,53,69,.2)}.pace-bounce-danger .pace .pace-activity{background:#dc3545}.pace-center-atom-danger .pace-progress{height:100px;width:80px}.pace-center-atom-danger .pace-progress::before{background:#dc3545;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-danger .pace-activity{border-color:#dc3545}.pace-center-atom-danger .pace-activity::after,.pace-center-atom-danger .pace-activity::before{border-color:#dc3545}.pace-center-circle-danger .pace .pace-progress{background:rgba(220,53,69,.8);color:#fff}.pace-center-radar-danger .pace .pace-activity{border-color:#dc3545 transparent transparent}.pace-center-radar-danger .pace .pace-activity::before{border-color:#dc3545 transparent transparent}.pace-center-simple-danger .pace{background:#fff;border-color:#dc3545}.pace-center-simple-danger .pace .pace-progress{background:#dc3545}.pace-material-danger .pace{color:#dc3545}.pace-corner-indicator-danger .pace .pace-activity{background:#dc3545}.pace-corner-indicator-danger .pace .pace-activity::after,.pace-corner-indicator-danger .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-danger .pace .pace-activity::before{border-right-color:rgba(220,53,69,.2);border-left-color:rgba(220,53,69,.2)}.pace-corner-indicator-danger .pace .pace-activity::after{border-top-color:rgba(220,53,69,.2);border-bottom-color:rgba(220,53,69,.2)}.pace-fill-left-danger .pace .pace-progress{background-color:rgba(220,53,69,.2)}.pace-flash-danger .pace .pace-progress{background:#dc3545}.pace-flash-danger .pace .pace-progress-inner{box-shadow:0 0 10px #dc3545,0 0 5px #dc3545}.pace-flash-danger .pace .pace-activity{border-top-color:#dc3545;border-left-color:#dc3545}.pace-loading-bar-danger .pace .pace-progress{background:#dc3545;color:#dc3545;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-danger .pace .pace-activity{box-shadow:inset 0 0 0 2px #dc3545,inset 0 0 0 7px #fff}.pace-mac-osx-danger .pace .pace-progress{background-color:#dc3545;box-shadow:inset -1px 0 #dc3545,inset 0 -1px #dc3545,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-danger .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-danger .pace-progress{color:#dc3545}.pace-light .pace .pace-progress{background:#f8f9fa}.pace-barber-shop-light .pace{background:#1f2d3d}.pace-barber-shop-light .pace .pace-progress{background:#f8f9fa}.pace-barber-shop-light .pace .pace-activity{background-image:linear-gradient(45deg,rgba(31,45,61,.2) 25%,transparent 25%,transparent 50%,rgba(31,45,61,.2) 50%,rgba(31,45,61,.2) 75%,transparent 75%,transparent)}.pace-big-counter-light .pace .pace-progress::after{color:rgba(248,249,250,.2)}.pace-bounce-light .pace .pace-activity{background:#f8f9fa}.pace-center-atom-light .pace-progress{height:100px;width:80px}.pace-center-atom-light .pace-progress::before{background:#f8f9fa;color:#1f2d3d;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-light .pace-activity{border-color:#f8f9fa}.pace-center-atom-light .pace-activity::after,.pace-center-atom-light .pace-activity::before{border-color:#f8f9fa}.pace-center-circle-light .pace .pace-progress{background:rgba(248,249,250,.8);color:#1f2d3d}.pace-center-radar-light .pace .pace-activity{border-color:#f8f9fa transparent transparent}.pace-center-radar-light .pace .pace-activity::before{border-color:#f8f9fa transparent transparent}.pace-center-simple-light .pace{background:#1f2d3d;border-color:#f8f9fa}.pace-center-simple-light .pace .pace-progress{background:#f8f9fa}.pace-material-light .pace{color:#f8f9fa}.pace-corner-indicator-light .pace .pace-activity{background:#f8f9fa}.pace-corner-indicator-light .pace .pace-activity::after,.pace-corner-indicator-light .pace .pace-activity::before{border:5px solid #1f2d3d}.pace-corner-indicator-light .pace .pace-activity::before{border-right-color:rgba(248,249,250,.2);border-left-color:rgba(248,249,250,.2)}.pace-corner-indicator-light .pace .pace-activity::after{border-top-color:rgba(248,249,250,.2);border-bottom-color:rgba(248,249,250,.2)}.pace-fill-left-light .pace .pace-progress{background-color:rgba(248,249,250,.2)}.pace-flash-light .pace .pace-progress{background:#f8f9fa}.pace-flash-light .pace .pace-progress-inner{box-shadow:0 0 10px #f8f9fa,0 0 5px #f8f9fa}.pace-flash-light .pace .pace-activity{border-top-color:#f8f9fa;border-left-color:#f8f9fa}.pace-loading-bar-light .pace .pace-progress{background:#f8f9fa;color:#f8f9fa;box-shadow:120px 0 #1f2d3d,240px 0 #1f2d3d}.pace-loading-bar-light .pace .pace-activity{box-shadow:inset 0 0 0 2px #f8f9fa,inset 0 0 0 7px #1f2d3d}.pace-mac-osx-light .pace .pace-progress{background-color:#f8f9fa;box-shadow:inset -1px 0 #f8f9fa,inset 0 -1px #f8f9fa,inset 0 2px rgba(31,45,61,.5),inset 0 6px rgba(31,45,61,.3)}.pace-mac-osx-light .pace .pace-activity{background-image:radial-gradient(rgba(31,45,61,.65) 0,rgba(31,45,61,.15) 100%);height:12px}.pace-progress-color-light .pace-progress{color:#f8f9fa}.pace-dark .pace .pace-progress{background:#343a40}.pace-barber-shop-dark .pace{background:#fff}.pace-barber-shop-dark .pace .pace-progress{background:#343a40}.pace-barber-shop-dark .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-dark .pace .pace-progress::after{color:rgba(52,58,64,.2)}.pace-bounce-dark .pace .pace-activity{background:#343a40}.pace-center-atom-dark .pace-progress{height:100px;width:80px}.pace-center-atom-dark .pace-progress::before{background:#343a40;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-dark .pace-activity{border-color:#343a40}.pace-center-atom-dark .pace-activity::after,.pace-center-atom-dark .pace-activity::before{border-color:#343a40}.pace-center-circle-dark .pace .pace-progress{background:rgba(52,58,64,.8);color:#fff}.pace-center-radar-dark .pace .pace-activity{border-color:#343a40 transparent transparent}.pace-center-radar-dark .pace .pace-activity::before{border-color:#343a40 transparent transparent}.pace-center-simple-dark .pace{background:#fff;border-color:#343a40}.pace-center-simple-dark .pace .pace-progress{background:#343a40}.pace-material-dark .pace{color:#343a40}.pace-corner-indicator-dark .pace .pace-activity{background:#343a40}.pace-corner-indicator-dark .pace .pace-activity::after,.pace-corner-indicator-dark .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-dark .pace .pace-activity::before{border-right-color:rgba(52,58,64,.2);border-left-color:rgba(52,58,64,.2)}.pace-corner-indicator-dark .pace .pace-activity::after{border-top-color:rgba(52,58,64,.2);border-bottom-color:rgba(52,58,64,.2)}.pace-fill-left-dark .pace .pace-progress{background-color:rgba(52,58,64,.2)}.pace-flash-dark .pace .pace-progress{background:#343a40}.pace-flash-dark .pace .pace-progress-inner{box-shadow:0 0 10px #343a40,0 0 5px #343a40}.pace-flash-dark .pace .pace-activity{border-top-color:#343a40;border-left-color:#343a40}.pace-loading-bar-dark .pace .pace-progress{background:#343a40;color:#343a40;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-dark .pace .pace-activity{box-shadow:inset 0 0 0 2px #343a40,inset 0 0 0 7px #fff}.pace-mac-osx-dark .pace .pace-progress{background-color:#343a40;box-shadow:inset -1px 0 #343a40,inset 0 -1px #343a40,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-dark .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-dark .pace-progress{color:#343a40}.pace-lightblue .pace .pace-progress{background:#3c8dbc}.pace-barber-shop-lightblue .pace{background:#fff}.pace-barber-shop-lightblue .pace .pace-progress{background:#3c8dbc}.pace-barber-shop-lightblue .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-lightblue .pace .pace-progress::after{color:rgba(60,141,188,.2)}.pace-bounce-lightblue .pace .pace-activity{background:#3c8dbc}.pace-center-atom-lightblue .pace-progress{height:100px;width:80px}.pace-center-atom-lightblue .pace-progress::before{background:#3c8dbc;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-lightblue .pace-activity{border-color:#3c8dbc}.pace-center-atom-lightblue .pace-activity::after,.pace-center-atom-lightblue .pace-activity::before{border-color:#3c8dbc}.pace-center-circle-lightblue .pace .pace-progress{background:rgba(60,141,188,.8);color:#fff}.pace-center-radar-lightblue .pace .pace-activity{border-color:#3c8dbc transparent transparent}.pace-center-radar-lightblue .pace .pace-activity::before{border-color:#3c8dbc transparent transparent}.pace-center-simple-lightblue .pace{background:#fff;border-color:#3c8dbc}.pace-center-simple-lightblue .pace .pace-progress{background:#3c8dbc}.pace-material-lightblue .pace{color:#3c8dbc}.pace-corner-indicator-lightblue .pace .pace-activity{background:#3c8dbc}.pace-corner-indicator-lightblue .pace .pace-activity::after,.pace-corner-indicator-lightblue .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-lightblue .pace .pace-activity::before{border-right-color:rgba(60,141,188,.2);border-left-color:rgba(60,141,188,.2)}.pace-corner-indicator-lightblue .pace .pace-activity::after{border-top-color:rgba(60,141,188,.2);border-bottom-color:rgba(60,141,188,.2)}.pace-fill-left-lightblue .pace .pace-progress{background-color:rgba(60,141,188,.2)}.pace-flash-lightblue .pace .pace-progress{background:#3c8dbc}.pace-flash-lightblue .pace .pace-progress-inner{box-shadow:0 0 10px #3c8dbc,0 0 5px #3c8dbc}.pace-flash-lightblue .pace .pace-activity{border-top-color:#3c8dbc;border-left-color:#3c8dbc}.pace-loading-bar-lightblue .pace .pace-progress{background:#3c8dbc;color:#3c8dbc;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-lightblue .pace .pace-activity{box-shadow:inset 0 0 0 2px #3c8dbc,inset 0 0 0 7px #fff}.pace-mac-osx-lightblue .pace .pace-progress{background-color:#3c8dbc;box-shadow:inset -1px 0 #3c8dbc,inset 0 -1px #3c8dbc,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-lightblue .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-lightblue .pace-progress{color:#3c8dbc}.pace-navy .pace .pace-progress{background:#001f3f}.pace-barber-shop-navy .pace{background:#fff}.pace-barber-shop-navy .pace .pace-progress{background:#001f3f}.pace-barber-shop-navy .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-navy .pace .pace-progress::after{color:rgba(0,31,63,.2)}.pace-bounce-navy .pace .pace-activity{background:#001f3f}.pace-center-atom-navy .pace-progress{height:100px;width:80px}.pace-center-atom-navy .pace-progress::before{background:#001f3f;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-navy .pace-activity{border-color:#001f3f}.pace-center-atom-navy .pace-activity::after,.pace-center-atom-navy .pace-activity::before{border-color:#001f3f}.pace-center-circle-navy .pace .pace-progress{background:rgba(0,31,63,.8);color:#fff}.pace-center-radar-navy .pace .pace-activity{border-color:#001f3f transparent transparent}.pace-center-radar-navy .pace .pace-activity::before{border-color:#001f3f transparent transparent}.pace-center-simple-navy .pace{background:#fff;border-color:#001f3f}.pace-center-simple-navy .pace .pace-progress{background:#001f3f}.pace-material-navy .pace{color:#001f3f}.pace-corner-indicator-navy .pace .pace-activity{background:#001f3f}.pace-corner-indicator-navy .pace .pace-activity::after,.pace-corner-indicator-navy .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-navy .pace .pace-activity::before{border-right-color:rgba(0,31,63,.2);border-left-color:rgba(0,31,63,.2)}.pace-corner-indicator-navy .pace .pace-activity::after{border-top-color:rgba(0,31,63,.2);border-bottom-color:rgba(0,31,63,.2)}.pace-fill-left-navy .pace .pace-progress{background-color:rgba(0,31,63,.2)}.pace-flash-navy .pace .pace-progress{background:#001f3f}.pace-flash-navy .pace .pace-progress-inner{box-shadow:0 0 10px #001f3f,0 0 5px #001f3f}.pace-flash-navy .pace .pace-activity{border-top-color:#001f3f;border-left-color:#001f3f}.pace-loading-bar-navy .pace .pace-progress{background:#001f3f;color:#001f3f;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-navy .pace .pace-activity{box-shadow:inset 0 0 0 2px #001f3f,inset 0 0 0 7px #fff}.pace-mac-osx-navy .pace .pace-progress{background-color:#001f3f;box-shadow:inset -1px 0 #001f3f,inset 0 -1px #001f3f,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-navy .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-navy .pace-progress{color:#001f3f}.pace-olive .pace .pace-progress{background:#3d9970}.pace-barber-shop-olive .pace{background:#fff}.pace-barber-shop-olive .pace .pace-progress{background:#3d9970}.pace-barber-shop-olive .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-olive .pace .pace-progress::after{color:rgba(61,153,112,.2)}.pace-bounce-olive .pace .pace-activity{background:#3d9970}.pace-center-atom-olive .pace-progress{height:100px;width:80px}.pace-center-atom-olive .pace-progress::before{background:#3d9970;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-olive .pace-activity{border-color:#3d9970}.pace-center-atom-olive .pace-activity::after,.pace-center-atom-olive .pace-activity::before{border-color:#3d9970}.pace-center-circle-olive .pace .pace-progress{background:rgba(61,153,112,.8);color:#fff}.pace-center-radar-olive .pace .pace-activity{border-color:#3d9970 transparent transparent}.pace-center-radar-olive .pace .pace-activity::before{border-color:#3d9970 transparent transparent}.pace-center-simple-olive .pace{background:#fff;border-color:#3d9970}.pace-center-simple-olive .pace .pace-progress{background:#3d9970}.pace-material-olive .pace{color:#3d9970}.pace-corner-indicator-olive .pace .pace-activity{background:#3d9970}.pace-corner-indicator-olive .pace .pace-activity::after,.pace-corner-indicator-olive .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-olive .pace .pace-activity::before{border-right-color:rgba(61,153,112,.2);border-left-color:rgba(61,153,112,.2)}.pace-corner-indicator-olive .pace .pace-activity::after{border-top-color:rgba(61,153,112,.2);border-bottom-color:rgba(61,153,112,.2)}.pace-fill-left-olive .pace .pace-progress{background-color:rgba(61,153,112,.2)}.pace-flash-olive .pace .pace-progress{background:#3d9970}.pace-flash-olive .pace .pace-progress-inner{box-shadow:0 0 10px #3d9970,0 0 5px #3d9970}.pace-flash-olive .pace .pace-activity{border-top-color:#3d9970;border-left-color:#3d9970}.pace-loading-bar-olive .pace .pace-progress{background:#3d9970;color:#3d9970;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-olive .pace .pace-activity{box-shadow:inset 0 0 0 2px #3d9970,inset 0 0 0 7px #fff}.pace-mac-osx-olive .pace .pace-progress{background-color:#3d9970;box-shadow:inset -1px 0 #3d9970,inset 0 -1px #3d9970,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-olive .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-olive .pace-progress{color:#3d9970}.pace-lime .pace .pace-progress{background:#01ff70}.pace-barber-shop-lime .pace{background:#1f2d3d}.pace-barber-shop-lime .pace .pace-progress{background:#01ff70}.pace-barber-shop-lime .pace .pace-activity{background-image:linear-gradient(45deg,rgba(31,45,61,.2) 25%,transparent 25%,transparent 50%,rgba(31,45,61,.2) 50%,rgba(31,45,61,.2) 75%,transparent 75%,transparent)}.pace-big-counter-lime .pace .pace-progress::after{color:rgba(1,255,112,.2)}.pace-bounce-lime .pace .pace-activity{background:#01ff70}.pace-center-atom-lime .pace-progress{height:100px;width:80px}.pace-center-atom-lime .pace-progress::before{background:#01ff70;color:#1f2d3d;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-lime .pace-activity{border-color:#01ff70}.pace-center-atom-lime .pace-activity::after,.pace-center-atom-lime .pace-activity::before{border-color:#01ff70}.pace-center-circle-lime .pace .pace-progress{background:rgba(1,255,112,.8);color:#1f2d3d}.pace-center-radar-lime .pace .pace-activity{border-color:#01ff70 transparent transparent}.pace-center-radar-lime .pace .pace-activity::before{border-color:#01ff70 transparent transparent}.pace-center-simple-lime .pace{background:#1f2d3d;border-color:#01ff70}.pace-center-simple-lime .pace .pace-progress{background:#01ff70}.pace-material-lime .pace{color:#01ff70}.pace-corner-indicator-lime .pace .pace-activity{background:#01ff70}.pace-corner-indicator-lime .pace .pace-activity::after,.pace-corner-indicator-lime .pace .pace-activity::before{border:5px solid #1f2d3d}.pace-corner-indicator-lime .pace .pace-activity::before{border-right-color:rgba(1,255,112,.2);border-left-color:rgba(1,255,112,.2)}.pace-corner-indicator-lime .pace .pace-activity::after{border-top-color:rgba(1,255,112,.2);border-bottom-color:rgba(1,255,112,.2)}.pace-fill-left-lime .pace .pace-progress{background-color:rgba(1,255,112,.2)}.pace-flash-lime .pace .pace-progress{background:#01ff70}.pace-flash-lime .pace .pace-progress-inner{box-shadow:0 0 10px #01ff70,0 0 5px #01ff70}.pace-flash-lime .pace .pace-activity{border-top-color:#01ff70;border-left-color:#01ff70}.pace-loading-bar-lime .pace .pace-progress{background:#01ff70;color:#01ff70;box-shadow:120px 0 #1f2d3d,240px 0 #1f2d3d}.pace-loading-bar-lime .pace .pace-activity{box-shadow:inset 0 0 0 2px #01ff70,inset 0 0 0 7px #1f2d3d}.pace-mac-osx-lime .pace .pace-progress{background-color:#01ff70;box-shadow:inset -1px 0 #01ff70,inset 0 -1px #01ff70,inset 0 2px rgba(31,45,61,.5),inset 0 6px rgba(31,45,61,.3)}.pace-mac-osx-lime .pace .pace-activity{background-image:radial-gradient(rgba(31,45,61,.65) 0,rgba(31,45,61,.15) 100%);height:12px}.pace-progress-color-lime .pace-progress{color:#01ff70}.pace-fuchsia .pace .pace-progress{background:#f012be}.pace-barber-shop-fuchsia .pace{background:#fff}.pace-barber-shop-fuchsia .pace .pace-progress{background:#f012be}.pace-barber-shop-fuchsia .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-fuchsia .pace .pace-progress::after{color:rgba(240,18,190,.2)}.pace-bounce-fuchsia .pace .pace-activity{background:#f012be}.pace-center-atom-fuchsia .pace-progress{height:100px;width:80px}.pace-center-atom-fuchsia .pace-progress::before{background:#f012be;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-fuchsia .pace-activity{border-color:#f012be}.pace-center-atom-fuchsia .pace-activity::after,.pace-center-atom-fuchsia .pace-activity::before{border-color:#f012be}.pace-center-circle-fuchsia .pace .pace-progress{background:rgba(240,18,190,.8);color:#fff}.pace-center-radar-fuchsia .pace .pace-activity{border-color:#f012be transparent transparent}.pace-center-radar-fuchsia .pace .pace-activity::before{border-color:#f012be transparent transparent}.pace-center-simple-fuchsia .pace{background:#fff;border-color:#f012be}.pace-center-simple-fuchsia .pace .pace-progress{background:#f012be}.pace-material-fuchsia .pace{color:#f012be}.pace-corner-indicator-fuchsia .pace .pace-activity{background:#f012be}.pace-corner-indicator-fuchsia .pace .pace-activity::after,.pace-corner-indicator-fuchsia .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-fuchsia .pace .pace-activity::before{border-right-color:rgba(240,18,190,.2);border-left-color:rgba(240,18,190,.2)}.pace-corner-indicator-fuchsia .pace .pace-activity::after{border-top-color:rgba(240,18,190,.2);border-bottom-color:rgba(240,18,190,.2)}.pace-fill-left-fuchsia .pace .pace-progress{background-color:rgba(240,18,190,.2)}.pace-flash-fuchsia .pace .pace-progress{background:#f012be}.pace-flash-fuchsia .pace .pace-progress-inner{box-shadow:0 0 10px #f012be,0 0 5px #f012be}.pace-flash-fuchsia .pace .pace-activity{border-top-color:#f012be;border-left-color:#f012be}.pace-loading-bar-fuchsia .pace .pace-progress{background:#f012be;color:#f012be;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-fuchsia .pace .pace-activity{box-shadow:inset 0 0 0 2px #f012be,inset 0 0 0 7px #fff}.pace-mac-osx-fuchsia .pace .pace-progress{background-color:#f012be;box-shadow:inset -1px 0 #f012be,inset 0 -1px #f012be,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-fuchsia .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-fuchsia .pace-progress{color:#f012be}.pace-maroon .pace .pace-progress{background:#d81b60}.pace-barber-shop-maroon .pace{background:#fff}.pace-barber-shop-maroon .pace .pace-progress{background:#d81b60}.pace-barber-shop-maroon .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-maroon .pace .pace-progress::after{color:rgba(216,27,96,.2)}.pace-bounce-maroon .pace .pace-activity{background:#d81b60}.pace-center-atom-maroon .pace-progress{height:100px;width:80px}.pace-center-atom-maroon .pace-progress::before{background:#d81b60;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-maroon .pace-activity{border-color:#d81b60}.pace-center-atom-maroon .pace-activity::after,.pace-center-atom-maroon .pace-activity::before{border-color:#d81b60}.pace-center-circle-maroon .pace .pace-progress{background:rgba(216,27,96,.8);color:#fff}.pace-center-radar-maroon .pace .pace-activity{border-color:#d81b60 transparent transparent}.pace-center-radar-maroon .pace .pace-activity::before{border-color:#d81b60 transparent transparent}.pace-center-simple-maroon .pace{background:#fff;border-color:#d81b60}.pace-center-simple-maroon .pace .pace-progress{background:#d81b60}.pace-material-maroon .pace{color:#d81b60}.pace-corner-indicator-maroon .pace .pace-activity{background:#d81b60}.pace-corner-indicator-maroon .pace .pace-activity::after,.pace-corner-indicator-maroon .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-maroon .pace .pace-activity::before{border-right-color:rgba(216,27,96,.2);border-left-color:rgba(216,27,96,.2)}.pace-corner-indicator-maroon .pace .pace-activity::after{border-top-color:rgba(216,27,96,.2);border-bottom-color:rgba(216,27,96,.2)}.pace-fill-left-maroon .pace .pace-progress{background-color:rgba(216,27,96,.2)}.pace-flash-maroon .pace .pace-progress{background:#d81b60}.pace-flash-maroon .pace .pace-progress-inner{box-shadow:0 0 10px #d81b60,0 0 5px #d81b60}.pace-flash-maroon .pace .pace-activity{border-top-color:#d81b60;border-left-color:#d81b60}.pace-loading-bar-maroon .pace .pace-progress{background:#d81b60;color:#d81b60;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-maroon .pace .pace-activity{box-shadow:inset 0 0 0 2px #d81b60,inset 0 0 0 7px #fff}.pace-mac-osx-maroon .pace .pace-progress{background-color:#d81b60;box-shadow:inset -1px 0 #d81b60,inset 0 -1px #d81b60,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-maroon .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-maroon .pace-progress{color:#d81b60}.pace-blue .pace .pace-progress{background:#007bff}.pace-barber-shop-blue .pace{background:#fff}.pace-barber-shop-blue .pace .pace-progress{background:#007bff}.pace-barber-shop-blue .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-blue .pace .pace-progress::after{color:rgba(0,123,255,.2)}.pace-bounce-blue .pace .pace-activity{background:#007bff}.pace-center-atom-blue .pace-progress{height:100px;width:80px}.pace-center-atom-blue .pace-progress::before{background:#007bff;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-blue .pace-activity{border-color:#007bff}.pace-center-atom-blue .pace-activity::after,.pace-center-atom-blue .pace-activity::before{border-color:#007bff}.pace-center-circle-blue .pace .pace-progress{background:rgba(0,123,255,.8);color:#fff}.pace-center-radar-blue .pace .pace-activity{border-color:#007bff transparent transparent}.pace-center-radar-blue .pace .pace-activity::before{border-color:#007bff transparent transparent}.pace-center-simple-blue .pace{background:#fff;border-color:#007bff}.pace-center-simple-blue .pace .pace-progress{background:#007bff}.pace-material-blue .pace{color:#007bff}.pace-corner-indicator-blue .pace .pace-activity{background:#007bff}.pace-corner-indicator-blue .pace .pace-activity::after,.pace-corner-indicator-blue .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-blue .pace .pace-activity::before{border-right-color:rgba(0,123,255,.2);border-left-color:rgba(0,123,255,.2)}.pace-corner-indicator-blue .pace .pace-activity::after{border-top-color:rgba(0,123,255,.2);border-bottom-color:rgba(0,123,255,.2)}.pace-fill-left-blue .pace .pace-progress{background-color:rgba(0,123,255,.2)}.pace-flash-blue .pace .pace-progress{background:#007bff}.pace-flash-blue .pace .pace-progress-inner{box-shadow:0 0 10px #007bff,0 0 5px #007bff}.pace-flash-blue .pace .pace-activity{border-top-color:#007bff;border-left-color:#007bff}.pace-loading-bar-blue .pace .pace-progress{background:#007bff;color:#007bff;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-blue .pace .pace-activity{box-shadow:inset 0 0 0 2px #007bff,inset 0 0 0 7px #fff}.pace-mac-osx-blue .pace .pace-progress{background-color:#007bff;box-shadow:inset -1px 0 #007bff,inset 0 -1px #007bff,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-blue .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-blue .pace-progress{color:#007bff}.pace-indigo .pace .pace-progress{background:#6610f2}.pace-barber-shop-indigo .pace{background:#fff}.pace-barber-shop-indigo .pace .pace-progress{background:#6610f2}.pace-barber-shop-indigo .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-indigo .pace .pace-progress::after{color:rgba(102,16,242,.2)}.pace-bounce-indigo .pace .pace-activity{background:#6610f2}.pace-center-atom-indigo .pace-progress{height:100px;width:80px}.pace-center-atom-indigo .pace-progress::before{background:#6610f2;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-indigo .pace-activity{border-color:#6610f2}.pace-center-atom-indigo .pace-activity::after,.pace-center-atom-indigo .pace-activity::before{border-color:#6610f2}.pace-center-circle-indigo .pace .pace-progress{background:rgba(102,16,242,.8);color:#fff}.pace-center-radar-indigo .pace .pace-activity{border-color:#6610f2 transparent transparent}.pace-center-radar-indigo .pace .pace-activity::before{border-color:#6610f2 transparent transparent}.pace-center-simple-indigo .pace{background:#fff;border-color:#6610f2}.pace-center-simple-indigo .pace .pace-progress{background:#6610f2}.pace-material-indigo .pace{color:#6610f2}.pace-corner-indicator-indigo .pace .pace-activity{background:#6610f2}.pace-corner-indicator-indigo .pace .pace-activity::after,.pace-corner-indicator-indigo .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-indigo .pace .pace-activity::before{border-right-color:rgba(102,16,242,.2);border-left-color:rgba(102,16,242,.2)}.pace-corner-indicator-indigo .pace .pace-activity::after{border-top-color:rgba(102,16,242,.2);border-bottom-color:rgba(102,16,242,.2)}.pace-fill-left-indigo .pace .pace-progress{background-color:rgba(102,16,242,.2)}.pace-flash-indigo .pace .pace-progress{background:#6610f2}.pace-flash-indigo .pace .pace-progress-inner{box-shadow:0 0 10px #6610f2,0 0 5px #6610f2}.pace-flash-indigo .pace .pace-activity{border-top-color:#6610f2;border-left-color:#6610f2}.pace-loading-bar-indigo .pace .pace-progress{background:#6610f2;color:#6610f2;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-indigo .pace .pace-activity{box-shadow:inset 0 0 0 2px #6610f2,inset 0 0 0 7px #fff}.pace-mac-osx-indigo .pace .pace-progress{background-color:#6610f2;box-shadow:inset -1px 0 #6610f2,inset 0 -1px #6610f2,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-indigo .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-indigo .pace-progress{color:#6610f2}.pace-purple .pace .pace-progress{background:#6f42c1}.pace-barber-shop-purple .pace{background:#fff}.pace-barber-shop-purple .pace .pace-progress{background:#6f42c1}.pace-barber-shop-purple .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-purple .pace .pace-progress::after{color:rgba(111,66,193,.2)}.pace-bounce-purple .pace .pace-activity{background:#6f42c1}.pace-center-atom-purple .pace-progress{height:100px;width:80px}.pace-center-atom-purple .pace-progress::before{background:#6f42c1;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-purple .pace-activity{border-color:#6f42c1}.pace-center-atom-purple .pace-activity::after,.pace-center-atom-purple .pace-activity::before{border-color:#6f42c1}.pace-center-circle-purple .pace .pace-progress{background:rgba(111,66,193,.8);color:#fff}.pace-center-radar-purple .pace .pace-activity{border-color:#6f42c1 transparent transparent}.pace-center-radar-purple .pace .pace-activity::before{border-color:#6f42c1 transparent transparent}.pace-center-simple-purple .pace{background:#fff;border-color:#6f42c1}.pace-center-simple-purple .pace .pace-progress{background:#6f42c1}.pace-material-purple .pace{color:#6f42c1}.pace-corner-indicator-purple .pace .pace-activity{background:#6f42c1}.pace-corner-indicator-purple .pace .pace-activity::after,.pace-corner-indicator-purple .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-purple .pace .pace-activity::before{border-right-color:rgba(111,66,193,.2);border-left-color:rgba(111,66,193,.2)}.pace-corner-indicator-purple .pace .pace-activity::after{border-top-color:rgba(111,66,193,.2);border-bottom-color:rgba(111,66,193,.2)}.pace-fill-left-purple .pace .pace-progress{background-color:rgba(111,66,193,.2)}.pace-flash-purple .pace .pace-progress{background:#6f42c1}.pace-flash-purple .pace .pace-progress-inner{box-shadow:0 0 10px #6f42c1,0 0 5px #6f42c1}.pace-flash-purple .pace .pace-activity{border-top-color:#6f42c1;border-left-color:#6f42c1}.pace-loading-bar-purple .pace .pace-progress{background:#6f42c1;color:#6f42c1;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-purple .pace .pace-activity{box-shadow:inset 0 0 0 2px #6f42c1,inset 0 0 0 7px #fff}.pace-mac-osx-purple .pace .pace-progress{background-color:#6f42c1;box-shadow:inset -1px 0 #6f42c1,inset 0 -1px #6f42c1,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-purple .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-purple .pace-progress{color:#6f42c1}.pace-pink .pace .pace-progress{background:#e83e8c}.pace-barber-shop-pink .pace{background:#fff}.pace-barber-shop-pink .pace .pace-progress{background:#e83e8c}.pace-barber-shop-pink .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-pink .pace .pace-progress::after{color:rgba(232,62,140,.2)}.pace-bounce-pink .pace .pace-activity{background:#e83e8c}.pace-center-atom-pink .pace-progress{height:100px;width:80px}.pace-center-atom-pink .pace-progress::before{background:#e83e8c;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-pink .pace-activity{border-color:#e83e8c}.pace-center-atom-pink .pace-activity::after,.pace-center-atom-pink .pace-activity::before{border-color:#e83e8c}.pace-center-circle-pink .pace .pace-progress{background:rgba(232,62,140,.8);color:#fff}.pace-center-radar-pink .pace .pace-activity{border-color:#e83e8c transparent transparent}.pace-center-radar-pink .pace .pace-activity::before{border-color:#e83e8c transparent transparent}.pace-center-simple-pink .pace{background:#fff;border-color:#e83e8c}.pace-center-simple-pink .pace .pace-progress{background:#e83e8c}.pace-material-pink .pace{color:#e83e8c}.pace-corner-indicator-pink .pace .pace-activity{background:#e83e8c}.pace-corner-indicator-pink .pace .pace-activity::after,.pace-corner-indicator-pink .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-pink .pace .pace-activity::before{border-right-color:rgba(232,62,140,.2);border-left-color:rgba(232,62,140,.2)}.pace-corner-indicator-pink .pace .pace-activity::after{border-top-color:rgba(232,62,140,.2);border-bottom-color:rgba(232,62,140,.2)}.pace-fill-left-pink .pace .pace-progress{background-color:rgba(232,62,140,.2)}.pace-flash-pink .pace .pace-progress{background:#e83e8c}.pace-flash-pink .pace .pace-progress-inner{box-shadow:0 0 10px #e83e8c,0 0 5px #e83e8c}.pace-flash-pink .pace .pace-activity{border-top-color:#e83e8c;border-left-color:#e83e8c}.pace-loading-bar-pink .pace .pace-progress{background:#e83e8c;color:#e83e8c;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-pink .pace .pace-activity{box-shadow:inset 0 0 0 2px #e83e8c,inset 0 0 0 7px #fff}.pace-mac-osx-pink .pace .pace-progress{background-color:#e83e8c;box-shadow:inset -1px 0 #e83e8c,inset 0 -1px #e83e8c,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-pink .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-pink .pace-progress{color:#e83e8c}.pace-red .pace .pace-progress{background:#dc3545}.pace-barber-shop-red .pace{background:#fff}.pace-barber-shop-red .pace .pace-progress{background:#dc3545}.pace-barber-shop-red .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-red .pace .pace-progress::after{color:rgba(220,53,69,.2)}.pace-bounce-red .pace .pace-activity{background:#dc3545}.pace-center-atom-red .pace-progress{height:100px;width:80px}.pace-center-atom-red .pace-progress::before{background:#dc3545;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-red .pace-activity{border-color:#dc3545}.pace-center-atom-red .pace-activity::after,.pace-center-atom-red .pace-activity::before{border-color:#dc3545}.pace-center-circle-red .pace .pace-progress{background:rgba(220,53,69,.8);color:#fff}.pace-center-radar-red .pace .pace-activity{border-color:#dc3545 transparent transparent}.pace-center-radar-red .pace .pace-activity::before{border-color:#dc3545 transparent transparent}.pace-center-simple-red .pace{background:#fff;border-color:#dc3545}.pace-center-simple-red .pace .pace-progress{background:#dc3545}.pace-material-red .pace{color:#dc3545}.pace-corner-indicator-red .pace .pace-activity{background:#dc3545}.pace-corner-indicator-red .pace .pace-activity::after,.pace-corner-indicator-red .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-red .pace .pace-activity::before{border-right-color:rgba(220,53,69,.2);border-left-color:rgba(220,53,69,.2)}.pace-corner-indicator-red .pace .pace-activity::after{border-top-color:rgba(220,53,69,.2);border-bottom-color:rgba(220,53,69,.2)}.pace-fill-left-red .pace .pace-progress{background-color:rgba(220,53,69,.2)}.pace-flash-red .pace .pace-progress{background:#dc3545}.pace-flash-red .pace .pace-progress-inner{box-shadow:0 0 10px #dc3545,0 0 5px #dc3545}.pace-flash-red .pace .pace-activity{border-top-color:#dc3545;border-left-color:#dc3545}.pace-loading-bar-red .pace .pace-progress{background:#dc3545;color:#dc3545;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-red .pace .pace-activity{box-shadow:inset 0 0 0 2px #dc3545,inset 0 0 0 7px #fff}.pace-mac-osx-red .pace .pace-progress{background-color:#dc3545;box-shadow:inset -1px 0 #dc3545,inset 0 -1px #dc3545,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-red .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-red .pace-progress{color:#dc3545}.pace-orange .pace .pace-progress{background:#fd7e14}.pace-barber-shop-orange .pace{background:#1f2d3d}.pace-barber-shop-orange .pace .pace-progress{background:#fd7e14}.pace-barber-shop-orange .pace .pace-activity{background-image:linear-gradient(45deg,rgba(31,45,61,.2) 25%,transparent 25%,transparent 50%,rgba(31,45,61,.2) 50%,rgba(31,45,61,.2) 75%,transparent 75%,transparent)}.pace-big-counter-orange .pace .pace-progress::after{color:rgba(253,126,20,.2)}.pace-bounce-orange .pace .pace-activity{background:#fd7e14}.pace-center-atom-orange .pace-progress{height:100px;width:80px}.pace-center-atom-orange .pace-progress::before{background:#fd7e14;color:#1f2d3d;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-orange .pace-activity{border-color:#fd7e14}.pace-center-atom-orange .pace-activity::after,.pace-center-atom-orange .pace-activity::before{border-color:#fd7e14}.pace-center-circle-orange .pace .pace-progress{background:rgba(253,126,20,.8);color:#1f2d3d}.pace-center-radar-orange .pace .pace-activity{border-color:#fd7e14 transparent transparent}.pace-center-radar-orange .pace .pace-activity::before{border-color:#fd7e14 transparent transparent}.pace-center-simple-orange .pace{background:#1f2d3d;border-color:#fd7e14}.pace-center-simple-orange .pace .pace-progress{background:#fd7e14}.pace-material-orange .pace{color:#fd7e14}.pace-corner-indicator-orange .pace .pace-activity{background:#fd7e14}.pace-corner-indicator-orange .pace .pace-activity::after,.pace-corner-indicator-orange .pace .pace-activity::before{border:5px solid #1f2d3d}.pace-corner-indicator-orange .pace .pace-activity::before{border-right-color:rgba(253,126,20,.2);border-left-color:rgba(253,126,20,.2)}.pace-corner-indicator-orange .pace .pace-activity::after{border-top-color:rgba(253,126,20,.2);border-bottom-color:rgba(253,126,20,.2)}.pace-fill-left-orange .pace .pace-progress{background-color:rgba(253,126,20,.2)}.pace-flash-orange .pace .pace-progress{background:#fd7e14}.pace-flash-orange .pace .pace-progress-inner{box-shadow:0 0 10px #fd7e14,0 0 5px #fd7e14}.pace-flash-orange .pace .pace-activity{border-top-color:#fd7e14;border-left-color:#fd7e14}.pace-loading-bar-orange .pace .pace-progress{background:#fd7e14;color:#fd7e14;box-shadow:120px 0 #1f2d3d,240px 0 #1f2d3d}.pace-loading-bar-orange .pace .pace-activity{box-shadow:inset 0 0 0 2px #fd7e14,inset 0 0 0 7px #1f2d3d}.pace-mac-osx-orange .pace .pace-progress{background-color:#fd7e14;box-shadow:inset -1px 0 #fd7e14,inset 0 -1px #fd7e14,inset 0 2px rgba(31,45,61,.5),inset 0 6px rgba(31,45,61,.3)}.pace-mac-osx-orange .pace .pace-activity{background-image:radial-gradient(rgba(31,45,61,.65) 0,rgba(31,45,61,.15) 100%);height:12px}.pace-progress-color-orange .pace-progress{color:#fd7e14}.pace-yellow .pace .pace-progress{background:#ffc107}.pace-barber-shop-yellow .pace{background:#1f2d3d}.pace-barber-shop-yellow .pace .pace-progress{background:#ffc107}.pace-barber-shop-yellow .pace .pace-activity{background-image:linear-gradient(45deg,rgba(31,45,61,.2) 25%,transparent 25%,transparent 50%,rgba(31,45,61,.2) 50%,rgba(31,45,61,.2) 75%,transparent 75%,transparent)}.pace-big-counter-yellow .pace .pace-progress::after{color:rgba(255,193,7,.2)}.pace-bounce-yellow .pace .pace-activity{background:#ffc107}.pace-center-atom-yellow .pace-progress{height:100px;width:80px}.pace-center-atom-yellow .pace-progress::before{background:#ffc107;color:#1f2d3d;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-yellow .pace-activity{border-color:#ffc107}.pace-center-atom-yellow .pace-activity::after,.pace-center-atom-yellow .pace-activity::before{border-color:#ffc107}.pace-center-circle-yellow .pace .pace-progress{background:rgba(255,193,7,.8);color:#1f2d3d}.pace-center-radar-yellow .pace .pace-activity{border-color:#ffc107 transparent transparent}.pace-center-radar-yellow .pace .pace-activity::before{border-color:#ffc107 transparent transparent}.pace-center-simple-yellow .pace{background:#1f2d3d;border-color:#ffc107}.pace-center-simple-yellow .pace .pace-progress{background:#ffc107}.pace-material-yellow .pace{color:#ffc107}.pace-corner-indicator-yellow .pace .pace-activity{background:#ffc107}.pace-corner-indicator-yellow .pace .pace-activity::after,.pace-corner-indicator-yellow .pace .pace-activity::before{border:5px solid #1f2d3d}.pace-corner-indicator-yellow .pace .pace-activity::before{border-right-color:rgba(255,193,7,.2);border-left-color:rgba(255,193,7,.2)}.pace-corner-indicator-yellow .pace .pace-activity::after{border-top-color:rgba(255,193,7,.2);border-bottom-color:rgba(255,193,7,.2)}.pace-fill-left-yellow .pace .pace-progress{background-color:rgba(255,193,7,.2)}.pace-flash-yellow .pace .pace-progress{background:#ffc107}.pace-flash-yellow .pace .pace-progress-inner{box-shadow:0 0 10px #ffc107,0 0 5px #ffc107}.pace-flash-yellow .pace .pace-activity{border-top-color:#ffc107;border-left-color:#ffc107}.pace-loading-bar-yellow .pace .pace-progress{background:#ffc107;color:#ffc107;box-shadow:120px 0 #1f2d3d,240px 0 #1f2d3d}.pace-loading-bar-yellow .pace .pace-activity{box-shadow:inset 0 0 0 2px #ffc107,inset 0 0 0 7px #1f2d3d}.pace-mac-osx-yellow .pace .pace-progress{background-color:#ffc107;box-shadow:inset -1px 0 #ffc107,inset 0 -1px #ffc107,inset 0 2px rgba(31,45,61,.5),inset 0 6px rgba(31,45,61,.3)}.pace-mac-osx-yellow .pace .pace-activity{background-image:radial-gradient(rgba(31,45,61,.65) 0,rgba(31,45,61,.15) 100%);height:12px}.pace-progress-color-yellow .pace-progress{color:#ffc107}.pace-green .pace .pace-progress{background:#28a745}.pace-barber-shop-green .pace{background:#fff}.pace-barber-shop-green .pace .pace-progress{background:#28a745}.pace-barber-shop-green .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-green .pace .pace-progress::after{color:rgba(40,167,69,.2)}.pace-bounce-green .pace .pace-activity{background:#28a745}.pace-center-atom-green .pace-progress{height:100px;width:80px}.pace-center-atom-green .pace-progress::before{background:#28a745;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-green .pace-activity{border-color:#28a745}.pace-center-atom-green .pace-activity::after,.pace-center-atom-green .pace-activity::before{border-color:#28a745}.pace-center-circle-green .pace .pace-progress{background:rgba(40,167,69,.8);color:#fff}.pace-center-radar-green .pace .pace-activity{border-color:#28a745 transparent transparent}.pace-center-radar-green .pace .pace-activity::before{border-color:#28a745 transparent transparent}.pace-center-simple-green .pace{background:#fff;border-color:#28a745}.pace-center-simple-green .pace .pace-progress{background:#28a745}.pace-material-green .pace{color:#28a745}.pace-corner-indicator-green .pace .pace-activity{background:#28a745}.pace-corner-indicator-green .pace .pace-activity::after,.pace-corner-indicator-green .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-green .pace .pace-activity::before{border-right-color:rgba(40,167,69,.2);border-left-color:rgba(40,167,69,.2)}.pace-corner-indicator-green .pace .pace-activity::after{border-top-color:rgba(40,167,69,.2);border-bottom-color:rgba(40,167,69,.2)}.pace-fill-left-green .pace .pace-progress{background-color:rgba(40,167,69,.2)}.pace-flash-green .pace .pace-progress{background:#28a745}.pace-flash-green .pace .pace-progress-inner{box-shadow:0 0 10px #28a745,0 0 5px #28a745}.pace-flash-green .pace .pace-activity{border-top-color:#28a745;border-left-color:#28a745}.pace-loading-bar-green .pace .pace-progress{background:#28a745;color:#28a745;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-green .pace .pace-activity{box-shadow:inset 0 0 0 2px #28a745,inset 0 0 0 7px #fff}.pace-mac-osx-green .pace .pace-progress{background-color:#28a745;box-shadow:inset -1px 0 #28a745,inset 0 -1px #28a745,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-green .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-green .pace-progress{color:#28a745}.pace-teal .pace .pace-progress{background:#20c997}.pace-barber-shop-teal .pace{background:#fff}.pace-barber-shop-teal .pace .pace-progress{background:#20c997}.pace-barber-shop-teal .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-teal .pace .pace-progress::after{color:rgba(32,201,151,.2)}.pace-bounce-teal .pace .pace-activity{background:#20c997}.pace-center-atom-teal .pace-progress{height:100px;width:80px}.pace-center-atom-teal .pace-progress::before{background:#20c997;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-teal .pace-activity{border-color:#20c997}.pace-center-atom-teal .pace-activity::after,.pace-center-atom-teal .pace-activity::before{border-color:#20c997}.pace-center-circle-teal .pace .pace-progress{background:rgba(32,201,151,.8);color:#fff}.pace-center-radar-teal .pace .pace-activity{border-color:#20c997 transparent transparent}.pace-center-radar-teal .pace .pace-activity::before{border-color:#20c997 transparent transparent}.pace-center-simple-teal .pace{background:#fff;border-color:#20c997}.pace-center-simple-teal .pace .pace-progress{background:#20c997}.pace-material-teal .pace{color:#20c997}.pace-corner-indicator-teal .pace .pace-activity{background:#20c997}.pace-corner-indicator-teal .pace .pace-activity::after,.pace-corner-indicator-teal .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-teal .pace .pace-activity::before{border-right-color:rgba(32,201,151,.2);border-left-color:rgba(32,201,151,.2)}.pace-corner-indicator-teal .pace .pace-activity::after{border-top-color:rgba(32,201,151,.2);border-bottom-color:rgba(32,201,151,.2)}.pace-fill-left-teal .pace .pace-progress{background-color:rgba(32,201,151,.2)}.pace-flash-teal .pace .pace-progress{background:#20c997}.pace-flash-teal .pace .pace-progress-inner{box-shadow:0 0 10px #20c997,0 0 5px #20c997}.pace-flash-teal .pace .pace-activity{border-top-color:#20c997;border-left-color:#20c997}.pace-loading-bar-teal .pace .pace-progress{background:#20c997;color:#20c997;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-teal .pace .pace-activity{box-shadow:inset 0 0 0 2px #20c997,inset 0 0 0 7px #fff}.pace-mac-osx-teal .pace .pace-progress{background-color:#20c997;box-shadow:inset -1px 0 #20c997,inset 0 -1px #20c997,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-teal .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-teal .pace-progress{color:#20c997}.pace-cyan .pace .pace-progress{background:#17a2b8}.pace-barber-shop-cyan .pace{background:#fff}.pace-barber-shop-cyan .pace .pace-progress{background:#17a2b8}.pace-barber-shop-cyan .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-cyan .pace .pace-progress::after{color:rgba(23,162,184,.2)}.pace-bounce-cyan .pace .pace-activity{background:#17a2b8}.pace-center-atom-cyan .pace-progress{height:100px;width:80px}.pace-center-atom-cyan .pace-progress::before{background:#17a2b8;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-cyan .pace-activity{border-color:#17a2b8}.pace-center-atom-cyan .pace-activity::after,.pace-center-atom-cyan .pace-activity::before{border-color:#17a2b8}.pace-center-circle-cyan .pace .pace-progress{background:rgba(23,162,184,.8);color:#fff}.pace-center-radar-cyan .pace .pace-activity{border-color:#17a2b8 transparent transparent}.pace-center-radar-cyan .pace .pace-activity::before{border-color:#17a2b8 transparent transparent}.pace-center-simple-cyan .pace{background:#fff;border-color:#17a2b8}.pace-center-simple-cyan .pace .pace-progress{background:#17a2b8}.pace-material-cyan .pace{color:#17a2b8}.pace-corner-indicator-cyan .pace .pace-activity{background:#17a2b8}.pace-corner-indicator-cyan .pace .pace-activity::after,.pace-corner-indicator-cyan .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-cyan .pace .pace-activity::before{border-right-color:rgba(23,162,184,.2);border-left-color:rgba(23,162,184,.2)}.pace-corner-indicator-cyan .pace .pace-activity::after{border-top-color:rgba(23,162,184,.2);border-bottom-color:rgba(23,162,184,.2)}.pace-fill-left-cyan .pace .pace-progress{background-color:rgba(23,162,184,.2)}.pace-flash-cyan .pace .pace-progress{background:#17a2b8}.pace-flash-cyan .pace .pace-progress-inner{box-shadow:0 0 10px #17a2b8,0 0 5px #17a2b8}.pace-flash-cyan .pace .pace-activity{border-top-color:#17a2b8;border-left-color:#17a2b8}.pace-loading-bar-cyan .pace .pace-progress{background:#17a2b8;color:#17a2b8;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-cyan .pace .pace-activity{box-shadow:inset 0 0 0 2px #17a2b8,inset 0 0 0 7px #fff}.pace-mac-osx-cyan .pace .pace-progress{background-color:#17a2b8;box-shadow:inset -1px 0 #17a2b8,inset 0 -1px #17a2b8,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-cyan .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-cyan .pace-progress{color:#17a2b8}.pace-white .pace .pace-progress{background:#fff}.pace-barber-shop-white .pace{background:#1f2d3d}.pace-barber-shop-white .pace .pace-progress{background:#fff}.pace-barber-shop-white .pace .pace-activity{background-image:linear-gradient(45deg,rgba(31,45,61,.2) 25%,transparent 25%,transparent 50%,rgba(31,45,61,.2) 50%,rgba(31,45,61,.2) 75%,transparent 75%,transparent)}.pace-big-counter-white .pace .pace-progress::after{color:rgba(255,255,255,.2)}.pace-bounce-white .pace .pace-activity{background:#fff}.pace-center-atom-white .pace-progress{height:100px;width:80px}.pace-center-atom-white .pace-progress::before{background:#fff;color:#1f2d3d;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-white .pace-activity{border-color:#fff}.pace-center-atom-white .pace-activity::after,.pace-center-atom-white .pace-activity::before{border-color:#fff}.pace-center-circle-white .pace .pace-progress{background:rgba(255,255,255,.8);color:#1f2d3d}.pace-center-radar-white .pace .pace-activity{border-color:#fff transparent transparent}.pace-center-radar-white .pace .pace-activity::before{border-color:#fff transparent transparent}.pace-center-simple-white .pace{background:#1f2d3d;border-color:#fff}.pace-center-simple-white .pace .pace-progress{background:#fff}.pace-material-white .pace{color:#fff}.pace-corner-indicator-white .pace .pace-activity{background:#fff}.pace-corner-indicator-white .pace .pace-activity::after,.pace-corner-indicator-white .pace .pace-activity::before{border:5px solid #1f2d3d}.pace-corner-indicator-white .pace .pace-activity::before{border-right-color:rgba(255,255,255,.2);border-left-color:rgba(255,255,255,.2)}.pace-corner-indicator-white .pace .pace-activity::after{border-top-color:rgba(255,255,255,.2);border-bottom-color:rgba(255,255,255,.2)}.pace-fill-left-white .pace .pace-progress{background-color:rgba(255,255,255,.2)}.pace-flash-white .pace .pace-progress{background:#fff}.pace-flash-white .pace .pace-progress-inner{box-shadow:0 0 10px #fff,0 0 5px #fff}.pace-flash-white .pace .pace-activity{border-top-color:#fff;border-left-color:#fff}.pace-loading-bar-white .pace .pace-progress{background:#fff;color:#fff;box-shadow:120px 0 #1f2d3d,240px 0 #1f2d3d}.pace-loading-bar-white .pace .pace-activity{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 7px #1f2d3d}.pace-mac-osx-white .pace .pace-progress{background-color:#fff;box-shadow:inset -1px 0 #fff,inset 0 -1px #fff,inset 0 2px rgba(31,45,61,.5),inset 0 6px rgba(31,45,61,.3)}.pace-mac-osx-white .pace .pace-activity{background-image:radial-gradient(rgba(31,45,61,.65) 0,rgba(31,45,61,.15) 100%);height:12px}.pace-progress-color-white .pace-progress{color:#fff}.pace-gray .pace .pace-progress{background:#6c757d}.pace-barber-shop-gray .pace{background:#fff}.pace-barber-shop-gray .pace .pace-progress{background:#6c757d}.pace-barber-shop-gray .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-gray .pace .pace-progress::after{color:rgba(108,117,125,.2)}.pace-bounce-gray .pace .pace-activity{background:#6c757d}.pace-center-atom-gray .pace-progress{height:100px;width:80px}.pace-center-atom-gray .pace-progress::before{background:#6c757d;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-gray .pace-activity{border-color:#6c757d}.pace-center-atom-gray .pace-activity::after,.pace-center-atom-gray .pace-activity::before{border-color:#6c757d}.pace-center-circle-gray .pace .pace-progress{background:rgba(108,117,125,.8);color:#fff}.pace-center-radar-gray .pace .pace-activity{border-color:#6c757d transparent transparent}.pace-center-radar-gray .pace .pace-activity::before{border-color:#6c757d transparent transparent}.pace-center-simple-gray .pace{background:#fff;border-color:#6c757d}.pace-center-simple-gray .pace .pace-progress{background:#6c757d}.pace-material-gray .pace{color:#6c757d}.pace-corner-indicator-gray .pace .pace-activity{background:#6c757d}.pace-corner-indicator-gray .pace .pace-activity::after,.pace-corner-indicator-gray .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-gray .pace .pace-activity::before{border-right-color:rgba(108,117,125,.2);border-left-color:rgba(108,117,125,.2)}.pace-corner-indicator-gray .pace .pace-activity::after{border-top-color:rgba(108,117,125,.2);border-bottom-color:rgba(108,117,125,.2)}.pace-fill-left-gray .pace .pace-progress{background-color:rgba(108,117,125,.2)}.pace-flash-gray .pace .pace-progress{background:#6c757d}.pace-flash-gray .pace .pace-progress-inner{box-shadow:0 0 10px #6c757d,0 0 5px #6c757d}.pace-flash-gray .pace .pace-activity{border-top-color:#6c757d;border-left-color:#6c757d}.pace-loading-bar-gray .pace .pace-progress{background:#6c757d;color:#6c757d;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-gray .pace .pace-activity{box-shadow:inset 0 0 0 2px #6c757d,inset 0 0 0 7px #fff}.pace-mac-osx-gray .pace .pace-progress{background-color:#6c757d;box-shadow:inset -1px 0 #6c757d,inset 0 -1px #6c757d,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-gray .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-gray .pace-progress{color:#6c757d}.pace-gray-dark .pace .pace-progress{background:#343a40}.pace-barber-shop-gray-dark .pace{background:#fff}.pace-barber-shop-gray-dark .pace .pace-progress{background:#343a40}.pace-barber-shop-gray-dark .pace .pace-activity{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent)}.pace-big-counter-gray-dark .pace .pace-progress::after{color:rgba(52,58,64,.2)}.pace-bounce-gray-dark .pace .pace-activity{background:#343a40}.pace-center-atom-gray-dark .pace-progress{height:100px;width:80px}.pace-center-atom-gray-dark .pace-progress::before{background:#343a40;color:#fff;font-size:.8rem;line-height:.7rem;padding-top:17%}.pace-center-atom-gray-dark .pace-activity{border-color:#343a40}.pace-center-atom-gray-dark .pace-activity::after,.pace-center-atom-gray-dark .pace-activity::before{border-color:#343a40}.pace-center-circle-gray-dark .pace .pace-progress{background:rgba(52,58,64,.8);color:#fff}.pace-center-radar-gray-dark .pace .pace-activity{border-color:#343a40 transparent transparent}.pace-center-radar-gray-dark .pace .pace-activity::before{border-color:#343a40 transparent transparent}.pace-center-simple-gray-dark .pace{background:#fff;border-color:#343a40}.pace-center-simple-gray-dark .pace .pace-progress{background:#343a40}.pace-material-gray-dark .pace{color:#343a40}.pace-corner-indicator-gray-dark .pace .pace-activity{background:#343a40}.pace-corner-indicator-gray-dark .pace .pace-activity::after,.pace-corner-indicator-gray-dark .pace .pace-activity::before{border:5px solid #fff}.pace-corner-indicator-gray-dark .pace .pace-activity::before{border-right-color:rgba(52,58,64,.2);border-left-color:rgba(52,58,64,.2)}.pace-corner-indicator-gray-dark .pace .pace-activity::after{border-top-color:rgba(52,58,64,.2);border-bottom-color:rgba(52,58,64,.2)}.pace-fill-left-gray-dark .pace .pace-progress{background-color:rgba(52,58,64,.2)}.pace-flash-gray-dark .pace .pace-progress{background:#343a40}.pace-flash-gray-dark .pace .pace-progress-inner{box-shadow:0 0 10px #343a40,0 0 5px #343a40}.pace-flash-gray-dark .pace .pace-activity{border-top-color:#343a40;border-left-color:#343a40}.pace-loading-bar-gray-dark .pace .pace-progress{background:#343a40;color:#343a40;box-shadow:120px 0 #fff,240px 0 #fff}.pace-loading-bar-gray-dark .pace .pace-activity{box-shadow:inset 0 0 0 2px #343a40,inset 0 0 0 7px #fff}.pace-mac-osx-gray-dark .pace .pace-progress{background-color:#343a40;box-shadow:inset -1px 0 #343a40,inset 0 -1px #343a40,inset 0 2px rgba(255,255,255,.5),inset 0 6px rgba(255,255,255,.3)}.pace-mac-osx-gray-dark .pace .pace-activity{background-image:radial-gradient(rgba(255,255,255,.65) 0,rgba(255,255,255,.15) 100%);height:12px}.pace-progress-color-gray-dark .pace-progress{color:#343a40}.bootstrap-switch{border:1px solid #ced4da;border-radius:.25rem;cursor:pointer;direction:ltr;display:inline-block;line-height:.5rem;overflow:hidden;position:relative;text-align:left;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;z-index:0}.bootstrap-switch .bootstrap-switch-container{border-radius:.25rem;display:inline-block;top:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bootstrap-switch:focus-within{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-label{box-sizing:border-box;cursor:pointer;display:table-cell;font-size:1rem;font-weight:500;line-height:1.2rem;padding:.25rem .5rem;vertical-align:middle}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on{text-align:center;z-index:1}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default{background:#e9ecef;color:#1f2d3d}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{background:#007bff;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-secondary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-secondary{background:#6c757d;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{background:#28a745;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{background:#17a2b8;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning{background:#ffc107;color:#1f2d3d}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger{background:#dc3545;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-light,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-light{background:#f8f9fa;color:#1f2d3d}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-dark,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-dark{background:#343a40;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-lightblue,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-lightblue{background:#3c8dbc;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-navy,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-navy{background:#001f3f;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-olive,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-olive{background:#3d9970;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-lime,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-lime{background:#01ff70;color:#1f2d3d}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-fuchsia,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-fuchsia{background:#f012be;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-maroon,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-maroon{background:#d81b60;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-blue,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-blue{background:#007bff;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-indigo,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-indigo{background:#6610f2;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-purple,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-purple{background:#6f42c1;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-pink,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-pink{background:#e83e8c;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-red,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-red{background:#dc3545;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-orange,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-orange{background:#fd7e14;color:#1f2d3d}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-yellow,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-yellow{background:#ffc107;color:#1f2d3d}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-green,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-green{background:#28a745;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-teal,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-teal{background:#20c997;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-cyan,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-cyan{background:#17a2b8;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-white,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-white{background:#fff;color:#1f2d3d}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-gray,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-gray{background:#6c757d;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-gray-dark,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-gray-dark{background:#343a40;color:#fff}.bootstrap-switch .bootstrap-switch-handle-on{border-bottom-left-radius:.1rem;border-top-left-radius:.1rem}.bootstrap-switch .bootstrap-switch-handle-off{border-bottom-right-radius:.1rem;border-top-right-radius:.1rem}.bootstrap-switch input[type=checkbox],.bootstrap-switch input[type=radio]{left:0;margin:0;opacity:0;position:absolute;top:0;visibility:hidden;z-index:-1}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{font-size:.875rem;line-height:1.5;padding:.1rem .3rem}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{font-size:.875rem;line-height:1.5;padding:.2rem .4rem}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{font-size:1.25rem;line-height:1.3333333rem;padding:.3rem .5rem}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-indeterminate,.bootstrap-switch.bootstrap-switch-readonly{cursor:default}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label{cursor:default;opacity:.5}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-radius:0 .1rem .1rem 0}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-radius:.1rem 0 0 .1rem}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label{border-bottom-right-radius:.1rem;border-top-right-radius:.1rem}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label{border-bottom-left-radius:.1rem;border-top-left-radius:.1rem}.dark-mode .bootstrap-switch{border-color:#6c757d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default{background-color:#3a4047;color:#fff;border-color:#454d55}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{background:#3f6791;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-secondary,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-secondary{background:#6c757d;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{background:#00bc8c;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{background:#3498db;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning{background:#f39c12;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger{background:#e74c3c;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-light,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-light{background:#f8f9fa;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-dark,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-dark{background:#343a40;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-lightblue,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-lightblue{background:#86bad8;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-navy,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-navy{background:#002c59;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-olive,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-olive{background:#74c8a3;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-lime,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-lime{background:#67ffa9;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-fuchsia,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-fuchsia{background:#f672d8;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-maroon,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-maroon{background:#ed6c9b;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-blue,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-blue{background:#3f6791;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-indigo,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-indigo{background:#6610f2;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-purple,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-purple{background:#6f42c1;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-pink,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-pink{background:#e83e8c;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-red,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-red{background:#e74c3c;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-orange,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-orange{background:#fd7e14;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-yellow,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-yellow{background:#f39c12;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-green,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-green{background:#00bc8c;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-teal,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-teal{background:#20c997;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-cyan,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-cyan{background:#3498db;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-white,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-white{background:#fff;color:#1f2d3d}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-gray,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-gray{background:#6c757d;color:#fff}.dark-mode .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-gray-dark,.dark-mode .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-gray-dark{background:#343a40;color:#fff}.jqstooltip{height:auto!important;padding:5px!important;width:auto!important}.connectedSortable{min-height:100px}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sort-highlight{background:#f8f9fa;border:1px dashed #dee2e6;margin-bottom:10px}.chart{overflow:hidden;position:relative}.dark-mode .irs--flat .irs-line{background-color:#4b545c}.dark-mode .jsgrid-alt-row>.jsgrid-cell,.dark-mode .jsgrid-edit-row>.jsgrid-cell,.dark-mode .jsgrid-filter-row>.jsgrid-cell,.dark-mode .jsgrid-grid-body,.dark-mode .jsgrid-grid-header,.dark-mode .jsgrid-header-row>.jsgrid-header-cell,.dark-mode .jsgrid-insert-row>.jsgrid-cell,.dark-mode .jsgrid-row>.jsgrid-cell{border-color:#6c757d}.dark-mode .jsgrid-header-row>.jsgrid-header-cell,.dark-mode .jsgrid-row>.jsgrid-cell{background-color:#343a40}.dark-mode .jsgrid-alt-row>.jsgrid-cell{background-color:#3a4047}.dark-mode .jsgrid-selected-row>.jsgrid-cell{background-color:#3f474e}.border-transparent{border-color:transparent!important}.description-block{display:block;margin:10px 0;text-align:center}.description-block.margin-bottom{margin-bottom:25px}.description-block>.description-header{font-size:16px;font-weight:600;margin:0;padding:0}.description-block>.description-text{text-transform:uppercase}.description-block .description-icon{font-size:16px}.list-group-unbordered>.list-group-item{border-left:0;border-radius:0;border-right:0;padding-left:0;padding-right:0}.list-header{color:#6c757d;font-size:15px;font-weight:700;padding:10px 4px}.list-seperator{background-color:rgba(0,0,0,.125);height:1px;margin:15px 0 9px}.list-link>a{color:#6c757d;padding:4px}.list-link>a:hover{color:#212529}.user-block{float:left}.user-block img{float:left;height:40px;width:40px}.user-block .comment,.user-block .description,.user-block .username{display:block;margin-left:50px}.user-block .username{font-size:16px;font-weight:600;margin-top:-1px}.user-block .description{color:#6c757d;font-size:13px;margin-top:-3px}.user-block.user-block-sm img{width:1.875rem;height:1.875rem}.user-block.user-block-sm .comment,.user-block.user-block-sm .description,.user-block.user-block-sm .username{margin-left:40px}.user-block.user-block-sm .username{font-size:14px}.img-lg,.img-md,.img-sm{float:left}.img-sm{height:1.875rem;width:1.875rem}.img-sm+.img-push{margin-left:2.5rem}.img-md{width:3.75rem;height:3.75rem}.img-md+.img-push{margin-left:4.375rem}.img-lg{width:6.25rem;height:6.25rem}.img-lg+.img-push{margin-left:6.875rem}.img-bordered{border:3px solid #adb5bd;padding:3px}.img-bordered-sm{border:2px solid #adb5bd;padding:2px}.img-rounded{border-radius:.25rem}.img-circle{border-radius:50%}.img-size-32,.img-size-50,.img-size-64{height:auto}.img-size-64{width:64px}.img-size-50{width:50px}.img-size-32{width:32px}.size-32,.size-40,.size-50{display:block;text-align:center}.size-32{height:32px;line-height:32px;width:32px}.size-40{height:40px;line-height:40px;width:40px}.size-50{height:50px;line-height:50px;width:50px}.attachment-block{background-color:#f8f9fa;border:1px solid rgba(0,0,0,.125);margin-bottom:10px;padding:5px}.attachment-block .attachment-img{float:left;height:auto;max-height:100px;max-width:100px}.attachment-block .attachment-pushed{margin-left:110px}.attachment-block .attachment-heading{margin:0}.attachment-block .attachment-text{color:#495057}.card>.loading-img,.card>.overlay,.info-box>.loading-img,.info-box>.overlay,.overlay-wrapper>.loading-img,.overlay-wrapper>.overlay,.small-box>.loading-img,.small-box>.overlay{height:100%;left:0;position:absolute;top:0;width:100%}.card .overlay,.info-box .overlay,.overlay-wrapper .overlay,.small-box .overlay{border-radius:.25rem;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background-color:rgba(255,255,255,.7);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;z-index:50}.card .overlay>.fa,.card .overlay>.fab,.card .overlay>.fad,.card .overlay>.fal,.card .overlay>.far,.card .overlay>.fas,.card .overlay>.ion,.card .overlay>.svg-inline--fa,.info-box .overlay>.fa,.info-box .overlay>.fab,.info-box .overlay>.fad,.info-box .overlay>.fal,.info-box .overlay>.far,.info-box .overlay>.fas,.info-box .overlay>.ion,.info-box .overlay>.svg-inline--fa,.overlay-wrapper .overlay>.fa,.overlay-wrapper .overlay>.fab,.overlay-wrapper .overlay>.fad,.overlay-wrapper .overlay>.fal,.overlay-wrapper .overlay>.far,.overlay-wrapper .overlay>.fas,.overlay-wrapper .overlay>.ion,.overlay-wrapper .overlay>.svg-inline--fa,.small-box .overlay>.fa,.small-box .overlay>.fab,.small-box .overlay>.fad,.small-box .overlay>.fal,.small-box .overlay>.far,.small-box .overlay>.fas,.small-box .overlay>.ion,.small-box .overlay>.svg-inline--fa{color:#343a40}.card .overlay.dark,.info-box .overlay.dark,.overlay-wrapper .overlay.dark,.small-box .overlay.dark{background-color:rgba(0,0,0,.5)}.card .overlay.dark>.fa,.card .overlay.dark>.fab,.card .overlay.dark>.fad,.card .overlay.dark>.fal,.card .overlay.dark>.far,.card .overlay.dark>.fas,.card .overlay.dark>.ion,.card .overlay.dark>.svg-inline--fa,.info-box .overlay.dark>.fa,.info-box .overlay.dark>.fab,.info-box .overlay.dark>.fad,.info-box .overlay.dark>.fal,.info-box .overlay.dark>.far,.info-box .overlay.dark>.fas,.info-box .overlay.dark>.ion,.info-box .overlay.dark>.svg-inline--fa,.overlay-wrapper .overlay.dark>.fa,.overlay-wrapper .overlay.dark>.fab,.overlay-wrapper .overlay.dark>.fad,.overlay-wrapper .overlay.dark>.fal,.overlay-wrapper .overlay.dark>.far,.overlay-wrapper .overlay.dark>.fas,.overlay-wrapper .overlay.dark>.ion,.overlay-wrapper .overlay.dark>.svg-inline--fa,.small-box .overlay.dark>.fa,.small-box .overlay.dark>.fab,.small-box .overlay.dark>.fad,.small-box .overlay.dark>.fal,.small-box .overlay.dark>.far,.small-box .overlay.dark>.fas,.small-box .overlay.dark>.ion,.small-box .overlay.dark>.svg-inline--fa{color:#ced4da}.tab-pane>.overlay-wrapper{position:relative}.tab-pane>.overlay-wrapper>.overlay{border-top-left-radius:0;border-top-right-radius:0;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:-1.25rem;margin-left:-1.25rem;height:calc(100% + 2 * 1.25rem);width:calc(100% + 2 * 1.25rem)}.tab-pane>.overlay-wrapper>.overlay.dark{color:#fff}.ribbon-wrapper{height:70px;overflow:hidden;position:absolute;right:-2px;top:-2px;width:70px;z-index:10}.ribbon-wrapper.ribbon-lg{height:120px;width:120px}.ribbon-wrapper.ribbon-lg .ribbon{right:0;top:26px;width:160px}.ribbon-wrapper.ribbon-xl{height:180px;width:180px}.ribbon-wrapper.ribbon-xl .ribbon{right:4px;top:47px;width:240px}.ribbon-wrapper .ribbon{box-shadow:0 0 3px rgba(0,0,0,.3);font-size:.8rem;line-height:100%;padding:.375rem 0;position:relative;right:-2px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,.4);text-transform:uppercase;top:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:90px}.ribbon-wrapper .ribbon::after,.ribbon-wrapper .ribbon::before{border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #9e9e9e;bottom:-3px;content:"";position:absolute}.ribbon-wrapper .ribbon::before{left:0}.ribbon-wrapper .ribbon::after{right:0}.back-to-top{bottom:1.25rem;position:fixed;right:1.25rem;z-index:1032}.back-to-top:focus{box-shadow:none}pre{padding:.75rem}blockquote{background-color:#fff;border-left:.7rem solid #007bff;margin:1.5em .7rem;padding:.5em .7rem}.box blockquote{background-color:#e9ecef}blockquote p:last-child{margin-bottom:0}blockquote h1,blockquote h2,blockquote h3,blockquote h4,blockquote h5,blockquote h6{color:#007bff;font-size:1.25rem;font-weight:600}blockquote.quote-primary{border-color:#007bff}blockquote.quote-primary h1,blockquote.quote-primary h2,blockquote.quote-primary h3,blockquote.quote-primary h4,blockquote.quote-primary h5,blockquote.quote-primary h6{color:#007bff}blockquote.quote-secondary{border-color:#6c757d}blockquote.quote-secondary h1,blockquote.quote-secondary h2,blockquote.quote-secondary h3,blockquote.quote-secondary h4,blockquote.quote-secondary h5,blockquote.quote-secondary h6{color:#6c757d}blockquote.quote-success{border-color:#28a745}blockquote.quote-success h1,blockquote.quote-success h2,blockquote.quote-success h3,blockquote.quote-success h4,blockquote.quote-success h5,blockquote.quote-success h6{color:#28a745}blockquote.quote-info{border-color:#17a2b8}blockquote.quote-info h1,blockquote.quote-info h2,blockquote.quote-info h3,blockquote.quote-info h4,blockquote.quote-info h5,blockquote.quote-info h6{color:#17a2b8}blockquote.quote-warning{border-color:#ffc107}blockquote.quote-warning h1,blockquote.quote-warning h2,blockquote.quote-warning h3,blockquote.quote-warning h4,blockquote.quote-warning h5,blockquote.quote-warning h6{color:#ffc107}blockquote.quote-danger{border-color:#dc3545}blockquote.quote-danger h1,blockquote.quote-danger h2,blockquote.quote-danger h3,blockquote.quote-danger h4,blockquote.quote-danger h5,blockquote.quote-danger h6{color:#dc3545}blockquote.quote-light{border-color:#f8f9fa}blockquote.quote-light h1,blockquote.quote-light h2,blockquote.quote-light h3,blockquote.quote-light h4,blockquote.quote-light h5,blockquote.quote-light h6{color:#f8f9fa}blockquote.quote-dark{border-color:#343a40}blockquote.quote-dark h1,blockquote.quote-dark h2,blockquote.quote-dark h3,blockquote.quote-dark h4,blockquote.quote-dark h5,blockquote.quote-dark h6{color:#343a40}blockquote.quote-lightblue{border-color:#3c8dbc}blockquote.quote-lightblue h1,blockquote.quote-lightblue h2,blockquote.quote-lightblue h3,blockquote.quote-lightblue h4,blockquote.quote-lightblue h5,blockquote.quote-lightblue h6{color:#3c8dbc}blockquote.quote-navy{border-color:#001f3f}blockquote.quote-navy h1,blockquote.quote-navy h2,blockquote.quote-navy h3,blockquote.quote-navy h4,blockquote.quote-navy h5,blockquote.quote-navy h6{color:#001f3f}blockquote.quote-olive{border-color:#3d9970}blockquote.quote-olive h1,blockquote.quote-olive h2,blockquote.quote-olive h3,blockquote.quote-olive h4,blockquote.quote-olive h5,blockquote.quote-olive h6{color:#3d9970}blockquote.quote-lime{border-color:#01ff70}blockquote.quote-lime h1,blockquote.quote-lime h2,blockquote.quote-lime h3,blockquote.quote-lime h4,blockquote.quote-lime h5,blockquote.quote-lime h6{color:#01ff70}blockquote.quote-fuchsia{border-color:#f012be}blockquote.quote-fuchsia h1,blockquote.quote-fuchsia h2,blockquote.quote-fuchsia h3,blockquote.quote-fuchsia h4,blockquote.quote-fuchsia h5,blockquote.quote-fuchsia h6{color:#f012be}blockquote.quote-maroon{border-color:#d81b60}blockquote.quote-maroon h1,blockquote.quote-maroon h2,blockquote.quote-maroon h3,blockquote.quote-maroon h4,blockquote.quote-maroon h5,blockquote.quote-maroon h6{color:#d81b60}blockquote.quote-blue{border-color:#007bff}blockquote.quote-blue h1,blockquote.quote-blue h2,blockquote.quote-blue h3,blockquote.quote-blue h4,blockquote.quote-blue h5,blockquote.quote-blue h6{color:#007bff}blockquote.quote-indigo{border-color:#6610f2}blockquote.quote-indigo h1,blockquote.quote-indigo h2,blockquote.quote-indigo h3,blockquote.quote-indigo h4,blockquote.quote-indigo h5,blockquote.quote-indigo h6{color:#6610f2}blockquote.quote-purple{border-color:#6f42c1}blockquote.quote-purple h1,blockquote.quote-purple h2,blockquote.quote-purple h3,blockquote.quote-purple h4,blockquote.quote-purple h5,blockquote.quote-purple h6{color:#6f42c1}blockquote.quote-pink{border-color:#e83e8c}blockquote.quote-pink h1,blockquote.quote-pink h2,blockquote.quote-pink h3,blockquote.quote-pink h4,blockquote.quote-pink h5,blockquote.quote-pink h6{color:#e83e8c}blockquote.quote-red{border-color:#dc3545}blockquote.quote-red h1,blockquote.quote-red h2,blockquote.quote-red h3,blockquote.quote-red h4,blockquote.quote-red h5,blockquote.quote-red h6{color:#dc3545}blockquote.quote-orange{border-color:#fd7e14}blockquote.quote-orange h1,blockquote.quote-orange h2,blockquote.quote-orange h3,blockquote.quote-orange h4,blockquote.quote-orange h5,blockquote.quote-orange h6{color:#fd7e14}blockquote.quote-yellow{border-color:#ffc107}blockquote.quote-yellow h1,blockquote.quote-yellow h2,blockquote.quote-yellow h3,blockquote.quote-yellow h4,blockquote.quote-yellow h5,blockquote.quote-yellow h6{color:#ffc107}blockquote.quote-green{border-color:#28a745}blockquote.quote-green h1,blockquote.quote-green h2,blockquote.quote-green h3,blockquote.quote-green h4,blockquote.quote-green h5,blockquote.quote-green h6{color:#28a745}blockquote.quote-teal{border-color:#20c997}blockquote.quote-teal h1,blockquote.quote-teal h2,blockquote.quote-teal h3,blockquote.quote-teal h4,blockquote.quote-teal h5,blockquote.quote-teal h6{color:#20c997}blockquote.quote-cyan{border-color:#17a2b8}blockquote.quote-cyan h1,blockquote.quote-cyan h2,blockquote.quote-cyan h3,blockquote.quote-cyan h4,blockquote.quote-cyan h5,blockquote.quote-cyan h6{color:#17a2b8}blockquote.quote-white{border-color:#fff}blockquote.quote-white h1,blockquote.quote-white h2,blockquote.quote-white h3,blockquote.quote-white h4,blockquote.quote-white h5,blockquote.quote-white h6{color:#fff}blockquote.quote-gray{border-color:#6c757d}blockquote.quote-gray h1,blockquote.quote-gray h2,blockquote.quote-gray h3,blockquote.quote-gray h4,blockquote.quote-gray h5,blockquote.quote-gray h6{color:#6c757d}blockquote.quote-gray-dark{border-color:#343a40}blockquote.quote-gray-dark h1,blockquote.quote-gray-dark h2,blockquote.quote-gray-dark h3,blockquote.quote-gray-dark h4,blockquote.quote-gray-dark h5,blockquote.quote-gray-dark h6{color:#343a40}.tab-custom-content{border-top:1px solid #dee2e6;margin-top:.5rem;padding-top:.5rem}.nav+.tab-custom-content{border-top:none;border-bottom:1px solid #dee2e6;margin-top:0;margin-bottom:.5rem;padding-bottom:.5rem}.badge-btn{border-radius:.15rem;font-size:.75rem;font-weight:400;padding:.25rem .5rem}.badge-btn.badge-pill{padding:.375rem .6rem}.dark-mode a:not(.btn):hover{color:#3395ff}.dark-mode .attachment-block{background-color:#3d444b}.dark-mode .attachment-block .attachment-text{color:#ced4da}.dark-mode blockquote{background-color:#3f474e}.dark-mode blockquote.quote-primary{border-color:#007bff}.dark-mode blockquote.quote-primary h1,.dark-mode blockquote.quote-primary h2,.dark-mode blockquote.quote-primary h3,.dark-mode blockquote.quote-primary h4,.dark-mode blockquote.quote-primary h5,.dark-mode blockquote.quote-primary h6{color:#007bff}.dark-mode blockquote.quote-secondary{border-color:#6c757d}.dark-mode blockquote.quote-secondary h1,.dark-mode blockquote.quote-secondary h2,.dark-mode blockquote.quote-secondary h3,.dark-mode blockquote.quote-secondary h4,.dark-mode blockquote.quote-secondary h5,.dark-mode blockquote.quote-secondary h6{color:#6c757d}.dark-mode blockquote.quote-success{border-color:#28a745}.dark-mode blockquote.quote-success h1,.dark-mode blockquote.quote-success h2,.dark-mode blockquote.quote-success h3,.dark-mode blockquote.quote-success h4,.dark-mode blockquote.quote-success h5,.dark-mode blockquote.quote-success h6{color:#28a745}.dark-mode blockquote.quote-info{border-color:#17a2b8}.dark-mode blockquote.quote-info h1,.dark-mode blockquote.quote-info h2,.dark-mode blockquote.quote-info h3,.dark-mode blockquote.quote-info h4,.dark-mode blockquote.quote-info h5,.dark-mode blockquote.quote-info h6{color:#17a2b8}.dark-mode blockquote.quote-warning{border-color:#ffc107}.dark-mode blockquote.quote-warning h1,.dark-mode blockquote.quote-warning h2,.dark-mode blockquote.quote-warning h3,.dark-mode blockquote.quote-warning h4,.dark-mode blockquote.quote-warning h5,.dark-mode blockquote.quote-warning h6{color:#ffc107}.dark-mode blockquote.quote-danger{border-color:#dc3545}.dark-mode blockquote.quote-danger h1,.dark-mode blockquote.quote-danger h2,.dark-mode blockquote.quote-danger h3,.dark-mode blockquote.quote-danger h4,.dark-mode blockquote.quote-danger h5,.dark-mode blockquote.quote-danger h6{color:#dc3545}.dark-mode blockquote.quote-light{border-color:#f8f9fa}.dark-mode blockquote.quote-light h1,.dark-mode blockquote.quote-light h2,.dark-mode blockquote.quote-light h3,.dark-mode blockquote.quote-light h4,.dark-mode blockquote.quote-light h5,.dark-mode blockquote.quote-light h6{color:#f8f9fa}.dark-mode blockquote.quote-dark{border-color:#343a40}.dark-mode blockquote.quote-dark h1,.dark-mode blockquote.quote-dark h2,.dark-mode blockquote.quote-dark h3,.dark-mode blockquote.quote-dark h4,.dark-mode blockquote.quote-dark h5,.dark-mode blockquote.quote-dark h6{color:#343a40}.dark-mode blockquote.quote-lightblue{border-color:#3c8dbc}.dark-mode blockquote.quote-lightblue h1,.dark-mode blockquote.quote-lightblue h2,.dark-mode blockquote.quote-lightblue h3,.dark-mode blockquote.quote-lightblue h4,.dark-mode blockquote.quote-lightblue h5,.dark-mode blockquote.quote-lightblue h6{color:#3c8dbc}.dark-mode blockquote.quote-navy{border-color:#001f3f}.dark-mode blockquote.quote-navy h1,.dark-mode blockquote.quote-navy h2,.dark-mode blockquote.quote-navy h3,.dark-mode blockquote.quote-navy h4,.dark-mode blockquote.quote-navy h5,.dark-mode blockquote.quote-navy h6{color:#001f3f}.dark-mode blockquote.quote-olive{border-color:#3d9970}.dark-mode blockquote.quote-olive h1,.dark-mode blockquote.quote-olive h2,.dark-mode blockquote.quote-olive h3,.dark-mode blockquote.quote-olive h4,.dark-mode blockquote.quote-olive h5,.dark-mode blockquote.quote-olive h6{color:#3d9970}.dark-mode blockquote.quote-lime{border-color:#01ff70}.dark-mode blockquote.quote-lime h1,.dark-mode blockquote.quote-lime h2,.dark-mode blockquote.quote-lime h3,.dark-mode blockquote.quote-lime h4,.dark-mode blockquote.quote-lime h5,.dark-mode blockquote.quote-lime h6{color:#01ff70}.dark-mode blockquote.quote-fuchsia{border-color:#f012be}.dark-mode blockquote.quote-fuchsia h1,.dark-mode blockquote.quote-fuchsia h2,.dark-mode blockquote.quote-fuchsia h3,.dark-mode blockquote.quote-fuchsia h4,.dark-mode blockquote.quote-fuchsia h5,.dark-mode blockquote.quote-fuchsia h6{color:#f012be}.dark-mode blockquote.quote-maroon{border-color:#d81b60}.dark-mode blockquote.quote-maroon h1,.dark-mode blockquote.quote-maroon h2,.dark-mode blockquote.quote-maroon h3,.dark-mode blockquote.quote-maroon h4,.dark-mode blockquote.quote-maroon h5,.dark-mode blockquote.quote-maroon h6{color:#d81b60}.dark-mode blockquote.quote-blue{border-color:#007bff}.dark-mode blockquote.quote-blue h1,.dark-mode blockquote.quote-blue h2,.dark-mode blockquote.quote-blue h3,.dark-mode blockquote.quote-blue h4,.dark-mode blockquote.quote-blue h5,.dark-mode blockquote.quote-blue h6{color:#007bff}.dark-mode blockquote.quote-indigo{border-color:#6610f2}.dark-mode blockquote.quote-indigo h1,.dark-mode blockquote.quote-indigo h2,.dark-mode blockquote.quote-indigo h3,.dark-mode blockquote.quote-indigo h4,.dark-mode blockquote.quote-indigo h5,.dark-mode blockquote.quote-indigo h6{color:#6610f2}.dark-mode blockquote.quote-purple{border-color:#6f42c1}.dark-mode blockquote.quote-purple h1,.dark-mode blockquote.quote-purple h2,.dark-mode blockquote.quote-purple h3,.dark-mode blockquote.quote-purple h4,.dark-mode blockquote.quote-purple h5,.dark-mode blockquote.quote-purple h6{color:#6f42c1}.dark-mode blockquote.quote-pink{border-color:#e83e8c}.dark-mode blockquote.quote-pink h1,.dark-mode blockquote.quote-pink h2,.dark-mode blockquote.quote-pink h3,.dark-mode blockquote.quote-pink h4,.dark-mode blockquote.quote-pink h5,.dark-mode blockquote.quote-pink h6{color:#e83e8c}.dark-mode blockquote.quote-red{border-color:#dc3545}.dark-mode blockquote.quote-red h1,.dark-mode blockquote.quote-red h2,.dark-mode blockquote.quote-red h3,.dark-mode blockquote.quote-red h4,.dark-mode blockquote.quote-red h5,.dark-mode blockquote.quote-red h6{color:#dc3545}.dark-mode blockquote.quote-orange{border-color:#fd7e14}.dark-mode blockquote.quote-orange h1,.dark-mode blockquote.quote-orange h2,.dark-mode blockquote.quote-orange h3,.dark-mode blockquote.quote-orange h4,.dark-mode blockquote.quote-orange h5,.dark-mode blockquote.quote-orange h6{color:#fd7e14}.dark-mode blockquote.quote-yellow{border-color:#ffc107}.dark-mode blockquote.quote-yellow h1,.dark-mode blockquote.quote-yellow h2,.dark-mode blockquote.quote-yellow h3,.dark-mode blockquote.quote-yellow h4,.dark-mode blockquote.quote-yellow h5,.dark-mode blockquote.quote-yellow h6{color:#ffc107}.dark-mode blockquote.quote-green{border-color:#28a745}.dark-mode blockquote.quote-green h1,.dark-mode blockquote.quote-green h2,.dark-mode blockquote.quote-green h3,.dark-mode blockquote.quote-green h4,.dark-mode blockquote.quote-green h5,.dark-mode blockquote.quote-green h6{color:#28a745}.dark-mode blockquote.quote-teal{border-color:#20c997}.dark-mode blockquote.quote-teal h1,.dark-mode blockquote.quote-teal h2,.dark-mode blockquote.quote-teal h3,.dark-mode blockquote.quote-teal h4,.dark-mode blockquote.quote-teal h5,.dark-mode blockquote.quote-teal h6{color:#20c997}.dark-mode blockquote.quote-cyan{border-color:#17a2b8}.dark-mode blockquote.quote-cyan h1,.dark-mode blockquote.quote-cyan h2,.dark-mode blockquote.quote-cyan h3,.dark-mode blockquote.quote-cyan h4,.dark-mode blockquote.quote-cyan h5,.dark-mode blockquote.quote-cyan h6{color:#17a2b8}.dark-mode blockquote.quote-white{border-color:#fff}.dark-mode blockquote.quote-white h1,.dark-mode blockquote.quote-white h2,.dark-mode blockquote.quote-white h3,.dark-mode blockquote.quote-white h4,.dark-mode blockquote.quote-white h5,.dark-mode blockquote.quote-white h6{color:#fff}.dark-mode blockquote.quote-gray{border-color:#6c757d}.dark-mode blockquote.quote-gray h1,.dark-mode blockquote.quote-gray h2,.dark-mode blockquote.quote-gray h3,.dark-mode blockquote.quote-gray h4,.dark-mode blockquote.quote-gray h5,.dark-mode blockquote.quote-gray h6{color:#6c757d}.dark-mode blockquote.quote-gray-dark{border-color:#343a40}.dark-mode blockquote.quote-gray-dark h1,.dark-mode blockquote.quote-gray-dark h2,.dark-mode blockquote.quote-gray-dark h3,.dark-mode blockquote.quote-gray-dark h4,.dark-mode blockquote.quote-gray-dark h5,.dark-mode blockquote.quote-gray-dark h6{color:#343a40}.dark-mode .close,.dark-mode .mailbox-attachment-close{color:#adb5bd;text-shadow:0 1px 0 #495057}.dark-mode .tab-custom-content{border-color:#6c757d}.dark-mode .list-group-item{background-color:#343a40;border-color:#6c757d}@media print{.content-header,.main-header,.main-sidebar,.no-print{display:none!important}.content-wrapper,.main-footer{-webkit-transform:translate(0,0);transform:translate(0,0);margin-left:0!important;min-height:0!important}.layout-fixed .content-wrapper{padding-top:0!important}.invoice{border:0;margin:0;padding:0;width:100%}.invoice-col{float:left;width:33.3333333%}.table-responsive{overflow:auto}.table-responsive>.table tr td,.table-responsive>.table tr th{white-space:normal!important}}.text-bold,.text-bold.table td,.text-bold.table th{font-weight:700}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-md{font-size:1rem!important}.text-lg{font-size:1.25rem!important}.text-xl{font-size:2rem!important}.text-lightblue{color:#3c8dbc!important}.text-navy{color:#001f3f!important}.text-olive{color:#3d9970!important}.text-lime{color:#01ff70!important}.text-fuchsia{color:#f012be!important}.text-maroon{color:#d81b60!important}.text-blue{color:#007bff!important}.text-indigo{color:#6610f2!important}.text-purple{color:#6f42c1!important}.text-pink{color:#e83e8c!important}.text-red{color:#dc3545!important}.text-orange{color:#fd7e14!important}.text-yellow{color:#ffc107!important}.text-green{color:#28a745!important}.text-teal{color:#20c997!important}.text-cyan{color:#17a2b8!important}.text-white{color:#fff!important}.text-gray{color:#6c757d!important}.text-gray-dark{color:#343a40!important}.dark-mode .text-muted{color:#adb5bd!important}.dark-mode .text-lightblue{color:#86bad8!important}.dark-mode .text-navy{color:#002c59!important}.dark-mode .text-olive{color:#74c8a3!important}.dark-mode .text-lime{color:#67ffa9!important}.dark-mode .text-fuchsia{color:#f672d8!important}.dark-mode .text-maroon{color:#ed6c9b!important}.dark-mode .text-blue{color:#3f6791!important}.dark-mode .text-indigo{color:#6610f2!important}.dark-mode .text-purple{color:#6f42c1!important}.dark-mode .text-pink{color:#e83e8c!important}.dark-mode .text-red{color:#e74c3c!important}.dark-mode .text-orange{color:#fd7e14!important}.dark-mode .text-yellow{color:#f39c12!important}.dark-mode .text-green{color:#00bc8c!important}.dark-mode .text-teal{color:#20c997!important}.dark-mode .text-cyan{color:#3498db!important}.dark-mode .text-white{color:#fff!important}.dark-mode .text-gray{color:#6c757d!important}.dark-mode .text-gray-dark{color:#343a40!important}.elevation-0{box-shadow:none!important}.elevation-1{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}.elevation-2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)!important}.elevation-3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)!important}.elevation-4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)!important}.elevation-5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)!important}.bg-primary{background-color:#007bff!important}.bg-primary,.bg-primary>a{color:#fff!important}.bg-primary.btn:hover{border-color:#0062cc;color:#ececec}.bg-primary.btn.active,.bg-primary.btn:active,.bg-primary.btn:not(:disabled):not(.disabled).active,.bg-primary.btn:not(:disabled):not(.disabled):active{background-color:#0062cc!important;border-color:#005cbf;color:#fff}.bg-secondary{background-color:#6c757d!important}.bg-secondary,.bg-secondary>a{color:#fff!important}.bg-secondary.btn:hover{border-color:#545b62;color:#ececec}.bg-secondary.btn.active,.bg-secondary.btn:active,.bg-secondary.btn:not(:disabled):not(.disabled).active,.bg-secondary.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.bg-success{background-color:#28a745!important}.bg-success,.bg-success>a{color:#fff!important}.bg-success.btn:hover{border-color:#1e7e34;color:#ececec}.bg-success.btn.active,.bg-success.btn:active,.bg-success.btn:not(:disabled):not(.disabled).active,.bg-success.btn:not(:disabled):not(.disabled):active{background-color:#1e7e34!important;border-color:#1c7430;color:#fff}.bg-info{background-color:#17a2b8!important}.bg-info,.bg-info>a{color:#fff!important}.bg-info.btn:hover{border-color:#117a8b;color:#ececec}.bg-info.btn.active,.bg-info.btn:active,.bg-info.btn:not(:disabled):not(.disabled).active,.bg-info.btn:not(:disabled):not(.disabled):active{background-color:#117a8b!important;border-color:#10707f;color:#fff}.bg-warning{background-color:#ffc107!important}.bg-warning,.bg-warning>a{color:#1f2d3d!important}.bg-warning.btn:hover{border-color:#d39e00;color:#121a24}.bg-warning.btn.active,.bg-warning.btn:active,.bg-warning.btn:not(:disabled):not(.disabled).active,.bg-warning.btn:not(:disabled):not(.disabled):active{background-color:#d39e00!important;border-color:#c69500;color:#1f2d3d}.bg-danger{background-color:#dc3545!important}.bg-danger,.bg-danger>a{color:#fff!important}.bg-danger.btn:hover{border-color:#bd2130;color:#ececec}.bg-danger.btn.active,.bg-danger.btn:active,.bg-danger.btn:not(:disabled):not(.disabled).active,.bg-danger.btn:not(:disabled):not(.disabled):active{background-color:#bd2130!important;border-color:#b21f2d;color:#fff}.bg-light{background-color:#f8f9fa!important}.bg-light,.bg-light>a{color:#1f2d3d!important}.bg-light.btn:hover{border-color:#dae0e5;color:#121a24}.bg-light.btn.active,.bg-light.btn:active,.bg-light.btn:not(:disabled):not(.disabled).active,.bg-light.btn:not(:disabled):not(.disabled):active{background-color:#dae0e5!important;border-color:#d3d9df;color:#1f2d3d}.bg-dark{background-color:#343a40!important}.bg-dark,.bg-dark>a{color:#fff!important}.bg-dark.btn:hover{border-color:#1d2124;color:#ececec}.bg-dark.btn.active,.bg-dark.btn:active,.bg-dark.btn:not(:disabled):not(.disabled).active,.bg-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}.bg-lightblue{background-color:#3c8dbc!important}.bg-lightblue,.bg-lightblue>a{color:#fff!important}.bg-lightblue.btn:hover{border-color:#307095;color:#ececec}.bg-lightblue.btn.active,.bg-lightblue.btn:active,.bg-lightblue.btn:not(:disabled):not(.disabled).active,.bg-lightblue.btn:not(:disabled):not(.disabled):active{background-color:#307095!important;border-color:#2d698c;color:#fff}.bg-navy{background-color:#001f3f!important}.bg-navy,.bg-navy>a{color:#fff!important}.bg-navy.btn:hover{border-color:#00060c;color:#ececec}.bg-navy.btn.active,.bg-navy.btn:active,.bg-navy.btn:not(:disabled):not(.disabled).active,.bg-navy.btn:not(:disabled):not(.disabled):active{background-color:#00060c!important;border-color:#000;color:#fff}.bg-olive{background-color:#3d9970!important}.bg-olive,.bg-olive>a{color:#fff!important}.bg-olive.btn:hover{border-color:#2e7555;color:#ececec}.bg-olive.btn.active,.bg-olive.btn:active,.bg-olive.btn:not(:disabled):not(.disabled).active,.bg-olive.btn:not(:disabled):not(.disabled):active{background-color:#2e7555!important;border-color:#2b6b4f;color:#fff}.bg-lime{background-color:#01ff70!important}.bg-lime,.bg-lime>a{color:#1f2d3d!important}.bg-lime.btn:hover{border-color:#00cd5a;color:#121a24}.bg-lime.btn.active,.bg-lime.btn:active,.bg-lime.btn:not(:disabled):not(.disabled).active,.bg-lime.btn:not(:disabled):not(.disabled):active{background-color:#00cd5a!important;border-color:#00c054;color:#fff}.bg-fuchsia{background-color:#f012be!important}.bg-fuchsia,.bg-fuchsia>a{color:#fff!important}.bg-fuchsia.btn:hover{border-color:#c30c9a;color:#ececec}.bg-fuchsia.btn.active,.bg-fuchsia.btn:active,.bg-fuchsia.btn:not(:disabled):not(.disabled).active,.bg-fuchsia.btn:not(:disabled):not(.disabled):active{background-color:#c30c9a!important;border-color:#b70c90;color:#fff}.bg-maroon{background-color:#d81b60!important}.bg-maroon,.bg-maroon>a{color:#fff!important}.bg-maroon.btn:hover{border-color:#ab154c;color:#ececec}.bg-maroon.btn.active,.bg-maroon.btn:active,.bg-maroon.btn:not(:disabled):not(.disabled).active,.bg-maroon.btn:not(:disabled):not(.disabled):active{background-color:#ab154c!important;border-color:#9f1447;color:#fff}.bg-blue{background-color:#007bff!important}.bg-blue,.bg-blue>a{color:#fff!important}.bg-blue.btn:hover{border-color:#0062cc;color:#ececec}.bg-blue.btn.active,.bg-blue.btn:active,.bg-blue.btn:not(:disabled):not(.disabled).active,.bg-blue.btn:not(:disabled):not(.disabled):active{background-color:#0062cc!important;border-color:#005cbf;color:#fff}.bg-indigo{background-color:#6610f2!important}.bg-indigo,.bg-indigo>a{color:#fff!important}.bg-indigo.btn:hover{border-color:#510bc4;color:#ececec}.bg-indigo.btn.active,.bg-indigo.btn:active,.bg-indigo.btn:not(:disabled):not(.disabled).active,.bg-indigo.btn:not(:disabled):not(.disabled):active{background-color:#510bc4!important;border-color:#4c0ab8;color:#fff}.bg-purple{background-color:#6f42c1!important}.bg-purple,.bg-purple>a{color:#fff!important}.bg-purple.btn:hover{border-color:#59339d;color:#ececec}.bg-purple.btn.active,.bg-purple.btn:active,.bg-purple.btn:not(:disabled):not(.disabled).active,.bg-purple.btn:not(:disabled):not(.disabled):active{background-color:#59339d!important;border-color:#533093;color:#fff}.bg-pink{background-color:#e83e8c!important}.bg-pink,.bg-pink>a{color:#fff!important}.bg-pink.btn:hover{border-color:#d91a72;color:#ececec}.bg-pink.btn.active,.bg-pink.btn:active,.bg-pink.btn:not(:disabled):not(.disabled).active,.bg-pink.btn:not(:disabled):not(.disabled):active{background-color:#d91a72!important;border-color:#ce196c;color:#fff}.bg-red{background-color:#dc3545!important}.bg-red,.bg-red>a{color:#fff!important}.bg-red.btn:hover{border-color:#bd2130;color:#ececec}.bg-red.btn.active,.bg-red.btn:active,.bg-red.btn:not(:disabled):not(.disabled).active,.bg-red.btn:not(:disabled):not(.disabled):active{background-color:#bd2130!important;border-color:#b21f2d;color:#fff}.bg-orange{background-color:#fd7e14!important}.bg-orange,.bg-orange>a{color:#1f2d3d!important}.bg-orange.btn:hover{border-color:#dc6502;color:#121a24}.bg-orange.btn.active,.bg-orange.btn:active,.bg-orange.btn:not(:disabled):not(.disabled).active,.bg-orange.btn:not(:disabled):not(.disabled):active{background-color:#dc6502!important;border-color:#cf5f02;color:#fff}.bg-yellow{background-color:#ffc107!important}.bg-yellow,.bg-yellow>a{color:#1f2d3d!important}.bg-yellow.btn:hover{border-color:#d39e00;color:#121a24}.bg-yellow.btn.active,.bg-yellow.btn:active,.bg-yellow.btn:not(:disabled):not(.disabled).active,.bg-yellow.btn:not(:disabled):not(.disabled):active{background-color:#d39e00!important;border-color:#c69500;color:#1f2d3d}.bg-green{background-color:#28a745!important}.bg-green,.bg-green>a{color:#fff!important}.bg-green.btn:hover{border-color:#1e7e34;color:#ececec}.bg-green.btn.active,.bg-green.btn:active,.bg-green.btn:not(:disabled):not(.disabled).active,.bg-green.btn:not(:disabled):not(.disabled):active{background-color:#1e7e34!important;border-color:#1c7430;color:#fff}.bg-teal{background-color:#20c997!important}.bg-teal,.bg-teal>a{color:#fff!important}.bg-teal.btn:hover{border-color:#199d76;color:#ececec}.bg-teal.btn.active,.bg-teal.btn:active,.bg-teal.btn:not(:disabled):not(.disabled).active,.bg-teal.btn:not(:disabled):not(.disabled):active{background-color:#199d76!important;border-color:#17926e;color:#fff}.bg-cyan{background-color:#17a2b8!important}.bg-cyan,.bg-cyan>a{color:#fff!important}.bg-cyan.btn:hover{border-color:#117a8b;color:#ececec}.bg-cyan.btn.active,.bg-cyan.btn:active,.bg-cyan.btn:not(:disabled):not(.disabled).active,.bg-cyan.btn:not(:disabled):not(.disabled):active{background-color:#117a8b!important;border-color:#10707f;color:#fff}.bg-white{background-color:#fff!important}.bg-white,.bg-white>a{color:#1f2d3d!important}.bg-white.btn:hover{border-color:#e6e6e6;color:#121a24}.bg-white.btn.active,.bg-white.btn:active,.bg-white.btn:not(:disabled):not(.disabled).active,.bg-white.btn:not(:disabled):not(.disabled):active{background-color:#e6e6e6!important;border-color:#dfdfdf;color:#1f2d3d}.bg-gray{background-color:#6c757d!important}.bg-gray,.bg-gray>a{color:#fff!important}.bg-gray.btn:hover{border-color:#545b62;color:#ececec}.bg-gray.btn.active,.bg-gray.btn:active,.bg-gray.btn:not(:disabled):not(.disabled).active,.bg-gray.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.bg-gray-dark{background-color:#343a40!important}.bg-gray-dark,.bg-gray-dark>a{color:#fff!important}.bg-gray-dark.btn:hover{border-color:#1d2124;color:#ececec}.bg-gray-dark.btn.active,.bg-gray-dark.btn:active,.bg-gray-dark.btn:not(:disabled):not(.disabled).active,.bg-gray-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}.bg-gray{background-color:#adb5bd;color:#1f2d3d}.bg-gray-light{background-color:#f2f4f5;color:#1f2d3d!important}.bg-black{background-color:#000;color:#fff!important}.bg-white{background-color:#fff;color:#1f2d3d!important}.bg-gradient-primary{background:#007bff linear-gradient(180deg,#268fff,#007bff) repeat-x!important;color:#fff}.bg-gradient-primary.btn.disabled,.bg-gradient-primary.btn:disabled,.bg-gradient-primary.btn:not(:disabled):not(.disabled).active,.bg-gradient-primary.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-primary.btn.dropdown-toggle{background-image:none!important}.bg-gradient-primary.btn:hover{background:#007bff linear-gradient(180deg,#267fde,#0069d9) repeat-x!important;border-color:#0062cc;color:#ececec}.bg-gradient-primary.btn.active,.bg-gradient-primary.btn:active,.bg-gradient-primary.btn:not(:disabled):not(.disabled).active,.bg-gradient-primary.btn:not(:disabled):not(.disabled):active{background:#007bff linear-gradient(180deg,#267ad4,#0062cc) repeat-x!important;border-color:#005cbf;color:#fff}.bg-gradient-secondary{background:#6c757d linear-gradient(180deg,#828a91,#6c757d) repeat-x!important;color:#fff}.bg-gradient-secondary.btn.disabled,.bg-gradient-secondary.btn:disabled,.bg-gradient-secondary.btn:not(:disabled):not(.disabled).active,.bg-gradient-secondary.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-secondary.btn.dropdown-toggle{background-image:none!important}.bg-gradient-secondary.btn:hover{background:#6c757d linear-gradient(180deg,#73797f,#5a6268) repeat-x!important;border-color:#545b62;color:#ececec}.bg-gradient-secondary.btn.active,.bg-gradient-secondary.btn:active,.bg-gradient-secondary.btn:not(:disabled):not(.disabled).active,.bg-gradient-secondary.btn:not(:disabled):not(.disabled):active{background:#6c757d linear-gradient(180deg,#6e7479,#545b62) repeat-x!important;border-color:#4e555b;color:#fff}.bg-gradient-success{background:#28a745 linear-gradient(180deg,#48b461,#28a745) repeat-x!important;color:#fff}.bg-gradient-success.btn.disabled,.bg-gradient-success.btn:disabled,.bg-gradient-success.btn:not(:disabled):not(.disabled).active,.bg-gradient-success.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-success.btn.dropdown-toggle{background-image:none!important}.bg-gradient-success.btn:hover{background:#28a745 linear-gradient(180deg,#429a56,#218838) repeat-x!important;border-color:#1e7e34;color:#ececec}.bg-gradient-success.btn.active,.bg-gradient-success.btn:active,.bg-gradient-success.btn:not(:disabled):not(.disabled).active,.bg-gradient-success.btn:not(:disabled):not(.disabled):active{background:#28a745 linear-gradient(180deg,#409152,#1e7e34) repeat-x!important;border-color:#1c7430;color:#fff}.bg-gradient-info{background:#17a2b8 linear-gradient(180deg,#3ab0c3,#17a2b8) repeat-x!important;color:#fff}.bg-gradient-info.btn.disabled,.bg-gradient-info.btn:disabled,.bg-gradient-info.btn:not(:disabled):not(.disabled).active,.bg-gradient-info.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-info.btn.dropdown-toggle{background-image:none!important}.bg-gradient-info.btn:hover{background:#17a2b8 linear-gradient(180deg,#3697a6,#138496) repeat-x!important;border-color:#117a8b;color:#ececec}.bg-gradient-info.btn.active,.bg-gradient-info.btn:active,.bg-gradient-info.btn:not(:disabled):not(.disabled).active,.bg-gradient-info.btn:not(:disabled):not(.disabled):active{background:#17a2b8 linear-gradient(180deg,#358e9c,#117a8b) repeat-x!important;border-color:#10707f;color:#fff}.bg-gradient-warning{background:#ffc107 linear-gradient(180deg,#ffca2c,#ffc107) repeat-x!important;color:#1f2d3d}.bg-gradient-warning.btn.disabled,.bg-gradient-warning.btn:disabled,.bg-gradient-warning.btn:not(:disabled):not(.disabled).active,.bg-gradient-warning.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-warning.btn.dropdown-toggle{background-image:none!important}.bg-gradient-warning.btn:hover{background:#ffc107 linear-gradient(180deg,#e4b526,#e0a800) repeat-x!important;border-color:#d39e00;color:#121a24}.bg-gradient-warning.btn.active,.bg-gradient-warning.btn:active,.bg-gradient-warning.btn:not(:disabled):not(.disabled).active,.bg-gradient-warning.btn:not(:disabled):not(.disabled):active{background:#ffc107 linear-gradient(180deg,#daad26,#d39e00) repeat-x!important;border-color:#c69500;color:#1f2d3d}.bg-gradient-danger{background:#dc3545 linear-gradient(180deg,#e15361,#dc3545) repeat-x!important;color:#fff}.bg-gradient-danger.btn.disabled,.bg-gradient-danger.btn:disabled,.bg-gradient-danger.btn:not(:disabled):not(.disabled).active,.bg-gradient-danger.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-danger.btn.dropdown-toggle{background-image:none!important}.bg-gradient-danger.btn:hover{background:#dc3545 linear-gradient(180deg,#d04451,#c82333) repeat-x!important;border-color:#bd2130;color:#ececec}.bg-gradient-danger.btn.active,.bg-gradient-danger.btn:active,.bg-gradient-danger.btn:not(:disabled):not(.disabled).active,.bg-gradient-danger.btn:not(:disabled):not(.disabled):active{background:#dc3545 linear-gradient(180deg,#c7424f,#bd2130) repeat-x!important;border-color:#b21f2d;color:#fff}.bg-gradient-light{background:#f8f9fa linear-gradient(180deg,#f9fafb,#f8f9fa) repeat-x!important;color:#1f2d3d}.bg-gradient-light.btn.disabled,.bg-gradient-light.btn:disabled,.bg-gradient-light.btn:not(:disabled):not(.disabled).active,.bg-gradient-light.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-light.btn.dropdown-toggle{background-image:none!important}.bg-gradient-light.btn:hover{background:#f8f9fa linear-gradient(180deg,#e6eaed,#e2e6ea) repeat-x!important;border-color:#dae0e5;color:#121a24}.bg-gradient-light.btn.active,.bg-gradient-light.btn:active,.bg-gradient-light.btn:not(:disabled):not(.disabled).active,.bg-gradient-light.btn:not(:disabled):not(.disabled):active{background:#f8f9fa linear-gradient(180deg,#e0e4e9,#dae0e5) repeat-x!important;border-color:#d3d9df;color:#1f2d3d}.bg-gradient-dark{background:#343a40 linear-gradient(180deg,#52585d,#343a40) repeat-x!important;color:#fff}.bg-gradient-dark.btn.disabled,.bg-gradient-dark.btn:disabled,.bg-gradient-dark.btn:not(:disabled):not(.disabled).active,.bg-gradient-dark.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-dark.btn.dropdown-toggle{background-image:none!important}.bg-gradient-dark.btn:hover{background:#343a40 linear-gradient(180deg,#44474b,#23272b) repeat-x!important;border-color:#1d2124;color:#ececec}.bg-gradient-dark.btn.active,.bg-gradient-dark.btn:active,.bg-gradient-dark.btn:not(:disabled):not(.disabled).active,.bg-gradient-dark.btn:not(:disabled):not(.disabled):active{background:#343a40 linear-gradient(180deg,#3f4245,#1d2124) repeat-x!important;border-color:#171a1d;color:#fff}.bg-gradient-lightblue{background:#3c8dbc linear-gradient(180deg,#599ec6,#3c8dbc) repeat-x!important;color:#fff}.bg-gradient-lightblue.btn.disabled,.bg-gradient-lightblue.btn:disabled,.bg-gradient-lightblue.btn:not(:disabled):not(.disabled).active,.bg-gradient-lightblue.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-lightblue.btn.dropdown-toggle{background-image:none!important}.bg-gradient-lightblue.btn:hover{background:#3c8dbc linear-gradient(180deg,#518cad,#33779f) repeat-x!important;border-color:#307095;color:#ececec}.bg-gradient-lightblue.btn.active,.bg-gradient-lightblue.btn:active,.bg-gradient-lightblue.btn:not(:disabled):not(.disabled).active,.bg-gradient-lightblue.btn:not(:disabled):not(.disabled):active{background:#3c8dbc linear-gradient(180deg,#4f85a5,#307095) repeat-x!important;border-color:#2d698c;color:#fff}.bg-gradient-navy{background:#001f3f linear-gradient(180deg,#26415c,#001f3f) repeat-x!important;color:#fff}.bg-gradient-navy.btn.disabled,.bg-gradient-navy.btn:disabled,.bg-gradient-navy.btn:not(:disabled):not(.disabled).active,.bg-gradient-navy.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-navy.btn.dropdown-toggle{background-image:none!important}.bg-gradient-navy.btn:hover{background:#001f3f linear-gradient(180deg,#26313b,#000c19) repeat-x!important;border-color:#00060c;color:#ececec}.bg-gradient-navy.btn.active,.bg-gradient-navy.btn:active,.bg-gradient-navy.btn:not(:disabled):not(.disabled).active,.bg-gradient-navy.btn:not(:disabled):not(.disabled):active{background:#001f3f linear-gradient(180deg,#262b30,#00060c) repeat-x!important;border-color:#000;color:#fff}.bg-gradient-olive{background:#3d9970 linear-gradient(180deg,#5aa885,#3d9970) repeat-x!important;color:#fff}.bg-gradient-olive.btn.disabled,.bg-gradient-olive.btn:disabled,.bg-gradient-olive.btn:not(:disabled):not(.disabled).active,.bg-gradient-olive.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-olive.btn.dropdown-toggle{background-image:none!important}.bg-gradient-olive.btn:hover{background:#3d9970 linear-gradient(180deg,#519174,#327e5c) repeat-x!important;border-color:#2e7555;color:#ececec}.bg-gradient-olive.btn.active,.bg-gradient-olive.btn:active,.bg-gradient-olive.btn:not(:disabled):not(.disabled).active,.bg-gradient-olive.btn:not(:disabled):not(.disabled):active{background:#3d9970 linear-gradient(180deg,#4e896f,#2e7555) repeat-x!important;border-color:#2b6b4f;color:#fff}.bg-gradient-lime{background:#01ff70 linear-gradient(180deg,#27ff85,#01ff70) repeat-x!important;color:#1f2d3d}.bg-gradient-lime.btn.disabled,.bg-gradient-lime.btn:disabled,.bg-gradient-lime.btn:not(:disabled):not(.disabled).active,.bg-gradient-lime.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-lime.btn.dropdown-toggle{background-image:none!important}.bg-gradient-lime.btn:hover{background:#01ff70 linear-gradient(180deg,#26df77,#00da5f) repeat-x!important;border-color:#00cd5a;color:#121a24}.bg-gradient-lime.btn.active,.bg-gradient-lime.btn:active,.bg-gradient-lime.btn:not(:disabled):not(.disabled).active,.bg-gradient-lime.btn:not(:disabled):not(.disabled):active{background:#01ff70 linear-gradient(180deg,#26d572,#00cd5a) repeat-x!important;border-color:#00c054;color:#fff}.bg-gradient-fuchsia{background:#f012be linear-gradient(180deg,#f236c8,#f012be) repeat-x!important;color:#fff}.bg-gradient-fuchsia.btn.disabled,.bg-gradient-fuchsia.btn:disabled,.bg-gradient-fuchsia.btn:not(:disabled):not(.disabled).active,.bg-gradient-fuchsia.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-fuchsia.btn.dropdown-toggle{background-image:none!important}.bg-gradient-fuchsia.btn:hover{background:#f012be linear-gradient(180deg,#d631b1,#cf0da3) repeat-x!important;border-color:#c30c9a;color:#ececec}.bg-gradient-fuchsia.btn.active,.bg-gradient-fuchsia.btn:active,.bg-gradient-fuchsia.btn:not(:disabled):not(.disabled).active,.bg-gradient-fuchsia.btn:not(:disabled):not(.disabled):active{background:#f012be linear-gradient(180deg,#cc31a9,#c30c9a) repeat-x!important;border-color:#b70c90;color:#fff}.bg-gradient-maroon{background:#d81b60 linear-gradient(180deg,#de3d78,#d81b60) repeat-x!important;color:#fff}.bg-gradient-maroon.btn.disabled,.bg-gradient-maroon.btn:disabled,.bg-gradient-maroon.btn:not(:disabled):not(.disabled).active,.bg-gradient-maroon.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-maroon.btn.dropdown-toggle{background-image:none!important}.bg-gradient-maroon.btn:hover{background:#d81b60 linear-gradient(180deg,#c13a6b,#b61751) repeat-x!important;border-color:#ab154c;color:#ececec}.bg-gradient-maroon.btn.active,.bg-gradient-maroon.btn:active,.bg-gradient-maroon.btn:not(:disabled):not(.disabled).active,.bg-gradient-maroon.btn:not(:disabled):not(.disabled):active{background:#d81b60 linear-gradient(180deg,#b73867,#ab154c) repeat-x!important;border-color:#9f1447;color:#fff}.bg-gradient-blue{background:#007bff linear-gradient(180deg,#268fff,#007bff) repeat-x!important;color:#fff}.bg-gradient-blue.btn.disabled,.bg-gradient-blue.btn:disabled,.bg-gradient-blue.btn:not(:disabled):not(.disabled).active,.bg-gradient-blue.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-blue.btn.dropdown-toggle{background-image:none!important}.bg-gradient-blue.btn:hover{background:#007bff linear-gradient(180deg,#267fde,#0069d9) repeat-x!important;border-color:#0062cc;color:#ececec}.bg-gradient-blue.btn.active,.bg-gradient-blue.btn:active,.bg-gradient-blue.btn:not(:disabled):not(.disabled).active,.bg-gradient-blue.btn:not(:disabled):not(.disabled):active{background:#007bff linear-gradient(180deg,#267ad4,#0062cc) repeat-x!important;border-color:#005cbf;color:#fff}.bg-gradient-indigo{background:#6610f2 linear-gradient(180deg,#7d34f4,#6610f2) repeat-x!important;color:#fff}.bg-gradient-indigo.btn.disabled,.bg-gradient-indigo.btn:disabled,.bg-gradient-indigo.btn:not(:disabled):not(.disabled).active,.bg-gradient-indigo.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-indigo.btn.dropdown-toggle{background-image:none!important}.bg-gradient-indigo.btn:hover{background:#6610f2 linear-gradient(180deg,#7030d7,#560bd0) repeat-x!important;border-color:#510bc4;color:#ececec}.bg-gradient-indigo.btn.active,.bg-gradient-indigo.btn:active,.bg-gradient-indigo.btn:not(:disabled):not(.disabled).active,.bg-gradient-indigo.btn:not(:disabled):not(.disabled):active{background:#6610f2 linear-gradient(180deg,#6b2fcd,#510bc4) repeat-x!important;border-color:#4c0ab8;color:#fff}.bg-gradient-purple{background:#6f42c1 linear-gradient(180deg,#855eca,#6f42c1) repeat-x!important;color:#fff}.bg-gradient-purple.btn.disabled,.bg-gradient-purple.btn:disabled,.bg-gradient-purple.btn:not(:disabled):not(.disabled).active,.bg-gradient-purple.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-purple.btn.dropdown-toggle{background-image:none!important}.bg-gradient-purple.btn:hover{background:#6f42c1 linear-gradient(180deg,#7655b4,#5e37a6) repeat-x!important;border-color:#59339d;color:#ececec}.bg-gradient-purple.btn.active,.bg-gradient-purple.btn:active,.bg-gradient-purple.btn:not(:disabled):not(.disabled).active,.bg-gradient-purple.btn:not(:disabled):not(.disabled):active{background:#6f42c1 linear-gradient(180deg,#7252ab,#59339d) repeat-x!important;border-color:#533093;color:#fff}.bg-gradient-pink{background:#e83e8c linear-gradient(180deg,#eb5b9d,#e83e8c) repeat-x!important;color:#fff}.bg-gradient-pink.btn.disabled,.bg-gradient-pink.btn:disabled,.bg-gradient-pink.btn:not(:disabled):not(.disabled).active,.bg-gradient-pink.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-pink.btn.dropdown-toggle{background-image:none!important}.bg-gradient-pink.btn:hover{background:#e83e8c linear-gradient(180deg,#e83e8c,#e41c78) repeat-x!important;border-color:#d91a72;color:#ececec}.bg-gradient-pink.btn.active,.bg-gradient-pink.btn:active,.bg-gradient-pink.btn:not(:disabled):not(.disabled).active,.bg-gradient-pink.btn:not(:disabled):not(.disabled):active{background:#e83e8c linear-gradient(180deg,#df3c87,#d91a72) repeat-x!important;border-color:#ce196c;color:#fff}.bg-gradient-red{background:#dc3545 linear-gradient(180deg,#e15361,#dc3545) repeat-x!important;color:#fff}.bg-gradient-red.btn.disabled,.bg-gradient-red.btn:disabled,.bg-gradient-red.btn:not(:disabled):not(.disabled).active,.bg-gradient-red.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-red.btn.dropdown-toggle{background-image:none!important}.bg-gradient-red.btn:hover{background:#dc3545 linear-gradient(180deg,#d04451,#c82333) repeat-x!important;border-color:#bd2130;color:#ececec}.bg-gradient-red.btn.active,.bg-gradient-red.btn:active,.bg-gradient-red.btn:not(:disabled):not(.disabled).active,.bg-gradient-red.btn:not(:disabled):not(.disabled):active{background:#dc3545 linear-gradient(180deg,#c7424f,#bd2130) repeat-x!important;border-color:#b21f2d;color:#fff}.bg-gradient-orange{background:#fd7e14 linear-gradient(180deg,#fd9137,#fd7e14) repeat-x!important;color:#1f2d3d}.bg-gradient-orange.btn.disabled,.bg-gradient-orange.btn:disabled,.bg-gradient-orange.btn:not(:disabled):not(.disabled).active,.bg-gradient-orange.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-orange.btn.dropdown-toggle{background-image:none!important}.bg-gradient-orange.btn:hover{background:#fd7e14 linear-gradient(180deg,#ec8128,#e96b02) repeat-x!important;border-color:#dc6502;color:#121a24}.bg-gradient-orange.btn.active,.bg-gradient-orange.btn:active,.bg-gradient-orange.btn:not(:disabled):not(.disabled).active,.bg-gradient-orange.btn:not(:disabled):not(.disabled):active{background:#fd7e14 linear-gradient(180deg,#e17c28,#dc6502) repeat-x!important;border-color:#cf5f02;color:#fff}.bg-gradient-yellow{background:#ffc107 linear-gradient(180deg,#ffca2c,#ffc107) repeat-x!important;color:#1f2d3d}.bg-gradient-yellow.btn.disabled,.bg-gradient-yellow.btn:disabled,.bg-gradient-yellow.btn:not(:disabled):not(.disabled).active,.bg-gradient-yellow.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-yellow.btn.dropdown-toggle{background-image:none!important}.bg-gradient-yellow.btn:hover{background:#ffc107 linear-gradient(180deg,#e4b526,#e0a800) repeat-x!important;border-color:#d39e00;color:#121a24}.bg-gradient-yellow.btn.active,.bg-gradient-yellow.btn:active,.bg-gradient-yellow.btn:not(:disabled):not(.disabled).active,.bg-gradient-yellow.btn:not(:disabled):not(.disabled):active{background:#ffc107 linear-gradient(180deg,#daad26,#d39e00) repeat-x!important;border-color:#c69500;color:#1f2d3d}.bg-gradient-green{background:#28a745 linear-gradient(180deg,#48b461,#28a745) repeat-x!important;color:#fff}.bg-gradient-green.btn.disabled,.bg-gradient-green.btn:disabled,.bg-gradient-green.btn:not(:disabled):not(.disabled).active,.bg-gradient-green.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-green.btn.dropdown-toggle{background-image:none!important}.bg-gradient-green.btn:hover{background:#28a745 linear-gradient(180deg,#429a56,#218838) repeat-x!important;border-color:#1e7e34;color:#ececec}.bg-gradient-green.btn.active,.bg-gradient-green.btn:active,.bg-gradient-green.btn:not(:disabled):not(.disabled).active,.bg-gradient-green.btn:not(:disabled):not(.disabled):active{background:#28a745 linear-gradient(180deg,#409152,#1e7e34) repeat-x!important;border-color:#1c7430;color:#fff}.bg-gradient-teal{background:#20c997 linear-gradient(180deg,#41d1a7,#20c997) repeat-x!important;color:#fff}.bg-gradient-teal.btn.disabled,.bg-gradient-teal.btn:disabled,.bg-gradient-teal.btn:not(:disabled):not(.disabled).active,.bg-gradient-teal.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-teal.btn.dropdown-toggle{background-image:none!important}.bg-gradient-teal.btn:hover{background:#20c997 linear-gradient(180deg,#3db592,#1ba87e) repeat-x!important;border-color:#199d76;color:#ececec}.bg-gradient-teal.btn.active,.bg-gradient-teal.btn:active,.bg-gradient-teal.btn:not(:disabled):not(.disabled).active,.bg-gradient-teal.btn:not(:disabled):not(.disabled):active{background:#20c997 linear-gradient(180deg,#3bac8b,#199d76) repeat-x!important;border-color:#17926e;color:#fff}.bg-gradient-cyan{background:#17a2b8 linear-gradient(180deg,#3ab0c3,#17a2b8) repeat-x!important;color:#fff}.bg-gradient-cyan.btn.disabled,.bg-gradient-cyan.btn:disabled,.bg-gradient-cyan.btn:not(:disabled):not(.disabled).active,.bg-gradient-cyan.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-cyan.btn.dropdown-toggle{background-image:none!important}.bg-gradient-cyan.btn:hover{background:#17a2b8 linear-gradient(180deg,#3697a6,#138496) repeat-x!important;border-color:#117a8b;color:#ececec}.bg-gradient-cyan.btn.active,.bg-gradient-cyan.btn:active,.bg-gradient-cyan.btn:not(:disabled):not(.disabled).active,.bg-gradient-cyan.btn:not(:disabled):not(.disabled):active{background:#17a2b8 linear-gradient(180deg,#358e9c,#117a8b) repeat-x!important;border-color:#10707f;color:#fff}.bg-gradient-white{background:#fff linear-gradient(180deg,#fff,#fff) repeat-x!important;color:#1f2d3d}.bg-gradient-white.btn.disabled,.bg-gradient-white.btn:disabled,.bg-gradient-white.btn:not(:disabled):not(.disabled).active,.bg-gradient-white.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-white.btn.dropdown-toggle{background-image:none!important}.bg-gradient-white.btn:hover{background:#fff linear-gradient(180deg,#efefef,#ececec) repeat-x!important;border-color:#e6e6e6;color:#121a24}.bg-gradient-white.btn.active,.bg-gradient-white.btn:active,.bg-gradient-white.btn:not(:disabled):not(.disabled).active,.bg-gradient-white.btn:not(:disabled):not(.disabled):active{background:#fff linear-gradient(180deg,#e9e9e9,#e6e6e6) repeat-x!important;border-color:#dfdfdf;color:#1f2d3d}.bg-gradient-gray{background:#6c757d linear-gradient(180deg,#828a91,#6c757d) repeat-x!important;color:#fff}.bg-gradient-gray.btn.disabled,.bg-gradient-gray.btn:disabled,.bg-gradient-gray.btn:not(:disabled):not(.disabled).active,.bg-gradient-gray.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-gray.btn.dropdown-toggle{background-image:none!important}.bg-gradient-gray.btn:hover{background:#6c757d linear-gradient(180deg,#73797f,#5a6268) repeat-x!important;border-color:#545b62;color:#ececec}.bg-gradient-gray.btn.active,.bg-gradient-gray.btn:active,.bg-gradient-gray.btn:not(:disabled):not(.disabled).active,.bg-gradient-gray.btn:not(:disabled):not(.disabled):active{background:#6c757d linear-gradient(180deg,#6e7479,#545b62) repeat-x!important;border-color:#4e555b;color:#fff}.bg-gradient-gray-dark{background:#343a40 linear-gradient(180deg,#52585d,#343a40) repeat-x!important;color:#fff}.bg-gradient-gray-dark.btn.disabled,.bg-gradient-gray-dark.btn:disabled,.bg-gradient-gray-dark.btn:not(:disabled):not(.disabled).active,.bg-gradient-gray-dark.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-gray-dark.btn.dropdown-toggle{background-image:none!important}.bg-gradient-gray-dark.btn:hover{background:#343a40 linear-gradient(180deg,#44474b,#23272b) repeat-x!important;border-color:#1d2124;color:#ececec}.bg-gradient-gray-dark.btn.active,.bg-gradient-gray-dark.btn:active,.bg-gradient-gray-dark.btn:not(:disabled):not(.disabled).active,.bg-gradient-gray-dark.btn:not(:disabled):not(.disabled):active{background:#343a40 linear-gradient(180deg,#3f4245,#1d2124) repeat-x!important;border-color:#171a1d;color:#fff}[class^=bg-].disabled{opacity:.65}a.text-muted:hover{color:#007bff!important}.link-muted{color:#5d6974}.link-muted:focus,.link-muted:hover{color:#464f58}.link-black{color:#6c757d}.link-black:focus,.link-black:hover{color:#e6e8ea}.accent-primary .btn-link,.accent-primary .nav-tabs .nav-link,.accent-primary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#007bff}.accent-primary .btn-link:hover,.accent-primary .nav-tabs .nav-link:hover,.accent-primary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#0056b3}.accent-primary .dropdown-item.active,.accent-primary .dropdown-item:active{background-color:#007bff;color:#fff}.accent-primary .custom-control-input:checked~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.accent-primary .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")}.accent-primary .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-primary .custom-file-input:focus~.custom-file-label,.accent-primary .custom-select:focus,.accent-primary .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#80bdff}.accent-primary .page-item .page-link{color:#007bff}.accent-primary .page-item.active .page-link,.accent-primary .page-item.active a{background-color:#007bff;border-color:#007bff;color:#fff}.accent-primary .page-item.disabled .page-link,.accent-primary .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-primary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-primary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-primary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-primary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-primary .page-item .page-link:focus,.dark-mode.accent-primary .page-item .page-link:hover{color:#1a88ff}.accent-secondary .btn-link,.accent-secondary .nav-tabs .nav-link,.accent-secondary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#6c757d}.accent-secondary .btn-link:hover,.accent-secondary .nav-tabs .nav-link:hover,.accent-secondary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#494f54}.accent-secondary .dropdown-item.active,.accent-secondary .dropdown-item:active{background-color:#6c757d;color:#fff}.accent-secondary .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.accent-secondary .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")}.accent-secondary .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-secondary .custom-file-input:focus~.custom-file-label,.accent-secondary .custom-select:focus,.accent-secondary .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#afb5ba}.accent-secondary .page-item .page-link{color:#6c757d}.accent-secondary .page-item.active .page-link,.accent-secondary .page-item.active a{background-color:#6c757d;border-color:#6c757d;color:#fff}.accent-secondary .page-item.disabled .page-link,.accent-secondary .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-secondary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-secondary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-secondary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-secondary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-secondary .page-item .page-link:focus,.dark-mode.accent-secondary .page-item .page-link:hover{color:#78828a}.accent-success .btn-link,.accent-success .nav-tabs .nav-link,.accent-success a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#28a745}.accent-success .btn-link:hover,.accent-success .nav-tabs .nav-link:hover,.accent-success a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#19692c}.accent-success .dropdown-item.active,.accent-success .dropdown-item:active{background-color:#28a745;color:#fff}.accent-success .custom-control-input:checked~.custom-control-label::before{background-color:#28a745;border-color:#145523}.accent-success .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")}.accent-success .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-success .custom-file-input:focus~.custom-file-label,.accent-success .custom-select:focus,.accent-success .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#71dd8a}.accent-success .page-item .page-link{color:#28a745}.accent-success .page-item.active .page-link,.accent-success .page-item.active a{background-color:#28a745;border-color:#28a745;color:#fff}.accent-success .page-item.disabled .page-link,.accent-success .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-success [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-success [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-success [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-success [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-success .page-item .page-link:focus,.dark-mode.accent-success .page-item .page-link:hover{color:#2dbc4e}.accent-info .btn-link,.accent-info .nav-tabs .nav-link,.accent-info a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#17a2b8}.accent-info .btn-link:hover,.accent-info .nav-tabs .nav-link:hover,.accent-info a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#0f6674}.accent-info .dropdown-item.active,.accent-info .dropdown-item:active{background-color:#17a2b8;color:#fff}.accent-info .custom-control-input:checked~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.accent-info .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")}.accent-info .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-info .custom-file-input:focus~.custom-file-label,.accent-info .custom-select:focus,.accent-info .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#63d9ec}.accent-info .page-item .page-link{color:#17a2b8}.accent-info .page-item.active .page-link,.accent-info .page-item.active a{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.accent-info .page-item.disabled .page-link,.accent-info .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-info [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-info [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-info [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-info [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-info .page-item .page-link:focus,.dark-mode.accent-info .page-item .page-link:hover{color:#1ab6cf}.accent-warning .btn-link,.accent-warning .nav-tabs .nav-link,.accent-warning a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#ffc107}.accent-warning .btn-link:hover,.accent-warning .nav-tabs .nav-link:hover,.accent-warning a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#ba8b00}.accent-warning .dropdown-item.active,.accent-warning .dropdown-item:active{background-color:#ffc107;color:#1f2d3d}.accent-warning .custom-control-input:checked~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.accent-warning .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='%231f2d3d' 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")}.accent-warning .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-warning .custom-file-input:focus~.custom-file-label,.accent-warning .custom-select:focus,.accent-warning .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#ffe187}.accent-warning .page-item .page-link{color:#ffc107}.accent-warning .page-item.active .page-link,.accent-warning .page-item.active a{background-color:#ffc107;border-color:#ffc107;color:#fff}.accent-warning .page-item.disabled .page-link,.accent-warning .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-warning [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-warning [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-warning [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-warning [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-warning .page-item .page-link:focus,.dark-mode.accent-warning .page-item .page-link:hover{color:#ffc721}.accent-danger .btn-link,.accent-danger .nav-tabs .nav-link,.accent-danger a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#dc3545}.accent-danger .btn-link:hover,.accent-danger .nav-tabs .nav-link:hover,.accent-danger a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#a71d2a}.accent-danger .dropdown-item.active,.accent-danger .dropdown-item:active{background-color:#dc3545;color:#fff}.accent-danger .custom-control-input:checked~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.accent-danger .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")}.accent-danger .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-danger .custom-file-input:focus~.custom-file-label,.accent-danger .custom-select:focus,.accent-danger .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#efa2a9}.accent-danger .page-item .page-link{color:#dc3545}.accent-danger .page-item.active .page-link,.accent-danger .page-item.active a{background-color:#dc3545;border-color:#dc3545;color:#fff}.accent-danger .page-item.disabled .page-link,.accent-danger .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-danger [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-danger [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-danger [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-danger [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-danger .page-item .page-link:focus,.dark-mode.accent-danger .page-item .page-link:hover{color:#e04b59}.accent-light .btn-link,.accent-light .nav-tabs .nav-link,.accent-light a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#f8f9fa}.accent-light .btn-link:hover,.accent-light .nav-tabs .nav-link:hover,.accent-light a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#cbd3da}.accent-light .dropdown-item.active,.accent-light .dropdown-item:active{background-color:#f8f9fa;color:#1f2d3d}.accent-light .custom-control-input:checked~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.accent-light .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='%231f2d3d' 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")}.accent-light .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-light .custom-file-input:focus~.custom-file-label,.accent-light .custom-select:focus,.accent-light .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fff}.accent-light .page-item .page-link{color:#f8f9fa}.accent-light .page-item.active .page-link,.accent-light .page-item.active a{background-color:#f8f9fa;border-color:#f8f9fa;color:#fff}.accent-light .page-item.disabled .page-link,.accent-light .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-light [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-light [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-light [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-light [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-light .page-item .page-link:focus,.dark-mode.accent-light .page-item .page-link:hover{color:#fff}.accent-dark .btn-link,.accent-dark .nav-tabs .nav-link,.accent-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#343a40}.accent-dark .btn-link:hover,.accent-dark .nav-tabs .nav-link:hover,.accent-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#121416}.accent-dark .dropdown-item.active,.accent-dark .dropdown-item:active{background-color:#343a40;color:#fff}.accent-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.accent-dark .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")}.accent-dark .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-dark .custom-file-input:focus~.custom-file-label,.accent-dark .custom-select:focus,.accent-dark .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#6d7a86}.accent-dark .page-item .page-link{color:#343a40}.accent-dark .page-item.active .page-link,.accent-dark .page-item.active a{background-color:#343a40;border-color:#343a40;color:#fff}.accent-dark .page-item.disabled .page-link,.accent-dark .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-dark .page-item .page-link:focus,.dark-mode.accent-dark .page-item .page-link:hover{color:#3f474e}.accent-lightblue .btn-link,.accent-lightblue .nav-tabs .nav-link,.accent-lightblue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#3c8dbc}.accent-lightblue .btn-link:hover,.accent-lightblue .nav-tabs .nav-link:hover,.accent-lightblue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#296282}.accent-lightblue .dropdown-item.active,.accent-lightblue .dropdown-item:active{background-color:#3c8dbc;color:#fff}.accent-lightblue .custom-control-input:checked~.custom-control-label::before{background-color:#3c8dbc;border-color:#23536f}.accent-lightblue .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")}.accent-lightblue .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-lightblue .custom-file-input:focus~.custom-file-label,.accent-lightblue .custom-select:focus,.accent-lightblue .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#99c5de}.accent-lightblue .page-item .page-link{color:#3c8dbc}.accent-lightblue .page-item.active .page-link,.accent-lightblue .page-item.active a{background-color:#3c8dbc;border-color:#3c8dbc;color:#fff}.accent-lightblue .page-item.disabled .page-link,.accent-lightblue .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-lightblue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-lightblue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-lightblue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-lightblue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-lightblue .page-item .page-link:focus,.dark-mode.accent-lightblue .page-item .page-link:hover{color:#4c99c6}.accent-navy .btn-link,.accent-navy .nav-tabs .nav-link,.accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#001f3f}.accent-navy .btn-link:hover,.accent-navy .nav-tabs .nav-link:hover,.accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#000}.accent-navy .dropdown-item.active,.accent-navy .dropdown-item:active{background-color:#001f3f;color:#fff}.accent-navy .custom-control-input:checked~.custom-control-label::before{background-color:#001f3f;border-color:#000}.accent-navy .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")}.accent-navy .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-navy .custom-file-input:focus~.custom-file-label,.accent-navy .custom-select:focus,.accent-navy .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#005ebf}.accent-navy .page-item .page-link{color:#001f3f}.accent-navy .page-item.active .page-link,.accent-navy .page-item.active a{background-color:#001f3f;border-color:#001f3f;color:#fff}.accent-navy .page-item.disabled .page-link,.accent-navy .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-navy [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-navy [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-navy [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-navy [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-navy .page-item .page-link:focus,.dark-mode.accent-navy .page-item .page-link:hover{color:#002c59}.accent-olive .btn-link,.accent-olive .nav-tabs .nav-link,.accent-olive a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#3d9970}.accent-olive .btn-link:hover,.accent-olive .nav-tabs .nav-link:hover,.accent-olive a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#276248}.accent-olive .dropdown-item.active,.accent-olive .dropdown-item:active{background-color:#3d9970;color:#fff}.accent-olive .custom-control-input:checked~.custom-control-label::before{background-color:#3d9970;border-color:#20503b}.accent-olive .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")}.accent-olive .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-olive .custom-file-input:focus~.custom-file-label,.accent-olive .custom-select:focus,.accent-olive .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#87cfaf}.accent-olive .page-item .page-link{color:#3d9970}.accent-olive .page-item.active .page-link,.accent-olive .page-item.active a{background-color:#3d9970;border-color:#3d9970;color:#fff}.accent-olive .page-item.disabled .page-link,.accent-olive .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-olive [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-olive [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-olive [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-olive [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-olive .page-item .page-link:focus,.dark-mode.accent-olive .page-item .page-link:hover{color:#44ab7d}.accent-lime .btn-link,.accent-lime .nav-tabs .nav-link,.accent-lime a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#01ff70}.accent-lime .btn-link:hover,.accent-lime .nav-tabs .nav-link:hover,.accent-lime a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#00b44e}.accent-lime .dropdown-item.active,.accent-lime .dropdown-item:active{background-color:#01ff70;color:#1f2d3d}.accent-lime .custom-control-input:checked~.custom-control-label::before{background-color:#01ff70;border-color:#009a43}.accent-lime .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='%231f2d3d' 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")}.accent-lime .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-lime .custom-file-input:focus~.custom-file-label,.accent-lime .custom-select:focus,.accent-lime .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#81ffb8}.accent-lime .page-item .page-link{color:#01ff70}.accent-lime .page-item.active .page-link,.accent-lime .page-item.active a{background-color:#01ff70;border-color:#01ff70;color:#fff}.accent-lime .page-item.disabled .page-link,.accent-lime .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-lime [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-lime [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-lime [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-lime [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-lime .page-item .page-link:focus,.dark-mode.accent-lime .page-item .page-link:hover{color:#1bff7e}.accent-fuchsia .btn-link,.accent-fuchsia .nav-tabs .nav-link,.accent-fuchsia a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#f012be}.accent-fuchsia .btn-link:hover,.accent-fuchsia .nav-tabs .nav-link:hover,.accent-fuchsia a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#ab0b87}.accent-fuchsia .dropdown-item.active,.accent-fuchsia .dropdown-item:active{background-color:#f012be;color:#fff}.accent-fuchsia .custom-control-input:checked~.custom-control-label::before{background-color:#f012be;border-color:#930974}.accent-fuchsia .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")}.accent-fuchsia .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-fuchsia .custom-file-input:focus~.custom-file-label,.accent-fuchsia .custom-select:focus,.accent-fuchsia .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f88adf}.accent-fuchsia .page-item .page-link{color:#f012be}.accent-fuchsia .page-item.active .page-link,.accent-fuchsia .page-item.active a{background-color:#f012be;border-color:#f012be;color:#fff}.accent-fuchsia .page-item.disabled .page-link,.accent-fuchsia .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-fuchsia [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-fuchsia [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-fuchsia [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-fuchsia [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-fuchsia .page-item .page-link:focus,.dark-mode.accent-fuchsia .page-item .page-link:hover{color:#f22ac5}.accent-maroon .btn-link,.accent-maroon .nav-tabs .nav-link,.accent-maroon a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#d81b60}.accent-maroon .btn-link:hover,.accent-maroon .nav-tabs .nav-link:hover,.accent-maroon a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#941342}.accent-maroon .dropdown-item.active,.accent-maroon .dropdown-item:active{background-color:#d81b60;color:#fff}.accent-maroon .custom-control-input:checked~.custom-control-label::before{background-color:#d81b60;border-color:#7d1038}.accent-maroon .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")}.accent-maroon .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-maroon .custom-file-input:focus~.custom-file-label,.accent-maroon .custom-select:focus,.accent-maroon .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f083ab}.accent-maroon .page-item .page-link{color:#d81b60}.accent-maroon .page-item.active .page-link,.accent-maroon .page-item.active a{background-color:#d81b60;border-color:#d81b60;color:#fff}.accent-maroon .page-item.disabled .page-link,.accent-maroon .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-maroon [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-maroon [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-maroon [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-maroon [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-maroon .page-item .page-link:focus,.dark-mode.accent-maroon .page-item .page-link:hover{color:#e4286d}.accent-blue .btn-link,.accent-blue .nav-tabs .nav-link,.accent-blue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#007bff}.accent-blue .btn-link:hover,.accent-blue .nav-tabs .nav-link:hover,.accent-blue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#0056b3}.accent-blue .dropdown-item.active,.accent-blue .dropdown-item:active{background-color:#007bff;color:#fff}.accent-blue .custom-control-input:checked~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.accent-blue .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")}.accent-blue .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-blue .custom-file-input:focus~.custom-file-label,.accent-blue .custom-select:focus,.accent-blue .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#80bdff}.accent-blue .page-item .page-link{color:#007bff}.accent-blue .page-item.active .page-link,.accent-blue .page-item.active a{background-color:#007bff;border-color:#007bff;color:#fff}.accent-blue .page-item.disabled .page-link,.accent-blue .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-blue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-blue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-blue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-blue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-blue .page-item .page-link:focus,.dark-mode.accent-blue .page-item .page-link:hover{color:#1a88ff}.accent-indigo .btn-link,.accent-indigo .nav-tabs .nav-link,.accent-indigo a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#6610f2}.accent-indigo .btn-link:hover,.accent-indigo .nav-tabs .nav-link:hover,.accent-indigo a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#4709ac}.accent-indigo .dropdown-item.active,.accent-indigo .dropdown-item:active{background-color:#6610f2;color:#fff}.accent-indigo .custom-control-input:checked~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.accent-indigo .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")}.accent-indigo .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-indigo .custom-file-input:focus~.custom-file-label,.accent-indigo .custom-select:focus,.accent-indigo .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#b389f9}.accent-indigo .page-item .page-link{color:#6610f2}.accent-indigo .page-item.active .page-link,.accent-indigo .page-item.active a{background-color:#6610f2;border-color:#6610f2;color:#fff}.accent-indigo .page-item.disabled .page-link,.accent-indigo .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-indigo [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-indigo [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-indigo [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-indigo [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-indigo .page-item .page-link:focus,.dark-mode.accent-indigo .page-item .page-link:hover{color:#7528f3}.accent-purple .btn-link,.accent-purple .nav-tabs .nav-link,.accent-purple a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#6f42c1}.accent-purple .btn-link:hover,.accent-purple .nav-tabs .nav-link:hover,.accent-purple a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#4e2d89}.accent-purple .dropdown-item.active,.accent-purple .dropdown-item:active{background-color:#6f42c1;color:#fff}.accent-purple .custom-control-input:checked~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.accent-purple .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")}.accent-purple .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-purple .custom-file-input:focus~.custom-file-label,.accent-purple .custom-select:focus,.accent-purple .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#b8a2e0}.accent-purple .page-item .page-link{color:#6f42c1}.accent-purple .page-item.active .page-link,.accent-purple .page-item.active a{background-color:#6f42c1;border-color:#6f42c1;color:#fff}.accent-purple .page-item.disabled .page-link,.accent-purple .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-purple [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-purple [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-purple [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-purple [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-purple .page-item .page-link:focus,.dark-mode.accent-purple .page-item .page-link:hover{color:#7e55c7}.accent-pink .btn-link,.accent-pink .nav-tabs .nav-link,.accent-pink a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#e83e8c}.accent-pink .btn-link:hover,.accent-pink .nav-tabs .nav-link:hover,.accent-pink a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#c21766}.accent-pink .dropdown-item.active,.accent-pink .dropdown-item:active{background-color:#e83e8c;color:#fff}.accent-pink .custom-control-input:checked~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.accent-pink .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")}.accent-pink .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-pink .custom-file-input:focus~.custom-file-label,.accent-pink .custom-select:focus,.accent-pink .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f6b0d0}.accent-pink .page-item .page-link{color:#e83e8c}.accent-pink .page-item.active .page-link,.accent-pink .page-item.active a{background-color:#e83e8c;border-color:#e83e8c;color:#fff}.accent-pink .page-item.disabled .page-link,.accent-pink .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-pink [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-pink [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-pink [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-pink [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-pink .page-item .page-link:focus,.dark-mode.accent-pink .page-item .page-link:hover{color:#eb559a}.accent-red .btn-link,.accent-red .nav-tabs .nav-link,.accent-red a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#dc3545}.accent-red .btn-link:hover,.accent-red .nav-tabs .nav-link:hover,.accent-red a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#a71d2a}.accent-red .dropdown-item.active,.accent-red .dropdown-item:active{background-color:#dc3545;color:#fff}.accent-red .custom-control-input:checked~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.accent-red .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")}.accent-red .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-red .custom-file-input:focus~.custom-file-label,.accent-red .custom-select:focus,.accent-red .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#efa2a9}.accent-red .page-item .page-link{color:#dc3545}.accent-red .page-item.active .page-link,.accent-red .page-item.active a{background-color:#dc3545;border-color:#dc3545;color:#fff}.accent-red .page-item.disabled .page-link,.accent-red .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-red [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-red [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-red [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-red [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-red .page-item .page-link:focus,.dark-mode.accent-red .page-item .page-link:hover{color:#e04b59}.accent-orange .btn-link,.accent-orange .nav-tabs .nav-link,.accent-orange a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#fd7e14}.accent-orange .btn-link:hover,.accent-orange .nav-tabs .nav-link:hover,.accent-orange a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#c35a02}.accent-orange .dropdown-item.active,.accent-orange .dropdown-item:active{background-color:#fd7e14;color:#1f2d3d}.accent-orange .custom-control-input:checked~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.accent-orange .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='%231f2d3d' 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")}.accent-orange .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-orange .custom-file-input:focus~.custom-file-label,.accent-orange .custom-select:focus,.accent-orange .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fec392}.accent-orange .page-item .page-link{color:#fd7e14}.accent-orange .page-item.active .page-link,.accent-orange .page-item.active a{background-color:#fd7e14;border-color:#fd7e14;color:#fff}.accent-orange .page-item.disabled .page-link,.accent-orange .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-orange [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-orange [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-orange [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-orange [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-orange .page-item .page-link:focus,.dark-mode.accent-orange .page-item .page-link:hover{color:#fd8c2d}.accent-yellow .btn-link,.accent-yellow .nav-tabs .nav-link,.accent-yellow a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#ffc107}.accent-yellow .btn-link:hover,.accent-yellow .nav-tabs .nav-link:hover,.accent-yellow a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#ba8b00}.accent-yellow .dropdown-item.active,.accent-yellow .dropdown-item:active{background-color:#ffc107;color:#1f2d3d}.accent-yellow .custom-control-input:checked~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.accent-yellow .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='%231f2d3d' 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")}.accent-yellow .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-yellow .custom-file-input:focus~.custom-file-label,.accent-yellow .custom-select:focus,.accent-yellow .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#ffe187}.accent-yellow .page-item .page-link{color:#ffc107}.accent-yellow .page-item.active .page-link,.accent-yellow .page-item.active a{background-color:#ffc107;border-color:#ffc107;color:#fff}.accent-yellow .page-item.disabled .page-link,.accent-yellow .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-yellow [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-yellow [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-yellow [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-yellow [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-yellow .page-item .page-link:focus,.dark-mode.accent-yellow .page-item .page-link:hover{color:#ffc721}.accent-green .btn-link,.accent-green .nav-tabs .nav-link,.accent-green a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#28a745}.accent-green .btn-link:hover,.accent-green .nav-tabs .nav-link:hover,.accent-green a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#19692c}.accent-green .dropdown-item.active,.accent-green .dropdown-item:active{background-color:#28a745;color:#fff}.accent-green .custom-control-input:checked~.custom-control-label::before{background-color:#28a745;border-color:#145523}.accent-green .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")}.accent-green .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-green .custom-file-input:focus~.custom-file-label,.accent-green .custom-select:focus,.accent-green .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#71dd8a}.accent-green .page-item .page-link{color:#28a745}.accent-green .page-item.active .page-link,.accent-green .page-item.active a{background-color:#28a745;border-color:#28a745;color:#fff}.accent-green .page-item.disabled .page-link,.accent-green .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-green [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-green [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-green [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-green [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-green .page-item .page-link:focus,.dark-mode.accent-green .page-item .page-link:hover{color:#2dbc4e}.accent-teal .btn-link,.accent-teal .nav-tabs .nav-link,.accent-teal a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#20c997}.accent-teal .btn-link:hover,.accent-teal .nav-tabs .nav-link:hover,.accent-teal a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#158765}.accent-teal .dropdown-item.active,.accent-teal .dropdown-item:active{background-color:#20c997;color:#fff}.accent-teal .custom-control-input:checked~.custom-control-label::before{background-color:#20c997;border-color:#127155}.accent-teal .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")}.accent-teal .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-teal .custom-file-input:focus~.custom-file-label,.accent-teal .custom-select:focus,.accent-teal .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#7eeaca}.accent-teal .page-item .page-link{color:#20c997}.accent-teal .page-item.active .page-link,.accent-teal .page-item.active a{background-color:#20c997;border-color:#20c997;color:#fff}.accent-teal .page-item.disabled .page-link,.accent-teal .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-teal [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-teal [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-teal [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-teal [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-teal .page-item .page-link:focus,.dark-mode.accent-teal .page-item .page-link:hover{color:#26dca6}.accent-cyan .btn-link,.accent-cyan .nav-tabs .nav-link,.accent-cyan a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#17a2b8}.accent-cyan .btn-link:hover,.accent-cyan .nav-tabs .nav-link:hover,.accent-cyan a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#0f6674}.accent-cyan .dropdown-item.active,.accent-cyan .dropdown-item:active{background-color:#17a2b8;color:#fff}.accent-cyan .custom-control-input:checked~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.accent-cyan .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")}.accent-cyan .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-cyan .custom-file-input:focus~.custom-file-label,.accent-cyan .custom-select:focus,.accent-cyan .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#63d9ec}.accent-cyan .page-item .page-link{color:#17a2b8}.accent-cyan .page-item.active .page-link,.accent-cyan .page-item.active a{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.accent-cyan .page-item.disabled .page-link,.accent-cyan .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-cyan [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-cyan [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-cyan [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-cyan [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-cyan .page-item .page-link:focus,.dark-mode.accent-cyan .page-item .page-link:hover{color:#1ab6cf}.accent-white .btn-link,.accent-white .nav-tabs .nav-link,.accent-white a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#fff}.accent-white .btn-link:hover,.accent-white .nav-tabs .nav-link:hover,.accent-white a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#d9d9d9}.accent-white .dropdown-item.active,.accent-white .dropdown-item:active{background-color:#fff;color:#1f2d3d}.accent-white .custom-control-input:checked~.custom-control-label::before{background-color:#fff;border-color:#ccc}.accent-white .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='%231f2d3d' 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")}.accent-white .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-white .custom-file-input:focus~.custom-file-label,.accent-white .custom-select:focus,.accent-white .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fff}.accent-white .page-item .page-link{color:#fff}.accent-white .page-item.active .page-link,.accent-white .page-item.active a{background-color:#fff;border-color:#fff;color:#fff}.accent-white .page-item.disabled .page-link,.accent-white .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-white [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-white [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-white [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-white [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-white .page-item .page-link:focus,.dark-mode.accent-white .page-item .page-link:hover{color:#fff}.accent-gray .btn-link,.accent-gray .nav-tabs .nav-link,.accent-gray a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#6c757d}.accent-gray .btn-link:hover,.accent-gray .nav-tabs .nav-link:hover,.accent-gray a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#494f54}.accent-gray .dropdown-item.active,.accent-gray .dropdown-item:active{background-color:#6c757d;color:#fff}.accent-gray .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.accent-gray .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")}.accent-gray .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-gray .custom-file-input:focus~.custom-file-label,.accent-gray .custom-select:focus,.accent-gray .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#afb5ba}.accent-gray .page-item .page-link{color:#6c757d}.accent-gray .page-item.active .page-link,.accent-gray .page-item.active a{background-color:#6c757d;border-color:#6c757d;color:#fff}.accent-gray .page-item.disabled .page-link,.accent-gray .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-gray [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-gray [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-gray [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-gray [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-gray .page-item .page-link:focus,.dark-mode.accent-gray .page-item .page-link:hover{color:#78828a}.accent-gray-dark .btn-link,.accent-gray-dark .nav-tabs .nav-link,.accent-gray-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#343a40}.accent-gray-dark .btn-link:hover,.accent-gray-dark .nav-tabs .nav-link:hover,.accent-gray-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#121416}.accent-gray-dark .dropdown-item.active,.accent-gray-dark .dropdown-item:active{background-color:#343a40;color:#fff}.accent-gray-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.accent-gray-dark .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")}.accent-gray-dark .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-gray-dark .custom-file-input:focus~.custom-file-label,.accent-gray-dark .custom-select:focus,.accent-gray-dark .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#6d7a86}.accent-gray-dark .page-item .page-link{color:#343a40}.accent-gray-dark .page-item.active .page-link,.accent-gray-dark .page-item.active a{background-color:#343a40;border-color:#343a40;color:#fff}.accent-gray-dark .page-item.disabled .page-link,.accent-gray-dark .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-gray-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-gray-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-gray-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-gray-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-gray-dark .page-item .page-link:focus,.dark-mode.accent-gray-dark .page-item .page-link:hover{color:#3f474e}[class*=accent-] a.btn-primary{color:#fff}[class*=accent-] a.btn-secondary{color:#fff}[class*=accent-] a.btn-success{color:#fff}[class*=accent-] a.btn-info{color:#fff}[class*=accent-] a.btn-warning{color:#1f2d3d}[class*=accent-] a.btn-danger{color:#fff}[class*=accent-] a.btn-light{color:#1f2d3d}[class*=accent-] a.btn-dark{color:#fff}.dark-mode .bg-light{background-color:#454d55!important;color:#fff!important}.dark-mode .link-black,.dark-mode .link-dark,.dark-mode .text-black,.dark-mode .text-dark{color:#ced4da}.dark-mode .bg-primary{background-color:#3f6791!important}.dark-mode .bg-primary,.dark-mode .bg-primary>a{color:#fff!important}.dark-mode .bg-primary.btn:hover{border-color:#304e6d;color:#ececec}.dark-mode .bg-primary.btn.active,.dark-mode .bg-primary.btn:active,.dark-mode .bg-primary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-primary.btn:not(:disabled):not(.disabled):active{background-color:#304e6d!important;border-color:#2c4765;color:#fff}.dark-mode .bg-secondary{background-color:#6c757d!important}.dark-mode .bg-secondary,.dark-mode .bg-secondary>a{color:#fff!important}.dark-mode .bg-secondary.btn:hover{border-color:#545b62;color:#ececec}.dark-mode .bg-secondary.btn.active,.dark-mode .bg-secondary.btn:active,.dark-mode .bg-secondary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-secondary.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.dark-mode .bg-success{background-color:#00bc8c!important}.dark-mode .bg-success,.dark-mode .bg-success>a{color:#fff!important}.dark-mode .bg-success.btn:hover{border-color:#008966;color:#ececec}.dark-mode .bg-success.btn.active,.dark-mode .bg-success.btn:active,.dark-mode .bg-success.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-success.btn:not(:disabled):not(.disabled):active{background-color:#008966!important;border-color:#007c5d;color:#fff}.dark-mode .bg-info{background-color:#3498db!important}.dark-mode .bg-info,.dark-mode .bg-info>a{color:#fff!important}.dark-mode .bg-info.btn:hover{border-color:#217dbb;color:#ececec}.dark-mode .bg-info.btn.active,.dark-mode .bg-info.btn:active,.dark-mode .bg-info.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-info.btn:not(:disabled):not(.disabled):active{background-color:#217dbb!important;border-color:#1f76b0;color:#fff}.dark-mode .bg-warning{background-color:#f39c12!important}.dark-mode .bg-warning,.dark-mode .bg-warning>a{color:#1f2d3d!important}.dark-mode .bg-warning.btn:hover{border-color:#c87f0a;color:#121a24}.dark-mode .bg-warning.btn.active,.dark-mode .bg-warning.btn:active,.dark-mode .bg-warning.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-warning.btn:not(:disabled):not(.disabled):active{background-color:#c87f0a!important;border-color:#bc770a;color:#fff}.dark-mode .bg-danger{background-color:#e74c3c!important}.dark-mode .bg-danger,.dark-mode .bg-danger>a{color:#fff!important}.dark-mode .bg-danger.btn:hover{border-color:#d62c1a;color:#ececec}.dark-mode .bg-danger.btn.active,.dark-mode .bg-danger.btn:active,.dark-mode .bg-danger.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-danger.btn:not(:disabled):not(.disabled):active{background-color:#d62c1a!important;border-color:#ca2a19;color:#fff}.dark-mode .bg-light{background-color:#f8f9fa!important}.dark-mode .bg-light,.dark-mode .bg-light>a{color:#1f2d3d!important}.dark-mode .bg-light.btn:hover{border-color:#dae0e5;color:#121a24}.dark-mode .bg-light.btn.active,.dark-mode .bg-light.btn:active,.dark-mode .bg-light.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-light.btn:not(:disabled):not(.disabled):active{background-color:#dae0e5!important;border-color:#d3d9df;color:#1f2d3d}.dark-mode .bg-dark{background-color:#343a40!important}.dark-mode .bg-dark,.dark-mode .bg-dark>a{color:#fff!important}.dark-mode .bg-dark.btn:hover{border-color:#1d2124;color:#ececec}.dark-mode .bg-dark.btn.active,.dark-mode .bg-dark.btn:active,.dark-mode .bg-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}.dark-mode .bg-lightblue{background-color:#86bad8!important}.dark-mode .bg-lightblue,.dark-mode .bg-lightblue>a{color:#1f2d3d!important}.dark-mode .bg-lightblue.btn:hover{border-color:#5fa4cc;color:#121a24}.dark-mode .bg-lightblue.btn.active,.dark-mode .bg-lightblue.btn:active,.dark-mode .bg-lightblue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-lightblue.btn:not(:disabled):not(.disabled):active{background-color:#5fa4cc!important;border-color:#559ec9;color:#fff}.dark-mode .bg-navy{background-color:#002c59!important}.dark-mode .bg-navy,.dark-mode .bg-navy>a{color:#fff!important}.dark-mode .bg-navy.btn:hover{border-color:#001226;color:#ececec}.dark-mode .bg-navy.btn.active,.dark-mode .bg-navy.btn:active,.dark-mode .bg-navy.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-navy.btn:not(:disabled):not(.disabled):active{background-color:#001226!important;border-color:#000c19;color:#fff}.dark-mode .bg-olive{background-color:#74c8a3!important}.dark-mode .bg-olive,.dark-mode .bg-olive>a{color:#1f2d3d!important}.dark-mode .bg-olive.btn:hover{border-color:#50b98a;color:#121a24}.dark-mode .bg-olive.btn.active,.dark-mode .bg-olive.btn:active,.dark-mode .bg-olive.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-olive.btn:not(:disabled):not(.disabled):active{background-color:#50b98a!important;border-color:#48b484;color:#fff}.dark-mode .bg-lime{background-color:#67ffa9!important}.dark-mode .bg-lime,.dark-mode .bg-lime>a{color:#1f2d3d!important}.dark-mode .bg-lime.btn:hover{border-color:#34ff8d;color:#121a24}.dark-mode .bg-lime.btn.active,.dark-mode .bg-lime.btn:active,.dark-mode .bg-lime.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-lime.btn:not(:disabled):not(.disabled):active{background-color:#34ff8d!important;border-color:#27ff86;color:#1f2d3d}.dark-mode .bg-fuchsia{background-color:#f672d8!important}.dark-mode .bg-fuchsia,.dark-mode .bg-fuchsia>a{color:#1f2d3d!important}.dark-mode .bg-fuchsia.btn:hover{border-color:#f342cb;color:#121a24}.dark-mode .bg-fuchsia.btn.active,.dark-mode .bg-fuchsia.btn:active,.dark-mode .bg-fuchsia.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-fuchsia.btn:not(:disabled):not(.disabled):active{background-color:#f342cb!important;border-color:#f236c8;color:#fff}.dark-mode .bg-maroon{background-color:#ed6c9b!important}.dark-mode .bg-maroon,.dark-mode .bg-maroon>a{color:#1f2d3d!important}.dark-mode .bg-maroon.btn:hover{border-color:#e73f7c;color:#121a24}.dark-mode .bg-maroon.btn.active,.dark-mode .bg-maroon.btn:active,.dark-mode .bg-maroon.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-maroon.btn:not(:disabled):not(.disabled):active{background-color:#e73f7c!important;border-color:#e63475;color:#fff}.dark-mode .bg-blue{background-color:#3f6791!important}.dark-mode .bg-blue,.dark-mode .bg-blue>a{color:#fff!important}.dark-mode .bg-blue.btn:hover{border-color:#304e6d;color:#ececec}.dark-mode .bg-blue.btn.active,.dark-mode .bg-blue.btn:active,.dark-mode .bg-blue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-blue.btn:not(:disabled):not(.disabled):active{background-color:#304e6d!important;border-color:#2c4765;color:#fff}.dark-mode .bg-indigo{background-color:#6610f2!important}.dark-mode .bg-indigo,.dark-mode .bg-indigo>a{color:#fff!important}.dark-mode .bg-indigo.btn:hover{border-color:#510bc4;color:#ececec}.dark-mode .bg-indigo.btn.active,.dark-mode .bg-indigo.btn:active,.dark-mode .bg-indigo.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-indigo.btn:not(:disabled):not(.disabled):active{background-color:#510bc4!important;border-color:#4c0ab8;color:#fff}.dark-mode .bg-purple{background-color:#6f42c1!important}.dark-mode .bg-purple,.dark-mode .bg-purple>a{color:#fff!important}.dark-mode .bg-purple.btn:hover{border-color:#59339d;color:#ececec}.dark-mode .bg-purple.btn.active,.dark-mode .bg-purple.btn:active,.dark-mode .bg-purple.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-purple.btn:not(:disabled):not(.disabled):active{background-color:#59339d!important;border-color:#533093;color:#fff}.dark-mode .bg-pink{background-color:#e83e8c!important}.dark-mode .bg-pink,.dark-mode .bg-pink>a{color:#fff!important}.dark-mode .bg-pink.btn:hover{border-color:#d91a72;color:#ececec}.dark-mode .bg-pink.btn.active,.dark-mode .bg-pink.btn:active,.dark-mode .bg-pink.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-pink.btn:not(:disabled):not(.disabled):active{background-color:#d91a72!important;border-color:#ce196c;color:#fff}.dark-mode .bg-red{background-color:#e74c3c!important}.dark-mode .bg-red,.dark-mode .bg-red>a{color:#fff!important}.dark-mode .bg-red.btn:hover{border-color:#d62c1a;color:#ececec}.dark-mode .bg-red.btn.active,.dark-mode .bg-red.btn:active,.dark-mode .bg-red.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-red.btn:not(:disabled):not(.disabled):active{background-color:#d62c1a!important;border-color:#ca2a19;color:#fff}.dark-mode .bg-orange{background-color:#fd7e14!important}.dark-mode .bg-orange,.dark-mode .bg-orange>a{color:#1f2d3d!important}.dark-mode .bg-orange.btn:hover{border-color:#dc6502;color:#121a24}.dark-mode .bg-orange.btn.active,.dark-mode .bg-orange.btn:active,.dark-mode .bg-orange.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-orange.btn:not(:disabled):not(.disabled):active{background-color:#dc6502!important;border-color:#cf5f02;color:#fff}.dark-mode .bg-yellow{background-color:#f39c12!important}.dark-mode .bg-yellow,.dark-mode .bg-yellow>a{color:#1f2d3d!important}.dark-mode .bg-yellow.btn:hover{border-color:#c87f0a;color:#121a24}.dark-mode .bg-yellow.btn.active,.dark-mode .bg-yellow.btn:active,.dark-mode .bg-yellow.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-yellow.btn:not(:disabled):not(.disabled):active{background-color:#c87f0a!important;border-color:#bc770a;color:#fff}.dark-mode .bg-green{background-color:#00bc8c!important}.dark-mode .bg-green,.dark-mode .bg-green>a{color:#fff!important}.dark-mode .bg-green.btn:hover{border-color:#008966;color:#ececec}.dark-mode .bg-green.btn.active,.dark-mode .bg-green.btn:active,.dark-mode .bg-green.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-green.btn:not(:disabled):not(.disabled):active{background-color:#008966!important;border-color:#007c5d;color:#fff}.dark-mode .bg-teal{background-color:#20c997!important}.dark-mode .bg-teal,.dark-mode .bg-teal>a{color:#fff!important}.dark-mode .bg-teal.btn:hover{border-color:#199d76;color:#ececec}.dark-mode .bg-teal.btn.active,.dark-mode .bg-teal.btn:active,.dark-mode .bg-teal.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-teal.btn:not(:disabled):not(.disabled):active{background-color:#199d76!important;border-color:#17926e;color:#fff}.dark-mode .bg-cyan{background-color:#3498db!important}.dark-mode .bg-cyan,.dark-mode .bg-cyan>a{color:#fff!important}.dark-mode .bg-cyan.btn:hover{border-color:#217dbb;color:#ececec}.dark-mode .bg-cyan.btn.active,.dark-mode .bg-cyan.btn:active,.dark-mode .bg-cyan.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-cyan.btn:not(:disabled):not(.disabled):active{background-color:#217dbb!important;border-color:#1f76b0;color:#fff}.dark-mode .bg-white{background-color:#fff!important}.dark-mode .bg-white,.dark-mode .bg-white>a{color:#1f2d3d!important}.dark-mode .bg-white.btn:hover{border-color:#e6e6e6;color:#121a24}.dark-mode .bg-white.btn.active,.dark-mode .bg-white.btn:active,.dark-mode .bg-white.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-white.btn:not(:disabled):not(.disabled):active{background-color:#e6e6e6!important;border-color:#dfdfdf;color:#1f2d3d}.dark-mode .bg-gray{background-color:#6c757d!important}.dark-mode .bg-gray,.dark-mode .bg-gray>a{color:#fff!important}.dark-mode .bg-gray.btn:hover{border-color:#545b62;color:#ececec}.dark-mode .bg-gray.btn.active,.dark-mode .bg-gray.btn:active,.dark-mode .bg-gray.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gray.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.dark-mode .bg-gray-dark{background-color:#343a40!important}.dark-mode .bg-gray-dark,.dark-mode .bg-gray-dark>a{color:#fff!important}.dark-mode .bg-gray-dark.btn:hover{border-color:#1d2124;color:#ececec}.dark-mode .bg-gray-dark.btn.active,.dark-mode .bg-gray-dark.btn:active,.dark-mode .bg-gray-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gray-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}.dark-mode .bg-gradient-primary{background:#3f6791 linear-gradient(180deg,#5c7ea2,#3f6791) repeat-x!important;color:#fff}.dark-mode .bg-gradient-primary.btn.disabled,.dark-mode .bg-gradient-primary.btn:disabled,.dark-mode .bg-gradient-primary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-primary.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-primary.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-primary.btn:hover{background:#3f6791 linear-gradient(180deg,#526e8b,#335476) repeat-x!important;border-color:#304e6d;color:#ececec}.dark-mode .bg-gradient-primary.btn.active,.dark-mode .bg-gradient-primary.btn:active,.dark-mode .bg-gradient-primary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-primary.btn:not(:disabled):not(.disabled):active{background:#3f6791 linear-gradient(180deg,#4f6883,#304e6d) repeat-x!important;border-color:#2c4765;color:#fff}.dark-mode .bg-gradient-secondary{background:#6c757d linear-gradient(180deg,#828a91,#6c757d) repeat-x!important;color:#fff}.dark-mode .bg-gradient-secondary.btn.disabled,.dark-mode .bg-gradient-secondary.btn:disabled,.dark-mode .bg-gradient-secondary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-secondary.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-secondary.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-secondary.btn:hover{background:#6c757d linear-gradient(180deg,#73797f,#5a6268) repeat-x!important;border-color:#545b62;color:#ececec}.dark-mode .bg-gradient-secondary.btn.active,.dark-mode .bg-gradient-secondary.btn:active,.dark-mode .bg-gradient-secondary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-secondary.btn:not(:disabled):not(.disabled):active{background:#6c757d linear-gradient(180deg,#6e7479,#545b62) repeat-x!important;border-color:#4e555b;color:#fff}.dark-mode .bg-gradient-success{background:#00bc8c linear-gradient(180deg,#26c69d,#00bc8c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-success.btn.disabled,.dark-mode .bg-gradient-success.btn:disabled,.dark-mode .bg-gradient-success.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-success.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-success.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-success.btn:hover{background:#00bc8c linear-gradient(180deg,#26a685,#009670) repeat-x!important;border-color:#008966;color:#ececec}.dark-mode .bg-gradient-success.btn.active,.dark-mode .bg-gradient-success.btn:active,.dark-mode .bg-gradient-success.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-success.btn:not(:disabled):not(.disabled):active{background:#00bc8c linear-gradient(180deg,#269b7d,#008966) repeat-x!important;border-color:#007c5d;color:#fff}.dark-mode .bg-gradient-info{background:#3498db linear-gradient(180deg,#52a7e0,#3498db) repeat-x!important;color:#fff}.dark-mode .bg-gradient-info.btn.disabled,.dark-mode .bg-gradient-info.btn:disabled,.dark-mode .bg-gradient-info.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-info.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-info.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-info.btn:hover{background:#3498db linear-gradient(180deg,#4497ce,#2384c6) repeat-x!important;border-color:#217dbb;color:#ececec}.dark-mode .bg-gradient-info.btn.active,.dark-mode .bg-gradient-info.btn:active,.dark-mode .bg-gradient-info.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-info.btn:not(:disabled):not(.disabled):active{background:#3498db linear-gradient(180deg,#4291c5,#217dbb) repeat-x!important;border-color:#1f76b0;color:#fff}.dark-mode .bg-gradient-warning{background:#f39c12 linear-gradient(180deg,#f5ab36,#f39c12) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-warning.btn.disabled,.dark-mode .bg-gradient-warning.btn:disabled,.dark-mode .bg-gradient-warning.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-warning.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-warning.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-warning.btn:hover{background:#f39c12 linear-gradient(180deg,#da982f,#d4860b) repeat-x!important;border-color:#c87f0a;color:#121a24}.dark-mode .bg-gradient-warning.btn.active,.dark-mode .bg-gradient-warning.btn:active,.dark-mode .bg-gradient-warning.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-warning.btn:not(:disabled):not(.disabled):active{background:#f39c12 linear-gradient(180deg,#d0922f,#c87f0a) repeat-x!important;border-color:#bc770a;color:#fff}.dark-mode .bg-gradient-danger{background:#e74c3c linear-gradient(180deg,#eb6759,#e74c3c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-danger.btn.disabled,.dark-mode .bg-gradient-danger.btn:disabled,.dark-mode .bg-gradient-danger.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-danger.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-danger.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-danger.btn:hover{background:#e74c3c linear-gradient(180deg,#e64d3e,#e12e1c) repeat-x!important;border-color:#d62c1a;color:#ececec}.dark-mode .bg-gradient-danger.btn.active,.dark-mode .bg-gradient-danger.btn:active,.dark-mode .bg-gradient-danger.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-danger.btn:not(:disabled):not(.disabled):active{background:#e74c3c linear-gradient(180deg,#dc4c3d,#d62c1a) repeat-x!important;border-color:#ca2a19;color:#fff}.dark-mode .bg-gradient-light{background:#f8f9fa linear-gradient(180deg,#f9fafb,#f8f9fa) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-light.btn.disabled,.dark-mode .bg-gradient-light.btn:disabled,.dark-mode .bg-gradient-light.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-light.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-light.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-light.btn:hover{background:#f8f9fa linear-gradient(180deg,#e6eaed,#e2e6ea) repeat-x!important;border-color:#dae0e5;color:#121a24}.dark-mode .bg-gradient-light.btn.active,.dark-mode .bg-gradient-light.btn:active,.dark-mode .bg-gradient-light.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-light.btn:not(:disabled):not(.disabled):active{background:#f8f9fa linear-gradient(180deg,#e0e4e9,#dae0e5) repeat-x!important;border-color:#d3d9df;color:#1f2d3d}.dark-mode .bg-gradient-dark{background:#343a40 linear-gradient(180deg,#52585d,#343a40) repeat-x!important;color:#fff}.dark-mode .bg-gradient-dark.btn.disabled,.dark-mode .bg-gradient-dark.btn:disabled,.dark-mode .bg-gradient-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-dark.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-dark.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-dark.btn:hover{background:#343a40 linear-gradient(180deg,#44474b,#23272b) repeat-x!important;border-color:#1d2124;color:#ececec}.dark-mode .bg-gradient-dark.btn.active,.dark-mode .bg-gradient-dark.btn:active,.dark-mode .bg-gradient-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-dark.btn:not(:disabled):not(.disabled):active{background:#343a40 linear-gradient(180deg,#3f4245,#1d2124) repeat-x!important;border-color:#171a1d;color:#fff}.dark-mode .bg-gradient-lightblue{background:#86bad8 linear-gradient(180deg,#98c4de,#86bad8) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-lightblue.btn.disabled,.dark-mode .bg-gradient-lightblue.btn:disabled,.dark-mode .bg-gradient-lightblue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-lightblue.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-lightblue.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-lightblue.btn:hover{background:#86bad8 linear-gradient(180deg,#7fb6d6,#69a9cf) repeat-x!important;border-color:#5fa4cc;color:#121a24}.dark-mode .bg-gradient-lightblue.btn.active,.dark-mode .bg-gradient-lightblue.btn:active,.dark-mode .bg-gradient-lightblue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-lightblue.btn:not(:disabled):not(.disabled):active{background:#86bad8 linear-gradient(180deg,#77b2d4,#5fa4cc) repeat-x!important;border-color:#559ec9;color:#fff}.dark-mode .bg-gradient-navy{background:#002c59 linear-gradient(180deg,#264b71,#002c59) repeat-x!important;color:#fff}.dark-mode .bg-gradient-navy.btn.disabled,.dark-mode .bg-gradient-navy.btn:disabled,.dark-mode .bg-gradient-navy.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-navy.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-navy.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-navy.btn:hover{background:#002c59 linear-gradient(180deg,#263b51,#001932) repeat-x!important;border-color:#001226;color:#ececec}.dark-mode .bg-gradient-navy.btn.active,.dark-mode .bg-gradient-navy.btn:active,.dark-mode .bg-gradient-navy.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-navy.btn:not(:disabled):not(.disabled):active{background:#002c59 linear-gradient(180deg,#263646,#001226) repeat-x!important;border-color:#000c19;color:#fff}.dark-mode .bg-gradient-olive{background:#74c8a3 linear-gradient(180deg,#89d0b0,#74c8a3) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-olive.btn.disabled,.dark-mode .bg-gradient-olive.btn:disabled,.dark-mode .bg-gradient-olive.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-olive.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-olive.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-olive.btn:hover{background:#74c8a3 linear-gradient(180deg,#72c7a1,#59bd90) repeat-x!important;border-color:#50b98a;color:#121a24}.dark-mode .bg-gradient-olive.btn.active,.dark-mode .bg-gradient-olive.btn:active,.dark-mode .bg-gradient-olive.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-olive.btn:not(:disabled):not(.disabled):active{background:#74c8a3 linear-gradient(180deg,#6ac49c,#50b98a) repeat-x!important;border-color:#48b484;color:#fff}.dark-mode .bg-gradient-lime{background:#67ffa9 linear-gradient(180deg,#7effb6,#67ffa9) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-lime.btn.disabled,.dark-mode .bg-gradient-lime.btn:disabled,.dark-mode .bg-gradient-lime.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-lime.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-lime.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-lime.btn:hover{background:#67ffa9 linear-gradient(180deg,#5dffa4,#41ff94) repeat-x!important;border-color:#34ff8d;color:#121a24}.dark-mode .bg-gradient-lime.btn.active,.dark-mode .bg-gradient-lime.btn:active,.dark-mode .bg-gradient-lime.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-lime.btn:not(:disabled):not(.disabled):active{background:#67ffa9 linear-gradient(180deg,#52ff9e,#34ff8d) repeat-x!important;border-color:#27ff86;color:#1f2d3d}.dark-mode .bg-gradient-fuchsia{background:#f672d8 linear-gradient(180deg,#f787de,#f672d8) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-fuchsia.btn.disabled,.dark-mode .bg-gradient-fuchsia.btn:disabled,.dark-mode .bg-gradient-fuchsia.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-fuchsia.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-fuchsia.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-fuchsia.btn:hover{background:#f672d8 linear-gradient(180deg,#f569d6,#f44ece) repeat-x!important;border-color:#f342cb;color:#121a24}.dark-mode .bg-gradient-fuchsia.btn.active,.dark-mode .bg-gradient-fuchsia.btn:active,.dark-mode .bg-gradient-fuchsia.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-fuchsia.btn:not(:disabled):not(.disabled):active{background:#f672d8 linear-gradient(180deg,#f55ed3,#f342cb) repeat-x!important;border-color:#f236c8;color:#fff}.dark-mode .bg-gradient-maroon{background:#ed6c9b linear-gradient(180deg,#ef82aa,#ed6c9b) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-maroon.btn.disabled,.dark-mode .bg-gradient-maroon.btn:disabled,.dark-mode .bg-gradient-maroon.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-maroon.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-maroon.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-maroon.btn:hover{background:#ed6c9b linear-gradient(180deg,#ec6596,#e84a84) repeat-x!important;border-color:#e73f7c;color:#121a24}.dark-mode .bg-gradient-maroon.btn.active,.dark-mode .bg-gradient-maroon.btn:active,.dark-mode .bg-gradient-maroon.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-maroon.btn:not(:disabled):not(.disabled):active{background:#ed6c9b linear-gradient(180deg,#eb5c90,#e73f7c) repeat-x!important;border-color:#e63475;color:#fff}.dark-mode .bg-gradient-blue{background:#3f6791 linear-gradient(180deg,#5c7ea2,#3f6791) repeat-x!important;color:#fff}.dark-mode .bg-gradient-blue.btn.disabled,.dark-mode .bg-gradient-blue.btn:disabled,.dark-mode .bg-gradient-blue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-blue.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-blue.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-blue.btn:hover{background:#3f6791 linear-gradient(180deg,#526e8b,#335476) repeat-x!important;border-color:#304e6d;color:#ececec}.dark-mode .bg-gradient-blue.btn.active,.dark-mode .bg-gradient-blue.btn:active,.dark-mode .bg-gradient-blue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-blue.btn:not(:disabled):not(.disabled):active{background:#3f6791 linear-gradient(180deg,#4f6883,#304e6d) repeat-x!important;border-color:#2c4765;color:#fff}.dark-mode .bg-gradient-indigo{background:#6610f2 linear-gradient(180deg,#7d34f4,#6610f2) repeat-x!important;color:#fff}.dark-mode .bg-gradient-indigo.btn.disabled,.dark-mode .bg-gradient-indigo.btn:disabled,.dark-mode .bg-gradient-indigo.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-indigo.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-indigo.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-indigo.btn:hover{background:#6610f2 linear-gradient(180deg,#7030d7,#560bd0) repeat-x!important;border-color:#510bc4;color:#ececec}.dark-mode .bg-gradient-indigo.btn.active,.dark-mode .bg-gradient-indigo.btn:active,.dark-mode .bg-gradient-indigo.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-indigo.btn:not(:disabled):not(.disabled):active{background:#6610f2 linear-gradient(180deg,#6b2fcd,#510bc4) repeat-x!important;border-color:#4c0ab8;color:#fff}.dark-mode .bg-gradient-purple{background:#6f42c1 linear-gradient(180deg,#855eca,#6f42c1) repeat-x!important;color:#fff}.dark-mode .bg-gradient-purple.btn.disabled,.dark-mode .bg-gradient-purple.btn:disabled,.dark-mode .bg-gradient-purple.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-purple.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-purple.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-purple.btn:hover{background:#6f42c1 linear-gradient(180deg,#7655b4,#5e37a6) repeat-x!important;border-color:#59339d;color:#ececec}.dark-mode .bg-gradient-purple.btn.active,.dark-mode .bg-gradient-purple.btn:active,.dark-mode .bg-gradient-purple.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-purple.btn:not(:disabled):not(.disabled):active{background:#6f42c1 linear-gradient(180deg,#7252ab,#59339d) repeat-x!important;border-color:#533093;color:#fff}.dark-mode .bg-gradient-pink{background:#e83e8c linear-gradient(180deg,#eb5b9d,#e83e8c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-pink.btn.disabled,.dark-mode .bg-gradient-pink.btn:disabled,.dark-mode .bg-gradient-pink.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-pink.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-pink.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-pink.btn:hover{background:#e83e8c linear-gradient(180deg,#e83e8c,#e41c78) repeat-x!important;border-color:#d91a72;color:#ececec}.dark-mode .bg-gradient-pink.btn.active,.dark-mode .bg-gradient-pink.btn:active,.dark-mode .bg-gradient-pink.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-pink.btn:not(:disabled):not(.disabled):active{background:#e83e8c linear-gradient(180deg,#df3c87,#d91a72) repeat-x!important;border-color:#ce196c;color:#fff}.dark-mode .bg-gradient-red{background:#e74c3c linear-gradient(180deg,#eb6759,#e74c3c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-red.btn.disabled,.dark-mode .bg-gradient-red.btn:disabled,.dark-mode .bg-gradient-red.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-red.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-red.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-red.btn:hover{background:#e74c3c linear-gradient(180deg,#e64d3e,#e12e1c) repeat-x!important;border-color:#d62c1a;color:#ececec}.dark-mode .bg-gradient-red.btn.active,.dark-mode .bg-gradient-red.btn:active,.dark-mode .bg-gradient-red.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-red.btn:not(:disabled):not(.disabled):active{background:#e74c3c linear-gradient(180deg,#dc4c3d,#d62c1a) repeat-x!important;border-color:#ca2a19;color:#fff}.dark-mode .bg-gradient-orange{background:#fd7e14 linear-gradient(180deg,#fd9137,#fd7e14) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-orange.btn.disabled,.dark-mode .bg-gradient-orange.btn:disabled,.dark-mode .bg-gradient-orange.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-orange.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-orange.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-orange.btn:hover{background:#fd7e14 linear-gradient(180deg,#ec8128,#e96b02) repeat-x!important;border-color:#dc6502;color:#121a24}.dark-mode .bg-gradient-orange.btn.active,.dark-mode .bg-gradient-orange.btn:active,.dark-mode .bg-gradient-orange.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-orange.btn:not(:disabled):not(.disabled):active{background:#fd7e14 linear-gradient(180deg,#e17c28,#dc6502) repeat-x!important;border-color:#cf5f02;color:#fff}.dark-mode .bg-gradient-yellow{background:#f39c12 linear-gradient(180deg,#f5ab36,#f39c12) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-yellow.btn.disabled,.dark-mode .bg-gradient-yellow.btn:disabled,.dark-mode .bg-gradient-yellow.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-yellow.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-yellow.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-yellow.btn:hover{background:#f39c12 linear-gradient(180deg,#da982f,#d4860b) repeat-x!important;border-color:#c87f0a;color:#121a24}.dark-mode .bg-gradient-yellow.btn.active,.dark-mode .bg-gradient-yellow.btn:active,.dark-mode .bg-gradient-yellow.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-yellow.btn:not(:disabled):not(.disabled):active{background:#f39c12 linear-gradient(180deg,#d0922f,#c87f0a) repeat-x!important;border-color:#bc770a;color:#fff}.dark-mode .bg-gradient-green{background:#00bc8c linear-gradient(180deg,#26c69d,#00bc8c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-green.btn.disabled,.dark-mode .bg-gradient-green.btn:disabled,.dark-mode .bg-gradient-green.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-green.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-green.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-green.btn:hover{background:#00bc8c linear-gradient(180deg,#26a685,#009670) repeat-x!important;border-color:#008966;color:#ececec}.dark-mode .bg-gradient-green.btn.active,.dark-mode .bg-gradient-green.btn:active,.dark-mode .bg-gradient-green.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-green.btn:not(:disabled):not(.disabled):active{background:#00bc8c linear-gradient(180deg,#269b7d,#008966) repeat-x!important;border-color:#007c5d;color:#fff}.dark-mode .bg-gradient-teal{background:#20c997 linear-gradient(180deg,#41d1a7,#20c997) repeat-x!important;color:#fff}.dark-mode .bg-gradient-teal.btn.disabled,.dark-mode .bg-gradient-teal.btn:disabled,.dark-mode .bg-gradient-teal.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-teal.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-teal.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-teal.btn:hover{background:#20c997 linear-gradient(180deg,#3db592,#1ba87e) repeat-x!important;border-color:#199d76;color:#ececec}.dark-mode .bg-gradient-teal.btn.active,.dark-mode .bg-gradient-teal.btn:active,.dark-mode .bg-gradient-teal.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-teal.btn:not(:disabled):not(.disabled):active{background:#20c997 linear-gradient(180deg,#3bac8b,#199d76) repeat-x!important;border-color:#17926e;color:#fff}.dark-mode .bg-gradient-cyan{background:#3498db linear-gradient(180deg,#52a7e0,#3498db) repeat-x!important;color:#fff}.dark-mode .bg-gradient-cyan.btn.disabled,.dark-mode .bg-gradient-cyan.btn:disabled,.dark-mode .bg-gradient-cyan.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-cyan.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-cyan.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-cyan.btn:hover{background:#3498db linear-gradient(180deg,#4497ce,#2384c6) repeat-x!important;border-color:#217dbb;color:#ececec}.dark-mode .bg-gradient-cyan.btn.active,.dark-mode .bg-gradient-cyan.btn:active,.dark-mode .bg-gradient-cyan.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-cyan.btn:not(:disabled):not(.disabled):active{background:#3498db linear-gradient(180deg,#4291c5,#217dbb) repeat-x!important;border-color:#1f76b0;color:#fff}.dark-mode .bg-gradient-white{background:#fff linear-gradient(180deg,#fff,#fff) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-white.btn.disabled,.dark-mode .bg-gradient-white.btn:disabled,.dark-mode .bg-gradient-white.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-white.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-white.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-white.btn:hover{background:#fff linear-gradient(180deg,#efefef,#ececec) repeat-x!important;border-color:#e6e6e6;color:#121a24}.dark-mode .bg-gradient-white.btn.active,.dark-mode .bg-gradient-white.btn:active,.dark-mode .bg-gradient-white.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-white.btn:not(:disabled):not(.disabled):active{background:#fff linear-gradient(180deg,#e9e9e9,#e6e6e6) repeat-x!important;border-color:#dfdfdf;color:#1f2d3d}.dark-mode .bg-gradient-gray{background:#6c757d linear-gradient(180deg,#828a91,#6c757d) repeat-x!important;color:#fff}.dark-mode .bg-gradient-gray.btn.disabled,.dark-mode .bg-gradient-gray.btn:disabled,.dark-mode .bg-gradient-gray.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-gray.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-gray.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-gray.btn:hover{background:#6c757d linear-gradient(180deg,#73797f,#5a6268) repeat-x!important;border-color:#545b62;color:#ececec}.dark-mode .bg-gradient-gray.btn.active,.dark-mode .bg-gradient-gray.btn:active,.dark-mode .bg-gradient-gray.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-gray.btn:not(:disabled):not(.disabled):active{background:#6c757d linear-gradient(180deg,#6e7479,#545b62) repeat-x!important;border-color:#4e555b;color:#fff}.dark-mode .bg-gradient-gray-dark{background:#343a40 linear-gradient(180deg,#52585d,#343a40) repeat-x!important;color:#fff}.dark-mode .bg-gradient-gray-dark.btn.disabled,.dark-mode .bg-gradient-gray-dark.btn:disabled,.dark-mode .bg-gradient-gray-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-gray-dark.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-gray-dark.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-gray-dark.btn:hover{background:#343a40 linear-gradient(180deg,#44474b,#23272b) repeat-x!important;border-color:#1d2124;color:#ececec}.dark-mode .bg-gradient-gray-dark.btn.active,.dark-mode .bg-gradient-gray-dark.btn:active,.dark-mode .bg-gradient-gray-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-gray-dark.btn:not(:disabled):not(.disabled):active{background:#343a40 linear-gradient(180deg,#3f4245,#1d2124) repeat-x!important;border-color:#171a1d;color:#fff}.dark-mode .accent-primary .btn-link,.dark-mode .accent-primary .nav-tabs .nav-link,.dark-mode .accent-primary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#3f6791}.dark-mode .accent-primary .btn-link:hover,.dark-mode .accent-primary .nav-tabs .nav-link:hover,.dark-mode .accent-primary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#28415c}.dark-mode .accent-primary .dropdown-item.active,.dark-mode .accent-primary .dropdown-item:active{background-color:#3f6791;color:#fff}.dark-mode .accent-primary .custom-control-input:checked~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .accent-primary .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")}.dark-mode .accent-primary .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-primary .custom-file-input:focus~.custom-file-label,.dark-mode .accent-primary .custom-select:focus,.dark-mode .accent-primary .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#85a7ca}.dark-mode .accent-primary .page-item .page-link{color:#3f6791}.dark-mode .accent-primary .page-item.active .page-link,.dark-mode .accent-primary .page-item.active a{background-color:#3f6791;border-color:#3f6791;color:#fff}.dark-mode .accent-primary .page-item.disabled .page-link,.dark-mode .accent-primary .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-primary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-primary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-primary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-primary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-primary .page-item .page-link:focus,.dark-mode .dark-mode.accent-primary .page-item .page-link:hover{color:#4774a3}.dark-mode .accent-secondary .btn-link,.dark-mode .accent-secondary .nav-tabs .nav-link,.dark-mode .accent-secondary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#6c757d}.dark-mode .accent-secondary .btn-link:hover,.dark-mode .accent-secondary .nav-tabs .nav-link:hover,.dark-mode .accent-secondary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#494f54}.dark-mode .accent-secondary .dropdown-item.active,.dark-mode .accent-secondary .dropdown-item:active{background-color:#6c757d;color:#fff}.dark-mode .accent-secondary .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .accent-secondary .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")}.dark-mode .accent-secondary .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-secondary .custom-file-input:focus~.custom-file-label,.dark-mode .accent-secondary .custom-select:focus,.dark-mode .accent-secondary .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#afb5ba}.dark-mode .accent-secondary .page-item .page-link{color:#6c757d}.dark-mode .accent-secondary .page-item.active .page-link,.dark-mode .accent-secondary .page-item.active a{background-color:#6c757d;border-color:#6c757d;color:#fff}.dark-mode .accent-secondary .page-item.disabled .page-link,.dark-mode .accent-secondary .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-secondary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-secondary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-secondary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-secondary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-secondary .page-item .page-link:focus,.dark-mode .dark-mode.accent-secondary .page-item .page-link:hover{color:#78828a}.dark-mode .accent-success .btn-link,.dark-mode .accent-success .nav-tabs .nav-link,.dark-mode .accent-success a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#00bc8c}.dark-mode .accent-success .btn-link:hover,.dark-mode .accent-success .nav-tabs .nav-link:hover,.dark-mode .accent-success a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#007053}.dark-mode .accent-success .dropdown-item.active,.dark-mode .accent-success .dropdown-item:active{background-color:#00bc8c;color:#fff}.dark-mode .accent-success .custom-control-input:checked~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .accent-success .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")}.dark-mode .accent-success .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-success .custom-file-input:focus~.custom-file-label,.dark-mode .accent-success .custom-select:focus,.dark-mode .accent-success .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#3dffcd}.dark-mode .accent-success .page-item .page-link{color:#00bc8c}.dark-mode .accent-success .page-item.active .page-link,.dark-mode .accent-success .page-item.active a{background-color:#00bc8c;border-color:#00bc8c;color:#fff}.dark-mode .accent-success .page-item.disabled .page-link,.dark-mode .accent-success .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-success [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-success [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-success [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-success [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-success .page-item .page-link:focus,.dark-mode .dark-mode.accent-success .page-item .page-link:hover{color:#00d69f}.dark-mode .accent-info .btn-link,.dark-mode .accent-info .nav-tabs .nav-link,.dark-mode .accent-info a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#3498db}.dark-mode .accent-info .btn-link:hover,.dark-mode .accent-info .nav-tabs .nav-link:hover,.dark-mode .accent-info a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#1d6fa5}.dark-mode .accent-info .dropdown-item.active,.dark-mode .accent-info .dropdown-item:active{background-color:#3498db;color:#fff}.dark-mode .accent-info .custom-control-input:checked~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .accent-info .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")}.dark-mode .accent-info .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-info .custom-file-input:focus~.custom-file-label,.dark-mode .accent-info .custom-select:focus,.dark-mode .accent-info .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#a0cfee}.dark-mode .accent-info .page-item .page-link{color:#3498db}.dark-mode .accent-info .page-item.active .page-link,.dark-mode .accent-info .page-item.active a{background-color:#3498db;border-color:#3498db;color:#fff}.dark-mode .accent-info .page-item.disabled .page-link,.dark-mode .accent-info .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-info [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-info [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-info [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-info [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-info .page-item .page-link:focus,.dark-mode .dark-mode.accent-info .page-item .page-link:hover{color:#4aa3df}.dark-mode .accent-warning .btn-link,.dark-mode .accent-warning .nav-tabs .nav-link,.dark-mode .accent-warning a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#f39c12}.dark-mode .accent-warning .btn-link:hover,.dark-mode .accent-warning .nav-tabs .nav-link:hover,.dark-mode .accent-warning a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#b06f09}.dark-mode .accent-warning .dropdown-item.active,.dark-mode .accent-warning .dropdown-item:active{background-color:#f39c12;color:#1f2d3d}.dark-mode .accent-warning .custom-control-input:checked~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .accent-warning .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='%231f2d3d' 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")}.dark-mode .accent-warning .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-warning .custom-file-input:focus~.custom-file-label,.dark-mode .accent-warning .custom-select:focus,.dark-mode .accent-warning .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f9cf8b}.dark-mode .accent-warning .page-item .page-link{color:#f39c12}.dark-mode .accent-warning .page-item.active .page-link,.dark-mode .accent-warning .page-item.active a{background-color:#f39c12;border-color:#f39c12;color:#fff}.dark-mode .accent-warning .page-item.disabled .page-link,.dark-mode .accent-warning .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-warning [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-warning [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-warning [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-warning [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-warning .page-item .page-link:focus,.dark-mode .dark-mode.accent-warning .page-item .page-link:hover{color:#f4a62a}.dark-mode .accent-danger .btn-link,.dark-mode .accent-danger .nav-tabs .nav-link,.dark-mode .accent-danger a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#e74c3c}.dark-mode .accent-danger .btn-link:hover,.dark-mode .accent-danger .nav-tabs .nav-link:hover,.dark-mode .accent-danger a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#bf2718}.dark-mode .accent-danger .dropdown-item.active,.dark-mode .accent-danger .dropdown-item:active{background-color:#e74c3c;color:#fff}.dark-mode .accent-danger .custom-control-input:checked~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .accent-danger .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")}.dark-mode .accent-danger .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-danger .custom-file-input:focus~.custom-file-label,.dark-mode .accent-danger .custom-select:focus,.dark-mode .accent-danger .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f5b4ae}.dark-mode .accent-danger .page-item .page-link{color:#e74c3c}.dark-mode .accent-danger .page-item.active .page-link,.dark-mode .accent-danger .page-item.active a{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.dark-mode .accent-danger .page-item.disabled .page-link,.dark-mode .accent-danger .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-danger [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-danger [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-danger [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-danger [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-danger .page-item .page-link:focus,.dark-mode .dark-mode.accent-danger .page-item .page-link:hover{color:#ea6153}.dark-mode .accent-light .btn-link,.dark-mode .accent-light .nav-tabs .nav-link,.dark-mode .accent-light a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#f8f9fa}.dark-mode .accent-light .btn-link:hover,.dark-mode .accent-light .nav-tabs .nav-link:hover,.dark-mode .accent-light a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#cbd3da}.dark-mode .accent-light .dropdown-item.active,.dark-mode .accent-light .dropdown-item:active{background-color:#f8f9fa;color:#1f2d3d}.dark-mode .accent-light .custom-control-input:checked~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.dark-mode .accent-light .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='%231f2d3d' 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")}.dark-mode .accent-light .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-light .custom-file-input:focus~.custom-file-label,.dark-mode .accent-light .custom-select:focus,.dark-mode .accent-light .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fff}.dark-mode .accent-light .page-item .page-link{color:#f8f9fa}.dark-mode .accent-light .page-item.active .page-link,.dark-mode .accent-light .page-item.active a{background-color:#f8f9fa;border-color:#f8f9fa;color:#fff}.dark-mode .accent-light .page-item.disabled .page-link,.dark-mode .accent-light .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-light [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-light [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-light [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-light [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-light .page-item .page-link:focus,.dark-mode .dark-mode.accent-light .page-item .page-link:hover{color:#fff}.dark-mode .accent-dark .btn-link,.dark-mode .accent-dark .nav-tabs .nav-link,.dark-mode .accent-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#343a40}.dark-mode .accent-dark .btn-link:hover,.dark-mode .accent-dark .nav-tabs .nav-link:hover,.dark-mode .accent-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#121416}.dark-mode .accent-dark .dropdown-item.active,.dark-mode .accent-dark .dropdown-item:active{background-color:#343a40;color:#fff}.dark-mode .accent-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .accent-dark .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")}.dark-mode .accent-dark .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-dark .custom-file-input:focus~.custom-file-label,.dark-mode .accent-dark .custom-select:focus,.dark-mode .accent-dark .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#6d7a86}.dark-mode .accent-dark .page-item .page-link{color:#343a40}.dark-mode .accent-dark .page-item.active .page-link,.dark-mode .accent-dark .page-item.active a{background-color:#343a40;border-color:#343a40;color:#fff}.dark-mode .accent-dark .page-item.disabled .page-link,.dark-mode .accent-dark .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-dark .page-item .page-link:focus,.dark-mode .dark-mode.accent-dark .page-item .page-link:hover{color:#3f474e}.dark-mode [class*=accent-] a.btn-primary{color:#fff}.dark-mode [class*=accent-] a.btn-secondary{color:#fff}.dark-mode [class*=accent-] a.btn-success{color:#fff}.dark-mode [class*=accent-] a.btn-info{color:#fff}.dark-mode [class*=accent-] a.btn-warning{color:#1f2d3d}.dark-mode [class*=accent-] a.btn-danger{color:#fff}.dark-mode [class*=accent-] a.btn-light{color:#1f2d3d}.dark-mode [class*=accent-] a.btn-dark{color:#fff}.dark-mode .accent-lightblue .btn-link,.dark-mode .accent-lightblue .nav-tabs .nav-link,.dark-mode .accent-lightblue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#86bad8}.dark-mode .accent-lightblue .btn-link:hover,.dark-mode .accent-lightblue .nav-tabs .nav-link:hover,.dark-mode .accent-lightblue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#4c99c6}.dark-mode .accent-lightblue .dropdown-item.active,.dark-mode .accent-lightblue .dropdown-item:active{background-color:#86bad8;color:#1f2d3d}.dark-mode .accent-lightblue .custom-control-input:checked~.custom-control-label::before{background-color:#86bad8;border-color:#3c8dbc}.dark-mode .accent-lightblue .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='%231f2d3d' 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")}.dark-mode .accent-lightblue .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-lightblue .custom-file-input:focus~.custom-file-label,.dark-mode .accent-lightblue .custom-select:focus,.dark-mode .accent-lightblue .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#e6f1f7}.dark-mode .accent-lightblue .page-item .page-link{color:#86bad8}.dark-mode .accent-lightblue .page-item.active .page-link,.dark-mode .accent-lightblue .page-item.active a{background-color:#86bad8;border-color:#86bad8;color:#fff}.dark-mode .accent-lightblue .page-item.disabled .page-link,.dark-mode .accent-lightblue .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-lightblue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-lightblue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-lightblue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-lightblue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-lightblue .page-item .page-link:focus,.dark-mode .dark-mode.accent-lightblue .page-item .page-link:hover{color:#99c5de}.dark-mode .accent-navy .btn-link,.dark-mode .accent-navy .nav-tabs .nav-link,.dark-mode .accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#002c59}.dark-mode .accent-navy .btn-link:hover,.dark-mode .accent-navy .nav-tabs .nav-link:hover,.dark-mode .accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#00060c}.dark-mode .accent-navy .dropdown-item.active,.dark-mode .accent-navy .dropdown-item:active{background-color:#002c59;color:#fff}.dark-mode .accent-navy .custom-control-input:checked~.custom-control-label::before{background-color:#002c59;border-color:#000}.dark-mode .accent-navy .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")}.dark-mode .accent-navy .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-navy .custom-file-input:focus~.custom-file-label,.dark-mode .accent-navy .custom-select:focus,.dark-mode .accent-navy .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#006ad8}.dark-mode .accent-navy .page-item .page-link{color:#002c59}.dark-mode .accent-navy .page-item.active .page-link,.dark-mode .accent-navy .page-item.active a{background-color:#002c59;border-color:#002c59;color:#fff}.dark-mode .accent-navy .page-item.disabled .page-link,.dark-mode .accent-navy .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-navy [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-navy [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-navy [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-navy [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-navy .page-item .page-link:focus,.dark-mode .dark-mode.accent-navy .page-item .page-link:hover{color:#003872}.dark-mode .accent-olive .btn-link,.dark-mode .accent-olive .nav-tabs .nav-link,.dark-mode .accent-olive a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#74c8a3}.dark-mode .accent-olive .btn-link:hover,.dark-mode .accent-olive .nav-tabs .nav-link:hover,.dark-mode .accent-olive a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#44ab7d}.dark-mode .accent-olive .dropdown-item.active,.dark-mode .accent-olive .dropdown-item:active{background-color:#74c8a3;color:#1f2d3d}.dark-mode .accent-olive .custom-control-input:checked~.custom-control-label::before{background-color:#74c8a3;border-color:#3d9970}.dark-mode .accent-olive .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='%231f2d3d' 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")}.dark-mode .accent-olive .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-olive .custom-file-input:focus~.custom-file-label,.dark-mode .accent-olive .custom-select:focus,.dark-mode .accent-olive .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#cfecdf}.dark-mode .accent-olive .page-item .page-link{color:#74c8a3}.dark-mode .accent-olive .page-item.active .page-link,.dark-mode .accent-olive .page-item.active a{background-color:#74c8a3;border-color:#74c8a3;color:#fff}.dark-mode .accent-olive .page-item.disabled .page-link,.dark-mode .accent-olive .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-olive [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-olive [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-olive [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-olive [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-olive .page-item .page-link:focus,.dark-mode .dark-mode.accent-olive .page-item .page-link:hover{color:#87cfaf}.dark-mode .accent-lime .btn-link,.dark-mode .accent-lime .nav-tabs .nav-link,.dark-mode .accent-lime a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#67ffa9}.dark-mode .accent-lime .btn-link:hover,.dark-mode .accent-lime .nav-tabs .nav-link:hover,.dark-mode .accent-lime a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#1bff7e}.dark-mode .accent-lime .dropdown-item.active,.dark-mode .accent-lime .dropdown-item:active{background-color:#67ffa9;color:#1f2d3d}.dark-mode .accent-lime .custom-control-input:checked~.custom-control-label::before{background-color:#67ffa9;border-color:#01ff70}.dark-mode .accent-lime .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='%231f2d3d' 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")}.dark-mode .accent-lime .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-lime .custom-file-input:focus~.custom-file-label,.dark-mode .accent-lime .custom-select:focus,.dark-mode .accent-lime .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#e7fff1}.dark-mode .accent-lime .page-item .page-link{color:#67ffa9}.dark-mode .accent-lime .page-item.active .page-link,.dark-mode .accent-lime .page-item.active a{background-color:#67ffa9;border-color:#67ffa9;color:#fff}.dark-mode .accent-lime .page-item.disabled .page-link,.dark-mode .accent-lime .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-lime [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-lime [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-lime [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-lime [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-lime .page-item .page-link:focus,.dark-mode .dark-mode.accent-lime .page-item .page-link:hover{color:#81ffb8}.dark-mode .accent-fuchsia .btn-link,.dark-mode .accent-fuchsia .nav-tabs .nav-link,.dark-mode .accent-fuchsia a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#f672d8}.dark-mode .accent-fuchsia .btn-link:hover,.dark-mode .accent-fuchsia .nav-tabs .nav-link:hover,.dark-mode .accent-fuchsia a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#f22ac5}.dark-mode .accent-fuchsia .dropdown-item.active,.dark-mode .accent-fuchsia .dropdown-item:active{background-color:#f672d8;color:#1f2d3d}.dark-mode .accent-fuchsia .custom-control-input:checked~.custom-control-label::before{background-color:#f672d8;border-color:#f012be}.dark-mode .accent-fuchsia .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='%231f2d3d' 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")}.dark-mode .accent-fuchsia .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-fuchsia .custom-file-input:focus~.custom-file-label,.dark-mode .accent-fuchsia .custom-select:focus,.dark-mode .accent-fuchsia .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#feeaf9}.dark-mode .accent-fuchsia .page-item .page-link{color:#f672d8}.dark-mode .accent-fuchsia .page-item.active .page-link,.dark-mode .accent-fuchsia .page-item.active a{background-color:#f672d8;border-color:#f672d8;color:#fff}.dark-mode .accent-fuchsia .page-item.disabled .page-link,.dark-mode .accent-fuchsia .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-fuchsia [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-fuchsia [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-fuchsia [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-fuchsia [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-fuchsia .page-item .page-link:focus,.dark-mode .dark-mode.accent-fuchsia .page-item .page-link:hover{color:#f88adf}.dark-mode .accent-maroon .btn-link,.dark-mode .accent-maroon .nav-tabs .nav-link,.dark-mode .accent-maroon a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#ed6c9b}.dark-mode .accent-maroon .btn-link:hover,.dark-mode .accent-maroon .nav-tabs .nav-link:hover,.dark-mode .accent-maroon a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#e4286d}.dark-mode .accent-maroon .dropdown-item.active,.dark-mode .accent-maroon .dropdown-item:active{background-color:#ed6c9b;color:#1f2d3d}.dark-mode .accent-maroon .custom-control-input:checked~.custom-control-label::before{background-color:#ed6c9b;border-color:#d81b60}.dark-mode .accent-maroon .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='%231f2d3d' 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")}.dark-mode .accent-maroon .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-maroon .custom-file-input:focus~.custom-file-label,.dark-mode .accent-maroon .custom-select:focus,.dark-mode .accent-maroon .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fbdee8}.dark-mode .accent-maroon .page-item .page-link{color:#ed6c9b}.dark-mode .accent-maroon .page-item.active .page-link,.dark-mode .accent-maroon .page-item.active a{background-color:#ed6c9b;border-color:#ed6c9b;color:#fff}.dark-mode .accent-maroon .page-item.disabled .page-link,.dark-mode .accent-maroon .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-maroon [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-maroon [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-maroon [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-maroon [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-maroon .page-item .page-link:focus,.dark-mode .dark-mode.accent-maroon .page-item .page-link:hover{color:#f083ab}.dark-mode .accent-blue .btn-link,.dark-mode .accent-blue .nav-tabs .nav-link,.dark-mode .accent-blue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#3f6791}.dark-mode .accent-blue .btn-link:hover,.dark-mode .accent-blue .nav-tabs .nav-link:hover,.dark-mode .accent-blue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#28415c}.dark-mode .accent-blue .dropdown-item.active,.dark-mode .accent-blue .dropdown-item:active{background-color:#3f6791;color:#fff}.dark-mode .accent-blue .custom-control-input:checked~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .accent-blue .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")}.dark-mode .accent-blue .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-blue .custom-file-input:focus~.custom-file-label,.dark-mode .accent-blue .custom-select:focus,.dark-mode .accent-blue .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#85a7ca}.dark-mode .accent-blue .page-item .page-link{color:#3f6791}.dark-mode .accent-blue .page-item.active .page-link,.dark-mode .accent-blue .page-item.active a{background-color:#3f6791;border-color:#3f6791;color:#fff}.dark-mode .accent-blue .page-item.disabled .page-link,.dark-mode .accent-blue .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-blue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-blue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-blue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-blue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-blue .page-item .page-link:focus,.dark-mode .dark-mode.accent-blue .page-item .page-link:hover{color:#4774a3}.dark-mode .accent-indigo .btn-link,.dark-mode .accent-indigo .nav-tabs .nav-link,.dark-mode .accent-indigo a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#6610f2}.dark-mode .accent-indigo .btn-link:hover,.dark-mode .accent-indigo .nav-tabs .nav-link:hover,.dark-mode .accent-indigo a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#4709ac}.dark-mode .accent-indigo .dropdown-item.active,.dark-mode .accent-indigo .dropdown-item:active{background-color:#6610f2;color:#fff}.dark-mode .accent-indigo .custom-control-input:checked~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.dark-mode .accent-indigo .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")}.dark-mode .accent-indigo .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-indigo .custom-file-input:focus~.custom-file-label,.dark-mode .accent-indigo .custom-select:focus,.dark-mode .accent-indigo .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#b389f9}.dark-mode .accent-indigo .page-item .page-link{color:#6610f2}.dark-mode .accent-indigo .page-item.active .page-link,.dark-mode .accent-indigo .page-item.active a{background-color:#6610f2;border-color:#6610f2;color:#fff}.dark-mode .accent-indigo .page-item.disabled .page-link,.dark-mode .accent-indigo .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-indigo [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-indigo [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-indigo [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-indigo [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-indigo .page-item .page-link:focus,.dark-mode .dark-mode.accent-indigo .page-item .page-link:hover{color:#7528f3}.dark-mode .accent-purple .btn-link,.dark-mode .accent-purple .nav-tabs .nav-link,.dark-mode .accent-purple a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#6f42c1}.dark-mode .accent-purple .btn-link:hover,.dark-mode .accent-purple .nav-tabs .nav-link:hover,.dark-mode .accent-purple a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#4e2d89}.dark-mode .accent-purple .dropdown-item.active,.dark-mode .accent-purple .dropdown-item:active{background-color:#6f42c1;color:#fff}.dark-mode .accent-purple .custom-control-input:checked~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.dark-mode .accent-purple .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")}.dark-mode .accent-purple .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-purple .custom-file-input:focus~.custom-file-label,.dark-mode .accent-purple .custom-select:focus,.dark-mode .accent-purple .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#b8a2e0}.dark-mode .accent-purple .page-item .page-link{color:#6f42c1}.dark-mode .accent-purple .page-item.active .page-link,.dark-mode .accent-purple .page-item.active a{background-color:#6f42c1;border-color:#6f42c1;color:#fff}.dark-mode .accent-purple .page-item.disabled .page-link,.dark-mode .accent-purple .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-purple [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-purple [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-purple [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-purple [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-purple .page-item .page-link:focus,.dark-mode .dark-mode.accent-purple .page-item .page-link:hover{color:#7e55c7}.dark-mode .accent-pink .btn-link,.dark-mode .accent-pink .nav-tabs .nav-link,.dark-mode .accent-pink a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#e83e8c}.dark-mode .accent-pink .btn-link:hover,.dark-mode .accent-pink .nav-tabs .nav-link:hover,.dark-mode .accent-pink a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#c21766}.dark-mode .accent-pink .dropdown-item.active,.dark-mode .accent-pink .dropdown-item:active{background-color:#e83e8c;color:#fff}.dark-mode .accent-pink .custom-control-input:checked~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.dark-mode .accent-pink .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")}.dark-mode .accent-pink .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-pink .custom-file-input:focus~.custom-file-label,.dark-mode .accent-pink .custom-select:focus,.dark-mode .accent-pink .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f6b0d0}.dark-mode .accent-pink .page-item .page-link{color:#e83e8c}.dark-mode .accent-pink .page-item.active .page-link,.dark-mode .accent-pink .page-item.active a{background-color:#e83e8c;border-color:#e83e8c;color:#fff}.dark-mode .accent-pink .page-item.disabled .page-link,.dark-mode .accent-pink .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-pink [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-pink [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-pink [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-pink [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-pink .page-item .page-link:focus,.dark-mode .dark-mode.accent-pink .page-item .page-link:hover{color:#eb559a}.dark-mode .accent-red .btn-link,.dark-mode .accent-red .nav-tabs .nav-link,.dark-mode .accent-red a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#e74c3c}.dark-mode .accent-red .btn-link:hover,.dark-mode .accent-red .nav-tabs .nav-link:hover,.dark-mode .accent-red a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#bf2718}.dark-mode .accent-red .dropdown-item.active,.dark-mode .accent-red .dropdown-item:active{background-color:#e74c3c;color:#fff}.dark-mode .accent-red .custom-control-input:checked~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .accent-red .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")}.dark-mode .accent-red .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-red .custom-file-input:focus~.custom-file-label,.dark-mode .accent-red .custom-select:focus,.dark-mode .accent-red .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f5b4ae}.dark-mode .accent-red .page-item .page-link{color:#e74c3c}.dark-mode .accent-red .page-item.active .page-link,.dark-mode .accent-red .page-item.active a{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.dark-mode .accent-red .page-item.disabled .page-link,.dark-mode .accent-red .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-red [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-red [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-red [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-red [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-red .page-item .page-link:focus,.dark-mode .dark-mode.accent-red .page-item .page-link:hover{color:#ea6153}.dark-mode .accent-orange .btn-link,.dark-mode .accent-orange .nav-tabs .nav-link,.dark-mode .accent-orange a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#fd7e14}.dark-mode .accent-orange .btn-link:hover,.dark-mode .accent-orange .nav-tabs .nav-link:hover,.dark-mode .accent-orange a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#c35a02}.dark-mode .accent-orange .dropdown-item.active,.dark-mode .accent-orange .dropdown-item:active{background-color:#fd7e14;color:#1f2d3d}.dark-mode .accent-orange .custom-control-input:checked~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.dark-mode .accent-orange .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='%231f2d3d' 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")}.dark-mode .accent-orange .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-orange .custom-file-input:focus~.custom-file-label,.dark-mode .accent-orange .custom-select:focus,.dark-mode .accent-orange .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fec392}.dark-mode .accent-orange .page-item .page-link{color:#fd7e14}.dark-mode .accent-orange .page-item.active .page-link,.dark-mode .accent-orange .page-item.active a{background-color:#fd7e14;border-color:#fd7e14;color:#fff}.dark-mode .accent-orange .page-item.disabled .page-link,.dark-mode .accent-orange .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-orange [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-orange [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-orange [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-orange [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-orange .page-item .page-link:focus,.dark-mode .dark-mode.accent-orange .page-item .page-link:hover{color:#fd8c2d}.dark-mode .accent-yellow .btn-link,.dark-mode .accent-yellow .nav-tabs .nav-link,.dark-mode .accent-yellow a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#f39c12}.dark-mode .accent-yellow .btn-link:hover,.dark-mode .accent-yellow .nav-tabs .nav-link:hover,.dark-mode .accent-yellow a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#b06f09}.dark-mode .accent-yellow .dropdown-item.active,.dark-mode .accent-yellow .dropdown-item:active{background-color:#f39c12;color:#1f2d3d}.dark-mode .accent-yellow .custom-control-input:checked~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .accent-yellow .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='%231f2d3d' 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")}.dark-mode .accent-yellow .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-yellow .custom-file-input:focus~.custom-file-label,.dark-mode .accent-yellow .custom-select:focus,.dark-mode .accent-yellow .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f9cf8b}.dark-mode .accent-yellow .page-item .page-link{color:#f39c12}.dark-mode .accent-yellow .page-item.active .page-link,.dark-mode .accent-yellow .page-item.active a{background-color:#f39c12;border-color:#f39c12;color:#fff}.dark-mode .accent-yellow .page-item.disabled .page-link,.dark-mode .accent-yellow .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-yellow [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-yellow [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-yellow [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-yellow [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-yellow .page-item .page-link:focus,.dark-mode .dark-mode.accent-yellow .page-item .page-link:hover{color:#f4a62a}.dark-mode .accent-green .btn-link,.dark-mode .accent-green .nav-tabs .nav-link,.dark-mode .accent-green a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#00bc8c}.dark-mode .accent-green .btn-link:hover,.dark-mode .accent-green .nav-tabs .nav-link:hover,.dark-mode .accent-green a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#007053}.dark-mode .accent-green .dropdown-item.active,.dark-mode .accent-green .dropdown-item:active{background-color:#00bc8c;color:#fff}.dark-mode .accent-green .custom-control-input:checked~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .accent-green .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")}.dark-mode .accent-green .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-green .custom-file-input:focus~.custom-file-label,.dark-mode .accent-green .custom-select:focus,.dark-mode .accent-green .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#3dffcd}.dark-mode .accent-green .page-item .page-link{color:#00bc8c}.dark-mode .accent-green .page-item.active .page-link,.dark-mode .accent-green .page-item.active a{background-color:#00bc8c;border-color:#00bc8c;color:#fff}.dark-mode .accent-green .page-item.disabled .page-link,.dark-mode .accent-green .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-green [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-green [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-green [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-green [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-green .page-item .page-link:focus,.dark-mode .dark-mode.accent-green .page-item .page-link:hover{color:#00d69f}.dark-mode .accent-teal .btn-link,.dark-mode .accent-teal .nav-tabs .nav-link,.dark-mode .accent-teal a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#20c997}.dark-mode .accent-teal .btn-link:hover,.dark-mode .accent-teal .nav-tabs .nav-link:hover,.dark-mode .accent-teal a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#158765}.dark-mode .accent-teal .dropdown-item.active,.dark-mode .accent-teal .dropdown-item:active{background-color:#20c997;color:#fff}.dark-mode .accent-teal .custom-control-input:checked~.custom-control-label::before{background-color:#20c997;border-color:#127155}.dark-mode .accent-teal .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")}.dark-mode .accent-teal .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-teal .custom-file-input:focus~.custom-file-label,.dark-mode .accent-teal .custom-select:focus,.dark-mode .accent-teal .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#7eeaca}.dark-mode .accent-teal .page-item .page-link{color:#20c997}.dark-mode .accent-teal .page-item.active .page-link,.dark-mode .accent-teal .page-item.active a{background-color:#20c997;border-color:#20c997;color:#fff}.dark-mode .accent-teal .page-item.disabled .page-link,.dark-mode .accent-teal .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-teal [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-teal [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-teal [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-teal [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-teal .page-item .page-link:focus,.dark-mode .dark-mode.accent-teal .page-item .page-link:hover{color:#26dca6}.dark-mode .accent-cyan .btn-link,.dark-mode .accent-cyan .nav-tabs .nav-link,.dark-mode .accent-cyan a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#3498db}.dark-mode .accent-cyan .btn-link:hover,.dark-mode .accent-cyan .nav-tabs .nav-link:hover,.dark-mode .accent-cyan a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#1d6fa5}.dark-mode .accent-cyan .dropdown-item.active,.dark-mode .accent-cyan .dropdown-item:active{background-color:#3498db;color:#fff}.dark-mode .accent-cyan .custom-control-input:checked~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .accent-cyan .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")}.dark-mode .accent-cyan .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-cyan .custom-file-input:focus~.custom-file-label,.dark-mode .accent-cyan .custom-select:focus,.dark-mode .accent-cyan .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#a0cfee}.dark-mode .accent-cyan .page-item .page-link{color:#3498db}.dark-mode .accent-cyan .page-item.active .page-link,.dark-mode .accent-cyan .page-item.active a{background-color:#3498db;border-color:#3498db;color:#fff}.dark-mode .accent-cyan .page-item.disabled .page-link,.dark-mode .accent-cyan .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-cyan [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-cyan [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-cyan [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-cyan [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-cyan .page-item .page-link:focus,.dark-mode .dark-mode.accent-cyan .page-item .page-link:hover{color:#4aa3df}.dark-mode .accent-white .btn-link,.dark-mode .accent-white .nav-tabs .nav-link,.dark-mode .accent-white a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#fff}.dark-mode .accent-white .btn-link:hover,.dark-mode .accent-white .nav-tabs .nav-link:hover,.dark-mode .accent-white a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#d9d9d9}.dark-mode .accent-white .dropdown-item.active,.dark-mode .accent-white .dropdown-item:active{background-color:#fff;color:#1f2d3d}.dark-mode .accent-white .custom-control-input:checked~.custom-control-label::before{background-color:#fff;border-color:#ccc}.dark-mode .accent-white .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='%231f2d3d' 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")}.dark-mode .accent-white .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-white .custom-file-input:focus~.custom-file-label,.dark-mode .accent-white .custom-select:focus,.dark-mode .accent-white .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fff}.dark-mode .accent-white .page-item .page-link{color:#fff}.dark-mode .accent-white .page-item.active .page-link,.dark-mode .accent-white .page-item.active a{background-color:#fff;border-color:#fff;color:#fff}.dark-mode .accent-white .page-item.disabled .page-link,.dark-mode .accent-white .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-white [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-white [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-white [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-white [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-white .page-item .page-link:focus,.dark-mode .dark-mode.accent-white .page-item .page-link:hover{color:#fff}.dark-mode .accent-gray .btn-link,.dark-mode .accent-gray .nav-tabs .nav-link,.dark-mode .accent-gray a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#6c757d}.dark-mode .accent-gray .btn-link:hover,.dark-mode .accent-gray .nav-tabs .nav-link:hover,.dark-mode .accent-gray a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#494f54}.dark-mode .accent-gray .dropdown-item.active,.dark-mode .accent-gray .dropdown-item:active{background-color:#6c757d;color:#fff}.dark-mode .accent-gray .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .accent-gray .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")}.dark-mode .accent-gray .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-gray .custom-file-input:focus~.custom-file-label,.dark-mode .accent-gray .custom-select:focus,.dark-mode .accent-gray .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#afb5ba}.dark-mode .accent-gray .page-item .page-link{color:#6c757d}.dark-mode .accent-gray .page-item.active .page-link,.dark-mode .accent-gray .page-item.active a{background-color:#6c757d;border-color:#6c757d;color:#fff}.dark-mode .accent-gray .page-item.disabled .page-link,.dark-mode .accent-gray .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-gray [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-gray [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-gray [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-gray [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-gray .page-item .page-link:focus,.dark-mode .dark-mode.accent-gray .page-item .page-link:hover{color:#78828a}.dark-mode .accent-gray-dark .btn-link,.dark-mode .accent-gray-dark .nav-tabs .nav-link,.dark-mode .accent-gray-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn){color:#343a40}.dark-mode .accent-gray-dark .btn-link:hover,.dark-mode .accent-gray-dark .nav-tabs .nav-link:hover,.dark-mode .accent-gray-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover{color:#121416}.dark-mode .accent-gray-dark .dropdown-item.active,.dark-mode .accent-gray-dark .dropdown-item:active{background-color:#343a40;color:#fff}.dark-mode .accent-gray-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .accent-gray-dark .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")}.dark-mode .accent-gray-dark .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-gray-dark .custom-file-input:focus~.custom-file-label,.dark-mode .accent-gray-dark .custom-select:focus,.dark-mode .accent-gray-dark .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#6d7a86}.dark-mode .accent-gray-dark .page-item .page-link{color:#343a40}.dark-mode .accent-gray-dark .page-item.active .page-link,.dark-mode .accent-gray-dark .page-item.active a{background-color:#343a40;border-color:#343a40;color:#fff}.dark-mode .accent-gray-dark .page-item.disabled .page-link,.dark-mode .accent-gray-dark .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-gray-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-gray-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-gray-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-gray-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-gray-dark .page-item .page-link:focus,.dark-mode .dark-mode.accent-gray-dark .page-item .page-link:hover{color:#3f474e} +/*# sourceMappingURL=adminlte.min.css.map */ \ No newline at end of file diff --git a/ems-core/web-admin/public/assets/img/circuit-board-5907811_1920-bw.png b/ems-core/web-admin/public/assets/img/circuit-board-5907811_1920-bw.png new file mode 100644 index 0000000000000000000000000000000000000000..683e378d3ccd66faacc9cc167eb70015a915173f GIT binary patch literal 602336 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

Up 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 z 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�V&J0NhvsATzwh` zmma^t<$Mh#v9*%{5vB0nu0F?1stkwEGUPGh@#9%mc-#XbQv5+|B~-CeA1D_xABPav z^71WNCo{*vMTv3Q!K>q@Od&u>DDZ%HDD*41Vi@JbcKOt|wqop}Dnd)H*6Vng8H8Ex zL-ecCXF!V#8H*d6#m^bncFKDk$VGZPZ{d?M%e{>Bo8nmV(i~`!us0&k`)i!VE+9k+QqXAz+Aykl|URbxOt@uj!2##q>qmT*j%gL`Xe_ zP*12Fj#lwS8fP(MgIuLI^A2;&u*6nG&yoQdEmA92FsYE&1ZN6WPsMtWHkjJsZj+=7 z6|l&_u`|jvmw8I|rq5(Om{@mE5ON~=_-tcHWdG)p5)s!N!sZ@0wS#4Ka`1wXjW)r! zZ0F~YfSl0QXHq@pNQPTWLg(YrsrGnhB4FCn6=*G(GGfQu z^m$wYhE#mDRbnL|!RL>>sYi=5{)|JSM`~9C)#Ru-oZY9@tlU6i3fgvpdwf^E%n}(e z&olgtOe3HmrbCKRvaTzkuVmjdk91qQ6!_zfsA92Od$yXoQHA%Nu>|isStMtOhmSHO zrpppB&<5r>f;rl3=3^YeEHiB6V{D{Hz#Tk^p`Omi#19pFUA?*20fualD>;pr7^Thq zJfdv^hL%{AarU&Z8Kk;y6&xX3ID!E#1rbm3kOEd@IVB$Fehvo2%`8-=GU8Ynec zD}G9C_1K|JO3v|e1s|i&B0UPOM;myfXW=4)*Ep)9W^bP#!{`9&hM89%ZzY7vCu?2X?s+*Tr_teRs|ArI{4uvRj+~Go zKHuaEmH@KH@41as1tqWycK*asSDI_b+_8{9gS<5kS(z1ETeecqyQOc!QNRLi zxq=f|Mrq-3H;<@G1QwR%SOV%ggw^C_3SfzO*}@4dQqZE{QJz*ug@{FF$;K6|mGIa7 zJ;r8CQyfCe!UqwL=smP(0gIf*CCo{VLxS57gRZFeJ$z#N_=HwSc8QQT^g4F12_+%n zQa&kt5({}O9fNwW+Tmk$2EHntQR=#7?BF=Llv#v?HW5GLSq(|aDC|~T9;KcPX%eUG zx}kS!Q(IeBcMhvOe?|)UgtT$U$uI;-%Ln^(_kq=0_p#JQGrX=_S+u<;5l352&vIO* zVbof&vZGk7T+L=VhGjA${=j{pU5g!<<0ZX?At^3x&cwCV)yc4BPoE|efytgMBfz)& z@n7}l3~5m?qQ%vmCWA2Wmn1~~CeBPuWx8TV`2HLmlU}_~@_u*#M6j(hQAEJy1$?)*$ z(~w zrNaZ9s(&jv%Y=;R@+Z9kA)vtL8?^1?R4`)RzT>aF$sCJp<`I1T;utHu+UJ!dnu3o* zOD@uzc$bVWKKJA3IkJdL%gW3-q!#Q}%Fa19E7E3x8QG#g;#~ql3ho5H!V&>PBJzoQ zwg1PmP6RLbD1Ca2$Z&W{A0)&>S>PltV_p_%0WrQM?yk=*fFThcAtM%Pk&&~BH}r?} z=}<5v;9^dd#4547!}@lTdhaqKwH@jRr01XR_inQbs49%)<3YX(g|`gVhDoAD|#at z5d}FZS8}2((Z*xAg4c9v2gX*SCXCgoehf9$#ry@K&3pWWAz##4e3tkfx3Gvun|C;y z6QpF?Ywn(_`yS1+C}nTVUspb_lZj_xNQld;dL1xlHK(?4ob+qZddJGbdlSbgY+Bi? zp&sUVMYpnp8FB_hT*MiYF~TLo8-wwhy^fWisS{Vc`~AMG^~v}s%eEt}z!@k0D~bA? zoEAf33Y?m*+9Au6D`D=rEwo#W?(eBS`7+E8x58 ziW1RpAW-WfY}LPtZ|S^Ky7VdgfL06X)}ob;r+IKPX64KJ6ON={$bX`*pP)lQ$|Kyx z67!50@p&#pY{ta1W0c|WalMll*nkpnKbd}6%C4qnhNF3J9F!$C$Pe^-UdG3z!`Q)D(YOUTk?X8&FuI*sYie^fs z>iQL%_xEhTVS1$wj_%&RzT)y~3!6oMTd!l8c~TODYdBpp3d`16HRn%lZCDjJ7*dea z_zVy8F^*uwR_@~@U^{PMIBpl|aXBH21o$hM@m8~yNk(PY>Bh<5dW`T0cv){GXO@H| zx?Ic&k~7bCLR&pDL=J(abEx`motj^e<1!@Vb=}GWvp9@!EkICk33lPbH_yN6m+sv> z*4pb$H+nEm!&YP!<;ZwsLZ&PqTl@2HU)W^z*bu;H2q8JS-EQCGG`UKDNQ%;9z*a&%Rf<&s zp!LL5)tIb}S4`s;}p5XmW)U2laW}b)kjz5DO+!r+knulv=OiA ze1%C-6iZxayGCE*XG_;e5wl$3wNDPq)` z%sMZ7Jbn|Q(xetz{XNx_=n&xYg5FF*M9MN7IgeANV1&ag4%?X}Wkid_l4Vi*ysEjO zKym2uw%*7xAwD|^xR_6h30MM~7A?=Qgr_&pUK>Z>(+n=@B+8C+fMW?r@rY}Ezg0md z#9Y~CT*P{ahlGyQB&M@!bS^`OdLPQ)!E*K)KB=;9FL=%a*m`8kiNFi9YUH%l z&DH9jD`!`IkDru|mD=xDKZE9L3c#a9h%nRz9jHTx9xllq!l<>kch$$NPVa6yJxn0= zvfe~Sn?8baDW8@_5<+~iJI7kTxVWz6l>8X0!Z*ZslECbQy9B=ou2%T7^rTzA>$B@{E6HKIdQ%>`!eiTJ4$i{sy}5rJwmqOaXFum5i;hF)!I48#5KsoS!?63m0wzaO({83tur1uGxABj zo4{6S9qY$t#%Uq3L6pl7 z|FB;$>Q1;Rb$XW8(UWf@`XsaXbodPp7iu6&I28DJB)AR7yE@{e?M?V{U~Shqn#r7K z$PoCPY|@|eBqM~KmLvwN>0iQBdcrV)`BAt3(>oimxyqQc$h-JEhz~BE(5F8 zBV%`?%=tJt6cWdk`O_fhC~WSNYXttogDTY43$3gF3=dNVI_B+EEFhNE8- zhm4d6u^Fo}+^7eT&2ieZRZDHzYfx>)g>59wn88pOdh=7xAsmo}qRC@W~J|e9F2t7QS3L_SLam1P>*rAh6K% zWQ;i}h!`Mv#JGeOCS1N7u!P?ZnHBvUakoCg>$M91lN`yX^-_)y!#|eW>~uiAu02VE zb8yGFeqO~m$!2u+hIY(f(VJPK$1*8h&gV>7vJ$*?A7GmPIC!=)-6yqY$J`wcmt|(; zD$dd0^Crtcz$QMyNfI%@!>7Ur?de|b&FpQa!+jDfz%KN7QGbNeLs=%`LXHq<+v?|X zO#`cZcUA5%^DUuelg2)8=&kHz&Vu?bSKaso3htgk;3HHiIN2yvsHMhP=lzvpORwLP0==i<00I*f{g> zw)$qJq_kPa$0f$+T*>trS|~k!P0B?&FGCD9g|mmp^x$tWA8s_NujT>ok}%+S`A7XS z&+{HTNSWhUPT_bq$^tGPDJdbICHQn~Zq%^oEwNE9)Z2KK76A@V;Og1pTJr8vBci^Q zl^Rb%!7_nt(K~pS89FHU;pkT-VTcQKi7DwoC(qv8fmyjsZ{{^3TEyH>q@NLJF`!Gb z;$GG33sO6;Jz1r;V16pYIn%XO;ImA?fC%9seS$f1d;Sf`&U{6+%*a|_50ZW`97wYv4>5vj} z6Bp~J#U&@QoQPUmFZO`k)RY>#qX)V-<& zDG-s+W|y0cjLq;FCiW4QZD3$#?zEJPt@3F-3@}KMfXhS}=J%$;%1;D<`l^l;) zDV8d{UFT*vc1(oaB4b2{mXmSrLe9AZLT`UHe)QrYN0TIDvI z3GOh&LrIC~)8@Nm{FZqJboet4-_cnak>HIXKZmlZg^qd*@a407js;C|2*txCV<#aI zDN2CDh+w?oR*$I1ka^jnH}V%Y0}&5{o-K}DjH<`jI2$I%VN|;vTna)tUt?Y+Bf{Z9 z96ehSpkT>%JvFz|I^b%+oP1Az$Qw8m%y0*)UzBB9#8hpP=F`MxWo7IZ?0rQ_S8*-M zMKh;hhCVI<59*^<0P{W0;1XtJnFyB!dNx#&#)519O9}8;AR;6t;4S?L%gj&JtZ(jL11juF)UU$7e*qJ^1=J(zmp)MQ!7m+SK;m>hvQH zFwcM&^eslD9K(_Hq-A>}`WQyZI$1K~cN@;n0FRx_&>^9(83iqA10w>47zv4jl)xfX zn#^Qaz>YA|AMpecvv~Abv~s)~i4dOSf91c|qb0WMs!M`Du_CSw5Nn-It5oeV-+3fB zq-@}2y^SFeMrrRVP8ZKsqw2lo)1Yc?Sv^H+=2}3(08{lDSXbTy2E=%_kWh89I}=d7 z4|4|Q(;0tFXfdK7I+1uNZ0~cG%*b#VFw0AN6HCn6 zz5ZfO7KedN-0j~Ht|USfA;qEKv;13r#CA3@vY_LD7CAe}xQeR<26$kbhjjf{q{J%f zm_~mgBjiQ>-+2{qXxW0?o4m=dxI({#Bg@Q?5ffRefT`8ZwBLp#2pL@lbmS7y-_s=} z;t#ldQ`?f-ttdO>9V!#38~vjt99k0CQOZzS2m=b+kp~r@OvQ?*1SGU%i{8ecn8BsZ zBcNZE1ee?rf|fO%itNJVlnm%?R<6_=d5s9A!`-<0MKQr{F^18tekXiJgmRVM!t3-X z@VK8uzhdjNVwbii5zB|i$Tt^#^L+|9^l1YR>wUC|7%}7|E@ehCpdcV*NMO6S%6A&a z$+s2If({8vi+A;UwlhnN5^yPJNvVF})fWEgv%PobTAs~}oLQF1I7z;*H`B+VAmesK zKQ4>-W5>1%{HJ3)wcT62)~;Z*3R%`Cxu4eh#iEC z2$*4~{)IpA93zxSPvOg)h%XVQ&T2SjCppN(Hm#c~?2|mi29|*l^PJ5beO~5IbO`9N zgMZ<_)V3sJ?$G*--xY-YV2yA2b44?O)r<>xL2qOU-x5k+!>44#0BYnC2kZQ&wkNAY z_94Z^M@ez%F|_?rhPJz~I2dP)bJ;ib#`nNkO|4px z3qo=nd`4t+S!9+AQGU&4Mzr`fF6R>3mS1PTXABOuW%#({nATmFn2>_h=2aEN$EP4c za7ZSwxrVUR;PhwYa?N-hhk%5K@bt^#kl22xD)(e^NbdOP3Brh;T&1`07v>P!{ESS$ zDvl-nsI$(r59wCtH@3@6OgKYwDaX*jnDX!6DBn858zh!lV zveNBX&7>v$DIpF48QOoUGc-EY0o=w^2Bt(Q{BsfG2s2Jq14F+b<+!vo; zB_<6{p~Z80JxYg+5p!I?8Isr_FG27ybXR^2@l^r?n}GY2fVcEEcG9B74gxOYREddc zTXfX^u@ahIj%{7O$Ix4SR!-7i@oS!^PlR$L=kqx>N>&3LmP($71pT>dG1Cz7p8oH= z#6}7dmWc82SR^5)jmMApot2A?5Mr2;O{_4Vi~@H&kt1S6F5xRIP!IsmGE#rc@U#BA zq;`LnJ}IT{wnsq=1K0C#aIO147;i{EO^SV^>lDysL`qk-a01IL(WA?KJgGUp?Wrom z*yeU-khl&$eP-lhPGLlf#|G}>9-XlvUNL@kMJ-&NztAEkkZbukOXQ?%;vOE=(B8w9 z4X$-|oITk}L4oQF%4;b|33*cQrA0`i|a%2L!| zYE#=AYwEDPtp8tr%~1p>F$EbTB9tyS@tsB_xUrg;FGb;XStk{r7MYevOzAEe?%G42A*PM^ZNDt zv+Ut|>nq^?AKNAYe0ik?(-88G-bzjjWr*+tJ|#O)yCZoM>9XlFeQ-_p_`BSOND(a( zGIBaN42Ue5n!#o5yY66__&3GD=TEv72Oo!+fb;pd42kh=D?<6C7PT;{B+IDMw#Ikw z@Rr`h4m><|AY9IwQee6rhZ7ak12z7!t=+ce>+)~;4ySS=$MAW+#YP#8sb}0VLZc)L zTi0gT@=J!A+xZJe0z(|m=HK$)^WSnI8!eVG6(U4*KSpP1lI-vjQI}hWV;yw2@A9-7|@f; zH~}RAlS5UpVPS+;N_83j2#9^*a@#-CSKkeZvK+MpP6Hps=C z%8-ZwZ64w=jVM`kit*PvIAm{ZvMy1nvw)J@rKZaxdKV!=$~Mko3q45)NN{jS5i%R5 zPxdnuww^UYnBhIWkp((9EE94yXUQ^c1{8#~E3a48rnY-4$m~ojtcZkX(e0b$Dvn~A zf{29cc~09_f2zuWPsev^ySJ)RZq}A%{g1p%hXID?t4#}KJ07rs`}mnUmVZ|ntys;} z0+FBMdIFBHyS@Rj#VDKU^H2Or12Po9(IHZVF;PV5{knM!{ zWVj3|JG09DynYljH_K$J;P8@O&jJAf3CcBmQj`?OipYG_4zCY7%4Qb~$ZV~tPe*(l zX7K6bF(R;C+Q#3jJg#+)Y%{l}z$Kx_U-St!5(5$cz!zyrLBgl`oc@^Sn4!hX{DLcp z$2W7zSyQ))hs$goX5;Y4$!N<7`g;`9nNvpNd$aIXHI`yc#qE_lSOV*Gyj@rBylWpD z!6U`9xO-D2amOK3Ddy&mk6ix6WLC>Qq&^+_p5DMq%uvwgL3}-1besbTYteJ z^*{!65r#$ASxm7DF2- z)_c4579Q6Ggt&+;?iPn>q%2vg#h2fZHLn)Lhjr~HnMKp%%M@@0-8=OymrRjYP)1E17W#ILCk)Di5r-iZAVHew=XV<#qNW_zc*qo=#3R3%X)Kr2hp zixg!`-qHhf00|(?b+0}9!}Gl6-pm9NBtasHdk_HfX6AkGYaVmV_k6!O=W;4a!vb5I z#E4w3zqP$52RYTIx#~5k0wyS>vKo)er8m6us}kypn|J#NI6%MY8C~_v=q3B|u2al&>+%XkLb33o0?Y8-H6EXYN*AET+41C5T2xS}RaS#uo$%Fhv z)pGv0IJUA|JXv8ig4Ih~u=_-`?V{=c0Z;1>XyM^A$NAjIdKm!0NQSpKnvsO|aOp9P zLt>R-)^R|0)3bLfV>=&`1>4h=k7b^Zq|83CajOymMRRawiK+*jCbuw6pPV*15AaK! zBDHJh@LeFMo!DBpLKxP?!RMep#taGb1pEvB6`z!|$TroN6&FeInAb zQlFN`bL}oMz`?_}*JlVau+EmL85kLB2R%;t^tWQ+PuM8e2AQ!HVy$ThMdM{cmt0n zFLKxt7f#%)x{Vh2$M4LjGW@YXd)8VQRUzs#`>Km;bx8^(?uZN|>Zs%+x|_M@b<_z^!;6Eej%gPNBUwpe}&=$$an2DyRr>5}3T@;#o=CXo$Wrbx>` zsE*Mu!i}7DaxLfCE`({m$CFyg%9-=68pBt!^*fBtBgH46PfUxPApuY7!=yBcnBzjW zv0l0qa@b21tTF;1B4dV#9w9#SO!2CImBR#||!I)+#f@4=(XbM#6PwtPtiU^bA;9Ace1bsc=rJT>gKXnc z_7fxgnu97z5;`PAIP7AJP|EKX9V=^VcRtxn$G$4|WFL>i`uBXD*J!YbjRdqfjVAl}NB$iP zIz^A%0`1Vm5`}8hMf7Sviw{xCEr1&@t#(=cNXBOkEK<8u#4ICQ0sQ0iy z!&ZB4;!^38l-E4!X}#-{Yd(-NTIUW9eeGHP`U}`VW?6QW z1`)noj7NgYfW=y^V2vXi-;ukw+~8QQ-=u0aA01{#w|d6#M7ILiR^%WJ>tjsL07!{} z7CE^Mt<1K3bc}g1Jp-W2tX$6p^zaCAd6*xmV|B6(Sva=-S8tIPTStm%$t`SQ0SAvM z9_JBtnPL&4R||inbVTam*pO3XJLk~DC&A|_p3oMiu`^lboR4NpsndN7_hU*%lPC3I zrf4%H=S;RUD-jNYU)F;wLE%dO%7FDUrV+ZF!t45VV%Cu}V90hZl$gdU?)t=0SdGa_WgqY-N*jF6U(Y5g}%Q89qxODQ#K=ge-EZ zeAtFX39psF=3+f4K)Z_1pNZ+PXlp!`22$~PLt4DfpKTS$Sl#UrTla3tCLG$pUgn53 zDKQ642Kp32hnzMuIJWZbjAf%uhiOV7EjrB%O`5bU{dyrSQT+Dtv7)h`ayQCo^P=9v z8=YCdOxo+OM`@rom?(G zTlE=-^B%8zx?EUQC9n&>uDJSq#H(6rYd(<5t#)!n$}1(KT0%}nLP!93wy8d|_|bQ> z8T7=p(PqHq^mhtZyyznuXWl=SPk8t3Xwz|do}4N)$XFnvO%orNfRLh>%ClT&shwoY zQDD}^-b`jAvqaO=vV$`j(xXX($M~T-7VPGh)aPn*s)CDWL!pG2jA^-vv+3gE(cnRT zrDErSXMeM>yhJ#=79coagWSX!93Z5H$0PhmMH|e~vS7f9*Xr1p2cN#}pYaIzkv>8| zjzhw!e1#3t$0Z~uqET~g>Rf*r5D?I%L7$ur?A1G%vpqbpi^~Ke+){6*4osc62FGIK z^*goNa2^Q>M$u=13uGsr4QvP8%^x%%WH{-On%GgTg2=eI93Z2K#|EZRLX?QiR);QN zBZmkWuz)bAiRo73G$&&}eOmzu?1TIUz6em|d3#fKSe! z_!CVQ$k@bs$;iko9eX{o=-|<#g-3&d{z|{A|DgXxAJpG!Uz@i2W7cjtZmUz_@)iBM zeOy}X)vs}w^`s~RuHoa-Bf+no`^58EJ63;IMi$^ZJjDmdEVV?7S=L(^yt0v>@ofg0 z*{9ssxIj#R(X{ZlrM{#2MAufM4BA0iWQzUzbq;Yl z!a;m?aw+>$NT&#|yIUy>2adgc&{r$*v*9|Mb9 zE}&RGuhC}%;M1(#sCS1I1>b+CdmR5)Qo%pugS?V(1skdcPLN{_!_Uc{^ zG9Y9FXK<=C=~iScRhFd=`b8^s}EQD5Mz#54(5;FGlJT8Angff*Khe+h{`#zP#S zi;IiTfQz_FKgfFNSuf-@Cc1EN#covidw8GL6Oy z=c;rKFApz4hiV6rk1 zE)a35Y}dQl%QPO!Q>cDc+_HpR<#ST&+Il6YTAM{?*OX)c^!|0^*l+YpAygNu@x@MYBt)sUQ|Jj;gT@LBl-|i_$1788Q0N} z9&I8VTrvXshz;B7b-O~6H^nDm9sBft222qV;c+9E$b!|2%JFI0_V3Y7w22*y)x)TQ zL`6&2u}OwYm(8+WA7n4nOw;2YR4(eoGuw24zCjt zkkV!vAvCfZFcO9cN`n9?yPpb&r*PC9Oa5cRwZ^i&(B@q+>*Xr_d(LAKhi~y~KBCja zJj>5;frKGj_-Hv7l!TUD;l*~X3LdZNo%{%oCL4+IN$Btlzvk0?MbDJT28|U=`<=G} z25GMAb-ja#SrWQTb2aBmNC$9~!+QE;K!ZU|+_`#xK`CC4uY|m) z_i%_d9p0qDHZGQwJ{>zcm!^S_@7*odjZu%cN_%G`6{>o&eRTdDmpJ0x+*;Lgswu)& zS|kX4zRAnlz(>ewlIXYi6HPoK&St$-xh(fxJkt}^mTogEah@#&P_2G3es6)4OV6_& z4vuHmi>=wi;Ys};_#O@&HgE=Kv5uIB_#b&#W7g3pE77yd-;2yP8)LU)6U=zH_#9wb zc5nfGB78!g;3;+ObSk{KDW{Hnb_*Acn&U^C99q%v{}ZGfJM%g ztJ%zuJ`IGs`JILN&1XfTq$0OCA{){1puXB^tma9P4 z1=Lt@ETqZM(zs>cQt|VIDf)ESY+u#!6lPR9rQ?+GMLxkkLYly{e1m_-f8r;&C{x5V z`8%d$kr1`=5?Sq>%%4~Ff8z-@GK-Sp5+S(Eat1%+f8`Y|`dtgS_EKBE0e0 zx=azUh{MfXD27JeBqpL2@4-8Lf9t(i<3QJHO&Py4RbSz_2mF=;sd|I?Xoln6oScOt zW&lCwvxOnTEWhDD^CO+pM7#Ps{YM_g!C{g0{DoCKHyN)9v~T&Py(;{Vx~WyZK$aP1 z^`DHgB)xZnf3nQ0@s{BVbYY6OW(!twzNh~{*VZr(@fr)HG&miPf8ZYN>J)0jA_u=D z$#iU{UTgQl1SV#tI5xOyk+M#%3kwe_*qs9uW<>k&B6l z2c}6l&Bg%{4hgR8D{TZZ`b_k}?Vc8E?`oXxd#o zQd@0n@Q6OfEExe2AK+$YrH@ZS!&cW)LR(83CDt(Xs3|TfEe`0NmbY(!avhh+A`Ki8 zAR#Wf2J0j#_2)h51X#UQc~8M3!?Qi6h6l~Tq05=FomqxtH1OEX@3m7BJ-hbbaSq3c zoqRUx`WqHV7a?UU9sAt}_>G1*IQW3eBmABY4I<89gIxh!5}T%Sh$%>PK0wRv+z~ly z1=6!pt4T>%$7USjk(!n{7jq1=;>6nH@3@FJNSR^-9X7Fn4S4vx!3_V33uJ&#ih%-F zFeyW=-ejPE&pyr|qeo`Je>o8`5u12{uhLV0%$*&#iWq%dNW20j)**$}Zy4cS1IQI} zT0F0JvPc7u2!|b9EOSr-CNq1~qKY?JA5T0RC*vON7RvD%=$m*XgyaMyxTNHkIWHu% z9!ZyZ3T?B3cID{L+xQ5X1;(22|2e&n1>54F?BXIxaEWco)TpGTw!x;@N8H-XtE2-O z9MF3>K$Czj89TW^3h7%c3T5=#-@eHazjt(Uu&N4G)voII(HZ;y9X{2!ZpXIu7A>b9 z5gBdSPJ@V?X`bOf@xSo@oGp=x=>8VjMgo3lS+kS%4v@ z$c>!MJciNc2Rx}hLlO!q+tJ@wMzvKo$~I0TqK`7g6Z}vGmqh}E*0S^$Ri?qa_x`cQPaJY#pWxmFyGl7)7JEk@ucgb)#Pj;}00XZQ75AZuRa14kEM>zZ@ zPv_*dx~n0!C(^84r^_XD5kg}A0}tzdjdZB{^s798;uF*7Y8o=crAcBtAagR>whley zbS~l$O&ol=U0pK(0Du5VL_t&|6^}=P={_~m-7%MOrYzF20u>eIw}A^9Vse+K_|FXa zw_FFj&TAH$eUQU+`4Inxk4d+5@`|dOQh^K;p5_@E3`htF7+SSIBWRtniQn>5s|{%C za?2%dSB5gxiHa(!r>ei(%*&7%L22=VKFE-DU{}lwC9}Fw%PSpD>_oOI4V{;xt{BB0 z9uZ9h@a;Ts@yKb=A|j_tWaouBg0YpoYc0oiN&_LrAtK}r-OVDiBn)x6jk828OgFaD zFQb-IC)amTJOr1R7O(0*@g}DNi@4m#$njH{TEAwI5Ej#@r>Q4!>udewSf(XSKH zB1MR~nM-BJ6upuGYvLHZTV?_&hb9C1oFhB*P9huvhCD!~mqI$*!2=u0<+u!KGvrA=s%5LfcwGA)Y)_QDO`d15EGNttsj zf*YfH-{M#Nn)Ud+#%261=ZZ&<4jWuOjBYP#h8}ds(11d>quG0 zc8rhmD^_2dTCUQTZTcO4$wu0wJW9w%%Vlwtg|L#vtU{jzpA5)p5YypNeToJy8Nw-C z$3~gMWrjKY64+PW`+`@?P#nbMw21I{O~1xG9UL-ZzQW~l7>B?HsLM5bPVD%Y;igPU zY>(*z=g6(Phk0BA7I^?qFAy^V{Bp$B-#xMSv&jmtixtGT^?fY#uFY92l9CbP@fu)M z=R7*R!MWTh!a|@eigYzzze*@I_qPYOnyWqJF0Y<;bmUs zA`3Fi%H&j?X>>W#=z2&+`C3Q5Dw1h20c~E;ds$=}p-;wNbCGmWyz)Iohs|V0u01m~ zC9_*5w56dg84bG3Vi>DkQeu2Ox(sNcG-xp>eTC&ysdcNsuYyCL5ak*DHW6*QWUS*V zu8@O3lMsk#lGqe+wIh!nU&(Q4GGrak>-`*}g~t$=>)9enZCldX*r*W5r zAx#dlk$rkM^K@u)2<5N2Kn_!g24^*Api+gI*zq#4OpeAaZ4)ua*|JOTVUd)L?B!Qn zRO2d}CS2oEI*J4F-ToOY1 zU;)wrEqt-IQl^l04v=okI9ZgAjflHRmhx$r9-m^POO0je% z6>g{bECVXsr}y$Er;yUc;cq!xdMG~5Sh{#JE7zLUd3Q}pwaJA%&uPpPu*fVSrgqyQ zWu6F^9OW!p7Rb6fC|eb{yA0@%@tl5(MP_YE<0?KV^8_}vI;2HHU0z_E>$w673Jspu zdzqt2gG0F7%tewB6TXjF3QmAPY9-X+>ffK?li=DR)a42}Tle#OUZD@1#>HI7I_c9V zu+B<>gYXckeqLe8GCTr?tdpI3 z5Bo@I(%~^e{R{D#BOIGwb;P~kkkBM&O1`Wqduh{PfNKc`DDTJU-KxX=e1=v(-Q{t8 zm=-R5x?I6EgkpNmJccxZ0l^5?zer_NtW!Rlcv<)GIv-$xc^t0gd>L4}4UeSOW%l0k zK%OjSa^4wJM3~yDOOMTRgWk^^868pt!6z;uRFjqULvF;N6Iv+0)o+r}_&i~}JIux|v^8GXqG9*J;z@v$4>$Y9?qqLX@K1V}h>k(IWq#h|_83_Riujm6r zOcOCA;8wOszpOqPNr4KUTD*T$NTWyq3(xCrhBWb+C*%e$k%R#=L=4|IyxAu}Aocdl zaPT>{!860B$s#SekV_Z>J`pW44%4vlZ-#G~za|_0#IVdWP;E9TIT<|?JR;7*l^6%H zS_w@u)>~F7=#BLfnH+3NMu0~^kFWE0dX_|_RJ|lsFp=Wn(gh z{hUY%mnxux6|_TbcE|^YOv_HagV#w25x#}!C!{{Y>wvgwsWZGk1J=n!`aCUO<1}1} z$*hY57mDE_Lk{X4EV7OT z1efdih#a74@08)%T#kl+V#mu;d~ytBfRAVC&?8P^3qL~W5t5MMq08hKCoAm9V597= zqwbWFl94jYoZijLv~5CaCtG-y=ja2QIgQJim4qH)3C4HqcuELyiD>|T*6+|`7LNrs za2tQ*c@ELTqrnW9^OsCXPDEe{feQV;!Uc87_@4fVQ(2(RA{VnuG6u|)GU2`ztZ;~k z?b(b9q*rj{fI`Pgi1A7dJi|UZ080ymFNH?&AR7-=jI+M4tm-RkU8hCVZ*}fL`1+m$}}-P5fGBv;{5w18lKo&x24U#ijP_cz$3$O zOnKz=X%Z9D5mC>w@J-=TXe1cR@oWedjsI-pDcHuiti|)y+e=cV>AJuIks>kQ_`hjX@YZGcS(Bbu%9M^(C71fO5ij;jmfh&>C?5TmfRATJ9fSFY!9aJ ztnLA(Q4TW8E>4pVGSE2&2pu*`V5|OFDY8(okD9($A>$GKXF3e&@FpMPTHDbSSs7|9 zkjbs(qpGd*h&OD63L&lJhY1=WCjkun5x{2y;)${wKDJLlC zGP3e`9xnUzZXy~u^l-U>i)0a>6xVj78tV47?WCT(R*eTkzMTOP9l1__!y9a%PtH6C zQ4GnxPn&~m;48Qi6WGM1jE%a{<5%)824Rw*{FsBBYS;N2*<$O&Vtt_i@EOt|8u6j) zcooMc8TRQt^yrY&1$Jpqiu*IUHwf~LF znA%&dN4?EPPbWp}Vq0{Pq%<+@&&6-WCE7o$fet2ia@x2gVKLU!j-G&!^&BK3C)#g4>QLUArbd*gPv=FdTyDaH126pmq~C)n30`& z4=*r7OpC|y^`lY<>-pt577L<_5+Qix1Y~sN294Q^htTFJRR0P`hBQbBiK)XEi@9d1 zMwz7wFz!HRUpuwCRhUPQ20lG}98xmcJfRQMAV4_C7PhladNhd2EUjZRxtVoo%+Vt{ zq!zdsv5viZ7xPTxu!zGBE|H;a(iR)iiVeUf@UeHx3RQYjO)bKC0TJ~}H!Zb&EygBf z6DOAy2_7AJWxA15e44zW_pz5Y9w|Mp=HsGPoZGcE?1HA;vmtqIX_J){hnQ*psP~f7 zz+sUYZsRoR;n0xN?HZHWjJ!$C6l2j)T$oTtc|?Cq69?f9E@Kb}3hd#RN| zY4C#H%N)~I0A?o_%b-jrxc1Yks`0xOQq?64j@4Fr&)beBijIrbPSSdldG+49Uih(h zKh!B0i_5M5DIU*6fNo+-Z4_2vtwUE8_SAzZO0bNsW;!Ni7Xwu+8exW&;1q_bL zI%+v<3Tob*rtD-3U0jraAMgZNu~g5JQx{iSr+yf9ed`Nr{dWO!A{zL_c=)6^G&81B(jh{qu`g=P^L=M7PJk8RIl=|{+Ko)IrDso>k!GP zfYPHP?ZuT<9bbh*+qB@noYUAsN=lJ`SNnNBo=p%XY-S5Ru!=gB#!kWTTIBa*5~diG zSFW~3pOKHFhp^AMek>k5GA3-ja(vqyPoHhRMY#!>Q5h_$pDXpi{;<)IS%s% zJv@Arh(!im$-m*_V#bct5F9HXz52QcFft3N6+XZ@5?lCoYIUoORpEWnl2zB=m`h88Rd$CF3AUM$EHxe1)wtpiw)YQ8B!wsgsEv9~+$=I`*^C z?@wH}lh2BzOX2F7ZipDqD#x`stoQLe0U_`@SMitPNFN`UpeA=)9nY+ZF}Y>+it%|y zcLNQ4=4o&nXNn0jTpEOB-CJuy6h(8sL8iDkJfuG(M2JY($~Kvm)Dops4f#tUP@^47 z4k0m0Xt`29Mvn$DsjWu&G-+A!(j1=wU!W;M!**v&4GLve+y((LL)yR)A+husMlPeE zm#%)ljgk@)@S1*|HwYP!k#G%HNNiWu;_N3XnQPzb8ckpbSo%QD8S*drfAV?Ovq%qN zJ)h)X^KUs@7I5(B;SwJ8_yvJUv8S5A#z+suG|04xLrM#uUiltbvi6G&hhlt;64i_P zbrx8MFd*c5E);BCxS-D}K>j9SG7dUiTVwYf=#e_M3m&aDN$sKN$j#GZSOzL==E~)| zrA_zm4{YYd-oA~F0f&SJLq5y}{Fco$ILQCb)w+ci1D@gg?4?7%AueQV8C*!&38b_z zBdo`{vPz&^*p3Mz{dk#V=Ff? zD~ove#7lCb=IaFP-BMga0_K_Ku-?f$GXxyM=PO(&^S0B>e4>t>$;93*tJcZ!F|*u? zI%#Y_*{qTY1(RDI;vo$2iRrLk@8vZ%kP$K9IzBCll_gQT1{4GgMWQCbCn2+7B4r)F z(YtW*fWvgy#Rnv{R0~DuH0lmQm24W~&|t`;`YU__QWp6LUm~QB*!=l&sn>CGodQ~C zKu8feGd!oya;k+^Lx-Vd74>lOP~PNnK28@Ov6VH)LYRuyhMW}Nf~iu3fDYgSv8~#V z&M74#BBaT)dN)1R14Cl|E6$e%ihxbX@XAk{*jlzaZUh^8$AH5CS3bh!y1*hsLT2dD zmKe3*yU=zhukI77uL}UZPewvcNWvG7cb)j6vXGouQa+}`Gi#SXZ@+3|D zn3x5&$~}!Ppmpf$^74Jf;^vXy)2Gc8kLaT`Y0)L(LT+H4EYK)}N{@JKA=jGgWR%|` zW_Vq{#yqF6NRKJ5;sWVem6xm*_!aQnwYSKwWvhDfmcl>B;nYh<%;X8Z-))>U!O-F) zHXZebev|zKq`36>5}%eXEizIX^lSpkDQiilf0B~1FCt)yU+M!0AsIQd+{)?Fqe)`> zi3+gv(h$A~t}-GX)t}=SA{{Q}^R&f~rzF(VxZ`M+Q64g586Hgz(`KJOz>rhfPoEY_ zA7~KaSk1LJxq$zkhGf8i5Vb&Nu>p>urVfAxuj?)zPxRsAfQ6Z}OMG}TU3!#D1pwF3dI{^_1Q}p>7uV}!4oWOqisOuTykBw9o{TwXLgs zjn=FuI#Tb3Ems8`UrFoFMHtOfPVD_|%L#tEK#K*vpFcB217V&o@RyR|u}DZppH|6~ zR|V!u(XgJAu#N`5*Sk=fq$o{xagJoTM6|7w=HZoLMm}~%YQc7o>mvj>IP}@db+jeI zA+-HX<9!)bXO#JFz2C|Jnh((C72VBY8nl?@RN|63%~acm#C(?j2kRxW8hhrtMpZKn z+|S`ny`R_dY+&h=kkhb%m( ziyR-{QmGj&$UZ${9IIpI(z1}))$$h9wINeWr(#BHiVx(p@aT`A5bCV}P6^UGgwM5;EH5Z2BV$-@qB;(Oyd_fwvtt#qE&+;gV{okd-5G5fY#gLDm z%1%p<+X3!ipEgNL@W!a{ZNnmnJ!00&4V+64pNP%e#m}`hcIMTHF8Z8Ic;;}3X}OWj zMC2$Nd6++_)Sz;sGeAnH%{ass`}5+v14{-kJgwhn3I~rqr*I1m=`&41a-L9;r&mWc z%d~Ghz8bjf*RQfb%VxoD;4&G|z$LP>f1^|&qhGI`Wp-`b@}SQuU|JejEuYPw*!$D! zAo-M#Axgku{RS^{3PTndas!{0gcy$&2>}7g$PBNXDZxXD@EGz3-9x(!ByQkLnIoo& zM;}8Vk&)THBEhXStQSX3^ih3+_2e`-#8$S`5ff$%Y0v!X!iP7$qin=0amIHbR zeP&3BndNr=hRbPkhyg<~GA?Hq|B_QB#wEtF3VMZ%g*k3!tM+f|ZuZlp%|QY_Lr1DU z5|?^2Ke$ZsvVMa(ridBhv7L)$08A6r7~TrW-U&1D`@yvKB%Aa}aLMe*h^~GE&-=_qF4qe(LcG0nl zBeI2C^$ucu8VuOYc0ET@OU^%fhK7#Z5PtVqCp+|ho?#O`Hk6%5_54w>AQixvq1~*f z8M0n(())Oc79I&NaV62nXRdrlD#&1Ue&#+k8Q|mb1AT;+?F87$HfF^@4!|d&SXj~$ zGFU9Rfo0J$;Ge^K2VFWC0^}WhPzK}}YTpRA)SDPRi;0~GCQDvTXnamitNJ$tp@&Dv zA>G64v~3&tm-vVzR(9KvC>Y}NN-(xc=(q@d0s{W1_mh(mut<~JIY$<8@vQ)_5p^&s zeud>VN6l1p9^;2hbdn|?W;4FR?K}$#yXzSJq&HlJ!1!3 zMEI0G%WHJW=&*&;nU#SBF?l5Rstv5EkjOBB(E+`SLv-+%$Kg6Imm!KnVjIs! zD)-yFcgNd~5=bqbielO6a{?xy?*7|7zUc_b+=f#tVx%HtYm(5WqL z<}>Tm5S1gjJYmGjRJ^jxYje(36TTo~Iyl^kQ}8~q@qQp@%;l?^!{r%qYr zN$prH#BK*n$xhwFZ#jh>TqIHXS?1qy2udN->yY7*(2;BO9$uq~OJL_--R;SNIx|#V z&OodrZ%}eUnNYC_Jgtu~OGZYY^SO>$>EV+R5?Mz9u$4MPf}E8~SVrG1XNrBgn*l9L zCwv2!N*}elR)rSIO0yd#PW!uUqp->f&afOE#l(es|Jdk0t5kYo*!gTmLQIH|G0mHL zKd;aLd=|NePf1b|>tqyE3st>3x2s=X3XA$YuXm#~aOg724$hEXji4vB9Zm(=M0I9E z%T<;mJfuHmJux|RT*-DkiLG*9;g{qiVO+%qS_M`{;m@RZhIDvd?_rTy5@K?8@9Ia>?I?kiEc+eP=oy*Zxi$%b9zwvtDmg6oh>D|`MWBHZ z5}VuOIyg7Zz-?$h`jx&F4Qwpqu-s_+P3khS_v)IZJeB>f+gj64Di_`rxTD` zCGVIaJ|QW6+eAFBqgIVdv2~<`^W|^!E@FH_7PyDobhCscxK<%NC$S4yvBeuq^pxz> zHWzY%EUqwJ>#2hZPp>3+bO=XM0^`nb0rDF^VsREGXYA9ZflEeAhac+qX^|1KpR>4` zY3b4-BVkC@=~(2dd<@&5Z&gqXi&mRgbPoraLWohebGaAf-sF1zLNan(hBQZTCMGBCmw9TjNvMcv zp4Gc>?V8)nvF7}v&%7M5K*)*=C?_k0HR`_FB#b(d z?Rfa7qjjd0d0LnAj?GBw(ZZomhc9!X)H(QyPY@dP35aQMSii@wIc&)@98Tf0`WLv8 zpjM@Ft=KW2X^M-3(E~SCrHBX@7uROh>rUjjNtt)g7~(O_&-6ir0HMpEri!!NF~$+l z?}ROXgD$cSVAT3??3Z1D+K#1KI-t*hFY!sq7~&E$W7m?3uH1;! zdRCCufRu!3ey@8h-AoUc+c`%fGW;?xUI2zi`z?$>L?53V;ZglDEj%(7xRTG)kj#cL z#VVDJqyoluCe16eVl5H^End~TnPUSfi=^!00_l?x(kEet7MX=V6(ksi$5I4uW}WW? z0dMGC>}LvxoGyRI2W3CaT9wzV*(r%7p*W!b$O1kI2_Cz+L>7o^)wtDJPJm;{3S#Sz z`IboD9Sd_OVbsKqJ_hO-v|NQ2&}S3W>wdJ{(28OjhCAHtrSBPS(JW`C{lQASj_`N1@Uo&P&~n) zm_uR~xlne|B%)7?h}}G|vlzHsT+#q*ZQKhnA*N;7FNG(~C#_tqt;Bj=Dz2yT^IHwo zijw15Hz{QXhsX6PI{3s4`5>QXlMF1lL@em0&V5yIRXO%9`WUU0m-OrGXFVxhU?(4x zc|wLIS6>lGO}6rhP3%Ons%yynH8a*HL2>ACQ2&XSIfaCjgfH*~>079DlP(@wTi*(f zK0~_T;gaIx@hAO`ZKm%t!{4%54kMQ0xj2ha&!P(KT-!JDh(3-_2N-ZZ+i1!FM&xko z|JR!jMlK0QmC|IN?j~ajSj6L6J}d)#OO|mgq*+FG!T{4vGCU`y z@~M`xZ%%AtM=~kpUyOd)A}I}~aT%1MP&Kzq%Ynl*59+_?Wmm7`mPW^bk%bI^l*CFdIwT~-BsF^Oy1<-Jm*3o4Tf7EGQy0{eEr`AHC)VeLEtu(c6%Q#*6C@FZcA?D;ZF;P^p-pXuItBPV$ zC6DV9)*0!snOoQ-b2JG^En8q#yL;7acStOaYC@0DHcSUr%5pm&lQ~)_4Px5`k=ssz z$!30H+T^*MoMxVTvCEs5@f_bmdIRS4PF`g_IVl6a$X`lqC29?k@;FhH>5Ps@X`l=V z5T4cDWcYxV^1DrP+ps=vMK!57BU4#$XmRu_j8C22}+Zz_^7-|WY4D9 zJxtK$107z}-7FB2Go;0>TrRI#7-99N{#h%VYY93`N6WxMD@~tGGP0*k?Bup%@r8^2 z?20aZV3Q-``fLC#Tz;&3$T@|C!z?l+MTuF!VKWE$&+OG{+bg&>?3e?oj0Q@K;uDbQ zFE~huOG-r1lD4!HqcYd4Y}EUY9e*<{I>SY@MO zkpWi-!hoD-g?{-_R)sC%rMMkmOJ7M0R+UsoabA6Z)pNJl3a4Q`d(k3AX8!V11pBMBp zhWa$YV>2)6ZVuxxL(Gt?xl-n7ks+3ENURpiq#`x3iM`jhJovX-B~x5Xr%p&$_wX`P z3>gx04Ih<^xUAgQ_v(5T$)sQhMEH0-tGlfak>YR@XGq-3*v!K#p)7Tg0?BG-}DJ)Pe;~BFwQo zdxe`Rq@)Z;*su5V8Z#&vJ+|?2=`lkapQLQuH{DecDK5|JJ#?7`hB)lxEQx54(jZ%M z6-R%bCK1*oBO}B|XwtOoh!atXi7mAwfk%sOZtTccd^|hr)rRJE5Ux)|&YXUWJ{|fb zoXR%-Z~Wi+Z}=E3B4TFw6A#g2we;;Lf*m7kpUK(8H0h&w{D8;kkP+k4#G_Z{%&oG{ zY4=TW>EO}VS2@HGhmCAvMxbkP`}MI?jdbH^KtK#73th}v^4FHHP8o79H|e<&lVb=O zs_bGVtC*vB^a*QAi;lS_)u&gee*=c8ha|@~LrjINK?0;aj}VX`oXIX`Wsx?irS;8l ziOW{*>Kkmst`Z;q!bjs5ORHjU(i4ad6N%wEmLxcHUWJLk~Z(Gt4M0?SQXK^u?%RjSMO($ zHbWdzZsj~ltjtABQCIWGa4np#T8j(voZ>S&yrOqA#|$|M2{&_@bnOa?B`;Tt+A;O3 zSM^&g(k5bv&kjB)5fKeM=IGRDHdbc}Bv$gcNgvf5aHL~7S|?n^C$k;dJ6IWLClu^` zE_19SK*(rPaAZ~@M-kBAQT|K|NH~kX;XE3W;_z{PuKz$p&M7?2r}YAf*9^Gts5(;P zH!^2HlRgdL2l@n4WcVy{E}y1LIKl%zN+nvso~HPvew&mI8H-G_gAd4n(B{5JADb?F z7Vu7Q;-eL?$zpP{S_R500&IsAIIKVCC%i_Nh=4Zhxm-WZIWkvce8S4^8p~}c1Cb35 z40JCf<^yuQ-opTgHhu18yPhXQd|ZZrYsK^mjVi+&mEl+(8(DT{)aOgVsRoXS)|Js$ ze;2TyjjcZy6{jJaxSDCn@a<+lz%Oyq<22Z=rK@mp$az!mrOSF7E`5PZWzj0E7?&fi zX{vju)uEc$#3uG$+0ri3ycTTuEaI?{*YzG=p+icOLwuIcN+FY*m%)=)dsQ4Q$0H%f z!{vG1Lqr>8$SgZKQz9IEVwxljXc3Lo)C&k*LCv80C_ko!103dZt|pX-X@(^DRQdCI z`fMqAf1SToY4Eb%&jL+ST!!r8Lg^7A3`%+(hm^z;kXNCUj6nPhzu_x-FK^JnAtL4` zE|o4mDZYK5S@S|NOb^sv{U&cPi;@v?J(o$Blr}lBr9nS7bBPG>8Q>D|u>O`d5gYU- z@obnm0aQ=ySgbyqg`5sX&(beByz7Zvmw-k64LKeW0e{QIGGM`WQGP@g_3vrm^E!Xv zqBRpn9Tn?SMUsUAL6JSm`LRAi6TxMXE!;?3>fH6!B4reLGV6#9Y4cm%L&Q2FVy3vA z)1^@U! z{}2Bszu^!eEt)LyEcfs~^MpCXnr!usRQF(1H zI+g{iex%IisWKd1(Yra!G%+y_*YY7*w8u1ex`HxRB7YM*(X8TQ9CbfW*0r+g1uX3S zJZhbi48ah{L^PS@b-jmYY2uS{m@n}eiHL0YNbM;yK+-LJOhC z6t{Ag^vO{&%jOr@iq`182ba(al)~dYNe586Y~?0t%aDu&*M%7KmwY}@upn?;7 z|5<%yuXhZtw64|5C60x+24xbofc%+b=6JlxUYm&c2y0EeX`;ofB`veexvu}(_}!x zG`Dh!7$l`3CzU0iKmOV@-J6Bvm^yHD2Ik8va+Pc;+d6^awLk8^R zL(-*L9(^gW_MMeEnApVLEqlL>+HtUck$X0jQx0$HZeHaSG7?h0$X|*}PHsCMM-!`= zb^qJsB)E7i5U`G4>D{D+cq|ff1Dho+#da&Y@~r0GnR_7JysWB1+0MO;Xz(T0c&eeK-4o@hdX=q_jAo zcW{_CF3{sfE|mcd3wJDBP2*r1M!lDHHv>8-13YfzLRlyg3Fi36ZYCX9p(tjUVTz_b zi)`#3o%jyy#NKNwIIqXesr_61G$W;NeWRGmZ2BRkL4*f1IfsadDI$96u9*>d)Vb){ zY;r)%0G|x-c|yNWn}D1-&S57FN$^qY0FG+vC_Whh5jib>tM}PFR7``LIaOjSwC58r z9LYi#0HtwopvhLdNDWA}T3bpDP&Cu$6wPgwAnL?UPAl4|GdjGY|A7ORk!gsBM~2aV znkC>L`LVW0ftZ*ODK~C2ic)e?x;O;%EfZ62^RVa3O%`|GWS+ZuP6LKGWc2Vbb*^fI zesAkD1+9i#>&()c+ps*}Q{}+;gdD=dC!@tK&X;*QM73kr-#eJp ze5wRaJv&|O)ol_yTJ-fn{V6_e5(Zqz=b4h6qOv_|vg~?Qfu?g(LSjN*&~MOV3Z;+B z4O}1*8CZa~TRTR*(q)ce=+BKR~Pb~4-Q#@TYMHuX7H7cOcdMD#GU z6b)Ok4VeQ1lu#N#n*oD0g$X-qAZ4IQg^o=|1CQ_PqpU~h)8#UD(3XgRgs^OVtmB}K zig%BkX?~^m0S$zCn*6t%B3&AI^l|VQSklw_1FC>m1yl&Dd0aq=j@3q~28>*2Mut~g z_;tx|PVD5cVnZ|>dLGIiUglIBVj^-fa$Ev(2E^nf+{>FPB^V?lB_p%jC_q3$8|Wf< zrq#)y6tsSkRvzkS6oR&iijVE0V;jWp# zA(`E*T>>)tY~dn_@U4Q}QfSo50tgeE*u>s#tIth`m=I-%gF}Z!{TeT@4j*NXZG2RG zdMHhzvHerZd2N)8TDau+1pGnovMN#uv-}NbN}mj&Nn8d@MHp3a>p3>v<RC~I zd@?*<)BAZ7r9q0r^?XPU;nFTWnBu)YAp=_M)w}59k`U467A}+hxHQVUP$%>`7Au0N zf-1iFO4gLyIL4zBGQs&_c2Rs^<*GC*kX8~r9~6HG0(bG9r10f8l< zD0sg{-F^owxLE1wllnB97~rtLrCd!%)N+1$BU(}Q9?qqflUuom7>C#N9_DExG|9P^ zbHyj8LxN)=$p)~^*fER5kbz~J(Cc-5kQZsNj);is_^@>8pcsPa(AM{`3WXi^>KzW_Jt4gm>soX2)%WJo{? z7}>m~P3=Y3$FKE1a#{$BY+?sz$N;s?_h!+{?9waCPT@kAM~G-4Z<89ictD0|G$gdH zUOk4MEF&kM6PapM2~AuA4(q+Vz&Zvr81QL6C8p6l z#j)ha?$}N)B^`RokN}TA>OEw1h#An~Cbn4m1?bbTp%YY+pV(KG(w@sBJkBPDw0MIn zxt@mf3Ghpa+bXzO`PzzgCdMbC!7F+<^QS}6Ao>92raJV3Rxf{WH?5Q^wz8{NTVdA zBqjIZ=z2TxeK>0q7k#`WU3_YvSYs4T3a#-)*GM0I#0twuO@BoC$pI`W@;%u z3D1(_GsGt$w1I(BW;9+jJ-W4~RrZevxU45X(|U@4EA zB$mFn+S+BzA(>=FC$_e1oKv&V|V=rx>#hYBs=VWLDt$>Uc zLvsAuN|@U)ASFPE@bGv}ciXivrp>LKAzfT6sL-NM({@3RCRcMRQioU{<>zc5qRkt8 zkZWlO_&6kZWgu3kz*;V0Q<=+v4zKDx%+sbvfN%p_B_*Xvievf640B$?vJWop3oX>3 zW_VS1bC4D}5ivXXh%AuPB%#63VrvY>CP&!FGkTxxN>9kx#^ut($F*c#Zh6jcZDiGn z-3?lx!UK##$0tdwligNJLp3TFP-nxeqy>uK7^39-6;F~8(qIpZd`dUc;0^Zj2tQ?( zoIY2ug+2{Z)`lBAIjgS#to6-y>3uj+u4$$1W@)%S`V;f~LLxnE!}ZicObT}(u@bZnLck1D zc9cpDzi-BaM@qyg{DFwS(UuJH3Fs17&5uNfy|&Z5J>SB_zTCUlPP-tSi#srFt$W#yEOA_I|jAi7mBJ z$Qvw|=r~rn)DzFDnQX2uWPr~pyr$pfIW~}!(&IWlDSZH&ZgLse6v}Atqhr?t$Z7JT z-hoRSSYRX9@d4@Mpd>VjNoX-FGrd(kzM@<3$oK(2q75{7lgrsgQx@_Y}$9RN1r*{$IA`F0AxJV*mnn1r)=~VQX*T#CaY}8Y$L#js;Sra?iO;`C{ zS+e%6^j@EYgtO%HdJnU-$oVe6W-|?XyvRHoi5cK<73)PAzJ=zU_r|>ONt08E)v0a& zD)R3?M93rCx0^t;3*b6EAeOQ-)z3xZmd@X&$;r$~8JpP)g&0A&-NRVz0E-qCC+ zw^$K>J7eFi&TIS#&O)V2#+z8kYObz$rSpHHuj17ctk#LqwJa~;&Mgk;ZeC>*J(|pO6`vG? z?{Mu*q_%!&2~$=Q0{a2%aRIl)6^z!otC?!{=o}>=E}u}7m-TMuSw}>I&o0iBoR}sqLyMUy6r;?Q z6*YIU)pb+p@rdYfK)*(p78w}{JGoNk>EM>2X2-(CQzDwUyrOr~V+vt`2G?_mEa2I0 zTq#=_mP-SUt|wJ8uXr{3E^{Qu>U@bEv!mqaC;Et;*jur2pzD!VrsbrEmU~sr(B-)L z3UIAsy$YX{j2*npFX@mo%OPI1{?H65kg$yp$$;itkT-g-%v-tz8WjZ(pDrOy4l#xB z1N|XB9x%_@Y^NzPV)@CcT!v|yj|eSynbPDp`Ykd#)Jg*PXWtx;84Nf6h#Rfh;P)v_TPMe5`0OetQifKF|VlLrxJ>1T84T>sJQlL{>kTXEeEkJMni7*7l%MH8xX*WzQT|9IM(OykQNS^t+(fN zcvJ6TKW!A3!`#S+B`30}QFmnY3z;Q6S3KP$ra7QrV?aoX60?nu%bZQ67$lC`yD=ajz~xoFn?CF5 z5#e(qm&%;wF<$MST5$(1{eJz`cxp|?{-4y5QFTusJn&lZiHWKlqevea#P!>3kT{L8f zPexegoC<3Yy;r55^`LIz-e4ZhlZFV7qzUamoL$$ zc^nfS{GOCswIlPi*g(%B;hXeXKXDy1S+aN@ zdC6W11FctMS7S+;snt?fuBxNxasFGJ@pARP+-Ag6%k?<4g5&Rp@abf-b1{=YuP zT>^X{B~g_Vzg>EKJl4Urh5%uTl#G}L85u3+^&7m%=_Cxuxt`0#V-cSMMpr+IS-Au( zjrS0xg<7b88wU@UTiGl=k&vV9jic*My^4Qif(38x<}&dZ5;COuwg~0kO)G0>b%=^b zZUJ-=Ap?G>4{{1IK3y*0dfL*%C!tkyVT?I8YoFoJLiv?`o17LdeM0_*&C(^LkB?78 zNZ*$F$E_~DCk*g8q<7f7yb`mMi{+5j^Eon1W*ju;msu!}oJaL(X7Cx(=MuKtDx5H+ ziDB?L+CbAKpYV1}--nLY+6x2g(8>#VlFW)W=eXnq7{(rV(;>vrR9NgEa8zTS)4=bw7{% zDaSfK$8-2A0bI4_j;(GkI7Bqah@n=+(pnI8e8Z^aQa_{T=h?B-pjZ3(iPT9rvA1H& zgGUue@d?(%D!yFTW!)_Yv62NL2^rHI)ZOf7BYlK~tNEA>qfGu-sk%dpF`ih)Q-B;F z_>(?hfj(VY?BpEj<0CdTwR{aptzY4i;1ThVKFww_92VKiwX|hu;n$<-jit5wr3f5F z7}DYuz1xO_85uXRRU%Rvh)phMRt9GD+(r|qDN00(MZJ$#*nqHz@FgyjoEgh!Xo%rc z+hwKnnBrM|fPw9$^0<++C9(*I>X|HG3#eb$s9bNo4zbc$)MdV!*!#z-lt$g&-OA&r z4qZe@j7N`9uHj1E#~*o}j0R_L0p~I;12Qs8?sDR*?VDF}bZwVJXQCoNR{ATD23$HYA&?F@Ifh z5`4ZOzCKQfu#T75!wotsJpx=33@J;Sm>%cJF1?pG*@#1z`w%@(66R^*AZ0({TD9e# z@X}^|wcxka(7mLzNoiVlD6WAoR|?sVmn~h#Oj0UE)fES&&A=*WjkoYm?8LRDBXFfr zTv2kTR>2Nb=%FuHCxyzhMHIIuk@k#Yje#$Hn0f+erU!pCM<+bx`j^mN$S5Zd{ zhybOBt^ zM%9w7L?q10DSX%_svSbQR&L1$qP5f`Ra{!dHRBNB5zu2D1Ae4GU<$?O5a)6e9f_^J zLuz4sMJ~qFh8jdP>C@m3dIv3hVj?=+%vo}XmUTy6+dMxSgqUX5!d1*savH#EdN1=d z2$(~-or|Q4;L@d4QwCr8Ar=CDM&m+o@kn`0|CuHUE%x&vw&6>U8TvTn_!Pv|s~L35 zXYy8Nh8s0m<_PasTmEjGc-LKw%8Y6G8~q>HNQ#Hg0xc`68>6fvot%*9fk-k`t(0dpl1VlW*je3rR0IM90?~Wax zib}m9e02-Hkg-P#EtZ@rJA7h{svIAeRE5*{1iloM_Vr%MiLE8mC9m>wE*N5_2H?_= z-be-GL>ZCGT}!?By!x2{J`p|+^PI{7y_>x>2!PkQj?YMJnd=ONQ(n%%>L{)yBF~7K z#^ulY09~dK228Vyvm_!Wq(j%T_!ggC@ShsLqM!f@Nc0JQ!VHVdvY(5%hL#L0fm9J5 z)YsrqYL_}CGvvhh#58$XchhG*5itojbG~?FmOrmh4m7o@(J(J7sjtBBnNIVn?&b|n zVTjP@7CtC*G-(i9HbGO3GWSIActP)G$SgzpG}+FjGLJ`x$O`^Ctls?{T~(^o&cseu zTN+xA&ynM4qus-h5fGCBA>fnIw{ro6K5hDTo(Vq3!hQYTnm2l}O3V~FM$j(i$NG@X zg}=$g>|k2vXp`C?C_$)LiHb$cVUZbruiv17OG1y0+{7tju*aUgNs5Cvm;#`RnT`LCKD!BSUoXT)t$y!;LNK53%traL)%-k794?o*wU zlM>V51}>IGz_k^soTIG`^*+6&9FnVl{u4VH?A@+IR_RtV`wWUKBwA&S?x0 z0{XV6@ty2iJXRYIrVPowk%V}RpV)Zt_UCDG-g?39S&Iyiu>Nr z)wg15D?L-p>2CJ3o-Qr=e3?&47oQffm3(lBF}ruYN5_yyG#QXH!!Pw)I5bfXF~u%6 zmxSjA^yb*=Ry_$>_!XHw;zRl~))C=xn2&KaP3aQgGc2Vk>f$5$lIK%=U3E`2c}c&C zL8Ih&+{mRek1%aJG>Vj}k#ZStes^sW)%YvI0lkxXX2@8?V+WT>7oUa|zcqT8UfFNe z;3d6>0W%~FXmK@LrH9faC9s{`Ramq<5ml8at|&ID{oz>Fm&sc6{Ij)#Fk)In{8+!w1{8-k*vfUZB`rDq z3idDu(}JJaM(+e=nxE-+$eALi%QUxeiY(9ps{mn^oy@`k>yDubcT6y5O6mJ_x22fq z;c*LFWzNoH4`OvmA1K9Kl^^ zNEjWPN|V7rA6K`59+_HNmig+$wWT?aBBSUn+v8JY2H(qYv0h0uPQ0NS&zNEnPquN9 zew$yg7ayN_G8&x4=Kw81(!ThN7~Qm-2$yIXl)qYmB6D^4> zi)5j;;xOPmxmEYjr^OVD+(V#eN`&HAsEt}8|M#|MN*N95Rzr|3v(1Pai~bu|H{bgdTOb-;voSI5*#-0Q$qa=zC^Zy z=9M()Yh!MotTx_9S=Bc3+IJlyE|QBeZgnyeW}WB`L6x*Cc0D1p^RCSyy_@Gam4pU! ze3?&5ZYxM$Nrzy%f6RK9S#k!o8c!ijey86dqd^a!DQ@Qj(nD-FvXtqo(K=tj{FgDL zh48RG&3Y0%4sj{hi!#7NZ6$29H>!dMR>#UMDn;#HAJgGwy_1*@ro(9`TV#Qd$a+E5 z+%#OSxvjqy)EDMja}*bcLwXmBgd_|IxQY)+kDP{G)6()D8-FQapWaK4Y36}|Yq>%W zA+{6Op+Qs|U%KoQb8G%hkt%j9h%mE(?fCoDHZ9a4UX#`5{b`QnB=AeZEU}~4Fd-c8 z=RWSAt34Ob&OrkTb{X1)N{WNeklH+gT?I zG%RyiwO|?9-pnpr2_YfB(C=7+(jGJXEgebhQqp886@zO7BB(EQ0Uil^^;^U^H0a`R z8|TS9K8(38N45l`8r1{Z^nvf|FKOVB(BpEpNrHn%Op9I#G+a3szFY+(C9!R$0Uoi1 z^8{9PVqzztw;z)<=(MU=zrqbXay+4A;rgGNP~<92lX4g$!Wx7blJ{F#bp79CIf;oQWz6h zx%N(&Zt6D5AM`$An&bpDxtTMiZ|nG@R(J!Iti55nnO{Q>J45OA1}^2H@}`Q?Zf zie4yFTdLrO5ZHdEuUfdjkHd|eBdKjFNUX}!sJZs2=6{kTamgZETX5h!77Yujz~z z%U(W07g2ODb@7?kJLs|=!xjw-(4o&_DY}08O;M**2Ku*Abh%Iu9-a(IP+RU+sTlF02 z1D@rcY`%+O)Y0j4kL^fx_orwo_vrCe?cox09al&l@4xb~Laq_d=Fh7dKt<+oyo0FG z@0ki%l^7CShT7+0en*>(Hcx|oNt%|4QEi5JrF%PBJx&x`ek9hPQIS(M-8>FQ8@(r* zRrKX99x)AKIxOlvyvhuHJbGNmhXi_rWaI>8U89)CsimDr@bSnP(m?pVew&02(51~y zoGo3jG!!`%^-5LYb*#H31oUW-=;J)a2Eb#Etz2V4eM`ahqw7nZnjHJv9tip-V(nn4t}{p zWC$5eUe<5XXNrVAK0CQUy0opcn_F@$=LpZrm}@C9O!}!|cLl>No3D``y@?%9i*X5v zD4Gm%TmNYjud*2NcCGGBJ2pw+5aTc)L{R#Am_AKfOoKFua7v)>+AuG(C}knHK~0N? z^l3soT;AXUZl)z&!Wwr>#qn1VoyQ0{ZGNiX#-+o69-FwCGh~q#N`_|(;EXN2)iP=p zyCDey9iG>FNm-9k6Tg`YB_gsceWOj^%Rjin3@=a0fEFMxkVMHp}iH_(tpD>&%d zLU{e5uPzA6i18U%DZ!%HZ?1U~My)lgqv#9hjuMmOkPwj(h{3YuH<$!KQ z)y0gA&r6^W5i&){3*5~vos~rbVggbt7M(KWEV)U)$sso3Ghh!l>$x(p`5L20vQ`$F zm8|NC$Z$z@k%$(DNysrRBO~_=Giz+N^ZrMStBm&I7LimA+`}NDQynxUA)W;io+t;@<}nu zNWKk&DxhNl!%N8sa8OdKsP$*Phnx_HH`r9l?~2uO9Id+)UP5kPC8TU%L4Uy0v`NVr za2YpB&VVKfE_J$vdO%hu(HMmZ_HoIW;$^*?Mb-lc>9B(fWDWzULyI{Z!n=l;s=R8S$fhzpQko3( zIex}3ShPKc=krOuf(_E8fX=QB^NcuLPELY{hr@UD7X-L?%&~=A2_>aP0{Fxwi%oHR z5E^nr%j0RG9TwgN$AtDT2(m#nRQJog!Yk_9Fs}+aLDy1 z?4v`3&j7Lb@pmWQpV&KVRdcdfE-EOfN{l!_5iXmoiIiies)*D(uBxw!s_&2vpB6_S zCc+`$Wp;C$HYK59b49sTNJ}|ew&}gR!6rH!;4W^{bF7Zr+JO#@+tLoYg5geWR@=uY zw?wPBKF6*i72H^AUmfrJGyVj|8T?WLVmw0Gra8~jLTK=NeEpKN=~-9QStD-u$!SO1 z1FEkT9dY87TLX*Gd z4Cy1}#F&P%;+Bp&H+i}2x)`Dhm;L&WM0hkA(k>mpYKf2=cgb=kj>j!y? zX?$`H@-epC#@L7$A+X0T$ca~3Ud;R;Lv=8QO%Dl$aEk z1|Cz)(#FR)8%hNPl@g}4TuoDOEUo7ZDJh?lzoKt@243QBA~kXV9({|NH^}-evXf~J zGUQZZ{!jL)sqvcLzO`*K=7>6Wo(l%See~;d2r#w2%5l=#@~y}D&-f?gwSUbzY22JX zO}T-Kn72gtKjQluTShRo+uFp|o{cJ&NjdwS5q+T(*TzE*AH^l6L7P|gJG{U&AT02C zJ|le+%b;ia`>N2Vt{jyjG>I6pf#2#kt&nZX47YH$3`vOyEWHl3BWUgG%KgfDil^z| z(Bv>zat(pR#5Ft%_9)dg)d|3>b98YLTlarW@8>WrJ8N&@GU?N`K~-9M5Kejg`oBg4 z)6itZc(kf@SW4)K0jDUT*n>l;VF}wJflo8U?pYs?qBsk1*7Q1LkA4mvE zXpxl8L$%=f49IEnEBziB9by)l&`5BnO%@gaMbcikM-g1cOx{X5qGF%cozOBDv2FO|D3T~8;9==6G$EanLt7=fIiG&ph zfG6}RItYC-F6Uxf-^$l)#o%POf&mFk#nB-Cb6(e%SRkgw*_=*O@^T}u@{~)*WIdo3 z2IRI*s(fBVpJGUxP5c(&X6?wL9qA1c5?ovow#cn|2Qe-khWrEnLeG>8T|@brrFYnv z*8Uozh>Vng4Bs*f9c})kmJB2>9Wfbk?T&9vc=?J~oryHH7tmU{-ndx{dM5{%At7LnFY-AV*c!cBxstrL zzg7L9UE25@q=m~b^?SrL2{=TDn>kY!aS4fuY1&n_x_9G>U8cYA$Nbo?gY#U@Rcw$s zJUj-3wR+en_ivR7tHb(0EUnZ_dM|U#kdq+X#0RB^M~=^sHrVGDm&$X3=wv+Rpx;Xb+xN{N6C?&nh9uK z8@8vktYD3yW%pSL+&8h4!*V-9LT1=t5ikWeb@s08IaQaU=@1Ob=o8S@|HyBc#^WF{ z9v;Gw0aHxV<7;ft4@*R@Po`Khyo4TKGvjGTsoy)ipM-1;=lOZNUTy!W^mXa~e zFZF&L*3%yGoh4PJrw)B6x}wBFq!I!GUeP@yc*H~mT+ijQfY7FgJK`d( zMC33k=4aY98+=E9MjHoMG7%#0#MoviSTV^<_nVOlPC*p<^}$V|4Q4Ic4C0g03uvs&X!yC>nzft&xcqq!y`5# zFMSRtvQ=}TZ7Lt0;V~ncd?K4K*l^*@t0z1K%q_F z7^kRm)C(YOLX((29RmKW50KL$W=Nac*eqQ5-GCWeKdE{CFcpAriq7ekdJUJ zO;l9PXX1t8h zvH}JS>7&||IyCXf_Rj7UtJ~*S_T1LazO^>YwdIS1oIVaNMtUQ%a?h*l#9NImoh!>( zLBsBIKYw5o84<#VxR_HI@C?7Ck58K(U*k-jm3PK(JpQY&Q?x(|9`iKGaOrX}H_()! z&4>&zPz7V2eMjL8cKC&U)6#uMwD<~}rAx~qpdEXQ4O54MOM;M-00|ih!jKq`CdwhkpGF*0XL5=X-v+l;yrv5s-z<>`^OfA93BiHZgPYG~=MJ{DKjwIGiODLMuN4b{@ z0*vv;D7J&1Fc@mFOe%`I21C94;wM_VRW5+9pPDt=7GZ4-7d+Zll2gKFM}5 z8-7;iOINGeVrw?NS#sY z>MRAH*NFzq&qt3_pY6rd&ql`LiEM6(oG2219!=)-YwY6#C=oGN^9eC29p82oo2&LL zV9v2M_90lZ<&cnH>emRZl2M0SIah|LWeARO$~CrrpA4_BAzyC--_@s?CdXre%eaP6 zA}C2^T&mQ?=##2uui7ijY{Is|%lh|3`1BDRZsr0>ZO>I?;r<1Qme#^V$L?8aNe6~=w$f$vXaAdiha79MLOgRXxI?0jbG~^cgm5LbL8<;B%w_e z-+V$$fJZK=_1BJ8&pMi|Zv4uM@2TrUI(DQL>*C5(0w?~gIq|K&hvfwJd)P!khR;f5 zBt_z3+#enHxyQ$l0wSZY$Nx8bdCW8~=?`fzASdT5{A;d}kICoczm|W)W(L4Cf95Ba zf3grol9AnUxpSz0dL<(;dd92su8(!+bw+~`C7{bRpQ9tGRYw@5Dwgtg8l-T@AM`#F zIym%L$KSF^B7_XZ$0>_;CN9nZk0Hu5Z5jl$@Mtk$h%&GL$YIt419En9o}{=K`8e0+ zYL>g;$|*C#o@${q841ew`5_G&WXy31+v!MZr343rN4%9X_UHsG=?0{95FXW^SZwqG zF5m_lV%}L`tB;%!svmo~Fl#N?(w5#jk?r_zE{A7-uWV@uXwJ+hwlz|K2Etdl3y*cQ z@QJNvSOcFw@;~u{Hi>AUHuM?4ssivZ@+>3e_^K4|mkdPa=R0cI4L#=;wY*wWO%nFm)b3IzE;rQ6n&&C1Su7w{eOX zs>Re!00%R<>dCpZM@sUXh$e10SS-lQ_K+3XOU0vc{~|f zuD&9lbmWIIuBcOBvx{q4D^Q>Djuahn21h5LE<3GHOfz+#J^C~=ctms&Hqxh$i%W}X z_Vb_l?{$-?6_4{qSR)Gss*H>#FrY&7SUM*`{@w-K>^R3RFW6Rf8)zv!L1?A6VWXwAZ>ByHg z;kQhoO!F%|K2M8osWvlO9iQ0oup`y`MxBCs)kCQ2jztZ0Z9gLeVk;^bArAAphl5O! z5z^($d_oMRcS4J(<`fll;^rtBg@Rg-4g6W}q=iGqfEjjjro?zO7}Qp*0*7I&sEcJl zpBaYwn5CG=ndd`XMN86>h-N9Cp*m{4DlNADpCBj!FXc@RA$Cry(j73CHKIO>N&Q5?ce1F@x7|Ze;vrFIe&Up@%K)K-*NKuBoL{3P` zseA@s`UDnnHspLRZUCLK^Ca-0In2TT4e9=0`1~pfx;&FL8<_ zHVfri_M6-)NV!&OE@VNU;`*M^4Hqc-{S8|Kw76DxZc|*I9tvm>-*74jfwLSxyI6S65WSX3qJ|EC$8qzvG8&XOT7;j(un4W)uy^Mo~o=l;f?ccJyg*l{oqkrxD}v z68Eq}o3>>+BCv`rJxs5lfz*09#Dqu4VaghqjM*9<*DWM_IQQk(h`dJn6I<$<9<#il50pNM&rMt? zrokX6DX`oncPA|qA!cTJ7HjjS-pL`_H0hFXBUi{gp1nVgC87Y2h#aBK%ese{&{AsM zz(tY}l3Usip!|$ueSXEgtnOspb$+is2-9TY+Yr+s$ER-@X|em|#E!2m#cR~ldn=iY zeEs&uQRTnKIQaB*k(`{EGuSKX+ zE0Us>NRcuWz4s#J_St=Uckgq%Bl<+#e!CC%^+t5`!;Kx$=0^89an5$4XhkD>i4;9W zCsLHzB4y}30aVp;X~%t-GtFAH3RNHqKmn*xQ9!wsD>LWJIfwbj|NmM4E5D<|G+><7 zlmY*lSw4q{&jKOW@?}}TCm}4|kYaJ1Y<0&eC#FS2s*mvm(F=Gxkn#o0|7bPIF`!@CBh{d0}HNX=qsp*V|fGXKVR!xwORh_8(Kk0 zGOGDi^^8>8##(tW%;r}Q_sn>^#N1!@BAvl?93Y^4mJ{^}{*eS|^C(}}1I4vGNda~6 zkkYbEp27f^U?gxeIQnV2M4Tg@-p?$XSm00G$~D@S*ls{3$o6sQ<73#ElytjFWy>#= zYsp5zIiJQBU+t%ZTci5*RkKsvb(^Kt`J$F@apA_wfoX6yZ0xdOnU6v=jAK z@^xEHlQ9Qj+$MLi*1s3K9_$_K^KzEk#9x~}Ap>sa9X1h@Gvq?fkl0GTI<|9k)CH?# z%MAsChtHq&4qRFcaA|T4hsn@Fkrihw(SW^=MFP>Rx)D$D7@KfO=yM8};Y)&Jsb@x^ zd)26nC-KZXg!BlBnBr}{jX7ornJ3~}j+HsQ5}o4Os?_+HR^gTTO@z?l9sLPI8Z_vV za4pBm7Miu%bS3qoggCsRH`)*|#p8O8m4vOf-d4Ys9d{P%9Dn0t#A{&(aDjv-FY8Ne z;$x<{R2(u316>cJc9#{2?v>X*R|h~RHNUEU+#+exB2`a3l*D>ZzBmd(z`&*%CgDr= z{LCJ;8n&&QeT@b&DTi|vo5b`k1-Np$ZsBHT@c58F5@<$XbGxI;CW^z1 z#HI9e9RgX5*_+KJ!)Iv4?j4#45jpTJz9S#wS`8=x8uUu)r|R{&?dOCB%3J!6v`V_3Yx%6i zLJh%zRa;10-agnjq(dZMIkNvzDEz_XTi+SJ9;w%e0;VMayiFIYMJ-4l4MHk5e0|8>K*jiOph3k zOE^Nh)5Smj~E4ZFkL$albGm zCMCebz-|rER!p<3Y{zWFC&H&mfR@^|lPb|`$Gkc`rC{|i&5{sLWSXzHd>Il6&$@YS z=4=m9(f<)+vg#SoWUKx&+h~!}r-?^odjgD#(;V;K{C^;b!fz4_eKKrGa^vAiHil4ZoJfY7rO~Neia3tRo=p(d9h%MJ! zJvY6ajaO*)&OGNNc0(PR{MA=G+6S|{&b&wu0M?m(kFM>6IFn7%!zUv^SfDMZ=@Wd+ zGzs_fJMvmsQ^-}Dqepy8j~CZ&szvp;ASTE$QrI!dg_7u#v{0t_3wLv=7JUH;xy8Q+ zIK)JF_!bzluiDDG=q6`!C%Iam{w$VG<1GH`Ni-SthH{g-G3#ARuI4uV9UIA+2-XJg|YQ_>A-{KWUD`fJO<;tEx~HN1X{i9_4Xn5pq7{t6VOo ziUSSisc2j3S1`J73ianOBca3FdMkZ45s{%>&yli#PfmbCp9~kD2(b+fb*nVN)TVqt z(wo^rhl~LM=W>R8OkmS*9-~~fLcm-401IrSOM=5y94kFC`%bdxDt6QsQ#jShQ1*09 zN^po#a;7+lfN27hAs(sqGS{9T_Z03b^Ttoex0k963707E)kQDGhF*o3rdw(-7=F7PWngn& zzv2}(k&_ajHuy3Rz9BrEXEUECCcq_P)|T20Ai!a1`s4bfa7k$JbA65$E-3?!<_cUZ zx*O2P!yzE1;Iv{^%9dD+Z=F&qz0ZLQIDR+I$hg!NUO(8f46JFz=DzvcQLg z^lVnQ2)&DrKjkh|PnNiBPOm_;N=Rzwipv5QNn3xx6anxDlq<9&rgrP076_YL#;JTC zbF)XEy5S^mLpupmt@{{ZVzz~d{QEmfZ<4mq=4f(h;@{5KG56Q!jvV~xReuR8%oaRdSM;hgdD6Vz^ZP@=)fY1$q)P)S z_t)jglGbhYY|qVw`Woq2Z|7*9Ax9bV6aIVMBoRGwrWxw5c$R4tID&u}kAj?QEhmkg z;^OLCf|S|wrNXGZ1Vl-hjZ%~b1@oLKlV?Ci6NfgR=mWIvYm7ix(Mbh99x*mgO>#4`Qk84G2XDE%qucq|(erm~R^25p2}iQpl@-FcQ=Sp6JyR!1tMY71<2YNhAXJ^Glm*H}a zd{c~!h`C-DsKeXqD^H5xl9J#vE#I+6^Y}i8$-H&*bGw42b{^LW7F-LqH=Wdv>NB*+ z@%e}oxP-RE7TObzgkW`?O8vQT>`I{4UC(g&NN;8vO_VNhH7CdrAs`~e#VrXB99ui9 z(;^wHOwqyNGN-rk9vzg7m`gc9x_I`leEVEy_G%n_-qV{IFhfd@23K%|bS;ma!R#dE zI`!#0?ut=y7}YXd3zpmap_UcWB|vPeN4j05t94r)8!ZGF8?9W9|9v%|s%O<5nV*wa zO950D|J12{U8r>CoX7zT@$h(s|HSK>tD{Xm)_eI00Vx47r_+&wHYT^v|EInFU0s%# z$p5`#rQzxX^RduGq12BGc!w=zLE9}~QRHF_QS^s=$iZ}(0*i=V-ijM-&UcD8^(7hv zBn&u#%kiXdU1G0Bc)r|`tMJT(2QDtD{(`5NK^QRPBralFhV~v5%s#rJqgU3ThiBdD z1QT}lt+Ge9V&1>qXX9t%lUQ1i#MUAM2Kp+$=6zZu+Y)b&Jo! zEFsD!+6-wB^B!Ncn^b1Qz#dy|Xr409pzHw9ayAM|$5yiLCD$`#KtMs2?prdK3dE%d zG3Q9GkK^Fd;X`ib25m}&5tB?Qh||X*Ec>gu)|HFE${ti5c}uTdlOU({->k%`DFSbg z$OhFR^E62C%YKWTDnK{pl!++gSj@9QF4Tlq@liTFN5(}~YcHU0Q33f1&S%|LVxv57 z%kOUv5g}bRVqC)5)`iV)f;E`x+EE)#`5DrPI)(RQ7*M@y&?5qxM09EKHSzQ=rnsI1 ztjz7W)t^j7%6e0qNFU}!rg4BdzRGv-rJ_r(2RJfvw9&v$i1CT7>mKlq-a?OAGGeB= zkS|H!dIEkK@|f3+rqhaGEu%$(!J@pWcQZ#DA*0K6oFYY!lh$6@W`PhTHT5N7dv2Oqn2J*_m$~gZ8U?jD zWijt<2DBKAxi}^>Qc$<^TkYr`*_xK*A@ zNG;#}fQCNDb4=qAG2qKwMpNbqM~;<`9cB4x7ZYHr3?43-HYBoO3n9Z_^Bc9f-yOP` zM`WnK!_r1aDL4F-zmXED4i`nps^)1CCBeHOL;Uvj*1D}(K0UgG7#A;nM-)C0L zp~-?i!Hd>mTi{48kTyMn8mrx8C$63+H*ymuvC&{iz?*tIJz6M3axUa6lF_$GJa>$a zy@2Gp6c`E@hm0XUN{f&54(4zP8PMYgoFrRqC0Z$nC|PqCc}qGo``B93>|0 zvUt_mw`~-7n3I;E^z}V#?OD;aXvU^Monfm|J5xa{_SA%cDdsp+KGK_+1~$;=6&!M0 zTDZide1Xg9Six#`>V0>QEvHDkBGcOED48b~`UJ30Vyr8KH3&uKD#IscD@Mf5tz~n! zXQLsYajhD_0Obre${Zm=jAxg$ao1*h17zSE4g)+oJj5f+AS6T_%jI~ISQbD^%5Pa_ z16uqJ2AGuKGN6Scrv5RYMPeIR*S2K@#LUwmVv6_l$Gk{J%Xae!4RRjldHx@IiWoUZ z*KT)p7~P(;VwtZ-tN^;YWX#GT`X`{nEBu@*Ie;FJ)8G$!D-KP1_KZ0W z&XIa2@34U(%7e7@E7B(?#Kj?|axRKF&Uq**;t=r<=u(%t`(Ztu`l0`Z!#RtA70iWO#kda%^KNF8-UT=caU-CRnnncX= z6)qQ;#~38Up@+*294p&U0z2wiZKbY)H6x%dmhL^p zCnl!D+j=tt9NP3q`60*4CwPP;V^6e4Mvo3}=uNisHNoR@jum0fLI>-eP5b)uJWjb? z`HA~hhwr{&)h<&!5vG-)Kt$|lpHdY>8xuSd+av682?OpWAjPB203U~h0V!YP@A-`M z*?WAL?LzxjM&4cJoJN`It0H+-%uQ+;*$T5>{dLti>g+%vah$bgKpWTceV8-yFz~#j zgbQx($i-invyPc%K_BA@W(i0bax|CGketjeqgCm06s5e946@0M%@7f=g|1FZACG_x zu~Zmqaj~toFVi7s0;-SnU-=~)X)qw9K}?QE$_y_5z<;ObO5b(})%z3nwAGvXi?0lM zZ%n{t{DZx^pV8B=u?deZzvDrAv~h^|7MrC@2t*@pyqU*`%9VN(13X-Y+)S#c2+Y&K zh_fz+N~WY_d{r`il!OjVeg|BtGty--$73-Xiy>-jq1w0W&5&<+%oC6)W5H>0cb2xv z(7x(xS@id#$IEa?ErMH_l0HI4K$8JR$GvjW79U56Xy7u(v|Oqge_$GD@GLIh(J2|) z8vi(eY27}Z70I?j{#=$#*Tu9*=o6BW)1;5^1haaubeX5Qh~;f>vpTtZMIlvpf2!K; zr2FKM+K|a~z{I2s2y8-OTt!C83QjSn2QlPmh#SIoFafxHfI1BWJe#t1(P@ zU8Z?cZ)2Wmpii5NI7+&NIHVXU+=@A`zW(RdTPQlTBV0n>(wmv5jYp4^OE^xt_)IYv z@h21|qDh0-^+rt3~m@ z$k02?l9h{gz1^*9y-ZOyB1E*y;ak}`NEvoHW!}&%g{FM(+U3(3S-`fR(JzSEm58T! zoDL}teZIuybYz}pO$p1qqRt&8D_kZLrbvisGsF8l#swNmj!%SR2^`k46%SjJJ`HZ= zQ4V8)gn)#M!0H~k#0as_D285zfM8jo=h2`+c>6o(_c%@!P{ zQMPd?=asU#9e$K!B2RmZ(06PrwX+ z;TFED(=sT*fGq1=tnHbzT4q{Mx9DAXHSvL6mws5BD2i!XhcD%Gdafk6cnrws&>!jX zDE_Z^(YXu>2-t=%*KoVOLW>47Jcn`tb?(n~aNo|D)^@7m-^}*(ZttFk#0U-vEt<^J zB;kE-=X*LU^JHr>&9$REaoWT)x2<^|w6BTV#ZI ze2r5$N`xNXMBTZyYTh{EaJ_?RxyQWPlIq`2`pN}9$5a_&Olm?^Qd)c#Ejg+t>ky5< zu4>gU`lAHX%aY>|5)fO4o~rky{@SIETjZ)j?$ck^9%6h9a(#*|+{J&y zEBPE(2Ho5pR%gJgs2m(za(ww)-NwrtK*mNgeoIP|DVn4VY4St9C<8qDcr>g^S)Bqq zBWG5AsJHO}vm|)j%oTd7_)r$i>#$g(1RoGE)Btz zC@e=iqr9&L#*9ZVH|WO4hzcxQKE9w`BD=*#ZWF7W`bHoH$<4O~gw$X}6S%CZX8K!`od5-2v8q%j}!5*G%JFY0t>zz_7u>_aX znCI6_5z^)v`uqTwn9x$e@A>Joy~oF)k57x9K0-l{kx^h{eR3R9LKbN92VT?TrAHx0 zE47^C?loETm6kIow}HG_PKGq)@ASt!Lz5;R4LgIkGURZ6z$r2S(h}O2+pdA)XbpP! z94c4py}Uu225=wfDKfN+#rXZrY0xLYC*>^3^l=<~0)CHjxwfS0vyn32I|-n+r)SOX zF_Zhw*hmYpu2(^RV}8H7Ru7ESzW*#PLj)z}VKUC8fwHA0KRW3+X6$0C(c_X4F(Vgf z!f$C35by$?UMvN->1glDx*IatCa=6jC8VGiC^!=x3%#sU^j3dwUQ^upm~V)y_tQd| z;caf=dpadaSt;CmpSL;)wyxJ`T$%0Hyw$GZhR+oIQU}s0!F?5(g*mE0s+g7XQGJdL zDDVki;UYTH!$ZnSU^Y^7s`qedZO<>x*VKpK)tl+jAtA@-0*;i7oCYxsauQ4@6*TOM zUEpFWDHb6m!J)}VdOM%6$v(*!a-8(7EV}^+78TCoKE0`T(5JZtHNYgyQ1zIp9|x!UMttJui5e()dd2}q(qF6bwot0ZE=Z62y9hq^3j%F z{i;%c@xfg}i{EfbXw$bVNJt;>>EV%=VnzALJ1hpsk6v9Jq&r?P8E*jE+50(qF5aX+ z*}fIkmx?N(IAoQLuOG==M9N0FQ2#GBqV%n1g-eQS-5*0ka1qmzky^=7r(CACcQ#rJ zxv(sPMJJAy=T#7~k8%`MXIRuBGTKDM1QrNzzdpk>DGfg1L@pq(ta^b3Dmsjc3)Y#x z#v4jUanZ&9F)g`J;n!>+VG}RW(o4j#wBiPWkl|A&LMX1FBDvUgRuFEF<`tx@?geB7 zY~>YNrF>fPcZO)zwJ^VVe$NRMYFSPhhMME#<@@bw8x8kOR~u!YTXrQXgv1T^XK5Q%N?< zP6#MwL7adL&xMA0$e@Z&YzHCa z9sL)eWBZq{;0Q@cZO~M_F2%tq(=HAHTl9DQo_EQCL-;aBa*(*Zr4R540WR~vwHz;l zGEr72Jtj1Wfs77+*4r5n+B)V{RyV4U6;+gq<*!aiRflPNHkF*wEa`I!#EnxM`_b{M zg4Ft*+C8?tnrt1op4aBh=!h^~LUh1tkYM+3Fd8S8ED@^@swCPjtjJJ;r(7C3`fc$^uU zB)DWG1Pt+MFr>{^PUq|Ph82(8%F2n8bC7jx_u_D@{#~VJrTEOzBw#>Di+l8W+T=8O zkCQo{j>JGgMo_@OK3yPVuFJ?CdUBBpPjfISn|KcNVu`GaruayW!>=03D!|!Y`Oxv4 zQAHZEjiG(8WMs@zTbzyPkn)zL04YN7Jx2w*vint3OQ+;poT#t!I$KGZ;WK=egQZEY zwvkt_soWGHril;4Y?7<>Ha?<3NX8R*da^h+uj!LBv>}0UldP5B+0$msBELOoYp2Dr9OcYH}-H)D0k7!*5Cf>>n23wkGi z#wDZ+c>J2*vx$GNM@Y&7AufU4cbwX|6nEM53%GJDu|7bT22*^rQpVat2_I-)ccSAKl%5g0DcyI2jgLoLyBip0`Mr$Glimj#3@`rM;1RJ zqjzBZ{R{cu)C#{hcuRjmYI~$}uH{&P2*<+pV#KB&#U@`9+Vu2!e$3V~Ec+u*a1iI} z@!ZA7v}n;K=Q@s*e(5RXWiZtuLVzj$qIVM0!gPE6h|dcpG^rjsO`@Htl0O5BHa6z_(2j4$fP>^Jy_a`s;?w6r9Q~>+kdc$&5ssCy zi+ZPWwlwu_&fo$Z$x1?nVmsg8&B5USxtIXkDhn_&Dm!DN)#UM?8h1S-LpfRR=2d2a zCQqXJ4RIL~q6`o^EZ~j3vfhGU>GDKulq=Qa_cRcEo@SsI(vm*?QiVoYuSc!SGJFzJ zy`P(C&?ud5qdxWy{|n#MizUaSKeDz~b(GO<+2s^L??rHF@fJVk2HjwLTI*_t%ONQ! z-)Gd8ayCc*es4;X6xnaH7bF;hrZ#uzb4;Pcq@2nHbYxiOkH@dPUgy*DnAkp6lbjpU zwj|{tO|~Lj&#^Kj#>XeIb+Q76Xk4<4fCc>t_b^KvQ#tOj0eFX-xR=e$;L#=FYEF>U zX0QvKi(6aKy z%HB8+)@?0XOoNn+lz^>z2lo*088TuTWH@Z3&w&5JJNoa$XJ`ri3stFIPhl@)cFr5E z#=wGx4Wcb4#V04lvABb3z1DJtNXW?O5;JG91wPn5{ndDel-&?WrG!Lwi|KK={5N_V zFR~4vCJv^*#G%jE`ES@L+i29bvfZIHP=UD$B)m^bn;uW{6iu4I0!MMR1oQ|jp3@9o zHpWv}Kjx$Xnv_>d2rX?zAm=N*z!b_1uMp^W*dQMyUvO$P#jwo9G2(p)UIz7Bw7!l#X_-SnhaUsP`ONRWe#YQ za3|=glG@(A+|u(Gjn8JDWyFMhRi^c`_!5;p9#t)H|2ETuH>ANfq)c+up-($!<9B#G z52s{I(jT=zozPH8_&j>Fxo@d%9LD5Pv0Y>MZoho zoU0w_TBV-Cjofji`F-E&i7oSy;_w8wv%#)Ci6tQjacJ`)H`CH{WZw1wj8iKJg$#yS z2~q-1kzDU%ii{aP;70zPHYEiD`})SV`gp|p zk37x+qZtJ#sR>)GDP~hi0$Oe=?iA@nl^w~hpfjmr8 zzb{P^8`ij_td@k$_Ij=yB0LMj^{gkAF|ddxkD&C!6R0WARcnQT)L%popFW!{;vmLd z)k4i~crsl}fekHs93p?O&+<6$Fd!iyWtM~a4rfWqR@xM8n~u#c?^;JeYi_Vv(pvNh z8SqPe#-7cGoWS*x645NV=5)k?)2)OtZH7~A9K~d6-18c*fwM%hvrM^N>}^-jIT%zT{2p<8Pb&N^mhJ@J|S%$BG&W7p+}pHm?`42 zf;b6gT;$0cL~LP(AINR`Co+T?evQj_G?d69yo(N;<;c7DPpiXhn<%g8?f57W9xhXa zxGWIiFkmwuayv%=NkO*0=wV{=vR?UA7ae!?%9L7cz^Nj7A0ZyIe9S-bBb}8kRQiFV zP_C7o^Wui+>gRj#pQLqlP(9*MM?M@z9=8#S>347@ti#Fb(m&BJu}S$N{2a` zKth8d-bmNR+L#^dwl|yM#mi~&2Ym>KoRlGlZ~})i&Fj3#TeRrVU2yn=4e`|G2v+}s)xa1ryMHhaITdwY__w=k{AT_yD z$+50vW@E?{U(V#~yrFL}Bx3`Ia2Rcg$eE=_NCE1T-2hw~=K_KSLOdSQM>zoSnCC<; z!-)DOC7nQKCtw9m8)Xn$x>0^Km%NHZOL>q^Y=MlY7+I&I>lkptiUUug) zs!ROTTyvX^Y_a+B>b@E!fMCw!(tq>`WosWIRk~ADEVE)3AuGxs8H( zs;xf7BczK*01Vk6*Xh0dnOQ=F`$+X`(jdmSA+=YAQIMiI1f+aG)6%6B_iY{AWh}Gf zK;_)6~K_xJ=fc!rEi@oh+7P*kkjVk^eqBqd^m2id}AGI9bo(LhO)#-T2^-;RCnBgOC;X0j`p{*D1=-4cNpV3;qj;t%P z!eg!G-PG-TPI^WCccXh&i&!7w1)6}v9LIAZO^Ga_L!)$nCSPm4Z>>mFwa8H3(p%}% zw)$09af~dWh!yB=TJTbR_kn;9^-eMlB4sP5aRrCsqI|$pJc!UDVV?6jMtZa?Nk-v# zVzb~O%G-K73(PQJz!cYUxC{uJXLqr#sHghyewhqIMv%AbJ-x<)t;eLIZ0})a_;wY{nuoM#>h461q!7>6%^-+wv z))igrxRSauMMOYi3YT&jx&DSJd;*?C^jxMS#>cRZ6rh5g=Og>H_o+_gVS=Tcj1FJp zF50z>UBQN!k&@%lhU5ZB_o>|TLbSiWoVBUl@|Oshc>LJUTp&V;TI`d*fDa4PMt@(*}BMqD_lFEg+@IEFTjPBfQQBx><4y0W;6^=t$=l zCIT@{B7D9ku|7sl!ZdGlBj3|m8Q2ha$8(*Fxz2z^GkBcvdso*Zcbs)_DXRo;ALnsq z@PVzI#>MzH0Ch^T^GQjF}=J#sVEuGT?fSmMyeU+n;R+VG44n0{olf z@Ebnh5a#LgEq+8p3?0T{T&XS((g*r{R3!<84Sh;!;Rq+p_WkGC#OZiHWuhHN1r)jTDbJ=V&Rk|)4P74 z#NNyb1rPV>)6Ag20w?laJc)4$No=+&CAFX$N|dE8+VCd5m-%;e0tUn+1PpL+2#5%{ zh*OxyA>lxt=YCQg%M9d}@1!H!%APcXHgC!4HH2#QZ%*4n7Y7`}=Ow0qKIUXNd;AKP zdyq_5S4K)ghS8!K(6^NRG3iJRq`D(wKO92KL>XI%Ur3Kb zmy6nMzgR{Jaue5rO7c})2KHXd?3^<)3;{;|K=?G3fu(Fx?!Ee1hTs#U_$Ui> zI@)7dPgBX*ejy{jtzNVA=gxhs>^?JcHuaBDF;2*NNS|UOJ_*}6iE|N2Xaf;Ku-)U= zVS*LAm(b)Ly@?(jQc@hQ5M@L6C+E~k&7VR?(X0MG82 ze>qBsON`GzpVR+^d-ylrp^Gxdt31d5%1zqUCNU{V?TpNmo)O@pmL1!%9=t*QxE6T3 z8n!BdR8?)MF2I;tvH`Kqfos1HE!fM$!N;}nVP2AoPG*Il{N6J1|KfAlo*DFINQPsV z$_Ml*Hln1=a}1XdNN#z##D-0U^kCH=r1s3)G;wWKQ_5+e<%Uvhla;`x+A2k6ImZ-- z0WGYbP#H{~ZEO^4uJAY1YU;(2Cmf+wM0U<+j zW|`wNTumWGSkN^TIsveIIAA7S-%`$KPDVyd1vJfR5z=9rS!O93fz6%p%Pq4Qonq{V zc7zMymWM~eX1SI_>0-$3ALV8BXjuL}m$alF&{9{yDRU@GgCqAxb1ltzMc4q9BV9S3 zpYC(}z`)AwE^0&`^GwMV9K`}T(Bdf`QR`A+ljIGXerhm7Ms923E&%}@lmv$%TP>W~@@af&0S zM0T8nhJ0Dh!(|&e2l5`bvrU^MI7F5Nd!;p<>OJzZ(vn*+yj$+CrfaxL+^ysz->J_X z`>5Wv*!fHXp{T6q{8FExNschjv0TiQfJ1ES{W>ABRtMjkjIyD5%IwiS-qV{fBs>`@ z*Km}WWUOabOV|1zMfhug*-A)HKg1^`<2YtX2(6}#hfhaNAteI(EZDgu#1_J9p#Cjh z*E>mR5R(#fEyqcZke2lqC}&EABB`#*d~aAKLwts$ctkXa^-lgsVA;q50w6{fbx5t- zx-Dl_La6W;DyBMG#y&BI0%nE_ws-9k+x7vkx}=E9otQX{nxP`RVB-`*kr<2^)sFH z{Vs;~)p^}@q zl+1$uQtA?L*g&bEQ7>d!heRAC*XVt`NkB---Q;?*h^<~#E>wNSRrhVZ&A4vcoB#Em z#l@d1IrfgdT4)f{k<0XFyvh_l2~XncS<+xgg9MKuK0Zb!w1B!6+IdyN#UvZHu}Ln~ zfZx&~qRES-dcHUeNC{z8;R*YKjdJ#7r1Vi5baC-88>w$YricbDhIj~lLKg69ub)g- z?UsSF0jr-bs*ezv$_O`ejc$|yAq!B`HCd?@&$e5JQ>IhWEkpJS`nxu*P;#pRpoEkF zmyBQPGlYZ;*~-aWge!epV_E(_)fK&jAx)GaGrXn$OiTxt1%&H4QesjZh6o;u$I*-Mr z{uRIVX!0SO_&!toln5cFZC#BFd0S2bm%c9SL+@88!cuT@(`JxCoKl}q_l{Mti)jb_~RXy z0<_r1tX!-^{>Ti9@*FUlUOE=>VBG4M7O~}COKs205Ns+aw;j8% zlKbhFPxD#g>HW0unBq-t=5MqinRVhv)u>i--li($+Bxjnu9=KfJ@IUvr@jho9~`|J z^I|20ELG@KXr&cEWS>ZzlGD>Cd6HRNA_g48rF5iQ{&iifU_3=+5(?GR<EM#{3CD7^IP~m7Uscmafiz&~tsRuV>H|a^!b3#*RT<*pF|@aL zsbLZ7HLhaoG?~&Ko?OLU`V0pUa3C*|a*5{B$0e|86|lTA^UmAyEKxoY88aj}av5LN zhxr2wbn#FEKF{f#!A2Qc68!OAqP1yN$k-sp;U)b?-eZb@HX(gro}cgp*Xmg^z{SX} z1|^|;b+}JV36eNkE}j(;}+5D0R5&dKIFuNvwMH z=W18K)2JExa>XU4DOafQZwLXKc@p#jX%JiGi;#rSx^JV)dY!@@TwJ!{%Jtl-&vO7x zQl7@=JetfAl%&pkb`@P~Rz1BAhmql+4Do2&@X0}N@%a#NSfImaaLXQ)q8dc`-K3)z zL^BDeN}zYr!efT__%YY%CfP#A23tEe6OF51;0%0T)fch#Y!!P%tsQkwkNEie*RNO* zQUZqBVxD){NJPdqPT^wOGLO=-y`GD6#`RsI9+((d>wp$MZ|YAOV#MGBF5}D6C&jgJ z^6E*d!|Lm2?sEXIF-6QD8EQwmbjZsc{WW{v8&>ebu}Q%MXz{k*L6-x7Ib8mRFUq#k zTd3o3CR^pssU>I+>C+d@QE<1OAmpCC1qgyftDW3aavoGVT=jL2uO*!h>+*WaA@!% z8JBBIw$dS?VQCI_Jwg2TN5Us2#V5t|1BHBE{*F)dO}3D+kxgu3qofRM7uebho@6_} zQDSle9@BpzW0oc{L$=W%q(R90{8u79OFVK?nheXP;zDu6rIKJRw9z~wQW^{xaH#x1 zZ{|HhS`4`#(NiQNr9qDXpBQY=Ts%*E7RtHSY-xrsR_*DStd}!+=J>YX(_u(QE?2SL z4l_KCqi52V1zbW5jYt8Ss6S^_+Qw8beR2YXOU2b+6VhP=PZ8-QGR4r&jKbMmpBeSa zhUr25f|XzB;xoj@)FfPTdVGvw<(%e=cGPsyjFOSD7SxVgwYLR)MI!wL837x3o1gG~ zosoGuwezY71(vfq1-iq>{E9Yd$>>?V>!j+>^H@cGeSPm-{F&y(d0kyIoSsE@o303x|LruAmm-% zVv^*v|iYzH(@G6E8W7AX-S2g_l&Bvu(|fd+1=CqD}0Sc|438+V77^uHjqaruOt zO>CmeCj`teLyv#uApMf$R>de~lu=Qv+g1^q4{V7%qDjIQ4v_2hCO$z)3Au+rzbr7M zMMhM%zmMMc(Q@_vY>St~I_zmRZ0UM3i)J(=R&OpNAYw|c(%bnH4LsUBg2S2G5z~X| zlaFjg)%#Sdj0vS$rU0Undc`@wKxq*iL{7uaCw~ph8W{)4v|kvCg>hha<=}F2*u+!oKPkw3u=w=HAQ#8ciJA3 zY}|G^*~GY`Fk1SqO744VK`^cTDY-^Cgml?JLs9|@4#57aW$S-&=0ymY5|Z$Fxkhi{ zLpluE$X%rRRmn&!Uc0^}*9Ue~fU&^5rxpO#WS%LxScR9FC8ERgD3{SBCdMP9K|JEN z?}`x|x6w(|phv5Ouo<4doStoBbcx8U@-$$1hw8cawHgQ%)t`_#{RtjZ4B5(IoXzK% zq0jGmiuY*|GT^8D2R%?i`b^il7))&{vDxpK1j8y*5Ked&I5I~^zNa_yJ{>@~i-Ddh zMtiDGa8fN?yOVx&Z?Ik4T{+t6FuA|4?hd9jNy$m^=@H5mdMAIukhnfd%6G^a(ju}{ z?FHM}c$MBz4dhn(zyL2UCg*od0Zm>c*YokEpsCqasP(BcjRW93ee?d=eW%CHARu%RULMc^w8Y6p`{dIY}Sqb8KN7|H8|99MdfDCeM-* zkdSc<$B|f?3Be`guX-y3I&{hKxSB7>kR~p}QmlE>xi9`%(eu?HB4nty@>e#Kpk$oJ z*`lPh7!u$T;nHA8z`Azey6udO&%=n8?Ycjc7kLk*!w38)j$}q*fqx^zCne@HoJ&a0 z5}fU-WVqHI6@%yjhaOvL6XA0_4j~>9jwOKk90&3$vux!PBC3Q-osW66s$E~BR?AOV zwLnTId{vz4I8{M)qgH1acIGICR5rsER}*q#z_*l%8NMwQI+l!f(isQD1ia5?xkhj0 z16sti`8kfBCZhznifDzEDDCthcohyh>Zha4>#Z4!>) z82u;SrNI=h@+*!~6HpiIYlQ;635;7DBn>MKX(|yz8uV$B;3I65YxF0~6VfK;VO%{; z1~v#Q2rJClt^@m4YO7zqpZpHv;2q;qDFH)VB06%V-o+pBNNDmjiC!i{`m`9Wd$ zDR|k;${`kRW;P9_BUfn7A88R1@-hw1p>XYU_TLP3l^ZQa-P{c$7Jh_Wq&MQxCSpit zJJXaYl!PJQ=WyxQIylEGoOL8YK~G<-h&>v_2tLa366^g4LWfVdh41Q&Bz6o}Iu{+g zPP+EJKFcY16n#@g&uzVCF5CIsy(6%AM;9Q&Bc(x~gE)g(8ITi@TE0Ao(az(=HQv$V zDh_Yyoh;BGCqlTIqohv*u{~~GJllQfk}P^26rYSCj!k7;&l|kWENuon#>;p_#P~FE z$O*ZgjtpoJ(WK8bZ|NNjX%hnuSMnt(o=$_xaFzr-O?Es(`ZUS8gFn+ELs;Mp&KKKV zW(iOnGJEEuUc>(SyzgGy`|tAT`8zh1Yf>{k+GOd>%{jS-OuZZ zi)ytUJu0k1AXSA1i~0B_F}_W{<$G?T7PRK|?WX`%IM%(H6a-XPZ>RyL7_eEsuRq~^ zrpR%*A4k6;IX)3axxz202u81ebYi+t1|BIcT^e$MX8eYLfRJZ!^*c1gXq7-fpTKha zS4Yw%wzeI$d?bD^w36zO2`Q(pQIK}+>vDU4iePeaKiFuHxu+<73$$;c)KsXB7?&yL zX`4B0@m-E0#bpZ}1{}=~_}^^UbRYjl7td1O*Rvnyx>7FIQ^Y61B`3k9NoqIA3}u0X zbVp5AF`dEe$%uGE9X=mQmN^C&W5()nX$>m3~Wd{%C#p%s<}8?H^O*Yga` z#~dz!b$Aw6QAe45iwdA;_d}1EHgD?f%riqujK?(`Ek;Euu}_~576O^!jGawEBVw=u zf^v}j5Bk6JE;INXfTH*`QBop&{v%(K7~cwaHhE3&Vvd#t)LzM#rEh0JW}m(BHvD3| zs@*-ou|3WZvcNPw{TaVw14>ShZ}M#%A_9!UrPSu!;#BnBWlIydtZiG_`L4}pvGTR* zmG%1SW6A~tPLuyh|1;b0nX)sliG#~~Y~=4bOAHHVLDn<*igy-BT#QM|Mbo~rATP(aTSP*_tX!`*@-Z#i^tcUQPn0el%OW%!BRnpSKKYJ_9U!I8 zv|OSYf4~Pe@HB8f9b0DY(IG-CjBwXXO;qgrp z%im`JoTfG2uXR<99=Qk%x=hQZ+T#tHv``);)e8tDLTE847xz64nch9NI5#+cz2@Gw z<#G{(;Bvx7KB+2xC0z9U9lRNmH zw#AHt;h(C=0w#}6olK%gLlsxIH_EYA*J$o;rHv;`T>m&~!y{&f0TDTE-qV|yXNm~O zxt1fukTqoZIAay4(RFgEUG|IeKk3~(N|OLA35knxIRBm_C9(l_gPgbZcKRH^9D;HU z$4j)R4|6H6p*R=gm^F#;$muc5HhqZSGDD8b7QV)LqC~VP2%6Sy-B#D?PeRI+O>QJa zoFOy%AkVOc7CEW?%dc@YM~G=BskH3I>pP!*r`cXakmBI88IO#Rt^A75YfDn=H8}`> z<_%mzwy=rDSgB&E^>y-l7Ks+M44u{AniNf5uK(k`j=O>WeDAUypA14wKu$t~n2e3` zL%oG}@evN-XY}=S=_7b$XT+#&KVUO?=niwV>6(6-Sckk(tMr?{kO#fe@F?JVnSk z>PbA2OnrZ!FJ|@15WXcR>r=eQ78Y=6@nufqD{PV>8BO96Fj7^NN3D{rF;S&~!@R_B<*?e0ZdQ3AQ zq({zsdLuDyD~fUzN6G>zjgc{03ja~{RA=}^R=ho<$%6ip7nmU+=6x>Y9Ek`p+BpT! z>$|g`AB% z#_^m&j8B7vChzFoK$|X898>dDjqO-?XD}dz5PEKjU}YLciD{DJa0wnS(MIU-Jc(W@4t;za za{5-hRTdp%XRWSzu{UnzJ8Jbpu8`4U4x<+qljB)I$a(rqOQyL6Hv0C_EAkh`9n0~V zqs;;yzr@k6iD9BK)d;0YAHgL+NZBY?>(6+H4zu*RlUTnhi4Dgx3o$9M!E1y5c;B$q z*%)Nx2~k^776yiwOD&!vn10e7~;_2EpFt8IxRgq79h5LuzMXuQrC@R?6r%}Yb~0A*woiUf6?E_SV&bT zPcp1_J{}1nf6=?>0aJ8wxt^ot6G8+S*r3B*(R{Cus)sVf;hS=@e!>=%l!MtIX2ot0 zVN|Q$(A&xBAk5R^YQ8KBxCD!K-0i)ac|VhK_35#J1-*w?IDniX5$E#tvLCj=klp31 zuG{`=8BzvF9x(%&axBM^Fw~3?p&@-T8*mlv1-ol^QCsbwk#Fm(bjX2!qOT_+Abov} zpYjH6ls;eMaEZoN%9XB-MU6bC(gy^``t~LZ7r+VBej2qSR6+o2*8Ths!*N%QbonAK>7l+=r_th;KomSuH2B@7?)5Vf7A%#lh5$ zJE`?$wg{wBa$G$6wB&N_^FAIv4iABTLtF*~HbC!{Ewt6UkE$3c;NvnNlnd46B^-v# z@&XPQ*bG{++^_3OK~b&GFrA7yE}O)$8>8W2b8Lk;F9WG+Rumw-QCxg|UbqzOaOQsx zVH@8RUmwI_hFL!1U-_XvCdWan*gI;*sl#9Or)*;*DLp){Ag>$YyIXE_cTDJ~HnZ4#i164DT(46200q;xDNo|ZM{U9t9z7Xrkx zVxPnbyv#=0Y~%mtST>WZ!?P@K04WY_&b4%KJGLf{R+9_JwV?c4% zp+nv3Ykw6|RGm0ERp`GKMpsw-^QF&N$|}Ax9#lm%i4fk9w{@}2_By9QgG<8L9SyH1B|HReLSs&pyDXwU15`) z9;1U2(;_DUI?NHsMV!POO>#nB;$C$LSg;xGCiO<;opq$fx%R3YXvM9vFIweDWpw03 z=I{u4mz&t4voz?^U<2>yo%HFDqkM(7#6M*;;U=_6@58GL5aAM{+cwV8*s^!99kS zIWEIv3y%B^M=)<|OHcE#It0w)f~`|lPgk9#t2mRu)-)VqHp>MZ$HzdECcoi6%`FM+ zy8BgFLJt?Q`a+q7mxUM>IENmaNEz7BYEl=J*4%t32lpkpIcebCPSO;T)Ho|u6|;=yE1Yza{D2RKAb)JS-ZB_{Y3$& z5quVC^1j|d&!!tvuH$Gi`Nx=HW+gs(dgCN3{Zocm@) zq{uy}brTYf=P0%iFwHCc125^E=K6s?r~f}*#$!Ov22LRbnt*3NeETVcL`=z*98MPp zX!1C}QXgT6YhCTsl6iv9kO7CuwQQhkHMt((B@HdZ+q$i;>B#Kf@i|?u8`atJv?RQC zEZdPsLYtJ9T*gt%TQP%Y`Gv;XCPFRi*f=B5s6=T@K#I~PXDhRE87I>xLGXEr2UP4D zvkvSt=FqlGnnPTCARs5k!y!g+na8(ms`;3JL_P-V(?wquu5?Zzuq_rO;}dhLT+WaL zq0Kw|m~Gm&?thWynw&f;otAs*cyVA)Fn2TY3RVpxMBY)MO zGDicWuXPQ_$O5J(*|T!*YTcfd1Wu!~BLmytDmWy7kwOLeIqffI5j9V<|J-o^kN>0R?oJm7sd@_8L0Rbs)jeKU^)@|2Vg8@a#KDS-o zV!J+byNek>ac-+Mqp6-EM&vH6XPt%YxZg>jD(TN^SmM_soEun-GQG6lEc?!GH!IF)KgR8~K2MSr+&y zzMdjod&?`?Ff%9>mU?s&80oZ(&}Qg7wlFJ~kmw(nV!#HT$JGmINPG3!cBZMeXO<`o+cE-dyFICCDZp+=@QP@u5T;(<}HjY_QTQa$|ka^m2t=_?(@o19r z5I*0uYln-G7A%7Jg5_;=`8N7y4zP{3T&hEU&ooMhCqd7rA(3^&ij`^qHL<~|mKr~q z%`_GrJbt+rn|0VNzY+`9!$L;1l*gw0-#ovrb;M2O*!(ubq*o9ZOr$=x(2%g#ffLb-DUSl35 z-lsRsYQ6Y+*B9Hgh@0vPmL_6r%Ojady-{Do_et zLL3q@8Vq#6Jbe-}eyyKpqnKwuvjJxDPU{t^owWM)S5#>-Jk&CtT+1O0>EkoY9XzYk z2q_LBNiB<}wK~uE@kg1A5)PnG&b4w9@8J{D=6UWzRc!qNJchV9)KxAV2Mn2&A2CfApAfi>mvJqbNk+f`k955i zd8aMMvsHpgHQbeUNL7G5B?CeWkEjA6v*ox50TCU!j4v=GM>v>Y@=JAXE-<$cg|y~O z)}Pt}q3$5Kc+BC-)qIsXTp~8|D;^})7Lf%DRx@%>Z|Qr=>OhY=L=VOxS=H8^mn(8? zB?>Z|o6RWtPn{75s`x**$8hj~oUh5ZEHHbT_xL9U8ql?&djXA;Pd!F;wEmv?T<*8a zSyk0CPe;>20%I~#+Ptm*X!}D`a<1mHA`EHJA!j(^=IzYva7HSD4nrJ#-qyPq(ze<9 zAMr)$j<`%K87;#)Xp$cRF*%vu&8y7dlk*W@=W-d4SP_i6xX4=x-+DGYU^~<42RIE90fLy_$ z3~1oc;%=T))Cjy9$+J34ZmB?L^rw-{9h}2i^y%RMe@I&CXh1l ziJX{}X=#chQ<7TX!@fFwstzzEqk+R^{4L5SBq%})--ePQf6FC!6tDi(Jf z;WA`auHtY8mPY+CeyJgXONQVuELp_N{26k9e3#GjF&P_~<^i5nEpf{}i5-J=+ZiiZ z7(JVX9yi(UM;)MLzVj^$Qch6zY~;108O`)LX5}i5U=AOl$zwdKnR+BB9=;8LBAa0w z-KMLgisBM5pdsh+6?%9GO`highB`|`N}FOU+83+GE3tYQH6E^vSAdF-N(C-M8RFsM zaEm7Z>3V8e&vueUckx}A^Z=I5^eVA;>b z?%C-7b%OMq#D=O3ls2#Fjih*lL^xc_5t5SPFl2zgDsr`2f;tPi&4h%IkT>-vw$VY@ zLW`?8Lb4IT-<3U689qb18z)SW=pFnUEqr>Ue3P@u@bH0@cw{#2pU>;wW}|>#r7q~b zw~gR<^;owv3oB6DuC{tb%{-%lq~tVliEYnt6W@Y#t5@v!wHwSqLPE|IP43kHFHh5> zLqbZEjGWu}|M091G$Y0|bBxmgt=lSCu?-uTKn@J~j9kmXY@v%wi~IOJMM1UbjHyta zlc5iFb1mY(M_VqI6IlQvHt;NWYsM4{2mu9E_Gpg%(@cA{j(r=42*YaP;+Fhkd%I0~ z=<0W@O%J6bm&t$ROagk$@i9Gymp&WhN)9GLXyNf7 z&ufE}$mYUbatjP<;NUUOp>hSEA)!x>$KCu^10oChC}2nHwlkLC5ZXEJk(7w&l`Bw; ze#96}F_%Icy&iBC&w5CYhFr@rd_qEt2EX7bQVq-A6Q86E#KwC}s%HEgkB}aoTq|E@ zfdrQ}zve*_OHotQJ@&RueOK6|9PxN#ay3Tgsr6~_Tm7*PG$6KpI#R;_82Mi*+L4Pe z%Oxh^n{o~bLwrI$;zqVPT410-II0OyR71$+*?8^8QJX?uZELeQT@%Xzdot04Q6jntmk9zvly?- zuq9`;TG>j8qKa!VUuC#7$cea3|A~wMp9t5|z&ISrHvSJ@q(e?dRF3s}kJPGIT@R{2 zS{Ix}3mhyr=#S|FN`qUuMo*B;=9@>coU+8R$64|mTEqw!knwvOL>$P=h+ag;HsU5U z7*5Qw@0fX(6xh&Mq;_L)$xEd8zGd~W7K8yVE`8u+IYQs&_iQ6aIEc^j1!)mkr7u$j zECeX42UBf(ai0K}1rCt!>y5lelLl?>Bi6ITu>hhreOxQKYP5y6GA%#Uf8|}K@euAr z^;A(}TW|E&L#drK-;P;|+72b4_B0p&PyQ^dzPXtG7bCcAT;&QWZ`8sJ(S3p^*XS+0 z$pDv)JW9&hw3w%Z5YZsFp;-OB%-31D!8kyOl5wTD`XV!U_&h_d7ZOTJwH2B3T>D%5 zuCU47Je5Y5E^-fwu2BzZ_{(kSY@jE|G=T8kL=^za8$O(8;?__~#TYtZR&r61fOA2`8 zu!zI-)7U7m-XyXP;17B?8BJVzcwE94WsZ#u$5!^0j7^S1f}%{()jN5WO@PlfzRvlQ z644UYX2U52RMb>RW@> zwh9G8wsN3+PjBKQrpRb=H?f{3h9RVaK$zU|Vq+@*E!L z=#=zm;SyU??VZEw=A;B*dpBH^W{t>VUj~<%`{p5*>Z6AvM{zVlh7ypFv0ycQLVSj_ zEbOxGwh1md5xy0?>oFtO>rZ%(jm*>G7dZM&Nf^>(ftGz$hC_+O6*6CZdG z)#JrsEi|(33uZE0;9AzTs(P~{^epwzJHw$*f?Er7i>CIXmgF&@$$%-jTJPl*X2@vp zD@4CRTa3oMTM}T@fl_(tJPJiemcfR%xQLvWn4(R{O9Y%>W=O}wvHi!S<|>$x82xSW zf8B*BU}i2pujswR9K@U4%=fh^#Tc5AUEHJN*bQGx@(`DdoUe+b_mZH@@(H(ct!|JW z;n*3CQcLXnqg6;5SLs6IxHNc6Z>P&FDKRNO;%J$-dk;VYR^E7L*T4#jW!^u)=P!CE zeWn=FC*UfMkv<*+3zc6iNwB@^6C!*v8VtFUKQco`&X8~MO>+Bl#|ozy!t?sxv2JVM zM!~jDZ7wb4&#f(++#OZ_ZShq-xY}KFv+|J(7EsR$78riLOhw$14cjT7&>gw&^_?N3 zL(W_JQ(OYemt6>4c(lnFAY|OjmlUaX)%8HCW}jwqj8Cu1T`IVqQX0%ND?ieIWGf*7 zF2BIjH2276Q(wda)}5@ z`B3|1AoXcLu!`U!93l;RDBei5BQFD?CJ_Nc9J+MmQtk0JO@y3haX4Ka2?^-ZCR((q zRfz0jwQ)&klCX^pa;ZAJj7v_)Q^b0i7&f!YS=`^|i;lSI#m_3T`YPpBS2rpW6~Z(S49S@09FCD8&>}`_%w!eM;8MpnmeV4l&4T`vSJ}i6k1pTf8w8SBK3>y-k(Rnq zqdvvDt!1kxU`C0i_Lin9=I}_6QprlKP_~fqJ6_`iD-RAi-g2~^J9^P8%harW+mYhnxE@A<^ETPYkRd|M zto%@K;Ukn5^W2H6CrY1yQF4Ro{j0nvmbnC!6qkr;hD26-y(O2Z%Ztn+ggggaNQa09 zF$p{CJY|;NQf>Qt2m~lGIc|+^a&I+R^nHbKHrUtPBHVqTVYj;h)ArsfISG!f3XJos zng7jZnGo9Erg_?Oh2FwPIJ9uM7twD>&q62zl*Ecpf=@z^1Lb=C2_NI(aW>PEAq)w3 z=(@H)r}u?t_S0CK1#+6iysQt81g1s!Giu}Wy$HN207TBW^-O7$^u-l!-k59I#tg8x zPg}mHxAPhurs(q^!r2UQXfl|PrjT02Bd6%C>*LX4p0-?~IWMt+j14@4s~1T9YW9y% zY80q9dgtmZ^eEu53c19>L^52?ltiDPMNXT)ax>THlqfj?g~~|PS2e06=Gb*3Af|^8 zd`)tFkQOch?{Yie*On~qv@*8xdh?!Lfj`Y`s%L<6n|5?8-HXuSE&VB7It+2~xSXRU z#-&S>00XBnvmVl&YVsE96=*|!{HESamktZK+51#mMjGmSHy_LhRA2fVw_M*KH-Xa<<6TGQ-U&cFnLN7UH4oEs2qO zy?(jBEKC<2VLX|%dS^GfhPyUR1&K{lIVIn%j!AOw$lWjgGNnzVFXCAtch?444iP>f zF=8vo&vP89O_n-1OT}(01+?tQK&(a6l2G{5*4!ZL1fjg#pWc6(Hd13F?UdG&LpMiZ%LVv>o|ly z3e55_4{Jb9LWo$oPy-DT8YuG|C_m%?KH+@6DPlX;oE6O4eQ$(5ja4qROKL~aEP;K5 z0ObX}2gRdFh)+OBh>uT$1|cDV{iuH((6B$N{>q`r13apx9llufU2+SKHGPJ~SqVOU zLb;lwSs=n=BhPTZdI&vRbx!eXIm0@cx*7c#@NI3Xha;ED$;<(;k*E2ECK?c;o!gmL-#Y(h3$5x{=13K&C$}|f7YC1& zh%@9O1}HGihx{}1+G1EHY|>Kh+#E5dp3+(RbI-E&?YLDvza|0Y(m*URN`v?H$3%39 zNy)j2qa~+Lz!Wi9SzPQ4HIOH~5j_hjtzTV7MX07vdJx55FoB#*Y zO&O2Pq*3UWVmc%<)Di~;L^#BH55K30N6H6$n{%Y7Lz>mVR4%1V<19@{y>6B5u8PR^ zN5IfYIhOh)N62tAMt3U2U+rrc{dyeww$yW62a(IzQ5M&x#$k-BGd^{oWI^X+JTABV zzVOo~ox#dzeDd1g!#tmqRBA={W>yjmsr3inAf`znsIiKptz+Nq%}c=Qox5XM?p#v( zOvzPzfq5J}ggbaaJ*%r;bZhKrsG~IK;cx*b5Ru?0;oPnVnf|_Z+tO{inYJd!rRRTPXn^2_cb9aX7dusLgJqu)KIi=Nm?E8w`(VOaOhXF$S`DgMHp z%xg$w^}cdTVs1vXfcDmpWY&Td({Fm3oXfoJY1_h2*s4wXI3zguq$Le^m7>vQKKDMW zvxMdNCJ!FX|LPx%v`~WaP&%Vl)cN*3)Wj+~O z(K6AR+fcbUqHj~NIrC&%35)FXNY|k-qYK>bVVPg+W;okodb9}{aG+exMg}BwXmdX= zs3C9kE%vhlK4|G6joavEpVBY@AvvBdDH+o|!vh)vF>OoHXh>M=G|GDitIS%ndX8qt z0HDTP+iljOPfM=nXy$;N29NNPVs*w%*?Nf5Bw;|4fH^kF=^`v(DpjWDv2NS5@o`ey zwdfJsT5CqYuk;>E<Q>26zq?ysQ z0a+z8=n|9Dq)S__dXu3$0d3hj+M{zBY((NG!){H8v}w_g=nYwI@Hfze=hFy1KxS8D7^LEqpvB z;u?;UAsHSG8vyN0OLyV$6aY^1EXH_Dli>4){xblWD7=gtcya(o)n`lQ;1tHt<;vWQgLg%aiOWAgfo{hxoW8v@pJV!QkrHBua{dkB3Q_6uXM72H8Zt#j`r?^$^OKPs9MBLqd;f z`pn9Y^d`1ooaUdC=^2s};}A}Ww@2?|)#6%|GZPw?1fs>oz)Lh}asba0>s2Bw(6V{I z6rVo9$i!M7r5(4OyJt#7lZ?J)0faY=DYpirHMPVKomwY8#2pFl2C z;RR+8HuEeo7ZWfbDWSrJWbD3gRlqq4Ygrkbdx05ZQobsgKEy0T4&zO3=L(&YAyZaB z*3g_AaqW67N^7+b^M6XjN#s0EM#jOs!N2f5-5`B@oEn|F)XuR^xliru`d+(MKet~u z6QE(kkdVLXJr=Ya<8wL3$u=B9G9r9S5x%o?VU+MWCnO@F!)tmE8G&7yFX9;K(x7RR zAj{!53P@<7^9aI_28rIw@9CiU%yTN|i|LulNPrm@tOK?;H%F{B+r9VEM=?CUr^~7K z{XLt!_7_zg*X`5T&LsSoE*DhKTpcp+k-9EXM+wP!gj`RT zfFTVF=5iTWO)}G;W@-))5SN-&>$a5D;gx1V&M36ex-@}j^dTBRz!nbYN;ZgBx=jV0 z>f)n~AGL7Sa}Lrwc#UZsrg)TGzfD8>I5aIiOP%Pzs9?CHWHcEP$Q61Izhfg2Q@n_; zXUi1Z=-9A1vHCex&7w{rVSoq*JuY~1f%-hlfplr{dpx~Zigy0$4E6?k-kr0md2}1dOr;! zHt+$raJ_DlIm_IL{W~e=-u42OwQiHUudA@uB!yBMysx*iKntG*Lawq*eGajO*+?ld zzcc5NQ*^?4Kt@7Fhd1?S3}^rmAy@Ea83Km%xO%!K30oI^7|zJpy9{U%>)pJ}W@3b` zoW=Q~3<$_^@DX|?ujjh$ttO;+mdjUc7vIpt1BNxPL8`yj z2MJI-7Wf?BWs?l)(WOV9K7G3MY9IaDM~{B(H(mQ(pDDSLBU!*FWdqOh1PL9KAvsMO zIu(E?1NF*m4ij=_JpGyX0VDNWnZ@KwN$SR+MMAL(E%3twtUMf#T~$3_$l)mTAF~Y)bpy-9zeChYHjS4 z7AML142cjn@Bu&JL!BC_xa3T(f#_cPQS}+t$HLU{a%Om2Zy{oals*BMbEFIji5Zd+ z;M)r7YN)jcVj)*4iZIQ)dMhbD1NsD9%CWLQN{5hys@ha!q!*6|BO{#w5lv#fi zbmRma#1e~*hFgN-W4awZGMnT%Hb)$j@WO0-`%3orBlF%Z@5OmMs%LQ^OU0S5f@;vuwsy=FSCM$s{tlR2ab-x{} zjS`gV1Y6lG*KruaHk!CRz)PBeRZB3qd&i0*`?$D- z#GRWc9zEJ}IY$#QAf&}3{9GM!+fCuy&MsqG+Z3uSzv;yBNr`C7ReYIkG;j%chI@3V z1#odx>ui598M*G2Tz&EP5k3iL%XjGGFk}<2atHGo5|iK)kPzcj?{NjnJ8kNO#rtj} zJKEIyhB_>1h@CeBn zl$wk?Zx#DjhDXSs^!hgy6p{ScJeA{GNK4^Nr}D|Y=2wjm%92oWO|emsNU?7l5i%|B(}#* zYJckj4lxTH$~1{lClCEA&iqYM!mBN^W1O+UqN_7xjV?iju`hZprhX7Nec%E4UA zX6cq0?>ew^@zYm*j3y;a$48eLxr`H-qf5vJe!(v^qGfA{MY5@)oiGH@sU^M`Fe?{x zv?a!$;TaxLpC$`HK}AvzpsFT!6PTIWNJ<-+rzw|mG9RD>Oz}LAfF*q{pl17*RaJ#z z16^+RdtlW7T_WJy@(ogA25jba?xwE+J_#8OD^hNbTZdm39cfM}899wZpEKngQc`?o z_>g~PL1!$Ota#<#k07WwayvCQMr@rb!{trAgKf;9^oaNYN6LVh1}-V4!V_3cmz}rb z*)eeGkhk2rFH2<~y6fn+22KZ&``>0m<`ZN-ZsI7zH2#c7ZkB`e7hsZU2 zmIVwz?@@lGMRo(44DE;*@J{8jjb@SyCVkhAo=Ze1=Wse1U3{kb75AgsAtoROTYyec z*6W8$+iKsNs+-0*N=8A&v-tlZGja`|=VKgvTz<|o>e3)1MhUF$kzocCyT!XJdb*Yy z<!yniOI|ZiQ!bU0m}iK?G|%vmX6jpHe_T5J%hSp38)jTxL%vf8XcwyX z4wKRng*=f;>m!JJ|1Ur0Ry@;FgOpj_@RJ^K7Ys2GNkB>%}|`35!M3`ameTskl^A|FLJF@ zPSl%%3t&S^NDBD$*&x?*IDH1RQSRjh4QyUxo+br@eRZU98z=Eq2DItp%B7q{pNx!I zp65PdZCaR#&j7WA%Iox;yWXlGMQW~mF`kAxqDha2e3vgVPeO}n9^@%?Y_21>&Q+l| zRvdTds*B4%oBPJo>oLSbXxYl1i^o&?5G?>A4&ev1C9`Gv>X}>Fx>y7vg}dzI;}X%3 zt2v4}99*XO6_0374VAfpWO_hc)P(vKHFi%Ds!RKm@ zmiZFQx6;+sp^t|P#Dw(lnAiJxg;^k{%c)!`2}5Q{@M`<*zW$``Z#GUcGyc`uv$cF~ z<7X^l1>&ldNlYSIb9OMvd>tG z?#+rIcKofEKh;cK92z8qBn+&3GU*oVpH@d>8kBUGXoMuyKc)_oh_^)E-va* zQw$m6kgf^_qPX}B32H9#(h3Qa-hX>mrybaS*uFQKkkhc5Kc4N2 zc-n?h83~7QJyS9uL~TadylSNiJ_S&$7-0u z(euT0{S*SkGO|YPJ2rZM%vPBJ2_AuAR>O3#I%G@Mc&pS$QQbU4R3G9%`fTKN?&MP4 zCLyeoHT+-8J%?-mIURL^grrO+ z^_k-~hBOc|T3pPrq6{p}P61#OV_0(|mx>_c>Y?@M|4ZE9)VQXpz_% zG-M-l`ZHc(1A;KeS)4BsAuc_9y8;#WWbKdKx~Qf3D(uOcM%D%17~7cc};8giMo zd4_3(jl4*%mq~-Z%}3{?cx&Q8-`B0~JXJp{#?oPkPfm(Y#Ee|0H}g6N0&N~7(Q_om zxF3EAFR5!AES*CiZ>-$@Gbu}ay|uJldWX8)!#%kqH zM-?ikv@I)FMoX^Hj6br87>B2EI8%MeNb$)m^~9*|p5ovW;W1=NuGXLNdp6-AJWRs5 zv`F!ZacD81u_%lXYgn0(GlF>w%$Kf)Lks&z{+Ria{0q>a+jW9Cx zJ{f0W0 zuAKb!F8PP=V+8{J)t1XclqR|1RkDB>2E2p7jDT91u#uPX^=w*_+Im=rKDv(5o?xrZXEy3g$;h)& zEWN&U?KjE|dK2&B(E%PO)YD~1o7gIn)w8rKOq<_=yLmJi(4^0-T%)(~2M)%i%TpwrN0WJ=Q8I;9(z@6h zl8_Rzz_eVh!ta^FrNh&>`VAaOaf$G0lqB0u-53~~htjedRVjZWB&Esk@bp~i zuwXIZmxl%Vtm%wH? z3o4Su^aMo(vOwoI=yQ@}dM`drTD)&p{TQ)%(|yURwJ*h?WkY$7YdB7Z7IZVj!Lz~W z>b)<3*zt~tXaap^`HFl|H;Qqkf|3_-Wn?5pXyh=YMWlD}8k^`5lJHHwEk;?WO=PKs z*1MwiOiT z9tkNzOw)G9O%!I>u_@r9beTnH;<8{ndlu6Q?!Q)1?wX8TOoN=rLUaJOaFBdo@8Yja z(E)B@sNa%q>EOtAkItAYoJ?O~BQb5B1ui1PrA0y?DWL}IwyUj@P&VHc z|BB5!XBPOmKudn4|Ah}20@K`0rsv5P8n_6<8o}~%;ogoelj906`-Y`>bXXvu4Lqk0 zFpc2S<1oI<2I-RHS+{LKi{w+@!Acj$kft{1(qf*5T&)hjXO?LOJWZ%)FfH>aE{=8K zi}qvzOS5gL(g$?pGL3kf5MhePh`ER!4W{VZ=JjkWcU}h>7OZ|L&|_Mz)Vuf{GsHA_ z0@3rNMT(*0a8^*Y+*_?ajt)aYhRo}sGO$(Nq%K0^dJ_*TWFSUHyZ+`Fux6jlpCReE?_ z&r#C-|Fies(Y96BnlJY2Gq14INkruc3Lt_ILI^|@A_sv`xVN6|via@W8H6Gdx(E;w0)ZqXArRrDomQB!`;Rf^nsctT z_6eN8KIrt__BlJPx#k>m%rScSzOSQ}`&Z!DXX9W8_(oLTFeY7A=rSN+qZGu1Sc0>rp%SCVLE6*B6gd%yvCiGMWIBqt--3X9Oq-0YXBDWjY8eY?N#CPX5RSdUW_PqGw5F>G74DRzXlE zojil=HmLj|9WonxUoF1=BeO&}{0!AEiLgS4bi@cbYLj-bs#5iu!+0G^F!R9_ncFM_ zE(0R@n%>4sERe8?ACT%rl352W8*TLmXR+1^2l}1lOq)O=AwqyB^kL?Jf*$YXDi&k~ zkG3V43J!6tf$H=yYEPrCU|l8$hZ%A_2DIf`b$JmFpOA-v&uB;bl(IaPLZW$nW^-bK z$1=0>W&I9+VwN12XK?jm$=SsWif7%k7q~`0F0myUSFD(6_q3T>a4}4)ArTizr1x0B?GrS&XbhDiX|6h z6qNJgowdULwVO7c=F(*B|Mg%8Do(ZjZO>`t(%STBv#59T1TS%uZV`h?$ZYZ|CuE2b zBr3IZ=}ujv>{YyR3FFs_f_uS^q$Faad|@Tr-O^qV+&U^D@(K);*jEz z;N#YM_)N2DZCvXit)QfsZciy5CR3Hrk}LFXo@0T6O*}%%=QNVUYWP(>Xey+33DApJ zp(8ixT|CDOa}4<*uAVDhTg&oC6>FuQW^pL_Ugh<-Sw-l|2Ju{is;9rXN9XBtAjXw*Q&lN|1KvYA>m9x?`M{RS^mHsd|BI) zlh}&Wc#v8)(KeM4$D#*>8HNlvOFH@oJd6xbYNhTc$M;C8M-|kQfYqwwQZ`RHi4V#W zZ4%pIF}A^z>Bw{N_8;@kDIr)6V~;ikN;u-8`6T<90(Oa+XTV+h8#XdvfXiu|D~=Vr z$KFRFBe2(YbYDGGw*SKClL1gw1>V;ql-~1^wid1zaNnLst?4v#ESw=0i&m$!zA|#tg ztS74;apUBaQp@1cCm^KHg50G4o)s(2x()PH$r#cB26!VCzj3Rsw36E`7wnKeEx8KS zU(qFHfuDn3CT(IXu5B`B1xAY7n>hA*c+?KB9n3496q*>9N;Q44m4FbAn^5AQ@(6x>Sst^$b;5YknGq zwIROM$NRB9LIf1VyqBw(l_6aQ_~f?Pr`D+bvc@sl%g<%h2dn<%ky#H`XGkdpKhlRefr5;?$@L^D z?0yzl21`M`QNbi+#~baJrXSF0lIV|#7_y0%_zu_UycAZx+(E~7s4D0#n{4Nl4PtXX zCZ|y4j&({4SmDSDq$Y6_)%+^c9LXqb%yCCrmOAxVZ*^_1Mm+<|hx0~2JJkZGfNRg(V@Sk`-otO0Bf(>t&v2zIQ&EX0ygY>m*x<2*z@As{$ zRKDYS6KiU6vd#bFG?4WW&exl{RNpr_<#lsy_d~OOnAD?D+jH&nR`-IddsrUP?Dntm z0&NEP?BZ6g)h!a^kbq^)Ce|DBZQm)e@e7nVlES8fMq(3UbErcbN|l-xL;TSe&@6J7 zSvC_E^*KXw{Q)r{4sUW7SLkNxTg4(%#+Q*SWCf%+)HkQhEv$D-@oA%^6gafy>-rsD zqfJJO`$_c-Y11d5LrP(T+a_~r+)-`{J}Mm&JT3#CVgt$?zo5`7#J99|cciS}C#;Rw zUt_bJU+~?*+mzJ z0o(BOB-zOV88Lya812bnZvp@vQbIl}g+9tgR@lhP+{2YRBR#s7pBCU)k#)za_|Z5* zJ;+nr*{k`C)&r+v?ECfpS>1!WdTG_Y%&XNyD+S5*Gxx@WRfm|4ZIm34(jwMvJj)y& zLxy~o3#3O#&hQ-w%v|60)|z)5XgXs3%+>w7vh{G@YjIPjA!y9~H8A~z0IW=e*u5_! zVrVP=)v?DD*%3VkoFv!jy+D_MH@SnW^mwbL8xZ5zbyFq`0<|%?7!FEF z)Qkvh>qjHe+G>p2`X9e{f{jD<5&{$@B4I|ZipLT@DFq&n=>xR!fgK#r*H{n}o;0P- z58iCAuWhFNr$a$YZj=wQ0}r9g5Ba_(1Z4QE63_<=?W_Y#99$eAA(9*U0Ne3#i140{#UE7$%P}mb%>OdESUUU>1y?Bf&Q;gOBRC(0o8V0i@x$0pCkVQAZV z4r!C=HlAe@1u;WD$N5AkIROFLI#@rC+MZ1sPh(SX=}5LC!T;SCs}}|gdL|nFZpl-NHmshIGhr_=H?eMjvIC?cB>78j=A+u+^uE&00U3=J;0Tq}C}5QN*^E z^U28wEq|jVz7}H#6Pr;A5l)fI8L)!K243Y>cB_#H?33GksE!TD!K)UPfI}I(?1LAm z9Xcy(OODM)3acC=H}P(kNeBpdgkPy?V(8*ovBlCcnnrLOXK-Y;%9s(#g`B}MK0P9y z;Ze=4B&%`UJu;i`oDN7kYKOy0C{T(|kBxE_@1}=~Lx=D2gbo0M(AAM9*kp(_dDQaQ zlRtHAC8EzVJqEU~f@^!dy!|%L+^Mc&at#q%V=YLSC8ogPXZk2@6o;7ia1CuqFm?D~ zEKoSuvt3bAn+8z^L|nzk=n()j{E&w=x9lvFQOm6}jcq8QqiRw{K_J)hNp=z-%<^L% zQJ;`L;2|U^5wXq4RUvkn@-kzU6ClKday6fz2jtA~G@lhouPza`)i~Gr1S|!Td`}Gy0RN^ zHQ7uKyU$s26$O1#=6Q{8v7(Wc`}A#>4#!gEWpr@|OLeRY%*LxT>;I7`MjV;U2DC9< zxsKx~0FQug^9!A^;t^GbtDIhw&T-QJ*9v)BV{X}@UtZ*D(VS^;Z1XhOm;9ukT-SCKU z@yUr;W=^i+gX{);y8MjqYetuZgb1@e)FGIrCY2)uC_@6dhL5oeADH1s+^??fO68IQ zF%`F`4(u}{W!$=y76n6mxmrHPDj^9Tzvcn$Ym36NCCiaH^49@pY>v#~(Bs{50}(MH z5iz&$qDJ(IXpICvWQ`4T+)N%brQq{&2?JbKnByhxrKfF%B)EhaQFL!~XX@cob+66+ zE^AVb4Qbu6&m-%jtTB}z^{aD7cW1o;`s!BaxEZjmGvY~Y)n71=pzP*ME)%3r3y%c% zXdrdO*f_8LV9BDb-;iuQB`x-^#YkjDAPOAX?B-Y6VTK+;WYHPbs81_12rh-yvi+ER z385fnj$Lfy6`ds`v2g5)XIwwa`dU^u$F;2p2ROtSXi>q7xU?AH*?t&hKvf>Ha>_!m zprDU)At^%23~#WNMKvv7D<`q;oRyjP1GVu8Z39C>svA2A*J8>~3Y?KL8Ms_7XR^uwVGB=jzxo91v~hUz$Vct)nsGUDn+fr3 z3A@j%T*n7lB4r0>GHdg=GO8Z#`G}PpFm1k+eN~i%kI0qsIk`yAlaeIwtV4PHI{2sh zx;_pr83jIy@RUAEL{82MAK*IXWd)bEt+1o!{t2`t(L(@?uA9 z+WoCN{V7Tthn$QvxR?Ph1;_9bTUpWBnzYa)_<9;XqXg3Dl-?EXEm?59#VupZk)p$KZs{nY^*0WWftod%b8-CQ@UaP_w zBT6$vLWYoW4^OCz&yWEFOM;kI3MlWg!F>f}xMX}>t|BKRr^72e$R9PNps=a0N_eS4 z35?q)L6no>5E>dXIVm0?Kjb$Wl9AYrwJwnhP2_K4T>#`9xr9ED(B&1r!*=ajutFK% zHTfX>lJVQ0VXls-W8be|Qwn^99HS_bGK0r%w#fCon;sb*BJSWBRU%UAFve-Y==cOG z$eCe)het|I#D$z-=jdr9*?QmN8@H@7yGNc8h%+aSS*K-oD@ky@a zSjk42-qNN4_RLpxKF7EVW8Tr|(u8Czv&?RGGbF)iOdX1f&4G=O`M(Z}s@J9r3@){6 zPQ(-XAQ3Gh1{}{-EXbm*&?dBr8%I7gi1NxwPAGdi!Pn$NEYTvP%MW-|jmBGQ6%(5Z zMulzpSs(<&%*d6zp8+l*E52`w3RgrQnAn=`OlNsLiY2|&c*xeo}Gc4;}JVyru z6aF+8NFZYC#|d5gG{1B2-}7Xc?^-f)Tt3BnNXZHC z*v3=p6C$)mezB3RacX{YISz(uWV+M|IiHe?ES{syYuv>y^$~_vc+Vt~n^mZBZ_A{< z93Qc=5<^a41B%Z8mwR|pXYlcCgS>K5ln8toZ8auO;~>PGEnlLCgUdXBo?rNrANz3 zIC{kRatWuiM2^zsX&zvxzLf-7Zz7(5O;)T|)c*))zirJ6TFPC%PQ-YZ|Rat8$k_w$?vqku=(JYxN8Ba55jlai8?^EtVI9ATAt zUgB2z>Jd_q&?HWm)q|V?{ zDY==Z-NFhUV#)AF?eLhrPjVp7OtS*9zIl6pT~@A~Ar3vZ$d}nnAE8UYz5G(uc6BO7 zJ69F6)KgUfxoyT|DpLc_lJoG$=+a^rx3EJ?Nw;+B{g;XF1;HsSXapP<mInVefPXR(eD%(DQJG(v?zOH462PGnJrB36wK^$jh0U zQ3`w)qkPj7`UqW=h~2!4>zJ3J6+?IIs1$aT>rczUzhcvv)3r>e44;TTpMdBg8o5%-duh|9%%n%#g)mnV2gQ+3Jhs8oG#CaeA9wjL8NO~Gv${a=t0kZ_FLgvTlYT~hAi z8SRcb9+oTMWRju^-qm*Aaz;Y>%Gq*0tGMJW@G7^mtS}@ZAg-;}bqIPB2q$Cj_0F{M z?CyGn_LYrZu%1rLMppGsevd~BmnA;U1qh~(jap<$NcIj7gV&FZ14zv(XKY`5O^4ii zQdJ}L)HdhVeR%zmVw3Z6JzQ0Dj7y)>nfR;nZ*p2>4B0H#ay+}pXyb4vFKVU7T&Iq#~mR&eaCpd^XQ_e$KA*aJm?%)k=S%0|<&ZO31u;j8hVKvT;!i zv27-lj$Fa}S;e%luEvwoL{l)l5yq3Y!}4HjE>5(^4E5(*q5R!OV|pc31SeiAusep=Er z_sxAg9OJ>nHJflDCL|>!WQKr{hyWu2o)hv@eZcmqS>%0O&y1MbRgB*ly~A~t^>^_w zGOaOzd__J$LO_ns5BZ+vbV%{ZaOvUMgi3ig%B`VCK%bUe%gOA<2R869KT?;}2ASq5 zjz>MU>Xp9gnoWMKOG-z+C?~TBC=2|Odo{r$9?SF|nW0p9=B1TDKgYryh2!NaBHPQ) z=T2VGfFW~)tk9HLT8qM59#czplbkD`XFKzxwD|*fvr9KIpigL}ze{2Bw^s3Q*07G+ zp|rx*=2J|ofL;0!&oWO=Ld@BmhtB{Zq)$L%Uv=a@D@UT$pYA;~#-~}CMr<>{!y%(@ zVeLxs4!etoh6#LNwzm;(R`CrLL2y}Svs}+H^zbQYaSu;v*#p;vI2p|%#W>H}sAMNN z#GE2m;qwL#8~HPLv0dj#aI7qoW2M%`@>Wy&IF?*tz4l_%jmD!OXD17C6AScl@ab|V zztxZo2c>1nlr^mi@>&pOmUs{0({cgIfQ$uR(g5`XS9u(V|f^2 zw~LI0HnIRs~;vxP~=Sdk5G2H7$JPBtkCqoZUE|W9Z zK}0~vPk9JcpFS=v60`>EIckT_>ayN-Xiwektt4J5vGVF~D+rtcW0|Z>M2t_YKjw8d z5CgFlmZ<)=eBbI^sw1wy4Wx8{hqn2wN5-PQsK3@<>uajop-o1>kM%+3C@ARjKCWd! z2KGrg{G0`u_^QCMz`K-!>v8gZ)%$ip``O3EOKe3xK%QH3Y&j7 z4rO!j*7IXg0;)0saum}f(r3V&e4WkgVip+iI6u_@k5y!pVXyAS_z`8ynG0AZ!m%w~ zza(d|lK~+izvN*uZP6!SV5#m$Rfi6}HCaogl?dN*epjNN&1y=;vS9R8PQ(grV!fBA z>5||8$Kau(%9gTrj{WULg-@nFn(T>yJ`N5q>bLZt@z43U{0shX{7dfCR~7xCexG?V zl$>{SImgNpz6}WcM&jY{awg07%5d=T84v<(xsDI8M8S|_`7V#D;W#CD_{5gYRKC7U zco`kPA)#E&Nvv3^>{C3fxrXEn@$nhbw!P^pY3=4XJGOf7k>PL!pI|%lZ07{tYXMD0 zN3c07*Yg@W-KyuS%2*epJ)*@5C&c zUqnPq%4u?`Rkhj3t9+AP8WNM*$iI}VI9NBK$~ES=tgstHO0WOL`n6JCRji|AWIP;l ze4x(;`6?&!CK(&;M(+`Th4z)EYaYFVr(}fmtukDJ$Hj6geFUElPw*&1ouzLXaU4}0 zdK;}Sfn9N>>eAnpRgRSjzWa0;>K#1KJW#O2d3=I?En_-u!Jh>Cz1>eu*@>yjCkZYQ zJ^gq3FWJVcB;;i5;&J|gzvnJ~W;0R=$8!b8$Zom}@o_PY8k*yKcs7}O{m;~q4T!HG zrX|<#adt3AOot!ysG6EpOhzxWZ|lW@J^?`pgg$vB-Pm zM*Rm?aflGMlIuss#j_~jQuRs4E?+2ECBVZaUdwp9udZw#XOn_Ldr;&Kv!K{2;|Be+3V2-;`Jyncs{o2>o z6x%5Ko+NY_;*!{w%U`6$KQc?s27W}wWg`b78)a*b+M%>kPptlvDu__Z{!-H=S?d)? zB_JavWT;#DgY7?*aTezh$&hRmO4Ol&buP^KS-jm=DXkeRD0of(Km4AM<1IukU=HZ< z8=mI_%;2)jySSQpS;Z&CC!yqkRwI6RW_A?-oA)-0uWL1d5)u~VGKD9Zr^O6Eq|l2+ zNNgi**9Ma1n(2-@jAcZu5^)1td4UcATlg-yehx=^`1Y!sau;>1xe3sHazcDkR*2*> z0zHWj$#xyACcd^=KE^#R>91(*MAKE-pjvAk$NA-?6>5o2Z^v zv08|NM<1Va#M1}ZNXi_4;5Kg5mgs0zRm+E6za#h8ZbE3gFAlhaKhUB_#3E;Lu?%d} zT@RO8dbqS2iN~Y&_3gC!n!6`6aBqj02tDp1*N@SX1fQW5V5$fURkQih14xKS8PYE7{<1FE439 z+}MCB8g$trR8c}aTw*fd({ed6h64U3x3EJ)0%YVMmZj6T&X+R5SoO&C@%f;otYuYbG^lOo}69sM~m+fC!fr&ft7J=~3WQ z&#+Ctdi?9R-?rupytcJ=i}JIwDEX=7swC>gjNi_icqQ} zS5%rD2cHy=f|S$cQXnR!!yDYs)BJ1xj#pU1N6AQdj&JiXd0w@41&&%QyjX271N!h# zh8!m)z7>=Fv|LHdDju`E%B?JFWL4)Jn-!&Y zgtdjB_jC&lFfkux+hYdA#ALM$es%oyYic8AvCumY11<0^?`uxJ!7(h_`||)l(-0TK z3QGw`4qF+$Pg}HfGOXzU zR6S}+P0UK7oW^V}`y!+my)dIJ717f>`86AG7_h>*oR23t(6Tx*wKT(+uG9)b3*`=;)waFP!gdmAws4-d!aAc6$yA=sl8fn)le54dxrLtk zqm|yFNr|~=g+H4YXUjJS7^XjWTF=E#Ku1a83 zoI@jz<=eVois|!aR!nD9FUEEt6iRgfQ<2JezubVw0A-#5Tlu}V@Nsc*@dyYB38s96 z_BS3LJ`mY8z~j*O605Ghjzv~jqLr_>{0NP=g5SQFtmqq$T9{(MS# zH-l>HbBbI>N9xi=4yrB=#u?d^&`CssPJ|?HhKau~McdeQg`23`f}SYP>vrhIHg=`G8FxZRRn) zt3FB1!Sl(^SdB0qT!+?x{g!_0wcj<23t-ExW?$GVJU3ZRs>=^yOU3cmZeM1-ZHO=rw zeE<*dD4LXNX!TgjBzTNRpB5gF;aSLH#eqGz=deGkdu~Hrqcq$nQRBs!;CK8^Pnt<_Zq$vkXv3(oDpeI(n?Q>7u#~@@W;Fa#T$|sVkuU2l>>{FI19!5d7sxU(EzE;q zs&X5tFelD+?g> z*d*8MT`V$3MxR@_K|drbwC!K-?=xgvwR5G=hu8vid77AObw+v?cv4l!nrC(}6M^Gu zpwmS}>TH625q&@0R`RN`ty)a0lZcE0-`>f$+L@~yhn#>R4n7VEU1IL#X^urmS>}As zmlTH?V&rXTr*P!i{x?h*_XC?UOXG914pUPUpAGzpd3yM4qtG)X#WYinY9eRlk;H<( zQ;X_x`Jh~<_pwX|mmas%X(Tu%*R*l*CzBStTu&7fvK(rTRoUX(oQt`p7y;Y;$b=cW zK2C?6lzxCNF)0CyY?LqSx7f`L z5gGRo>Bl6oYixiL)%v{Ek5Hd&j!m1LB7r{0PMfANQdQn)b@Uj};x+DIi_Xe;&^Njn zYA>V9fE6~#*VsT0pPUZ&@pGL4hBhxbexWALFTWD2|8|;OOh!(`3~%r)cIb?S+7zP( zg_9ZLqZ}L~;a=FntO9*D$xR%?5^ZvX$N0Ghm<*@i2t8#l$1MRpsU_sY7x^r^$WUf@ ziu=?jWR-{v2N_8zPeM?R+Tpc2&N~D`2EZy^GQEpu*^EQXDxc+in~{MQ13ILQ;~WW3 zR|$bCA+9f4jinhbAd(eaLb|l+bCP@(#Ui>#Nu`MliK7 z2f@Y1p|BfJ{cn#1%TX%)f``k1_sO-)u#=27%3VCK8;OZYYrrqqw~D4mi-gYhI~{mWQJut971}m(jR>cYG03kKVV4A zDzHMIaxNW?5v-eofprUo#f*6<_wom;Ub{+YUzLvlcn5CN`P%z-_BjbKM}|wnZiE~| zY)M9CfwhV%ic4%6|IlNLe1%P{;1JQ}cAnI>MNOm@p;5A>D&Bb${+!XqXdj=<$-Ie= zTKt8Qf^ElZG|uPv6))h?nifc)u$90EKjYh zXO-@rXA5JWk;~{4lQPR2e2W$JNGwdSM5!NoMCp-dWk%j?9Y#NBUcSs`b|P#ho#&Y$!C}A|Tr7^HxP+u6wsU)(6|w$ZU7@hxD-#5yERm9v@nr__5|%GIm;4%C|YX(+J*8d4)P_RqUub_+-Qswi=is)|K58b^PtJwda6Z zNL^tWcxDTa*v`A;db$WoNWxt_tsS~3VWW1m_t|4u8iwn7mRv|oLdFb#<}O~-nNfzc z&L=ojJez57%kldqqn-Qhe=^GRnoO>`)0?q|eVMi?4D*nl z-ox*iVE_y{i%Uc#r=Wwg;Ryb8IXO<;=99pz#(O%=DMMR4h(dZ{35i^8_H?yBm`nO`^ zVB-u^uXS*V8PX!-UVV}oG8__4qb0?t|Ixv&mrXtod+(Q*;gB*Q!ez+)>`)Jvi~((% zs8H5sbE-|T4w)ffJIBjS%(Dsz5fAXBh88^ST0Z6URiRV>a2Sl#YIlwjC9&-(rgn8O zzKBQ0^TZVNrd6bh5jkr}#4;W|HporP(<7im#-lu^o@FCc>O*z+y{_J#0WF4{Dp!!= z(qj{^^G%kuYqjEX6Z1Q zPznpwO!y*a(*ssn;2G{A*9g=3L@b%}s2zS=E6b{cD2dIu-N|o=2#MIi=eSs6Tg!}z zaOm6nw?7<RtE$9PnY7?49sYYGG`wa$MZA)zZ*@ljG@h8)Yo{D6WMh0UOk15NgA#cc`z zCARwH+Fio2+fHJ~yFN$Pe_s{D2x4Ym7T?ohOX&uyuDWHR*Id2J`o-*%YQL> z?B-SOeg4(Om5roG3M6!h^=_Uc#3f`m=kf(HjlcskgckkL`yI8nZhO90V)0FTl0zy< zA?4q$upr-HGdswMfctn#Ln8c|=>VcC*MX`?137^cj$lky=0caO=aG1Q)dFu&np#FW3Mi#C(Fw#Id>tC8)Um>ivJ_ z_tq|D@2LzI;RHgK$eHEOY-5+2+G09Ut(;~NSiQ`Yc^2u&->{h_yITwf?wc`^yQh(pS$4!!^vYCBK{iA*Mq>p8?0o&3X&F z=+b4GTe(T!FD{wYeyb>4O{r!@iBN_(z!{S3gLLSzfxmDoU)2Q}P-TCMZTb54ck?_ONSWma6#4}*YGX6>h%BI5s8-s2sXkN< z!wtAF19dI8Qi-)KncWKt>UE7`;y8!j_N*CI>NS;)SOPdCWE>|q=xyv~0cDB%Q9VOe zsoFyqdp$ZBs=G^qgW_%=`H}!QsEJlVr!)Wd8+qgB~q4HUBBKia*+{$m6N9mJu4i`#c zgEh0_MmBA5)LS`F8wUheY4wT?RcU1k%@wQ3s4{A(t8A2O^fq=8vcMZWK%^&0*^XQ( zYVYDuSg{fxkAxu(0Wt5FZ|JMFR9tzl$M1K&$DcVrhm2z}+H;5gIjWSHjX&U%0xc2- zv{}{f@-$r(CFKk*z-N^JhurFw9?1SUu2Wh6`C8vinopk(%GG)gipwVc!mV7Z$4ImC zuS|~*49vH%s5ZePW20QJx3iOiE`7Ff6(3flu%UF*f2vAO)a1-1|nj%$c_3fmYAVM!QEV{pAsX&E29lmMyOD+?wVtX zZHAEiX^Hf1Jd`?sdF_u%=W0h*Xw@=l^%_EM1++aJ z26W|my`A3?;xNlkQT>8=7GjpYg<51YE2t!NN%VQ1Wf#i~d6D<>A)S+gWFjC~?eE|GIFnDLUL}`-!e-NnYeN0)?q80u+K22XXapi?{U0NUf)~8n4EdLn`?83((=Wd?UmX&SI z5Q{`?mip9AssadbQBIM|tpMdFcJpm^Xhdr9oB7cy$Ar~$yd})Zh`+8fD_>&^eG0(i zLHlj$}VydpJo*$r^~N-K!t#mke z#LSV5x;vHKYjWEY#f+F)9aeGW2Hwj61zP-sA8BE0Ee1m75!VR%d!7f54baS%YoyM9 zrvHNfE6#(v_MZHuzvW zgv=6WcmP{WBqENS`4Cdh}SO$B=lm*Y2GobfBYOuDC9Rg{~PMPhTJ4 zSInTe?BaATA{2)R)9p34HS$SoK0i%_+2mhVUsqRJ_T@9?jMBi|mh1hj$GLfh@rEJvoloXF8Hp$mHhMjnX1l+}w+Oknf)vBqyNA(XZNPS31 z3$?9(5(+$00>oAtePTi!Tv{Z^-d9es+E+u`#I)oq`fV2JAcSnC(2v_3T|q$7far~D z@fDU!b&BNrATAyqwsR*}=zC=eY#XklHr>i{WMLZ}2c)D#a9vQVjy#D!e1p(q&< ziB09Kcgg+nET@q&FbS&wCE-}PS--<>B4*jnEnKIk$Rf%tJtBrR@Xt8ts5ypZ20O#! zG|BXPjod@yN!_@>&T~cjwA@`@IQiu2yqyNocl@3wBs&-l7Q+!Hd%i}QIxgl+a zHC@Q{fea}VyQvKc3lh4xY}al4fdw3L9_HP;Q3}F_ik|G#6{vM83ko{)X_M&fyvPQG zAxoUYMKZKW;HtiG)b_`kn$D9onx#arX(Z;nCA2bE!Di6rS9YYp=~DNvEx^Es7x)x)^Pi}EZey{(EE6fE>O_t zT+XK>D;C;6t_@lr)vB?y`P?6tmr42hWR|nIFNp>ZpMl*e&JbVkV;LdjFKpvlJw{gX zM+Bm*!6dD}Z#92RU(KA|bmi;%EnZ`moOvE1*U!qLZI&z+15lTrDAxNgD>vzXVwH{b3Al%$eo73D*`UiOG1--# zAD9g1nd0h$q=ZDg&K=yO8)TI^h9eNfQ7f&kGg97Wg9J6d+ax#Xt^A2&fgSvSmVQji zS2)BCXL6hvC=&}nS+(#`xlltMBcja)o+Q)@5$V$+u{v-mfo*4Z)DERJmm}A@6{U#8 zQ19kxjwK@_;j^5F&>|tkVUf12OqC$8<_tJ8o-~KtN)kH^S&*ys-&!5I=lM5$h>Z;S zJulHEC*m)h$4TN*f?SV`oN<-GD{THv2;~~x#&c|9g)RJ$fqqF$Up@n8beUy^fXane ziwkJeV@AHLckmnLaq00ip?+Rmo3{&Cp+gS)5Jr`tVj-c;P;cQ;T0{&GRxtCi&9Mx) zmsP%@U5Q64z1iZ|y5jX^r2|xQKg();%&~HV-oXkz+f@ktxTLJ&(q|JJ&uss?9* zQsrzBeF&vX!k-z8s!vHH>$<;Ju%~w~kLj{P7vVJu{iNi!+f2mJ&Z)_r;qAUJsTJDC z_AhgB*r9jx3bO?Ci8-GQ5-=ogWYZ_1i_^@pObDNhl!z65kl)j_5+G;uc`?spM9dQN zc3nAY`)=cRpsXEDYY44Y6Vza!yb)Y8(UuHsAYDG2lU2tO%x z=U>4ivbqr|4lzDThaMlcT`l+O2diCNLyHYu<#_og`uFT)BP$4x;^`^U!>ITrV=-^l zs<%{N$?(ZIT~xPG5HZ7Fc$n*nh$$v=$VZB^cj#;q8CuvZipgE?V3T}VxAHPwj%UE# zpr=ZYmhC@Nw`mi3oB@&BEd?UEfMtD_4mq3n83Vqgq2!3|T9xlhLG!2`pw)?xU|hYN zh?Ihmf!@O}Ie{FHU7X1!QZT^BvkrBA22>1;`uFSm`Kqegj&*T|oGw@BT`W-Gu*gp= zY`9H;&+DAbbvO)htWfuQaR}G4IhdhJWX$k$9KAq73yk(qhD0Oq zZh3D_tI`&W%*YMgrZ3QCmYDB>o-blqKp}~hx!C*on3`rnfzMBPm<_}@tTM+Zm|?(g zSw&Db@;LA2QoA~oZq2l7-P2DF|HxP0m+)yU=S=Z%*v)(8TK#)6x;XUMMxgH#57+Vx z>TckkuFyQiE$g_SA&x%6Djj@|v8spe2#VXRr_?J>MeXZ-d463B-L9nbw~zo!Jcy?! zi)n5V*H~ZcOZ3Sk7Sw|2TnYkq>YexR|rWrH@ZSX!X0waofA4v{43Djc=&; z@eIdMP|)X0E|Y{lT?_73Y0D@ zcyw5z&8d>=_waF;<5lkBdfhBTTylIHU92^4s{2t`knRe{%e8tNud{$KtiWj zUuIk=)9ouq*vuje@@4%8wxc*i+==L^G9*O^Z41`P2gdwcu>-Jw7g*5P5RZ(jB+zH^ zh?(Kn1YDrAvS_O!W@4{*NA*azDw}OaI>$q-e%nyD@d67BPzIdO`O?F+k_0(n16Wl7 zD#kUC*0+@loLTNnzon}Q`6g`^@J1Eyl!Dj!C|~D9iEa94+zxlHaNn=7eveZen{e9A zX1QE*o?`}=S)M}mi{dl1;j~YsjaM-X+GNBmutLOj+|9Gh;j)Pzk?R+v!)`)6`uM~I zdvy~aLonj&f6;A(B*0G2;0lgKDA>tE{E#^uTpr+)`hH39F`T~j5XkNc*gP!=s-z)| zVD4siaGd>c^DTwWib8ISeJ*^6+iDpL05pAz%yBW(N4Iasi*0A>h-ag=xp>*VfLXwr|#~8VKVxgr+%` z*;;~_9b9&?T{lTqlf$0m$S``1Z;w!*bm%iDH|uTuo-G8d@DPE1%)&rZA}c{qSF|jT zDU_PAYuk7j)r9399y6;mwr^rUu6Obr$Fsr=Z*nGI6vOD8W!d&Zn*LmjbD~OSrPk*B zxb)3<7z-&8xmCB+2E%{)xVW|^mEzGMCFg7jbQ=L37I>MvxmIT-w;|4?TI2Y&cog^~ zD9Q}G*eo~dx7kHRmmv@0>&K-4I;`S0YFyt|wrRj8g>|S4mT?#|CpYQs{Dm3X1l)z{r=&-)Mi|wsP1T8o z*wXrt(89wmlSH3o136uOPQgVwCo8nADEr&*CjIr8jFvz%7ZSab=UA|)^0WAynC?C< z2|ghv2UXIvjn%VxN5<3TP-5SWl)FnpAXjm`Zsqs5M5MSRxU{*HFL9g<5lf(-l;2*D zRu`}}=j&78k}$&}UAa=>MIwZNC-L99%wcF`}ZD5XP?lhUGxM@lG{YsPQb$dERV zCD^bTGnVxA?ok?X0FQrM1Q zGOE9nXInLA-TU)Zzs{zN&f%FK+2{!|$2tb>-p3L%Y~(Ne1An8lG9bWf zaM~sVLL;kX1k4M&8Z5I#zM|je4d(C=?ndoG720#&g1v|h&hZf zPin(T!jy@GuZo2WA3*~oQXWwYF@|G*+!a4EQ*OY~Eckl9Wp)lh4#TxN#Z zC&yzz!8|F39;VuozRfS!Z_81GCKA`+Gd-I{%<*wiR#}ki^)_C|$EV9y3O!92<1p#i zQFUy~Gz&^Vf{+t2q#)u-BA%v;(B(-AF4vCqZRWBJ)sEVsvP$WwN<De$VL); zQcmY$F~3&^_O6HxFq+W7>ZpeYdT^juUrIF>7ED@p`#DoSq%ZRnuc8zj!~6Lp#|R85 z*PUWbU8415;~i22*R~xFhzS_dk!$rf{zyQ^ERW&pxf0Q*T^p0K-jG|Fgi66Llxw(C zf5Qw)mmg5*1ybr^87%wWStJe_9z%VR5RZgeu4RMdo?-y-34+fGo8$)l z7H<*|G2~%#Jyjsa9qo_h|0TQ+$|kIp@WSNh_*K$4qeH*H3IRE$-TIJ-fj+=f97B$> zi*xxruJo;dSU?55tGvI061a!G=2C9LoP9>6?<}?t(^_{=fi{ao`0OSnAhSuL$x$jT zBfuxY#U~~wAfd;ZqIy3u9&L8>EiTvh$$%kI%@>+11(>^%QQ$LR#scw{*NsFK37w{uGv>^4Fy7kW3h%tA89ZOqxMCo=ul40J(r%}9;=r$ z-BIQ(!Lw!5fS3((1DovkbKK9<>Q3ZKtE+5YbM+fjcl0P25)d-Pm&-VfWpW&5_!Zk2 zXoTP+2TZ+PZ{xiFtPGDT)vcI_zTU_0@KGXma2A(}Yb83txPR%0BQ&ipus0Ffebo#* zn6{Q1TAoSSX~{64au(!N`5XCP^S|Q1=AZB-IYBZ~9J?@kBjKC%Z53dlyu+p@Y#Ju2 z$%V@eypJU|kkH`={7_S7>60)CPcsq^1429l^uXmBPGS*z4 z%lu7?KD!ZIdVGRoh*7#^7|zz5oK8%Kgx&OP{cy4e(p%5ft_7g0A8~pLuHxsGuEU;= zrMB8%)Le0;po`CL-YZ{ao<)rNv6bIzP?OUgKjZPVl`#Vx2~Z*i#1te9$Wd}~GE!1f zGEy@8@18#Q_BZu^3vv=x3FJh%mbMihc6o^3XcrKA1XJ(M+Zi-u_&^`%uuE^}C1xmS zGvH!Q6_1>d#4;Czx^%$4KKrH>_IBHO&0~o#a6X0ft(<&rkLEBWm~i5b+McZr3^U(X zGTGCf8^eRj$Qg1L7tu$^*u)ELW2j}ItP{RW<#m?(USZcqC8WnDxtUEY;}arm_>+-Ej*Om3ei`iUf-Qd4(1X*E*+lbarLb*d(pV-O$!;4U^q!3FrbUD%4zaN zVq$~^UgKf@tUke%lvR}|D$m2Q<(i?rqL4nD{Ckw|o^}GCUl+g6w5_j4v6vZPpvI$|m_b^XwqR!RJ<< z(-uRj)`AsCqTWNmh;wI%WnVd@luWF8;kVlM%JN%b<4uRm1{4le^xT|a<=OAua!Q4! zvZPz(>(`$nrZ!>*lZkU}Pj`>R_LVYC!aN?}arH-Av|B4)*RQOZ!7Dp;nB(RYg!FOc z5>93Xmw*mW@enI&9F9p$|Ne|wQ;)Fz)4v`YUw$X&v)YbeDK0*JW?0obc!pVglwEw5 zi=-eUv?J$@%Io!>D%FAqSpA;Ko*X3*sQm5QRnO7dymTxWII$}Lwq`RVCdZey1mZ}K zz6~VuM)hj^sOtr8R-IFQGpbh!OVVyZOiQljB>qAhpE(}myBgCONzCRWinL?@bw_I% zC>^6e2#PRr8-L4m$T(URwz(5@FKUdOC$R_!@F;KAEozL0<@~2x6N)AM(%C>{fSh^OcvIPBysE)^uM?f4Z;zC26gqn9m+ za|RUT3~1r;s{T~B>3`I}*KPWwE^3QtG`5-TLFhJ)4la?rnVr*#ZQi&$O%4|gJptMLy@vXv9 zVjBWiuHXK;Ty2N%fQc~I@DBfD? zebv~P$B$U0E0=1ApAizVk;j?g^9LR ze1=OU9p#aRHm6*N^^CX8YraQ5+Kx(lln3HR9^hHbPeT+~)Cm}Ju z&G_q-O{s*pl$|+D)-a(36e?m+;w57C( z$=Sdk^bs!PJ+g{RMu3sV!2Vyo(j2Gc6ks!}$I5kjH>;%h$J&n*~QhIE^6VeRU+!GSlQCrG?f6C_cANX7(w*nZA&E` zS+=M7o?B@uAwvl%2g7QvF58wHNNs0cj%&|%=4x`%1_xv&-w{wXS`AN4A+-lZR_b%$wxP97m5Kb8KWAkE_ps7N$RRTDzOmYkB2wON$Y@44IX4 zIUOa#$K}rmp;a?F7`EQ(1c%$I{8Cf;!z|^=C_pk;{uelwgoqW+(0+ZH9zg&U+aU(`6IimE5G9o zUe=a{#yM69xn&t~jx*0}XZtEOELSTIk2Zz=HU)^83<#fr&h{ba!X{qkZg%M`KD$SIQxi5gj_Jq%4+v5EY?d3CqlZI8&UblI zyQ2h>j&&&-KjyU0=HFG-(5BMv!L(*c!t?^%K%w{Quh~F~u*&ItQ5>|^Okr(HY?n3x z2K4awt^RYq#co<0!|`lj3mbTef5X3JNqtPmCzHtZM^|oMpOev%8+bp<2yHwb<#81Y z#m_BHLK`2|8f9$2G4vVI!6V~S@tiA-3%NObd)VS&?SAcl67Rb z_GS_oZ6TM8RW{4@yqi^0GTJ=M6WSrcC8I^$c)a&zvp2w&fE8Nu1x{c5@oO~UKyD15V}xcKDcgv5F;FW9W!F3#aniE;2*qDz382~~(ZJ@30knsT~#MbVq?eH76aLQO;@c9x?{Z@(X^A52W;PSwZ2?y)$FB(;H}`_- zc@l((0Vm4;n1DCwP%z+ro>$`#dQ9hG?d>kt-$xJdWBSOIJY}QfS>VxPg)Q=BPGk|6 z5ZKD^)O4f?a7LpxjutuC4M(f9uEIUnx-$hKiq8)HPrSm3zz~N^__PR1gd>f&H- zO-9aB={Om(x&eA+Z{dhXt!^$od;$t0VtjlGJPLXi*jlOGHB)?L-=d5G=gUPbBcw$9 zj{DfHjunAf3uIUILvn4vk<-Gb$DDkFW7ti?MiL(8XDS4^_Po-ur*~iGl&tx4omfc@ z-0CZ{*m}&8KFBkKB(zxKGn`9AN=}F2UeDiPPz>zSp~Lg~-}7hQL&T6iud_m*gcir~ zH2<1cw1bjZoLD#lPFFzuK5e;<6IsU4fPTQQ6*60`_iS8H=d3nY^vI@mgaoC}C*?{6 zC1ZwHxr^5|z`*Kj;5czD3~cv4+b zJeFuvryB0d`1rOq5dl71C=g;Rx$W1oFjesRR+o#v_Nr8A+IRv?qrIG*h@Rfd^R#I( zWQnu5R1CI1A)+9$jt`WJn=s8KY%V;GtudF~-%84*GvZaey*8cnt0UK^$pqQ^igToy z31S=^B9@qu%lIe*QZnZGM;_6F7ReYat)7a?Nl_epQo3>(A7q&h84-{1u$m@~8G?sH zzoxOIqfJ9>zqm*~YEcF*xACk7M6_rz&mZ)EAVwMD@CgE9${_B*ZThNE2dg$2Jk5Q; za36BZ`BYMt$bflX<2GK_h>VOO9qTraXU1j3Cai=&a#lD|ZelaLaoI%7HeOT@8PiDJ zx4mSXhCi*Mw7=uk46N$)8go|+oYAMxF>*OuSO!|O_%_d~H)`%#K3~(%wj7^>v12wJ zq1-;n$^Zyi)$i~oU6yf3xro!n+=l=m9Sd~#-*WqYo@HWJTnTU(9E7X;>oxR*{gt>?&>*hNajMqcDQ^fY8>UsX`7@mj^KZ-x(<6X7vni(JcQ z5>{#9a2GGASZSXj;n+N?2Y737q{gKiCjHLx7zfk4ECFQ+Gd#;r*a)=P!P#6O9a$y< z@(InnN%I(52!BSKMg0~pv5`InLuU8{@55sihZTf4Chf$PLm65WoeFAxt%2iDD1vgU+t$MSB91o zYhZ;dY?PbX%mAT9o2~ppLsBxk$2m0=j+t4G<)#lv2nopW@F`UUveCQl_g?3YNPLB* z?zUKDlYEse^l|CZ8(rGILW8DNGfITM(aDdP!DWX&rrY!(y<2~!Lp6*Dt>vNL%2YkL z`L)Au2CQe$o`!ZTaOT}c70x=Q0Z>x`)RfIWE zjhZ8M><^|jm)gn+axKg*Ames^#SAV9Dd%vZWc2Xu-xviGTK9BMKd)Doax0o+^aej7HgPB=Cy^4RTyRLh3Ma@_%rmrn-K{*Qk(EuVMsHtM*y+#b!LxCKcbNz?pwF1& zVAeWBH2m{hE71I;u3rZKk{$5g}>w5{NMRMuuXSqyLOZ^ysO8z`?fWWKa7*#tzRpwo8wu{83&gkF>`Vw zC$d6tRQsw{3aVm3@ z?<6ZXCKC>H8Q>5T$(Q9Lyv{sA$oKgPF(DqqniEld6_FBHAhyQ}kzC0qN$3;M;m16P zi?TQ|f9e~gM*-x_%a_>95(yjV@dN%j|BU}P-()}lEO881F)yZqI@zrI;H;=kkZJ{4 ztG`1%cqlBZ)6k>)d{}NK1_p%e=62rD01st|Yb%=Nm6xxtvkn~+a=@j}yX1Oi>C-|H z8%ot7>-!f-aflKZV*&}OIJ!Ee}rOTj9abFPS0NldKJRCPXY?QBYw!osGG%=c#1jo*P4?!#?n2E}|_ zKEo0|9vzBN(5_N$nHjF61a$!F=2v%)6+$XyK7v(VG=`cIuJWnAF0 z-GdAGtTHd(;6z>}BqHS@exX4_*Vvp#Q%iUHXH&?%dPVizOj247mYH;R%rSB~ALCU% z$E5-T9CAFA&~gm-Y=NxpWCRqXoGF(Rvm2i_J9vPXY<(u@?1(~V28@X+V4QB zDt1=Hv4|cnfo05Oq-ZQu2EsMON+jXaI*PhktdrJlDgKE>B zQl&Ezj+d{niDi4$xAQ9vC>xm6N3_XBI@my^icxLcUZ3rHJFjpI8A_ioafS>?Y>m+; zAe$Jo{a>%@U4zUun$;x1JsL(G1T$bL!Q)angPnFYdXD?Z=ve4kJv1qwhRP8(u)v6f zFUUn0LGJ}#;5#g9n`YaF`g$NXjH;U2CD>*YhrRle0j;{rprzTf44g3ra<{ zJvYQ=ja|wdr}UB!Uh1L#E@rKdY0E|2#OKBMdZwZ)4e_A0%t0C0W);6@Co>cbxR}$W zkd&C5A%R>XXR=H|z)QSFo7gJWm9^t)g~;)6i0IRi>-hjZ5`0?xm&CU*7Ft85qaq#c}fO8Vlq0$p(*v{_pI7fS1GGg?8VYeQ-n53 z&fn?ZQ!q;lVU=ZiMEGoEJO3wMP}jo$T#HfP-v!>OJvNgHQS04uJL;vzztN{j30Y*5 ze2wGSjZcRm5Ah2PN9zCP5vXqe^bD#2fRwR!iD}M8t~#ST_||!5rPHz=r40_f)fsCh zc~EX3#*NKr)6;u+j#+XtV$R_L@kT(2Y*ZW0YwQ%0hxcqvcxYv)-P$%`{x@?WrNbZe z-|!#!@A!`lH5|DphkyQ8^I*CgK8c2}!+PF%Gbp#)m1k8HbA*^Vxs;RH$qYm0d7MWy zv5R`yKg+c%aM^;t|6%vPbwN`(o~dFdmmET_~ay~$Mu zt9&13QL+pVI!2Pf980(?VWPqp@xo* zQFcglFiMj<^iJNi9N=XxO`%oJ_a~uH_es)yEvKq90uIC`gFu z$QfeTOeGY&xpu8(js^EA!b`+N^qA#S1olV<%I0$hU5vERYl!9J7qwNP@&^szvPDcF zU*&jKaS8DFG2hkD1|=o{bZxn%L_(NjjkICWw!NE$ZOomPF34d*)&PW zM=8WQvZ4aFd-f@J>DsPhMnb=h!$UlwzAYK#_S}5CG8yKiYhPQb1)Cm^rPp!5fmEfr zGA+8?lj+o-cobyhmeQ3F@I!rs1w0B?SZ0n*%(9aq1+&Eb_xwd&RuP7_OVV3eOoe8V zw&EBZNoKYH-}Z5FNeSdDoJfxWGt6@bKhid<OIea{Jb0(KaN}rI#b~p*m{4$bKNwc2>r&Pe<$vQe(#Q@o0YN1MlZR4a0Y~fDo~g#s#s> zSF7E2BU@3buDLpsveM8dBjF^ul8_a0=GnzJ*{&T{P|FGOYU!qWdv>f7;M&@iGT=n{ zsvT($kK1`cL;5&`B!uf?eO&ulHv5H#&l|i;Zbm5R(ZT0VeytE&eoKIFnM2t~-7_9Z zh99Vv?ym{U5;7b-cIa*VmRVX1S>{qcBLOpc{&_MW%T+9F=Wrkhc$)e7(N`lyQ{`C7+uLcFg^| zO9&D00Kd?HE(JXbTrykDZ+;XLAGuuzb24(29(^)mQd~=jD97SZ?57D1AwD@V2BueD z@4n%D3R=K`h=f&?j6R!~wHmPb2$L|&MpkH(F~lRTjdVSUKAsHssUm%Bt&jtTaK{{A@<9 z*YB`{HY;@aKBDJXfW$mYwqe`aMe1@AH92f`RQpjoP^5>0rX4mlfnoLH|ABT73UBE_*n3sf@kiM;bmNW9;gZoTxd*eVvWMDZsFTV2*~(0*XhS)kqDPQL4&`gyq#6|y0T&Or$WGhE%J4}o7aIBJ?_ERkII06oQy|4(LKu7DS9f%o~ zGgDXZ(US9Z$n#`4Y~p8#eo-O@Be%L<;izL1us>5WJ}2nCY`{hM16#RT7i2(6L^i4+ z)$8eXWly!0E2B~B(vhq5Ufv|6!!nOh=tqd8W9v#qjRjNMG|WzwkTh%>Q@1z+ev(j(e_DpfQhQ}pIW)(JP3s*@JLl7+&>xV}!sAW0a-|+C8Q2Pzj(W~E z{nMuRYG#T<#)5oJZ{>B`1mxUHpdY0WtZckf6YFTgGV2tH^4JF)NL6pqe9L{gnbW40 zDdgtlmK6IVwlhZ$<#Sxldn8w1Tt3JL^#4b}fHqHXk$y@_hn5RdR#@EnB;)#%rxn8{dSRQ}d`DxRvATlUlu+m<~(& zAkT9QeFTS3@dYv9Bp0K#Hf+=os$zCVK$jK0os1iFMue_yVQmr>b)82XK#6z?PcN0oig^dNt!f3DtK=s#T!yseO1+mYd`?nK zQ{FE937xX$I_}z9O^hS&<%1}u4db!}vE+^QVcKdk;fSd2=M*zS${{5qHnfc$y0vSLq!rQZP%O2T?X@WVQZE2=SgxMq#}Y)_=uu6s+(o-mAV8jSX)+VqDAI z+Lfp+&(`JCkBl&(dR)~`a^Lb~B377}ujwszgY0t;g`O#iRm2(Z<~=Fd*(_^L7aE;* zE=O%&OsU)%vp^Xsdx%)odw78vQbKlf4(9XrRX6i@aBE)Z1BMl{N|Y;OK`Xwj#uJ_V3%hpD4|=nb99Kl>ZKkyj!l*TiL-z zVm$67<}VEG%Hi__-{o|@j14j*B1SoIj#N78fM#kEZI<+QUS-xosV?RWNijSa$KH>M z1#vX|S>I-wq*Q&J43F`03H7HekTc6uz~$;oV!7URw1hDkJvm}SshrP==nsIHF0b+( zuG4wRY(K^Fo$E-C@;HFy*O__LWtlB$d$OW-e6clJLFw{! zU68#u#655;na)O(o7z?Hi~nm-2nIBJqUB1h@+2pNO>e}6Eb8N<@!Ldh8|#)yw{h^W zxnGX0-=}osM*Sv#@*l9LcNSo+OY-(}UOY`dM}5U@(lrzFsAC|%}xl{@*O z9xq0YW|scgO5MEk=GeYP@`S*4j*+kGKkx<%cnA-X=^0`m&5n&}>U=oHW>jSdfg@Gd zxtlD5?*BxR+R5)`H^y!FJX>Ui79lxZVp2ZIDJ;?JFF*IS z2iAJA>Pic{44K6u#bd~V+{`>f`h-@&FG5C6Rg<IGJTU3R*nQ_cYNErH>Mh7;ja^G_&kEv!QfG z0f9dfD`{$&)q|1x23bN;Q(Cm_E6UcGJ06wfaUYoFIUZp}+r+jlantIAa1%-; zlywl{lkz26BxJax+{Vi~V^_?Gf_&6jsyr4}JFyZa=p%$I@gBLJITFC9$6fqEXIQOe zG~cduahkGW{ai|*umL3XI9{${GjG!7FTBDl1k5tSEDOvcyvDu!YhKq47+H}6zbZp! z4=5Pm(PEeW1HWSi7h%8!d|FJq+#Dsbj%~A^cGT9hmCA8Oq$LMpBF^VCECWKDXSjz% zBRrNydHqtiw(`!(mB_~>rN_DQSyq7|n|PUREUHJxYLS{(R<-21l5MHSW~vxDJ_9z& z^&H148C_b41)1h3dk3yI+wdv{ISB~^0+jHOSETCAw(DG=I;eTi=Gy%s<^ybI6^9w_ z=Y9><2OMVT>-{`|htDFXG0zH$Yg--HN1;56N^8KZm@#en8Xx2@c+BAQC_mN^wX1bq z2EBd-C6v=N_7IdFU1Bm$m8(fu!C{s^azC%Bk+mP#^Ql7v$9vPx>@CWlR|j)y-_>Dq(@SA{J2tj8sAD7SRdy3HAmhVU zOU1_}p$mANz<`(;cGE*9O1t|ujp|Z~rlXEKasrM7QSK%b(bO~?97~Ee66GEP7UX7* zC#As0;RigX8I@Y1?(rR(#J%QZU+Wb|ZGWtUE)*ycDG`0$$_p$|;IPDJIZu#`mQ^`Q z5L=t515yQtA<7J~-obAPa47JY!^g2M;5dQ4lFP1K&E`UQ)ZR|38V#0rE3ti{y0*z~ zN3Q1M^oYpVzz_I71+EQ>3be6OE0EH{)Gd8hZS~SLN=&JXQ#7-2mEf;yo0Xd0Rwi?6 z0Hfu~T}Qg_pY4fLTjrB}qnju1x7dMsp5Z~3bR!Al5acFG!Z-{8h25Z2hI~w}CMPDs zXE%57CylJIZ({Z8ntMvgH!DGmp>0e#zv)#t7qx$P{FK!-P9Q~ zjfi8bGiF@BA@7zOIi5cZlzYEBCd`YL0psdFwg3kWaFN4|I5v2PsIHWjKb2 z81Lf*Lvli98FI0l%YcF*^E}7hENbbw)uCn8amr+4VUv+cfQt|?WP{wmaqPmtg-vHU z&vsVy8Xtb+!>j#U{@j{K&HK&_uKpcCV;W-x?!=Li=r~YoLb1%9 zju8r5e{qbQxxA0<%#$(4_*C$mfXJ0DY1p`_LDHqClER)iq!!Nm?C7rPu>G}#%=?9i+ zqX8}sfrY{>@iDm`mt};FyvBFfp)Ct#i$+Y->TLYcD1yne_XzMQSmi{yi8cv+BH&)0 z)s}tdg7LK8;hMSo22C=(Tg*&ZVS!KZstv8hHYzr5T0+hSUgg_l7O8WyTB04slA;Ny{^oFZRhKmvs9 zoK9Y+c`(ZBGOk2QNXCrZr2oKQaOu$IZW2992BfsXvK;EJQ}qtj!%^4l(=|qC?;~IT zi?VrK`50AI$zp5~tj>jrpRa!#Pcl@c_e!ujvz>8P^&Wo5EG{{_IFCytMrhF^uvr>& zH}cUja=<46It=tKo@bNo?{f~H79)t?vm&7t?5gau;f(HiP9-;6HE4Z%$89Yp-gt1o z{}u2f!^+L2;taT>71ux-ddzY)A-`gV0FR&I>ZKAgv`VJs_TkyU+XUjpXcmc8Lz}GT znBMX^MyoEf8APAhR&;#3PL`>Fy6#eCb#{>X*R%7^Tu)(T$6eb}*qPW8wRW6{W!e-J zoG0i{NNBN{UsG_k&dPwovLM1y3-KmG!nZ#+)wd2Y9~D<`p+}43Smf`ySx=NjA_}YA zRcgEDHh){SJkAkX#3&)q<9PX7{r}Qq0Ux-7tMn7HM9W@nYB^*j>{_QbK|Z)9d-H-Zx- z$FWO~Ij$C8e@;Y*@DzbwNF;q)B)IsbR;HqQ=W>@Stgn~zSrL5{kAwyO#GPEN8)TWl zHV&zJgq8EoJZ<$JQ7%I~LUyr9zM(JKl?bZPZU4-0Z-%rHNpS31=8TQw!Lz3F-Tqc; z&05=HNI^(USN?PTSNx87d^Rv(07OJ&uo4m{nLcsU&^=!#3E7u#%qo%}2x$+o)wqwO7QuzO~_uoO5-B+F`_Bq!*o30!@ zNP-|i5{3i`?+sx{cn`AK-P1cWJBpo|Q0(mPD73NCDin&|*_l-^(l%T%ocGI2C0wE8lzf{_f8l^F7}$ zr--ljkX(?OB9i~gLcVW=MGYi~xn%DYqteafNC(Pu=9?{cPYkR^N?jL2y5TYgK2 z7-18EI30n>X|%VxnA_MRn+PdOG02RimbtCEy~?C85-ESej6Z5F0s&D2x_+QSatiW=Vl1&gBB}NWkb#Co_DLz^78ly&|tz z3!}ZKqii}sGuc>t@R_dim6&7G;8hmn3Qc*8d15y46AHalLe%I>3M1r=rdIW8>%218 z?CV;N9iY&4tCZP6r|ur%QXi?oN9*acIt0SaC?DT)(D${J&Jd1~>-0WyhJ@s7;TnCP#KZ)~y;o8JCj{dF zu$pgP?Y(B@kM&MoVU~;`_mSyYvdiwX&T&=0ul+e|>v{6Ra>I}F470=p45s!0kB|`_ zBmRyPj0Ab_*I#$T%fuNl2718^J9RV9atK2*az4Z9k}{w>LF~Nm#-N_ws$cPYRs~AV za?>nwEd=>kZwE_!r>_x!mMQ9t0AYz)E|Xk;!!9};#!pGOLYtD%Bq287T|V*JIyIB~ z?6W1(`w8jN195B!$=Meel`j`BMf|QLUbm_4Zj|N9DgGZZ`ZCtCzN@Co59sy3SC|~6)sh{79 zC)enG{DBrin+Fg*T^y0jfCjM%x724)8K}6uGdDcK)gB_;Vb~?jH96qr#iP z#ZLl2%J?>AL5?TJBj6Rj$}8HXfzV)%Cv+PSkkH{oB62Gt*Gq9Lv)Q_0Th48=dwiU$ zIFIZ3ghkmIC6MDlHkTpL@qu}`Tx)dNA@khF&oniRd}!IDs?_>UkisVT6qea2fi#n{ zpa+M^isRb-+e7H%Gz*|ZPw(eZW)XVioW^<55D0;Q0nLe?KESrJ670I9_wz6T0UkXr zeF}2Q|P1hdlw*LdE*B;Sn;Ko|M-naMOp=^Q;Ntt6nQ?B6zcG4iF!;kom z>e$_JVNYYc*VcJSU;A@1t3@?PEYFvjx_o4f*}2sh+#H=m15E0SC`w|L{*(sbqgu}A zgm$eyBNKNz{azVDz!0AcyU=17$aN z@w~S2ty9X~S4OEhSUP28cTaVU7UaB7u4Im7eC9~`2H)4n04v$NXu<9Ib!^B?Mj9R3iNLk=T?&Nvx;**mRSOvYBGn3vzRW2y`t%t0WTg*3Z)8;OIr4h>%H0-KUO2kxb zVSHxNy>F8suded1xAI;k03}2DBtN7_M9SY2bAcX0NW!oACQq^fVHfA}At}tEr~@VT z-py0#1Y{`3iz8Lgkbm zRWDb`?elR_y^kJU0v6fKje4{!6XB7OTGq9$a#M|un9Ju5(;i34^}3ba%+a9Wewz9* z>6yDyx3v)>Oy=uDQl2ql`5YbZ$7SHDR+CG3l|xy4U7s-dBmvXuaf*>XJM}JJph*uQ z=hK`bIjL#d9PBIm?ev}YGl&)S;Lh+{S0?u`9P%xq+S82$P zSVuyepCNh~O&M4(ObPCr9-BH?Yse+y={IQL)8HxY$m!Qzf_Ex;3WfnVxqQ5IHfh zaYTa0#|6EQ2#*fW@O3WLqhtWYbQr#ll)O)ZOO%Dg94fcyU$L7FWC-_@=_f@P&^DlR zJ@_inF~;C+f%Z+hGH-p-$QX<6lW>w;qF*GWMaU0%gjswNc9C%?2|YIOSsD!R4R%pk zvC1T_=Q2w3Eboz$5R#1J;Ib>=z_zj$h#dmn-~?Lr7`xQyO}a_+$)Co4#EeLwy~4n}c47IW-wG*5T#6{xi zx0%DI%db(cAuu*V9q)f-RepLt6hssTtvx{k-NJy7hyl0pIXzmIjncza%F{8duRL4I zj>QrH=c5cbT5ixS?4}I_Y~}_%NtW>m4V%AqT&ogvDVAjM$r&1ivvd=@F|I)^*#&(P zqdR#$JyP{&m|GuQMogPFJ9H~g(;+0I$7eW20-GnrxWne)wY7eKvf{LGYpO{`n`MTi zjF=}TrxXULvvyA3TWI~5u9G`rKu0d4(4VrAggJf&T%t2FVn}x)2~z@@>!(10N0&t| z6i>fFix!9S8&Yo6P+V%ZOapim=UjC!o?Xe%`k9JVJjN>7u=4lHbgxT#itTn)Ft%3B zvoNPjVmB%1(UFsk-P8f^Ml|FD+@ya)%tl5mvz4p$BQhcd>sVW@gHfnAYJ^*qf3d`1ryC8bB(cH2FT zeHj?JKI0|R>7k-1oK&&wjS5 zJ+ox2X|jXEopLIT4EHO? zBcn^KxAPbqfP?`Ta4sUQcch6jq&2S6l?RnrH7lV-qFZ^KE*=90T*CR{lhUAIKxCaV ztI>8&gN)YlmOo83GAUe8&TpOi>4VptbDt0pk>b-}iLPA1C)h!Ql=VEw-)Tk&WF*Xv zNxREG_rA^?BHfYgN4%uB>!0&wp5Pf?WCy?Je*OpkLU-s!b}^_0YULG9yCtr+b2Nvr zOv)_VxsC1GCaKlhrePS<_blZ2_zWos82}f`dGrCH%Wv4Mxppiu=3b+Fct3YvP6~8L z&d1~$lmP(&8QXY5TR8Znl7hiF>eakrYE20l4F()8w=zqC&_uY0Uul<=wB{17jc}^$ zo-MCG9ZP)|b~@_#XWYoU+M#c?hc|i;>U$!XAFyWY;zwDEyuKEoN}lUUX{o`UBb zd^XtzzxHh9=sSW2p-(`}3=gnf*U>{wVq^7A>dIWFi_k!c$?zG_8%3q^C<~S)GB}tmg&l^9Lb0Q0Uf@}*R?Z7C6&MGmF$X~%avF{gB=Hi^!b#0)zC;gc*E>EVGGQIbX^WZBT<=tkyxXI>ByP^mY78!MNSc ze~WjsR;=oga*sbGrNK^SW*Ah;!)Ged`24#ykwIaSP! z2ZxneYp=FFxXMyM%sLkJ4xVI|Wg_~V%{c_(*d$$UC1OaqEqUV>Oc;{Vpr?273=Lzk zJd5)spl1#Ffo+eTm9ZzSo>X`{NksO=2u|`x)w{(?!Gg)^_`&UjxjS^-JGoVFJw^m_ zB`5F_v&1y{9^cZO7BLY+Z(zHzvoe?D;62F2_U{P_RL6 zC8S_Li~w$U0ddAeAUzP2#D~=iL5JD zY0)OMGb7=H@(=J>GEd_!o>FLy>uzOYsS13`Bv#q7VgEsScY zd@9~5SE~m0bQBRwc8(>SBA+E;KtRM!?&2kN!Fo1+K9e0+m5J5CTpzhG%gd~n&#{gH z5g|VJ^ApWg6hdO{>24irgDy&L$OyF=_O{v^I~t~QF{R7r;3P^xn;yRWiTrbpA!kHF z&X6G;&f~x4Qt6qqSz_U*sk>Ku7}P%1@jqoWz)HbdEAbxq8@XdIardZ33+kfv1-XSy z4C&)D&sX`O`r{1bYMaEqF%RXV@=y6E@{jn3vPm3ASV_aMHjkAzXVcZTa&BgXEbBcy zNe7|9vz*JP#TS=R&uHM&2YWWtR4PJ;oNYW}&c|-f;Cvt^G?g{qBsT{r(W=+ACsv`g zP@h^Uh+1zOUd{P9xMt0?P1kC2Qi5^gb%TJES-F~1*bYRjT@oT3410mc_z%3G4PsWN)~fmHz%vO24UUr=C|E}5u*_DT(*U0# zlh7GfykB6g!2zzpJsQ(upCjk7lavNce$G}3oijexsvgL%PtW(WPZ%jZ@o+r+6E66!gzJO1kkQN17`L&k(sjqkR->LajRdWlJ zlko5v)skuT`QqvhbF8EP2Hgj>@hMrtUePT)#RhUR2He1DQjpUGBID;;2{%5ttllxZ z7Qx6e^=~01q|Z@uGYLZ+j^!(C*Cq+cm~5g9P*&bcNI{MmZ9t5Z*d8z=pXE%JNSLF+ zFS$=+nzhj=x%Wzkyxdnt2t(S82sl;Fr%yn}JWq2UuV}~o8OGPOlC+|*Js_~I!1|M^ zlSJ+5_v8*0)Iy4qY+^0XS~mvyID{z}qSho6jH}K=%I?%bIUq_2R^jVRoe=C)CB<{IRya;ZTUQhGa@Es zBlqx_`Zh{sAI`qA>gaZ$BasYWO4p?1WI4E6jmz!TWvdD!gHCBM)VujL9XwJ7T*BER zq(oz<*Eb!YQgpf))2b$P=;`hHG&3kl%sG5U0*ML82^m=x(&@RE`Sa=EWRhs2o=I8@ zR#Fet86~Tk>6?S@#;H;^+5aKnzOj`#P~RMU*ME=^ut-;~l#en*$k@b>_@-ubETdNm z?7p7$?SLLo@HKwS1`=XB=zJVkpT~d>zhfIYO(S{8$5sCNlPIhkDP$)pC&<;t+&0Tj zZsR2l$B6R~ETJ`Bxlzk%mif&=O+4UoIiDCPSjQjO%%XNkDGaEW*{YcaA36e;QhUZD z;W)W&Tmc^O6`t00#EcMH=G+Tae?>i1#3-8`TxP_A+{_{DM(I*;Cy!{y?kXRvuk3F} zt5RGkY%Lv6hY^!2soa}O%JPrX74LP_q`dKNRoKbux*Xap>K0yR1AT-MmvV+=j0|dD z3B|AE+B(>*gj1CxT-|9^*{M5(`{x?VlflCyW5`G4dIFXyXtJBlJg*Hxns$vz&G(wd z0qMAIo0vzI(_)E8E|pJ^vrNtge#Kpy(j3>@T{_sCdM7t}5d&)vI8&}*ks$@MJkA5` z*47wGU)ai&sqrimwq?3yPwB+ff0ungI-arhq=T-w|99G6n|rwoHY%{BXVBg{!lP^p zP(qXe$H`}Ckh9DT9=GwNws73Rx%nl&)sCuGgmS#f=8=GurhJ|cv6BFwi0|^CI#1pO zTe+Q9RTD%h9E??vMhF8-^(34ums)S^JkPL&MJ;s`%OZ=%N=cWJ-pHklobDCmwB=Tg zG#dUk_wv{LTkhuP?BFSW!~Ogl{%0OipNQ1@ao3QQ#JqJVNFR?jLZ3p8k&F2t8#tO7 zLORkn#Jy0E(6)wpWn>kmoE)`Hxd0Q?su!N?PGr4F{a~`myGjj);@psqT*Lb)$Y|p8 z)VQbM^)Y(A)vK!iJ;|waa6N^(9I04d-p4obxJ2*c7aW3+GT@V3EDf9-sKW%iTuC@? zc+ZKg@iAbAoq8XS5#r&~<8(eP5F5NGT?L%E7F@SCI(FrCmsN$#YI82YbQ^d`KxUip zfpd3n=LosuBETbHh;R)bWv7v&|A=pCLTI(#XdD3T-4S*NYgnQc6&bELRBuV=|SAzd+k6~L)X zn;a?EFpn~zL&|OZN=rJ93Ov3xy87IXAChvYT+Sj*3uoP&symwlj^I2nYWUZ-+}gAq z4{KnA$z2w83(qn~ibsztI7RyA#MJvE4*r##S)>W77`#uRRF5@GnY&6Rw+@&K8Xjm01!K?KsmLWoj zPsuGA0H2f#NDy-7d6LcS);3B?h(}Ii0uWx+&8jL|{eNE1?3>(`)?T3hW^hGyINbCq zEJ(@ts9Z-uK~94{ckr|}Nhqm+Tv;MAiu|f8bW*iY@CfBfKENUkB0Rp$gDO_3^i7_< z4BlP%R7tFt*B6abcQL2R`4o)EID{AY3QOvCuGD;?vV(1Gc2=>r*wwcR^kXOgs-~=75PLlc0rVwBjtKRlz=u3 z?&C4-n0j8iie%*eoJsDfrYM(koJpjY_vTra*fAGg%b_wF6HdIAm7#%J$5lW;i&yn_ zUSggh1wF3hWJxR;RKf@AT0aM~1*XI1Q^F?8EV>IBrl}V8kCmV9+4^=0UuPD?>Hq+M z07*naRL95_xYi1f-Q39w8d-(Fb+R;AnVz0*8Yt-=B7FL^zx) zF)8rsdMZD~$!_OHtL}(rlzq@}58k>kFL;8GJK2J!D(n8tH@3l)vg3z>pr>t|A&v|w1%X+zqBY25`4o$w#4>i|> zh}6!p)xut9B^WWsrE5ZloFP}3Uogvy+|CQ?_O6&YT&M49G(T0FfLntp1q}wQmn(T6 zOFTt~d6YhjY-c;W7$R(9iQD+GDjn7sE!}Fj7?a^y7l4C&L?{6sxsk8x7+ir zL_n^w!VDn| zgX0NI&M86Y&?h7!CSag<^C+`q6eOI^g*dUok!h`~anzJevkvYQ00UYSdKbT;OHR%* z=W~&GEYm_vn%b}B-ww1&)U=h2%gzB!#_pMuk#6A=T8~Zj)9)VhYWtW^hSQa5%at5Q zpAHRLe4B4;ramDfaw0P8n0jr?5F!TpYh1rU>FBx7a-STdK$j;Ns6U>m)v;G!1MYtv z+fhou$K`T!kOG#tn-|noEmGPJ^t+ciTNr^x3Z_JKv7Eya8A_Mma2J_28Byv_mDeFF z-p5&J8g2tllB)?AksayBeZma6KBoUk|6KoX{9pKU{Y!mJ zV{PN%Xl$zhY7#N|PEstqvsT|Y%CRh2rlRrGQDgP0kH@~>AXa9l>eqbWI{wpE-Pe#7 z85tq5-pOy+K!P&lQ=BJ}2tq=H$B59Li-Tj9y(f;ba)wN|@>`lT3F&b*XPay4T*1H& zVS+87nsb-m3){b3L4Dv_k0^iIFTEI zeb4ENa=y51Z^3g0*eF@>%H722oVfruW_j$Y2p+5F(;X9(lX@HxbG+PW$8VQi+`;qO zG;of*j*5pn9YV{3dn9td7pGA(68<-=+G;cCz3U^JhQ zfPjz&AsIuX*%y>-9IBUf)BUrf)d||mWV8|?^!bF`$bf{54n4N=2knv=tJq~Kx299Rz)11T-vt-Qh2=}NP1qTeRy5_2G_rOLn#iwAFgfrz#3Nm054|6Yz8UiU1 zIl19H$_mHc=Gfi{&{sov2y0XWFT992})li-3XwN6S?NBtV-Xn|VrG6bK_C zLSj>`obE}je_DZ0OhazvFb1^n@%RCMr}Gq+XsS0S6ciKJqdW;3<3#Jqdw1{e7#0E(X9yVSuUICehsQjJa3mk%68<6oHHR^vPnQ??E{poM zf^Jvu#@O4#n?88zy)sI{aGY%@%<=bV;vv=?T#Pf-!V(=?Jg$Gvzvl1wH81cYPq2+Y z=l{b~>N1@50AZTfqns`W()8cEO?E0&P_Z&M>@tJGh?a@TRps1wB9xi#TU%LlKag#D z{Q9)417xIk@i23iMLUhlL>b_eZ5;iuXL)qjPmvke&qrvH=vR4^4o!ya=4>vLwk#W) zO<--F^)8jwM*Fp|c5MIvC&9R7j~P~n&J9?S6Cw;JGM@*>{CT~jRL_!nc!Z3YVJBU= zhGW@DK$C!<@(uNA;u^vm?A=)nNDv$iKtMfrSvm^^AwC5j$(U!Yo(P!?GfF}b&qRK6 za*mg)iHJ$*u#?TapzDBm3i!7AeV4?#As!>ZV~LJjB4@Ij5iQ#MhApJpLaY)tnY>#m zLS2kSFfvY*>r5qOffxA-FK7p$u!`@f1|_Yax4r>t1qa~m67ecW%B?iW4HIw=4{67s zl|^kt_aAhtJO_Pp`gpXMl|Sact5Dl8?*C#3*@P1n40JJ^@2ufmij* zyi6Aec$LdIQ!uEc8ho(Y|M&myv+u27#E{f_PXe3GB{fQ8>ZkW_Mam_(GwZM%(WGFB z)c!axEnIR^(@hNGCO6?=( z$NA&$CJ5)tIXG>&LwJlkS=26tbq%lVlz*!yoviYm1H*@@d)%v0P*wluM#({_ePbW^ zh}=R>pEg3wo%~kkiGb8n^nUIAs!ym=SROtRLuTaj9L=lv%n|Tyey9Nrt9_Mc{>oY8 z{8=ZU(m?Ka!7Wgqc_C49e-Y3$evp2~c=CWRaWhXs~F*#xx4!HKPoQ!~+HW}a5f6X&^ zc&q~=X4r_wulPUlJ#AY4W90;?Ce^_fMoo6;xQ>#tY2S66WHwbJ6Bu(pyJr#0x7U0s zL9>-a)(6Y8s2p8K5gjnldw7C20Rsk{&1I6HG{{M4+Tl{xq?}_`3PcZSQRtWW9rHlO zfD1SeVSo_O!~;^Jh+d8Nu+CYz);Id9MYW=@c7^+h4qe*J5R#GF4zaTPtycq!l0>Bl&!%#=9;h(xlA{ z4KjKF<2AQGMx#nPxY^;55hJT2wP>=;G4dzm3~19}CtG<@BQj!J<*#iep2)f0Eu6%5 zgUjSh7H!Y^Irr+at{d}(maDhkBUL5=LYA2$C*fQ$ANDvU}a%+J}S|zvo3-_zXCdHZL;I&8(M{KF7*uS;WWZWnO%Hp?z;|>P%1G$zBf6 zNX<)LDt}DC>Y;Wl=B6qV6Y*pH_w;F@gbWDC=@ZkWiSqCGxrP%|qbooEKyWVKm`%4# zy4qeP4O{*zv0`eyk-Yvct3BU0yVb0G=lZgm{P(mSm`7{1K@~uoq2A3SG-#4ga5@)C zNj&OXu;2e8@+P+n(bogHO9 zHReNd6*FYS_$1uU%Nh}r5RK`5-Rs>udSh-W1ww=oO=3cZ94LNXGXa)f+LJ}&Q$7m*-t+$LKq~Ob7@)Km=~Mbc{g!@Rzo);|MU9w)iFxs6P(N>n zRi9fj@j<|D>re4{zgz>nN|QNuavR$ z|IVH~uYHZ>xw$e0C3}3glFFlA6)uA;*U#pS!`D8?$#pbH8POu+cAnR!39b}Vr^{+* za;X?Qq$O8z97}{`bomZH)Nt&<Leb;&5noRv&tom

Bw<8{*oxh18IDrZz&BzQfG)fAUVg)@Wz5gzOiI$_vJ0?$TE#?YG`VS1 zm0+#8zNJGs3E?x>FKZe1wUb#ln7-VAK(lfupYcN z4Vfq_yRM7ODI~?TpE*0@hbhm-g%l`f2{HMwr9 zlH1MW2PcPLz&*m6V(=JNYV~(~Xka^@sS3Xp)RS zt$z1aOTNn_iXEZnil^V9gHM}>5w6trvS=_22g?(twPVWAtdxilVos7!?_x+BpI6z; zHTphr8eJhuPGn9*VLezCINC`)x-klg`GDM@UnC)-jj{#N6J*h(4tx{yt+KH1^y;hk zr52P*ib`ytN$2tuV4bxk2xetCUb1jT-q1`o24 zlv#d?aJjZ+M5Qa}ur$6wZ9OB*8shq)eBcxr>EAP=#SDMoHm=k4vP48gVpJ!Q-PQE9 zy^$X6$vt?oH}su)LMy)?P>gXcA(`P?d?Va1DCG!NyO%xtRvx7qp;LJE7;uc-s$U+9 zMcmFcdaSsB)wA8S&tbfuLs;N27L1TF;uY>ErD^;? z#n|DReD8OUt;}!9s{cE=sl4&vss287O3m_nB?(48b%-6fPovse14h=IIU-^}hh@E& z-_b#7vBVi%DlYFaLdM5yRsMDkRs)}elz=6DfJd1@8If`dXG$bJoapXw3In`nccczy zTI=*44RYIpb3$IxE&Q*1i;Ni#V}W@Re$0R3Kk$;SXPLw{?aUn0cZcm6z99q%3BFvx zi7X?Gm^Xl*bBmh{i12aQL8!YGE|AR#Io>!R#op0%4pkw%(B$Jp);%OZiy?KeNM+M( zSEWe!QF0{-0T~@ee2MMquFzGfI;M}tD(_a$P>yho?mZ&TmU9>|B4-1Sa1T2)BxeM) zz)%e(FH|MwTzBUk;Oqps%H*wQ*vVF&)0Xj!xhrbZ$Ft6X$?R)Jsi>9X$k6|UE`1vK zL~P?%x}FgM$^g%xlhswc^Q&>1Va=s>f)#S8)z3_x6k=gfj!!g(jyKt%ckmoD#H0-Q z3;ldx}(!IG8=Jnp!>J9XhRfu<@FSsOp5(^x1B3{(L;{VML@L0zj3v49h z=lnJQiD%Sd6kHeR{;`$xDb=00{=^xUI8Lr1XPGWdme|JA8j#_b_(}%Cl~Cg84kbqf z(V`$`RxXjVd6kF}^E|{i=&7qfMYtZ%%8#g^X!TGv<7~NrjGTf6{=ha~)iy#8As{mv zclXn;Z*-N_D&&(pTD6AvJ(pV@09Sfaj^HI`h|*%77ENGemEk68Ngu{^@~gk|YGYC# zFDFzHlW~-Mo`?}CZI-y3KWNFKDEKyWU2U3)>n#(vPQ+IT;@ zNJ)T*g53y8!UE`iXYG44Rxdw#HgO}i>ra_OfLZ2^xHY83IyTZ|gb?sMc4z|!eJX)% z@7Wu(H&&;ZcF$$vu&Qetm5`zOYbUquX96E87#NSh`C$& zShvWv8Be>3?mpY(4EUH_0SpM}vczUy(2ijt3WS)h(N|9=psJlf5K@*nRBm8_Wn7T< zRer6r#3&7`OO?EV?*wP+-mU6T+`F=%+H-f%d)Lu2!l%V{-Ns8aX_De`DW4Qq&n(GF z_H{q*YOu+AHM71a)_XFl|9d;H#Qp7D{em`&`bEA;gAJ$=i}z6uBjkttd!AK?XK<7p z)%)x}M8;&gB{wi=!iVL00(R1*%d2c*ySAK6hy8TUYG;p5%q&;ScK$%0kc;IMcF@G9 z$&dJZa+-L=s4@JlY!xVqRW77&+Coor7d=(e7tO3Eueztbn>Y0fuyC?^CM8~K z-#?u?PRGq#AD@Vvm^NKn?9i9>1$|z9U2mu9P8vW+e@vD0=4L=S3mT*(yicyRuG=~K zZ02coVnoRpLLN@}BIWafl#0ZDR{n?&vz?4NTHM2fG>o-)$f&k@RtB==PU~Z zk$Pv$vz(^K^ZbDp17M>$sySj3VYB!^lNWi~a%_&{<-I^^UmwRGteK!E$x%8jv!up212oo}*%CJ8UINP{_+SY!ws z$wS=3vPO2e2d206ZnxaPo&^J1awR9QlL)2DkNCPexRyhPXC@F^PklI7w@pmMqlrnykQ1>NQQt=211n0W4p6Xj}zgp3x;Y~^_s0;{_O z4DiN5P~ECP%`whK#2h9!(k3OPO^40=N;`=4Q&nTMHd@vvSycDLb|ou*-p9AzmliMU z7G9)f^W;2E7oU`Z)+!aeePz>6raXx%D*sZ^XgchFyRU=Vd6zT8KyTwm%#brAw~Ts3 z%#es#9_DXY){vAotf;Z?pX67Sq$|dnQ4vaykIBuXB;?F8x~ImEY(*}=#|f5 zGP&Yga2Ajf)8I35GK+*{%<>@jX-1n7zA2ndURS9!<;*kQ&(q{0a{3f(;0eCUKt0=^ zTK3Fei@Q%IewTvVg;f^)iEyeSk9lVjlhrxy#~?yR(_{VFs?iqcWl=a8rAx%(qla$xrL)y zBB7wekNLXJ5YVSVXyp$Xub^sYDj}7HQ6C8rJ#tQwOMsA=7O!w8FKNqo7uv*ltL)ZQ z;#zqh9WsP2UuC<7ngTfqAxrvAngkTgamXI3^=r!Z&idk_M`Z_v>3X=>H#7`qK~9^9 zl#n4W8F6Duj`yCcwa=~2_)`y{u!voXG99zX*<}sv6%w7DJHaR{6&g5L_ z%77N0E$N`<)K#pNDMNB1hI$VVGfRV*ot(#~#gj!sLOT@74P`QGGua7He;Vb#_E!V* z>ocb<5|Ps8A-$JF$w){zjepMno`24N#c2!~(qlc}noCuH1s8l>sJ}y@pSxU|h?&f)I5Rlm%mleAR<7CW10qHU z=gIjjk`OY(Z@80zMpn5j`+z1n;wG!;&K(OFa)MlsQ>vQhMZV0kx{kbp!tSE}y83(7 zD=x}_56I2qS9sjR!`dPvpl$Uy_Y}Ono__n@ z7P*KsC1Z$>kP_AEKl`o%H@V-{zgxAK7qyV8+`;SZ?Qj2xmNls#@dM^5@M)5h;FA(t zAX>1FpYsz+$kywjo8PxKJsv(8AwD@x0{VPRKF7dPEz4}-X>AzO@??r|WvZ|IIsxlr z42kH`;z~~Cd0K=-Jj6G2N!ODyLD63v(L2^F+= zwL9L^Z%9ZD1Qrkwji2kZl=8l^Y)r{huD_Im86MXEh5wmf@)FN8fyqlYIOZEnqYEXx{j&9y#AD!v*oi47}21^v)sW>b(OPZBKWCrJT7JsAmLE? zI3plpk^jU_LT%8Xp*!_I@C!U(nG-pr#IJh;QNH6Eor>{vl_|aq=PgxcnJ^N@Pg=uUqyuFeayWyQx7PTw8IM9dzXe zj$=rQM~Cn7Z5=RAk9^#a40V=CAtPlDWjn{nKjUJQ9xYsV)GO?uM~fry=#eM zGr5E%GK5*4Vk?OWw6nrluJ1|?PFo(|1qCO_)kF-*=#cR5c}cqr48xz&8oMU-Bt{jU zKSE%`KO&|^rO z1%Al4SW;J?TaBf)9GgfF4w68(KG_W#8 zjB2Qwcc$mKN>MqVHbn6Gf&N>5YpP7MM1-_hV94L_7c6O$oD`3c}TOg=P8561gL5bV}PXLtMGhGghnjT&*{1 zZ+&B^!ZEi6XGSwoSflAA_I0h>%Fwc&|8#WSF>OY=jo+|<&__6nv+ztQ$G85y%<>wg z;B2|E__XQk-8^F=y)hSZfq3-D5jx}~?RB5Zbq0?i%{|@R&*Da+(M#{7L zBn>izm&qO?>9~4&Tz0 zu60u7wJ_TqPdOnCb|Wm%W0U-;{4*|MJuQTgW4WAv!Nn{i_%!$t-%zLPRS>ZfI$Z@9 zRYSOA-HH$+fk;^51i9L-plRd|5YrqxVyk7c%dc}gPE+F*3rG<;hw~U2lhhx$lb(h! zu1c+b4hRriI9AXkVTt4AdOZ60M8tfB7qo2%hmZlysoGYR^>*#nJ_ACOh(3qQO&raD zggJ7)%+K|ZS{I4h{S1rXaoxkZ>8N%ZR>7ibH7qcB=vD z-Y$65B!$If&9P+aDCepR8u&FJ#nl3im7B>ZXwhZ|TX|W1H(1s#(JDPolbmjax%e~e;B2{yK0SOQp5i`Uwg9hAFthS5r*-TmsU`|W zR+I7wXwt0VKj58Ag{VD^0UaLIzof@3E&3!R3>e}#uGjH1{v(NsRsY`#w69cgRbXUH ztpkpi>r8s3iSkvRQICf8OZsC3*yQ-;;~G#Y{E`sKO?-?22?gu;IzP~Y7Ct2#YSjo* zbwhjhZdkWz&wz!>$#OA}lCzPgxs62)f#w9XyL#H?j_s53A-RG@geF~j+|U1yf6tfM zNe7>VB`)J*;>arw5L?~ND|3c1!bUuDn&iaf2>Dp3Gh$?<$Zh7W-0Mvd>Aq+C$|g6u z$qlKnl6YuKBs|^=l^4yde#e9OH=?ZxgiaMNIAG!AeYG5!~{e%d5pX1 zYr_N|>KXoNmO)qB@+lY+(4^0YBDC1e z2joiHWQ>Stvzec1%Upz#=;NI~o>%s-Ozt7C^-4iW4RRCEV3%&?ITiqAk5-ArFewrt#Up2) zf~ROPKxs~l*Z$buR<7v2byg;(gP5?$$K^U=Vq&`V`73s6fk!gYAG10VLh!6wf+Yw& zAR*uyPGkuI7Wfh0U<8D#?C~Wi(~a>6#b>}AIUko#ladh7;VHJVLlaFj*IWy7a?P~- zoocp+U-`r@)c`^5HL;E~SJih?mbV1Bd4^``($l}7$2>iRCWrA6j^kLGED|6@{DSWh zQH)9T-`p&yC&D1Ky-^u(jNDAXGD?GtFY>IGS2-zURKAZ`J*pH-4=r`NAlGoTsrSwE zxBO5sW&_51q&M|`AowJ7%r7cz9wnS6mm*{gIE?LlnI#R42BZFJhmml&0FQ_v%9U~j zLv~ZpU=v-M9LXj!78!5@pGC>mLO=H2rrMs^X{v_8!qCKrSYud&?QEoBP!*>`vV#an zS;x_+bpq@e@m)=ogWC~X=~D0Q=im6DQaTV-@Z^*X9GP&NghbuDHYIQ^@%Y3vOHH>nj~7THU6nEiiL7h_n!ZqwUov7Vf! zX*sw`zye3{I2%#6lN&Mh{?F#`KdYW|K30@+2U&xh0WG;sLmnm|VI4n4^b!diIRoCf z)jKe~r>ZH}Cndq7DKmKFxs$7OL6#}# zG9n|YRpaU%QaM73Zva}4A;-yedbfci`)uYKJz55gh^(sYb_9<~8L84W^C%cv`eeZ2 za+7Xl7xRn=xCit^8B!3E+V1gACzVzs_t91V*L__WiGIn2<^`x-hz(0TBt2ksHS}EHJM4S4(H_ja&5`14{lzx5JJ| zja(udyPKZvVXmIMjL(SJu6}=OC$0psyH)EPU>E*J^f*y+-9`(aWsbCv(3^Vw>K%_c zJ{5SYKnV%y(UvRJ=Vvr%vyoqdUc!v@tnyt@S178(Y3qX5XNlu@4F`^Hd+-mmB-)m4C_cK=x{Xi1O#NPV+T(ow1~Nj zlXac+X_2lHioDTTpjHKnX(5bg@j>~#-p0Uys$b;udaU%vv|F(y^xQ6AQg~FtFPW{w zn5NvUU*QQ3BPHNF_DB6E1xkyAh@0ea{Tff>*-GtE07r5$7vM=j1p7abdTS*@ z4b=^T1=xKuoSkQP2&9_L$JsPnQ&Oh9Vlxm8!w zG|!;eAw5DlPDHnn6VPNk_i&vaAu&T*q=cvmgyv%hx=Oa>_yiVo`3yNyZqVD=$vgoA zwxaqe*-1=`J^>vDYx)dwRV5b+WMnkRNStnq-oew%;d=Bg;8bzgka}>oKY{`mMtSx$ zmgzFkNBA*M(j%rpgZp?zKgpcLj4U-i3nqw-GwUgqV?o`PM@W>c(qBQglmN|kOnUi!}?`Gl^dmqt|)aZtqayf-QLW;*M zKPBK|ZAwZpmj3X@V^<|Yd{V1Q=M2Wf|XF$skVWk3W38t;Ooa*8)zTBv{^E9*ggnW~sUMkCW(l_Yi z6H;o2)#sOcQtsakOPr*9Qartvoy>9w&u|Y{>tQlP$!XH3VTrjqG_xS2Pm4?Cc>O8A z=0!$y2wC8GPUQ%3Y_g@K@BwT}XpRAN$Pk&CcFH=;6jU})H0zFzRaW)rXZi|BZIp&T178rhBE&**?ZvIO!WvzQCjqA%XPY$ zr|9A%`~Y9iqA3H~WTZ54@SJ+yxV*B-8C>8n^$|kMN98m60Lq9NQohJ7dXx-_D2Q=R z@oOJoYR9XC<&9`?5k7x!3}8QJ$W_{w1V;itq%q~_v*PQ-NV`vxOz)#li;cX*?cA)J z#L@0LIH6}jQypdrkP(s*TCgZ293eOAmsz4ii{YDW{6-gDYL0$>4PLC--*QWFVT_pDu{$@{HcauX&X&EfkL>zR$ya zpX>Bvk{PC@Omw{&-N|C&PN$Wspld+S5h)#`gV%8t)2+59O#+6b#BZsqWnb8I&D19+ zw_WBVa+&^wFVK-Cy2SXz1moRkB?--H7L4m$1w$gP5MO`HEU*eMg`L?A zUf?;p6u>&>QPb&jBD5RX!H5<+d6YAFyLd9Ix#~ceZ4x{_B-iO?2DBNHa~Id^hh>R? z*ywvaDskWGnLE*CMScUfWkX>oB2plh|evKSx z@gm!}Qjd@f7}2!UeSJQ=dulO6*&tVNu`V(qC1j4ScqF7I=`06&AO#Mnm(U^MgIvR3 zbBN`9c3QsDGl{Yh*K@4I21ZcJ=I7)0sl)v$c;8w(xDHIKCUuU_IugF4e@%}L0h@>k zh$+~`gFME6p(o023IYlugE&mL39mh?uFnUCw1|o5>s>s;1~M8favGP2$1+`fMn+s- zPzm^gBU^T;-Zmq>hliOXAZ3Y5I15ik#t`Nlff5>1(Nh%GgOL-ks9PE6t!$K>gtob{ z?kY>=l+`%>rvJ5n$JMRSkWI{xp%na>qZK^ym?6g_<8ih#M?uc}>~)zviFY%=4_0zV zrL;&W@EH=xHF_71v5}Y-ze4nKaXG{S-vnmsE>B5sU8gef@Q4voI&!Vv%~M1`m%l?e zi#8cK^9)>CzpaI`xfd)R0AzY;m84?kW1A^7E{#EAH)tPql2?_O15(+l5lfUH8tX>uyyv@Ti zr7CLg>$0BtxUQD5i^Js$`d19-64K)i(2vTJF;A}5{jNURj-#)EPe#TJ+w~rvqDz}) zhFr-fq!eB*cbs=_Z&~>)qj4_0#Z&rkd65pA$cSk%BH~E;{F)c|C;BPbO+eibDBf^# zW|}8Z#=Eq0!VjlKI;Nv8S5$S?F3ET#KEXI-t?q6A&yMN9u-r2m3<)?{PM~0sSrS5G znq$?&*N69Utf6g`ApsskONIQ5SrTAGfe;y$fz+N)y$jB{`h}$)hny>cJ}?FcPd=SV z|8H-nV7Y^-IpMCVosZc7-CWz3qo3Pd6_%LUL25Da0ZqhA0O^X1J2Z{7- zN%4tDYC)NL7dPs>lnkPU!3C+UKt~7Wk(1!bCUVpJ zi}8$}-K~IwAdrHBHZYv-Vo`7BIdbmf zDs4+>`0bLXrkwYaIQ6xaIH)SbLdJ(VjK|o3a4$#mDa-bU#QF%gqqKRIBROK+T@bwM zgQ(K#4uQ{z2w^~*0rPT|3Xd{FNW@P;FO@b+G;q1#dNX&OZ>waLa~bFWkAyyRa*f{2 zqqI@x`4O3(ClNloOjNotQRkV?__~=GkdAYF1qs55g5Jw+8qBhjZCtHKNJ`E!GgCm- zI+aEJ&XthF8jqLh$hoBY9TxCu^B6HVX;(%h1ct4jrev7}y!yr{7V{A)bQ>ul^Njc_ z{z#9O9wl|IH||uNWT`4B1vnfge~um-|lWrj?pV7 zU_?g2p}frh%KuT1l_kVFy53w`wFD8CuAv$V#$8v&;T*y539Zw+oEK#~y+@Np*7HFI z1ojRq?`?nD%DRo3XVoAhr^zy13v{9tJ&msiN?sy36rVORZTW;g$!_LZHpbsFyj&UN zx-M(?4BWd!jixHs(aE3bgO7?9eKMnKDR^4A`IB-12GQ z0LMN9s|bbW54_cxRPAwP>L_5qadMq*V}MVGm@o22`av0xQP8k;;6}clWSHh+?a-$w zH|UpnfprXN@J&R|lAM$>phD(aV`ip0)uNAbnuy**g2x;$vxOUUL0l!h>}M@U zP;g{Tj<+=+V@SY&!UCrfy6v>E4si1*wG5iXG`W$DJitynic@li#4K{tK7jq(gn$h4GdD+ z+I|*QUe0I43ZsRFhK*5mnxKL6O z+NO};8=-%`B5URj;*i~X2hXq`t|geHH+#7*QUdWkWUNx_cZZo@dvhXjdo-(L4L6M z3UTYRMP^hGAC*+U#)uXnF`Kzw4-)$PK!U0e$9K z<{nf(At@u{<6OJu)~ADl26T8ux9~i(BzP2Dz0qrGf7jJ^GC~4UlNEj^So_pS9GvJw6ET|n z+&oza=Z{TewW1AjJ=||~Z;{&kR!dE&QHCh*{uk6nc&*G0icVNSSb*zPiFf#}>;3gyh70Qbg}3CuEjqxt&{d zPDX^}=8sA3)gzRKp@-Zl65zB412A6>4(LFt-m*5LL4YvAldCvUf6h;NnVdEw4&w~Y z=LqSMGHY5>B|Ar{US3ghS1oTIYx@X0u&i7j5wYIQc4nAiHy_{z-cN%_cI!{Mos5(j ze!)YWH{Kd2-(m7S*FuI?YllLqirt~FxAP3Mb~K*JrzIh$!;q%AvbhzeCvzzgBbqGg zZM;AmC)0QyXMh#yJH%rcLov>G*1M!K0(R>iJV%EFA>?E{G8#0dsxz}3G8#EXZT43g}NK-zqTX>WiS}5N^^+IW~NP~ie=6L>< zX!L1DxEv?Sm=H5#)v1(^$PIcI3T$8(U*T3gQmT%>l}BiuFruUi$OvpjWJH`Vp?-%s zQri5E+qhA?k`RrdN7J3MWtt>6F2llf3qK)&-b0TjZFX@xx9FiFBx7#UoJnWe?SZaC z%JqzeEYT+6Xt`c*V~8O5+>7X^B&FofT&w2W2rCVIw(C}&;c%9LK9_NtRr(?ZG>KTY zP^#X+@J>;AmnXcV#c1+-zRjVe?54vU9lHvTfLDkZ67V}7;}oh+lsA)Dtt;A9Grq7o zUQW(w{Dhw~OGXT1c1_QGlo2O#wvoK3<@@U^a{t?8$5Yt_8RDU&GzsZjRWCORq{)D4 zB`0M4u3RNcEiiF%BA|@e$S$Hy1Ms+K@Brw=3C}{ z@&)}0i_8(Q%f z?Z=ka`CYNvQX7vU1zkLLbF5q?|ANce#3nXy8kez2c39i9b5>npGZ=T^_(U}AS7^ie zZd0L|KC<7=yDz6`LC8z|o-Pe`b0mMp3DOpkl(t+V{{YvL?(-mt=BrN5wf9UW8&n+y zYESRt4>a%z8FCsI+q_H7waQ>se6lbkq^EcB3@rqu&ncWOq4WWtj2=S6vLnTcZQnV1 zOS*-pnIS~zb17#?8|V`m#|+e+JGcE+wFZS%kAVF(@@lo?fH}FIBiKzri+N%m=eLBk znWM?e9L|j#E{Wwt%Ruuzb5>D|xT=U}H2EO~o?O8vd6kSI>-i23XhxG#+oRrPRnnVy zR*?$EfIXLmp25SHEBPqP_~fkPhy0x`X+%8EnpW?&(gYy{dN>u2(D=9#j*}}WaJ_yp zckrA}^Q%shsFZ}qSlU5p06j7y0+t9kS59RY4h;JY_YxDbM7?$}xw_n+A=#KR!N(`z zc)5y(!FrbYDle(afcv!$DH&g#XHb*G_za;(8^xo~2jmu7>}D24xQCzW40W*L+Dr_j zmf{K6p<8)@c^2`AxtvoaBc){>2(AmMx|esp$49L?;(8%|NJ4_rpu;?cfuMvg8;pmr z;0IPWDxIe{e!ZpEjgpg+kQoHhNdiP<1o9_*h@A)xd~)l^aNMs$7Pyr;i2=t~S&kj6 zp45}O`a7{_Pp97ks{nZvWVA>a;Tw}>!DLm6+Us6x^h(N@jF6Z)auR09DafsdrBun2 zRj$srI#~(Ea?jS)D!N33M1%wcL{@un%9i2y-_=(ufBA%jc!acR;(DCRTKPMnRO&t_ zw{R(C6PxJK0A64hj*-rVp-VhNfsYdKVI!XM_c*Ix`>9N-vP6%LM1;&6(m$om$U-Dnnk(>0X_KSO0nh8N^n3aveNVa=%TJ_R6IO>%d%CQuH#4MZF{a<`BcAR4_kCW16Nw@L>3n&ExKF!G}J$zaw zN}X8-SuL~f8k%<^6ofR439Y=hcPd|8AKghBjC`EA$~jX02`8|VWin=%XBNm=WQoK1 z#~d#`s*KdzH-iskn-okn{pW^v5OW;m!I-29coB!;E!^i)ZN1B$jhmN z)|8ZvT*dM1BqXEB_xXE-Hho+ZdijJ3>Le+Z;iZ)0n z;VK?=B8>WJ;nl7)v`=o5kaLM#U^&`0zh#TY+OZ6-bK7DvBXn_qE0<*tYa?1vFya$( zB{?x65xcmZXSHRN%h=k?%&n@xAmxct(6I9*q|Xs@EA#B6MVo?qct}g|ihB-)Jue+U zkA3}Xb*sybdME>$yrOsV94!l0F6DG_yoGM|luU;8_mtXu?JJuMM9W%GNX#?j1Y|Vm zGNNIf6a^^_+BW~5X19h`hxM()w0bvP<#Xy+rMsBO!w>4S`uYY)( ztb#TdPBrCxJfn7boR@58X|apPNQn@Hrm;UdhDF~-rk+Tz&$LOeyV3)l{Qv5!vfUuS ziLhk6Pp+X$LKB~Y%{-+|1Jp*82nQDkCKIc*u=GZ5o>e5ba14tm9a`MOj|g!xC%KKd zPg#vBY3)7Rdverdh&_A~QqGXikTF77$BW#_OX_xFA8cm`aZv8SPRcsRca<7*w#J}+ z)60J);&t!S%Cjtij+c%RDi4b$ydjic(F z4yz`e_Z)b?{A2wQKj29c3$>ffa|V|&FH6juaOEWV>3gS)^kk zk%=9y6$soNuuB{-nSPx<9U``K7dPkz88T1L6tNnlCe>RJy_8p3f{&c=?_qM2Zl;G% zlbkJhdV=gCpk>t2>G=NYHO77QdvB(M6vWK)s@}!RH1P;oguq%Nz!GtnOQn8iv4}h zug6M?1Sn_ciJZu5k^Mnspp1*Plw+K^KtFpv5xqQ9g!Xj0k(ph0KXNO&SJKv@NLe{fP&U5^p@ADbGoJf?&@U%`bWtwB{J$t=Y zF13^q0Xa=tbnPiLnWImH&kVCH60pR`NCryVzb^4))}?y(p1}(OgBFA&dMCeOmY4=R zIGgiDS)xNqW*N0fQwF9fm5-}YU6hQ3Pje;>Su(JiN2%ab1#W6>{%V`ncHPSJbVzB? z<5JF&oY))$h^#T!<;Zi(&HDU8?*YrEb(kR{Hc{YgKhN<=Ju9IgQMkF+?sa{|6>KN|=1qls4A~)-1nm|O%-|#s-T%b?E0?XzQ zSLW@(*)1ysJ!ZL30{s>X0?)@?k?96kejT*1jQvNU9syWL-_aS{TTS#2!ACnX$LOaKG%rDH&Aflq8f zw?E!->+f98;7?|#tADi_60)d2tgo<17#ma388?iu;Kc9s`0g$ZxtA)4fAZip^{`GtkoTNiI_Ltaa#E=snbQw8AM?j3Aus7)@e8^J09>X?z=(NrZf7Td zq)l~k$F54l$;oMcr=+-8DBeAKeBww<#bqL zhJ-ErmW>oFk#R9+NkPfPms^Er@+fv~nHe4(2D*i(Xb}KAIiIscStg)i5~)t_U~)#6 zFs*_H%X%lzFpChf$R(U6BT^bbY}(!qC>N2L;zdTp!+H-9O;VOQf~#rDh^B3?`~Ofb zo39H)-Ukfnu^?xW7@*gwRt#tpOgQHI|Jn}(O9`1}NShH&xmGXhKSBjSlvPFzqeyA6%zF9HbTdzL2n+0D zE3qC!TZDl5u>@tEbYS1wWR!sT}pfYoJq#ayBwG*ng+X&r*a1qxC|oX7c662Cfe&$PBZOm1x%9!(Z?D}P{yfMp6U=WH30kLmtHa|{4;6C7sw zQQgce9z*&Z%{3e)Jsb6EbKZaEoXoQP?;MLZnf1yz=vR-3fEG?I$a~L~cthro$@qN| znsT+~JWhj*8Geed7s)IGTc4HH3Dqaf1?n-gEYXx}^$wmQq>0ZD5WQF$48e3}hO55k zB!`nrQ-l^|3`zK;pxf|iqwM4^uF?<4ZlZCbq7K$sITM`px9hrUkdq>uDY5>91|t@D zj=$tdb^*{~06fOmI76@JC>fDjDy_OwkHSQb15T1a?_xw3*u`dU(ZeJr!AXJUwX2(~ zn-#b&s#3&PIZQ6o`{@zWCgJOxOhph}x)+XHuAtU1no~4VU%DIA5WQ60F zYcm@6S?;g2#!B8-6HJ$`c2FaeaL58jyAxTbMuPz@W~~ydeu-m+vyOHlcHoC$;BMWHyIGnCF4unswc{jQbspsdPFBRo+gnV)oxa? z7gkp1BaTSP>2r+Ss9(irgb!@yCOt-mcVAXr}Mr<<2@IG1;H0kj*KChAF zh)vr+==V?p7CD4<25ES+LWukJZmLX;>;3A}CE*SpV?9G=*}-XCE(Jqcq~sK|C`jxe ztV2Sa3)N;>H}fnT=+k7G^EgieQkvER>!5j|vFlYZ4)=FN$Zq{A&ofIvjL+qqEXzi& zlHw6iHuk&9lutnuE_vKaWettQs`o+4aTqVqpu@MB<5FFaRA(gRN!`X1bnwXdBy+MhNG0p})X6fjXHZ31f=xA7cJ5<*6t!+8?Yr({xePD$B%U#BPs zN8`U!x9|e91Pn;IoR5nWBJG$`M$VAPU{?XYafLmm_tK!C$xaUEdN#_yL;}PDu3*2< zb;m1Ia-KOy)8&drbQsy)MI?ljO6`-+?mc@gbKuC7h>VDWA)Z{P_ws9Unrz_jN%Rut zWmm27R%+>hdcMD0E1|J1LCk_&sdw{RHZr2k_X#;geSwe^CZ3nnf{N-OF34$<;1QD2 zFddJNN~ZS^GNeJD+qhXbNjh#-ruLrG=Af<~fpKOAHqXz&<0rhr4%QPhGG0HQoQ#lp zw)6kuztO{Gx-mT^L}{2%_7cZSuJe>1Z*v(;b zqu$1V1_4bPBy1v{NJ*^)Li7yB$(ECI9;ZppGF=KhtNg9zlD(5QU5^S)(%a)i))4~* zO9h2$w4|BB+C}_}< zh6V74%b)0Gb~1xc$~Kz%0fB@D9a1W-v`HSnDos{>Rj)_YYgYCBP4Q`414D}N0l7uD zFeIfx&R4iekCMpP7`-txn~CeFzAESt6EI|*T&G)koCRiC;#;&hR_A4aXLYSf834v# zd1IwOC-vNBfO3{ZdM`2aY~&g4;5t1-N?>1oq$jN&VH|XUl)L4U3w{!j?hY%*v)1G{ zyl4W9g@K#0%4YWd5TZzESWyb zPkD}YWF*XU7A<4yf zORRVDI5P;sBIk2~_@<$gQkJ6_;RUc{DzR6S$<5!IkZW}VNboDx-xf|Q^MGUCIe>WdcBiJ*nraH z?-+40FrRO-z3Em z?TSI}oDfDNr|Iu`jHZ#?mJ}{RL{6Xeyucm&BMqgb)^#q0t4B30P2|(#B=Pkw`g90c z;!Au%50jV%o(T(-Ryir&IEm*7CmO~Qc!=Dpx3QB5*lmn*b@G+{0b`y1yaJyFLkceA zOvx-1a7=S4jj0;p{>K&+=4=i*TrSZsGe?IZ%ZvzUk~1VHqeZ|nS8|M`wcxi*v{qxW za(5{m+mh(&F@DJc85y(uQ$8pz@pdww)c;722J3j3M>w0{)Ysack!{M!5XSC9g1t23K#-|DF=5V<|zrrFjgm`S`3wn$Uak46t1n849 zyqah3PY*GO{c7u4EWod7R*sqP7`alnj8FF4xmk}AF?GIrEvl~OR|@22hGU3WVnMFe zJ9w6m2;m;i;d}za8K{j%mB^{?CpRWlCBY*hLP`0QgnBo9Jm%TXom{1dN;YnWsNP{u zcEAKuuT=@EN1v0xi&8^CDOD^A+o+TmSYo~9fgE_mr?5k<#A`0|GDlk$vtsutAIW>R zH(QB#El4<@C-_^|18siAuV|1mV1^C2Lh$D}T1M1~ulMz}y&fxrLf)9j@%oJL!&EM~^ zK4;lDiJ`TgIY+S(SeRHUrxZ+6vc9)Y_h#vMw=56hgn${jN|j%62pJprTW0kfiH+Q& z%oncI)DueeG2h6dGn!p&F0J@s6F^%Ok|Y;uF0 zWcJjRkBO(70hnhucW|v9Ap@E?*~F%itycn%9Z@?T)C(xmM_C%?WAd3$;1a%9S9lk+f&OKbfZ$4SrF(*ll{KhggM z#V6)*K8c5K)z*?~-5)n5xO2oGyP9?9&?6(VF0T?lkW&(Z9QZa#9Z+W{EcYR`oxk++ z-c2^iN>?S1d<(xZk!dUit0)n>IZSTQyII7iL64mrW8k`aDysfB_9<$V;0;C$)Zqi> zM6E6znP;?G)vA1b&N3gC8+8jQZTh5qmFx5)GBlZ?ymqowXF=)DyS*DS8tkSkx9V4T zngudCe49Ye6OWvj$f~<_f4zK1zm_yCPlOVdeGf{LCeN{rn{=a8+F->h;bQ%(116Aq zb5<7*D;Jro5x_2Tt54-qxxJi-mowK-1`j*}F#xB{xGjb~_45b+~aFO?PpnkY?c?$2qC zyFgYp9hcuLL3Bexj+I+K(xQ#-3-N&^vHQHC_f4$4|ufA#95tM{e&^l8f< zsq*(U>Eh91K!=bKInQzi|A09e?L`S|&lC?%YI&Fb0U;pfOpY^!#Do?x!Uy>XzhRD? zXNc98Vm#YcV@s>XzYcqKc!jd_t`eWtJ+L*Gh==klmvE7I zEa6-EdNojtBY}36nif0sPF`RRDA>*=oFN4R8pgom7}ONcfPq*C#?SRm<|u&Otm76A zlV#fUiB`11?~i=- z7)_)Vgq6UL$$z<7pVJ_xE7$0~{FXKm@KZefw6utcOsOXs12gp} zpxaPFB2vD>P5M3=pd^GqyQY1$XNrK*y?BH^>nUn;PEZS>0tBBfkF%^BBptu93@a0)`BBnhblQzV<+9|(I93<{!EYKYdk|iix#`cfW!F$7qcMCRpqowICv3NP~_k zUP3+PbfDWxdarsCr@p%1t$TevrL&UxwAzU)55fuKw%EijW35yZq$uIcb(_?ba^7=D zkL`3(8rBh;0RAd;;gh?mSn@gMc=7eCEaP(syV=V1`hM}is!14bXIeMSf&CLpkOkz- z$o0B~Cs~Km zyn45TK9E|O)pkVEE!qfJ*Gjzu$}=a|mHB5WyIEwFE$uzqyG<5ob8>pN$cUWNIZpz5=IRY;j}gT6 z)=O|m_!h6|*LaEsLe4T*a-JllGzdwp{l987E-f?8I-ii8x|Kh$o)JRMrJOA(iBW{Q z=KRb;vfO~HIS~)(T`Z6gFk&4yvrz{4jA)G+!Q4}u3{v)&O=f5(9W*glwt7Zufu7{R zG#&4OuF~3MiCMW^n|y>#;t2CyuwA`k@`#o3K03*q=P`01Qn^YC9%Gg!8Q(+nVrkN2 z9Rs5xpA1P>>pyWM6^=ATQAT`3uF`u@$0}^R?8kFXj7N~d`?>~x{E_|*F+L6Y+|Dife(8;=BHT4rcUP^ojL>+8 zg@Q%qa2c$_51Gtixk5ZbJ#Eg8#JpK%Og`=2##+ET0A6f_v<-8@B$9!++0J{L(w-}>oF zxzVbQ;(mqr)_<`}xAGh_BsAI0*_HW;&;nQc1n>kbxQd&r@zoFtK+QVU*td2P2y@KBbrlg|4R6w z`(9vl?349aR~hng6bcShmyXYY`mR=o8M&@KVZ`y$)U7Pz(PqGxxK2MLeG(dA9axiz z5?29p=>gBs6N$kM{fPjo?wHi&7~cNh(~eYCZ4{d&uHQ2!wvIH$|GyThBGcU#0m=ZM zCceS?N4!stLP=TF1`(lzEECftV^n*OJ-z>Gd!*Q$nkBLt)T5kAOp}1!bn%%X)JbA*6sU&cYUSxz&|)QbcKHsj;h={QbCleqTj|qbo<4uY zAL(&2vP4n^Vx6qA~pN971AB`1hk1*<}A*Z z6qjvwbotqM8z>As>fz&&Fd}56+jyE5DNVL>1{X_8Y@)pxAptU`b1nlhH-0HT5!>~4 zUSS;`IXy1s9C7XaDG5T8!hl$wwc$b&|BS;?cx`gmYu?`-}y7T{8ZL=T%sy zU~a_>mKF1&Bn4;?Frb<@g=H~a!+$|QgPhPB`&V~$T_!an1RT@aN91~(23E)-+jvS{ zy*RhP$RFQT{eZ9P3MCbXXFnNQfK~l+)Z=^pUA)ELbzmiy$PxSPQPLtLq(nqD-IcZC zSXAj#H@;2>%+>f33Y3TuBl;9tSBB}N#qK~ABt z1GpIL^8{dw_oM$md;b+>*Kdc#p+}GIhkofX?n8~PzNYRi*Z1CXhl4l>q?AQMAeDPFM79KwPxSUHVfUcF-eR4((&{~z{_bew9Gp}Fe1?I>}$oK^BmE4-}L!-`h z@~OG$h8MIDey)4)iHTWa6JKDfB#0@icn0cPP8V?EtZtfaQlh%^D$S7u#)*#7I5^MFVi*)1~&SRbqN{1iv zZ4GcLCPJs7RMjMSsjPD4b0aTL@d+4`@)vRyPAoTKo-gxf-Ac}I;u>XqRHlw96m(@5 z6~#maMe!|EalMT>Lwd}i%Y@nM(A~jY^6@&>=dE%T5hFZemiQ`v(!f?ewJ=1-cg!UN zoV(x|-&Sn2Giq#ZWh1dyjI*t)e;l3hQGb*cqLt+1bII{7BVB=mCp$Dwyj6K}HE{o@b~Jwir*A;jT-BC?`YOL; z5^EwTZG47Q9Hnku4H`*Q_gcoss{(k>R-Ou)?2#Kug^p9UD|NMbb_5sd2aJeF8S#3# ziO^QKl3V$MDs2ig?8;>UC`AS>U@n%Y@Aq(|cspZ-|0zzUUV#4u4J^kD^Y;9KE;YzV4v({tJ z=)v2h);%Sw9%0&CPh@D%BBdZk>B%)*zyUmj7LV{j`KG$hZsQeIa`G|dQFBkJMtW7jR#QE6;6hh1tpA;u5$=uWnsam_Dy_Sa znizh4*<|?a8;sdy;2i~o8s}I^8?khPPu_qIuV#~N169!OTUziPoWmj>b9|34^D9kt zpqc(uZ{Z0-de!`GdsP1vpODA&K@(rEa1Xj{q)(r7b^O)t z60CFz6vD-~bVLb8VG%PVq=FU}cD;^&xny#_uS9!tlA2g4 zT^iZBX5p>QFFJElj7}c)T=@sYJjV<+C&uu-_RMv-8_oXoAsf^P4feJ?C-+Cm(au_Z*o#Rn3BB0Q_d6HQols=bn2~LqJ zAG;@|RZgp-vsjhMHMk$t+xa6gDIrUIiVsL2`Iv32ZMh;>j&_viErciaZlFuV3vA(L zcF3Y-bzJ9FL8Y^HB#c|fVszK+nRPFYKUUmv)wUK9FYDuakKV3#>(6vioi0}m3oFMN z{|!5oEf1V4WWD=srDIcA=FV&U&17zPIs~dR^;O-(@zkX(FelgWX66YI+I)+LRO#3z zRVjs3tL?Pucyxo?_+v(-lw2q`+AQnv3SZ?#?H~w=r5If3HMv4p?@<63(lf`|x7u>` z`_fvMb1pV=07qQD67_hcQ&o&>OMTuh*8(GaHgk|K^OANM;E2O>ThaCu(PzOeKne<*?aSHfHU5aKxLH%?c{#`k$*ORTI3swXhh!wj7V%W-VlT^r&G~ z>MlM9l5%On*U3jsU?t)Q{7?K3{0IIQ{%5{Rn>mJz_%yp@2_YaSVmUcheb?Q2`6vNC z9x+Z=?Fqe$HXdDGW*3)JGNL_B{Wi&t7++iS`|2*8NLy_@J85hu9FLK$JjIgjvgH_q zQPpyr*LNcA_@BYbS3Qa7z*e0q3~Bnw!NgoxehpQ^$G4hv_0tMPpog9HRbtAsI*>~X zjCix$h_HarVaTmKqY*K=g$P_;hc4`$}s#b`v`t$E-E+<76mz;-~b9x5;dvn@%B0CBoLBYuSmC2#+OmeNI%) zwQ1#e`H1OLu!(uy!%yfEut>sXTqcESHHD3gVh!x`NpbpF%4P=oWq!#lJ_WCE3Gb&P zeIS~sztz|6YA>ll^&%GZt31mVB4D0R@h*V@?Xg}}Vnit|0)yXpz*Bk$0Wk?fc5(yT zWk`#R_Nv#ta=!ieKMz+ct`DKo&+JXnge}Mhs}Ni4pK-`78-JB^?HQ zm6tU#NMg~bG1XNAaE^sf$O31`hZ!2`KA}TwE=NX)5;Ej%ylpI%ap)bV&cOx+SpxO%$(+e5;fS z0V(r*lJ_xBK)@V}{EEl<2}52-O38rF@L@)Hv`7v1R4|>@ufU!)M9L)~7lD}X>pg77 zr{o~#@&z_YN|zxex+X5M^-|4Qxss{GR3gPG!VHh;_eqI}sd@~n+T8jG+^h3mA6CJy zR~qY+fagP>v99vn%71nE=TLP##S{!VUv9uh$%zrZ%5Su4u>o&9ii>feSBHmH(}UWa zyMf*8B_g83_qazR+9Z_Y#*yWCo0V&5hXzS6uXCLOfz*+i%j)I$%u%qP56J(WD@fQ! z!H9~U`-}W@&Xd9vCz^v$@reu*T2V;`cogI-%ZcC5Ewv+rdz3sI#xkN%nwCK<$r8TZpRxRt1)p{}t zS{&3p{FXU%Z!kW zJ`ou?Z;{W_CnKiKBL9&Wb(6v9#JYQG$DyjV1qQ|~xPtfa3LZXPMx;Q_hzhXF!ooH(c}>s5bC z)fopPLWT%JM2jEl_lS)p@(e!BHtAFGO?uWNQlSi{N7H)nP9|F~mY-2T%7_XUHp@f$ z4I(01yu|suiCUcc#D(xW<&3X~`?`Lu*;y-OL?|Q9m(Np>SyRVd{8n3l1B6$;Hr6-Z z9L*I0gc_b~R&M4k?6cy=6MSDC9Zw6NVMC?uaJ;@p`V3D4`t!+K;!yP-iv+YOSmG@C zqJEs8@FXwOVxIT&an7P8^R(!YOiYX_2US;^T;Z?8C&rZ_D}C_|tA~8uB3t6fv-Bd~%~o+ChsOvRlUJTNbJeB7%F8i-(4VmjkBkK_;Zjis%(6g82PJ9n znz@a1Kx`GIE=zhFzhx6cd@?TKGO1W_)PQ}{liRg*JM?kKEoVva@H4U+!~G@8&hxTr6GsVToABDI<1 z8>n=^cK#7>lznul#U&3vSKN9R1AQ)(K)-^L5HsQyKCfqpX#kNE;34CB>V_RJI~@6Y z^EH#%Y-etKX85KK<~rJ{2KA7XoE`F4dLj4l%(#1LfevSJ18))6k&zmmzYEJM#lmX$ zslF@6j;G`5D|lERprl8}5}WxP+hv|E9t+H%q+=0`+GK@Y=EUCrLtAOph7lcvZ|nVR zVMxq8XYv_#N@h;>iM*cWQ1t5B*2`U9Z&uy0YBVMkyg_c#+c`*!E(iG%Cl9_Q6ehP9n z+chI+2lJf8`7$D*gJ*4x-nhE`~%T zwD6hdWuD?5{#xHH(6|1cqYuqG(&^)1eIbzIG2lYEPVZ%ggm-g^Kt{_1>eNclIpfn z>3h7~+_O`Z0ZL4UZ}ci9p{2DB(3KDIR{b+iv6ntQcC(u|Gb0Y%4kaz)P^+JQl}3Up z{0XR<3mi4T)A|iy6DdPxxt?7zPmh9*nrHH78+K^($Y@jGlks}FMsGnG&<6gNFX}mx7%h2| zp%j{lHJ7exdgv{=PQS*pY^KAA`)KJ!s01t$TjHapbU9ic&}kP)ITop8T<-R4(TgQl z2pJj#qy^+Aj9A_DitZIFxR*wBTS2*;_WW83ho_6xgS8sIPI2TV{SuE5Ge=6t2x4bQ z+0Vb^i~1>A;zEq#C=T_etv%TF#vK+;eaz#1lIl132%nUak%fA78-87bbDvw}q;whR zS9z8>e1_zFgbxujBp?;uQvff2Wgs{kFuH-EQEb=7ZVV;;7 zUSbdbNCR;s#-7oYY}kpmdSsO*hYl@LdUCbi%~R}PNQZ||K0=$mZFr6~jb&rB7JXF9 z;=7cKV_+?KhxmFo2?3i}a%jz1SeMWTUI=!54^K%v`5N0`x z4|4$>N$@O;I+B&$ac`Ekm%L3py`4TYgpByFd_m8W6vZ=Mzq&TOksK3DglD9x)DCoYA!wHK_Uj9Q#K&&Xg;e z(N`!#yP+FlRBe-)uLvdA+xQ;a$w|%0a6M)o9fYsY;$svn(p?w#u;OtF#`*7$%67d# z9My8dfS8K^WinIZ*a=fwjP&dLo*s~r^C2!3Wr2v8O7%(b3CBEzbsaCKpu;}BgZ%`A zj8HD;!%{M!Wl+<6ER~vDn2`}v@-w}I79K6;nc)j;m4cWdZIqaVc-{9%VKl-X86_=# z$e-v@u$T98GiM11+jxV%ga5z*5@var%ejCIu^QG!Aa!C*nFJFF2{9#3SaC#8uF;%d zv5Q4!_yOogr5eSFr75c5Y0^<~^UN`=1@^xK?kVpS)!XnX>5}nvuGcdpnHcd+q0@qp zl*rclShn+*40MSB0W)-^OUeS##LQl+8=4T}W?e+ah_^|gx6r4Bkn&Y-*6jjA0>k(> z9qIK4wLSf8CDNT~=02Brjd)Ri&EqUEAg9N9`gYy~;*k;&kQiLOK*$+U(y{(e%zvn$ zea%k3$x*NPmc0A1-jC2G;*Xre7imd89y75e2ja2BDpZbsGZC@g#@3|QRM%!Bgh%yz z)|sBLgB$2cpU$|RcVe|Y>(u%3->kQLyk4yNv^+*YM9z@&x32+R zGQEx85aXi^xs=N&D2M?JU>cz$<3*yGMJ$LppkL$n1VjwU`4}ISoRJ0cIiYRNj?pO? zZ#}=z+X)B|4l>IZ*djx6QgdS~<%soe$#`bwB>WU77kdUbbG8hPttpWU<@01HF(pqU zMnRn0J>IYrY1#;;u;=GU9#UE)^yFIJ$_sQT=<#j7uPqzfo>d~<-?8i~sN0WS2c6*I zlQ7~Pa=r0<1uSqIFKUc8Mk3S{LM1+)^{F@~HUWlsvQy5JGbEObdHS^R5rcYHJA$rw zwUcM)TiwisaBT*>S*|yRsTNE8XI|6@wfgCDKCJbSO4_j6s?k$PRXAX&5Bxy?zx*$J zk6-b7p5vG7;lJbG@H=f2TA-8@5)xaL)m2>!a{)s#FlVvZi&gm})w{aBz@O;t#B>l| z;#~fUp16QL0K|^lBBM!>;Xc=FXX|5RO_NPj^QxxnRstT=`zYxVvcQ?#Odv{&k>NNh z__nTt9Ze7M-G)tDl`M|Uhe;W5mVBOwd0K3y&zE>kedEGZnleX~l3hiuQkpc8Q-oTg zCs%VWBMO8b_woz%re?#T>@*~ssAO`zRfnxi&>mKh4mEapheLMDRn>|tRz`PBA)axE z4e22KTp#2Y?6da`Ig1PQQqGZ-(n|J>d#5&<-E|^^kkR6xK0-=|fDuATHhz9?8pQ15 z2b^URXtfje>SF%M4A+roi2QMwAt|VJvjbDhaP^cf`}8aPnQfG$6nvC-O38p(gdvsoiCPy|Y&4%C zkLkU1Nl{X^a6LQ35n(t)f3x@GNT28N-5jb6QpzlU(gl2!go`eo6P-Ho1WU*>oKG!S1bIA4zQW;gI*#5Lm~=7Mm7dK6JMNk0jmmb zRl_Y!1xon~5#7Up7H#%%8`tWYGBS{e6QOnl=LMLn>y%BLPLDF8q%g%EtSTKgdQ4WH zJIk-OuwBG4Pv#7GtDyHV&t_&h$XB^pcgYgbILNG++G+(O+4wj{A4g(M2ft#XEu5;3 zex18XnMG`@_y|KD;kW#azDIH!oAFpU1tUqR`u-{@boU<3U@9iTrzD|e1mNG%Z?Xvi z7C4*hn2{kZd}6Zk@pMdF(i9I>>&n%!e&D3k`HAN_^+^Z`7$USt@d)^#-b)XkgaNPP z3TCBXiI^@UgvyDonB9)ARr9kLgM_Quo?23K!&bKntB~4#bo|C|mh1GZBzSZw`CG2j z^JQeSEg+|Ya(d(Xtt*JQH9Di?P(ZZhb9x`Yq)kY`K3vFlXsPPTXK%JyG|zQ4J54H5 z)5zea)^go^R&_$v04+g@fFT|k9dho}f5pAbvxzNiVKX7maS#8JN3}&rX}uY0k@9JB zd)H*{jz&Do^Ten@wyM&s3qX_%A>hZntbqlxC*G>|c$Xhk>yq;bEMTs(lVY_KH_bDK zbQtRG{K~?fK9_QdM6x(m2A@R1gCjo?tI#PCd-YD9XA2n_BQE8`0t4e|ifB`stLN0h z6H-E2JfZg^2weuWxf#b?R*m!~@7b$+j>pej1;K@|0|tOc!kd5?ACHg`0ZNz6_!NY^ zLQ2=N`x}AOi8o#GC)Io@5mH)mHRrN~BFyrAzN5Lu^zj)Qq*h7C)FG2#r+TAv8>*um z4;k`ixeh1iILki1%uCwFV`Sq$Y~=cz%$07o2ZY45@h0{M9lz(1%!2B#J$z>H8SobQ z1TFfcY-NEj@siGw5L>@Z^GurOxAMn{4nh~onUF+ugivBGn=g^^G zz#=IDTi8yY|G<4(Nl1D)5{na^-B}-2X}*`1arh1Uj4IwU;7k2`=k|1Yj(J)}I{w9t~Bq%Kk=OpQu`4d|h5R>wLJ|zJoQ>}4FZeo3_P^vVF zi#hh|S9zA6ZO~Woe#z{&5aBaINE)409x*;Y)Z2;JOv!$>@z-pV0exFU)Di`g?&JEk zI!o&^MFAciAQs1|meazcBp@=P4M!4ORWLT}#M*KlsU{|%G%|*SmV92`$N-O&86Mz! za5jD_t_6%TM*ow3x-SmifqdMH3Qwc>Ejwq>-h%s-)p$A5$#MSR3a{8PjHxaUr zgdL>(7oOAEaVo7Kv-|5cj^jpo%n+eVpOO}^$pkDQCuOvz6;+Smra*(}DA_m8lpWo3IWlWzAS?J@^;B!DZnK8zfOSKJS@!Ck{GJviEe>)qpO7I1 zF~SH48X6yU2Z;-jQk0k%^){Yk)+$Y(;+-NaGD|^0NNGZau38fqbDz(XdM`aPAY&Id zuvHdmQ;dO8&8s;+ck#8DXO67`U0TeOlky@NBVszF`1I+r#49KvCEExX(6$b{jTyM! ztOl#Or_*MDPoEjC;$D8rPDX6!n`C?fVUaB)V?~_hbmP-R6jgZR8Z=yQRfw_2xI%9r_TJwukp zNtsD#--ex7n}z{a;c0N9xui-4NWvlcV;Sr97Xil^_9max^wuOKdMA%ygK*^KE>eV|SCjc)L&RI@}Kj=3Ql#F@K=UUFD%YL5WR_58nW?tql&e4`QXjVbRD0O;Uvz1iG87Cdn zbXVBeYHJb-BD;S|?MR#`{+p)TSD#Dm-pH6U$T@l*Ap?9u7W6KD&SnBK`drKhtQ*6* zY5_uKN+Xl>sXhtN;-G$om)Sy2%8-xq0U1#+H@TDB z$~?qGta~gmE1yx}Cu}8SJKv|!%caK>0Rc{NBwXg2OwS%i>rk;%j_`P^h~7NfF5kKUEx=Ch9$A4Sfq`U2p-8>hFby&hWY=COF1%SkCEQV(`=_8qtA!9OaeyMG#n68HX4JQ@FaJa zx*X82a)257L?nES4~pxb$j7-#m$P%C(E$lFc>GB3q)krDel~M6J7i#)ncNngdW0|6 z7+H_jR3K`}oAqfEH2z!uT4$wTgr}aothdl-D zGBzup){>vGjRBi@oIo!V-|DSuls`?IuISdzY>G#MqqKOtczP>c3cBoL51-RBWJF2J zYQpty(CoOX2>_aDlj&<(+xlK(9ei5@GhoPDq|mRE(#2!M?Yv%_HMiH+%eY}j$EFjo z)lc1%Y4J3U;v}au0gH-**6n&eA%A9pv)ONII8Dt!9Ur}Be1&Rul%^TgqvUb@CNU6k zkR9B_Ryk;NI*IiWX3JF9n%Vj~#PTUnI%L{M@ey(xna4jkneJXsh;gW%C%KOfYD|6C zvQ;wNy!J?NjTk4orwbE34v0wU+8j@a@W!nS8+JI8#w@7zg9MM9*URVi%cRVZlX4rM z(Km`RpprtLT#wZfR308FF)eb$SPN)~p&Xg&mrR}M%67^JQY*RP&6`mg(9He3M(S3s zt?RVNS=474G0R@I@sH`rB3&YuDCN!kjs6cT(c?Lu=AE`6dFVzx3aFTX+z>7hcAGO% zQB^jZxm^qHkcc^Ba#$Fwd2|SKP+jGM*aDO>CP6S4Io?nSPB~JlgE%46bL3EFriS z%YdQ*B|LeoD&)It<@@=L)%$+PfGczt5kr2Z_wouYau#_P=cDA-QFAgVWu4l#`ur7h zGzugC_lQ_xPOjFH-_S)7zK`n1B_kywVbfH5d6jyo!ElOagbf)TmMn8w@-{*5Kxxrq zFMr41=yn-cQ*vGJu7a>h`k_hSQS-gmvNlaZ#f6j>Lt`g(H0^=@JxjC*81lHS0h9M> z!;YOD{s}f2{+7Sm;{Yig5(8Ju7!q35Su$ewvwzGB*(4LG&S6sP$$jO5u!w}5Hjn57 z^vLM2k6nC`j=ankMix$ZqXf3Zf#R92A zZQHB8emNb1HkMA;_TOPI&(b9%=Ob*9#2#0GN1xYo0Z-8)yPA z=@=}{O%)lp-a0yZpFZcYgK`Yy(J2S!$ZQf3`)b0nX(Vp#7FC#TM_=xUPdhB>*Z3VB zN+Mq2lY9szCn6$cVA;cPRVs}h`}8(mp^M_v=Tbf(smVyEcE@s@9$IeML?Pq}y^GDH zMD*FhHEfds0ZxKCCN%{AN=$+4*<1$KHJK)yD_7_(v=LhTjHfx5hy|V}!lTWIh^v{E z0X}UO@mEwL+pt$}lX&#Cn67vPXLY_-Y1vN(#Bz<^!LMo4Cg2f5{Sa*#(l#3C=CO2z zcXEOj0Rvjb2^f;_HbL)VKuk=^SGZ2kk`cia)U^T()l5>&V^6ZSt?lZY9Uu*0bHb2+DWitzO z`5T=T=ejda6mQt!tq$ZvQ`QtxG6tM4pVd8M-o3x$W_`WXtOm=if{NBGe>si-#HVi( z@6+n0%WXMD-Ad1LDNMIi~VK=Z>7BW2M`8Xc{sUbxE#8Ct#Hx54s z&gk-r-ox+NjK>h=GCm{=goFqw5Ru>+`KJrk6^Qt;-h+ovheft>9cM_Dtt<>k6fm7t zU%TllKRNc}S;nDaKu*r(?B$!Z=n^sFSAZ~w5A+#vGjEcDn4AI8G9cK7Ew|~MToW)+ z15ayEXcLTj3(ZUVNOAX(pf zjGXpU!UYoOEu^#%4)Rs5)3d~h@Ot+CG3g3yt98(#Q$L5p1(mYwx~onVr)c8iv7dK} z=pJ6cb;wMnd};@CrH|8bM>+a-IGw5KaJ|{<=P@+Gn~truE8<$e z+?=TTgDZGok4N;ocm$O6IfHB1B`-0DZ-TT{LZa@jYI3qVS|Y)>aIZs3PM0V2oA|Wx zS!5fZw945u&HvFGUp19PK}91~-D4qOh)0`6+Q1|FEfe-Qz&Tt`R~DHwX^*N_Tr?U3 zPJ~sdR3V{DK$jVWm=0b0p;a9beGb zOJcjlWRksR04&D|`Vw!ve@%{=)ru?i|5aL~E(EM*r$iuiWY%QOneL0K*+A+RV~^74 zm6wW$rl+WDaI4yT_@1|lhuT&+)|#9-YKr7_P5BRXWfop)Pt zcBQ-a+OlQ!GhYj+qxpF8%;DQyA{>aF~V&EzNvm+)bU>EqEdeTin((;clv zpO^q8qsKnIgWs|ZWdvN#MUoIvSjg#<6H##jxh|^+pU3oGI>aoIvYBgfz@_#Sbnw;N zkyj#)uGP=0Cx59e_E6FxWEQ2MWI&(Ie1S_u$Klh7$gG}xHd+0c1hiGFAro62jo%*m z{q-A1Y=%CyieJExo_tpC;P=chWR8a@xJ+kcK!g)DRqK?9&23%%ERu1+;^(l|s(7-QShIukT#QJ}wmWAvzO;Fl&34LkC(LAFu6W zwfkK^ofa*ALW{P!&k0=;ONu$=Nq3w%Ah4Rzw31cxc{_Ow7jU%5P#)E9k~2%rJm+#9 zbJAyq%*IZ>?EEIr+$XhH#SDQVEh2uRcL69|6B>>%~UIBnrk0plIF zq0bVtjPxhm$1I@C^Ey69SA;eRY9ZlzvU0rFIQUqFF9v~C!t`cTl4TVb5KOio8$)lFLViM0Yf@u3&%NO=#JNkN|$#W)jLAGJDS zL7Ut@&+F|x!%lJr6kNf3Bw(MBC^*St7e4u>f#a%7Khg&X8Bvh2gX`ESeS89>p_Fs7 zTHUkg>Ul$E-w2(*jj9P4c2{MOB1+PP1dZ|YBC<} z%b}%B@NGawn;|{9M)&Y5HUnKACg2i;jF^m+woA#79Cmz%<4(kcSl+}{dIu#!ixK}j zf1^7@DG(qx4$V5OtFN&hQO%znjgCVx3hfKzjVL9B3W7>?r`G@uKk@O#sr)fzo;2uh zv?SmOeoaY)Qs5Jlk{f_11qxzDoXb`UgZI_6`qjK@rg9V7mWvk_>F^W12iQ!?BD=Yk z?Xrjv5s(>ZY56Q`?rVXO5fvoHW2!u?@5|W-7U8!tyddi ziF4)i`nULuD2ezQ*X!BR91$nlPIf=*sM+!dTW_ZY0kdr3Wn$Vq#0NRkv>hC@>UaE_ zSrlbEElHS!ZmnF(JY8(L`%zGErKtX$wUvfekqYs6iJkmo{z8_BfuV(^N82GjTyb}$ zSL+zWS8Z1ADW`wtHT^XC=4g}uy@Qc!Xw zACQy*9SR(}-m_q$3dwvDTKq!q!XvhJ{Oi~*1B8SgI(EZO<|SPW2;xRUn*+3XkDRa1 z@ggtMr_EWM%}!>dKYnd9aj{`*w`N_wNdZ0y(0wi7&^l?gQvT49+B$$#S3akA@e4MS zvzZ@|>g5tJBxZ(@L1e=rrWweOslhYxgB#=5_U1QBlbmQZgeXR84wZ8QfyiMQ8Pv{V$#9mS0$QD0tyN|UMGL0UuB6d zKCkdNZzMV4BcQg8KxzeRE>0y8LsDktZTeFRB3|Na+@L$e^`^u;tN$Chao?XeRcf3} zYfVCBP7gdcYe->Sc9HPEwjuzY+*bmcRe@;l}j(&I^d{RpuvvWbAi z=^dNW_ij!ws`JBo9^LrNA28idZ3 zE9`Ula*1qw9J7z*9@a5f&# z5wa0TP1$rA(n<2B#C(A7@dwT#;sF-8Om{NJetye6%+sRFbG(;#kWquUs%6MyveV%7 zv6V6q0Uig4dAFRezvCeeGC+xV6YuA230WkzCAKvtrayY;A&o8U$jm+0Vtfp@VG2sh zECaorUo%5VNy4Rk1Y|(KkQO;XW4oL@s}TTg4(Q$djuuMEh>!C@!Fr%ZMtLG+6qYwH zP-ZCjh2B9IpO6>X!A)!zclUfeQo0OI@(EsTQx%=Cn?X)oAhnG@1#&F#gv?4Pll=e8gyg61L#8pMt;P9GNGuder1T;J)_8Un?zg2F&n~ z-oq@=;vn1jBD1ncj54y7P{*LvNpN75IH-INVMLEUJ~5B!1LVx2?Bg7+VTa^)wqhNJ zP4Lyx8)414R7s?I_~hgS1f+ENf!<3@K){e)+(1W4+vy5RB-Tnm>%*#bQOE1!dH@}+ zH=D-DPFGIr9eXm+s>X^(LO@2zkhjRA`igZPdSvv-*U36~a{F1wz^dS>e%KiyJ|oVQ zEA{V~$LD;0&d=G!3@6ou@3r)Zx0W;(*63e@J zH;d|i7mHZ=encC{h|LK)x^_5X%jOwZe2z^td#%Fm80AWO9Mo^{ENvj-c|OTyk~1Vm z2(6YRgp>xwXl5jRd?H@buks>WD9K2>SAM4TZ=U-Omz!* z<>cwIR~(5OuM=Biv)UueelMu?K?zEWgpORVd-ydmE#M(My_~M}iE(UShtmlw%@M0s z0*u!VWuKTX-_ZvNh$z_4SzOOn zIY3B2h7ge&?_;(~)xEAr6^xi;h)|mlnmI#m7F0532*_5PfSJy2A3(P_O)BH zPS&KD2~5@MVSRue5g7}d!?m=fAg6^#Z2et6j&7n}jgCelQ^aBL`HzmkW_nk^eOQy0kvLy>Gc%guPduI`HEXcNVu3w7?RLuGc&x*GmL1n ziHs!z{+bJ92v#1i#APd_XY~&|?&*@ZXfE>#44EM!qohrngDlaJNFr%VLZ2au(z3we zSSo`bDQ}-=dPc4{sVX`vLXRcAo1YTn0WWg}mr6oT3!jjJgn$r88hmmXwQWgGz&^c` zm)OLRf)SVUVHq$miB2J6gimP5`5ZMG*dOcN!~}S}#BTnQ?J^?3M~oy^*U1v|+MZGq zz~mfT$FJtXQ^#bO7)&IvyXtHMt-cmpIq%$rSdG7HV^GVXjy_$L_QvaCvldpj zo(lm9P81+P$cf}CE?|*_7Bl>S`%O+XZLnk=%7U@_loMER1P2a)C4sgb_d?KxJV*RJ-vsfu$IN5jKqhpgvs7X|VOw5BxD{Z`Z zWJCxhZ9*yVC}}Y=4$SppCw)a~wXDS2>kg|Owb>wT?;_Xg9Cx#i83MMjM2no1gzfw_ z@0B54hSm(KW90~s5wVHKWu~|6;DSDN34W5z=2WrePD4ya2}I2g4C`;@Kt_8EapR&*OSGAzg-~oXuxA zL*}VkifeTH(Nlh(bcc_n$#{va|7UzHRRgMfQV#ncBI6LM?!fWca75Q?_3Wzdv5ZGj zNlZvaj+4a9adp5+KFhkQU`2(Q%8Dj5XV7v!M~O%$P^BUfs{ z)3h1TV#Q$pDA-c~w_;bi-8a?-~eqrMkMUyU0lk!(kHTVV`j~f9NP}Mga(_1a^IK7!|*x{^M z4|0J_N@QQR@OWN-#X%CfoWnWHNe&jSdaF7!)iGT+L^YZN5@MVn?FiozD( z+imBb-IHuWGWY20F^608k4)$2RJX~lwIkm#kH+6OzpI4gGXmZq=kRe|q7Q6hlZ0e8 zLhGJdmyT;fXBF2soHN8j_^IAamjYp)-CWO{j0njMey0bH!^zhiZ##tpsn=>%9=z^ya!cSl z>PeF`!LiiW`oRu0)A!5iiK`$Do{}Z?ekQRnEkPK?y?40wEogC4G)QDRXRL zhs>}1fRxL5pD0TvHX2#= z(sfC>>SY16__5wkM9Ctsjhjtd#4{T9W(DtPRb)=gk~P_&s^(hfl%|qZS}nsz$-#O8 zY8T+>xdW%NP1f#Rttqtm*x{FYKR+WSCnYAL&3p6;c1fRE60&6*-(*Tij8NR8%Rc=b zzvLh#ZO-95wu?u`Xk1;an%<{5J_|Y|bmVh-J5Mu5PLGGl^iz`2#MrO?q^s%}wz9af zlM?bqxmx#7&?06(U*~E)N0w-jpakRwjtVXPQxZ(AN3VT+O;Yu1qarwYPuI#ScRJYW zYxnW_``R2V(~a1agp!VQsp^SCn@v^UbtQ=6o?S_$HW{KuQswc4-bn|g!#=ihBU_}8 zbJL=63TgRTT=QT?3<(i(qdiZV2g9t1(0v z5D+0eqTis4&xnGv_zYVl0l+st+(X~}^)UmQKxKDc>*w4~tS#?TYN%*FT2^M&!TK2A!1I3w1ELVYXi-g!D)p* zsbAw+!*d3d{F?9Z7X3?hN{pH#QZ@$2sTWe!m{@>>%peS|Oq+~17T?^Klz`A2m&3Di zy*68Zx2wrp65vQ3hV+0x={NZiLzV~$m}9qolDG0Szhwpwj|DE_<1!+nh0oA3-{H8H zQjH)diWo7Z%RarG1!6|{WPF(SklWuUruyNJT{zFQNj#p=J$QJ`@Cuu_$ugD&9=Vmt zS8IPgS*%%8n(QTT0KWhwvtZXbAr+%svuj{uGh3V0t{q^MC;=HQa&FT-HUfQmK#KAW z9_JtHyJSBRK_lZ{TTRTOL@W|e=(qSb&yY~kB?UI|LH#7##U%=~q2Q#A>Z1E@gipb& zd`>-nPMfV9SJ@3`{Qo~-$+&8iZ|@fh+J5&e7S>9Li0zQRqqT^4k^6ey`? zv?V992IrZn3fR%82~BcT)j!)9yC;Xao{b#O0v&Z~U^tqbnC2Sh_(z3WR={yK1}xEI zM8FUAUV1=_z3kwN^kmUGZI#fR%;j+T=13XQVn9TTf`Eh`Khk@w_Pd`mxSq|D`jhQf`WG7d#QwEf@NtqN2S^22zIZ<}HfJ{vm7Y6KJ1hYq+Xj%KP(+DIG)uDoEUFHK!DTs$p{%*&N60z z&p_|t4t%zm*d0KG$B+0O|4`p00|J7ny!)wUGPUHD);$Cs1LnqvY4Ay{n%5>FBSwxH zxNl|BX8@;9ACi&c)5gbVNx#P}6twZ!j7P=+_VazN;^SP+eWWNC^C5ByVuXUwGT%jm z$hdw#Wk8qxdMke>uu}Ksd`N^PVggcxn358Y&>TszOx_cE8*{*r5nH)|EuyBbl#j8* zO-J_FVBL>jKVKb!)^N|l?u*N(y2aI-*jA@8{~NXzt2+2x*fi4H_vk zKK>Q|jebO6h%9q=n(LVZz`mll@NK&E=;0gVWWgSO#6Q$`h|9^R#0HG6p}klF!6Tq# ziLP9u%Co${96k>a@DY0_Im8t;&Gk7YL^x8L0Uj614SE-SB7BB?iO=f{ztCUtEc=1Y z`g-2L`D~K`*+kFb(NEPi!>Jm;x3=fD@o{WER(eX4R)W=lN(;`by7*+sG`Tia&pM`L zNX&p1Pw4&h$mwyAUEEAh26PbH9dj@+YjgB98Snr+a+9si3Fz>I-bqM^vcL|mW~(SE zT{7!7nWn!w`unXQQ+3=SAte!y=mT_7JQjHa*RV;3#D=?YDa7?eCvbRcrv0kVr=CZ5 zWY+ZlDjopGYuN=N>val@r?r`uYwjb>s#LY#tgrs(lRS_*dalxHT}sV*iVLSwd}2h< zoRVU^kXC@0oHh!ie1}_U0XaE|wO95i=yHJnAOAw%BBO>b5v-?D<X`8HJ& zLOMLJzvo33@z~04&fp9gP?A!0DIJT+a<~!W+8!&{JxBCw+{+9VafnAj52eFBJkQNs z$?bfEk4s@2gaQ$Tsn1WpcZp9%hrPOo-?NhpVS$hFVM)lWnZG0kGNY;REF&Hh@Pyt= zhb6YM$Q(DbL;4g%1Y~%&7&RS$Q)4tu*E?JQ<(^YwW2ywaan`na<%X@rCY#J1?6}SM zxs^@CBowG+&Ifdvr%lek<8^w56M?UZWf z5nPxlEU}H}^lqNu00SclpWy=DtrxRdMr1^dZRhx!Kkm;`3cB3JZS2GY7AV+6hOnQQ zHrsicySagX$T^ae5|YtFNf;3lt`HViN?8Z>4t~!ZBT5#zn)gZ{A)w;+E6I%g(Jeg% zU3`A7w-M8#!^`aCMz+cjpMa9UDAB8NdwjN-V_Pj;`KLJ{5h)`S-<*L0#z^bRLD|5m zugz-V%}T||M`-b~?x9P-0M~05ncho6o0JX-|AqgH#!{N|s4E`Zr{Gq8$qXZ6=Gny= z6r}8>&nDW8xRo>XOmX3oBU7n0Yy|Kb5*t5L#3Hd=t6$|g=I~J>$vJdwblTza$%u^C z3})!#qr6FO(66z`c1nKC5bF2r0I zlJ3r`F#N<^EcSnxwjvao1bJ*+%$bdG#);;W^BxT4OcrRxWbAZQrm=;Qp zhj=re5vO$_grs2P=1>zvH(MrS_Ui3C$5xaPDWBt=;<`Ybv+CKkR}4?3g$$4B-OS-J zAY(h%vQri;0~u1{Ga@o*-_ZqXOlB;X->=E<*8YBLnY+?Z4yk&~3Q`~@Mh))bnMR9D zkO6FLWv|9!N^&9|<$30;ik@35aBe-FA&dC@nm_VZ2GrShX}CUWS><2p4+wyO1uo~k zoI%6^p5nW_#3o{X%Y)pch?6_0-OM_0j&Oh_kA#?no}8o4T2EEADX%uKmxmiU5h;O* zJPr`6aa9vadPv~7l^ca$H1~<}^J{@u!e?A#L zzU_$BJ!uMg)ORYQO-_i<q4hR6j)qNZD<~c@Khyt_lrzZ5!Q@q;hsQ(gudFc9)^5uyT+N<@%BuXIo3Qth5s;DbUasMF;?Ch+dOlx6Xp?a-@6%Zc z$!viT+YqX3UkPKNg3{w9-NT>Q#E2aDG#5!mVH|x0A*tp6D`k2g#plN+r1{u6$r2yLaT*q6*Fc=KtVyq3_sDk2ni7q&g3f2kOA?O zu3)iZUGvp6^EV-ebrR1(`BOrBw~z#nQXk<#+9(lAoW)hl$%rngt?dD;js4?47i8J< zYyP~+xY?B6SWmRv>&5C-&~aKj$(s>1i>hyO(JMXs=66jczt@sXIl6Yz2U4%i*6PYl zW+9qQh0VseY6(f{@I3SMP=rsiQ$`3OIUbArg{T{;dBi&|)-R*lXH=E&PtZis0Xdr!-F4eQLBzcNj)07k zbGeb7(kCJ(z?YBfE8K@i!~ve={VWg?klHp-A5DlEnj9(2@F%^8KhU!)|2XfG!e}HM z16oQzX++BvDn8(+dIv3(j3Jx&JX>UlkJ2)!$D;u_njX#0QreV;xGx&Z#cHI}hdz(V zp!M+2vD%nDM)VjGqZEWZq4)9|qkQoQ>GCcv)AJ-XVpSP;E^OGLY&sXM2q|4&V8Obg z3K-XlFh{Vo(fT4o+YlMgnyMn`j<{d{NJPN`7jg}rEYc#UpyV&)O8t)%ba{cNImcYk zNqX^VCcCD+R%qK~RjI@W`J;}AVcd)2dO8Ynav}oexr_gXu8~f76IA(_lbGk3~X2NeJ=y5#MAMA!9%1 zjtS2*!*f);ZR^AT(IfnMWgF1G)vTHsC8`yHRE0)ZiLI~M1L(eA?xU;++we4w(572~ zbqqgp-&O6Vdr1jNIg4{pLVT1SIW00hhYm}0NqJ?QpPHoAJ+;~un|be;gm3UXm}BlV zmz*MytH=aA%&*jCCk`FwADzk6BxkSA(vg&hyv!@OE|3qfO)@-uT8>^sE@2ys2*NXz zM0h}iSgoeAoFTDgQ98V&_w#2u_$Ylo#(O0uCn6*zhjB2bIEvbm7A>CC+X%_&(q{*M z&2|}D%YKzpoZP%7@B5KGC-+g;nmlrH1E5SE|40G%faO9&W|pxmzi zlE*12nW0SwWu6E4|L}k+9z%1)PBgM&1?ZjdE% z^)1k?YVp+(os0JZ^CrT3DX|nL#v9_3>AN_GAtfHaBO@aqw6s7o4Y86FNQ%%JbM>t^YgU(PP%jgoSNf|BTiKTT z0jI{@+6bi9U~t2-K!8dT)J>emR2H?cH;R!EQie2E9t zx#>Ao$H0ai-YSX{aO`|yNsQ9C$Q%z@Y4^XSRf~)ps@P$p}O)`qM*@LUb{APX|R~RJWp(4W1S>$WF}%so`d|xu0WX-Go8Gj z)n~CgSTTU+)C3asYnuNy?Bp_`>W`|v_AG$#CRWgDMg$CSqT(akJfaUWgVJR`bNmgP zWx)~(ItG_Jn@lg%vdt+aU3{yOhO~@gqD{mCySa{8@fpInx^?WWIl@DO9+pI8Jf`>4 zBc>!}2iLG!TqWB99&6Re^)nA9cl1-o@jp>Ec?XZg7g*o65lFpio6Jj0ZjYXbImZhK zicf;jBBe#baGZHCUOc4fI?VyoPh%LR|<@icq2qFXpVHkk=8 z&0WkaLthdS5>g;!R9faf;E_<`Nrn}LyKV5cPHcyz2&q(1-Za~-s<_1P@{S^e47<{SZUK9MmzvPH1z zCLT%nNV zxL?Szf(X2!fastZk0awDmCv&Mn=Mojm+)YYZtxve}}jxIT_$DbHk z#i%K1UG=&+N{W(K5DTsRsScP!-Ce=MCmdI#>J)@d{qv^&ZP>|W<~f@y*(EszU8Dib zKGu$_GahYmruWk!Kw0EWu4l6>A!AylDmk&f>`=^br$PX5ysbtMOs1k_!k0Pu z?(AvaBlT)+We8QZX(r6jBPXZDZ+M0CNr;WKV3AEc&xnW+pG}RPf^yBy@5y8p@T|^L zzeq~gAY0K`?Y+uFhorRV^CIUoRggZyT zfR=$2D<{ldSwcWgmwmd2Kd_CAfIe4pkt~6=SGG<5x2jI2L7p#Mo9o#s zLrOYi#>|vWfQ0JG=GsTn%1c($m95)PgAH!*@w3mAG-t3wjqhGb|FI z6hu@CLlFT^1!%W+B(S>2@eIXJUaN?<1tDZePM2-`nVv~O*BUrg2;{0yJBTG2CxL2+ zb1lKSm4FceL;k=U>}f=#2r%Ri#Q3Dl5wJuLwcu?nopwiuib2MKUCBY9l02>3$V*GB zcm()_EKuSkv{zUCo2;j)v7}X8b4@arBx0T7WB@rZuM zI579JgTG?4>}Qso(KzJsEOj-_>Dz=1`V0wZagd0Z$MtSPAmSy?;s)mA09zT5;1Mxw zBnpn5r_oHQlq7Vm|LIZv76Bd}uka?WF^Y*1YBcEUGwpRaUd;_VGL!L6BU9t~dF`AIeG8U!>_Fw#zP?0hS?puoFV@V2)LG$zfQ&QgkdpzAaiMkv3t2}9srX^tv=MnTnv|@R?J$L-+<+^u__Ej#s?t`QWX1gq82bhMjm@n}|bg zK8~aHG5sb&i-4Coha2d~l2P)zFe)2kG@3_Q4jgx!l>@p6Pw5_J5R`+Q&9!Wj)F_>l z5Xahg?8eVzdZ1cQdSnEsKEnNU@PLC{z?IC&2#=gL={VVS{J@7t$4*|i|3sT0h=?{> zE>CXT2&9hKrdj)@xBild5pU#mJVBR;$7yrDZWkvv_8a{>4lqYS##@*XN0D0-eV?iu zWmR=@m4uifOjM*wDjgcUde5gRX+(oUL+}{*oCIe#&E9Mrqm`GyGD&PoFs; z=6nM`1!G67Nl6m2UvKAmHjz_Oas}^`gsSr8h@?Xk9u06cxd@L(^&3PKgbX=@>)9-Q zLULO6cV(jru#ytUkyA}f6REfgMaBqamIL}Sy~bCZMEG$UvVa zA_5lht-cXZ1xzsu^eFiy?`33w(e(!vS#LH8$#Zo_5Z=T0jBRpqTsfMF7Jbg-0vpFl zVWct6>aB6Jyj>rpPlw;}_xz>y1Uy<4Jf?TirXXRCw~m9gVh!V>3HK9ut)WE~stcRP z5XNShmLjylg1>-m1PsT(zLiH5jGN>` z0{oWm5D}s*at@zkP6hF*vWP5ls=BEqp;?67l<`Ep&Yc(v!0=xXv`P3 zx>Z|6y|{Vy4n_)%2h1?9-{KiI86iMHNo2|<^%+c4^g0(cr-LJ_a4djM6{P}*9q#PF z>2G-iyuv|3Yf3ImS<17zrR%uM33!IYbh-RfWRX6WRtZomBO5QSyR*fa{KiISX;0m0 z_7!x<@wkzg0WnxAs0xPEx*Z}?+FZgT41thGnCHWKCLVo$#KQ()o#zI&%OXBl#j`#$ znC#%HU?J1pZ?${*>P(0zIg3r~r_GQaLxYWiZ|r=o3K#N5uvw9t{Q64AtNP7^1dkZF zO`jp8Vs))T*HdkkKel!>YH^|Dq^t~&uk0wPkXwV*|c)3h6z`#ed|)avYnWhnI|JgC}{C% zx{{KbGJ9@0Xynp2NoOz zjPyGsY-JxkQhXwN3M1N#DA>(iE>WA!;F!pFm7ku6-uRv95gq*jk@GMdQ>A&(lIPl!lR zgf5TkUBm?V9ArB;(v=Y*9w{q9V2@@UpmvGfSFXa;qF_KwMwm&qDGP92$-ht>V~}*TfejU@U{_1y$YM;i)xm%UG66% z#smHekMGi=MM;FxVMs(upBb*>z2Y5L=-P?9TXn~ckMb9s#q)HSWn^6mY8f^M_KSF) z%h@i?<$3z9A3Jl~SJhpU(UO0p|8EY^CLm^!{lt{EX{GGr|H*kWw2rER2%p3<>mCvF z`c+=Sr^IKTt9Y*{^K_^>;&K8Klop8rf&4MW1hjaWU0lr$=~Lk0n;unjdu;|nfU&3r z#vOHJVMLvUONc4x)1l8C`}A&}HD0KBKFRx~z=fK{_#9v*$FQnz#5gzHqh(byZwya7 z^clH8TSySf@!uB+f#rAADpoZCfNvGXYz&Rru+=Oz3V#>gh9q=Z)LZ!@n~3mvft_5&NbvAUjb3`lP0Y#ADA89=0!(UPRT_B_Au%yB-f-)h z)X|~MI9+V|KCSop-Gqq>PC`Q&(qlhob0eE1B{K>mzX8>5_5wD;E02_jfFXsEtouBw z_Yn}{v6t8LDK;75d1BD{>dsAf79OoYzF9R6X|Y5~2$Zz=fqoxolhWs0KFbcNK-bmoY?#qUq>b4O`y#}k6qe;SE*M421%*j8{o!rkn zF&-t0_#7Z+H#hM?na4XV9K9wzJPg<&7wQX?looJSVT*%ng`{lZQ$+N^#BYx_qWjQi zTa$9SBJ_6ozv_SDSv)*?WCm&z4zh`V#s_7Qz_z~7!W~B#5%7xM!JpVfj?W^O^ATB~ zAR=Oj8qh~gIp+iQBjNz1PYcBQ;^peq|%k#{l z;{ee^Of|}}D|$eWwq&S%w_%62z{Z|S9E|9)q_^^0T7(EQyoW#X3+8DNl29_oySbe6 zB*UXKW{s=^`@|$dBN9Rq{U%RwHjBJu8fnfIfs8(H;vaFY3~d$6(FVBh_*83Lr6a?q z#S**ab9xIIvGptpF$08vn36><=WQ|~Cmw^PRuZgerWRa~A5t=+Pex51;ZiLp3vlJc z+2QWbdUsYUC}$mD4^Tqp*~SfQmOjuPhZIf7Qw?Qpb|2;hc%%e2ZUcU-_u>=dbAYq? zIA=;mVv@ggxZkXFO%ebd4XeBUVixddGfxMf@9MXV&34FHT+I$y1R?`u%Q$3NUr(`l zHX}R|VtPQAjDi*gBO(h1H*CXTBak`@)?}%13#aRPX_3>B>-nJG%TuO!6LTK#<^yb! zd8OG|NjOa$_lG0&`0hjPaur!%xB63&+76cp zTJQ5)X;!6_(CV8W7toahY+*E3Ev%q@HO#t(Tvux|gjUma66sIq9@@lY?Bfl5mMt=* zOCKlOn=b3bYX&Yy&(Em4786P$`m`wcp*~1RfX7Q*$Y+?5K5bINB&daYtB?K@KP!}& zgqW1?=x*LA38n4UWh0Sts`+ahcI37ZNWE&Ct_W0(@gW|I%#LL!cgW3p4-d181>VUO zY?GWtW=K|nhMf52<5=FYkc77UQ~lTclHK$e8VyB2Oo1@uGCqq_l<^z13Wqx8u{hHz zq;O>8v3!n?>M!{%izqQWxQMgFXAzHpgcP5Gj20z19xYzfJ?v#OIRiXC!+T_C@THWT z9?3YTo#7}GTKGJ!_s}I{M9EIBWw-1zYVVlbw%R&dKb^}HyOSj;9YPk@7=AW&Nh-Pt zM=HLk-{9BufB`v|b1}Xov@NXj$9cv2IFrxAX<}svg+9V>*hEa9l!!hN#TwditG+Fd zjGnwhe@RY+)90cAEORbthH?=YDf)&T-ZHDNIz6+!dJoUAg^~fvCwZR~M4ZQY#=aGj zkaCa~9tjEEajUrNNW(;{hjbX}Z9KyqDQ)_^kN0ta=Q)7T;~cg!CxP`FWTwp|l5703@IaW&gL`h zkc1XPA_OsLU$YWbpViSMoTyBJl#T;*>l55hn}`u97w~bm%E+X=3mjQPz7A)=G^o-M zW_(v4WD6~Qv!tZ>bQw`mgKXG_Z3I%U*`|q{oii{)LP;Aa84;j#*~Nf}o-C4CbG75Y zs{e9*Zwjx@Cbt2Xw@Nr${)PSrenG}89xZZmMhpqLiYwSIdrgbIJPtvWj{ns;z&baW z88Z^>kTbayNOewxK8amfN}CZfZb*ladHp)iv6U1E_&D#8jDnB?pTM&J71x<>U^?L^ zx`#GGz=%!U$W~b*rXZk2PDpNCce?78U@)RCIS1*|Vzh?qZzcnLgpmtHc^?n*99zc}^%c*d zXLW^?ck^Zn3k1s*Dh3-iY0jkz$Z2yx@8VZ%CPT>hI3E^A7?D{e*@eI@d@@=Ht#OsK zrr%eTgjp8#4*tYuGJN*(VLl}#J9q;T86gEj>lIDOXdC0A&sxYwj;6VqQbNcqLzIk; ze1bRWL;Qp#`uNN+$LshAZ99zffWoR$<-`nFX)NRfL2{~tQ6+KyEmJvgOF@xZ8x{&pkMsDGAyFS604EcLL ztM8W50J{a@VX4ASO`mSVmfJ=k^%`t-#fZZCp9)H15LIPp)e4vehQvgq7zW!Z#l>U9zL6RHy`3{AWQTpNsL-~@<_+7UrNVLWof!N zRo2;2IhO`S3#3nmk8kwl4y*1+5rzn}yr5s>WoF5MMXusKk|Nd>fHK}czO9BNs^z|P6Hr|dMFQes-{)jhmu0Ea$TagjLaS%<+` zk)k!Oqbyms$z%ErJRoA8Gq{HBCcn#AH;P7B&yhFX^Bt z2e_OM;W4uMqk<_kd5v?af@)=L-A_%fyCd6V#a7V5=8jtRIc$XWeLQAl3u0GX+C6Z* zql`I5R|?Z7`%$p)%l&1#>~+e?wUQryTbW>bC0g+2_v>$mtardlwJ2PCGU~I}#1RKGz$gfL(eSFuwD zc$CDJQ*55Wq`3vj1yiBr%OBG{%&?gkxPw^VAWGlz?p5GdyT(=3#xa+Th#4|t6$M8H zFysS#OhWp^;{a@RN2SWSX9VQ<1l+F=Gebz9lDG01W~EO>fE|phN|V9tq*ZgK1Y)_G zj^55IY$w4dBS1LFke&P!E|k=SoSn$CaHOn-r@DFcX%QP_RfrhTVnO%tJ0dbX4)7^H zB*MVdqb8rsWtJ8LGA`!>v}8bRug#gvwl5bfJ)9lctZ&ZO zDiq4_Elrb;<jX9^3 z=XzEXB2of;W_VQZpiM-Sg*ehDc85<5t0$3+^tX0!J|*c1$=hAez`TGuwGo5+P@A(lXE&+)8Fuz zPBk@?riZuHAigKsHUg<*Y?CZG(<%;4K0Egcj{qUJ_Un>9F$o22U^Lc+IC&;$-Bewj zvlF3pfmO*`DZGO3iSXFUM2x#$=-p(J{WRRvS zc%KxcJz-bPdP={EQ_|VTE^cI}%vy-!ls+2e^_CN{N#SU+x@ChrCtCM@Gbm80G6c$r%(3N%%0A zNKQgz?0AXsRJtP`4_Sle`IbO#kRvyr9nnTLnyXb{vgTi71#*rxcj$&4$|eKe8pToB z$s~_joqLT9SS^)Qk{S1@>q(7yNbjYE2Q0CJYuPFzVti9IQdUn%y*gVRx>gBO6tqbg z(d7qv51RQabW{V80^6MGoaPqHDwADUYrCF%ftyb_|eUw>zAmzufbl;VtuHor8p72%z8WopB9O=VpmRTbLn0GHl2O0fMK51 zpn7DC@J(%^99N;#(8tGqDOyVhQJp()I#Lda9#WE0;;~Qn@N3SXpk&0Sc&`*B#0VMj zxY0Z(v|N^R+Md*}(`JT}d3JLHTV;th`p2jGJd4@;}MZCVmH^a zg_ID-j}{q}u31wM>+~ooY0+nfzTVGInYE6V_w!MNB_i6!u-F97OqSgp+$qFok%)kl zZ|e`4!y{vfi}(aBV}FC;nwK7TRJH71K|;wJG(Ps^;ri-c2VLp#9!94G)W6k_kEl^EAFXftM?(--<`}9@^vD0 zIpo}pzlf3yXfwd0%_Dk0Ed-Bw&g2@l$cUH>q0MNGau-Kx^_-YK&wwF5Z5EjYzNh!H zg_4rJyp^kI$q=#rFD18L!S!g(WcH9bO77Q(*g}bLfQ$GvNJ(o9VJ^qX)yl7_f-+h6 z)zA$)`nC~B9b?mp=_RYYrp}7SLQ&7aWllw@V{RQ_ z`Kr=*=_aXQkNx=_ia)5X;MAGJ`m>Va(_^3B!Yk~eV2IBrc%NhxMD{d&Lz4@+HR?M# z;>Y!NHUT9IY~cpB%aE4g&g;q?OlQdJaLQ+7+Ds$;Dfbc5qGW+xT*D@D&SHv(Kki7H z&fGd&eM!nD_UnB-#bzQF$oMcH6_12AJ|!7lQl={s_4cZEHZ3|Nggl^+&_NIm@;0s@ zkUnk1&PFFV%vOIojK_@P6CiXsNX)si3*QI=V1Y%pkdM*V0fI+x63mZdYfT5Cg3ZRH z)uinek>_iz*a48pylF&97j+=vpRcfY@?gAvVNlBdur{2%gbP)pP`5>2xM@okw zLPTPdd-O+arX=Jg-pi-)q(B%ESS3mgSySDW zN#Nt;y0KxWzHJ0jC&X5pU_!|vI~lQ8f61R&z^AQSIG@+il43k@oBTfO-v_x0RwuTyfRZ*tLVSMC9(t6(h_kthtw!n~C=t-N zEx0*yw80k@vZ(j+G#yG(GA`jmI9J(`Uw19=S&nk9?g+Te)u+X`^&vK)lpN$DK7l9x zm~@~t&bPxqBNwPuP|$*i0VORw2BZW8>?0;)29KcyPBI2>9dA1A^=VCzi2x%)oYvE# z?%_9VB_k){GrUjwg!D+s$8wn~GwD@h$OY*M9a6oUr`beKM#_h|LWUH~8kEz8W%*Qk zLoTH9732yCZbsHIq*4$x@?Q z-gVmqnY*93KBN&XJf75h4c_19Os;0T9AK8j5Dvuzz0R>nL{9gEyDHOwHX+~9ZxWN! zVu{^cOG^?X!*C+jYLqnV%O>f*9Af66eup2kl@TrWauHV&%Lv7zO9oTBXFb|#f{AIU z=7t?@TW|aNMj-X7thvD++E!|aUG9k1(>Y-~FX;Dpgg;Y~5t0(Ji#KzLzD3Gqf4$xY z)bi`EGSBWz9ZOMRUpq~fm^LXxAS3{TpOqZ@rReZ1VavftH8#KcS-@WXdkdp-Qm*73 zk`huPL?}vTgc>e4=aUgr@|501kBpc_w)2;4kpr}h^u3^CVN`R`p6*Q&Qhaj-AJzNm zBJ|kL4z6LFED<931Y{%xMqR=9>|JQ*F`(^Qne`5yW)7iXo{#VW0!gi=1~a(hO}oF7 zTv;VC8AJU653+@Vka;fTa%RNA5XI^ePDjf>Y!_4Ar0T$EDQ$8Sb)2D~q)kN3fXHYB zs=p{tnwssgwr2L;flNzsW;v+0^LsXv;nC;QTx68-uGhi|K-Xjp)0>xCjSv!g%DQM{GQvTC@&G?2W=PC_F5=?^ zlHd_i(kG;3-JM<9YozJc~z%zyMhV zi+qn~xLQ9Vm2-WvY!%aBi-5w^&2s{}l$0c># z2lOuXvxOlZBd*{b5|fY-pko$0$0QdJFeJdo<0pCtF&1l9@S)-c&8h1%e4(2DItxH%$8n7Woh#7oPzh zuB$6!WU$le3PnvJqF|M@2lxS7$Y`;bxAIwLWr+YEAIH|{8{x*`mY;f?^YCl~%k7E+ z`m_+lg2c=y>MOBcf1NMA$IqH$xMlRd9S-Vk{E=C50_OP`@0WlCrA6r&H5nMdbowau z(cH*vv0!7z$KxQEa0zNvA0LkaK9L2vRd{>itR&|#eVI0W-ptzsDsZc3#Ql?GK-KwH zkmC(Ie%1_w*ZLPH)9%>3wk9)dUDF82DM*>)G2KHKpPWU`;0`_gk#UfB@+msv_)Bx+ z-EDSERzZ9PS**eMCreFq!;X$^1X8ccYUg&Ev~;D0>`CFurY3_DlA3aoM@p9$^-vWk$7EAi~yhN8FLdq4qSCmCsI1-46 z%m5CdT{%F^qk1MHB&ZLSy_BkFitvl?1~uY7~M8)s!{F=b5kPGC7JlL(KTC3f>!&XB~!-IYq0DVuQTj!wd&(lEsC zeL#vwOoA9dJLDn#COraD7CDSe`l)iDm<%B2t0@rv4WW3x9IS}LVTm3Kmp2XCT z{=~y<;UccmtrFvr82$V4w;Eyr!jLY>xOx&HWOxjTQAW(NPrt-I=2)c1BA?&`Qj*fb zBc}us0@K)VgwskuXxw^2mjldk6I*0}W4x>N?cLq0t;*#GCMoJD)msRU>K$}&f%ogU zhV8O|lG15l(yJ}o!3xu{J5o?E!$9xhDYlZ})8}F?!)KoMxIXBOk5NC(%6t+cVh$1z zk@0{&LYt5g!g*X}x>0!p$oE<{cs1@mHC-R<9Gj|9%WH?HuPFs><7_O+DDjwKzuw8S zY#|}$0GIGF5qsW%krl55ixdL~rU*H062Q}Yd7K@@3|Zo0E)!)yixD$p7O}}>N(Iz9 zK2#G;Rf6SXK8B{N{%jHj?co}rJ3OY(&}L+m;2tB(COoDkN1Kc;d-WFfF-wZiJfGrylCwx?!hHo!G0ElTMn?J`@R;67NRNzzZ0E1p zE(60}uTDZzhu?|SfCT3pKce4a3lT72Cs(pd29(U;Gg{#qQ+!ff`@f?zpJiU}%Bld>D}d9SZyvvhX$RvdZY?cq|doLU~XhVwRW@OPt4Nn2`ZWY~&BqK%FBWyFx*V z%K&9$rtRZfMWGx&H_zOz)7^3dJ;ufs=@YVF@8joep}=E5pW>rZut1lpYpxFCSL)`B zNsOvtNI<5y@)T!~F(lz)E*C{;ljB>JkQI-0JiDYSfOSbpK}M>Djg__ZM{d}Ov}vwV z#{n0k6u4SPU?lblsjanjReF6}v)a~7QpL7%MI;o&{J?ah3Kn=B*Rx%qL&1p1?#+<` zAlGiq6;$wO0ZRmQ=p%$Ytaq>tkBohs%{8>drAbGIRhZU4WlY9LLj})H~J`oV{q&`LqC-4w9u5tqieEQf%Me2lF1r&oJ z9fo|9AzK&{vPcMoMxE^%zYAu0h|hAa!K7q@rDuIw&AKE8R~#_MJ^Ht_@KF+Sgajd@ z%?_U9-|{c?JXu0cm>XOJF&!|e$B3u(X@1Vjr1)&(t$Go=IlzDA6*e)%Bj6G~C?is0 zeEN8_NUe$#Qc{=(ddTB?7c=J6ZRG~GN*@@}Wkk&x2GbBD2N>|J!WCI%?_s?k508*} zc5w|mWDzlUqZrfS)^(|nitxP4kRe?T>I3|OEwor-z{OllEQ@pyA_lbVF4RXUse9KH zpM-eK8g-vOOb;j-a3P#j^^wgT} z>D8;d*L<08^FLH~ed#q*)tObDS($PaL2pG;qBo-Gtt3(sDS`m5J1*=yANGzDan8MP zBye#7o)_!lx^v@1?AWpQYo7OctU{mKq>exQt*q+yOlH!0uxf2IwiN=G)XwQbULr#X zZS|m}DmoJ2?@&G`uInq#C(GNcI4*;k_Xa8-cI{m{VoH__!W{Vj7q!aU#NMse+)T}6io zIiZEJyYvb1c~u``K!co!V`z#{NO!OQP<~5*A3qQiIYiqhl{`XG-pu=S)KU4FyEe2*^kv;mhc*YPb`BBX{#3b;c8ZpRk+GwQ%I zc3XrcHt_>CNkl?Gji^HUK1wZ7p#H(Y{}Nz8gNE*dl#&}Az(F(XSfaDarIx}7;i zjltZ3%m!fz8BO|nFRw6zOOGBGalRxZw2@VyqoXQXfaQydaHtdMqdd(9B9snia2>7; z2=Fbvy*Gpi9>^W2&ZB}vqJZ}07O7vh|CU{g&Jp869b6lyI>+Mrg`A8g3wj4{v5^5W z9_MkcQpV}q$tT|sl@2TwqHwdb_WE}A&{1dq|g!DERNxRr+V zXfq%MOSClF$6ehy4(ENT)+^1vIlk zps_zzfcg|AC#6nDf6Ray!hqxWTTZZQKritC^W<#g6<*|0GFtT4yjinKnXM>wey{(^ zQ*5@XIx*8^Y^2A%Omi|GJ#wz%8=csWlUH8j zda-5~jJH6QvJB$%sO*WMYTL z*3;Nd0;$7jg<^?|Lxx90kANC|8stN`g5e}H0I@y}M&_<$DO*p|X;0T#y5Alj@kd-- zI-JP=!0`ghI2^|@Y}Ef`0Y^{qJq@KtjdYFAwORvl5O(T+0Wp7J zGdY*>T}eq0ny4k2$gFCHfd@nc^ zv0bP3o!0*oap-J(RDBC%i>b4q_wfNua+F0b;aqV^th$#8LDPzI&uHHUn7nL^N1rMB z`U~D+nw*%7?{kr00e^K;43nC>A|DOa`LtFlUu6QIAR{R{q$YvWdbdJWy9ApW1-Y*N zlE>J^Cq#sJ%yPPZhi^(%Z%U4Us`NN9j*r744F&|fs1IB9za@_2T4p7-3U3B>mW+`( zlpy*;*C95rJi^cN2n}3v<~fb)X$yFyc7G`efmUAU;U@+!*ES(T^>LnLihztozRtDO zWyy-qSBXx*aKqNg@aa?IRlO6XMMA<9H*uUS;gJ)L1Yi^UJlG_VIt*5IE{X!Pd1ULj zwvo}px6Py`YZ4&znYPpio>c`JJ<58tqGC|AdkgO}Pm2K_+c;6?X){Gc4~MUF4)?Nw z2ESuBCle7J@`}{>f?kD#xWL`~mW?Fjq)f8`kBmNxmhNK#mz(*vL_iJ45<$3jD@h2z zQakv(pm$Lt$6=XG+{z~D;gRByTFTo|$8&VU(cwA82rkd+ql5$`%yS~Q5{l5IPmj=s z-vwY)Dvoh(K}{KTdb*uAnI^`i!?|249?Lj1>7xWTyDJtIUmmBdFPau_2bYKSIi>(% zCtqh9b&2r_=wbS`Qmg7TDu1}Yn`!9~nVhJS;1IH`AMkq?=rhF^IGGL7rd!$eK97!a zwdzxhflET2uHM0WG*Do`Wt=ZU4~IIr1&lhwx{UeDqP|x>oKhc6LR zbnu5#_eHH*Evu=~&U-`e#3M(EXmS%LNuLHOxlP!(N5t$ql5IWAq{1eF)S6lWbE`T$ z9*NB@ZNQ;VlbqBl@)Rlzf=vHp|ZK<76KrE$8-81E&(n(IF6gxEW2sgti3zps*Z=prXSAKe_~s6`Hen= ziw{I>;Wjo(7Xt=$Ddv`AL+~0gE-n#5NJgJJu&j6SGMk7A_=NMgQj`H6!hk})w;1W7 zKcOIs&QTlKht$Y7~s|lS}U4tTNU^K8oBI;y3 zrVsEj%Yc&4V5t`V#mW#`P27UbnZ?K7&ls@Nisg>U>pe*Inlnbb6^jY0{_z_8>K zGr#-1_S7ASjVE>1<~ztfh)BdTRpVdeGq z;S8UYVjs%MsPn8oK!67UM3aD+E+=psE!j<*qL--9`or#i2|k7Ni8Fjn*`su5Z8VrP=NQtbMoI$uE1sf- z;INysxCTd341z>#S7mN1S5irkhP(MQ5J_fnYq17pT|Vrfm#W?-oLaY}#WrGeL!igB7%_Aj)I!b#S)1ihSG;j$p>Pjt? z0S!VL^a;r^87?`*6{*rSC>C_%f(j`CDbJJIaOea!fdyf@Y{BClTpH}+dA>B%G;$bN zK&Fpa7Cs-JXY_u2LIxyk<`#~X1=>W^hv2zUEOvFwJe%o*6vfBkS$%{$3CaQ|a5EdE zi_y3$MO2F;1w^*G!HyM$blVh~<(I(O`hjgZdmz zJQ6yb&eb%ehewlvRkdGzE>uN*_kM?}uCPJjx7elsz-z?#wDHKv3E08?yw2b08B)Wg zOJFOvp9d?)(O~#fOwuMsiJ4+S@8wN4qNMb=lnZ1)N;qWJQ_3KIbo+NmX|aq;h_cKy zeZ7OX*hEZDkMp=l3ii+O16DaEN4Wx5UTZm;>vOaIJX*1`7L1W~cIZFy zF;f=cT=cQHxYP)Ef@%I8nH93FR;Q}~;q~)Th7*MIx> zv!^-w>7G1gH1T8-xJrO;sm_-ParIdqqJcw1pD%GOHHm1Eky()o89S;ogl87w+|?f2 z@oO0G`98SMq1YYFup*}VD9kGec5MGlw41?-r2K{dK24G;}A0=XVN90gKH}Z#yv5?Ru7L3TR71+ zavwMc+TpM&L95v|YD7RrLQZZ~L6$Jhok|~*@exuS!b5(3<88XdBA?;X*EcNS$zvKH zMM;SWfmt>ZlhEW%OHOaLbE6yO5?hMY0GH?VUIGFfVm9!%Y>_2GQknJ+{!9bkvVFD%fL!VC)D_*K1+iJ5zCy()ifj_Bw=|-lfAdG-`6r)9UHOzPjzi9rxI|oA=e8B(4n+g#v1XhKX9DP<2z(Y)p4ATo|GTwC-^-f-6GfG0nrCcNl zF#-9ATc$&0rSe%d70m_exb#Svp{sZCDs#l-B%I9!qAb(0wbddm07dnEVn>f@<#}8y zE1*?k>18q=OT#mFhM&c*Z9N=vJQ}>9 zj}z0tV;6JW##YewWeFY;5*nn$G)cKvpJF2s9df?RHMFEhj!$SQH&#}+KK*?$PLWH(FL;9nO_p$Q z*hEf;J`N!p_=Nw+|3^2#WbhzYCXkzmCR;#k6^9eOVf z>U5})4V9!^TbIi4`Gk8p1<#@aN;szsYX#Ns$6`GADWSt;d5Wq$T9*V>I?|*cvOFdkB38tpbO>!Q9&9SZJ`&$6<;cdN1!VgF{T8D>z#c z3;zqiLIBNi%stL4&YoG53{PZ2i;mvIt8BFCgA2J-4C81@fX^}+HQODrzHR-V;lv8d zhV#<^;NM{<8-@W?I$WbnD$*sP$p^frn}CKyx}N)^swC~j8uuRe65`=7&lYZGN?dZ5 zsoVXqngBRB^H@h#fPx*d2&`P2mQfsjt-r=2AZLLSxQVtzxK?ejpjQ~Tz>3r6mJU6) zd&~ZEW`4HyyXu&m>v8B2km&R2k ze8QPrhN1MxZO?2WTsywrX5@Ak&n(co*xO2~q3X!EVPiBm!*7#7Y8_Z^mkZ;}{=H1={d_`=78ycB$}%1o@IyAsV3^Y}Isf(UC>Bm$j^N^; zOv%OiC)@pVAMf#X-3+|R>wL%*LWhlfkATFA!tU+ZpLHWCnY*g>8?!(s%rMPII5g-m zpkYZQVg|GsFpo>XJg3=yC#>V{U^-QVSM(n0r1&f{$BoQNVnGf@B(<8u8`s$|Xls|8 zfEdB!Wxdb3zRPUlMy4dAMub`sXO}*8Tgfc-mpt2cJ)l8P@8vC8^a<#5Hka98!$&No zi8pc{)vZp3+n-r99@gh*lL1Sd#^p4{)U-SsQu-E)UL{}uG)rGG16&k`8XxdJHDY4^ zifi$thl4{*E@yIyZpTL%@E#{p0N9Rp8_l{Jh-Xehi$%SQci7A_J_&!trP4=nXj{fl zzmkY4?#;OJiy`=R=;*_|MS~1wz}Z|O5h)>k0z6_AmuRdaRRwphPn&dct#2#2ymCw* z)Uxfw6U0(Y7d@rsRc7`6gvcTZ#>oo~cVNHLs@*h#Pl&@Jo7l!i=~Dw@0t@Ue*Y(lQ zpKXk*>qj-U3x;&bA?LUH2vej$moIZA8zsU4JZhxG_SGwEQiZsCh-10(N>#}!-k=&n zRjDXs?ECSLy$7x(9wN8jWt#FBPcuzKosan@*W*fN@fR_pe6gn6wogorn74F0kkh75 zi(A0XOUpj)aAa_W6liM$5*y%h97pNh;q}y?rC85U_Ze>;y5<&v&V&tf;3&8j??voPG)4O?% zDI#jjb0HUs44Ih>*?u(Ks>@bjcev>(xz#fh9@3|%lM=AZSGbO*L_~yyq$K#Z>uppJ z^V2VW1>`bE_=I^vJm8zOr9%zKsFRU$4o|Ry776ci0fyG(Q0tH#ZX4~g1K)y7eHQg+ z{GN^MVuqbu!X=W}#LIx30GD3Hv8m=^M_C#N)QR;zUSbmt8H=3DWfEcNk?XceJS1UU z0QJZMwyeL+d1B-9JGWeYhSI-AC&zI!o1~A2 z(d$brv^*KnX*)PqHVQBltF%_`0}d`v>%FuQ0v0)*ZA?p-5JOLs*v`nD)di3p8*qK3 z&(bBe->VLmK3SEb>jZNnis!6R@U~doh4dLO>sn_jEf-gOm=k-DA1Vk)xJU6jHx`c=&Hdh1tctS zK9`7)(xi_&Jl?niQr?&KVkJbikmW6E9X@N#MR(+w4A--Ya17+UNJ5Q*I7r5V!cRB9_AQ@b zj$BoYtl^_{_$u3M|8Qzogv?enjZcu-q-REx*Ypmc4n$0IE1P9NgWUFhWkX=!sF=ih zTL0FoRSB(Dp8+NDR^g=;s+Q}=CV|vpw(>zY(mkLUDZ>IgXrQ{2i1iNI=8tp>{|H=vBb>elC$wNQCh z@1emI%k(&&o0*b6bq0j=Z17VaE2d6F!9J)2^k~u5`*@8l#3V#~pG%|^4BqpCZ={4H zTnqLvj_5=BByD^W628ba)Me2U5`<%QjRIjF5LqIE>c+Q!1hG|KOB1N3B!m{=<6A(8 z>8Eq)6ESVsaWt=^%M zaS5iVlM|8g5npE)A&}5!7gO}uWdpuh95Og@RU}@%65svYyXvJ=jV( zX2IfCk~);O7CHBluttDWnWJYxVF`k7A-{!cT29U>TtHh2(v{I;?TfVNP>~w#`zp;9 zxP%Po5a7_KQ6yIPd7htsY)3~$hzU?!x-`jnTpuMMVv60I#4QBk5RwsB&<}fi=1pho z5-Bk|DWJe**X?S89S352zhC9`m5IhCF&W?DI&m#j(y1KF2tH)EWDM|$fe-X2xCkj- zwz7@mq=#Z4^W)S9y2mq{*r&59dZlP$DA$AaVv|5>-B=N9xE3g8REYxWWc1025vJ|J zYHU4Cq&-;`pA6sm+6r*#Vjq!>ESZPE?RaI*%NX0!MpZRJuYY1!0eLH zWuyFi{f~TrSnyiT93e3&9Zurku~E7<<7uRLYrLS_X^|3>ax6b!Mk1g^PE2DgG|Y#~ zaIqP=C@~%$12SBm)%$5cnG_wgEYq`(sAagit~ z8PhBhz*rbHZie;GC{^|J37)4-hR-6WaT!z6#m8lUW5bqlH!H=ZZjteWPu24#LnsI+ zbA>F^9^>6G*kY8b@+W6U#!5_2jU*$|v@G@B5hBsjLRYY5NZVk5AGa4r{0kK7{o zODJRsmng-c&CwDZ+AQPKW>N3t9X8U(C*?fO6~lYAgwHfaKczV0=;!ri>+`JEqm4eF z1^lcWKW7iGJd{@O?PX+~C|}a2XyV${ub}KMs2G$!moP0IJ2%&RO}aX^=2{l15fb52 zqiZ?gs)86&dDcGbJ*f6Z8O!j=@em?1eyxvEr$NLgoW?fVk`mh>$f0@$qrq5tUPY?V zXPT2y+ksp%xgP8%v$)@*1RB-r6k?9&LR$|UPb`Vmjx;hS1M0l0cN1C)sTrBfzRPDYH}#8D?w*9#FF_o#Ppx_5Zk*DjDXC z6RWiV9({6}GKY}j)3ucgWkAzr9(>jczE~Ye(?JpwkkH{o`G4tMJi$B#3)~{g6jyO2 zo2?`7k`PlP1f(o;95=IB z7MLa>8|iVW(#RSb3(w}%W?0a>c#AFM#0>a87ZI|Ik57l1rE47xqhw^;Hg}*yi-gB{ zmIf}$PQJl)_|l_>OKL%M=@2zvmfl^qF<()cGY&99;iH&o}Re4QE3Aam%lC?P}wNJChjr@+? zcsL9QZI6m#G|}qp;Bx*-GW*jilzMeL&^Wy#*-KYqM zI?w8()CuX)=X9>3B@s2t_-PV;e&t+rRiDJ5CK?QA%HIzanY5BZTzN)&CpaIq@z>@n z{;mi<3+_j?VWI)2dt=AfA!IMcrN+zpAVz1gM~feDoGjxbxR#n}ob1P3!NDV^|Ge9H zqQM=K%8dW^@Y*DhI?Oiuz?ETC*@T}Gk&sbGFye1gab1p#$F;iLq+pTKN=VLtn2Z1y zpQ2C5CmpKQuf@6P$Z}{TXibqnq{p26P|xRSeovQ_oMSkJGx-9Z3~Zx+5pukw_fRLM z&JvsWA#>8fx7XvbOnnF-tlB8BE+!OL`B#qe+(pBTg;F zL;(aU=}9w#D*`E>Yxyk+4zoPKF3!=DfO($b8B%Iw^tgphk^qTih&r0h zv^ksLX9K%*J0HiG}P>-TmcGKd!1-8oH>VKriEFOJaB78D3 zS|}g$O>VSKZ))j_4lEd2>zP|!`^~6k_B=e)0;{WMS5{CC=E#?IX+t#QA^HOMGlLQl zb3E5ED_sIQG;m0)3SCY~Wnj0Syj9DE}E1NYj%Yl&(8nk`}^MiLDDku&sBM#+*UVbsC1f+z&cZdZc)))U>t zB#>G+R@SA8<;5&iH3D1;RrAtmKC)baVxe+vRwyMzi7Y6tZVAxUR^ZYRYVbp8I`XwS zOXDsUgcBZ$Bd73HdhFDcfHrOM=#k*t+!fTxct!8W$D_tPo4A!3F*!TWUP*IB&sRx( zTk=!oRucF{9>gQ3#ZETxBR0tr4vqzTc%&70L^Tv|5~0*cS=76DooOOke8dG@Ejbwx z0fzV@A8yFw4Y#HCQ*Phyc^+UE!DpV+*hWJVmT1@(aO_nMDqzFnoLpi)(M=MvK=XiW zQdKPwBU*W?T&}-hiaKqc;SG*qK!*-O1BVV@(|En3X88Zbfg0js`A9L%BuZY&%&4?7YcZmyQu*#yE%=UsLLWDDNV}+Tc*sa zd~4Ovy1Z+?-Q8m=psXXTnTNtwFTAXG(jp;ak+z~jURij{@yYS$-*_cl%$E$-DP z*@Q#RC!EPOv~1s3LP=1bfCWkzSZZ!_kr@x@>)fng5tE&C*jFC0TsF%}VQzDPeL`+w zH&5W=FhkBC2+3)a)8G?M;@`1J76=im2X=Iu5|dHKr=xfBHgkZolPft-gqRvW0~8;Z ze0aC3T?3S}VQ2U9F`|3~4#?P#AFpU%oO zU5SrS`;{T#&d2tHwK<<6f#}hpEnne()F=5h3uJVx#?on=&pFh@FiwW{%$-$^SGDy) zHc@r=P4Xus!|XLHo$-U6My(#-@XkJ_k1&IfvdpP$qb5)%#v9hlGL(R%BHe4wX&l~X zsEQ0&zGnFri#R z^8@CjPcS@Y4rBaLxqTPM3ilP~mg57@=z|3Kxz`lJ-y z3uWafqQ$_5X{LU5yS|FUzwkHuMTtiON3D!T(e_*9z4HpFM{I7{vo$7P{;h7}4wM-J z971BC&jMfP-*U1nQo|YYT^;E*PT)~)E=D{$MF?2bdw7o-QX(?WFVwLo(3*CG2iDh$?4Owz`$fE(p;`jqqcT#_Wq3C>b9p2jnAi* z6+{_o>ZEwo$>=J?goGmY?iUa=heMxnFM)j~3k`K598Q+wxj^6NFDxU>ax7nDqhzFr zU8@UjxbZ99*GR0rjV26@>Rw8L-dOp%gV~d4c4U{Bd`JrPm_ACA6qgRiv5k$gn>IfE zp-xg}lVvXB?s@44RM&WOC(=q-TSDCTP7%NF^WWF+M?EFAJ8}VO$0mpjy2PmQ2@bF5 zc7!H53(T>NlVs6iI5OJ_?2PT6>!H7{Ix6GP+u}}m*56U zqnP01Gr+Tje$T391gLe*eR7ogPzT7_>mzYsTlwloaaJ6^7;T3bpMu1}8B%~WNa)$e zH^t*AeSkV43CqlJ3mYY;$Ml%)*La)1aZC)!d2Zh+z~LFan;B9PVoqQinq&qeX++Wx75-o=~DkO2cO;(Up04Q=IIE8(K~&^<~}JS$Xsw?4%Q?4m}GGr5vL zj7pP{F&t%nGZ{S-GB$|FxkF!~Nt;FfiT_TImpye!<&;bRD5G3H3_8U+QUj*sM*R{` z@)EnL(!n%U97C1i;< z!gG2*vv{N|a4I)YlL2)*Cm8kwRpH+&lM)BIC-3d!v)F3D{ZUIThNEWtJ{=MQUQ(kT znGvypn>kLF@ND>4J@VS=TppOMWH>JCPQ^GFpTQv_p^)8)Y?@>(ZPeo}&aDuoDZ1ue zVy(+=VmdSs+6=TVM$613;%mbugTrByKx*CF(Xth&t(h3L^Z`?JwZq5kq=QSFt!$W`qtYmvFYkcqBCF+ay7iZEc+Ovk0?t90Hd0US4C40Uin8 z=K?W+%??c*dLv`HKAnh(9f(y^7Ufgs;qV*%DeqE83CLLHRqo>~Zqwr=v%t<|tjfL? zR-_P=oE}PmNQ#n?8v@RWcS8C*A zUd7si6(@nz#MZ#7Vx1;~&}4@`%`^Po%HKHzoWTY9b!KGI!jTT&*+La&24(OeWR|SG zZbQOn^)7q@auzv`+nAD$-I~-k*N!e}RX78d{VcZ3dM?lDJv4}DvYX9p;}}^WppKB* zj-=7f7E?DwhE8&-bu3LsJ~5qFG>&qMk&AqjPM@KtV;kj_y1rMeA`ZnD);Dq7vEPM%?l z%SaG8fs?>$RHa0W=AaKm_;)?qsDQ2z;{rJidNf(m+xY{>(kEcRrJN@j4ly;$k+>R& ztx9n1GQh(l26}oAuQE+a$P(Y<5-Fg3E-%odEHB8U4BD|9^zoST#8dzV5>EVvasa5E!);gHd6^T{zImaPphK}CFqb#7- z(}Gudi?g|2j~63e9gpx?uYE8$38W@=09Ivms^&iS=kH1=Sxkcu^uO{FJ`GxyR3qax ze#>QS(>dv_A#h|RB*DN|#6q63k&Pp!hLX{whax<$_u}CavWrdJ#xc?-WI$j^Vpr0^ z7FGl<20I?(AiSUtFioF2i_Gx@<|L+0MucORy6QNZBP7F-N@=p75Ail_y13+ghs!0k z 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

QwPol^3K=Wq3cZIpA`%)rNzAt? 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�hm(I1mjCn2TI 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/public/assets/img/ems-logo-192x192.png b/ems-core/web-admin/public/assets/img/ems-logo-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..66bfa78c979bb7c0f49174662839f208a75f8d94 GIT binary patch literal 14494 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/public/assets/img/wave-loader-green-sm.gif b/ems-core/web-admin/public/assets/img/wave-loader-green-sm.gif new file mode 100644 index 0000000000000000000000000000000000000000..972aba69ba884a25b77cd643cec439ef2f0a40f4 GIT binary patch literal 32217 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νB=j0jXhHj~-snfjBs8!U` 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/public/assets/img/wave-loader-green.gif b/ems-core/web-admin/public/assets/img/wave-loader-green.gif new file mode 100644 index 0000000000000000000000000000000000000000..2daf7680a86968728987a996fe3299db19287822 GIT binary patch literal 35569 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�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 L6p}YE!1n(i>{B?U literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/public/assets/img/wave-loader-grey.gif b/ems-core/web-admin/public/assets/img/wave-loader-grey.gif new file mode 100644 index 0000000000000000000000000000000000000000..b1a0b897f61a50a246a9ff52d4642df7a4892f98 GIT binary patch literal 38179 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 + * Licensed under MIT (https://github.com/ColorlibHQ/AdminLTE/blob/master/LICENSE) + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) : + typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.adminlte = {}, global.jQuery)); +}(this, (function (exports, $) { 'use strict'; + + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + + var $__default = /*#__PURE__*/_interopDefaultLegacy($); + + /** + * -------------------------------------------- + * AdminLTE CardRefresh.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$e = 'CardRefresh'; + var DATA_KEY$e = 'lte.cardrefresh'; + var EVENT_KEY$7 = "." + DATA_KEY$e; + var JQUERY_NO_CONFLICT$e = $__default['default'].fn[NAME$e]; + var EVENT_LOADED = "loaded" + EVENT_KEY$7; + var EVENT_OVERLAY_ADDED = "overlay.added" + EVENT_KEY$7; + var EVENT_OVERLAY_REMOVED = "overlay.removed" + EVENT_KEY$7; + var CLASS_NAME_CARD$1 = 'card'; + var SELECTOR_CARD$1 = "." + CLASS_NAME_CARD$1; + var SELECTOR_DATA_REFRESH = '[data-card-widget="card-refresh"]'; + var Default$c = { + source: '', + sourceSelector: '', + params: {}, + trigger: SELECTOR_DATA_REFRESH, + content: '.card-body', + loadInContent: true, + loadOnInit: true, + responseType: '', + overlayTemplate: '

', + onLoadStart: function onLoadStart() {}, + onLoadDone: function onLoadDone(response) { + return response; + } + }; + + var CardRefresh = /*#__PURE__*/function () { + function CardRefresh(element, settings) { + this._element = element; + this._parent = element.parents(SELECTOR_CARD$1).first(); + this._settings = $__default['default'].extend({}, Default$c, settings); + this._overlay = $__default['default'](this._settings.overlayTemplate); + + if (element.hasClass(CLASS_NAME_CARD$1)) { + this._parent = element; + } + + if (this._settings.source === '') { + throw new Error('Source url was not defined. Please specify a url in your CardRefresh source option.'); + } + } + + var _proto = CardRefresh.prototype; + + _proto.load = function load() { + var _this = this; + + this._addOverlay(); + + this._settings.onLoadStart.call($__default['default'](this)); + + $__default['default'].get(this._settings.source, this._settings.params, function (response) { + if (_this._settings.loadInContent) { + if (_this._settings.sourceSelector !== '') { + response = $__default['default'](response).find(_this._settings.sourceSelector).html(); + } + + _this._parent.find(_this._settings.content).html(response); + } + + _this._settings.onLoadDone.call($__default['default'](_this), response); + + _this._removeOverlay(); + }, this._settings.responseType !== '' && this._settings.responseType); + $__default['default'](this._element).trigger($__default['default'].Event(EVENT_LOADED)); + }; + + _proto._addOverlay = function _addOverlay() { + this._parent.append(this._overlay); + + $__default['default'](this._element).trigger($__default['default'].Event(EVENT_OVERLAY_ADDED)); + }; + + _proto._removeOverlay = function _removeOverlay() { + this._parent.find(this._overlay).remove(); + + $__default['default'](this._element).trigger($__default['default'].Event(EVENT_OVERLAY_REMOVED)); + } // Private + ; + + _proto._init = function _init() { + var _this2 = this; + + $__default['default'](this).find(this._settings.trigger).on('click', function () { + _this2.load(); + }); + + if (this._settings.loadOnInit) { + this.load(); + } + } // Static + ; + + CardRefresh._jQueryInterface = function _jQueryInterface(config) { + var data = $__default['default'](this).data(DATA_KEY$e); + + var _options = $__default['default'].extend({}, Default$c, $__default['default'](this).data()); + + if (!data) { + data = new CardRefresh($__default['default'](this), _options); + $__default['default'](this).data(DATA_KEY$e, typeof config === 'string' ? data : config); + } + + if (typeof config === 'string' && /load/.test(config)) { + data[config](); + } else { + data._init($__default['default'](this)); + } + }; + + return CardRefresh; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](document).on('click', SELECTOR_DATA_REFRESH, function (event) { + if (event) { + event.preventDefault(); + } + + CardRefresh._jQueryInterface.call($__default['default'](this), 'load'); + }); + $__default['default'](function () { + $__default['default'](SELECTOR_DATA_REFRESH).each(function () { + CardRefresh._jQueryInterface.call($__default['default'](this)); + }); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$e] = CardRefresh._jQueryInterface; + $__default['default'].fn[NAME$e].Constructor = CardRefresh; + + $__default['default'].fn[NAME$e].noConflict = function () { + $__default['default'].fn[NAME$e] = JQUERY_NO_CONFLICT$e; + return CardRefresh._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE CardWidget.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$d = 'CardWidget'; + var DATA_KEY$d = 'lte.cardwidget'; + var EVENT_KEY$6 = "." + DATA_KEY$d; + var JQUERY_NO_CONFLICT$d = $__default['default'].fn[NAME$d]; + var EVENT_EXPANDED$3 = "expanded" + EVENT_KEY$6; + var EVENT_COLLAPSED$4 = "collapsed" + EVENT_KEY$6; + var EVENT_MAXIMIZED = "maximized" + EVENT_KEY$6; + var EVENT_MINIMIZED = "minimized" + EVENT_KEY$6; + var EVENT_REMOVED$1 = "removed" + EVENT_KEY$6; + var CLASS_NAME_CARD = 'card'; + var CLASS_NAME_COLLAPSED$1 = 'collapsed-card'; + var CLASS_NAME_COLLAPSING = 'collapsing-card'; + var CLASS_NAME_EXPANDING = 'expanding-card'; + var CLASS_NAME_WAS_COLLAPSED = 'was-collapsed'; + var CLASS_NAME_MAXIMIZED = 'maximized-card'; + var SELECTOR_DATA_REMOVE = '[data-card-widget="remove"]'; + var SELECTOR_DATA_COLLAPSE = '[data-card-widget="collapse"]'; + var SELECTOR_DATA_MAXIMIZE = '[data-card-widget="maximize"]'; + var SELECTOR_CARD = "." + CLASS_NAME_CARD; + var SELECTOR_CARD_HEADER = '.card-header'; + var SELECTOR_CARD_BODY = '.card-body'; + var SELECTOR_CARD_FOOTER = '.card-footer'; + var Default$b = { + animationSpeed: 'normal', + collapseTrigger: SELECTOR_DATA_COLLAPSE, + removeTrigger: SELECTOR_DATA_REMOVE, + maximizeTrigger: SELECTOR_DATA_MAXIMIZE, + collapseIcon: 'fa-minus', + expandIcon: 'fa-plus', + maximizeIcon: 'fa-expand', + minimizeIcon: 'fa-compress' + }; + + var CardWidget = /*#__PURE__*/function () { + function CardWidget(element, settings) { + this._element = element; + this._parent = element.parents(SELECTOR_CARD).first(); + + if (element.hasClass(CLASS_NAME_CARD)) { + this._parent = element; + } + + this._settings = $__default['default'].extend({}, Default$b, settings); + } + + var _proto = CardWidget.prototype; + + _proto.collapse = function collapse() { + var _this = this; + + this._parent.addClass(CLASS_NAME_COLLAPSING).children(SELECTOR_CARD_BODY + ", " + SELECTOR_CARD_FOOTER).slideUp(this._settings.animationSpeed, function () { + _this._parent.addClass(CLASS_NAME_COLLAPSED$1).removeClass(CLASS_NAME_COLLAPSING); + }); + + this._parent.find("> " + SELECTOR_CARD_HEADER + " " + this._settings.collapseTrigger + " ." + this._settings.collapseIcon).addClass(this._settings.expandIcon).removeClass(this._settings.collapseIcon); + + this._element.trigger($__default['default'].Event(EVENT_COLLAPSED$4), this._parent); + }; + + _proto.expand = function expand() { + var _this2 = this; + + this._parent.addClass(CLASS_NAME_EXPANDING).children(SELECTOR_CARD_BODY + ", " + SELECTOR_CARD_FOOTER).slideDown(this._settings.animationSpeed, function () { + _this2._parent.removeClass(CLASS_NAME_COLLAPSED$1).removeClass(CLASS_NAME_EXPANDING); + }); + + this._parent.find("> " + SELECTOR_CARD_HEADER + " " + this._settings.collapseTrigger + " ." + this._settings.expandIcon).addClass(this._settings.collapseIcon).removeClass(this._settings.expandIcon); + + this._element.trigger($__default['default'].Event(EVENT_EXPANDED$3), this._parent); + }; + + _proto.remove = function remove() { + this._parent.slideUp(); + + this._element.trigger($__default['default'].Event(EVENT_REMOVED$1), this._parent); + }; + + _proto.toggle = function toggle() { + if (this._parent.hasClass(CLASS_NAME_COLLAPSED$1)) { + this.expand(); + return; + } + + this.collapse(); + }; + + _proto.maximize = function maximize() { + this._parent.find(this._settings.maximizeTrigger + " ." + this._settings.maximizeIcon).addClass(this._settings.minimizeIcon).removeClass(this._settings.maximizeIcon); + + this._parent.css({ + height: this._parent.height(), + width: this._parent.width(), + transition: 'all .15s' + }).delay(150).queue(function () { + var $element = $__default['default'](this); + $element.addClass(CLASS_NAME_MAXIMIZED); + $__default['default']('html').addClass(CLASS_NAME_MAXIMIZED); + + if ($element.hasClass(CLASS_NAME_COLLAPSED$1)) { + $element.addClass(CLASS_NAME_WAS_COLLAPSED); + } + + $element.dequeue(); + }); + + this._element.trigger($__default['default'].Event(EVENT_MAXIMIZED), this._parent); + }; + + _proto.minimize = function minimize() { + this._parent.find(this._settings.maximizeTrigger + " ." + this._settings.minimizeIcon).addClass(this._settings.maximizeIcon).removeClass(this._settings.minimizeIcon); + + this._parent.css('cssText', "height: " + this._parent[0].style.height + " !important; width: " + this._parent[0].style.width + " !important; transition: all .15s;").delay(10).queue(function () { + var $element = $__default['default'](this); + $element.removeClass(CLASS_NAME_MAXIMIZED); + $__default['default']('html').removeClass(CLASS_NAME_MAXIMIZED); + $element.css({ + height: 'inherit', + width: 'inherit' + }); + + if ($element.hasClass(CLASS_NAME_WAS_COLLAPSED)) { + $element.removeClass(CLASS_NAME_WAS_COLLAPSED); + } + + $element.dequeue(); + }); + + this._element.trigger($__default['default'].Event(EVENT_MINIMIZED), this._parent); + }; + + _proto.toggleMaximize = function toggleMaximize() { + if (this._parent.hasClass(CLASS_NAME_MAXIMIZED)) { + this.minimize(); + return; + } + + this.maximize(); + } // Private + ; + + _proto._init = function _init(card) { + var _this3 = this; + + this._parent = card; + $__default['default'](this).find(this._settings.collapseTrigger).click(function () { + _this3.toggle(); + }); + $__default['default'](this).find(this._settings.maximizeTrigger).click(function () { + _this3.toggleMaximize(); + }); + $__default['default'](this).find(this._settings.removeTrigger).click(function () { + _this3.remove(); + }); + } // Static + ; + + CardWidget._jQueryInterface = function _jQueryInterface(config) { + var data = $__default['default'](this).data(DATA_KEY$d); + + var _options = $__default['default'].extend({}, Default$b, $__default['default'](this).data()); + + if (!data) { + data = new CardWidget($__default['default'](this), _options); + $__default['default'](this).data(DATA_KEY$d, typeof config === 'string' ? data : config); + } + + if (typeof config === 'string' && /collapse|expand|remove|toggle|maximize|minimize|toggleMaximize/.test(config)) { + data[config](); + } else if (typeof config === 'object') { + data._init($__default['default'](this)); + } + }; + + return CardWidget; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](document).on('click', SELECTOR_DATA_COLLAPSE, function (event) { + if (event) { + event.preventDefault(); + } + + CardWidget._jQueryInterface.call($__default['default'](this), 'toggle'); + }); + $__default['default'](document).on('click', SELECTOR_DATA_REMOVE, function (event) { + if (event) { + event.preventDefault(); + } + + CardWidget._jQueryInterface.call($__default['default'](this), 'remove'); + }); + $__default['default'](document).on('click', SELECTOR_DATA_MAXIMIZE, function (event) { + if (event) { + event.preventDefault(); + } + + CardWidget._jQueryInterface.call($__default['default'](this), 'toggleMaximize'); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$d] = CardWidget._jQueryInterface; + $__default['default'].fn[NAME$d].Constructor = CardWidget; + + $__default['default'].fn[NAME$d].noConflict = function () { + $__default['default'].fn[NAME$d] = JQUERY_NO_CONFLICT$d; + return CardWidget._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE ControlSidebar.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$c = 'ControlSidebar'; + var DATA_KEY$c = 'lte.controlsidebar'; + var EVENT_KEY$5 = "." + DATA_KEY$c; + var JQUERY_NO_CONFLICT$c = $__default['default'].fn[NAME$c]; + var EVENT_COLLAPSED$3 = "collapsed" + EVENT_KEY$5; + var EVENT_EXPANDED$2 = "expanded" + EVENT_KEY$5; + var SELECTOR_CONTROL_SIDEBAR = '.control-sidebar'; + var SELECTOR_CONTROL_SIDEBAR_CONTENT$1 = '.control-sidebar-content'; + var SELECTOR_DATA_TOGGLE$4 = '[data-widget="control-sidebar"]'; + var SELECTOR_HEADER$1 = '.main-header'; + var SELECTOR_FOOTER$1 = '.main-footer'; + var CLASS_NAME_CONTROL_SIDEBAR_ANIMATE = 'control-sidebar-animate'; + var CLASS_NAME_CONTROL_SIDEBAR_OPEN$1 = 'control-sidebar-open'; + var CLASS_NAME_CONTROL_SIDEBAR_SLIDE = 'control-sidebar-slide-open'; + var CLASS_NAME_LAYOUT_FIXED$1 = 'layout-fixed'; + var CLASS_NAME_NAVBAR_FIXED = 'layout-navbar-fixed'; + var CLASS_NAME_NAVBAR_SM_FIXED = 'layout-sm-navbar-fixed'; + var CLASS_NAME_NAVBAR_MD_FIXED = 'layout-md-navbar-fixed'; + var CLASS_NAME_NAVBAR_LG_FIXED = 'layout-lg-navbar-fixed'; + var CLASS_NAME_NAVBAR_XL_FIXED = 'layout-xl-navbar-fixed'; + var CLASS_NAME_FOOTER_FIXED = 'layout-footer-fixed'; + var CLASS_NAME_FOOTER_SM_FIXED = 'layout-sm-footer-fixed'; + var CLASS_NAME_FOOTER_MD_FIXED = 'layout-md-footer-fixed'; + var CLASS_NAME_FOOTER_LG_FIXED = 'layout-lg-footer-fixed'; + var CLASS_NAME_FOOTER_XL_FIXED = 'layout-xl-footer-fixed'; + var Default$a = { + controlsidebarSlide: true, + scrollbarTheme: 'os-theme-light', + scrollbarAutoHide: 'l', + target: SELECTOR_CONTROL_SIDEBAR + }; + /** + * Class Definition + * ==================================================== + */ + + var ControlSidebar = /*#__PURE__*/function () { + function ControlSidebar(element, config) { + this._element = element; + this._config = config; + } // Public + + + var _proto = ControlSidebar.prototype; + + _proto.collapse = function collapse() { + var $body = $__default['default']('body'); + var $html = $__default['default']('html'); + var target = this._config.target; // Show the control sidebar + + if (this._config.controlsidebarSlide) { + $html.addClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE); + $body.removeClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () { + $__default['default'](target).hide(); + $html.removeClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE); + $__default['default'](this).dequeue(); + }); + } else { + $body.removeClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN$1); + } + + $__default['default'](this._element).trigger($__default['default'].Event(EVENT_COLLAPSED$3)); + }; + + _proto.show = function show() { + var $body = $__default['default']('body'); + var $html = $__default['default']('html'); // Collapse the control sidebar + + if (this._config.controlsidebarSlide) { + $html.addClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE); + $__default['default'](this._config.target).show().delay(10).queue(function () { + $body.addClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () { + $html.removeClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE); + $__default['default'](this).dequeue(); + }); + $__default['default'](this).dequeue(); + }); + } else { + $body.addClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN$1); + } + + this._fixHeight(); + + this._fixScrollHeight(); + + $__default['default'](this._element).trigger($__default['default'].Event(EVENT_EXPANDED$2)); + }; + + _proto.toggle = function toggle() { + var $body = $__default['default']('body'); + var shouldClose = $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN$1) || $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE); + + if (shouldClose) { + // Close the control sidebar + this.collapse(); + } else { + // Open the control sidebar + this.show(); + } + } // Private + ; + + _proto._init = function _init() { + var _this = this; + + var $body = $__default['default']('body'); + var shouldNotHideAll = $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN$1) || $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE); + + if (shouldNotHideAll) { + $__default['default'](SELECTOR_CONTROL_SIDEBAR).not(this._config.target).hide(); + $__default['default'](this._config.target).css('display', 'block'); + } else { + $__default['default'](SELECTOR_CONTROL_SIDEBAR).hide(); + } + + this._fixHeight(); + + this._fixScrollHeight(); + + $__default['default'](window).resize(function () { + _this._fixHeight(); + + _this._fixScrollHeight(); + }); + $__default['default'](window).scroll(function () { + var $body = $__default['default']('body'); + var shouldFixHeight = $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN$1) || $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE); + + if (shouldFixHeight) { + _this._fixScrollHeight(); + } + }); + }; + + _proto._isNavbarFixed = function _isNavbarFixed() { + var $body = $__default['default']('body'); + return $body.hasClass(CLASS_NAME_NAVBAR_FIXED) || $body.hasClass(CLASS_NAME_NAVBAR_SM_FIXED) || $body.hasClass(CLASS_NAME_NAVBAR_MD_FIXED) || $body.hasClass(CLASS_NAME_NAVBAR_LG_FIXED) || $body.hasClass(CLASS_NAME_NAVBAR_XL_FIXED); + }; + + _proto._isFooterFixed = function _isFooterFixed() { + var $body = $__default['default']('body'); + return $body.hasClass(CLASS_NAME_FOOTER_FIXED) || $body.hasClass(CLASS_NAME_FOOTER_SM_FIXED) || $body.hasClass(CLASS_NAME_FOOTER_MD_FIXED) || $body.hasClass(CLASS_NAME_FOOTER_LG_FIXED) || $body.hasClass(CLASS_NAME_FOOTER_XL_FIXED); + }; + + _proto._fixScrollHeight = function _fixScrollHeight() { + var $body = $__default['default']('body'); + var $controlSidebar = $__default['default'](this._config.target); + + if (!$body.hasClass(CLASS_NAME_LAYOUT_FIXED$1)) { + return; + } + + var heights = { + scroll: $__default['default'](document).height(), + window: $__default['default'](window).height(), + header: $__default['default'](SELECTOR_HEADER$1).outerHeight(), + footer: $__default['default'](SELECTOR_FOOTER$1).outerHeight() + }; + var positions = { + bottom: Math.abs(heights.window + $__default['default'](window).scrollTop() - heights.scroll), + top: $__default['default'](window).scrollTop() + }; + var navbarFixed = this._isNavbarFixed() && $__default['default'](SELECTOR_HEADER$1).css('position') === 'fixed'; + var footerFixed = this._isFooterFixed() && $__default['default'](SELECTOR_FOOTER$1).css('position') === 'fixed'; + var $controlsidebarContent = $__default['default'](this._config.target + ", " + this._config.target + " " + SELECTOR_CONTROL_SIDEBAR_CONTENT$1); + + if (positions.top === 0 && positions.bottom === 0) { + $controlSidebar.css({ + bottom: heights.footer, + top: heights.header + }); + $controlsidebarContent.css('height', heights.window - (heights.header + heights.footer)); + } else if (positions.bottom <= heights.footer) { + if (footerFixed === false) { + var top = heights.header - positions.top; + $controlSidebar.css('bottom', heights.footer - positions.bottom).css('top', top >= 0 ? top : 0); + $controlsidebarContent.css('height', heights.window - (heights.footer - positions.bottom)); + } else { + $controlSidebar.css('bottom', heights.footer); + } + } else if (positions.top <= heights.header) { + if (navbarFixed === false) { + $controlSidebar.css('top', heights.header - positions.top); + $controlsidebarContent.css('height', heights.window - (heights.header - positions.top)); + } else { + $controlSidebar.css('top', heights.header); + } + } else if (navbarFixed === false) { + $controlSidebar.css('top', 0); + $controlsidebarContent.css('height', heights.window); + } else { + $controlSidebar.css('top', heights.header); + } + + if (footerFixed && navbarFixed) { + $controlsidebarContent.css('height', '100%'); + $controlSidebar.css('height', ''); + } else if (footerFixed || navbarFixed) { + $controlsidebarContent.css('height', '100%'); + $controlsidebarContent.css('height', ''); + } + }; + + _proto._fixHeight = function _fixHeight() { + var $body = $__default['default']('body'); + var $controlSidebar = $__default['default'](this._config.target + " " + SELECTOR_CONTROL_SIDEBAR_CONTENT$1); + + if (!$body.hasClass(CLASS_NAME_LAYOUT_FIXED$1)) { + $controlSidebar.attr('style', ''); + return; + } + + var heights = { + window: $__default['default'](window).height(), + header: $__default['default'](SELECTOR_HEADER$1).outerHeight(), + footer: $__default['default'](SELECTOR_FOOTER$1).outerHeight() + }; + var sidebarHeight = heights.window - heights.header; + + if (this._isFooterFixed() && $__default['default'](SELECTOR_FOOTER$1).css('position') === 'fixed') { + sidebarHeight = heights.window - heights.header - heights.footer; + } + + $controlSidebar.css('height', sidebarHeight); + + if (typeof $__default['default'].fn.overlayScrollbars !== 'undefined') { + $controlSidebar.overlayScrollbars({ + className: this._config.scrollbarTheme, + sizeAutoCapable: true, + scrollbars: { + autoHide: this._config.scrollbarAutoHide, + clickScrolling: true + } + }); + } + } // Static + ; + + ControlSidebar._jQueryInterface = function _jQueryInterface(operation) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$c); + + var _options = $__default['default'].extend({}, Default$a, $__default['default'](this).data()); + + if (!data) { + data = new ControlSidebar(this, _options); + $__default['default'](this).data(DATA_KEY$c, data); + } + + if (data[operation] === 'undefined') { + throw new Error(operation + " is not a function"); + } + + data[operation](); + }); + }; + + return ControlSidebar; + }(); + /** + * + * Data Api implementation + * ==================================================== + */ + + + $__default['default'](document).on('click', SELECTOR_DATA_TOGGLE$4, function (event) { + event.preventDefault(); + + ControlSidebar._jQueryInterface.call($__default['default'](this), 'toggle'); + }); + $__default['default'](document).ready(function () { + ControlSidebar._jQueryInterface.call($__default['default'](SELECTOR_DATA_TOGGLE$4), '_init'); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$c] = ControlSidebar._jQueryInterface; + $__default['default'].fn[NAME$c].Constructor = ControlSidebar; + + $__default['default'].fn[NAME$c].noConflict = function () { + $__default['default'].fn[NAME$c] = JQUERY_NO_CONFLICT$c; + return ControlSidebar._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE DirectChat.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$b = 'DirectChat'; + var DATA_KEY$b = 'lte.directchat'; + var EVENT_KEY$4 = "." + DATA_KEY$b; + var JQUERY_NO_CONFLICT$b = $__default['default'].fn[NAME$b]; + var EVENT_TOGGLED = "toggled" + EVENT_KEY$4; + var SELECTOR_DATA_TOGGLE$3 = '[data-widget="chat-pane-toggle"]'; + var SELECTOR_DIRECT_CHAT = '.direct-chat'; + var CLASS_NAME_DIRECT_CHAT_OPEN = 'direct-chat-contacts-open'; + /** + * Class Definition + * ==================================================== + */ + + var DirectChat = /*#__PURE__*/function () { + function DirectChat(element) { + this._element = element; + } + + var _proto = DirectChat.prototype; + + _proto.toggle = function toggle() { + $__default['default'](this._element).parents(SELECTOR_DIRECT_CHAT).first().toggleClass(CLASS_NAME_DIRECT_CHAT_OPEN); + $__default['default'](this._element).trigger($__default['default'].Event(EVENT_TOGGLED)); + } // Static + ; + + DirectChat._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$b); + + if (!data) { + data = new DirectChat($__default['default'](this)); + $__default['default'](this).data(DATA_KEY$b, data); + } + + data[config](); + }); + }; + + return DirectChat; + }(); + /** + * + * Data Api implementation + * ==================================================== + */ + + + $__default['default'](document).on('click', SELECTOR_DATA_TOGGLE$3, function (event) { + if (event) { + event.preventDefault(); + } + + DirectChat._jQueryInterface.call($__default['default'](this), 'toggle'); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$b] = DirectChat._jQueryInterface; + $__default['default'].fn[NAME$b].Constructor = DirectChat; + + $__default['default'].fn[NAME$b].noConflict = function () { + $__default['default'].fn[NAME$b] = JQUERY_NO_CONFLICT$b; + return DirectChat._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE Dropdown.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$a = 'Dropdown'; + var DATA_KEY$a = 'lte.dropdown'; + var JQUERY_NO_CONFLICT$a = $__default['default'].fn[NAME$a]; + var SELECTOR_NAVBAR = '.navbar'; + var SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; + var SELECTOR_DROPDOWN_MENU_ACTIVE = '.dropdown-menu.show'; + var SELECTOR_DROPDOWN_TOGGLE = '[data-toggle="dropdown"]'; + var CLASS_NAME_DROPDOWN_RIGHT = 'dropdown-menu-right'; + var CLASS_NAME_DROPDOWN_SUBMENU = 'dropdown-submenu'; // TODO: this is unused; should be removed along with the extend? + + var Default$9 = {}; + /** + * Class Definition + * ==================================================== + */ + + var Dropdown = /*#__PURE__*/function () { + function Dropdown(element, config) { + this._config = config; + this._element = element; + } // Public + + + var _proto = Dropdown.prototype; + + _proto.toggleSubmenu = function toggleSubmenu() { + this._element.siblings().show().toggleClass('show'); + + if (!this._element.next().hasClass('show')) { + this._element.parents(SELECTOR_DROPDOWN_MENU).first().find('.show').removeClass('show').hide(); + } + + this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function () { + $__default['default']('.dropdown-submenu .show').removeClass('show').hide(); + }); + }; + + _proto.fixPosition = function fixPosition() { + var $element = $__default['default'](SELECTOR_DROPDOWN_MENU_ACTIVE); + + if ($element.length === 0) { + return; + } + + if ($element.hasClass(CLASS_NAME_DROPDOWN_RIGHT)) { + $element.css({ + left: 'inherit', + right: 0 + }); + } else { + $element.css({ + left: 0, + right: 'inherit' + }); + } + + var offset = $element.offset(); + var width = $element.width(); + var visiblePart = $__default['default'](window).width() - offset.left; + + if (offset.left < 0) { + $element.css({ + left: 'inherit', + right: offset.left - 5 + }); + } else if (visiblePart < width) { + $element.css({ + left: 'inherit', + right: 0 + }); + } + } // Static + ; + + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$a); + + var _config = $__default['default'].extend({}, Default$9, $__default['default'](this).data()); + + if (!data) { + data = new Dropdown($__default['default'](this), _config); + $__default['default'](this).data(DATA_KEY$a, data); + } + + if (config === 'toggleSubmenu' || config === 'fixPosition') { + data[config](); + } + }); + }; + + return Dropdown; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](SELECTOR_DROPDOWN_MENU + " " + SELECTOR_DROPDOWN_TOGGLE).on('click', function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._jQueryInterface.call($__default['default'](this), 'toggleSubmenu'); + }); + $__default['default'](SELECTOR_NAVBAR + " " + SELECTOR_DROPDOWN_TOGGLE).on('click', function (event) { + event.preventDefault(); + + if ($__default['default'](event.target).parent().hasClass(CLASS_NAME_DROPDOWN_SUBMENU)) { + return; + } + + setTimeout(function () { + Dropdown._jQueryInterface.call($__default['default'](this), 'fixPosition'); + }, 1); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$a] = Dropdown._jQueryInterface; + $__default['default'].fn[NAME$a].Constructor = Dropdown; + + $__default['default'].fn[NAME$a].noConflict = function () { + $__default['default'].fn[NAME$a] = JQUERY_NO_CONFLICT$a; + return Dropdown._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE ExpandableTable.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$9 = 'ExpandableTable'; + var DATA_KEY$9 = 'lte.expandableTable'; + var EVENT_KEY$3 = "." + DATA_KEY$9; + var JQUERY_NO_CONFLICT$9 = $__default['default'].fn[NAME$9]; + var EVENT_EXPANDED$1 = "expanded" + EVENT_KEY$3; + var EVENT_COLLAPSED$2 = "collapsed" + EVENT_KEY$3; + var SELECTOR_TABLE = '.expandable-table'; + var SELECTOR_EXPANDABLE_BODY = '.expandable-body'; + var SELECTOR_DATA_TOGGLE$2 = '[data-widget="expandable-table"]'; + var SELECTOR_ARIA_ATTR = 'aria-expanded'; + /** + * Class Definition + * ==================================================== + */ + + var ExpandableTable = /*#__PURE__*/function () { + function ExpandableTable(element, options) { + this._options = options; + this._element = element; + } // Public + + + var _proto = ExpandableTable.prototype; + + _proto.init = function init() { + $__default['default'](SELECTOR_DATA_TOGGLE$2).each(function (_, $header) { + var $type = $__default['default']($header).attr(SELECTOR_ARIA_ATTR); + var $body = $__default['default']($header).next(SELECTOR_EXPANDABLE_BODY).children().first().children(); + + if ($type === 'true') { + $body.show(); + } else if ($type === 'false') { + $body.hide(); + $body.parent().parent().addClass('d-none'); + } + }); + }; + + _proto.toggleRow = function toggleRow() { + var $element = this._element; + var time = 500; + var $type = $element.attr(SELECTOR_ARIA_ATTR); + var $body = $element.next(SELECTOR_EXPANDABLE_BODY).children().first().children(); + $body.stop(); + + if ($type === 'true') { + $body.slideUp(time, function () { + $element.next(SELECTOR_EXPANDABLE_BODY).addClass('d-none'); + }); + $element.attr(SELECTOR_ARIA_ATTR, 'false'); + $element.trigger($__default['default'].Event(EVENT_COLLAPSED$2)); + } else if ($type === 'false') { + $element.next(SELECTOR_EXPANDABLE_BODY).removeClass('d-none'); + $body.slideDown(time); + $element.attr(SELECTOR_ARIA_ATTR, 'true'); + $element.trigger($__default['default'].Event(EVENT_EXPANDED$1)); + } + } // Static + ; + + ExpandableTable._jQueryInterface = function _jQueryInterface(operation) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$9); + + if (!data) { + data = new ExpandableTable($__default['default'](this)); + $__default['default'](this).data(DATA_KEY$9, data); + } + + if (typeof operation === 'string' && /init|toggleRow/.test(operation)) { + data[operation](); + } + }); + }; + + return ExpandableTable; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](SELECTOR_TABLE).ready(function () { + ExpandableTable._jQueryInterface.call($__default['default'](this), 'init'); + }); + $__default['default'](document).on('click', SELECTOR_DATA_TOGGLE$2, function () { + ExpandableTable._jQueryInterface.call($__default['default'](this), 'toggleRow'); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$9] = ExpandableTable._jQueryInterface; + $__default['default'].fn[NAME$9].Constructor = ExpandableTable; + + $__default['default'].fn[NAME$9].noConflict = function () { + $__default['default'].fn[NAME$9] = JQUERY_NO_CONFLICT$9; + return ExpandableTable._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE Fullscreen.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$8 = 'Fullscreen'; + var DATA_KEY$8 = 'lte.fullscreen'; + var JQUERY_NO_CONFLICT$8 = $__default['default'].fn[NAME$8]; + var SELECTOR_DATA_WIDGET$2 = '[data-widget="fullscreen"]'; + var SELECTOR_ICON = SELECTOR_DATA_WIDGET$2 + " i"; + var Default$8 = { + minimizeIcon: 'fa-compress-arrows-alt', + maximizeIcon: 'fa-expand-arrows-alt' + }; + /** + * Class Definition + * ==================================================== + */ + + var Fullscreen = /*#__PURE__*/function () { + function Fullscreen(_element, _options) { + this.element = _element; + this.options = $__default['default'].extend({}, Default$8, _options); + } // Public + + + var _proto = Fullscreen.prototype; + + _proto.toggle = function toggle() { + if (document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement) { + this.windowed(); + } else { + this.fullscreen(); + } + }; + + _proto.fullscreen = function fullscreen() { + if (document.documentElement.requestFullscreen) { + document.documentElement.requestFullscreen(); + } else if (document.documentElement.webkitRequestFullscreen) { + document.documentElement.webkitRequestFullscreen(); + } else if (document.documentElement.msRequestFullscreen) { + document.documentElement.msRequestFullscreen(); + } + + $__default['default'](SELECTOR_ICON).removeClass(this.options.maximizeIcon).addClass(this.options.minimizeIcon); + }; + + _proto.windowed = function windowed() { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } + + $__default['default'](SELECTOR_ICON).removeClass(this.options.minimizeIcon).addClass(this.options.maximizeIcon); + } // Static + ; + + Fullscreen._jQueryInterface = function _jQueryInterface(config) { + var data = $__default['default'](this).data(DATA_KEY$8); + + if (!data) { + data = $__default['default'](this).data(); + } + + var _options = $__default['default'].extend({}, Default$8, typeof config === 'object' ? config : data); + + var plugin = new Fullscreen($__default['default'](this), _options); + $__default['default'](this).data(DATA_KEY$8, typeof config === 'object' ? config : data); + + if (typeof config === 'string' && /toggle|fullscreen|windowed/.test(config)) { + plugin[config](); + } else { + plugin.init(); + } + }; + + return Fullscreen; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](document).on('click', SELECTOR_DATA_WIDGET$2, function () { + Fullscreen._jQueryInterface.call($__default['default'](this), 'toggle'); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$8] = Fullscreen._jQueryInterface; + $__default['default'].fn[NAME$8].Constructor = Fullscreen; + + $__default['default'].fn[NAME$8].noConflict = function () { + $__default['default'].fn[NAME$8] = JQUERY_NO_CONFLICT$8; + return Fullscreen._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE IFrame.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$7 = 'IFrame'; + var DATA_KEY$7 = 'lte.iframe'; + var JQUERY_NO_CONFLICT$7 = $__default['default'].fn[NAME$7]; + var SELECTOR_DATA_TOGGLE$1 = '[data-widget="iframe"]'; + var SELECTOR_DATA_TOGGLE_CLOSE = '[data-widget="iframe-close"]'; + var SELECTOR_DATA_TOGGLE_SCROLL_LEFT = '[data-widget="iframe-scrollleft"]'; + var SELECTOR_DATA_TOGGLE_SCROLL_RIGHT = '[data-widget="iframe-scrollright"]'; + var SELECTOR_DATA_TOGGLE_FULLSCREEN = '[data-widget="iframe-fullscreen"]'; + var SELECTOR_CONTENT_WRAPPER = '.content-wrapper'; + var SELECTOR_CONTENT_IFRAME = SELECTOR_CONTENT_WRAPPER + " iframe"; + var SELECTOR_TAB_NAV = SELECTOR_DATA_TOGGLE$1 + ".iframe-mode .nav"; + var SELECTOR_TAB_NAVBAR_NAV = SELECTOR_DATA_TOGGLE$1 + ".iframe-mode .navbar-nav"; + var SELECTOR_TAB_NAVBAR_NAV_ITEM = SELECTOR_TAB_NAVBAR_NAV + " .nav-item"; + var SELECTOR_TAB_NAVBAR_NAV_LINK = SELECTOR_TAB_NAVBAR_NAV + " .nav-link"; + var SELECTOR_TAB_CONTENT = SELECTOR_DATA_TOGGLE$1 + ".iframe-mode .tab-content"; + var SELECTOR_TAB_EMPTY = SELECTOR_TAB_CONTENT + " .tab-empty"; + var SELECTOR_TAB_LOADING = SELECTOR_TAB_CONTENT + " .tab-loading"; + var SELECTOR_TAB_PANE = SELECTOR_TAB_CONTENT + " .tab-pane"; + var SELECTOR_SIDEBAR_MENU_ITEM = '.main-sidebar .nav-item > a.nav-link'; + var SELECTOR_SIDEBAR_SEARCH_ITEM = '.sidebar-search-results .list-group-item'; + var SELECTOR_HEADER_MENU_ITEM = '.main-header .nav-item a.nav-link'; + var SELECTOR_HEADER_DROPDOWN_ITEM = '.main-header a.dropdown-item'; + var CLASS_NAME_IFRAME_MODE = 'iframe-mode'; + var CLASS_NAME_FULLSCREEN_MODE = 'iframe-mode-fullscreen'; + var Default$7 = { + onTabClick: function onTabClick(item) { + return item; + }, + onTabChanged: function onTabChanged(item) { + return item; + }, + onTabCreated: function onTabCreated(item) { + return item; + }, + autoIframeMode: true, + autoItemActive: true, + autoShowNewTab: true, + allowDuplicates: false, + loadingScreen: true, + useNavbarItems: true, + scrollOffset: 40, + scrollBehaviorSwap: false, + iconMaximize: 'fa-expand', + iconMinimize: 'fa-compress' + }; + /** + * Class Definition + * ==================================================== + */ + + var IFrame = /*#__PURE__*/function () { + function IFrame(element, config) { + this._config = config; + this._element = element; + + this._init(); + } // Public + + + var _proto = IFrame.prototype; + + _proto.onTabClick = function onTabClick(item) { + this._config.onTabClick(item); + }; + + _proto.onTabChanged = function onTabChanged(item) { + this._config.onTabChanged(item); + }; + + _proto.onTabCreated = function onTabCreated(item) { + this._config.onTabCreated(item); + }; + + _proto.createTab = function createTab(title, link, uniqueName, autoOpen) { + var _this = this; + + var tabId = "panel-" + uniqueName; + var navId = "tab-" + uniqueName; + + if (this._config.allowDuplicates) { + tabId += "-" + Math.floor(Math.random() * 1000); + navId += "-" + Math.floor(Math.random() * 1000); + } + + var newNavItem = "
  • " + title + "
  • "; + $__default['default'](SELECTOR_TAB_NAVBAR_NAV).append(unescape(escape(newNavItem))); + var newTabItem = "
    "; + $__default['default'](SELECTOR_TAB_CONTENT).append(unescape(escape(newTabItem))); + + if (autoOpen) { + if (this._config.loadingScreen) { + var $loadingScreen = $__default['default'](SELECTOR_TAB_LOADING); + $loadingScreen.fadeIn(); + $__default['default'](tabId + " iframe").ready(function () { + if (typeof _this._config.loadingScreen === 'number') { + _this.switchTab("#" + navId); + + setTimeout(function () { + $loadingScreen.fadeOut(); + }, _this._config.loadingScreen); + } else { + _this.switchTab("#" + navId); + + $loadingScreen.fadeOut(); + } + }); + } else { + this.switchTab("#" + navId); + } + } + + this.onTabCreated($__default['default']("#" + navId)); + }; + + _proto.openTabSidebar = function openTabSidebar(item, autoOpen) { + if (autoOpen === void 0) { + autoOpen = this._config.autoShowNewTab; + } + + var $item = $__default['default'](item).clone(); + + if ($item.attr('href') === undefined) { + $item = $__default['default'](item).parent('a').clone(); + } + + $item.find('.right, .search-path').remove(); + var title = $item.find('p').text(); + + if (title === '') { + title = $item.text(); + } + + var link = $item.attr('href'); + + if (link === '#' || link === '' || link === undefined) { + return; + } + + var uniqueName = link.replace('./', '').replace(/["&'./:=?[\]]/gi, '-').replace(/(--)/gi, ''); + var navId = "tab-" + uniqueName; + + if (!this._config.allowDuplicates && $__default['default']("#" + navId).length > 0) { + return this.switchTab("#" + navId); + } + + if (!this._config.allowDuplicates && $__default['default']("#" + navId).length === 0 || this._config.allowDuplicates) { + this.createTab(title, link, uniqueName, autoOpen); + } + }; + + _proto.switchTab = function switchTab(item) { + var $item = $__default['default'](item); + var tabId = $item.attr('href'); + $__default['default'](SELECTOR_TAB_EMPTY).hide(); + $__default['default'](SELECTOR_TAB_NAVBAR_NAV + " .active").tab('dispose').removeClass('active'); + + this._fixHeight(); + + $item.tab('show'); + $item.parents('li').addClass('active'); + this.onTabChanged($item); + + if (this._config.autoItemActive) { + this._setItemActive($__default['default'](tabId + " iframe").attr('src')); + } + }; + + _proto.removeActiveTab = function removeActiveTab(type, element) { + if (type == 'all') { + $__default['default'](SELECTOR_TAB_NAVBAR_NAV_ITEM).remove(); + $__default['default'](SELECTOR_TAB_PANE).remove(); + $__default['default'](SELECTOR_TAB_EMPTY).show(); + } else if (type == 'all-other') { + $__default['default'](SELECTOR_TAB_NAVBAR_NAV_ITEM + ":not(.active)").remove(); + $__default['default'](SELECTOR_TAB_PANE + ":not(.active)").remove(); + } else if (type == 'only-this') { + var $navClose = $__default['default'](element); + var $navItem = $navClose.parent('.nav-item'); + var $navItemParent = $navItem.parent(); + var navItemIndex = $navItem.index(); + var tabId = $navClose.siblings('.nav-link').attr('aria-controls'); + $navItem.remove(); + $__default['default']("#" + tabId).remove(); + + if ($__default['default'](SELECTOR_TAB_CONTENT).children().length == $__default['default'](SELECTOR_TAB_EMPTY + ", " + SELECTOR_TAB_LOADING).length) { + $__default['default'](SELECTOR_TAB_EMPTY).show(); + } else { + var prevNavItemIndex = navItemIndex - 1; + this.switchTab($navItemParent.children().eq(prevNavItemIndex).find('a.nav-link')); + } + } else { + var _$navItem = $__default['default'](SELECTOR_TAB_NAVBAR_NAV_ITEM + ".active"); + + var _$navItemParent = _$navItem.parent(); + + var _navItemIndex = _$navItem.index(); + + _$navItem.remove(); + + $__default['default'](SELECTOR_TAB_PANE + ".active").remove(); + + if ($__default['default'](SELECTOR_TAB_CONTENT).children().length == $__default['default'](SELECTOR_TAB_EMPTY + ", " + SELECTOR_TAB_LOADING).length) { + $__default['default'](SELECTOR_TAB_EMPTY).show(); + } else { + var _prevNavItemIndex = _navItemIndex - 1; + + this.switchTab(_$navItemParent.children().eq(_prevNavItemIndex).find('a.nav-link')); + } + } + }; + + _proto.toggleFullscreen = function toggleFullscreen() { + if ($__default['default']('body').hasClass(CLASS_NAME_FULLSCREEN_MODE)) { + $__default['default'](SELECTOR_DATA_TOGGLE_FULLSCREEN + " i").removeClass(this._config.iconMinimize).addClass(this._config.iconMaximize); + $__default['default']('body').removeClass(CLASS_NAME_FULLSCREEN_MODE); + $__default['default'](SELECTOR_TAB_EMPTY + ", " + SELECTOR_TAB_LOADING).height('auto'); + $__default['default'](SELECTOR_CONTENT_WRAPPER).height('auto'); + $__default['default'](SELECTOR_CONTENT_IFRAME).height('auto'); + } else { + $__default['default'](SELECTOR_DATA_TOGGLE_FULLSCREEN + " i").removeClass(this._config.iconMaximize).addClass(this._config.iconMinimize); + $__default['default']('body').addClass(CLASS_NAME_FULLSCREEN_MODE); + } + + $__default['default'](window).trigger('resize'); + + this._fixHeight(true); + } // Private + ; + + _proto._init = function _init() { + if (window.frameElement && this._config.autoIframeMode) { + $__default['default']('body').addClass(CLASS_NAME_IFRAME_MODE); + } else if ($__default['default'](SELECTOR_CONTENT_WRAPPER).hasClass(CLASS_NAME_IFRAME_MODE)) { + if ($__default['default'](SELECTOR_TAB_CONTENT).children().length > 2) { + var $el = $__default['default'](SELECTOR_TAB_PANE + ":first-child"); + $el.show(); + + this._setItemActive($el.find('iframe').attr('src')); + } + + this._setupListeners(); + + this._fixHeight(true); + } + }; + + _proto._navScroll = function _navScroll(offset) { + var leftPos = $__default['default'](SELECTOR_TAB_NAVBAR_NAV).scrollLeft(); + $__default['default'](SELECTOR_TAB_NAVBAR_NAV).animate({ + scrollLeft: leftPos + offset + }, 250, 'linear'); + }; + + _proto._setupListeners = function _setupListeners() { + var _this2 = this; + + $__default['default'](window).on('resize', function () { + setTimeout(function () { + _this2._fixHeight(); + }, 1); + }); + $__default['default'](document).on('click', SELECTOR_SIDEBAR_MENU_ITEM + ", " + SELECTOR_SIDEBAR_SEARCH_ITEM, function (e) { + e.preventDefault(); + + _this2.openTabSidebar(e.target); + }); + + if (this._config.useNavbarItems) { + $__default['default'](document).on('click', SELECTOR_HEADER_MENU_ITEM + ", " + SELECTOR_HEADER_DROPDOWN_ITEM, function (e) { + e.preventDefault(); + + _this2.openTabSidebar(e.target); + }); + } + + $__default['default'](document).on('click', SELECTOR_TAB_NAVBAR_NAV_LINK, function (e) { + e.preventDefault(); + + _this2.onTabClick(e.target); + + _this2.switchTab(e.target); + }); + $__default['default'](document).on('click', SELECTOR_TAB_NAVBAR_NAV_LINK, function (e) { + e.preventDefault(); + + _this2.onTabClick(e.target); + + _this2.switchTab(e.target); + }); + $__default['default'](document).on('click', SELECTOR_DATA_TOGGLE_CLOSE, function (e) { + e.preventDefault(); + var target = e.target; + + if (target.nodeName == 'I') { + target = e.target.offsetParent; + } + + _this2.removeActiveTab(target.attributes['data-type'] ? target.attributes['data-type'].nodeValue : null, target); + }); + $__default['default'](document).on('click', SELECTOR_DATA_TOGGLE_FULLSCREEN, function (e) { + e.preventDefault(); + + _this2.toggleFullscreen(); + }); + var mousedown = false; + var mousedownInterval = null; + $__default['default'](document).on('mousedown', SELECTOR_DATA_TOGGLE_SCROLL_LEFT, function (e) { + e.preventDefault(); + clearInterval(mousedownInterval); + var scrollOffset = _this2._config.scrollOffset; + + if (!_this2._config.scrollBehaviorSwap) { + scrollOffset = -scrollOffset; + } + + mousedown = true; + + _this2._navScroll(scrollOffset); + + mousedownInterval = setInterval(function () { + _this2._navScroll(scrollOffset); + }, 250); + }); + $__default['default'](document).on('mousedown', SELECTOR_DATA_TOGGLE_SCROLL_RIGHT, function (e) { + e.preventDefault(); + clearInterval(mousedownInterval); + var scrollOffset = _this2._config.scrollOffset; + + if (_this2._config.scrollBehaviorSwap) { + scrollOffset = -scrollOffset; + } + + mousedown = true; + + _this2._navScroll(scrollOffset); + + mousedownInterval = setInterval(function () { + _this2._navScroll(scrollOffset); + }, 250); + }); + $__default['default'](document).on('mouseup', function () { + if (mousedown) { + mousedown = false; + clearInterval(mousedownInterval); + mousedownInterval = null; + } + }); + }; + + _proto._setItemActive = function _setItemActive(href) { + $__default['default'](SELECTOR_SIDEBAR_MENU_ITEM + ", " + SELECTOR_HEADER_DROPDOWN_ITEM).removeClass('active'); + $__default['default'](SELECTOR_HEADER_MENU_ITEM).parent().removeClass('active'); + var $headerMenuItem = $__default['default'](SELECTOR_HEADER_MENU_ITEM + "[href$=\"" + href + "\"]"); + var $headerDropdownItem = $__default['default'](SELECTOR_HEADER_DROPDOWN_ITEM + "[href$=\"" + href + "\"]"); + var $sidebarMenuItem = $__default['default'](SELECTOR_SIDEBAR_MENU_ITEM + "[href$=\"" + href + "\"]"); + $headerMenuItem.each(function (i, e) { + $__default['default'](e).parent().addClass('active'); + }); + $headerDropdownItem.each(function (i, e) { + $__default['default'](e).addClass('active'); + }); + $sidebarMenuItem.each(function (i, e) { + $__default['default'](e).addClass('active'); + $__default['default'](e).parents('.nav-treeview').prevAll('.nav-link').addClass('active'); + }); + }; + + _proto._fixHeight = function _fixHeight(tabEmpty) { + if (tabEmpty === void 0) { + tabEmpty = false; + } + + if ($__default['default']('body').hasClass(CLASS_NAME_FULLSCREEN_MODE)) { + var windowHeight = $__default['default'](window).height(); + var navbarHeight = $__default['default'](SELECTOR_TAB_NAV).outerHeight(); + $__default['default'](SELECTOR_TAB_EMPTY + ", " + SELECTOR_TAB_LOADING + ", " + SELECTOR_CONTENT_IFRAME).height(windowHeight - navbarHeight); + $__default['default'](SELECTOR_CONTENT_WRAPPER).height(windowHeight); + } else { + var contentWrapperHeight = parseFloat($__default['default'](SELECTOR_CONTENT_WRAPPER).css('height')); + + var _navbarHeight = $__default['default'](SELECTOR_TAB_NAV).outerHeight(); + + if (tabEmpty == true) { + setTimeout(function () { + $__default['default'](SELECTOR_TAB_EMPTY + ", " + SELECTOR_TAB_LOADING).height(contentWrapperHeight - _navbarHeight); + }, 50); + } else { + $__default['default'](SELECTOR_CONTENT_IFRAME).height(contentWrapperHeight - _navbarHeight); + } + } + } // Static + ; + + IFrame._jQueryInterface = function _jQueryInterface(operation) { + var data = $__default['default'](this).data(DATA_KEY$7); + + var _options = $__default['default'].extend({}, Default$7, $__default['default'](this).data()); + + if (!data) { + data = new IFrame(this, _options); + $__default['default'](this).data(DATA_KEY$7, data); + } + + if (typeof operation === 'string' && /createTab|openTabSidebar|switchTab|removeActiveTab/.test(operation)) { + var _data; + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + (_data = data)[operation].apply(_data, args); + } + }; + + return IFrame; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](window).on('load', function () { + IFrame._jQueryInterface.call($__default['default'](SELECTOR_DATA_TOGGLE$1)); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$7] = IFrame._jQueryInterface; + $__default['default'].fn[NAME$7].Constructor = IFrame; + + $__default['default'].fn[NAME$7].noConflict = function () { + $__default['default'].fn[NAME$7] = JQUERY_NO_CONFLICT$7; + return IFrame._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE Layout.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$6 = 'Layout'; + var DATA_KEY$6 = 'lte.layout'; + var JQUERY_NO_CONFLICT$6 = $__default['default'].fn[NAME$6]; + var SELECTOR_HEADER = '.main-header'; + var SELECTOR_MAIN_SIDEBAR = '.main-sidebar'; + var SELECTOR_SIDEBAR$1 = '.main-sidebar .sidebar'; + var SELECTOR_CONTENT = '.content-wrapper'; + var SELECTOR_CONTROL_SIDEBAR_CONTENT = '.control-sidebar-content'; + var SELECTOR_CONTROL_SIDEBAR_BTN = '[data-widget="control-sidebar"]'; + var SELECTOR_FOOTER = '.main-footer'; + var SELECTOR_PUSHMENU_BTN = '[data-widget="pushmenu"]'; + var SELECTOR_LOGIN_BOX = '.login-box'; + var SELECTOR_REGISTER_BOX = '.register-box'; + var SELECTOR_PRELOADER = '.preloader'; + var CLASS_NAME_SIDEBAR_COLLAPSED$1 = 'sidebar-collapse'; + var CLASS_NAME_SIDEBAR_FOCUSED = 'sidebar-focused'; + var CLASS_NAME_LAYOUT_FIXED = 'layout-fixed'; + var CLASS_NAME_CONTROL_SIDEBAR_SLIDE_OPEN = 'control-sidebar-slide-open'; + var CLASS_NAME_CONTROL_SIDEBAR_OPEN = 'control-sidebar-open'; + var Default$6 = { + scrollbarTheme: 'os-theme-light', + scrollbarAutoHide: 'l', + panelAutoHeight: true, + panelAutoHeightMode: 'min-height', + preloadDuration: 200, + loginRegisterAutoHeight: true + }; + /** + * Class Definition + * ==================================================== + */ + + var Layout = /*#__PURE__*/function () { + function Layout(element, config) { + this._config = config; + this._element = element; + } // Public + + + var _proto = Layout.prototype; + + _proto.fixLayoutHeight = function fixLayoutHeight(extra) { + if (extra === void 0) { + extra = null; + } + + var $body = $__default['default']('body'); + var controlSidebar = 0; + + if ($body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE_OPEN) || $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) || extra === 'control_sidebar') { + controlSidebar = $__default['default'](SELECTOR_CONTROL_SIDEBAR_CONTENT).outerHeight(); + } + + var heights = { + window: $__default['default'](window).height(), + header: $__default['default'](SELECTOR_HEADER).length > 0 ? $__default['default'](SELECTOR_HEADER).outerHeight() : 0, + footer: $__default['default'](SELECTOR_FOOTER).length > 0 ? $__default['default'](SELECTOR_FOOTER).outerHeight() : 0, + sidebar: $__default['default'](SELECTOR_SIDEBAR$1).length > 0 ? $__default['default'](SELECTOR_SIDEBAR$1).height() : 0, + controlSidebar: controlSidebar + }; + + var max = this._max(heights); + + var offset = this._config.panelAutoHeight; + + if (offset === true) { + offset = 0; + } + + var $contentSelector = $__default['default'](SELECTOR_CONTENT); + + if (offset !== false) { + if (max === heights.controlSidebar) { + $contentSelector.css(this._config.panelAutoHeightMode, max + offset); + } else if (max === heights.window) { + $contentSelector.css(this._config.panelAutoHeightMode, max + offset - heights.header - heights.footer); + } else { + $contentSelector.css(this._config.panelAutoHeightMode, max + offset - heights.header); + } + + if (this._isFooterFixed()) { + $contentSelector.css(this._config.panelAutoHeightMode, parseFloat($contentSelector.css(this._config.panelAutoHeightMode)) + heights.footer); + } + } + + if (!$body.hasClass(CLASS_NAME_LAYOUT_FIXED)) { + return; + } + + if (typeof $__default['default'].fn.overlayScrollbars !== 'undefined') { + $__default['default'](SELECTOR_SIDEBAR$1).overlayScrollbars({ + className: this._config.scrollbarTheme, + sizeAutoCapable: true, + scrollbars: { + autoHide: this._config.scrollbarAutoHide, + clickScrolling: true + } + }); + } else { + $__default['default'](SELECTOR_SIDEBAR$1).css('overflow-y', 'auto'); + } + }; + + _proto.fixLoginRegisterHeight = function fixLoginRegisterHeight() { + var $body = $__default['default']('body'); + var $selector = $__default['default'](SELECTOR_LOGIN_BOX + ", " + SELECTOR_REGISTER_BOX); + + if ($selector.length === 0) { + $body.css('height', 'auto'); + $__default['default']('html').css('height', 'auto'); + } else { + var boxHeight = $selector.height(); + + if ($body.css(this._config.panelAutoHeightMode) !== boxHeight) { + $body.css(this._config.panelAutoHeightMode, boxHeight); + } + } + } // Private + ; + + _proto._init = function _init() { + var _this = this; + + // Activate layout height watcher + this.fixLayoutHeight(); + + if (this._config.loginRegisterAutoHeight === true) { + this.fixLoginRegisterHeight(); + } else if (this._config.loginRegisterAutoHeight === parseInt(this._config.loginRegisterAutoHeight, 10)) { + setInterval(this.fixLoginRegisterHeight, this._config.loginRegisterAutoHeight); + } + + $__default['default'](SELECTOR_SIDEBAR$1).on('collapsed.lte.treeview expanded.lte.treeview', function () { + _this.fixLayoutHeight(); + }); + $__default['default'](SELECTOR_MAIN_SIDEBAR).on('mouseenter mouseleave', function () { + if ($__default['default']('body').hasClass(CLASS_NAME_SIDEBAR_COLLAPSED$1)) { + _this.fixLayoutHeight(); + } + }); + $__default['default'](SELECTOR_PUSHMENU_BTN).on('collapsed.lte.pushmenu shown.lte.pushmenu', function () { + setTimeout(function () { + _this.fixLayoutHeight(); + }, 300); + }); + $__default['default'](SELECTOR_CONTROL_SIDEBAR_BTN).on('collapsed.lte.controlsidebar', function () { + _this.fixLayoutHeight(); + }).on('expanded.lte.controlsidebar', function () { + _this.fixLayoutHeight('control_sidebar'); + }); + $__default['default'](window).resize(function () { + _this.fixLayoutHeight(); + }); + setTimeout(function () { + $__default['default']('body.hold-transition').removeClass('hold-transition'); + }, 50); + setTimeout(function () { + var $preloader = $__default['default'](SELECTOR_PRELOADER); + + if ($preloader) { + $preloader.css('height', 0); + setTimeout(function () { + $preloader.children().hide(); + }, 200); + } + }, this._config.preloadDuration); + }; + + _proto._max = function _max(numbers) { + // Calculate the maximum number in a list + var max = 0; + Object.keys(numbers).forEach(function (key) { + if (numbers[key] > max) { + max = numbers[key]; + } + }); + return max; + }; + + _proto._isFooterFixed = function _isFooterFixed() { + return $__default['default'](SELECTOR_FOOTER).css('position') === 'fixed'; + } // Static + ; + + Layout._jQueryInterface = function _jQueryInterface(config) { + if (config === void 0) { + config = ''; + } + + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$6); + + var _options = $__default['default'].extend({}, Default$6, $__default['default'](this).data()); + + if (!data) { + data = new Layout($__default['default'](this), _options); + $__default['default'](this).data(DATA_KEY$6, data); + } + + if (config === 'init' || config === '') { + data._init(); + } else if (config === 'fixLayoutHeight' || config === 'fixLoginRegisterHeight') { + data[config](); + } + }); + }; + + return Layout; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](window).on('load', function () { + Layout._jQueryInterface.call($__default['default']('body')); + }); + $__default['default'](SELECTOR_SIDEBAR$1 + " a").on('focusin', function () { + $__default['default'](SELECTOR_MAIN_SIDEBAR).addClass(CLASS_NAME_SIDEBAR_FOCUSED); + }).on('focusout', function () { + $__default['default'](SELECTOR_MAIN_SIDEBAR).removeClass(CLASS_NAME_SIDEBAR_FOCUSED); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$6] = Layout._jQueryInterface; + $__default['default'].fn[NAME$6].Constructor = Layout; + + $__default['default'].fn[NAME$6].noConflict = function () { + $__default['default'].fn[NAME$6] = JQUERY_NO_CONFLICT$6; + return Layout._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE PushMenu.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$5 = 'PushMenu'; + var DATA_KEY$5 = 'lte.pushmenu'; + var EVENT_KEY$2 = "." + DATA_KEY$5; + var JQUERY_NO_CONFLICT$5 = $__default['default'].fn[NAME$5]; + var EVENT_COLLAPSED$1 = "collapsed" + EVENT_KEY$2; + var EVENT_SHOWN = "shown" + EVENT_KEY$2; + var SELECTOR_TOGGLE_BUTTON$1 = '[data-widget="pushmenu"]'; + var SELECTOR_BODY = 'body'; + var SELECTOR_OVERLAY = '#sidebar-overlay'; + var SELECTOR_WRAPPER = '.wrapper'; + var CLASS_NAME_COLLAPSED = 'sidebar-collapse'; + var CLASS_NAME_OPEN$3 = 'sidebar-open'; + var CLASS_NAME_IS_OPENING$1 = 'sidebar-is-opening'; + var CLASS_NAME_CLOSED = 'sidebar-closed'; + var Default$5 = { + autoCollapseSize: 992, + enableRemember: false, + noTransitionAfterReload: true + }; + /** + * Class Definition + * ==================================================== + */ + + var PushMenu = /*#__PURE__*/function () { + function PushMenu(element, options) { + this._element = element; + this._options = $__default['default'].extend({}, Default$5, options); + + if ($__default['default'](SELECTOR_OVERLAY).length === 0) { + this._addOverlay(); + } + + this._init(); + } // Public + + + var _proto = PushMenu.prototype; + + _proto.expand = function expand() { + var $bodySelector = $__default['default'](SELECTOR_BODY); + + if (this._options.autoCollapseSize && $__default['default'](window).width() <= this._options.autoCollapseSize) { + $bodySelector.addClass(CLASS_NAME_OPEN$3); + } + + $bodySelector.addClass(CLASS_NAME_IS_OPENING$1).removeClass(CLASS_NAME_COLLAPSED + " " + CLASS_NAME_CLOSED).delay(50).queue(function () { + $bodySelector.removeClass(CLASS_NAME_IS_OPENING$1); + $__default['default'](this).dequeue(); + }); + + if (this._options.enableRemember) { + localStorage.setItem("remember" + EVENT_KEY$2, CLASS_NAME_OPEN$3); + } + + $__default['default'](this._element).trigger($__default['default'].Event(EVENT_SHOWN)); + }; + + _proto.collapse = function collapse() { + var $bodySelector = $__default['default'](SELECTOR_BODY); + + if (this._options.autoCollapseSize && $__default['default'](window).width() <= this._options.autoCollapseSize) { + $bodySelector.removeClass(CLASS_NAME_OPEN$3).addClass(CLASS_NAME_CLOSED); + } + + $bodySelector.addClass(CLASS_NAME_COLLAPSED); + + if (this._options.enableRemember) { + localStorage.setItem("remember" + EVENT_KEY$2, CLASS_NAME_COLLAPSED); + } + + $__default['default'](this._element).trigger($__default['default'].Event(EVENT_COLLAPSED$1)); + }; + + _proto.toggle = function toggle() { + if ($__default['default'](SELECTOR_BODY).hasClass(CLASS_NAME_COLLAPSED)) { + this.expand(); + } else { + this.collapse(); + } + }; + + _proto.autoCollapse = function autoCollapse(resize) { + if (resize === void 0) { + resize = false; + } + + if (!this._options.autoCollapseSize) { + return; + } + + var $bodySelector = $__default['default'](SELECTOR_BODY); + + if ($__default['default'](window).width() <= this._options.autoCollapseSize) { + if (!$bodySelector.hasClass(CLASS_NAME_OPEN$3)) { + this.collapse(); + } + } else if (resize === true) { + if ($bodySelector.hasClass(CLASS_NAME_OPEN$3)) { + $bodySelector.removeClass(CLASS_NAME_OPEN$3); + } else if ($bodySelector.hasClass(CLASS_NAME_CLOSED)) { + this.expand(); + } + } + }; + + _proto.remember = function remember() { + if (!this._options.enableRemember) { + return; + } + + var $body = $__default['default']('body'); + var toggleState = localStorage.getItem("remember" + EVENT_KEY$2); + + if (toggleState === CLASS_NAME_COLLAPSED) { + if (this._options.noTransitionAfterReload) { + $body.addClass('hold-transition').addClass(CLASS_NAME_COLLAPSED).delay(50).queue(function () { + $__default['default'](this).removeClass('hold-transition'); + $__default['default'](this).dequeue(); + }); + } else { + $body.addClass(CLASS_NAME_COLLAPSED); + } + } else if (this._options.noTransitionAfterReload) { + $body.addClass('hold-transition').removeClass(CLASS_NAME_COLLAPSED).delay(50).queue(function () { + $__default['default'](this).removeClass('hold-transition'); + $__default['default'](this).dequeue(); + }); + } else { + $body.removeClass(CLASS_NAME_COLLAPSED); + } + } // Private + ; + + _proto._init = function _init() { + var _this = this; + + this.remember(); + this.autoCollapse(); + $__default['default'](window).resize(function () { + _this.autoCollapse(true); + }); + }; + + _proto._addOverlay = function _addOverlay() { + var _this2 = this; + + var overlay = $__default['default']('
    ', { + id: 'sidebar-overlay' + }); + overlay.on('click', function () { + _this2.collapse(); + }); + $__default['default'](SELECTOR_WRAPPER).append(overlay); + } // Static + ; + + PushMenu._jQueryInterface = function _jQueryInterface(operation) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$5); + + var _options = $__default['default'].extend({}, Default$5, $__default['default'](this).data()); + + if (!data) { + data = new PushMenu(this, _options); + $__default['default'](this).data(DATA_KEY$5, data); + } + + if (typeof operation === 'string' && /collapse|expand|toggle/.test(operation)) { + data[operation](); + } + }); + }; + + return PushMenu; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](document).on('click', SELECTOR_TOGGLE_BUTTON$1, function (event) { + event.preventDefault(); + var button = event.currentTarget; + + if ($__default['default'](button).data('widget') !== 'pushmenu') { + button = $__default['default'](button).closest(SELECTOR_TOGGLE_BUTTON$1); + } + + PushMenu._jQueryInterface.call($__default['default'](button), 'toggle'); + }); + $__default['default'](window).on('load', function () { + PushMenu._jQueryInterface.call($__default['default'](SELECTOR_TOGGLE_BUTTON$1)); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$5] = PushMenu._jQueryInterface; + $__default['default'].fn[NAME$5].Constructor = PushMenu; + + $__default['default'].fn[NAME$5].noConflict = function () { + $__default['default'].fn[NAME$5] = JQUERY_NO_CONFLICT$5; + return PushMenu._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE SidebarSearch.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$4 = 'SidebarSearch'; + var DATA_KEY$4 = 'lte.sidebar-search'; + var JQUERY_NO_CONFLICT$4 = $__default['default'].fn[NAME$4]; + var CLASS_NAME_OPEN$2 = 'sidebar-search-open'; + var CLASS_NAME_ICON_SEARCH = 'fa-search'; + var CLASS_NAME_ICON_CLOSE = 'fa-times'; + var CLASS_NAME_HEADER = 'nav-header'; + var CLASS_NAME_SEARCH_RESULTS = 'sidebar-search-results'; + var CLASS_NAME_LIST_GROUP = 'list-group'; + var SELECTOR_DATA_WIDGET$1 = '[data-widget="sidebar-search"]'; + var SELECTOR_SIDEBAR = '.main-sidebar .nav-sidebar'; + var SELECTOR_NAV_LINK = '.nav-link'; + var SELECTOR_NAV_TREEVIEW = '.nav-treeview'; + var SELECTOR_SEARCH_INPUT$1 = SELECTOR_DATA_WIDGET$1 + " .form-control"; + var SELECTOR_SEARCH_BUTTON = SELECTOR_DATA_WIDGET$1 + " .btn"; + var SELECTOR_SEARCH_ICON = SELECTOR_SEARCH_BUTTON + " i"; + var SELECTOR_SEARCH_LIST_GROUP = "." + CLASS_NAME_LIST_GROUP; + var SELECTOR_SEARCH_RESULTS = "." + CLASS_NAME_SEARCH_RESULTS; + var SELECTOR_SEARCH_RESULTS_GROUP = SELECTOR_SEARCH_RESULTS + " ." + CLASS_NAME_LIST_GROUP; + var Default$4 = { + arrowSign: '->', + minLength: 3, + maxResults: 7, + highlightName: true, + highlightPath: false, + highlightClass: 'text-light', + notFoundText: 'No element found!' + }; + var SearchItems = []; + /** + * Class Definition + * ==================================================== + */ + + var SidebarSearch = /*#__PURE__*/function () { + function SidebarSearch(_element, _options) { + this.element = _element; + this.options = $__default['default'].extend({}, Default$4, _options); + this.items = []; + } // Public + + + var _proto = SidebarSearch.prototype; + + _proto.init = function init() { + var _this = this; + + if ($__default['default'](SELECTOR_DATA_WIDGET$1).length === 0) { + return; + } + + if ($__default['default'](SELECTOR_DATA_WIDGET$1).next(SELECTOR_SEARCH_RESULTS).length === 0) { + $__default['default'](SELECTOR_DATA_WIDGET$1).after($__default['default']('
    ', { + class: CLASS_NAME_SEARCH_RESULTS + })); + } + + if ($__default['default'](SELECTOR_SEARCH_RESULTS).children(SELECTOR_SEARCH_LIST_GROUP).length === 0) { + $__default['default'](SELECTOR_SEARCH_RESULTS).append($__default['default']('
    ', { + class: CLASS_NAME_LIST_GROUP + })); + } + + this._addNotFound(); + + $__default['default'](SELECTOR_SIDEBAR).children().each(function (i, child) { + _this._parseItem(child); + }); + }; + + _proto.search = function search() { + var _this2 = this; + + var searchValue = $__default['default'](SELECTOR_SEARCH_INPUT$1).val().toLowerCase(); + + if (searchValue.length < this.options.minLength) { + $__default['default'](SELECTOR_SEARCH_RESULTS_GROUP).empty(); + + this._addNotFound(); + + this.close(); + return; + } + + var searchResults = SearchItems.filter(function (item) { + return item.name.toLowerCase().includes(searchValue); + }); + var endResults = $__default['default'](searchResults.slice(0, this.options.maxResults)); + $__default['default'](SELECTOR_SEARCH_RESULTS_GROUP).empty(); + + if (endResults.length === 0) { + this._addNotFound(); + } else { + endResults.each(function (i, result) { + $__default['default'](SELECTOR_SEARCH_RESULTS_GROUP).append(_this2._renderItem(escape(result.name), escape(result.link), result.path)); + }); + } + + this.open(); + }; + + _proto.open = function open() { + $__default['default'](SELECTOR_DATA_WIDGET$1).parent().addClass(CLASS_NAME_OPEN$2); + $__default['default'](SELECTOR_SEARCH_ICON).removeClass(CLASS_NAME_ICON_SEARCH).addClass(CLASS_NAME_ICON_CLOSE); + }; + + _proto.close = function close() { + $__default['default'](SELECTOR_DATA_WIDGET$1).parent().removeClass(CLASS_NAME_OPEN$2); + $__default['default'](SELECTOR_SEARCH_ICON).removeClass(CLASS_NAME_ICON_CLOSE).addClass(CLASS_NAME_ICON_SEARCH); + }; + + _proto.toggle = function toggle() { + if ($__default['default'](SELECTOR_DATA_WIDGET$1).parent().hasClass(CLASS_NAME_OPEN$2)) { + this.close(); + } else { + this.open(); + } + } // Private + ; + + _proto._parseItem = function _parseItem(item, path) { + var _this3 = this; + + if (path === void 0) { + path = []; + } + + if ($__default['default'](item).hasClass(CLASS_NAME_HEADER)) { + return; + } + + var itemObject = {}; + var navLink = $__default['default'](item).clone().find("> " + SELECTOR_NAV_LINK); + var navTreeview = $__default['default'](item).clone().find("> " + SELECTOR_NAV_TREEVIEW); + var link = navLink.attr('href'); + var name = navLink.find('p').children().remove().end().text(); + itemObject.name = this._trimText(name); + itemObject.link = link; + itemObject.path = path; + + if (navTreeview.length === 0) { + SearchItems.push(itemObject); + } else { + var newPath = itemObject.path.concat([itemObject.name]); + navTreeview.children().each(function (i, child) { + _this3._parseItem(child, newPath); + }); + } + }; + + _proto._trimText = function _trimText(text) { + return $.trim(text.replace(/(\r\n|\n|\r)/gm, ' ')); + }; + + _proto._renderItem = function _renderItem(name, link, path) { + var _this4 = this; + + path = path.join(" " + this.options.arrowSign + " "); + name = unescape(name); + + if (this.options.highlightName || this.options.highlightPath) { + var searchValue = $__default['default'](SELECTOR_SEARCH_INPUT$1).val().toLowerCase(); + var regExp = new RegExp(searchValue, 'gi'); + + if (this.options.highlightName) { + name = name.replace(regExp, function (str) { + return "" + str + ""; + }); + } + + if (this.options.highlightPath) { + path = path.replace(regExp, function (str) { + return "" + str + ""; + }); + } + } + + var groupItemElement = $__default['default']('', { + href: link, + class: 'list-group-item' + }); + var searchTitleElement = $__default['default']('
    ', { + class: 'search-title' + }).html(name); + var searchPathElement = $__default['default']('
    ', { + class: 'search-path' + }).html(path); + groupItemElement.append(searchTitleElement).append(searchPathElement); + return groupItemElement; + }; + + _proto._addNotFound = function _addNotFound() { + $__default['default'](SELECTOR_SEARCH_RESULTS_GROUP).append(this._renderItem(this.options.notFoundText, '#', [])); + } // Static + ; + + SidebarSearch._jQueryInterface = function _jQueryInterface(config) { + var data = $__default['default'](this).data(DATA_KEY$4); + + if (!data) { + data = $__default['default'](this).data(); + } + + var _options = $__default['default'].extend({}, Default$4, typeof config === 'object' ? config : data); + + var plugin = new SidebarSearch($__default['default'](this), _options); + $__default['default'](this).data(DATA_KEY$4, typeof config === 'object' ? config : data); + + if (typeof config === 'string' && /init|toggle|close|open|search/.test(config)) { + plugin[config](); + } else { + plugin.init(); + } + }; + + return SidebarSearch; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](document).on('click', SELECTOR_SEARCH_BUTTON, function (event) { + event.preventDefault(); + + SidebarSearch._jQueryInterface.call($__default['default'](SELECTOR_DATA_WIDGET$1), 'toggle'); + }); + $__default['default'](document).on('keyup', SELECTOR_SEARCH_INPUT$1, function (event) { + if (event.keyCode == 38) { + event.preventDefault(); + $__default['default'](SELECTOR_SEARCH_RESULTS_GROUP).children().last().focus(); + return; + } + + if (event.keyCode == 40) { + event.preventDefault(); + $__default['default'](SELECTOR_SEARCH_RESULTS_GROUP).children().first().focus(); + return; + } + + setTimeout(function () { + SidebarSearch._jQueryInterface.call($__default['default'](SELECTOR_DATA_WIDGET$1), 'search'); + }, 100); + }); + $__default['default'](document).on('keydown', SELECTOR_SEARCH_RESULTS_GROUP, function (event) { + var $focused = $__default['default'](':focus'); + + if (event.keyCode == 38) { + event.preventDefault(); + + if ($focused.is(':first-child')) { + $focused.siblings().last().focus(); + } else { + $focused.prev().focus(); + } + } + + if (event.keyCode == 40) { + event.preventDefault(); + + if ($focused.is(':last-child')) { + $focused.siblings().first().focus(); + } else { + $focused.next().focus(); + } + } + }); + $__default['default'](window).on('load', function () { + SidebarSearch._jQueryInterface.call($__default['default'](SELECTOR_DATA_WIDGET$1), 'init'); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$4] = SidebarSearch._jQueryInterface; + $__default['default'].fn[NAME$4].Constructor = SidebarSearch; + + $__default['default'].fn[NAME$4].noConflict = function () { + $__default['default'].fn[NAME$4] = JQUERY_NO_CONFLICT$4; + return SidebarSearch._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE NavbarSearch.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$3 = 'NavbarSearch'; + var DATA_KEY$3 = 'lte.navbar-search'; + var JQUERY_NO_CONFLICT$3 = $__default['default'].fn[NAME$3]; + var SELECTOR_TOGGLE_BUTTON = '[data-widget="navbar-search"]'; + var SELECTOR_SEARCH_BLOCK = '.navbar-search-block'; + var SELECTOR_SEARCH_INPUT = '.form-control'; + var CLASS_NAME_OPEN$1 = 'navbar-search-open'; + var Default$3 = { + resetOnClose: true, + target: SELECTOR_SEARCH_BLOCK + }; + /** + * Class Definition + * ==================================================== + */ + + var NavbarSearch = /*#__PURE__*/function () { + function NavbarSearch(_element, _options) { + this._element = _element; + this._config = $__default['default'].extend({}, Default$3, _options); + } // Public + + + var _proto = NavbarSearch.prototype; + + _proto.open = function open() { + $__default['default'](this._config.target).css('display', 'flex').hide().fadeIn().addClass(CLASS_NAME_OPEN$1); + $__default['default'](this._config.target + " " + SELECTOR_SEARCH_INPUT).focus(); + }; + + _proto.close = function close() { + $__default['default'](this._config.target).fadeOut().removeClass(CLASS_NAME_OPEN$1); + + if (this._config.resetOnClose) { + $__default['default'](this._config.target + " " + SELECTOR_SEARCH_INPUT).val(''); + } + }; + + _proto.toggle = function toggle() { + if ($__default['default'](this._config.target).hasClass(CLASS_NAME_OPEN$1)) { + this.close(); + } else { + this.open(); + } + } // Static + ; + + NavbarSearch._jQueryInterface = function _jQueryInterface(options) { + return this.each(function () { + var data = $__default['default'](this).data(DATA_KEY$3); + + var _options = $__default['default'].extend({}, Default$3, $__default['default'](this).data()); + + if (!data) { + data = new NavbarSearch(this, _options); + $__default['default'](this).data(DATA_KEY$3, data); + } + + if (!/toggle|close|open/.test(options)) { + throw new Error("Undefined method " + options); + } + + data[options](); + }); + }; + + return NavbarSearch; + }(); + /** + * Data API + * ==================================================== + */ + + + $__default['default'](document).on('click', SELECTOR_TOGGLE_BUTTON, function (event) { + event.preventDefault(); + var button = $__default['default'](event.currentTarget); + + if (button.data('widget') !== 'navbar-search') { + button = button.closest(SELECTOR_TOGGLE_BUTTON); + } + + NavbarSearch._jQueryInterface.call(button, 'toggle'); + }); + /** + * jQuery API + * ==================================================== + */ + + $__default['default'].fn[NAME$3] = NavbarSearch._jQueryInterface; + $__default['default'].fn[NAME$3].Constructor = NavbarSearch; + + $__default['default'].fn[NAME$3].noConflict = function () { + $__default['default'].fn[NAME$3] = JQUERY_NO_CONFLICT$3; + return NavbarSearch._jQueryInterface; + }; + + /** + * -------------------------------------------- + * AdminLTE Toasts.js + * License MIT + * -------------------------------------------- + */ + /** + * Constants + * ==================================================== + */ + + var NAME$2 = 'Toasts'; + var DATA_KEY$2 = 'lte.toasts'; + var EVENT_KEY$1 = "." + DATA_KEY$2; + var JQUERY_NO_CONFLICT$2 = $__default['default'].fn[NAME$2]; + var EVENT_INIT = "init" + EVENT_KEY$1; + var EVENT_CREATED = "created" + EVENT_KEY$1; + var EVENT_REMOVED = "removed" + EVENT_KEY$1; + var SELECTOR_CONTAINER_TOP_RIGHT = '#toastsContainerTopRight'; + var SELECTOR_CONTAINER_TOP_LEFT = '#toastsContainerTopLeft'; + var SELECTOR_CONTAINER_BOTTOM_RIGHT = '#toastsContainerBottomRight'; + var SELECTOR_CONTAINER_BOTTOM_LEFT = '#toastsContainerBottomLeft'; + var CLASS_NAME_TOP_RIGHT = 'toasts-top-right'; + var CLASS_NAME_TOP_LEFT = 'toasts-top-left'; + var CLASS_NAME_BOTTOM_RIGHT = 'toasts-bottom-right'; + var CLASS_NAME_BOTTOM_LEFT = 'toasts-bottom-left'; + var POSITION_TOP_RIGHT = 'topRight'; + var POSITION_TOP_LEFT = 'topLeft'; + var POSITION_BOTTOM_RIGHT = 'bottomRight'; + var POSITION_BOTTOM_LEFT = 'bottomLeft'; + var Default$2 = { + position: POSITION_TOP_RIGHT, + fixed: true, + autohide: false, + autoremove: true, + delay: 1000, + fade: true, + icon: null, + image: null, + imageAlt: null, + imageHeight: '25px', + title: null, + subtitle: null, + close: true, + body: null, + class: null + }; + /** + * Class Definition + * ==================================================== + */ + + var Toasts = /*#__PURE__*/function () { + function Toasts(element, config) { + this._config = config; + + this._prepareContainer(); + + $__default['default']('body').trigger($__default['default'].Event(EVENT_INIT)); + } // Public + + + var _proto = Toasts.prototype; + + _proto.create = function create() { + var toast = $__default['default'](' + + +
    + +
    + +
    + + + + + + diff --git a/ems-core/web-admin/src/App.vue b/ems-core/web-admin/src/App.vue new file mode 100644 index 0000000..ce2d97c --- /dev/null +++ b/ems-core/web-admin/src/App.vue @@ -0,0 +1,129 @@ + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/assets/img/backgrounds/circuit-board-5907811_1920-bw.png b/ems-core/web-admin/src/assets/img/backgrounds/circuit-board-5907811_1920-bw.png new file mode 100644 index 0000000000000000000000000000000000000000..683e378d3ccd66faacc9cc167eb70015a915173f GIT binary patch literal 602336 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

    Up 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 z z)fE9q8PHB`g&o)jYJY!PiTEvx{aqj@=Bx58mT_?D@n?R{4h=~F7-AHY97>$=q;O;v zlV@~r+0M7*8!XZyrp>ebgk|m2UZty?)q$|8vQuVrO88wxhf%LNt#qWzYbb29xB#9>kbbF>; z4WtM&47r&ELv9;nJ8}_cFhKC=aS!)s2(+zaw=;fs^K1>U zBE}^oWx!|UG7@qOE8va1svU$9R#NBES`TS}JwIvnENKa-so=o%`>Eta_{78<#n*{s zU{zmo!WvAv+K$)52u*FhSd(?QTv3cf>A+T{-oc|yz`Z=F9ucwakxcQ&(B9Rgh4+`$ zpRQ6X$uWJRTHm{y)u+jXO@049^q#3Y0J8F4jIWW`@HAS(Ilx+=`hwjDxMd%{F^4K; zRe6^VLWswo^(F@NC~)xj4xg5tga{Go*k>}y$d!P|>O7Qy6o&;umi5QHP1|BuzQboF zwT!BuW6l5?=hU2!)psWoEzXW43&z76Y~V;x>dZ~y>+07*naRGCqHV$P9oGh~R* z243bm7PL)fVMP^ndYwG8nogy&#njrb*hPa5!YPpG8^O?P9`S7VH5XopN0%b@oXEqj$e<>YZR9Fz+=FiT*_H&V@S?C z_wu055Ht|Jbv>i0?ar#2Y1!!(GDHY@O7FyFo`SbHg=?9SK3#^yR;*FROQllJaqer{ z^Of`=^)RZgy)L#2EaP`Z6fAI}`~zlwb#S?!=X3^eR@8i}pDNIdi^B+?5a`O~oWg*N zj7>bnUFu=9&alMmy8`h#cFjl_af)1pPeQ>g?{W*TYmWg=jYy$>t?S#Qb}v>-C{=Ea z0U_m9iEGv}hm~tzj*eC84vmqS+FG#sjI1Yx%3Z6f=VZ*t)f~qnDJ{C(#gm%YCVB^K z3g;ra1oRx+EQ3Qq%KUO4M%p8)TRnC4uuY>Nvp3#r8#(bc9pMd16HjIYui>r z`5($Bz;_o&$Gpp{f0Ck%Xp=Ew6YuB`*+GQq^#3+r zw$jf-TLsH3kD%`2XlC@Q`!Ka#*rBl9>3F#*L!gp;*C8V#Esm?M2n%X2& z+Z(IGhm?SrHa?H)9dzihOrKA1A+s_dAg4u6fDkw6OY638M}0N^&HCJ`^F@`Ess%9~ zLP}0Vz`GnTSJPv}2$zT(_`S}eV>i95nbsi(B~f~cPl%GC4DsX|P9()+NRP+3M|}d` z!zDnhR6sL0bID2Z!G87-I8)BYB_?Gv%Us6`I){)EKquU*@}%oEcu$n;GDd64T@R94k2ieSF&NB%@^s)ALoXxmlrVvy+q#+x5r1 z#|$nhDOd1!vV?;}Mi-wEMx895I6`y9uX6%U1F3^*yDJKQ@Q0w;6jyyh6R4IDSi8nRffD*5IZcXu6!6BhbMnpoNZ^@TPa2PSeYiuRaq6QeKpVuUq zZvT#Q{rt-%w%#nbn$T(awVD4i-61|hI`a3NM4tkf=chcPEfR}THWej98er-kt_4}S zC_V!=$^{&YXM0v2;uoZJEj;SbSpE-$3C(Pz!w?_gDZPg-1qppl;4rg9@HKD~WotF=V0o>Hj5pk+QaBd|I~b1ZYbT+19WMrhzh{;2J76Ly`Vzxio7 zj-{IMDe&+SxrXCdB*LL&RB63mkFq2rw#fKCTrySos-Ko7#uBUCCvXE5iu2x^*yQ zqg=@;yhl!l4!7`>Djl$){s$GX-52NHWNkA-A-NT%s8Ax!D=n{9R~!#M*psz(p2F2Q zSet*TC$LSRnB(K)6VW0f#3Q$RLIpxTc=kbdQmO63^$@wB%kz3OF>N45xq=f#$jFE+ zFR4B5C696);%DqI3Z!(e z|9T**0VUqm*kthYVLw|eA?C^^=xPc$76&R;L%Ppb|EZ9?AQCU)o?iJg|F3R4x! zC(l$ZgO?FN^BHljoXs*yfXiRGgMoThcgkywa`n)dbF75d_NA>1E}Pl%dPQL6`|3#8 z>b>A2c%-!CQjTGXjDmUY=MjzYDIp1kbv?`e2`mM&pacw=m222&9eK#NE89@tN2+QV}1` znqZ5Sf2#uZ`Vw8(C&qN+_!Q)%93@vU#{w=c1vl|W4bXArm=%st$qiUw>Pi8SkQ2&P zoX#RC4s$%nJ?hZLC`UQAV=AWvq?I%h1wuLw7-CM7%gNaee1|W}fRL1Y9V7vE1?^pV z$Lc?u{BK!{s@V6O@#<>68g;UKEQcUuwok2Gm-p@|K9GGXQ(M1Q4>amCruxqC^EoIX z%79I>g;N;Or(h#@ST(}}4|l9AHOZ#8zpTlL3FaAd$E%=mPfG@2sh!!%gjap1tWuuM z;A8L4s(IW4WxMJmuWI5Z4O@1ycPZGZFY6!mS$#zp6xx;|A+z!`ADtz%37wzZ&&2Y_ z8i=|(UJ+fp2JZRjRiX;8@5?QNEqJ`DH?otS!Bg-9PLO3H95Mut94w(%(MUnp+fmA$ zvA`#0j`#E@yv1f>GT;)yaV}~mT(l?yl#^v@T?LWO!hEK*g%-`MW?gt^O(Ho){AmgW7#4RkTPeuzEA^0{UU1~bik5UiM zgor*a-;%$z9Ap8TP!g2L!i1`Kt_@e>gJpgz$EajEYspm{$s!>RJs#$9#X_Z&K2Qf7 zG#8~> z1PE|7r;*Siq0QqwYAa5Lx5%(1#kHQNdS=ok00wxREdK?c6W8*47Gr2&6R2_M*r9ek zQ#)L&+&z2}Qo3>#$B~ec5pXAe)eZxj=&W}?Pv`r=wMpq3AtS|M8K05frvHwu{E-oY z%ZNX)m4C;5s%pXp&-M&`l*)F!pRZ_Z|aYDpLsG;;Br18k$t5z*5X=uZhN+A zAhph|Nu!|ncqF*A7!j^;znf4Zqip0^_3&@VR~b;?(&0sJV5BXEwo%$Jn3(FyO6X&~ zG@r165ldVwUt}9Q`8MZC7mt(zAzI~3)|XYAOu5x$Y>;a>k@pZ>Lhj^Ab;sQ}GJf48 z^)Z$Tpd*)a8ar{xiMWklXaIPYyt=$oF2Y(NG(9-hOajO_I54fqzO4a1uJ=6I&vw;kmC`NFd!o!vMivwZdS*-?Q2l>TC#c&6BzGKZ{c6)Gs_HZ z%T+te9B=X?ZYEa;L#MQV&Zdq+a_ny5qqxL41o*fl$X@hl$%;KIu)b!S=k->WX_1rA z;u6k~5s6LLxiyjI-C0J2GNMC{$J=^6i?k_75ia6WqV#PSa0w3laI5t+kXq+fchF5! zc}zq`jK|Psn5tS-MXX$!kkA5@%yRCHaG2*+uA{GQ7IDXdp7nRvF|*CqY}4H{;#+ba zU*=0vut<(aZaHOEQb4aaYwA|GEHE!uT3YE@+T6oK+C^BlIhkfJnEBqNWd0hlS+3+5 z-lBs;n}>KneXDff+j>Mr?R~hpWUKWU)qj)GVniv#`>;NQ%Pf6%a3YtmQI=@olaX5& z0?I{ieT<|tMvE6HEntD;<@>Z*K$s=vR$kNqAsLH7Pd?%G5ZVDlW$in>plhr16Rr*~ncCD2hSeMR6(7@m zJ1^fFgP~K4c?j0wJY9ch{6Vj+g7upYq>NZ^=XQ?8=z%5_qzo96a|8jmawm@M(%koF zRQLJ{0tyC16#R+8vO^XWmIHQg?#-k>Sdicn@>ku;BAdxsBH~icl0_UKK*{iNP}?iE zJM$RXL~5Hi^=96qO-2EHn@jPMq}I7rFrG3(_wi@}A(@@Z&3Z^B zOlv9}AXO$yR5V4buIh{?NGI5(9eFnzs| z#hgs%?Ao!WB9>a*$}8N$CYFdS2C3|(%_&G}aSwmejQs)6oa8gjC}<%(txsD>-UuNd zt1#`2HL*!140}npGGYUL7TL&U949dWuI(av}&o*iqgx$l*Bl_60M$!U?WL9XBo5)wjYxSc1oU=9bfK$d~qu6P~~U0Zpbbv8rB7(P1RXM4Un!5dUL5@rIx(_+NDfNG`09K`?!k1qG~pw5yL6CpNpSHBM>VNF4X;@}gJGq9su zvC@?x*WqKk5}uga)DE`Q+wcJYGUGCFwd)VsNv`*lHsM)O>qCbfLE2_lxQ^k;!bK*pEkyDX675%3Pz zv#f0^>u0$3cXbBFjL@%=5fKsFKmp8z4%hvHSMND7VUAb|gM_YJ!EqFfaM)yZrHrc& zjA^8synV6lQ|mJ;=W{F>88LI*!INrKzw+8A>qiLt)~Bu9Mw>sor1-czsrO)n9N*_y zuB0Pl>VMw&4(?zBFYpdV z#Ae@|!^-u`%#r|yC-i;{%X7-HTu4tA2`!oa-dG*JpA+$t-pm3K0VxGnbFvufiUAIW zTQ;<95qtgwhm-=Jdw7v94hwi(!lz}3kl@(eFvKObOtl|wt)2!_2hsM$f>k>985zP3 zy@fw=3{P?=iH4|^<1D%U%lC+Ft26xU=uu2%yf6gR26HbDYQ-;4||(IE-M+1ZKZUqG^d9{Oi#YYvGgg(nc*Jp zQ?tC4i&29&o1h#Eb!gfg@r(UD8|gyo5x=V|U$rENDU89(KfcyXyxr?!r5&eIuV@>ljw zu4mhOcuKR2uPKatsEo$c*00HURWKdYf=5AyA+BypbgZ4(x~C^+vLkctocX@FdZR#T zR&R$4msg2#Y#&lx$Ih_?h;9Tk})9Q8cq^};7JMW6%{07O~2ipd8y^;F=UZBtL1kQ zpOMUtrdXl*)OPWIc%qeQAhpgd8^gbpHh<*z%mV?x;vsgbPi$pf3w$fJ2~0TS^{ypT zlKrB5gPe?lF0b-awriV&oYcaLgqUJQYwE6?)28_CTD1>%Ze~d-A3%qeT+YcX;Q}3= z;1_DL`k8g+>mwnx|I9c!ayh56jerg=ck(M$)K;ww(sxpJ@o=#EymHC#2{4^J2?Y_) z=!3LL$rx}77qdYY@$jrvZM}wA0Rq>{*y+S~2}Z8jWY>hE|z#E9`#}IW4)6)2(zui>G-|M}RV_K^{`v#(b^MVeGNjPMTzDQ=3{H*jx3Q zHudGI|JF}>>2R`=)&Z21E-Bj)lyHUoxx$zbJf}}uYbf}z1VGImEwhIfcx1H5QJ&G; zX#qJyj%Ev8DM%^EYdyBRKYnKAH2MUDyr@4z>5woW;$lvboET_Z!t*9?^4|KKg$fBd zBhKU$d_3DQQGZqC0e=|S|1^+V_vQdGA;N&q@I`iz;4;V4+)Jtv2|nO6w20ZVDq?I> zTgoLQCF5-Q1_KHLW_XsZ?9c$$Hu9%<1lA2Jk5RJ9D3h)3Yh8@;qi-N}5Y>n|xq{>A z+s?C}bFW4i>A0c+jV#^zs)wyWnUgCxjh&2W6L33^Y8SCu2x)_*=J0S=C;LuPOV)1) zO@$VZ>rZJB(4o(de}jgS)m#327grC0|&X?9=3Gd~zZ(l$-dy zx;VrrQKMo!Sut^NEg53^Bm<(9MgquXR^EVc0P_nF~g zy`9YzxQsZ8Yv@U4iS%8Y`rVVcB;>?+ba45LZe;Ej~={EmA_)v=FX#K_Va zR~hP3Bc@zN3kusi5p#}Q$bgiL&Ah~|ENaLyVke*jwtc_KQa7jNq|Owq#cIGuBOMT2 z3uUYx*a5S0CCAXmrA>#Ycti^VMg)xPyQ*@0{a64wJ-L`87~tZtiO0E1BRpb4TM?+g zdhLwk{xWS`sgBvJf`>JGeg3goXQq@Vz!(Rhrt;5Fd2@ltvR@-5onHvfp_FU zmqm7PtZbpj0xdioZsjjJhs((JK9*NpUiYM^u`^x)Jh_}RS*E~ehDW(WLwvT;wHoze z0fQw6;OZ{d;n&4CwW+OjYs$J#u6=bN>fr+#UoU35qzn?sBgUnN+Md*vA#r9K4FY`Y zotfW%SZH5`KrlzhXyGzKnBzhHB`zr*LpE^@vl8PXwx8E!Z*-&zTKEVfB3{s+F=Q5> zArY5ynk*pvAZ2LuyLn#8XE9Sos;~h)`sda8S4uzFO6Sm{a zW%4C5k9M9oKQtQ|eE=%w^K1+lIJfipG(_@L4)47m&8IjRL8Q~II zC}oo`5!O1$v~Eq6Hba+@;?W{SX%n)@S#lLU78uZ@;AWoD&?-eu3J}*FCBqwO`Xd5z zgq~c;DGY&}IUeSIEr?jK)hO4(h?~g}Wm2uA`M0S}ZE6S4CZGHAxAnhEEg4wZ^x0ht zCSzy6K=E)$ISTM`$Y8}i%Pj;h;F!H8d)SjziFUzbM1hCPFZF&hHlu9gD8A2(^l4eY zFt)g&xZQF`f+4f)WuBu=IO?8#^LN)!ttqO?B_Wq$2cbk*TIFghCnB#69(;0@A zsI(lF$xu@ee0+v<yI0%VQk+CN@|t##K7 z@W@H%$`(#wI}RS3xr?VX#3jQ;>}Q+vX?9gI@!k3y<*7~W(6?rVzS^r{J*AfpFRLq8 zx?~*7EQ^*n$zhUm!3UP;Z~`fliNg=RGOr}JQXt|Hy_1NDMG{Wpdvs(-mzWF(--6GJ zy$COqf|xe1=&cOs;Sl5S9ZnaAJ_&~0$RCrJ)!(@{v$aekltdDSs3NxnX!~yNPXnoS zZZ1YGASJ>fA!3Nb1@c)I=rLlJr?`uOwg|{-6S2uFRdtQzWVk390UZYXt(?b*f*D+1 z<$AVh8y^r-4C_zbL9J>}#rQW(wCY-OvgAWL*p*{mUY`L)8t`Pq0-NLtjw43#Xmclz z>YSyAF8ju0+{#&}m-cX3W>zj?Gedk5=D44yH6UHS) z`nNJAH<_20RgN{a18Eib%xub&^#AIv}tsxzAWD$V~IAiyv9~`s%u;Rn-!VW&TjV$@&0#dcl8M?xeNDx#AU_C zRE9+kE`?R)YB6AgT*WagkPwbWe_TpS+P2bi%4>XW&OjgnhZenXX-5Ud(zuE+7J=Z{l6Q#{)*RZv(W znPcQKHV~8I6R?%%G-yEks-p=dYoA#&3Q~j!2Zv>lD>;iDGOe^!;&`Q`(KGtq;?^O2)0$N3wQj_MsN+8NZ19-V|}ZmtUnj7nGY)23#;)+5gdGsfL?-&@(aC(4ha!`j^i>m$_T^ClaE8) z%x)u1dWHJETu)Yp>&_UQXP(-E3?U?=;6%BcmYr2DKj&HPVw!D3JmT>)E#oK786Q`z z-kgU|Bw=P1d@tcqwe{FofY=66-+ypGel)jS#D^DDiNkbn^hM{_On(zm;eG0(oMYV@ec zxYS~ppcI4gcvWv^M3;hP9IoOdi4k%F5{xcsW_`3A-+s;_fyGT_6vXz-OUQdkhh}_< zlB?QnR9(ydsMVFDK6n!Funwd?%0u5oj%w|92WK0t*!MgVgn~f6%NJO{C1Zx)@G~H= zQ>`GOWec8@$7z0_<1yl^@?Cb~;nC(V+{B`W3<+(HB&2|G2gL^&;RC~-w(su9-n2HB z4{%0K#=Km?DI{b#bhw8Hb)EoaNNUAZn`c=DMg=)SC|7bU2_b^V&v{H+IAmiI1;6$H zH>u}$ud=XqtPG=9A7dr6dgCS>C@AsSE+IYM=0vWcCqo3^s+`r2)0|(;zPG$^3i@>AV$L8Y$HnIX9;8c-M@Ec; zM}k9UB@&x1*xqw0O>JsZ+uyd*QQkGH?yiv~_3sTpDxmUrga8j0wXW~Mv(kA#6hf%U zy~LPP;6-Tp#Ahdau`z*k(jS$$dtE>!`Gsm%&zL4CwjCQ#YG$Dv<*H#m7t%pMfDCsi9C!-+bF?|e|h?wnsoJ;9Q zf@3uz>Q}#eqTkg&dHtC%vO?P-83Rt1EzGfHkX;yYESiNvp(Jl&>|z0 zD>$AZ1rakm&0U&li#`z!16np^ldZ^fHdzJ_t>=GgQ#)L(+M#k>gb@S0v3NpmQ-%KY ziQf;_+_hXhJYvq4|0idYu$^~VVu|f6Qt);D8$K;+X|2jC(Vp*0T?D6|SX;)!wbVu( z?$SqSz8v>D>Ucz-*P0rj5y!KSvVl~H>=<5MSa zIFPro{+P5Gp*W;;Nf6GLM1RFRZCrjq#>HBQV;{$oRJwvE>I%m*!Nr7UUy;5(j>{q& zd4-#}N;{GgQILUc=*z}ee`x9)?OB1S%mEqj6ND_%m233Jyi1puho$7qovQ0YTbzp%3jX1cZ^jIPw z;3@qX8!*fF$GCtaWIJ6Fu!!)IDaahdX}I{!d$-m{X79`ad_0zD(_)b!XNa#`=>ril zcj4%%l3Qhu^13JCXcd$rBE?6E3FUiw1259U!{cFGzJ<$xmKFas8{L83uBJA%sU2w3 z+A1v;JZ)+NBkQ=Dwt#Z?J2Y0-wPod)dL%%bAqA(%f1!Wjd0r(!XmdO#b0%$Bq>FDG z2=+ep+uVuEpV|!RFhcNoN*^X5BxR9f_#Sie9+903#V+o9-5qec#wL zkopi-2T)ak2$Y>d^@(#}Ze%ryhd8(dEFt&|h`2<2{Utq?IGW$#a*>LRfEL3VJ#w?M zR%e4Lh#26q#JSSZJD8&&IhH80od z&Adn#hfVyPT)!%r6;YlXdGoyqPFv(8%*&N}3vUt;B0Nm4=ZFbl>kMh-xt8~CeYm%i zA(YlI{D%6}(5Z}Qp**g4Glzknoyb+RWs%6j`h2u8nyY<1nBd#}V>uBq4gnbsT^!!y zSh-5CV}KITXDe6g8Ilp(t_Ca+7s`#Mn%iojya6sbu3Vuv^CAH)+T2B^=Ssl>Gj@AS z$6aV2p1fshQ=8g)u#y_dIOj7683Euh#IYTd+0>!j$5u}&Vs|*l_Wus(%9r>IBh7K} z2*gxoIxN${W%PkreOK<09>OAB3ZBxt=-O)3aa>C%OUzibLvDlV$<~6EUWr2tWc2v6 z-oYYm+Psg;B^)QY4gCr$YEq2BiAK8=I{ZTah1ZxRC#1tNu#J291sCW=;^L9wSQ3r{ zYg1_7hqB4u3upY>`YR5U!&V1znSdsygObuB!{uB)$$&0Hdi;i4C^VvANMwty>*2 zlm|Er5psOs%W@ulVqE5UlOM6DU1E!xcE^v+dVrLDu<@<_ogDXF{jMx>wjYX_1gvNZtqetcq^E z^d^?^3Ca1j-c1V^VUc6m!n|ZPvLR{sAa$$zLxw0Lz$M~ky_p@%6Yw?>-{Uw@B9s&d zWk?$bL*|~~(8hF5J+1#A-lvDq!r@&UBD%CmxQSadU`S@U`SbucH%tSm4{1%dt19?t zssbH2aG%&t2bYY1jKuyNFd&jkMFvH5@`riiZ#Q49PiL z&Lu@jndNP^vaBAdh4lHg0`G_6;$MqaX52q$zlVW8I3yNe)@NR><_s1{aOiO#_iIq& zV3Toev*eg@FfOuLSmxwvPGy@dUf<1cG-H;59qS66T-OF$4?QYPMyXQPxOC7B2cir3 zJf`>4LhxAPWG-ccBo=k;GqA*~(fFw4v9-34SARQn8j?LsAEVJLGvL}G1;@!H%vqg# zhnx7FcF72Auvv$bmS(n37teBXc_>3Vaw&hqB0@pLlRTti697sv;W(|AzPzbTZEAaO z^&Qg`2sZTiKyT`Ox&jOxF9?{{FMpZE_EHNNC}V`(9n!rEc&kApwx#Ay#qm zgIKkCSFElc1rEQ|+iBA!V}awjiX)_tXE}5WR%2xWkUO@YghfLHWCQP3kHW`@f- zSrUXHEkjwJd3 zZG<+j@DskTk)(tS2ni=7K-d35x;xaj?#1siLNYoOC_VYECcK1;ON+;F^&2uAhrope zQksCmga`pjhKs|1dAUe4UL{}y3*17kpBJwIWjhqc+gyp-`ibIFptN{O?#GE2m=?}@QzQ>)o`Waco zfcngQbFJEk8ILMmU}mC=(xRX(-_U~J*gnfADD+%$aY*o)gm6?D%|l}*PHk#at3S;~ zmnR}(hLk=o4kPPwr-#Ujx>l_OU>mmOoM7AqTqVa+n}7`%6753yZ#9#NFsS@GqRTUS z2W>o-NjZuwY?5ViIwS-LSNBD~)I|hCFXJFY+{h_eFL(3eWQTKKk(UL8k$Py!bdi%(&Ayg3!i|9_c@WP>BU2d`1N5ThQ8~e4m!1|9j-Q+aNGU!+Ej%rb%{#0PRCY7s(RGqyQjAIws&&5Wtz}o zWLI2Ja=X`;O(wbJRNd2BTw;&P*A@77Emu-9W_VbC$~+*%9K{dlNrK>#;!==Xou<{p zC~VCP5|jduh?n$w7U)qhqQez@LYC-~6B3VmqSSWp7j_p)33y)rLK`9HWBfNeyd%4 zASJOdze%lD#`@gp3H6Q4O9twW&?*(6A;Gu~>)M z^jp?bC+mGRU7Oa_LCkGpHM1i1&e%67JrrYmw*s%cV-bDYK#WU3#8dh(P|#&3$8r@d z$rvF74S!{Kmf?}pBE_M_^SYHG8^~E?o{Kn15@4CY3i-;!o|K~acqBYQhRcwGD>y|G zMnKAtjq*J{MnZtY?@4K~x{B2PwYBeQt#PXWNRR8Sdb@7b->JcMmRXwpYpZ2|>l!+S zaw2Dzn3zlC%PcX%;t0d`rH<4qTKTf8yu7r(FUB zAtAK@D|a1KMD{egle$CxnC#Q&JniXG&1@U4gNKLDh*{af@hp%K(B&>3QltD;3g}e; z(F&kejsCn`#3_teBBjk^JgmOW+L-VI>PqBm-=S>^_ZcPf#PY#82mz1k{Wu62!tq?h zM%f9p$r;fek5PFvv0wsIr*lb3XyfD9+F*4@4@DS?$>nuONeRj6bG-b34hwiVgxtw* z)UlwxWR+3Su`-NdOLS=CP%y-mt2v221unDP%fnh=wmA=Q$;oNkv7g%1rnX*ePwuAF zUQ>)==ehMf>bjA7NF=8Yp6yx;x!U7AWV|*jnGI)i+xr^XSMNP4V6v|%C1i+0zyRS9 z{W)zmk@Geuay4_3;1IyLP|%dOUD+q=10#I;6twuOZY8Hj%z!z*%bDVkj{DyKkyXBfX(08H&5(Wy%I|rC z-|;9f+rJ!GC8^1rP}MU9p@omRDBs|0VjKp{@+WT9LOokGNq1QYuAqWoBs+cjd|9^G zN=loTxQ&Hz09jU|@&gQT+#gohCCl*VmE;Gm{Y}W8HV${Z1(|GK#E3b$f)iQBpix%RiD<0NzQ7KR|dU6HFW7vBl9_3*T3CRg5Y(c#0a9itEhZIz_8=>7EhRpD= z-cLXTY~v`dq$kU?D9G_GD!+LLV%lWHb^%sG5^~pJ&lWMdmzxpd?TPG=`MIh(kjd$f(q&?ZdGCR_qb z*8a?!+SCqb`!KGy0q+)LUbM=6bXFX9x&rJQtFOoa8OF;JTdQGQlQM{x>U|%)CZ#C3 z)om0ap3sMhNQqhG1h&wU(U{20bZ^TZKgY22jqr$gQE#)#mjgU5;|y80XY7*U*>3#i zxf!I6$3PS7R~|uI3JXp5aVQAoI9!Hw=(A)~t_NBIW*SI+M9c9ky@N-GE^R_Qo3A+# z(5iaAs1A{;e)d?z1XDsrTh5ceVLJgCJ$}nw#Ohk$(`0T+Ye%md$ukR8gD=U~7?Kmx z<*(dAUp+>c$HK)YJ=izrBU^<>7Mt~P>}CR3DdJscDZpfo9Lh$1rH@aaS-F(sSw_g& zz+F759z6m(V)YtJ39~Zoye>k*oLtV442kf7M|fN_Z7~>Ua;ggA+JC&8+qCHu%kdfF z(&jQA_iZR(TODqx2~kJQS#V}VPG z>1kBDBqVH>E7{Br3N})31Ao*u1Jr7Btaij|TwNR+bS=}7i#dxvIm%Hy!OzvD&9Z$u zT=KCn=hUV)wY6y<^!co+4kcWCWx94>eb(V?yWWYKE3(-7Qx(Q0B(^`zrOqzAH=&fS z2z-SR1s)ks>HWBPge-F`*U*t1mzaQ%%(jG>J-A+ls@IbMJd02AcuRlCB0T~Iw7G_( zWI!7a#U&x9#b`yBm5h-oSh#*-f9Ko2+{pUb9tnA^-|Il{>}%iCTH~hn#un;~X&cJ^ zpaaqDU*!ZQGePCg8G&^#4Y_2_MSPJ(3WOPc#jRvo;8D7n&8sUvrD`Y?5=(#K~+ z3y;V29%d;>=yNRJXI2cBIw2(;6Li#%0xq$wRT({voOkrcEVIPFvQyg}8og2V@tb4` z4N)tPXzFt*8Ar;MY$jtwNXT{kS!XF$0peAhd*wQo+n+r{Tq_swX_hG{i1;NBXr{B| zR=pz{>xxWmYExT_w)*NPdw7R=O_k%X>t@O-uRT<1{cFLR-S4^OS`|ECK#LBubTLf? z6$fke@1CumjuT5x_O#xI&?0AvW4MZWF*||z>;Q+DY%DjjYjeqPXz`-{gn}*!F##8I zikMb}%m!g5D61nz%z1g3zUN3>TNc<(V$=BrhD<8u6$)Ami0Gmhf6CQVfwq+0&pna=v_yJ_!X~p5^BRD1AZ_CPT4` ztx8sv6X79v_%#(VSna`e z$8(?{C#R1~0C;SW3pkTS7UJ6X>nT7s`yFaaMENX|+kd$B8VF;nC$@enVnq zS*t}LKLCOJN3)ew2N@kQe1ymKE?VSt*vUz3p(jhUa2VoRm%W;;)p7dF*npuRBVe0e z#{z94-rzQNQjzYD2VvaU3F&nvtBV`*ok!^IyNq_*a zhB;apco=NV2$zD_bt_7blo+2YIZFn$WatP7kDP$f*xxL#U_^>Tj>B;bDTw$pzth0< z?IQH)@t*z;B_LpyS;;J66?~ZasI~uCF~4_x&kj)?slCg^@4GG%8MCRFd_gHF`oWZ? zKkR3lD_-rlWyLH3JaQZqpFVBAgTs@|p>+5InO;Co1_bs!P9uP-lWw{e$?DjwK+fMv zqIcur6Y?fEvqd{HqQ{81Hj&pu$4-6p%Ck-JQ4(ANGGcv|Aq71)&=Y3`J;!Qh7L*bY z;gjOvkdd-cF4r4)lLY8+F9SVK225^lCE-NLZV>(&>QLkf(9(`PH;`@4%jK*~N^?Oj=nQ8?K z$;j{-Fe_X5p}t0dFw29)`c2tjM>(5<`=&OvHDoLMZC7UNSJ&BFo%$fBq*|(|vsViO zrZuS#W~+_hY9Ku!v9vxf=~Fz-JLLF)&nNh{o`x%R0i3x-1h>AjEi>ey0H;IUdrOpMq!6 zKM`Nz5fWTtZfBz&BQ7Z!^X$+cu|Pz^kWUlRCm^@o<{#Yq(TSh-mih0H2&8ls*K^mQ zMg8ZG?q=$k#m$5lSWcB3IUqUjdKq+eD}i2xEtL-GvPf6X)0|(?BP8W_gnU~gDXA0& zwCq(CV3z6_Y~U5PvPHWxu>DjaWs{(1ADgD5w$@C>GQ~Ne zb=XrpgqQRW{FZmvLC6d1vkNPnX1M$r;AS zye45Nc9g&$gIqIQ`gGXB&v==ToEDD~=sD71iLOnu=mD5lQ#)MjPB}DVsW@Q;6v!CNqVVxNF*f#He0hSCRCE`!| zGh*5(OLV!66D7kT8HYP&#(Cp&m71?qkQ3mLG2#Ty;&}o>Uf`cNPfx=o=WQO~H*_dS zIg-zl5suX~Ckq+%q{6P!sIDzHR74kIb*WrC*8@wy)Woz*Yq9&lwAPhUIWPy3#eUCc zSWWVXgjtp-f)n>>QLEk;+iEXxss%z?CaFi+6zlhlhDW zJvt0Y5Dce}YlA7re)ho_(Um4t(2!vKJBJY-8PDj0w1~)AjM5tocj+{@$Y(jp#@?bLyq+SJyHReSeJ7ab~xaJ9d! zcC?j=l3l%ax(@8E>27~6_c}u+6zgsJ&lDWV9Evc+A)>`B_wYaSuC_>V2`oe2?yXV> zGhOWu=mQ8L4$BCA<1JCQv7||vmqr*iUFG`GqM>fXu ztYjIk8XF=Kl#rB`e2G2k-84=?(SiNN8c*b%f61MRTxr}8Jlol^>vkl5Jlp%=?8oYG@r>YhN(^cj$)Eo8x z$2%O!CT1AYMd-1am>=`c3^XLhw~}y1u&~4_mlPF6EjTj`n*Bg0=`_#iDXAT(EvbjyDCKJcmeyic44pF+-Q#+8ha=i1}Zf8&%9q!{6 zHUmSJ*hz}AlXuDKb2KmV9~f$6f!KR?@2hH**;n6UNDqf?oW#{^60_=OxVR*%0NBce zbNQ2C1UL-e-}8DGeH=Wtk#aSsiAfA+w&UFFEfpNR+S{udYJkI#S>Dj!bE2KSZQ8uU z3%rESCISk!aS>l;U=z>A|H|1DGGcXdwPo9l9uQElq;KmRx}+ZMF+D~`P8&$Z&&axm z_U$T0o-P8VHG8Pa?0rgs5^%1J^!Ln?(c)LYcQurl6yIv})b)0%eyM6HE-3JUm@i4J z4_Jr(Wp3g!-7HJil`Y20_Ik)snS!uGS$4jQyXfNMvc!OZWeP%O2-(0RwD|!ZBRn7- z_nb7Zvub^;h|o>u_7Y|Sp&pt#;B}Ho6f6{At4Dpxm39Z0A=zO_zi@e$TyJN`bQ~5A$lDP}U?1 zGA_d7k9eHG#cYrvIj$u=cWno3)9N5kFg{LXNy=Z>tt`06Z&b z|ENC0HU>b*k@`1$nj<73rp=JP^+=4Z`#@@UgEX~z*ki1qLyX$0NruCv;^=R!{?${Y zT&#g$JAb?yp?d`cs2|g?g2ng@Ia@rvn-(dvyugioPdCX<0vu92JmRsdRS~MMRTIi) z$(Qw3A{<~FM{+GkQt&R1@fUiu*u*1zUOy*8Jlnrh@w}9}NXATtq)tw5(6B=?w zQ=X+qi=3a4>leiv-z8IvYEl81ZoC4Qgc-S7ujdu!5CZNb(9cLnOk_J>CMA^*tkoA< z8Rt36+FDM?^0=P&kUl_%z-HI3rYFmm&&O1(DyhBdE(IhMgd_|JNtxpv{SiYtECO&j zpOF!2(ajYwa4pZi{b4yumt}^WEEnnR>?9^2<0cCIge=p-V_;#p<-Mv<;AQykQs9!) zX26VGpvQ0mN68MH@e^K$I!|qCQ#+W}TzyNM>=vo2Ps;j9cpi#2=@m)s4k<#+Exb<~ zmmPeGD>zn6f7;*b8C*wBk2&t;OS)MM(fFQ#?3GZ8gObyeEu^}WAK=T-_8^C3qy+dj zQ9SwnW|*E?G{YPE6B0HsV1X7_aiWYYFgzt8LK)%NI$L$EWoMJ|5ei%aBHqxO7|=y< z_%uF$;5`zQ4mn*u$N8KgKFi}Ywye4b=`Kg0dUZgIOGe0Z`hV~)1w%YSlo$CmM{tpT zNdlIL5RBY#+2eIc*oWJ+50Ay7IiXtg@o{YR<_vFwYGSQgS&cHS_XT$_!o{V}SGbI$#L$m_ zO7G?oMmRY9l#{h9O9TXCFl3dRuNpDSN4ywUr5ps0E=pI<)s&aWY2k1e=sB{}5{|A$ z)m>#mQkI#K@9TBE$UH4veoCxgmkcGg;?QC{VGa(9-%1R0Mfm{BM8x>Ollm}SgoGtd zVGC^;;u6v)CCA6Lft1$5DP=?(VS#`d`n1@g|H3j64ob{rd`5<3bSPM|BUw?e9QqDJ zX4`%Xt5I(_4^NRx^?Ler5j<`u&@*L`(27Ub`J&1@D7G?{(k8(r#b?N@e4Z9dc(}xP zhXzu7YEuIa9h!?eNUz$5r14Yr%0uO<4;8EEsd55#>T`5}KBsd9M@vGR0U@rO%TB$Y z3|QdL9K~R-#3(8vG6yANM4L+lx(sk^70M)lO5B%N3j` zLjoL2ITn&3cw?5=G8CKq--If!=}*X+Cnll8w>gRJyuuPo+DYH+lbS5#2o(MHJ081Y3p-zxp|c!gV8R0Hlyth!BkR%_R) ziizOzuKtb=Z3djmH5@HU#v(CC%hjC42nXS>yp3lGI?O{=>N!*h^wmXn3mjr%GEz3l zRUBtk$~!#7Lpp6`aI~9ET3~a+ijrl=x+7Y^4Wh^e0)P$^|@N zgpb1$`T!md4ojTCRYa0o6(gU55Mjwy2FuPX12^lClQN4-pBC@x|H%S#_@oTDhEK_| z)jc;sYyEuI_B`A-=2;G<+zKA%2r)4y$+c`?35Nua>v>i?Hn~!=AvWiYTE#RWA;hz? z+c6PJVhL)~!(cq8cKF!A-@W(6HSDV4UM%Ro1hUt6E9Kzr6H{wi$=PeV%-`o-4CTZZ zIZhOxln78F&Y{JC84{iwSCIB(6_l?4ZHBbK`V*Pu*DG}bcU?78+ui(@{wquL zh{*}q!f6sSM@-HV0oe3#Zugmby1AfEtmP2!j^0R&&xo9Y^ZB%da;$tyE|ja~@8x_s zSv(m5E(3f^k5*Q>cHQ7J$zEJ~6a^{5uk@esX;UC149ReC@d)VhV{TKi^zCZA;DVMs8;XZDQx{F;BAI@B)FWz(Grv6(k3EiUcN?`i~#sEi&|)= z%bIIpS8#I#9KquWy&Ip1ghfte3oXepH1Go)JDwe4 zCV3-W5(;t#cm%ww*R#kR2?@fLoMBPZ5ilgM{Do^_-W@12Fo~4Nc0hqkNXjCo$|ZD3 z2yrR6foCw)SmToT()=+)yEv>8VL| zsi|jmu&lmcI##_aLwKJS1uhZC;!#i#V0w&Wx*UZtpkRTr$9r!+rwpVDgp`mSLYe+%-(niK>K7I&DL}My5coeLA!d@{yCquMRd_*(yGS6ETJw1U1A)*E15on&?e%S zWO@Oi#Q3(f>)7g5ozA-q$;?8WTA8+j&q%BfVnp2DW2eqbidYwIt((|UaS#$B-XKTl zvzgNv5#ZpnL<^6YQ<>#`3Y2HqL2A3f&;mn@86%v**CZps!(}*rY|HG22?fmj^hs#R zHF`a-F;B(@?jqN3%60-GMwoK4sQ{ML)aE#*>M)`u*Xm8YijUIcUR*s}5^^$J5?c1k z>d(r7nWq(1iJ3Dl>A2fQQ9>Tl$7$i>vz=qPg02kcl9AwAp}u@PR)!1!FG0}0Rq+@R z*zA)}j>Efp9m}+F8If`gpOT$~2!&NWOF2AU15>#(R45)PLP*RuPLzMtAF+cTEk@jm zqi0Eil9Sr1Q`Jo-HV7{_yBtH$@1msRt+p=VJ+-N=JuBC~CIqO|lr#Hc9q_i^*Ngho zSn|=jq_`|m5U^kqY=-UBYrJy$3?D3Og5gV|r~n6-_t``#8)6*zgn$IkHcu#Bixvo1 z+{cwrx3X=ctWi2ZXoH-%w)PucrIr4hSkV!qP%89zUT?Ml@SGNxaf)P?@=6%tkz0tq z0rizVRi)&H!-yWa?H+$oZ)JfwQg#w?0cVOyn1Z2buW%BKx&LJBqZZ?9ZcaZ1*�V&J0NhvsATzwh` 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 z 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

    QwPol^3K=Wq3cZIpA`%)rNzAt? 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�hm(I1mjCn2TI zl^i1rcvKMEs51+9%GOwTSZ`p4gn%9!xQZEZkfMlq#hOw|mFM+lT8xvB(BxYjBt5G3 zG;@2pDUJYq_1mzcr^eppsv`k+>OC~@$>?z;moX(>%YhEhJO@ZBj32HH42lt`&C-(m z=t0QP^WWRj{@{8gDS6SquhEb|S9ssjR_duLUpIUQ!&SQh5X=QUf&OcrBEs>84L+AM zmlgY094QHfh3o@OsNvvf06iGw&xdpCyQ&}$cU}#XygDc8CjBEm9s!G-#3d9`qcHXJ z-3##UI%}sEb`=DKwDfn}OO=p-c~0R{d~xd|>bw5s`vfLtn^C8wx9~XQ_$Vz-<`T)N z;8;wZi21I- zYP`)>#thfs)b4BaP!fK?*Ce-&v{EQqNtobOy~aY+6pwFkoU~m?O4X=PhQmR@r)%u9 zss4z!7$-qk;BwBAQlQ#1DDz6Em7CFy;Ac+%EzdE{96dJi9S$WRV~*>2n1Tu+KK~8J zN=9uYEZvhWZ`Chx4XXor@m{U4omfn4B4e06ba`l5P{CCSU5?tvkt})Kp|>+lKuXM! zTt;0mM92FXos58p4$$Bk{h1|~do=kT8~Uub1wv#5Gv#hvFueDtR0w%Pf6hEjQexm6 zoFI!#Sqe2LqGU!L^jxk^w{g$5n&71$W*beK2nh|kq~@KKUGBrlNLWp~!R`Yo8JQ;o zzo-CI{~c{A%=1~Ul*K+Wt85ckJ)aRE2>KMVb-9p(^d>gbBB5f8?jc{~N;XK*2Xw_m z1iY=+FiXP@uP<|sM9ecmhrlv_naRuvLY`9%?km*ve^KfG;Uy6c$>G>3RglQ5qQRc|m`}W6V&H(dASw z5~V_J)af3vbsUX4)5ASwO2O~Bp9w(eaU55nC`}e=0PPhW``z2p`oBkFFkx5G4(U;q zOSRw+tVgJF4>dlm6>&hs@;QtGNe5wZfk&5+1}%Kr94+VTZ<(dRG%c>yKHWiIZfwisPkaDG}GpncM#DF`7F1aMlvIEUZ9F1k#OkqLKQ&n*gjR!3HViXf+JNA((g{4AP8C4JQ>Rwzlm^R@ zcz^5p1N*$Mky{lbx8vxK`ZznuQ5wu}HpfcHEMnV5LP(ug^jhYr649l{#e7Oi2gf&D zd5;>2RlDlEs@JkeM1@%ko<1e`UGUW!e91W zQr_8~?)=?7vw^yj7~sxF^$zZ*fdKQI$%TY60GqD#$;#@UZ?c(=F*78fhZy;dRf34< z(je8_xtB2le0FdGR}n}I)F?;@tp1|LU05{&0gps);{m2A@L1r}Tp()M^uTyD9eD$$ z5m)vg1*pj$2gG_i579sg*~w{KOruZt^Ff(Au4}aPCjMyaqQhxiECGp~0qz+GU|>&I z)yk>#DW}V0y}%>lP5l}3Ow%R7=Np_LbJS2$s+MJRuXbY)Amk)exKICz!n#KS)^ZBU z+dRht(_}1iDF1?u;)45-m zuV*t;2yNgid_iJdqjO~UIqU+K6yy#b8Sx+WH#A78@-I1BI!0HXP|+6u18>kEA!40@ zQcE!GuGi$!#Npr-g9PIHSzY_vMw6zF&ZbI_3MreolBPI~I*%?9WnW%y5ciOb!t|EP zz&$X^s(_q3^*%xZpv}=-MMVlSd}CrQ`w55pGnbBP37*af2n?nw1pHBNwzSa#6MT~+ zWtO^CDSHO)RePTRcg{A+aMUv~RkrF+c!zbg$q2ZVlcZzoX_$+3^**^>JXY}uxASdTfSTCuqlL7p{loT(+LYIu}>W|n?lkI$k3;VU-{rlxq zB&mTrYV?R{;*Qab3NaBrZ9*zT`S0O}_HMSD)icn8&oIb~yF2s@f|S|zT>>5zweB2c zf@k%5QmXa@u40oUM1XI!9vPkihSZR=59%+e(7$#Lkan53HM@o!G1!z+@7-xki z^;U#B!W@%a%{p12LY3SgJKozR*=Xk9^?iIsV!fA$1~E_Lae+3)Q7nhJUKa;9 z8P5MK1&9rfGl->3;Y0yRwI`;To5Fz3kO>VK}2ya4uD@;T@)_koDc^Mc`7d zqAHnH6JStJ8Lh~z{3LW2|6W?T8VX9~IVW=(q1?g)j8P$`&6!+;Cxg{B{FH|Cq8@|1 zS3uY5Ln)yJM((>7Aqf+7^iJ-jiI4IYr}9lQae@UU%|T$Dh6N!NViPSd^mZO#ngC^y zGr3rD95}5`Y&ugA+2L5a;vN|Z1$7dXu0Fs6REWrFaUvHoDYJcUMA-KSiA$vv6f97e z%gOag*5gy<32ORfDpK}7sqHe3uh50sL4URn=A~1g+9==BAM+05)aY?7SL=z=A}3;= zfC`Y3BZL;(C>eD+`T#LwBzQDAh=6sRh4KQ|^D0%Qc!~SD0!)I{X~UO@K#eT$FB=x0#kJ^jhAcMit>#_8zti-GbsKJ*n$iypBgeMw2>SWMn@odu*4llmp!m|G|Ah&NN*b_~g9E zPx-#qr68ljBx0#pEcxO3i7O_z;C6=q!6hSl)cLZ+03bo%zWM+gXc6)v*KxUy3${ip zlwDJ!``aiYqm=k`X|#X@@OfT;O_w?qW?9GO943o~r*YL)hrn@(;eZ^UF&6XFEX5fZ%pq zmu?T)Q_Ah*ZHn}hq&BOe<4?gwv6NumZA6i4=-5fWSI9{uW=ufHvwA%_ zP5Z4YI6-;{O}aR}jC5NN|lg5>aQs%sI!w9zRf!6(4clW#W z>P{}TMvsbojrDpb57MSVOhSzcM{+)AQWIBsSTHWO;ab?9$X-?soQ8ky_NB7Y6!z;m zH|t|e;E^-WXtA;LX=UE8ga^X&I%01%>2{1-V$fDlG@0mvM*vXk(NiNQX z^YF+?2vAG@xXf$C`fzUKNv5gNqQ&R9NSuQu{jS8^^og81k@u^g0yLQ?B;q#iW&@DW z<~Y7VC=2F3j@B6WorxV=Ar)FQxdM-;X%e9Po}8}}(zRN)8`Fda2?d2U{%2P29?ZRr zh!z{=+j=c?Oi^c+8_4un0b#ABikvH&(4lJK4Q%Fl>l7_G9HGNqWPFj+WkUag1(XI4 z@)eyFR}~5=$+H7|7C2PCp+Bcb16bf@uF@mLC#GQ{!#+MjNF;HI}0^x4K!UpFj48Mt{_XNmV|o zU*O?b728CtXEVRxa;-~96Qx6hZ>OSj!#q-Qe5>b1C<&3Rs*FXNTp*F&!5Cu{Jjcyk zs!f?^!sNh%5uV_3{~W#_M+_lE6eexo;6?oz%32oL!5S{-Q0W0sA+fu2D>x*jP8Xk4 zZ{cosFozEW988YKI(jV7;1Z6Lf}CoBKBbnp$7m(U_0XN)!>A&=`# zButU?8+mifFa+jMI2wYOCS4+4)f-u$hOj`5E7&A$>ZpkkE^5jw5f!S8NkTz`jDiXQ zEh_t=^t;mW^=^LtZm++5A`})xmB0cA?DLK2(j(wC{V6>r5ayV$-l&4Ai3EmZ1T<~Y zb%=FR?$g_;5a6+$L%51{vWNq~1oZmOTwxU{pAh9)y@i+tLW^}=!8%C@DTw;{=Z{(# z1nnJ4@yW?KMUK_W zc$v+_RGHy$4mG%_1GLnPJpcW)8ZQOrmF`x#ZVFPGWc)&(qJdA34xi#&d-QPD1kxDFT|CSbJ{j|z%w>2InEFvdNMJC>fC>?d2JWlV)nD-h zGh}q=at`N8VLx*)K;Jko6AEgiw%@ssRe(jBq``Uzz z1|32IxowEOeJ zCo%X?M8;wAZT$(`nV~|9U+{H3MLKk-Q(;jPx_H!>5T6>0gm@MfrZnU``g1ljMnb}* zadnoRkxP>$WwumpCw1$gr&YlKYObo1li|^#X3Vw;exI&KclktiZy&ZDdFkiz$?4%p zBQnKkAKmgmg)nd0Qj={nzvIWp)j92vUc#5d6eUq?-j5+nxU8Crh4~KxtfiuS!>}on*sF2g4O31@{BNf)LNKU}_Ib6CXt5~*MJLLuET#fOD{*t$u zMww-dD>+Vj6y(&H*B5w*7wFPuj7d)79Ni!uEkc|?qsuxie{f4#&)zTn=k9;IVE533 zcWW!V;sbhW53KO%ww)@^==J1G(nFcx5;n;Kfyw*DRG4I^&e36!aq3Lq^N8L?gh$Q- zM{*U@vWSlw!n}kM)(|pkROnIgNBs>kGjwS)$z>caF)2-Rs?>f{_V8IgY$m1HtbBn& z@21WIV{GSVd`rirWeXpxJ**T+>I!4B67qgmcAy=h-LD`QK-UmblmwMSIL5L`E-zLR zcvqNXoR;;G>}quO-Ucw2tUqHNYf+uH-o_tkkN{my;e5tqo{*5<2&a#%utrM)*~GZB z1mECa^m{aWOj2;G-bWpum^No{0b{ZVREY7cKI@zKYea{DfG%S!>McCM6fJ6WIFql6 zBP?mqGU}4Df)Su}E$3Fc7B0`8>a9FreOcQ$iwmhp*LpTao3;1-3arv10PEhW%Y~Zp zN7fQC#zUlBppg{1K${N26yuCZ$5Lnmf!Q+5a{$WJBzmvbYnW#OkA&Ya#$(KrFhj!Q zM2vHmUd#q5OrT%~1;QemxPT{ki1i3QkMn7!#!xgbnt6AkF zrGih)(|Q9+17(3RzQ@7RMW|3%lFfx>0cx0XO&XlBrzm_UGkY?S6s{+klVI{nTA)a9CuvDdj*7pJ()! z{U*(bD>zzaY0#!gLPUeN^)?>oHRkZBQRg@|@T6h?=QxPVnUpS7deljAQnDcd3;G(1 zWWX3Ryv-eSs1Va(itn&q=J5%wJw78c6`|d8$9)*hr%D^4$~mHXFXMFad7W#xTqmVV zz<^h3S8mVf);IWCioxGK6~ue9Jrh#w>Giu`J1#9!7_~r%Fo(-9b}6VLs8ylXFi&;K zJ9&FZL=5+9t(3T+FOpE^FB>G>$%8ZzA{IH7i%CVP(x$qCtGm=(y2rtAa>mKYcw1j* zI~{x`IFfZtNX&2aLB=esI-U!t${ZE@?Xo)IQxadqROnJ;QGd%5)X1qgfpY0FW(rq< z(M-7Q-?7yRN@PF>pOh{>1;6DnCWz?J&l}~D5$bP zgGDNGCB8n)TB<0I60laEk9-Z0n;2yMMA53i~_krmOoVs(TE>%1-Vk*?>QJBMCRzV$@%qOS97e)0RLL%1k7%5-W)PkR3 z$(5D%UnRGv?Gf`1cTzB6$(4V=q)|*{2JkImeZJAIRN1V5%R9`FkkDa*3O!=uyYy)h z14?W;`T;PGq5Jxm#umaPw)mYP-Pv*={X!G5sSFMwirshXn$v0dPaVH zzr=v(RUjdwN|PP>JooY(EiwYe*`#N25^JSLNhLPGEbJc}_GaAaT9~{=K-90-`ov_` z7gr%MiS&WWn?uHBjNvnxCe^=G_I6Q2$RmvfTjc(keUto|Ez zvd$3Cp0QEKjiGAeXX#(77d{WE7qZulDii;9H~rs6@e@+s#M+zMK-i z>>YBeBiG+@A8Sbo+0N-)LMSO}2Xo1+IOsMQ1@eeFUM}#8D0oNj=N`6G&_x-;<19YI zEcaN~Op8;wka1ZwhRmFhf|ME&DY0e*RKzDn=<2OJ$~20wz?obmPVBsjkP?v);aahM z6O*U|v)W?;rB0o3$@F&aWt<3~ot(<0)WpGmavF54ZdK;-_Wg`g19cZv4Qv=Pueb0F zO%igpvyF@@ju^T}#v&(h1!qY}iz+3noo73mXI*m+#@6Iny@S`-feTIoS~%h13IPQP z9{&|5N{Y|l>&;A%FvI_gN!g}%vYGF2th_^=r}QsK8RISfJ3c2}H#7RQ7jCqwWO&4k z^Nij|$10Yuv4aK;VthQC163BN^JjcUIz!`%olA*jF!^cTzAd%4>MqzEA${V_Lj5Ge^BpJtjDX(Mbm5}9{6fq%h_BzOcSK{Dtt`fyrF zOzpn+aDA2)x_Uo1@(xO59Xv5Pb*|)G)1_NouJGzK&uXm+DdQBprq}WanUO5{WGn!m zsz>k$!h5E0{C!NDT*sEo8NmTuANoW$?X z91ELU$RT&@?Tq7*(qj`>P?wCv*eLTA+}4lch>U(dm-)?&ZznR{A?I*MWaiE|K<;wE z)Aw$pBkj3xR&VECrbzIanm7?)R~ZT!4$oG)q67GNk^pNU1DS9x#p| zIVK<{Wt<+b=wm#^c7v3y=VUUTVv>x2ot(;LR3x^Hw~+Uh`N~@7Qo7ssHp-(l5$E1H zM1ac^)@kd{*-XG@7O7k9yhCPnogIYykn<$5Lv-nm;r2D5Afdw3`oGzl%jq%0G*x!+ z7D^4F#|-~ZrbYRc{)icJ68;|?i^zhetP^+i{#yT*^`yl7zd2e4Jv2E!sU6dWRRAj# zyrI|7Bj9azQo*Bzn3P19aRNMgRQMO1AU#SYAGLas3zFO%Ec#?BgZ{hWiUjoZuegUb zR)ai;lc}M+$Q^9AoqQetEo-Gi&E8>GHS2w4yF1|yEO4n*;0h_|Qp4v?y^98d$2><6 za5r<5>T4OoNnF6Eq||E5t$Hd%Bu2R82q}b+g4^|8#wa1#PB3{-;B1GiaTVj-f}}+z z`5uSMY@Zs!w*atA{rDDoy`cXCJ|R6Se2*i!fi3|B3%r4nQ|BH2j0>ejlTJS^H;`5S zFj^T%xulf?D%WZ2P25b684?5j#?+|LVx9~5F5}WQ*w!buJ1dBYsSpDdUe>?hb*8A& zMXXmf$76vp{w2p+ntgv;Svhm(tD6NO8PDkNc$5VKBHKHU zmS3Yxf`#NhIkTL^H#kF_T+eE(+{+d`+hU+_pcVZQx3B>rwx79Mcj^j9ax`CKgLLqy z(I#NC-oZ1xLxGS`W0F%jiD!6=z$8pB=42ZJkGB46o@bJr4mD2ZP^!%G953Tj16o|o z71G6t()zpHVuo2l-rpp6U&HtQ9{}`o_$4OREs&S=dSb@OY0=pR$QuB3$#c>kA3ktpA=@m?i>aOLQd09xaaH`y44AiHTqa zA0tj3_XG-j9?+Ya#79`*1TLp0<+1Mw&_{o3>GyP>-x5q)^cJ3?O=SJMhjJ`y=&^+d z@u}f4$8r1%CM_)Ujb>&k=*sJl|LDJ$dql|V`mfo>6frq%BGxfWhkzOt7AW|?^C@Xl zHP*S+<`C>}8wd+KBJsQRE~+$W^8)isQo*M~)p&lpcwEU<(j}y18!oNfn?e#>>k)V8 z@2I;jSagVPLWcII(I>EURe8*_hHtS^<_HK^Ok6lGC85D}`k&Z9#v*^hS7cGI;}tft zlLni(m3f-%RrxT7PD`I3b}p8+;EWo#>3<@kMhE&GQJ$e1=J^^wM8s9LWyMvn zE3o4lxqx*5052y=L_t*hB?sHrKi~8CyuaV~EJavQ;|={^d4n}9qE=ybI&=wDV(R=$ zj+V9|he}Z32fe=xH!!#WDn&@~^)CLN4h<&gp`@e)v}y1)uBK{wh>@`%2q6oMGpB#W z@0rH+6vmchspBzAgMZ2y;vj*J+1p=5{%KG`mehb49@lXzhY*wY-5BSJySVdpu3*~q zQWhEG*Lo9g5}G>@u|S90d4#o$5s^}G6(>o{N^&6&@DkI+^qA&{oI+h7CQU_Eh!7%0aULhgTm$-oi(>5lt4r;H-0Ge31*NNynfW6Yat!IodO8x@L9gglqj&4ud-hMEsF$9b3fTEPuyV zCaLi_Pw`pfO&vJ+1NbQ;|6dw}y6<`%BL7VPS9UOt#~8}%)R;slmizQ}^@54&S|U2TEWzW({1%=NA2 zOw!@kyv!u2Aw<-OI$YXkjICV9Ki8Th{RDxx9|Da*80G$SK;4jA_)FHaj+_NDszg-q zh)DPqIp0T7YBNkE4RU3SuA12OY7 z`36VHETOToB>03p&I?ot>9BzxavYE{&b{>5ObsRECQj9(q=zF{cPd}MVhbCX!$bKp zO}{;ejTCr zPZqI1M`!dWgRJ3F*M8WwdB5+kh@}H!){rpH+nm7#2AkV`WoB4W!-XUP2^CU0dMoqH z&;^tenZYOFb!O>O0Xp~`OH&d8d@|$M6FhF!8>n$GDT@>Y%ri!W5YXjS4&?+c6eVVC zNF`>#ZROLWpr_Yx4>iUqSfI@q+o=)Lphu0jSi_eHWs$Kyz;?81Gz=~KAfB_=zj}vp zdeoWKUsES1#pg24V_Y0f?PrXmEMO~laCQHgmE95prX?q%`U(pK6m&U_?=T}Bnk*8c z9L6GUSTIwq$r2-d6P`lA$NRq_Bqn*E;U*# zFiwgx!x+D%rpJol%Srk@{)!$=#<_zt)sxaW93c0-p=Zd*pTi^PDjyw=lK)o!EiW@p zL6ZodE(LAY@dM7nm)NA{i)Fef2bv{p|Fe?0PhD6wBgN-TdR%MS^fomP;W!HB`2#x{ zr%AyL9I2m{9oEV|YF-}%t1L3kIkHhbe4`m3R_z*1vMjHjmn&d~4YC9Jt?{EztH3v? zu1~^(F_|7i6(pm{MJUH}ykvSRchO*q9*b-=PTr3~*YWT^l%v#0xsC0tXWkeK2R@wR z>#MSZ+c{AqMEn)6wrkrneb|Tl=S$5|HYCJ6uMe^Y3=CIR-yK0tiz*X5%|m>Jo@o>o z#%KD$+c0xuMox|U_3t^1oE{x&tY-@~x(H*`3AmMwdXX#`av?XO{7IhBTR4awAv-yT zV|a=#G0NL4Fh#)&+{B+*FQfx+uO47%;2ufIjFs^_=2%Zcg&t5hYV$Iq0Kx-Y#3p80 z!z20=lu0sX@o6wkN{@^xDPz3MkzBL3 z(Ehevk#$iIKv-5hDqL22+1?=V45kBj&^ zHCZ$k!lUJ%=)a~#orEX(s*X$1=W4|G^in%La$p;C%#hOHd?rY#_OnWt z3};Bf30%lEL^KIWxX)VpBgXJ(qx_H!5}PtjNKR^!l>;E9dv~Y-Pt&7HK+M4`FvFxl zO%gecv-M_tB3@;Ib)+`$hG8p9VPJ!*)Y3{`g@hyIztj7rXQe9d(p{u{4n9u#DAG}NsRVFKLV%g=|M@xP&H~Q4*f!C4@RH zuIEJEC~e$|a63TG?^t9KCFQGp4WAduXb^J-FELNV6o23?Jy=q!EUzA43xWalxlh1? zKE@;+5^4lSDXT-<9#om|ep z+_x?1yIVIp7u;J_WUQbC0K( zV;m*t4A#*_N!d!52|_yL2q}+pq1Giq@Q4wbbo5ttR~d(LHV4z;Ip*lmF&4fzd6N@{ zIs(eM;v6`Slo|_q2R=fV9#?WPlj2cunr`H$#6ZMW?&WZ>MAAz19sBMO84Wa-w(|A} zi3xbx#&4R>QInV{ItW!}IZ-~Z*HI;8E3-_~?W_LiP$I@Tn*lqRASK~o))7dGTSJQ` z{aq!u#_E8Krd+HEHxnBbQH8pJf#zxQ4>?U7F|Hd6kI_KK{aZmuLP*8}RdQ0M>2f$1 zbExDtha!%oMuV6x3mig^XedltzRt>C)|L7dg_s%(jL9W@jW=|Ggn}6kqA3L}Lh7VO zU~2Qg2`7_O4#?Wc;t2WjQ#m-`!pY-5&?*obEaJB!nq%SnjHxRyhShemSmD2i5l z&(r&b_AP&XfvVErIaB@&O=Z>1^~9tg3PLKp&Z5?Z{_OhTfx|9ER_-)P%oKO?BGY*6 z;AH*@>m=iBdK8?ef5k(jG6gkeGw{D%13sr%gzklR1Rz$r0N8 zfels)SY5T;5kX#`IeNr|_;@5n#9j7Cxz}VUJK3%c`J-+nB%{M7e#l`WwDegz9Kk!x z(_)6Lyu_hajdCJ%Eil@~8X-AdYIN|Z(_se=U>FlpuxK1rOS42Dc3XMj>d?mQsHHvL zVGZBpNQn(XkR#NIDS!nQP0Din#5Sc3MxFolT4Bja~u~kO`8{anI>br zV;lPdcXGP5#Rq+X+F>Ul;90g1(IMw^T*8ELEvbB21O7A6q|Kw8r!z9#ZT3OATm!_x zO6IC+i)=Sm)#F%4Mn(sp9FHjyj-`f=N6dDP>TB%eBTiIF(-0Y{K;BQ%c~*C8;{@0} zdUzDX2sOD<59Vj=K&a3oA)-T#O?;OVrE7eRK5BsHvWG?b?s-m)f}E}jN`qO}au}cG zP)W$ZsH~e*n4@BvL}d_Fsyqox=hUutaY$*>rA|tU$Km4HcqH^t(?)b76IdPX<87r< zV;Kbbyv-J->5{RAh%fR5Nof$UlLp`Cf2Kml0xxnpD*?~d>OxLf*~2F>R#q%MI0!I{ zp?z)uPa59ql!OM3h9(|Ln+?oSJf##AR5^^tm?Y#G-eeOk>MT&fCu3IcpbmIUvZfE% z{U`wE2X$NLA2!)Z&KNO+zEJvpjZ3HW5HjX1l>G3I!3Sr)>21Yy5lU*MqEEtBp@-iO zt7hpiKGZq9|9F0u6+5c2Gshd6@I*5~28XXcCzUeLhg@mC_1~KLJvVWgwJra%#%|gvv%1QJ{c8K1I2hWz~udU z)J;*t)$=M=2F|IVWO&Tuwz3U0nUHVuOMQq9e3P}()8n~|2@-D;)$J!!?A#o-qJw^{7ygYL|c> zT@FF1(8eQUj7>btG%!a=Qxvp;I-A+9Gcv~* zsX59e$PI&ByhVpP5iwt9Qo05iYLdvgr25wcOt6z}tnKg1!+YSqJsOwJ-C_2{(lx4( zs8CR6jxjQXTEBU}ONEN@C&m4H8?fdHWw()QDqc%L2+Z;t2crhO>yk3g3v9!~qslmS zdMF8=e3eu6aUNhhPC;)ypW;lZS|fWIuu1>_gL&-wJQJ%?)QF8p3gd^1a70Tfz5zr1q5a8YIEZrN zKKi7^gu7jW%`uV9k<-sc9kzcDeZttZ*3C|1e)=Us04s&3}H zmIFucORq(upMTwN9jB|5n9s#i?)X2zbQelxXE+F7UHpnbZsj6oxFeRLdkH|*9r;&FV9yh~E zLQw&_M68p;$S5H|o+*`-wyS=G1Kq;C_g^cI$nejX_lAsSZ_A4Hz|kKhU5fs1yuT-u zQbEayi1Ao3C!|McQo*CI9zFbY2un^? zk$Hr4=<|K>Nug0_U)eq$l2MgNg$@Bb$m!wQ_X7etr0gIg1||qizB)7LTFFRSl0Lv; zG|91Yo!+xr|XN6{BfZ?TTq{__~U z8vPMoZHe&xZElYAP`Ue(j)m+AE^Q!@c% zsAXSrqg!Zt_%qL-zeZD|Fe0Bg=pPz#aLz8ivdN=;B_0VU%p&e5tY zSU*`#gO_>E^5+|^6ufQDT!X-J?&(K@Q)utTe*nPp z``-x(LJUA}$y3_X^**tEWzOm8A~^7uPlYl(TB?(=G@oB~FF0qV1ZsH%s7$I`UyEc^ z=-L%i>cHDz)rpFMQ8KD{^ymT=x(GEAJgS^UkEi(*$FLQ(;Hia}w#>jyE`!S0=oJct zs$~xobE}-}K$Ewr)%8*k5;CjT@d8Rt!X^$O#UsWy*q#tD zDQX9H2f;^-ZPqyp&fy(a=NW|j9z7bI!aWE93*5{Pb&Vu+fq*K%;~u6^TAaliN%5^B zU)UAPFf7b_ul&fjp)+sU3Rl9AxyQMdZ1 zP%ukC#2i8-vCV< zd5+_$(&KHm(8MFA!{r=qqR#{L!-w4li3V2#o}xk4N6v`3^+A8U3L-Mj;4Eg1cX984 z;~!UZKHpuu((hb%yNlEAN{B4o7IP3|bgA~?touhtYH(gSIdsU36Ty>=5TAmYp*vjg z6H~EuTA@owLX8>?xyvi_V}Eh{L{J_Cr7GQ~l>W6ny~ z$O#?P%+-a2geDuP3F_npQ^rZj@rXH3JiVPSa3;SYVT>LbJ~2+8DhKLvoZe1EkDQ+p z=&961$aIbyxu0o+}yzu3gR4#aXC~sGtL-K zau?@mLlT@E+IGE>784ZIIF<|#wa%(>S+5}(4Yu$KpQ1xzoeBZ-`Vc+=U206&`+pq5 zsFml_FzZ*qQpbGv_Q`Ru?@bx5>AX7|cBh@ICUj^rjp9*do*k^SRFQM_m8}$n%y9zK z{a{SZdC!gdBE!R{O_k4b5C>bwkb@l7iI^p%hV}y>?9YgTF?!VT*-pZgWyzgjc7>d+ zR(Y%2HHWjk`)|Yt=254|ag32tr^EGZ&<)bgO%>xcmHmCYkTwTT?dv2d``CLZ>W*dB6!)ZznkC5CFb04fN?V@&M?bE!D;_((;9h02cYQZt7zDSOb z$28-32pvP4q#TBWdbW6(v#8pqfQ%ZO*^W>n<`~3MQLvg45rJc-ajFI>6LOONjH8*y zfy|r+M#Y#yTxQMZRD=jYXt2mjB$`V^PLD6h;o8LGEpp36L}0~S_uHT13?5^QX=eEw z4&^AVvXvKki!~I?lX4E@;vj@2ZRy9wMi1E%a#{9@4O+KzYMjpF#1!~kN1HEegN%aL zxS2<20y{aHP58uwR?&h}xRrt`JGh>WxUZTP}5(|S8o}o>IkZ}w%QYI5}6p?9l6_>5F znW06443Cp&1Fz6wiZ&iil#nW7!sWv*e@uf(GCb``JSNvP1ob$pa7 z|G=2bA=WvFO+3yzLSEo+xLA)M2Rhu(F9=aG>YT-xwEEfh<$X(_?Bry*On<>70Rdb1 z8^(y3C1r*hFv}M?mDoBv2l{$tNIFbkJ)GQ`;FGXMzOH{wLWP(+d68qOD?HCj z1XS?Y$=Mv=zv~YR=iP_hM*GZ^oGCW)HZ|(p#VNW;+9-IYqs%Et*}xeD`#JSC5cY7p zbjpNm)JI6E@gQH~RATBDNJsi2k1#`*Mb=WMO^pP{bJ=5!oUFfRiYiZY2NzKx!$)ZH zFgFt6Q!v4qL+q@iLZ4!h( z@*>9>#<9sE;_+W1L#T`P^NKk=#^t-ZjUCL|OkA>tT0M(-!2V1cKYX9kZhDO=b{K*T(U@EODisvTG>$tsJIDi0g=q=<3tlO9g0i0vkyB zDE9;BaJg=WF6-nfeTjsKkVkl)BiTsGAK6Nk1__INme13o6yY5_vvMzUpClsTa&~eT zleB3Pu|S(~JPI<}e1>mQlNj)<6?s6z;zqALviB~`aaTwQN%_3IqPNi?qQX{Qqe_ZL z1EHY9!F+=W<4A=;uK4|#?%}7a#Su7AHt1$6$zYoDCH?o*m}Coo%XjoB5ymN))!%Xp zApr%4aLOvlMi0)5vfDP7?{J#lz#mW|0_MpH*}&zTO;cv60U1?eoBXI)8BjVR?oab9 z4>Ln-^@jodd=-yHCOL=uj$`XCncjwK-Wa9 z1AGbs7C4_{rHhA>65{WNs;7+nzmzc8L}c*Izv7?jCh>p@@FM?-1*$~Asnn!PMwJd2 zuk-~xPDYIizvnH!$_x<;JjXqxH1TrYriZt6Kc zem}1ol5;SZcLR7pe`ty4LKaZX6Yci75{jH6V^xF4lT&KLnX z3tY+>)<+OiGvLysT&@3KChSVx=J*vSMTIXynhu_6R`eO&oR-By}kyJC`a z)xh1`2d~`lakG6r2V=(Q(c}uAVSzdoIy{e06^}V0phiK5D>=rF`rQ6s=M;Ww>*-#a zoJP~2DsS>j<_QUCaVm9bn^0%PdhAB+a5+NXL}>Cd|0h4x!>NPp(C7F|5~hHJGntaK z-vM+WtJ4}ZQzSgYA5g{_!zZQ9L0myqVg|Y*OR0ez>4)M|m4B><@>3!b zGRBF?X`>We$mL8*M#a>B#CANTlqXo~YV9dd@vIjmAfd*$>GB{x6`Iru=>U+?2u86+Ah_- z9F8d^;Bt`uibBq&`6O!Z6qsAU=oPf z%>ThO9yznrsG`hsC>Nuq!slT2#j5eQWV6vsrwT;GB(y2Gn#=G-@cJ2_!g9Jd z>wlt2M3uI|H3Mp-bWl#@&sig>^&#XR%kf{yh6AZR(W8DcULTab*BsPnhgFHkPpR^d z{s$JBq98S5`;Y>UE^RL2do-nETw+2%j~Y4uS%1lTdMGKUvymB6-r!++CP6U4|Ba(1 z*(EI5t*kfozo*AIJu*^GVFMYj@-$8AWXy6p|0U}rqud2n5`Wk~<|H69LQ+Dm*Pq~1 zB`_5`h{<_}Gx-w^liY}RUEOv-z&m``PCO$3Ue{ZBoE8vMr^bnVffJ<00zn@h81%!a z;XrDTV%l@KBUU4Gq)HPka;N^1ZH&{QpvfX3b&lb?94sjzalifjgRd4Hm?yfrto;0r zJlQ4w8a$-`BOdE%BkZI?Xf*pF9TGmxpHda=pKb^C{s+|EF3}bmF;^WWRVeVpCnKXE zBA|!Y2PGZ&G|9dj2XH%VNDqj3TK@xEX+XcDB}JHJ4Oei1WVRCy61E5WNgfzm*`FAA z9DxDcdid1Xra$El>ZWX168dzAIhlXPl%$08sNnQo_eaH3`j`)gVS|J*9@GB?CBP%4 zO$9~h(4bC658=P&G)ZiS4arbLytVYNxsN&?l|HJYijt5J@-I0-oGepf`hTm(9-b9j7|=t1Ab0~zV47zPcL&&M@vdIThN^>%Kf zZLRMK9u3xTIVV$<*d}m5mk7rLSRv&Wy^#(fWA;39phdv3{A1Qif~mBVf5gBC@6ARP zl=kfSd{hp`)n-d;vwLgO&w7>uoSp?#9zKuiPk5VxW*>Q-&|!je_!g1$jI~cpvqq`$ zhW-W5u?|RSQNanU){I}T%Rl9FqNZar>?oBKz^+MHxI_OMm?R~pX9TnZTcurk}yZeG&6jG!>LQl$SnffO-n7P zPi+5K8IS}dgxsxvLz{KvKtz{_3?*Zc&+-pgD=|uyDL9BPa~^fc$*Itxieqqo_Z*e)-(1qF$^-hB%(0e)Iz2p6 z0tySVzstEMYUJdx9dO>GpvkQMJ@=6VH7mVz2n?PFd#9(hI!se1sYsIDv~-l;EaKr5+K%C3PL|x{55?Akk58L`kj?sUd6{*lh*F?b z@QLXV@GUNs@=$QUHBi`adh}Hsq@~cixQ-n(Y{vx1X_K&?Kjjo@QKLg>#OMbuKo=ZA zMu!03>0jv!Jj^0pe3~4}r#MKQz-E=Mfr1Aeo#m5qf0iQv5gj}lebV`yMT$Pbgimg{ z{eczzj*7uG_oiy(!neGykrz`XAf}}W0SzWZiHWHgp{_@4pY@Zp$o{i|2A@YlM9!mn z9j{O!q(|Mf#~OTz%bAeai0MCgUb4Nj0fNMlPK130Igi9(zS8fuR6AS4j{q<3@<6IE z&7TS>J}>CQyhRKItmQOLm59_l!N4$2<&{2JZ7W&Hjv7;;Lr9Z1^)a3xqlZV6lQ@Nq zlGC$#C&qTLe*$&wckY+)O?TckxKnT9C7?!)0*Fazb2OLnMak?{rKqr2va&}NxL@z& zH5M%0*`&^AIFAj|0z$+jiPL_vYc-g>%Ahb;E_GKh?CBf4!7LdS)^h|i;%XZu;LkDI z->JW13r%V`m2X&}%?2*v%Y-sqOBsMMoP*&U{3cxrLShP2h_M?xU|^QjZaNfVIw?wz zjGpF%MB%u|Q7FB!_c6Gm=@=&}oGYLf=p96Z>e`@~W0n zBV)U6=54x!jB_;W7?;#o{K`tb>+dO0l!z^QEsv1nQ6oS}Nh#RKC450j4GoVnlo$@> zN>w4ZzMj|L@R-T7I`?Xt&jIrV4EpdD4wDoy{CoLzAb`#TA^-=YDibk6PNE4Ok+{F* zBjM9h8|CdQg)|DQJe5>OC5XHvIo~$~$kOis7E(MaB$g1d8pB@!jZBSMXRd%$b=!H@2! zpYEQ231WRi@8vmOBqznE!a4+4T=V0ERGS2x|J=o$q3lMCZ;7dL0?&= z^G06n-_`*B;tu*M15jB(YJdk93DWPX3VBZN;bC@?;d*j5a1`frtOzZ{KxOoYS^Gy@ zVbr=lB`00UGqSpdXmwg)&PbV;^=;&`p-jEUsJ6BHNp3mxf`Xn3HSx#|Q(Gop>yaKVL^A&BBRL+b*a*|)6NA_2Limb+{*bn?CC6>J)G#yNx|B%?!xHd7>hV9FqtEHkWv({;&>BvVH!AfHsEhHZ4( zlo5Pkq!7*=FXFJu%79jOfM9mm)XW;jGdr}vH=u-CnKj{)(f`CgN;X(SgDhWWyIU!H zSg|eL8|om00p&JiBs8fqukX;JgU19LXi8?f9)&f|y5G|!cTgd-!_dhJdI%|r3K70| zwCrA#05t{p0})6KLW!bZL4r~&qpTh{8jeBw#b37DmscyTJUhxUErT!54ojZ_+0MJ& ze^w@gQR|TM!6-%iegbNcYSJOt=fElW#NGR#t*rMB>Nugzgv?ffQ~AotDeQc59*W>OsI@kWI)DEh#4sGU{E@D7V$~c8-$>zjH*pv|BlTu2zmwU0pJU~Qlr(|F$$uiY8 zNSy2~+0gzn*|Ox;Jfq5X9QD4Dmy1yk_>^o^C8t|Jj}SrWX^u~gK-yG+*o5bnHtCOo zH_G~#i?f%Ozdu=Cr46R*fOKN;?`i;lHH0qvt`PrB&Qk9&M$2t zm!W4ckQg6i>%C>a@ot~<(tj(*tz@7rfzKWZSmkiw^yYnt)+f8){;*+(sPsTGq#q&$ zBxHS69JfxK`z3uR>phSuQu7(zr^EIL`e>KoPhPIUV&wOij?gE4 z$>o|Tzt1cXmHudFR_Ak!iB8W|%zxh>_b2_`)xBeGkoXEQ4$A4`2Q>~>&%R2P#X$i_ z41eJnKrtmV2;d+vEWy_$aouW}AOC-QEQTuj-rNoV001R)MObuXVRU6WV{&C-bY%cC zFfuVMFgYzTFjO!$IyEplF*YkOFgh?WJed-g0000bbVXQnWMOn=I&E)cX=ZruMF0Q* literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/assets/img/ems-logo-192x192.png b/ems-core/web-admin/src/assets/img/ems-logo-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..66bfa78c979bb7c0f49174662839f208a75f8d94 GIT binary patch literal 14494 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/assets/img/ems-logo.png b/ems-core/web-admin/src/assets/img/ems-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf2dcf517d7cda9ae1373770d042d87b98a5056 GIT binary patch literal 91296 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 S \ No newline at end of file diff --git a/ems-core/web-admin/src/assets/img/party.gif b/ems-core/web-admin/src/assets/img/party.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f3c3f0aac8b72226ea1ca83d932decf03950ea7 GIT binary patch literal 4733322 zcmaI6by!ysNG-kq~B}7tA!! z&+^sF^z+NW_~>itX9Z-upLzByukBf&x2J@#fw*oShdb=sTA)`q;c^nm$bZ$?H&z`uzN4u@Y~Uo!#N;cz)-06Sl>6u4`I3xzHVU;e3E=`$lsXS+A;Do+@9J>C`u`4%!k`p7dEu?PA^@bUf1>4 zcIE0eX&DCkq1-eWPOeY*?BMEt!VL{X4++L_4fx6RwQq_ZMxVjS0+!kA7iIzf^)V}1Oc6Cm@(h`K0CE*b^ceNS6)k#h8Kg7 zd1{`nsF$cv3}*P5#D`Y@A19O|F-CrwKH@%E5>8Ei?Xr(+d9A9RCwEj71 zOJpEClhx2N9F&NQIABhYcX5P!F-Op>WP`r8`R{ZBmrrESr$@g=!`9ctNryosr zrb(-+-kFi!a&G$9L6JFO%1#673{k;OACXRS;SNL5jx67$mb@>GY8R6K{A~1J6ct`f zGg%A}T_z>z$n^W3$Fm#Y^TSYVg&eig;Qb}Y{K$Z!Guixt6tp5pwjv^QX(0TS40T0D z@K;>g4L~>8lL?-1ia=^>k5&TgqTi7=LwF4^N%QKv%O!Lv!ayFJ}c8_-z&F zt#HL~AAcX$U`J@UkGF4-Vz@Hg(Z$cnRq=2B-)eC<^uI`gy_Dgq|29DX)v4|m=n9n) zlM;1CNk~9tWyK_+Gtlp$z{kLCn+BMG++B;e@qr-!bAKt&)-`m}J zyS=sfW@CMAb!B;JabbS$_3X^_)a1nYtFh6M;UOa7<={Yn-;3U!=iObM9qnzc&sv(B z8XM~CYHO;io>o?rKPf9Md0bpnSdgEWo0FZDnUS8Bnv$H9m=GTq8xtLcfAsLd{d|FleN!Nth|VP|7yVP;}v zpr@myp{AmwAP19?l7RkB4zQo3WTXIJfXKh=+rLXFfZ`fJUnQ7Bm5tPCzQN}`+FCK3 zz`&jFB%f6|n#{`U_F@gUHI-2vJ&g94DtmtwiY=xToHBrV6t$le$@Y%f?k-#Sk-zBTroHOXto`#xfc2*gHg5gHY<9<1<4lf`uMu?(Icw| zjz2CB_h0L;p1mE88eoUw0Y?Hm4}a#ll}FPsu~~AEXI5{SvK-|;)?jq}x*p%0n4jfQ zc@q01GUcCIcD>g1kUQ#}ilnAKVw~()WQN& zJLgR1`NJ-B=Rv{py=_*PvO5Pw;5(M?&9x48{tDr%5AXl{xa}A|gHpd+*L3K{iEBAz z7xJ7-g4_!pwODg>UkKZA1am8dqcG9x zQ8nlAAN=-FR>tpWRC(CJ(DnT@?GS8AIW31~M-{`1{GsxYniCOj1lV z%#~`N+M!px}{z z!%tDLl$~(xlhBI2ljr*4v|@`Zq130Pzhw09+CMD*ko<&v8mwiSgQ=NQ>vd&nB~adD zJBtTB+v;}n&dBF-VoxrF$U#T%VUu$O^G5 zu><5V>-1aNrltuvPB{-;Fs+io#8xfZC<&4@*(G zxX0x?zk=g{-u#hE7+jWeB{=_)1m)9-4cHLNH29U;zn(%b@B ziDu7THTI|j7e&7l0|Od6%TB#cA|;`mFBa~wh76YL9GHn%l-i}NB}cJ2fgP8)Fxo<9 z12MgcqU3cZdRP1mH&~MtqNH+nt|=0p3>8gFC&z5=c`R44+LH-iEH2-30&5DkXt@;! zW&CMX6KM~AFJ|3We6XXTx~O?(qaIW`zo$WzE|I{s=9qE1n7~a-Qqa%!nK^_Hnmwz< z?0lRiNC&%Fs&3$7lQ!518)N-!{6>+JDOF$PgE=^l8hxoq)YE)BoVl$i+cn}{-34dS>q{B_oh ztpnATr`o|lrZ1`6j%AONagAjc4?a@gP86u^j`lp-o(Ra{Z>q&;|?bOc; z`2n}D7{x=E+)i8yFo7YTm|}G`u?H>!mZ&bnx%y@3WD8 zX{mF=?!OwSiHc4v{Pazqg9QROLOAZ{MVER$I5%|=+3(pz(8|N>9EP+}i5kyeEj&0q zv3XC`z_wm)-msLFB2xb4T|(3!j?C~?#NF&{7TK?P)Vebl^S3morWW9wT%KW~fSYD% z4NA|7D>ycSB&@E(SC|PuqCkZbe%-FU7hmxwkK(dmG(o# z_c+ct(OaScLd`TNJaM%cB)d5&FV*Mcf}kEaWmXT|>L-Jw%1M2GR>Ku99eYkA_%0FS z5LsTb$(Nyw@jv=55?(pz^+*E)e`Q?@)2!_Jd1pZ4%346D^C4a1>erX5-QcO1PJR77 zue*2sjN4VOx!ggHA3xy4X`?)DJuU5`{OH^Wn5B{3>E`L*pzwP9c)PpRZ^VZoaG$N& zq1wIgfqvH8cIIu6{_{7XzlwstbZr$%}Qd-9@nHh(bA8Qu`uD$g9qbu;?q`xOZp zz?(bK78#6u{^no$drpz#RbTVRM%QN*6nvs{?K`$XZzZxLQ(I7_d(W#0WX|Ou0&YP$ zha+|tRh2g6*)4l{48)Y!o!{)l;_Nli(SYmsqPA^R72dzxIVSs9I&~b5J&*fqZ*LtQ zb-$ntd1Aqt^6tmWFb%yw|9s9f00=}x?6-$+6;^AWwpI;06D^kjT3(Qch9&!_G{N&m;AL&I7CWEI;1E zN%*=foO=|A75@tC-v+NN9+jv=uRQ685zpjN^70DrM1tN~zav zG8NrCyQ3}>}nO0cB^DEW6O8rzaeAZ`=62E1oLeL{jX5XKPbX&)6c$I5t{ z&0Y~GuBrx!ZrQB# z2<(Pnd!qOyFR0th3kmQa1IoP8Ue15Cvxk1YB>EbRe>ElwVn|q%#fR2Nzl{}Rlg(Hf z0)hy@WjF`|1zpuS{25P>%Cs(uvnFTAWH?A_kfpE~RxUMr9{g!6|>{f_bKsEA_#aScfby$p!Ej-q;>oxYFskxR%> zyXpQVL6MA9W>(hyLr=QLdV2l)pfE`AzIn!t9pHD53^h%q3VD)yJ>je_S^?PwxV?gV z2L(spG6VK9!y^hAiyWAf3^+KF)2&5~@IW?HcCKJ{b`p>tnth`+i`PF}$dOM+NAQIN zZebLyLJ}q_sQ6<(h0dMlsTLIMDlTS?@NzVk%>lRJV=niKJ6Cv`rMW9J!|ys;_2kF3 z%|pzs^DGPD_auC-5*$EUV*dHoyV+QgRZ$#Lh60Q!Ex?e}*?4f2XCl`l>SA`iZPctqRo>W`{FRY(j^=3d&$w1EX;-5g+L>5#K0LEn$ zC}i{ZvenesZ&at)1_?0RRFGCeW(z6|tt{uB3(!?s)*QNg47l5qo6?w7`D%gl6FJv4 z7}f&I3vEjbSA8l7$Fwp+VYTL4EYgg15!zj%-uyw!y`@*=J^}LX-W-uY_(KYva=1dW zDJS+`Pe#rDlWUG-=^x>Ckzz8IL01z`NFv343zoYnmV<=MH)1nfl8bP{g=}G{{DQLRBE8sMz z;Chr$zmUkj?2%_l0Ty(Uie;jBRI^?L$H-wGnfgUEM4vPh(Zv`$R!!!g09(S?E6mq01w8o*H@G^u=h zJj=cwv<=DLv5DW+Yss)|IsKWHU0;6s6F@PU75So;w;q$nk^MB0okU8okHY1b9%``~ z7x0mRSZ_hf)fx-OP1H4{#)M5KQh5+HMb!hDTjOkyfuULO)k{uZ)}(ZGjy1Z2Y+cdYR;ZMm|G`gXEBGn`NB zJmRcAJe>X+jYVq*FR(hAv1)?@8f7`!WFT^`mSkfU@~%8l0X_j7pq|N~RQ3xgXYa4hX(6O&)__At+@V|=P^QW2`d;nL`tEbR!655F@?@zX&6F1s&zo1C<$yHr zX!RoI8QRWxniIr>YEwtE!i-FFEdw>BQ9A35`~Vw8bv?kM^ANYy||v8<3!>^@aOu*IjO~1f zxnA#2YrwoFVu+R~urgl$W62}IBIGfNFmdShuZ{ugDH-p6P3oyvUc*G&PJUv)EDcz_ zZ$YJR%IMdE*7S(J!8GPNb=vqA$@KkNMf>i#%|)f=#eK=#pI1z$)XbXyFw~cmp#4eY zT1n&xAQ6UHJ}h&0-1txZu!OzhgsQMGnhN?i`u6cXNqp?c_L2zL%5!U6BTgkIGIm83 zIbZLcWg`&EX7>6k8q5;kuuOzy+IT9Ig^#=VJ3S)7fPO1X(&Fdk;J)=VofD6T2k-UE z+#hZ;=;ssdpGaAlRqE`$F`{le(su*Aq_pv}pUlvE(dd?^QRbqT7mycSYx8>%wljU| z`C{7xw5Rwm~p1{e?5_+ z{}td(EGe-G|8h-a^U21&E_Dg64QNJFZFun1HoQhztQrQ1xdn?Jbj?WvI_P8*z~fbg zafKDD{1v|e(z_rCElK*!{Ls|AId&b+J*9IGtfN0w(A+uO*IzQQpxRGXLc1ttzwz>T zWTa$3a{S4ArCJ07Ko~mN#+}{KyeFdarb8JdgnHwDC%ijJH=fF6Id%Dp8cb9MsHkkB z0i+^;*-KN4d#zOSvq!y8KM+a3`XL$&$FScKwK@cH-vaGKyyd%(-*@rWv2a9`XFL@FB6mm>QYOjhI_U>@ zj~x95vIszW@k4hymXO#IDh2?g?)%!tie- zRLlt7O3K4W;8%6DwcG>IVFz-XU;rr?1sHDrB(gJuoCA>i?}eYsll*3_ui+VS&}_@( zM(k-CaPZvx){1a%qmFp|Nwl4AwQaoT9cKafXgr{{VSD@Gs+Nt?t}lDhGXJL@Vvtzb z7Thr^jsJpnqV>}TEp$gnb*J&hg1+zq??3aMsl!gFsZJ3v==va$r=PXuj74l9+hL@~ z_E2;lRLdQ+`l5T36Yz*p|gK3tcc-nr>>Kw^Ys z89W&3Bcr-|#`NbbJAHTXcV`aWG!}h6n!0#+1)xXIcK-S(1|UV1HwmLbY^bB7!wtmU zy=wM1La1E)k*9Ek_>tuoxw` z2)W@w=FD)4*cm9J^P}HcoY)U?`T;hT&S>7t#ZL>dw=eZm2a<0Wd{5u(q-IdU64rn& ze7Q1LGxS0&JxRNMG?YwF(=P3MBeZPsNWv@H>uT{cDWq%=GvcnA`U z#{;2~)|=R8L|`?tO4qhVXfoJU$iz@{R4<3$LP*<^TUC#&M%c0yYZpLf zw(MQpZf}NZO}@io+lB2OVLqA%n&iHzdaa(8wYrH6SLHw|hzdBKa$m>%`s7XeNGxNBRxXW+ z(+H`6%J0Pf^oht8P5psfD8R!!G0<)xW|%?-IkrNoov=_$-71!_j+a zJPC5I4@xl%Wq>L@9D1~dC8Gpb7A97v$S;gn-JvsR&C6w@p(JK&a2z74?Al-R7fbe2 zzAU|;?N=$J0wAfc)Y%34jSHE`=o5Oe41rEft(ncO7L?( z>%aJLSxyB+Cg;3l+WQhk_UkBSMxEvIo<|%2aAOWmL**=#&um+1hgoI3L`a|DX^-P8e@pz6LjRkq- zGT3u3Vn1ni669$`>((xkbvhA!M`MU*FNAFe+er;j-H1lLd}8|&lk_X&zYD}9;7ilA zDiCNFce>ipEd6p{B4Cfa`nyf?-vwT97W~0+H7Hw?5h5 z?=2B-5M1QUepS~#(|z73!rap)z^g?2brkJ-u5 zRAtu*sGr?$;&1xSefYyND<_doP1loODz)x*G}M!BawwdZ9$C)qD&1c;LGmsALLC!+g#9qKh_@ljL<0$D9>jl)oH7xlsvb96&?e0q5;5g0q!hOR zppN`ewE3t2jJb_qtTQ6)K+6!r-k;z6BJMiBX@tUFW+>V6d*IXdLQS#sFIm_nwK(%~ zx)8g_RP$)f#zs3eYz+yspz$h-Ky$3y7D+R5^}TAQvn51V#J-qQR!OG!5Cipk;%$TG z(mAPj8{M5bd+1!U&45#w<(LgLh({iv$Q4(JbfNd<%E~Norh8fX)bG?fE%{DhpU)X+ zwpUet{?vFtAC>sepDzHbUDumXL0xSIX&Cv>jGNfHCi}Arad3cfQv3v}lrA+rL zuGM;Mfm8HOefqg|xI^>&Skd>``m&!{#Xxk|CLKT=moD_0D;6} zVl!F~m<{-ok(DY!se^83(qYNWvZJD+qS@2V5u5W>DSxf@HV98rMYx}*J4~iKQdJ3< zLJnqAWoRJvt)uybVDC*$cH{Ex;c-+tKS`gT4mHzhY|36f*Df+7v%TD_6 z>QNzAiRl5udX{5TG5TJNu0wS6+Zui1{GV;=Hzt!bk9_a>39UfM9{}MOJc`qla0|F20&WyKBOt^TcL(yS`Su{%+s9J=Quk*B%VWZpReFYThrFs7_NFKB2#T z!B*sVKZeO|ymLgv{+*MDOxhSOtgoD6hvb68`VoEHPSA#o!hJPEzuXQ>4gHUinK<*g z!Y|wriVbQ0BmT}Lk#D~;UfkBlXDk^TM>E~Of?Y)D7>k^dCRM@MT#I1Cot)XpdhN&? zCN4UrCL9z?AHhOfz)Ul}2F%b`%#Fl6VT{HmD=S$-aS)l7+U2{ZHHtb-riGLbm26$o zo_E(vlMAw_^G1$Q{T0++&O;4+GG1;oMy7Iw8u-3fo2Pm;N#c)>X`rMwJHRh(m1P=# z{~k$R$OCShUpsuV86#~pn@@3)uc{Sr9GPuv+mH(47c@CX)iHf9d!9_Q`xayVGy%j=$3^cHC<49R=nISYT+!eXF=s*v zYE`g$#;`o|e1#M;DQma(4Rf_O4AU@P@6L{I^nS-5C*&zBUKoDK{w1GI`Z336MpqrG z`%+Sa9$i76cHe-?0!!q~2cLcMVP~RjMlIp*8!ILt9paKb#FdpmVO)BM9<(5>NStK(RmeHv%C zZ35Ee$sHW&6W%xb->M2oV5KG1 z%HB)d+EeW$%i++QD5J<>p(wdo(RP!%ucv_$Zwy1I!GS=>JQHde%r5{npmtnHIkhlu zDTd}B1?9zL_T&9(&|cya9GX8z!NM4KX$5r=#Je0SvxRekUjTU-_%f)Ks`RN=bCUhI z*!`ata3)EOD# zCwggohH-vw6{TDtH0;XLrHUB1Pz)RrW`AWcd&i-6YQ~L|rRDL`5V9XT{1%M{;k;RStB^d!Of@8uoE zLL7in9^gA%epj_cRKJ_5E%`|$UwNcr_7GqN4gK*L#@irhvR1g1sh!rAa;TQvmXa5- ztF_oO9I@UqzQZ}N>CPcT=+p~8!cb~KGA#eV~|HuVxodRi(psH(lP-t7;*Pk!-1i2AzQkt>&Lmi~-U#~A6>xqqA zQddc(ap3TxLA^Su@8O_m!z|%LHVjmnzbP zDFHY|T-O@%pXF{d6#UteY%L{WrnC-I4{DTpV@=CQz<0wEg*+yFF*Txo|ebq**J2us511{y_-O=Hw+ zCp~m=?|43Y04Kgg!Hzpgs~?vwDVMZTvS9&ppQNv!wDP7JlQi^bWfsPHOK2_y(4UZS zJ=A@CADH455=VI!#hpkAO*E#|$ped0poc69Xe@_y+xg7KItYqQpOQI$nok+u(P+mr zpq@PK0(`OFD2Gsaicr_(-SKjk438*qsoH4NY?nqCcAyKxe%g3`T`IAF5p`h&b=q{u z{O@1?2I-{_&)~ZN7Im(tgw54LYl6m7x@JEQ#V?KoQu@)V5m5q{#)GuW9$-TC2+)r_M0+?+9KiW+*ETVBX!F^<~Zpw{-BbRBmR|ed}<19gfi+mU%FIr(ePqpzHYke`6^iu zDk8A;h;i=ZP(WA1>Wp$hpH$&V9T&M1kj=v`iLV#Lzf)$F=Sc*Zlt)|K(yRhtaGkdb zr5UZM?e(3k9n8z^V}PcVD!clLl$rL&dQ9e%Ek{%K1_4bkbync6c|}M(S=}xf5??m= znDHx1cM-6#a{I80{dK7WREzpVX0Q7!i?ui<@9TPxl~W@&1?!~StCRitO@XgD^{fl6 zva{LMfs#BeTGF&gZOQ0Gv#rLW*>%zSV&4o${AN0F=x)-RXtqM2`5Tey^CVDr(&M!# ztGlniOx}jf*g@u4S(sq!9X?^{1a~ec z`c2?bOb&y`lF6A3TQxBaOMNJM(HKh={G`sxxFP^*1)xpDQ;fgYN(6B6ykiZ=Kdnw= zC>n!{&ESSr_+*{xn!8^)Zhx4uc`4XHubhhe>M%UV-bs{OK?-IuCXQUmDg2`}lJjPu z(pDyvZjX|LBQc$QP58i(?kHgYNz%>Vtj1>ns|(JF$xHj(YhB#(K*~!Z5QQh3qX$#S zkmXy)7bY?=0C_pccvJ_j?;tJQLfN?iFAZvXNr=>`k|r#oJBEf^kZ)a#q4eS|t}VaH zAFQV^Q!&{WM_u5fz7ztcKDpr(p4iU5r#Nu6|KoYr0YH*yTy3#YmF2+N;E=E31k-Zr zZDs$^W%KbtL7@G1VDomP7Ps&eyBBjx_Iq~tt^s_jBb;m>?REEiv)QH0h>Td7>_c}= zYx&{LvQNG4iehslkeH{3Tl56;6Qdw7O&AdSa_C!K|9HJOgT zdV&0#*JNG~J;@Lg`9pKZ(;ujY6KRbeKK_k5td0=e|FrJ0&Dc?0aW&LzD?(DJ2F+D^ z!oA~JK6^sDh9~ogzUGJE0dsOrfAG@C7=DL|{XxmX`?zOTr-wqA1G4$|d2tK5aqX?X z&oaq)+k89APmTWBIBY06dO`IJMH9;Swwyx1Fg}Vc9QchE_2_=lu++%DM-kb*x1l`K zGWl;yJT>IIy?7xp--m$UqgyCb}J>tG(uWl7ZGhg;JyBgmC1L1>YL@PsH4buCqKd?qcgCU zejmW!V};pASAWCPwI<#Xp)nn(^L3==_HUA=Ah|P{n7(jEDhMSdB2DI^eiY5n$sTTH zL2Dv5#20J{m1&$m)g*EtzQ|DmbnOA)@NIz0SjSMX7w z(98C&)*%75l+H{skJV~U0Y9(jqr&7QpZ@qRPT%>$?^kfAglpZ&T^avvMO(rlXgB<= zn%$3(FrMe>pI&^k1m}JnXm$tAeA*Wo0Mb*X-9oBGo3Kz!0_Mh9v78hcXG!J$NqYdZ zCaQd^hU+fW4E^X=RC%v{H!>rRD%CPG&11$Lc<}px5=z|$`!ZL72i_}QeXvCLHjAf_ zJVpU8_@{awF&D+Q_G|-D{dEw?_2=AyHxQly*lxk|8_!eFelTNx^F+BM@5X1onoze# zNA4NaUse>oMpt_4#JbPSdv>zIDDdc3Gc!XqZIspzeAPJ@v2OAemO9T;)1jR< z_~+p9W9*wRiByy^ysa4p53H3P>K53l!G(a0Lt4z>Sf27EJ#2h(#iMZg zUdGAkBA+=rwoe}Bd%tTjqww-#h@{0gp39%fy_jG1uEA zcq!!E<4iuO7LlKUE+qx`0?X#Y$71K|7gA@7q}ULpinfOam}t^F)V!SKXTV`{D~ZbS z`1Jv$RLB-FWNJ(mXOwEFZn2|S~0n{P65-hGo->QmS9iu0%7YhrsILu=a zmtV~c3#w~ug#Btjx+3+{XO(Jfq&pxgB?3U*%0&Tg7d%EOXBR+}5#Y8?(POu_AOZ!3 zt(Isl5B)dOx-^-#LY|j~sidCAhVOHXWO`GP%>hV1`+Ox(C0O}alXb1&cpv^O+5ytS zT>f4hAY=|V0qLmM06Y{&Po#m zrWfh-b*dU%W2HeK;_p~FcJ0K_D;>OXAG|t64>2F9wW`~jKGg9CMxNwZ<{F5O=9&wO zjAX`UMEzVV;BfZlba!wv;5RDcqqd2Cn)jgz8FUnDBh=jb`=MD9?bcqWoja`QqaYf~*r;AD*$A9%Dxjl*(Jx8h`**LM}3Q&fT6)q{Nbx8cAjX zc-G;6r3NyuaC7DI+YET++C3rhYE+-C!U*2DQe!AsJ8ko|UPMA&)$;TD$0r!uACLXx zlONSV%yVyVR;k)v)y====H6U93wl)=x-ru;vV2Fl^P1t&ub}05pzq(fAcOz_dD9=E zhZy36%Ps$SGLn;)qp?8hd$t?V$k}qD6k?C2l0lPS1({q?-bnQzCk>#37roKs$RyuN zq_#ojff4CcA^t-mCFL+~7bDp{;KU2gz%F{@DjG+RS?c?lWDm0Fg0F;#%%*Xm720w^ z5+r~vOGBxTr5t4{G5v`~N&+}dbS~t`;gHJFnr&_KRh*b6T{3T%*uq5C>#TFzhH4+X z(o4{u0jY3ob#LW|7NL}V$~6B zn!lRxq{tp11C5#15}u?^oWx{4E+qdcJ3#846XL&pIXL zLjsxcRtV7FO$D`1wmn6;QNKogGQD#t&>$?!+Gz(sRNpo{$ftTCC>>D@Z21IF5d}2-tp6<*BQ<_WOf`P^k_2F%|qCV2EQlmK9KolUfaW5 zBI=#&Ng^0SPqo(_T!e!SFgcYSf5}wgC$Yi6{b+fy+w(DLYB+1CbXjaTQd#&UteHwO|nb+RZlicey2ZmDa zMWbJ$Eu)3)V1Vb*Xl3g#c9>3m-uF}jxY!@WB0`ozxIimm5NC|IkvyvO(As1Z}(F2_&8}FVm_w}-lJV{K;+%e3eMD#LR^)Q zsA%h1nx08}!RnD?rAF2&^v#Q{#HKUn=qorF!Qb=# zj==LwoP}yMz+qnCZK%RsaGQ;4a3h0g(~O4@kOqXvWs6z_f7a7OiGG&q}Fv1=(1 z5u%}?h})SFEq*$tR)6FqH!HVHN28PJj_cL$_myH*`)#+(KI2}*W@U6=g~>xCjxb0~ zNu*#4FN?n)sOiO>-JGQ8`Oot6L9vA1WqCl%D8`BDLnM$jx+P|AWWK~vept311+@Ex z8QH%f&^D&f8kWD4)CDKf9ecj!hG4_cJyRfA0E8$FOzHdOlpY2xXyC{i-=|CQPPz3) zj;+_h%(wZ)y`XoDA28jrZSBrCp1Se}S;u}|*$1{Jc$s~lFuGM&FqN-x5ZZpYJIP*>z|M!3^`o(XmVwmlW-wLOb*VaA7 z4@@+u8cUY@Bjfi!%9#)EWj+Is#leQ2QAP^nw%+Hn8->C?RQ)NL{c4)T{wc-6y_GTM z8|Vh*ahRt@n%9j&U@mV8x~_5%zZ1jSsWbjYOVrD;(WYluc9TG+-uIqyYsbWIJm0(C z)<~n!IMp`Sr>KCV47tOlGouGx2Qzfy167j^B=iDlZZIimhY~puqLU#>s>5+u8oq6E z@6iK`v_1y5F&H!XCX;%d{;}?~+GcX(y5&PWX+8yE^8G3(Z_=hWjm%&+^XuxnV|J6G z>l>fB9TP05A;>7&r6}5EAe&P~{P|oxt7dO-G;?q?-R0|VKj{~)EBUS_tlqQ;K*r`{kTHPqxT<3-ja+56R`=N_+ce!6kRKDGc&ErN3 zQEYSXj*u%uNxP@XA6P~pM+STGgV^$F1FE@O+C!SzAtq(P9z2!h<&F%L$`= zYl)7udIr-vtuqmI`cz*T86z5 zmFF!j1{51I3Ov9wO-FNL3pvf7G+EzWDTF0jrvYw7{b+MsDMha~8Lmyha_6pR?~3T2 z(2Objpl_y@rZ5s{Sw@(=Cp_0Rpk=nb%lcb0Y`}Id->%0RYKU!RYd}pjoxz^(`iPJ2 zIyozL*S->o;PF1rFu$Cj!FDCti+1X{Q@4 zuvp`t)})%o@`9vRjQgO9nMyuqQiW<=yBp_@#ZC5aGsih2?F=mptE*&U{9 zh}4-nd3jS(%S4C@w^J*hZTluUDZ167^xzn;B@Ljzp_{#PGpGD57)1#n9m|@tI$28R zQPEVDMpI9x{f)}`oB_Lo#VJFMlHS5Te*Y7Vg!l9%(K=;MNy=TUBP@(}e(leV9E}Jqg*D@Xh zItW*O_+~v92wa{EbZCcKyG2)dj176DBfe*@Qek5U2>^OT)O#Z0%De2Nf?Wuv0J8SM z$6>Xmsnox0m*X_U|Bq<^B|#LpE64htsig$4#+0q~o}TTx+T`jrcET><8zSN)gMo2b zpnfWWNRWva2;U%FtOFV_Xlet12Xu?G&NV?nFeBbNk$B_&tm_Ibo+UByDEEnq7!8&I zKy7EjemDh)Ed`&sV{ef$m}^8cIbExMa2CUP3swPCKEyeEaNWqt<>t`5B;9`S*u!a$ zJnDd)%wlj^&qtaE+|7Sk#evaEz>Hb@bQ=Z6mK!>){&QnQn+TpRgn85GXQbzx%wU~F z99t;_b9`B8L9kXZjMQGhl#;P9fNZdhPmN%=d>=B!H#RE>r1SS=brOy>vGPDruwt#a z|3<0Hp4#T~$Z(D@oe`9Dqf|6)DVq#`9>zJ|xh7DuP^PPDP#z1GgS6Ps(LLB$`e{rr zCHyJ>k+ULyoXtUw3G!yB$F{1|sPUc#|6Wae9kP>Nhb>(We7ND9F+0;b6G>fsiS6Y_z>c?EaLdt+)$F!%LK=HmX!0kGx1t_q=9wB zE7y!ybUPPbjrBa-TLUbw0A*KH1&kM;7uV7yezH;IHdWb*WLge5eGTkq2D)&6I@`sr znLUi&YNM=j)B%v3-Q1KUqk+uMkisj~_=kj!V)$`ZSmc1jUhG0CT`)gXPYB>3GWO7z zI+wY{8hw97%gmqZA03{CJLKMzE|~i31L0_F({@dmgwJ%S=J!l;EG*|v*J&RMDMLM8 z613a-aM9x7;%iXFi=8GhN?7DqmxZ#^4cgjiz2fz7POt$$mI=6Q+RP+k_kr<>?p zM-12cB=7n*-Sp}CST%hvK9zeSccjqa>LcjP-M;6onSZJB7MWw=>=QivZ%4nSgYS&p zao(^W5o;PX6pCvAw^KN{slC%y@g1wwh@8;MDnX8?H&q|x)}T!(K(7p18a~2-Q>Rr8 zyKllwNT*pwT9M5(8{40lQkYb#r+36oP17kT2(5_NcMyRp?wirO6Kc8SaS=-?;r?oP z{|+14#jbrI^hr04f;H4jhVRN*Xi(a#Gsx6O<*}$%q7iLk$Lm8h8J6S zH+KZGHvduQ=LDG$GDfoMPlE)PxXX|pa{EDa6&Twm3Wp$kIj5=fRf~WbZq#VBSiJc@ z5n$+cie#fTit|2bKRy`ze;7IowkEhR3@>2828_`?di3ZK;^;;gA*E8%AYGzvbW2M+ zx{*f27!4BApn?trrBuK|{gluDaL#qE^St+SztrcYl)&wsh%HgE8^FfU4z=yqMq6nx zwKn=jDp>1qm#Z%4%_s2D>_?^y#9(mv`-zWR0^J;R&{ij=&p3nij_!E2UVVO|V=>6; zqx@?UdflquzL*Kg58op^Tm>R2B0L;+>r$gJwfksu>({36!abXxoB0$u64-~T#tKqh zvvCb)8C_4#Ubyi`Jb?D<0Znd)#uVgbdhYY)Per1`O8^Knm^LgCmm{B=(~yqRp>V3m z;V``b=78r|o-X0b!RF)d15H!Xw>{HONe0g0GKy``569ga{zmU!e~x#&Y?$+rCl%3v z=qy)+xPTCce%O4%!Y{cZjTUF?;^rqA(1eb+Up>DAxf1LGzi2OB8*MgO5=h$^8iZWNfS@{J5#Lc1t?OuyZ) z4zhgPY&9Mb^Vrb%$AZMkqFOJ`JL8<1Q`^(dliGd|ep$Q1)B7}PE8J6)F2KQ}6FbU! zrii;C{gud?wh@vTA*;0H#CGw^r_&N03}YCGCus-)`^gJ63Bco83fDQmN5@LG>AUgc`)1~0l&|A1Buh;kb;xmCHez_dNm zswGt+3Ku|XXLJ0P-wcr zp~HWF)NIZGMl9EyJ4mGpr46fWmAFJ5IfKu`@IuRoNh_$rj*zepErsK3g ztAVI~1$Nr1#N%$qgea}S2!2*M!%`=j@5?u7!xwpjrQ_x&fE=xvj)9~x*R{KG{tTC5 z?*7oS5b{WYSKoZp{X6bp-9Y&;K5YB1F{VnBPNK|IeqZz1kHKe4;nbV>gX&M7-A|yG zy6+yG>TqSuqOEaZP09a-D%=rin#T97NALGG?0;l#a)rCtGwN=@ARkqG|JAKl5Xw*oZ&OpK(tbBB?)euYW$$q5Mg_|HtPB z-f}_{I+0uZy16+p?s|T-J)80PpRWzzut3&`B$Lnc>f;Z!!?K|Z<7J22B6At%aMF#= z)iH?z`TNAkV-GkUa?@&d>vKUi)<)a*l*V}o!%7(4O$XB z@=IEulFj2I@bgl-=kdyR0XoSzPkejQ?(I%J4@L;X@v2HlFsB(Sni@9% z6U~414))k^#B9IX{HK}0Kj<~u_ae^gIUAK2*6d5Tzs)8EfTe3N4A(V=`mMqTn&+jN zB}b)NIU)fpqlvCK1=$xq;Yf?OpPVu$2brc1yQcpR=NeIAH~U_W=g1N}!I^btbW=#t zJVlHG?Py~{pVxxCP=J>;=epYcptqRG_)B-()^MQOTRPl)|La99j3j^GeAPKU=Ok!Y zeUIV{(AbA@k)XO!*yoJ~yjNa`rmrXLu^#I))m%6cuf{I@_>Xm$^^dIv`XbJAIQ3cC zzdS^uEIPJY0@1wJM5eoP!Bi6FQITU0z3=C@#?)Dwp2DK%$z(mCO*nB7B_FmJPbQa# z7-N{v+8$uxuX88NV*gVx6gp8vn+!4)>&QJVr^~}*8~#&GU0i3k0Iu&aegW`1X=2or zSC%dCTep9&jr%CDav3*cVz-jCtg(j!;vDm|uz60>LsCNIdb<#p)x5)#e4(*ahCJi% zTstoVy_cVqcpFOADY(6Q!D4A5+go22=$F(0yxEN*flVhLCOLQ)_MQ*dx2*YHzFJdR z>NjCNBV*7)?#fNz8Z>M<92^a@0kFu87%bex2bii$M~BiO8Q%py&*<>JXCS?6(og)TF=H5qm*$Y2cn}w$de)9ZIu4CzsD(uTa&fg zThE0mkx`}_ljb`kg9V9hAYWIL#$sQVvQc4z%2WxxJ>{`+kb(}A?+_=yt!0>HozzNL zj=eTp(Y27z?rwU-?i}S3e2DbjP+vl4>uRs+mNDQ2vC|X#Rb>>`1e_q6mr3dMGh3yB zrH&cT{zg-uY8A-J2VWLXpd`x1NUA`M8Ie=~7_69Gg|)aI7za|{vK6B6QTR5g!4gs! zi6kj~7<0MOqlF6-;RItgz1zVMDLy+!zv#8|K@GQMOTKT7qKIwOje`+)^hso9smals zno;YthO{3sCdc-M1~$GnY#cOhwU`klG-lE+U223gi=!%3SoY>o91n9G{R?tIs-a|c zu2X#1Ka$^H;dkPK%h6i>6LT*LSZqk>b&*jkJKD6LThuuYy;g4kKx$JGAVI!O zrm%Q-7XWYW>NKff-%;vDzRvxQeWj=ZN%MD!ukX)KB`V^jWcYPa$tN^*Sm%0VcvB-r z)DG^~sK;M!wW)%4WAvPt<8F6`s_?B8V`@O4xYPj;OZ~`P4frjhc%{#HfQ?E^H8#|q z^^NFf__G+@mP#nlpqGMlQ~uD}ao#@{>Sd5+Ej_)AMgv5XEDYQbrlR+D{uM}UA3ZSq0*1Ai)i^VwdVGAeemDnI@P4EZ}wrrI3b-G{oW?)!se%6En1wsr}O(Y-;^G`ZfjGiN|{9`~_xveq!=*!akj9mIxM)Q-;@8$&Md#_QJS?B!fyU|Z_ z`E?xoW}>~Onj%7t5&#M3K~3Xpatq|Us$32DeFXO2K0HPJkIpG~Spp6PW>0K^@L~w+ z!@A339Mv5zaxjQID!#YH`3mkq6|@o)#)KoM@jT>36%&*Or_3RI%R(@m9>J2@ z08x1}aNL@|g|%yU`fEC-+vIK#tN;TL!&6-Z_2*=JT&Z_&hug>6?PpZIxZ|rxOH3Le zbG~d)@CEk%;^HZ0y8j4=={rjJ02+SoBTJX7*VVb6$ZgvJZ}D8Ie!46 zLW$a#MW#kipKHER$Bc+R<;}}uWTiZ2y$5wZ=NUnds6h#ew`;@r-!AdlILf9!;occT% z!gMimqV>I*gwxPk5yjxP_%nM-j1~1+wtG89l*-Xo?&K<^A-~w(KtJq0^l$?DT_S*P z`YUm&;GEES3*Y3=p$Dlj0GPG~xXKw}rEjr;Z@ri7Xr}fL8;;qMMo4;epQdj4co=nj zqMswJU8U3{Qh%aaoR1PZY_Bhc*ZiW5?wgv>Zzn3&%T3MeziK2fc1RD#65zL8p)R!7 z9PalXkDSfTZ_KrQ+>@Q1#6bNBOa$u8d-+e>Ow8M|pPv7l*j8<>(gxp~i_pMn_Q^I> z0(6n4-Dr~j7df9fAwEZKJk^(t9^bM8wBwkOxX;^tm@j;_Uo2VPY0D4kKUlP)`lEg8 z^6I+98ScC4cY0clZtLT&GC}oZZl!wCM~>XhlU3?5Ts59GDKO~yHwyD2K-1-5pY&np zw*Cq(RPEr*pIROX!c*^k-u)V92@M$Sz%#yti9Z@PXAYx4N98ZsHfW~CL-lJm<``#U zT{mA@eA!dExIg{_9~+U_5l4u@8V8PI;tJ$@6M5D z%7_m^aDYKf0Fc}~8)qQ+a_$$)TwN`cv=&aLRz}}}Af%tyxmqoEdpnofG5i&~`!$u0 z?*nJZvD4#ZM~Xros0A_N9mh9iC@zz?EKF(ESL&EMYi3bzW`ST4s)SkR;_N!{X75MA zc3jW9TbYp853bFLSuz3sqna~s&hn=bVAN4Yeh_>vh*4Z;X5CuwZJXdbM%4M&cE~aF z`B@J0mg1+U0Ork4n@3En?T1a{U{A;cabaCCCRf^3;irFFPv~R`&)Xj5F)(^!F6k2$ z07#W-*9Fs%FHSb>cBfzZNDrjigsiOOIt;UYM6lJT7J1eyOj37VRjayKevemB`~|O5 z&Z#gtgtDehFl-kkKgb6)TrBGKIE9!r+e0&*ME`lrUB|1)ja{y7X$AX zUowf!R-@#b4~1RWs+GC*?b_{x3x%%CUyc>JGl=`l%s8NK(joo)h~=^?Z@Haq~5;pw6*N_QrN@x9`PD&7Yz>`q&@ z7VLI~fF>^8(KuO37HaKGSX$I9@y@ri`kFRKNX4y+@!;(C-! z<*q!Ik<9BaDW7Wd@(hwu_|jU2W2gm%j-;%|^O+9lN!oLvnr&9|-rQDgX4cY7y`tyi z|H=6G>UWEqB)3gD=I%p59RTabQ9TOc=4l9-%ORdK7h3=6hPVSzupbBrt2Mi-HR}(n z-K53&&4j;?*j%rFfoGEl9#=A0ww;!3vhB;8BS7RHuw7OMv$XGDe0l+FGBynAyvE^A(4Cy%5ri(3Q3a$h%*Z3-`F# zTdG|YZMjR^L+C$1BpUUH54@)@pdtH6wdZn|lB~nZ<+8WO;f6*yuYOr?dGpIQ`?50% z*r0cD>X{>dh3Prqig6!90C3+6$Qx(yI#T2gMb09=8k~BZ(3)(Kndu+rskBJ7Z2y9H zrQW=wbS?Bbd*! zAuKDziA>ao@3J>(m%hv)PZv{U`r?OZ@ioR5ak;h^OAx~{wR*+jpT%l2KO;>$kxnHl z|C+?aPIm9`a>#a(|FUd=62t~~wwiCT@?~O2)P$^L0T=n6ZI`&7>}zu=TPxwEaLSdM zGmC@zx^YL}CZ+MCTL1nZOIS1G%(2P(UusmGW$nuPOs9#DE1eGw>pBK3pzP$Q8Cxkx*8`gzLL zmh^!E5&nDIFelkJ7W$|za1p9@V<9slBcNK$055H9YH}leEqdC}srXwwHLRLy^ozLf zQkp1vi%rhlyko~5GJX@%ccwAWulY>Lk$GpvN6$VzdaYWTRB<_UJNi7LaJKPXmdOwwrEweOF7q@b7jq*y(c)Dd|;x^3Z zap#)*#@+w)x zB!BcS7X0WOD2dDIapEyDWdgU(DySK^I4-coF4@*)iVb%ZPj&Ll+R$=1z?&EK;_gTJ zZ}3k=zsejm=C}ob0=@dhxdQE(y+VJ^sQH2Zv+yl?9r4 zJ#so(Nry;#^@*^!x`>Us>(Pb@l@Ef{jrZLZo~Fdy5r27q_I;(YY)7Gq6Aqi-(Fpf= zenqA(b5ZGbQ2=GZfd~4kl&)DUJ>>bAMDb&Xo=Au*>D6t*W`_Qg>(AAWCPBs&u8~rU zk5jYf%v5>|1@J2jBYCxR7n5`NRiT2yx)(h2DvNd5)hx&q@~V{CgVgymxQg}l7OzVP zIIKhBziocUk*%eX*R8YlW`ZJ@M_4X;BE8p9Io-^6z4TXhA54j_QV>^f^{x=uRNsMl z0CP{7*L=%9IG3z>b0;eV8AbsRKAh8RBA0KWhvWJRmiq~DF|uf^;yCnG+x2X;Pf6R~ z&idWzgC?T~gRgft3N%PyUDA>FtWn_S+kZjM{bvBC{Tu>gxgfyWR^?FEKaqnqc#aMr7E5{w_y*3iBe0`<;iHF5yNaQ%(=3A z!3adeuvFt_JY~v;X*@?=BOcHLftJ(>8(9j!GuaW9h-iKl94`VDS5&WVKT$SeWarnQ zl1i*rWr}V6U)G0?+S_i}=D1G<7W#SK%N40;4cXS8 z-F0@5TLNWVpDl4dI(z&MkO&qv&c|nIsH8CqYda9mO1E^849wb?|HvwbOSKne*f6?) z!&TvQ5A4-A{ORua4b6$R!4A@^ry>1vGg}FyBN%7ovFmWc(dz-b2SHgve@-}TZ|7Kc z^8EEpcqywz0@MOfY%Sh5?#=3ewYYLeIN5;0%LW%e*5+HOxK`U4a8ChY=S0(WS1>zH za>&4dK*m5XX)EA`)1+o=T^aLpdI}_NWqCrb<=YytGx-M?m1FC<)6ibO-$Gb##A zxeUhHlU+j9g-!D<`?hy@Zk~)KT_ZIKF}Mly876UENmg+5^uJ*qAK%n!YEz(4m>hJlv=*fKpP zbNyTc-ji^dG+rPPEWpW~kz(SH)hR^dshsi4*F`;RgmCXRQSsCO zEpf*>X@%!P!J!GW)i*8=ep946+0iiFea8tjNN>m!FyPKHEZX^+)73IH_f3(!l~6*? z^$T8Jp5A>V?$V-&ddD*DfApp=YTj1>z6P8oGc^7B{>s1LpkC3hQGm{+W>lR48#XC< zfUS-$P4|sToDJr8yEp#6BAWl*0&JqJQjq2V*%@~gl0>1%>I&WCay>R!G|%(kr?A*)x{F|lO` zJx90&SdRmFe$%*0vfRc)yh`1GrOY@As?j&BzT7E@s(Xb$q7Z%gLQ~SojMDsQ+NGy3 z=3}j}#coOc*G(M@-{0yA%wweVTG|i1TN_NSIGp1=Z#_MYZo@DPTmmY0{FACs=~2NJ zdY&F2v?m72>6&1WOwGN|wX2sl2u~&0R%tW>p$wFDgxqq1d?Hrl`KdkPCNY6E;!t?c z{qpXcZ-pukr6nV%+6OLE9Rl*2%z^Y zAugWVjyR4Iupt73 z+dVc{*Fd~_5gt~q*%qLRRChX8jA*i5VbPL0V>+i>nY<|E4f@1QTQjDqB&5n-WHQE} z94M+5h2ntTPAY;zAoK7c#8dza-P%5^Osf_W(NrM2Q*~l`U@AhLk_yo@79NwuCX05$ z40F)(5;MbYMIOa(l_x}EKKhiEcjTgO9;=bLeakP&G+>YN(rsz<@;N#D*8-x%WV+t7 zy09gDj)QUw>W`bdE8CpNjg;`?E@7N9R?w}Sy^T#6x=XxvRR`dT!@bYShQ9^o(J|Kd zfs5)F!{&Yn{3KkmV-Q-&&4TKlU!O{%OIKt2mM@&En!wG6LHaFa!DxB}L=FJvWkv&7 zp-AklG=Rv`D_vu&c0Srpf^MgA_tRd?==DVL;=NILA<0gxTu4C`v(Z<3Fx)6ECo1Z@ zYPE_>bELVJMih&?=7BCpSzHg(IMT_a5cQR!g^i5Z@~9LaOUdSL_QVPz`-1`q5=O{i z^Kj=nc6_XmwI4lKBjc^{uAZObniVu-1LJsPl~hWg7w-@eFyWCrr1PtO2CNOCdTSpu zO62bC`&4UulhFEO)G1})8E`s^;wiVal`3|mpfnaW`Hku|@Gn-MclSE~qyP}uvfB=% z_@hs*7oEDPtcirybLLe~5w>(*xo0anl?0|>RcbTOE9nHK@Lu6-jQ+8=PVoYT`cEpO zrR@%^)LYHz+f+w~M1x)RpVAtkplHOJTdTqz&w<#-kdK z6(nlt6+|0)^td+W>lyNFQ$sqJB=WNXS{EQW09)Kf%7ICqW5B02{f=I?<>w&aLmgma z89@@@HW)tli9sfq#1@Oaff1IE=b~F--misJ(1h(@zrLDYrSsyQh4{lGL_ANXs8ROx z(2o9|8`a@FyFK(Ts9LZ?6YmAp9dWPEKOUUjfI0f{@ zNCo$!585|3-37}PlzhMH00Qhi{z3iOLKL0ui?0K$lNxdrSS4re{dev^`5redc`X>Z z-{@>mLQHhy(fw5`w#LOsn2mH2J6ZGCLf-@TD~7st!NBO{GJog6FHjH_+%1#?fB-MQwkR+=M_KiH)_psMR@TUNuw^ym!$*cdKZzA`zb-HF52$YDEx4)1L;oWn@Dl4Qbnq{*Tw(3Z04e1HZGjIV0BdEbw z7SfTKuDpyaA8NC=5<*cLope{y^`m-|+jcq}8-Zp};}>GVft?(Cw9((@oe$F1xV|FF z4h30LnN5>RSE(UKe5kwK6>ae>cxT(pb9R#fR{oYw9+(gxwF;ZJ?Gyo3t`Ppm|8Phq zEkx;wC_SsXARQKzxE3%R5q&AlWD+8IQxpWvxv_R)(n9uzK)vfd0dxdFL?i%6p=Y(m zC|QF^^Ey4YA%mj!39BKB1lbG!EVzr1?gk8Je}Y^hRGlX0NeMMMlPdwsGwHeBR}H%; zDnEEnM14DsZRoP;Je>3ezO*LVUgVaTbj#9;p*t8-4FLBQ3Gfj>tn(mq(cAxYey#v; zzJcv!BQ4(?dVK?};nj$sMbLjj5={#{Pa-4`Cjl92id&s`7=?&Vc|o1J*Ao@_-iCR` zdTVnPDoup&HmyWeoGLB?F`Gisj$RkV=Yg}|m7~HvZVG4Q?Oae~KaY_N<`)yO)piX= z%+uX41b~Bs>HDw9Sb=ak?CdA><}e@46B(%}yj2oQrIoHC1wdLz(B7l#N`Xs--^^LP zSzpBFl*__A3|Ibf&9>85IR*U5-SyNRV#RV7-<8A$6v9*FoyC&dIS>!*!!K7uGIT&e z#R9idfT94f1^|5b8_0E@>o#6oe}#(~2&~DaCr{qivI+MX}408WYhSE(9ur~u2Xwa!@B{ZKLg~tr3$JQSG%3L zI_Ovd;D=n;7vFCDGg4L<0T^ltgpPQby%^(pumDI%+2P#GeOHFfja5{_Cjck=%oF?z zZT>9LF2f#tjRY5tO58%*&-C1!qeIKNi_5la8C ztm|rdg`=py5|ITyHVKQK-QS#4(zM5b#=0Wu=>{aBpMvL|Myv1gzeU|a7T#$IH6kim zH&}CVbYOAwpcZRszwat25=ax1X=f6wNeHGVss8Q+bI%vDe~42J!T0p5W%XfFSbgyw zA&z5c&OAFl;aInyS#Bym!b5P06LV)Wc;fin-UKKQfVhH+*ec)a9X}LtYz%{*V!W)N zGM%@wU;3?FPUbFx1UX=>RfAT9_?$f5866>)B}%J>cpPy&C@YY%6G)5%3f$(F1%M?+ zhz$#dA+~pFRGg41wcDM}E0I#c_fqASBolhDw0g0w2tLp;pVfP#jT7h0+Eks@@^2DS zvqg8LD3P|{l*ev72lXzv`GWo~6{&6&APVsMdN8E_3Ung=ViJhnm2N6kXO7dChXow| zPNrV1QALQNo+HF5tow;R(IE*O<`^;+e|5H4Z9!LG#aKvVG4%G99MikdMY^hS&Z<|Q zRq8}P6$fw<0rG3O3JodgnHTMnI&WEBW8h%F{%3@=-^p*^TrECc<9l5FPsYXW2m%sn zfI0LHC63OQB?c70W`uYTwfa=Giyu`3v67L0@&)wl>4kEn=o%g5_RBtuq{XgD7CV$* zD$2k5UK`1BQC11W7?IxCMSQ_P)(Zo?j*)ot@&<7LtcA&hP{E<9fIW3@D2l}~L?)!k z_M(v7gs_@`Xjb|wxW6y>cN+WEXvp$nR@lDJ|Zo;I_CnLv4yr#dn)?lb;eUt?M3NmaZ?qm)x%B4gSFUI@jq*X*=|+Y`>@-?~(H& z1SPg&j86kz3MO+!-&um!lSBI($q%A#qJ&`$QPqlO9Uvg866hZc@(&)ydu!4Fu+_pl zzbbp#g!^r;a)jUwQdzuQ!Jk*I^8JYAKcs^w-kUqsi8KkFCw5i3q93hs+I8M~{ed&C zldWQ@%SWsVZZF4FA7(TpoAER0Y9r*;k0eW7M4pMmpOLn^waVirH=dD1 zh}tk^BFgoPdzA_dJyYGy{koGX>gJDa={9wEA8{LYg{Glpc39!MAz_j;Mn}R&i=ht>DT6KScfZ65Z{4#m zw$(^sg}VEu)juA1{kS@KthK&nNwa;JrTsfgiZp}x69^F6OXn@q@Rk=4DDzY^Skc#y zT6?`7?|Y&4Tl!f_-tV}I4TcB$(vy29fG1MvsI!T&6~$}cujlP3re@~pdHgHj2{783 zY$-^sEAfHT0=iCsEJubnY9-5&bf9Uli~|7LQfN#A7!scMvgv*4^2QLahIz2^hnPvb zKp8r2`R~)=Hqf`hq2fB%uE&h1Y}vk3loNNJu{ohUM2z~;Ld#f%*t)_Lw)GUv?v4#Z z*oV$#zHKLcs-t`8Kh41bY077q&vkl5zW$Cw67~~rE5Q@02oda{GqcLwL;x@6tbOEr z`jTBjloS+wl>a(iDhZkv=MJ=+9~3rWO|0enY-?5|l$iMCvk-Dq6 zR7B+nEXztsttfn|Oaij}=Mp3pV;$1~Y7yLlXEIsQ@$=nHYZ7rGKv)}CIFv(Rr_c3e zeFM@uaT}el*U(p}k3wI{#O~{Gkh_%wx<1p%2h>4EY25>el_MgW1Q5FRl1*C~&Sa0r z56S2%!+)ty7k^K>s0K6^0V$4+EjeQq@})G!Om?CGVT6Bw&$miaJig{Ns_7uS(>cg- z{;l6MPY1Wr=jW*~zKna@k{esZggpLHARla!XM5G@XY*>HbbJ5Fi-xoL=Dq&6A<>bE zd8;uzo$*!yEkuC|-rw(e&g-v4`2|b+0PObx7qVS7pttTU6o!Kzv3s*TDc1=H!!B&1 zWy`t#lyHe!W5l=2Uj*vF+|h#4_pXt`ELggiYB#B(qgp%v?%E)2mhz@{#kQ^ZY#sg^ zzQR=v(O@iTs#ly;AoZW{uoSmc2rEgFIK=zthc%$TH*>>rJfnKKDzC<&S7|bDj2ccC z;-l_JvJ(|;_!ock-n#6Zq#Kpfwg2uHiFtCY@WOgyQvbaxM(wH5QWVKL^tp9K-~}br zP$BU~FdLxy~1)*Uc`+* z>f`2_Yh5y0u^up-kmK?n-Kt*R zg>iCTv7{ZfuQZ6)I+?WfeKsnu9O6JqAM3N%XqQr(oQBHm-B#=}K)ePD0;t+SvWrz7e~ucX_;mgE=t7=v9}}@3pNK^DOBsF^houDV#=04(0d9Y zq0z23iL>{V6?Q7r^Akuz3BGUQ2o51zLke%b#(svj+YdW##^Scz0^hgEK~p|z)U@w( z3C0No|0EoFBAD%E;3yga&W4TL7@w^n0EG;*zv7lW7?~t4gwk>o_+tLit~-QLRxmS6 zYe`|HlZB{hlBTik6Y?g5|@dhjllk zA4s`9pO&Xey(5wy8=Hr8vc2UA5ifrjmkANQV2oDm>Oe1wp&k78+wT=wF{s>=q4_CF z$U3+u0WbuzRioc)V5%TP&Jd6<7*mrXAh27V0@|fmGMW4Nd|Eun0Sl>L`U*DDRMAjR z5K$>_)MJ!miv5g8Mmc@9A>@PwX`P!-QeaPi?S0V~y0pp_$!PBlOsoA%{CJmvm#zSo z!^1EIgo?#K%whOb`tgz|_tU`d^dTbvk9hd|R=6|gf5q_&^$gS98L%;_q1<0R$pf@@50J@up0 zqa&Yqj?yNCN75Ch=be_^W{blQ^^1l|^TjZ-m@Vb@)6zq-_)ix%dYC7IV#O9`Y^%o2 zmJ_~c1QzvpvNQ8;S<5`fjQMU_Ic#6EL)O;aj@LfP?(&CMuWc_|DC8DupJ~NBSmWDh zxshe!WLGov_l$Q+l(FK9-q5+oCO^~XYTkMa{3KH=BeZ(ePNRk4)Km@kHMe= z>F`I!t}IBd=f*Wyo)0A2)wK#gKdD#tDF4jzdxU$&1)4A+={b#K%KM4;&C|wXy3D!n z%1{WF4z#4w&zWJVni-QpT##b-jG;05tX~_@N-LLzS%XUODB}s)5ofrtG`XDw)uw8zok#h^{OXG+~q0Xxy>D~ z`)BJCH*WeD8tJ3)LqpVXR+yedhltSB6hSYeY_wN&O_v)t2glF9HkjkcLjaRJaBiHw zR&3m8bDG4dVmh|}4^DA_4%3$TLjEo*bhW*Act|ypT>F6fH(o|0Yh`TEx zp~UKlUV8kjc*--}z=rE9#W)x;;JB#*R4PTpFO4`)HMkDb+5N+!`Yo6Pd}>MEmq z-%{)&)gMszK^#`@MI{FSx0w5GZR^OTvgR*AWn_G3WP{fo1SSs^1-f^`ROoq)& z6Vvo-i_aw%M#Heej@(WEVuUAjHyIE^T1FI5%14E0Cl)93;QID-xa1|u7V8=9lmquj z-wK6)wTMdkx0PfFl5;S`s5G3Uq6}pYETg>gBbY)pCNEw`Oc5ABEsr8XwIaJ|?O*N9 z>O*tv?ub;;ls(Z+2d*Fqxj?XcEB6pnLODjL1pj)<&`WU)@cK!1LVS|6_kyXuLKyd)zOwW(_{s?#C0_A+l04{& zhYn*6*C_VAyttC1_V1tT6A$T4jQxteKA9xQKiU-!&sw^|x0J6{@!(P#f2mPnb-TE{;(B-&IY*;|OYLA79P2jP4=WwytlekRP9qyB8|f zn4oU#=Q26^iq!@^ z=`JU}zEtv9bCRs|P5*MIZL6Y~FUrZa6=PrbHTxT>HQHEP4Q7fmrzkn(IzLmSJv*kp z>vcl-O=fYg5Yyb+17vP~`<<)b`fA6CgU2Bt1xxl1__eCR@#oCj!=yKtQZpFbu=RFB zR>^QHzNeRW`7D@F5Q@DejXp^Tt??PujMr>&Q8%c7D+9_PnekIUiX_cvSJ>Z6Q?zjBQ^m4BG-nGk&g z%)@bSnv8{q&N5?uhWGXc{yHvZ*Df8Gz*#xL$FKN>L5=+m+7nn;D~>!T2k23)g@ zba!P${$450>mtYaLcYemcKP}J3wOsEZrz?gnXG+t(s_5feQ)o)=-h$5H5%u_!U%t! z^u6cicxSXSV}=s|%(?9ETX&UjI;JTDmS(qKhX0+~)ug2PjzYB&&(4t(81Bywic2`PFytpt;GebW1SoJ0OPjO?%kbi#smr=QON68-?QIK%gCSaz`E?#TRD6vV-FZ*Wo*&0w8nahd^Hmp}Fv;AU(=-lPf?Y}J zvROZWH7ZUdjU$9bgbJUiyVNrKw4Hg3=xkvCPK!T=MZgM(f?^ zRE-wJ)ItiCwBlm8WC9j((pe}YaU!{OwMeqjO}{Y@mIqU1e&gW<<=Wr`Rbxi;CGkjZ zR=jUTwbgKJ$$jN$T`|R8qJO&Nd3d^*k4jkh^rOAu3D^Aa@)y?;BB!0m?{1IO51tO^ zj5I0bPEacUt?g;WT4^0std?RidU;GVy)Vw%eqhl8p<;E%G(-h!M5y-Me0rAIfS3Bv z)!|WI9^P||l9UzL8aG9@vd-7%`wtC^%OK<^>)0LjtA6Rayv+M~aggjhb@z-Q5KrK~ zFjS*o;VLzkIfA%{(dXW~-^r7`g_GvvdH?{!p;eX&d!R0}4!NZKjduX@!1!tvm|MtZ z4X*vIR#%V&C=7Y}Lj>JL;d;9Tz&Inu{}UM1Ky#ESJY!=mlT_uEu8Bh~$F|ytt0NYO z=8tAZ$hFfKnxD$>FupiXMWhgcDM#ro9m3LGq&Esc($PF8VXVY_or~X&py+sfbq^T zDR5>vb}(ZT?tz%Dp3uE>?I~Wo+nw73l3~vowM_66k!7joPhi!u)`d}WS4-~ybW0D- z)4iefRE^Q7gVdl&l$|{@N^C7|HC}$xq%iwP;T(xQnnF+dAb%d!X!>1@KdMf0Z0+?y zEQ2%>OKhfT{0pZeubY=-O%Y6Z5`*O9{39jq)~bCia30OV8e?JIXi%WMU|GON^t5;p zAg*AQV1Ly0@%&WnSI6Cx18dJfJJxTosvdcj;~6n&u)@Et4Nh3hqL_mgFQJm1wNh8z8S7hfuzH=v(xfJ96lfBa#THC^Dn;NXx$)u3t&p-`KCo=s&^-<%arEP$= z=%fBdi8d^_v~3J6YN~*k;Pn*y70i6Cu*|)a z`7}>!QTc&oG=W$y0Du-J~mKI0IMDeFM5sa0KUerE{6wmVQYz+391i;fR3r@dt{9>dtNI5B!*4?DtJ1VEVxd_a_fGu zuHny@jV}>gCo$@zF^Z>Vtv`$h%;z@yr1Pg%uorW!4+ErPRl>^6(%o58buuzKk=o}+ z+ViEI!xWiCC(}>PBV!K{W9u6Shn=GVeSNe_m6J!=!dVK|>k3_Z7w807gSmdR*u?xI z#Yb=2`dY8tA`@?!jA+97ajR<<3r?c%BbGE_K-gBMvKG*%+4@S5lRRm9_`XNpP{pxBfH)5AK zznJ8-Q)lKFfb?L{RF;^cT2|3~5wE!g_|YPMxfX69ddaM_Y(_O>u)kn!Efy}&L!zE} z|8>-j>(kLHAeA?mMUIx=)AZwrc$EmVmCXj735P!&)S*hMpv!Z`-%#1DjykVZaE{~S zKb!Iq!&kpd?tjhfI1%zm-DSt2=uJQr&SyPDaV%MJ;Go6x(bd$xCp%d*EQ_|Qd$iik z;0aC;Kw!McTRyX$Q9hmo9hHGKI#ylS6P9CA!~h<<9IF_~Tw$L*=s2!^n2ys+dr9Wd zry(NK@9xyRZ^)KD{NpW}cI(kd^)$+Wee=clQkfp-oa8|}>@Uin8%EekyC~3xjVA-O z9L8E>wKA{lqlRvSJ1y@v`I_dcHLWMBW3xw9W%Kh|C2J1sEMPZhvv0vO^O2s<%L zk@xS1)5I%#ufs88j@~M*=PF6ZB5e!@d#Rfn)DO!&%qq4-Z_E>4j9~y! z8U<2Z`XJtOmP4JHBRr;E47s9a8zQC#N>fmJf>Gv~)iiRVZJr=n;^Z zXb2XfYH6d$xXe#^e?>|upT_q1CR3e(6by!lYa@MO%GG84QnUb!`uSUXN+ z9S9F%mw9&q#*k5&@W-vnf;FiyJUX9)NggH^f!R)S>m&&2&N;2GXl^LKX0{r8n9IKA zWl-y?()DQT6L5#nsqEA>kY@o|hAUa?IwiT~@*!(-!m1v3OobYh{JzY_44gV1&a`~K z|0Pz*srU(=)luT;&@Doj`md0unbqVkitEZhy=f?IcNS)Eu=whOwWZL1*-Vwsz>sS! z2o^@;oig&k?Z*$VkyV5yIZeu)V{FnT!s(c*;UY;a4(AB$!|Kbs)Pub-y_!r{f47v) z#y`3+xcmh06+63_JIg8g%m8XWs*sEc^hYJm%t-vwFhj7sN2KQ-h=wLSY4P6qULuo%H1_E7fIT9>zR6ROg+W~)g^ zVdMbsiY0EbuFTxB4hve~<{nxK)s%wOCXqD0SHLM&fiBVz8>ZiWx0!AX?rUZZz4PF(f^Vb#)RO48GL+`Yl<&T_>=Gx}5-$u`4 z!Y?C$P=v;{%N>xdZ7`>^I!Avo7FNoxGd0M^ z(-72%%Y2MY@LGN84NmN_SdF#Z6RwL-SkG^2KUst{TauKHw zp%^!y=xfe3;=f$ZHP)YJSOT8>8^|*hfcw*1x|KM0-b>Y82_7MbC9US0E61!BvwHFJ zk=-ljS<51k+N!-rXOX=?ij8Vszl`$G`CJzEt#ugYl9%*uts7R2`IO$@ju;K{kqGmud;;X5lpC{DRIXLIY& z6OPo=06#iYLuSeJ-LORNs(|B5$yPZ;p@VoR`g#o!F^>oMk8th2gZImtQHA;(hwi3Q z>)TW1@~*q^)sdhLEoj8)KjHb63Gw7HZIH`-_=CRANdr*U^ApS3Xb&@n?>Tqc+aU|0 z#tLlqTyF-CHb}*|rb&ihNavi_8W=LVY`9~kU#WaU8btpBkbeHzy%DBn)(C&YPb8zd zn58XU%4zu2cduSso>Nit&&T@)Qi2VYl`yMmfxg+4}R+W4R(j=$n^JMwl! z0hY-SMlKM$MOOSdpBhV$i_MjMr7E8(o^%z+>4)JY#h73Q+nxD%E^yj%yOdeZQtF2} z)JF=Jz{SKHZ{F?nNvh}0Ml0=eFy#%P;-mQ7OEg~4!G4WcWL}ZS@QaRp8VG zTa@XYS$@w*4aH2YTjbDm4ow2BcwCAQH=`cgiUug1LOj~bcV?PSy{2D7SIkllJy(`h ztUX&LUBy7dfRQcP4bwKujL8s~BM7Ldo|^g+EPR}y%{!N2CcYFN^?kBJ=4|1dPKsqr z!v*CZO)jL{E{y^w5@x2izS)xaf+(c70X*ACknVQ;N4-cj$skwT`pUOVauSGfLjXt! zvHoxyTsiwln5QCbNmn^utdN0{4<&e%TCq<3(8UF2aXFM3VNpfhh)ok_0Oq_{M72iZ z!8dADODZ@01;lYy`Zr3{I`VBb14XOiBH;AzT4)|7N)JRrv4g26fihXoE6rswgsvPEd10Z5eKlG06Fyeiq)ua2Bs0saNj%@qT-uI$;zsr===G_!I=@0ztXv@k9(zB2m-^)yO=!lg}?`QD{CO$0keRcpIwK zX9+~!(zobHC~N-~HnOiHIDDy8asy?+0myw&E8uwIUaz1(V_kQS5k!7=1^hP(Az3$< zF>k#9ayZ7~XdhI`y{pv4m^x+K#Gv9eI{3G~kD;MB1c+jWfb;WEcZ88mbx8r)ep-UA9E3<5 z4Tp-EKsYHdFvT_<9czc`*&l88slf6VvV%D#sO%JA?mfkNon4yVT&UpTu7SyX6@ah~ zF;UIY0Os1z!ga?@L5phEC__vX#H=ApVXqFQdMH3Te`Ko{R@VMPyM66Sk3;L3nh9Icw^AyrJQ@(@VG*3 zXp>~+2D;<_n$fnt9E}ADZo{7R90M1(Kf0`>ELA-YQ(m*Qxll4wK!HrrdH70Ei@Fd3RHSx5OY4WDy^BFc`)G zDS7n4s^%X`*h5;qI;PXh_(+M``|(bjCw96bS( ziw4j7L>>13e5em(FaVHBMhbe(q0^+gzRWalAnSTM%bN#zV4XVMg_PTgjw$ev zx4+Z%SHzR&dHIL`jO?T>n91J5!m`a8aMF(e$>|!y2BU>D@02BGvbuD=8ZpGqXp%7P zuzvDl)-}Ae89a5E1TzGwQPoe;dWuuyntU5UM*K#!tSm8(De@i&fz#DZu8>{{ch=^K ztB3$lfJkBE3$QqB2I)*$Z%ukYK9Ii1WNH-Caj9*)fdPf7?G0j(JVm7NIJ#{N#a}el z43dI{fNXzq!ht^FKFQr373 z#y$2q;_zcZHu;c$Z=vmm(!=zh1OYcQTW@CxjA&Kl#1OP)YlmnkI9rmd#gl|Bu$P{gMB#19OU8ci$~OSMW=Jf5?G9RD;NyZ(9!Xfvp^IWOz-2 zR2LZXc^tV(Ng2UzR>LmaMbjzB&Nowc9LtkW^8{-$@uqC`O%X{J9t%_`vLD6LjhfT9 zYrk4%$dK1cPJcV)U3`;;*dX=S;)d3m%(L^{Iby{0N<<1glpF}o6i2ZTz0^vj>lt#RPiSXv! zryV<&V~2DBKoeP1aG;7%M?8#49;2VuHPn%j*{xu`rTGgq~uRO_Gy9#`s*LDVY< z2sz4q8UXo>(QGz`teSNyb*dZ9E>Iq6gh#&Pw+1QpV31ve zSjNQ380yE}0LK&(m2WEnNC)OR{hyWa6zPRjInNZ%nxj*%cd$cFX z1TJ>LcZ!FI)0fAOs`$cx=6O7#cXYE?)O8%tY`yRHqkoe+j~P-n4oCS#=P{=_P(ED7 z&0NsAa~!$1acMxuAnt- zE6tj>7g|qw*~Hf(CkRY5Sj^vyiyc)`QdP_kZE`uF$Ug$a;1t-kM{dG|P%8F6p`Uce z-IQVI?m&~SFP~;W(9UsAt&bYq{$pb60nm{GfPGJ!-i>&!W|6gdaIeS+y`S&*qQeixXMc0;zI>roDwZ4~H_s^u!O+0Z zQfgm~)xY}P{F+!bsE=EUY2@)ERT?A^4rsuXSCerNNM_1PI0Q&Bt$C~jI)Nc9m8Y!3 zM?tYMX0~#+HtWT^*(v!>O=N)9*_O6;K+5Uo50Rc!G-#3utD0BdH93T#bj*#`m2XH# zx=MCI$f?ujs3+1zCrP3?dIC2aIl(7;vetv`P7T+$%pNa#(QT})#45@Vs++AqO+254(IaL>sG)7;xc$&OX%-R|7&M;4J`Q3|&O8KEQ zqic<2O+G~^n(6@C*1j}-x`X5Zwsm<^bpak4Fum3CC7}r%zZlK**vyV|w?(B`+aIeW zYP@9~V=CCE=1Kg%vZR|u$bO*>AdJ&?!!$#nJt3p&vj}b6NN>5ujVn)*&J3DKiT{1( z8J@H@)(|~8gl1|JhtFA*LESdW1Y3^VJ&MePW{J4XwXKHf@BK$4!rQj1x3?4nbLb)X zDxuW=uAyw&Xs!VK>u8FZ1K`9Y*u6;;hw+bV+m|uw!%qK5F=qN?mDA7JK*W;@nOW>M za?kOesW?V{LANw{BQEqPzGLR*CSq9uMMCYxCW#AtM@3kkuPv2KV=1|P&_syo+kT0p zpb_dU!0~4S@b5%c4YpIuy88tzBPOtij!TC?mz1SX>kLr-xN@0Fkb?0lzIw*?RG48f zaI&47<9jK$A=MG@`ah<^a>g}2b5#;S3akIVaMluAA%kun8X3Ok3*tFxj70m+wrdg5 z0@aG*P%dJ~yl>=v4O4mUhu2#$=1~%F^TQxOqANAAUDcbgiDQ3;*0`d*ln!|C^fRZBMrOJycfJGyV7 zqzaZRV$`-?e^GgTSabD$Mb21UR~e^;BamK)_8Vb>vu(nA07dV3IqFrziF?GSEJ&lh z${%e5iu2SWwaht@P4-u6TUw89x4~^zUb9_9zdU+?_Ei*+T<;+^_om2)z`VZN{FM1}aMc|> z36DXWDKTK9o-rdwZR@|5p%XQ-Niwo(B8e2rCf`bo3LzvUC#p`UzOJ&IXc5L`$Z)Hm9Ogq8{^Hcl9x+cp&d zfcwN$`%_=Eq+lX(4t&8ivFKh({MU=Cn|p3JZG!;S?4OBM7cM~~$RFVW8&d3epV6yt$+xbI{ zj>l5V8SLFMr(t1~46#*&?HmO z6t(x8HG_1n&#&%(Uvcz!x)Sm9EcPQ+@B%IFV;UYEdNz`}u94bLLIO`KA}4VaQ?-o2 z)MyI1yg}27(D*r)-YIR3BIi@p{KQmJY2!9=wY>Uyr(YfM^SlohE!SwmaHR2X!JgtM z?q;i6@mk9yx@ObrvkQTgBEltb=%(6J$=S)Pn8*+i`~gPX!}j!r;rr#Mmg8yy8ehxl zx3YMH*Xylq#{;&sUgsnWrgg;*p^X4Qpmf~Zy+~>rOon22+spyDcW8~~shad$ESF+W ztVUF+#irSqGQ=Q{Fn_08|LxY3nunI! z8zua^06xZtffI??>HDVb0c-ttzIT2Wy^jAW(=199dv@nl1J?ef6h`>>lR*O=sLho# z<}hfaM*GEx`tNwJ*dO^)(g~k|dBD88Qia5+u>bZ;V(~|sS1s5fzQX03x+JQ$7b#1Q zv>o*`^=w=2CZCy0B9%^WS%w?rdLIz}h?)WOmYDzm0Li6q!i7t=h5l_e0GD}ObdCN6 zlt8Y2(nclwi?Oq&6v5q+oLK3?mk%_kfv$+ZoT^hAD-wzJjDrXZRW2rkug`v@{-Yxk zb~JpOpo&S2V_}4EP`3qpore}O&9#3l{N{Z?>o6*Gwlp28DIbP26NcBJ^!PlcMX2(aZFG>ioIDo zuXg7VT*5@w*Z6NY`|JV{=NxVQh&Vn&B7Zgx57;5Q?fg1!v#{Hq1p_r+Z8yQ_$ALtY zcp9=2)ILbb$G{2hx_~`{bQliINyrCKloevKMw7{DlqJ0c+h0Z@_IO+T#dii3A5bwT z^zNh7G-1fk@0Yf><9f8?*xC5(b>^MlU_r!-vz0iu5_m$IND~f{YR@D9p*FY%fT*lH z@O=PflM@7qGbl3wsc5!S_sf7mr;3_i(l*3v7jc4}j#VNONyf z9rDwOnw=sHK>i?SAYT3p2L}Cus^N{86wMgPEiv9IumkxzmeviSv06V#_^w>V31K>} zHikO=B%!;Le0BB(ze&mjM{9?t!oifN4)38oLo1?BU04o3_S#~KNr?UdIX_-?`e`(^tx_M2Ed zX$m_9g&K~Y__`7U&Lfk(LoS@(b*q)P2lX3DX?`|0wWQ5gfTO1UVb-JE&#|nIpQ07v z$`nIZzZMM(z?5XC-N(K3GO{YJh4;hIUX`=nNj`#HryC!Mgzj@A?+LW7=E!OMwtJ#s z|0JL+wPU4$f&XKpO@xG;b7RcU1EuDeMq>3ORFCAfGuHH;pL61hFQ;qYe(L-AS8ZE4 zuHq{9{oN$f1ioKM4oJ(xSxsM*@`!=kM;(t_qiRa!a*(k!=rFDOhk~-GSGyyJv64AHTM> zQzhza_$We*COUbm&c+q*^&=yYHcsc`yi^wDR+ANrBtloVi<4Bzg>NT*vTuSGgq*0? zppaZh$yv;0Y(E3L$x$4dTw=lJ`c7qg_I4a}M5eduVz1*7#w?vgdK9T%0At!KHa-Pj zxi}KP?Re_d`2-pFV6rwu`h;>FgGBeCNmnNj$>0VaG1-Ap3pmbf_YErU2ueY8;#m=d z1f_TFfJhNEP}&4QZ@mp9xNs2PK`~a*bg*wEYt{pEbV^S89xH*Rv^P3!>9=j@^T5jJ7<=>{Lmt@$0m8 zCbdq#qxH!r&`IK1s%f?&d!OjQN}~c}GRdbye*d{bFnmIAi)#oe6P~e9X2>WkhxekH3eT_K#{6o9p@op;$J;_tbUwf`aC~H+CbmrMdgEaj2fI3gxJyeoX+8o z{C1iueEVVkK*Dw)>22IJG7{(auon2RHoi*1gaepY+fl(w>HY6h;G@k=OZvQAa*;U5 z@L!W9YgYrRB)?$s;uK;nfi(+{o4K4DoZX!c^=|(m&-ecC2{;WX zFHViDvoDS59Sv`IlaY=gjRSMvMIy^gXqqQMmA-SNR@zr2-EC%9Wx#rDjY2i!>GhDg z4!&3+c&u`&lzY7=7dp#RiD0cg)&kmKQadnN(_0^OiajRCl>_8TqBD82(_~Kj#HBu! zvI|UeSGazjbtG<#moBd@r63DZ)~c-q>}lzLy*dn}^0$g=FZs}1@T_@k|F){H9`6

    pv7O@CZZigG?q}plUubn?)W_hltunBD2Kysa9 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

      {o2LILzU2Y@pzDyAIm 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�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 z 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¨+0=3%kAV@pg~ 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ƍp!(=x?KQ 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�UrbPBUB}_kv<6_ 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%0DjC#~n9(#drsgxSkR9hT`u6pX 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 &iVXZr{baOfpwx6Vz|5F8x0Do8dk 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%0AIqh;{-Ia#M`bPGhHJzKdiUA^Y7W&Ev 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

      +-ZlQ%kp>%upL(BZsLadnzF`SH-I;Q>e%aS-vl? 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

      )(SZeF4WOtumz{PF5aTo^Zl#m+wKyYBA#u? ze>=%cd8O|GnOxRpAVb`}JE=4_Pt@UIsv{>>eGdm^#W#R#3&1wGr$*tO8Un?3y!E7~ z-(V!!6q2bMK>szH{VP%G5$CA=h}7?g{E0Cs0v-K2kb&ys{;I$mi1Ap%!vRy10d0q| zCWUgE?C0|2Tm!C@VI>#h3igq<{7wKc>XT9wkbqDPfG$y@8V)fZ)(Kq5=!hv6R*SDA%m9s=N|SRP zRYK(*U!VXEBzpFO1OS%F9JiVsXQ2lGorlh3Iqt*pcW;o15POOUrtbrsDhCY_>kX+o zbi_Zsrk)@l+p#2JS9roP7lDl+d=dTfZ678;mmOo0?5j5nT3}Jdbs4TCnkTF zSKcm3PJTr#AyaE&-XmSp{e9+#6t_lv-G2_i|5}FsI=njlJ$}h0;QM!3BfsXmJYnCQ zdLB*hX5LBc4u&`@;m%C8Swt;a6{ z^`sY<@7rhJN$>SFww=>Y7#u!Xs{Sdm~aDDKxbjR8RM2pfLVQWgZ5=oSmLSzBZ#ag zo^gsH-R*+BN4p|Y{TX6X46xz^WNzR3!uslXV^{z?80GRQlZ=*f>-)7%)q2P%#r*fr zG?tLfNmz4;WH0;W;H#(>1n{~Sf-k9_SFW(|$m4}x1yEg!?oPEONiSE9VC2P_S7 zApTfG3IUo^!?`^mNjv<#fr<%9S6GEmIf}d zYe#mYaTNN}Y44`=JM{0MYzOJD-51qw$8WO|V*$XI`0ISf6I7@Ec&5Oetv|BC>kC<2 z?p1Ot8Cp~>zzp5;T}tWHJ1WM*&6h}m}nF@@G{ zz$LNJ#F?zVBv??Dublf#fWJz1drq=Bw@It0zU_a8&VsGUE&#*t#x};N(J73s(IKUd zQKP#NMt5U?=(hnwTDp;jkn?5rdC^aL#p|xX$}N&wbBM57g#F zOAgXqiS#aDuu;7!IdiAQ`xZftG{z#`?Zk>mauNUZ>$l zLNvdnT7`Z!)I1sq?lJCoMaQWtPZ6aG%yDWjnPB(Pq_V80_Kib#pm}&mJTu~CKM;5vR-{>Uv)EGD%fm8l$+dpQlfV5%l2c4hp{3~kbbJ~gwKE5(zr2T zR4|z?jcj!$ISa3PfH8DqwO7eR)ll1FL8AGDMFFi6dprPr7&ER6R9GUk1{_;u(i40b));neJ!NbFuAPc|k;A%| zXCd60+Ax3Ny73MjAuKtyp{KayUL4W6vcdb6xElXTaccWixN~YJ z$H?A%Be{N3gV?7byK%tBwvGB>epAT;_co4fVfuc3-pXu?mQCn6H?V_rGwdCH!N~19 zCc=)ervNB_>1h!d@A1x#i-@LVJ)=R>d4Qx`b9;k)ZNco9mt)&SfjQd2ZQZpX$$}7q zjZ3ea6HVujlMy7EtgFzsV^hO@k0fvu(hqPr%MJBt-f~^BZi{ajWv8b5=0*o+)}YLP zZeRzEra2eXX15WRSAPfjSlU77qSTzh-^s?)7t^^~+PbLz`&JZ1tUG@Gm?Y19aQ z<$es~zh@>NQwleWcchf7EmVk~*=dszt8WSjoG8DVFhgzM9b0Y4d00*^C)? zlqzfgasSirm?I9UYx3hKrh75Z8E95vREy6A&|Q5&PLF*ZR~FaUL+OX_?Hf(}2DB^3 zk81?uf4^FV4OR^grMRZX8Rr?Voj+M7w6GVWDy#>rbH^~oZXIp~K{)N=*Zr+3;kzrL z`|)B)4yhh@*X$$8S$G!N3^hb(v#U6Bkw@YUUT`<~Sj^8-QeTsRoY02}UlnBW5;}_h z6o;@ZFEhb>14$LQoVbHoibktNG?w1PF?^ExkTELr=vU_TUAPLp4bEOfeFpRh%HI8# zC<;?rbqsc^>Z$gOkFr?kF~t?g{H52>LGVJM`5l?tL2+rBD<1KOOm~ziF1Ek(UnE8* zO^hW(RJ+wkdf0Pkz|p2{ZEm}wu#)&O26KYrWZAu*x+M|B?RNrP`?jJI-;ED7_qj$Z zQ-4mZU#}KCH25Id3uksaS2bgkm??vVhJyg(y-^_+$pJi}5n66J(70`b_piJ)uFH7R$(*q&W*w9d$;y{*9Z-rR9z< zjrhQs9xvr*qflAK2L$R{8*cDh$+s@88pI1gEG(2X*vb&)xq;Mgq|= zUlJWD>-?z%Z&df8+7h@iUN0SyEOv?8Cw~-PIijvdUbi2*DO_wFWhg3fu$`V*7F#>f z@D$PM+-2ox{NYHaz3kr~F~GZ&rfHHhJN(Ggj{cO-SsNdFc-Ob)O`_h_9f^-GM4@G6 zex3y~)f_hS5CJ!?L_PQl1ZZ)WUQuw03z;Fbnj~cH8P0h~_E_vO%T&b=8uxA9sF^aX zue>eLT#!>yI48WWbUL0QXRWGU&@LB=j$aH8Dl)9vWABM*NGq3t>AdYv@8;4@xQR)4 z=;l&qv2mWsnw`JI_hn?Sce;d2S(i;xEXu-prl+6BZgncuE-VYIBa{8FJ-_;1#D>PU!EHICQ%wq&XDm?&@)p*Rj*Ld_DtxaXu&5Tj=|;b>KS^e8y)`E zdEV}bl(}Y)!Y=}hH^@WpOCl5Rd^gzC?0q$H=~YSckT-+yt&yt4(I&)K$&ev$Zmu^v zC9Fn)`c)u{0zN0tb}IXRNk5ui8=f~~QWdGF7F1DFyNb2z)0NA{{*Pgq#)~gn#Z|>t z5W|vxnpK8Hi=-DcEnS4AYO`yP+1Z<_H^l!w{`005l<&an$?ii)$(9SO=pGT3bdB2T z>M@~l;v93Ue=-+@?ryK|@^#@ey8iQEvr()?uGWgylk(w53&%|hT^OzVwYL^&h9}4e z=PlR2VvDyMS7qL*W_e|Z$FU)2T&aYC$%1P6GexG$(Pep3f4$1YS+Z_<@^sj-%w|je z5`M8PMnzkXzg#}kzQF%aZ2Fh4CxL#I-RZPaIZ0u5RrCo-gwsZAOr8KZL5(<@XR>&` zrVE$1uMLmUy{2#&WsqM5urs$q18@>fzU)a^P3(8%ZQ}%97uL^s6r>5L@pW|P8xgHj zp1mo);u(5nA?4Y;$FtK(Uqn}@CtUqm(Ot!$mERhM8 zQp%Q`(ASAN(^zHuWlq!T=6Hi=>p11v)_m)LCo`v#1&y3|r{Thsp$!Dr7bI7vUyEmQ zj;MbjPrT%ElxQ^%)<3q^Z?IhkLF1K}phqAD`w?ojhIJ8|thTj?7L-c6RIFi?t)?Tc+Lx!RkwTo!(^;=19l?hwsWB5T zU$%)4FkxF1uI>=Zc(H&qA- z*EN@@lM&NzL>^sA(XkZo(ytye%puKllNQ6DJmQ94jp|=3N`LcRo`0_3v{lQ#gmss> z_Y3l&(XS_or@Cgp`qu@p)vshy<(>}>(;7m z2~E>v|Et|27e!}-p_MQoKITkjJ0-Y85f~Fwh`a@6yim&?dZ$+Cq7ZaehqOb+CF`W; zWYLXD4I3I8ObNfvLXRakycz@bqHb0iZ)^c+3 z&Ty=KOQ~X_=Tp}2n1=FKTBb8O)g2A%g%3{QddatYGt8l)o=~dO-dt4xhAcWdGb}D( zbMD8Ao+dq>9hpz$;0Og7CFaWxiFFD+JyXzDa!x)gN(Psvf<@{(&C$Qs^RAgQbxpIw z)+?Vb#qVcpQiP=YkqI-7C8`EVjPRL?Q{Ws|og-JO!ZmEf3AG)^yycNh6M!y`jlROw zo1j=`$vRULGe$@lQ{t6(e~bm1p#s+}jN);`m~4k|<;4I?v9v4m2fUUgmTvYfZdtm5 zm6Pw6ERW!ZWJ#{wHB%oRcyqX6U5WNuW8!ZN?wsT?;7bOm9XjePM(m#O6}R#gs4Al4 zk+eXv_NcItbKf6c63=St9YKwl1{mP=w8?(3iOkU5Mxzs9ez`O0v4b4-6Vh{3g?SZv zM6>>R2J;M#h5=>4azPM50<;u@^<97=v@Y*U$ucL@D3smE+Q4YyjlMO>vpm1`6Wyen zg{AN46zjqzFAGmEo$J>Zgx=WP9(#jSr}rzhWxYdT)1ZH2Pakv%Cj9Ez-l>+y(WUKJ z*7x-}Yrk^jo(ZNR2dYcp2TkyNE2yoUp1u84V3S_nsftE!E~p0^u#qb+{))|Bv+p4J zPb7$RjMY;g{97q?_*6E~souR)bB~;K{?CAk?TNiXmv+EK^{=XW1l4x6sr6M44^76z zV=_l>oY1 zT}cRBacbK9b7OI=rO|@{etm7};vl;CKjuA@iMHc89yd1YyKj0p?Ym>-NHOo@Cv3V) z-aFr2z;x-<{E%CI|K2&5gHe0v+=8t7@CK1)dn9U!Bi?JKg0vh1k#>2X@A7)N><sqw?vx46`MOky+`l2AJ^gtXPqN&O1XXitC+E)=z zC(3c4ekfYjP)v5*=0=Gk$abY?uV_ewj`@)3pB7J)aTD$@)r5%fgDdfH;kLLcGK)IR zSUfHBb&x0$%_aa0xD(3`*zB%+>N%}^cei!H2DhBc5mk6SsEJ=F!0h3ep^J^qmZ=I?g4JeP3Jd5d9vz*6ncK^8P1gaQ zx~~ykQr8A3>-DPQ#r7NjlICAT(!6MT>C{6U-=&*P#=Ov$u)#R=s6s?lK~(kxIOk_Q z&d(RPFVWWA%iKh!+cwsB3Gv25t8Y;BXK05Hov&6MUKM!RU>2RaKaG~Ze|y7`(F#XB zZ{vnHQX%0oIUURHE}J;Hi*D-ouJTZ}Z9|n4$%1y3k?lqXh0fJ7Y=`}3Gm{F^@Q#|o zU-s{kF|?frGDoQ}TQWi0UA9$7Nd1yx&7tT+Uqax-1aYF)gfiu@?;+dNh|%*MD7V)e zmhJEA+r{IHLs!pjR6&EiG#Ye3M-pB3fkyUPstG~UOAf&2PE7n^q(K2#xzBowK;8#J zn{O5>$UQvWUdjeT6RNo(=;bLk zo~!5@_&c1Lo6O##i`dz+2>06$J0HRr=9<>lej-0A(31%Wk0TSSWI5m>v~$@c*JQi> zC&~4?n_i8Z-ow*(b6q^l%&-tm`#6TzO@QZ-qIUP7$HZWYnNUT>y(HZA4QT1$iw*mZ zC!o?LH;Jeu;GNrqssj_nm^Km2Y7Z2o1NnSj3${T8BN{XSf1!z6MYo&IpQcYgyr%g+ zjEn}I+pI3FEVv1?@6)tGI2Ik&VRRqZ*XsC|X)*{eL3ERea;~o(WSNSSP=!GWrqV%) z!UL?vGo^YI1u-~7vGfGhm)_L)9D`m4H68& zJgiX_*m7I_7qk(KF)9F(vxB1@N(9OXuWLUS=kBMz3m>`E+%U2$+x+3=R1FOaIrMEf z4}YItZoFmW@V!aU^;^(4IhU=Z(H2Ax$Rtg~h5+^O#9~LkQMXN$j}GjI>3MJP{nu^G zel3A4s(prm+B zhXlk7TPRT!^Yu+a*g}FIq>7#SgweW-V6`(sgFL#Jz$cNLg8bo<502IsreK~op{~5X zuDsr|!4FM>WvxpB?Dm6=i5tzTzIG*J2jMc;FeBGj_Sg--)~vI=@1W6#LRE-eoE^RAMKc5OcHHPd!s>x0kEeaj??MatO)S6_?dK; zSDru>acAB;2*7{MOW3(wepuWy(dHh^S4I#K3&-1)tjoCgT@Ds2ix&4ek&O&bUZ?vz zq3S!O8k&Fh(R*}4m5?+SEvSCTvSLa9*ktQOx|2`?;sQr_BKIQ9tqzJ&AFkRqlVoJBtw znUPHnW?wCXzm`2Xtfll(KeZNurkw=Esd>-N6NOPbvk^wg3ZDf2FJMT;+W}i z2gU+xgK_1ISi?~HaZ(CQ1|4MCJyz6VGFdAbQH$0!r*+_uX{CJXw|m5k?a{dq|Gq?| z!M*xUy(#=O;UUOqug6Sa4s4g>G~!tHBXx{)jD3GBC1EH@=v*!xC}$#!@JK2}Y2YbI z!2Qnf)(r3t#D?W!O<(EHs;Q~dt}<<=>uOlYbDv5G`rRGqWfbsA@9*;Lx5YMni7VV^ zH}*b`2dV`z#6(4S%@#|>!P{aLW0%@4Z|whF)w2IUpCAkW7ZY{N#$4%h+x$~>3Xd2= zhW+95A2#%w34xgQ8G|OIpq2^xN#rVman*W}S|THqV0!rnB*&alY5JlXiVLlvZCEKs zBnl+-IJk;L4=*K^-pB(ZV4STOC@pe!)KP{3rRB^VFZfmz0cb;jN0CPcRR7tGvSkq^ zeqjKOz8(rVNqJx~CsVhU(<`ryLcrrm2blYp(rwR+Lo1|pi+#yo6P!ZYO7)5ZC|xJT zC68uyih~-ILg&RR>fP%?Oq8J|<*(TcFWqS5>?~E>Y8K?vTDcN!UbU5E*I%=1a>j@K z(#0X6B@^9XjtyxJALPHhdcRB;9tE*PR8ib5mC^#Scq;U3Pj^>D_-A}P@~Y7mz`hL2GOoQD&IR<;`W9vLMgf; z_9Zf=;<+1T7HI)a$N30P@U3MLL&+!ubjLAkh09}{htE3j7Krd<)N=gu)YBrK*zoX0P6}C zR%gbBd{{z=ghGUJEKD6f=RotHQ@p5JQN*{%02}#4*6gU|qJZ?3ccuLAVwb-?rG2z1 z9@C)dQ+~U9V*V9LWcYW z)Yr#J1la9M)&TubXIAX9ywmf5We&t0tG1QRELI$#!_2As0aH!Ks9YXGST}U-f#$V_ zq5#=SrZhx1ak$wBxQrVo2~!ZaKyfSxISeAzvzu`~1+7()VaFN|CSBizguC?v>>0gq zVNth78X(%(Q826ACpShXkflx);tk!DhY7FC!96kETJsrp80Phn?M;PhVE3}L$E0Xr zm^hYr==EmCbhed>|C`dTMKYK>D$<*;sCg!OD{KnO&CFCQts`i4XPJMR1DEFOdF9dW zlxQ%CjW!hz#Zwg%U1n+FSy@X0&_LXKG5?g9hYLlPi+a%m04JV2e zm<+@2`?QiDUW)V9$6Yt{rBmD1diI!azsoCzz2B|D7RuB}9J+f|%hG4puDrF`Q}Mdr zbZg+zHD=XBlELn*`QjKWWDyItH`0nVPP)Kqq*KLqP(U(?TJ|z5?6h(edjF_IR;5*H zEpxy!&RiNka1cQxy7@THtAiKGH_ivy4f#(DY3zl)PQpI^lSajZ5zABQk*3MGcgQ(KcY3vvHqLyM_0ETbe0%9&yI~T=-nC{QR3uK)_mZ&I&H9WV^{H=Ew5e zX!Xx%dcUgbi&wsiV~B4lVmtQIfW#O>bwvaAW5aaar{A1F(?w0oR&^D`&;)c9Es39- z*b0KF+ZMGn+?)_riL=Z8x^k|}6J~$F*9YJ&wbdf24vtCvvGn<2Y>Ob;-K~p2$xmuy zJqm5byTZvQ(=NzJ8rtL~^`o`ctLiHh9!@0A|BY&{G$@Zmeivv&Hs94KKNs)%)G|uEgniGnW#;9nk*tEgZEzM%NqC3p9 zS7@Yyt{6pZdxer4QbO|@>x%ddtyI|=A}NY>xpz4Vwoa^urWiHD%2%lwF7U~DUt%BJ9FsNJHI@?)FJRjvD74USq|2OZI}B5F zZKy&;i4%X+d9urk<$NopPg0An{Qgy9m-Fqe(@9*!KRnCte`_T)rCXO9vrDUxVr5zm zzB+H`9$NJK2v*dPm2Jn<3IqeSOvY z-CsnDxQs^eml-7aVfILqWsZ9`wFVlYgDS2kq6+FRd=bI(N-c&QD zw4od+q%|znX`V3SDQ}amY9;2Lydksk1ZYJQJ~5sT zx3Ou^UTckHh*_1&5hgCF)CpT}N&zqzf?3_ey|QQ|)b556hl+y)C{w^YJgHMB3#AlOv}* zAH+7Zh|@Wsn#~Ey2{RnN;t+QwY*iFj!WUL@j9IRQuxbml*Rj%{@}|{&&AclN@wsHx z0G}y@G7(#CABE07Tb#EiW8kNJRK75lA&4|8U0XJW>yPC60RTh`fSyEFNezEY zgJ2N9vNDZ1;>_*3yN2xK2|OwZ8b{Oayc0Y_iSEK9V9)cnX%u>@R?KDk%JYl5_SyR* z$i_z~9>OQMe&{45TFoiVM>t&iIAdpYX{Cs>T-4oVFbJ%Of2bUvB|VXaC47jz?x>}; zd?!P{_U=mDk_Fa=v(DPKp0b+O$6zw+iCnAnV{=<9W%j#E^Eyc=z$TH&ee@u0pxGwN ztRUwdF2h86of`A;qqTr*q$yoR7O5Qgl#xQ!I$+9`YW5`2=vT6(sOwCUSGO^jIVa2+ zhhfk)=r>P-4GUdzu|Zobctz3^aTNNE_xz5r40|6xfHtl%m#=bFud|7sa{*NBtL~Ln z>&ot6clQzyF>G2-)bWF;fO&3nFSMgFcEM zvEsS7GG!v})t#s-`+OxcW|4}sRQ_zrG$SXpy#PUzeq`e|ApysSGMo63SWl8$>CFMp zO9F7v6JJV?@rW5ni)yTZE142mC=_Qurx335WqMs>U>&BTCzMmFATe^~xvpL5tE*rl z?Kb6UKR^e7Pz;-^^3{Oo>b3nsu%IxYw}DmpK&5~u2yAS8O}KmAMLfv!N>DX*cqMgg zHJ{hYal!rR@@i~bx$jj@Ei}E?VP>86!rdlk)Lk1I9Tuu`psAl#-_O$SK#*~Kr490) z3Qtjhy*ER$nK_R(i=>3IUvf~eNk2L-e+KA=d`^j&wM{NboRhahLO=p2fJ2W)07HX@ zgAn3%tkIXU)J5!(de53D^t?KEPg8RGynahq3AJ9o+gEo?pwsUDQ$45(k`SGQWwX0 zDdke>wBNf1kZD!}oO;#w`Fu*NvIs(_7^wHjBEq9)i2;tWb#Ir9tV~5{ zSJu5ysZJM|s6QYL@7w}|b7JYFYXj?W!HyWx7`V5;gt7T?U8ric%dPh_}Xy65l24io1WJ5EN~ZYgV^NQ>xfwbIl5ZXPa#dafSlC5s~efy zWJpOF5mox+Zmc^Ej|9H^L19WFjC?5%VizBQ8V#B`l{O)>h^=_xooB*6(_bZr7Of}l zj=lPvVqzndW<1(c_Oljoy-A8HnfZ;$^Yjty}#k^&j{C zzrP|{*tKg6yP)4olE)4w zM*fLZ>Yg-xB_kCtfIRlQw@bK0-OBKXQUR`96O>y+Y+jRTc|jlUX(=Ngvs6(MJTu3^C(uNEQ5v0iwEt}aKN~Wnh%w%=IdK@Y5$QwymODt18)bkpdwzIt zEv%f~ze3?5|F@2Eg}{ClL4nH~R8*0xCVQ59Bhcg-G5c2PH8$$ySn6P5>JV}68@vtC z?TJMnJiGQ9YJFoU8xpr{kmK8YSSy-89}FXPAtb`&a_hWGW1IL#hTp!@bs-^V@kqv< zW)qIvMU7UouM`Bs^5dZ<6_zG!Zx-};l;1u`xLpQ961l`NxAgK2>VwpnVMTng)?Wz& z6#gqMlgpPFeo9a9ATean%$IqYgo#5}aLc6^UHlw@V1<3ggSP*`8|&=8F8Y!XSfrL@ z?dNpZLqAD^^6`jXxNuzXc62Qkui()<<3Z$YEZX!OMpkGGdFN)g`} z=O6f~&4O?gMx|JqH(ATDE{8Mbtei!^m|I=l zOZmSjUKQGp=4fJ&Lwl<1dVmYcxQY}C5*k;2OrG!sfN=fA*K!AB2{#DD)AIo|+c}8YL)E5mS-`EdLO|NG+k%0fyqT!lJTwa_2M*Oc;$<{6A;D z@{a~MM{?PH4|06L`RQ1~i7}XO>pGv5TZ|5UfKEmqw-`8kL--!r*>iu+ zT-0BnzN~7D==~ypd+%mvU0{BczlVXWx_=G8GTLg7>!k@i&8@g;wNI}3)}HuM)4apH zjjs$I$jr!7+WbV-zI5_81m2A zKM(zhaESvv0-10S! z?ps)gqNyu^GhgodctlKz_ma=aVoHg=B1C^e%F%yyU>4$(r?RAg|FU0eGJ%kCX<96l4k&I~3fFU360K?swzlsYr$|m! zUAfOE-5X0puzhIK3o2I*oT>15e6MQxJI{2t)wxorhd6>2#EE1K)ubRkk4tlQj%s1B z$pUn?FIP3=wLy%KK>eO8>I00@K9V}(g2NbQVOz5C=>akEhv3J2v+WE4oxe;HCuW~2 zp^$haHsJvdwS$SBPBE)3;%&zO_Ya(W1>q9$5&#MTZ>W11YdB7>OjXy4WsaA^W5_N5 zofId!zM=6^pCoNl$516xbLUxu#d*tcTF|-nWK-1U*wQe)kGcCad}+JZ_L#UoGMxK5Kb}>NEBwZ z#xjeZYQcmx9py6hydpC5#j76 z`Ehh3x_wOWokFKfzo+8)WSmcciIS3!6VzmJHvZH&>3z()3XSmS_nx!|9)fD3dB5=_ zF@)d~!MJLc<7bC_Y&jbHlywHI{;R>`ja;~iU-^jw$?R(8)gXtyvX@m$)74VrlY-3n zQxM3O);{bxj6s!9erk)07WwMmeo&Jq9y4Z3NkmlwD7sZYfGR!6o!BGgJ8&6U#m10G zzJgta8g+M#hqSm4G3j@O>pXTwy+51LzfqQB^ytZ`Nw~oULPbjcC4xnDT;g(Af_y+X zT}P*^nMd{n$)-wGC3#MB?#A02iUbK!OVt*T=1ghMC9TAYzr8jNJODD{i>px_2RB=eo>qO`tq|S z`n}ot;*>EMk=uy~&55f65{=cM6&YHlCt^t%corTUUVj z59UACb8#K|2?`AqS%LH}2gKqr=!ZQfgoxsIK)6CqZBIEse+-}R%*~}l1)x70rlgOM z*co6+*FB;*Tv9t*`cFwN#)fq6XEg=m#@?=^B!TNPgLKku1S2k3bHJ-x0y%eSvws>$|xG7DR2 z0mh6R9n=lE8EEUi_C)A$K|7=7SLj{3S4}WxDJJK5tVD{dPS1$Bo?tn(HyOl(Q->%b z-TotqL!jx%_^#$4F%wP-IM0jqlO_pi9#O9ETunv6nM-{@Cye)Vw0~&QS zhd6)?iz&SnT;iIlP4ABVF`<|){gg4%8C+5LKEmgMXI{JZ5~Pq!@v)9fpImtos}jy= zeeFw8#nI_AYEMXpTPB+!Jl3Md#uLIJ0J5tcxy*^$pf1YUK;p&|czLyIw8bGj3iX7} zzac?dPl)EhtFb(oG^EyIynZZ!V1`=N)#@5Ll@XWu!rdk9>#%b3&PGqoQC7T3I5BIR zBz%{tqad<^c`NUUF=zU|(emB01SrF3>#%;66xM8$<{CM4)Z4dIma-FTx9fM2n7WE1}^OEH6HsO47)q!js?XJ%~j!UX250HGC`+x<}BAGfeZMsd)8S_7$J_ zNn_+^vb>9bN^*^j+mChoLr%|Y+2Nzy?+YL1XSS6oFj;H=I3=Dpl4_vNS|5pYzX&Pf zvtT(mm_ctmfm^efbtRxLIDU_fR-{Ne=QpJQn$aYdoj)h!uj2WkZZAfM@?E z%Y2hYBTH(~UP(rSOfu3KaEeu-y6~vMjXvXnd^d&rTWsJ7*Zj;1%BoZAug&RCu_}TU z9BH+nRMD9b!N`$pX5hQhOo>RqBwP~-X6t)E71MR&ctx#K)qAQ9@BE=&t?OYU&4v|w zFT=6-QO5rJrYqkx+weRa&-PLQo978(eK%I?vz1mmDe8oOzO>**qvC25K5jwGZ$oG= z1dbBdVH8dJ5v*8vafc9Si)K%FHqwyh7L=7Y%>cFYxg}_S(iQn!P__5_vk%8A5z-xB z-t)CZ$$nk4pip_ZxG(=A#oS9B5Mmi5>Pi(M^F@bg@7gX16sc%OE{?n}@(ooXn86$v zSo3k2Mpj$u-%_^fh6cr6*xIHG-~LF-6mzGqTlN=5!Yd@Rq)Me;n@>wsx%yo*GkseZ z@bq4~7DH%m3qHVBLVnCJ{cj2XDvFvgeRgWV9oHOk7tTtq4%AnV=bPw;eQ1&9nJ6dl z<0w5c7$Ru$5`?HhXU+hhWKGaZgL2r-w;Mur~jHIvT<^5%`7-Wv)_9{RXC!9J-w znXwVB@N!aRD*~(E*tGFXMd&;1t74>wN)yffbKiA$PyJ(Sq4k^^6By>aV9+bjY(r46 z%a=lB-Xgf*>$|&cg?;_`pXVm0Zq#JeCIl=DskBCIn4S7*EJ&OPidfzDw)Uk@hY6mk zH_qmXLK*NjlG}a{r-g%ux3PFIFM&nJ|I5hKZl?@v^g&HJ<>m6!=-Q)qlT%|kv~Xv_ zS8fb=BYmGCbANK=ee!CcY6ZY(o|Q@my5gIMf#Z@9Xz|golQb}w{`L6yNw7qNGsVTQ zOaORw-SaU5n~IYnpq;=rNw^{y!AOSGM#IFNMx!zFP`!IoEMr-om z_H!RPD76#;2!M?Vx5riRf??(jFMFC9)kqc$N=>Xv{VXL0IO1{Q>?&-M>bve# zLp&FthyOt9_z(5n^N?L&1aGL_9L%I5H^T8Y;YBDpNUk=hKoFWUc+1?&j#5XZT28fn zXm-zB{nW#9vS?zL#vI_ zFs9rYsXrSSs4JRm$Hk(~mn|XA#HKGPzs?!*Lw~keR{c<|JG*P}gIYoC;`$Te- zd7j$f9txg_2V|3gsZBU}FHC0aONh6#Kb9cdVhp@@UK@^1&um=hyZp4H&MbAtzD>-A|%xR==;`0rTsqtc!U_h8alSpmz zyhG3$1&Kkb&r75&xBDLNz*D|G^b}278!T1#;(2tR`yI3QvH~_sucMnh2TQTst>Tk6 z$vhc__6^Ye2L#NnM-x7SxbaJ&v%}YGU z%7jt2?kvx@Rf_>G4AO(!1FRy0v)YiBT69=CWS;r6>KBQnBvJqLRMix#6&ma3TQbjH zg5$sW-6KeX4X(J8?zXRY$n4PT`!i^vVAaikdreSN42;TemWopUmDBo{kHBJAzf#=y zi@tC$v?{qp>SphKu|z1_NHV+S0BoxqItux)2P#n;(#S{k+%IKR6jwRhS-%E8Gd+wr zMJITZkItJuv6WfhUo&D4SvR!%#3+nnJ=#Ey{6KPIz-yiyR&hqTpH;}&AoD3RgcKaA z3)RCwjmuqz6+a7Np|zH0yhd&FLRT}V2N)_foCP5pRSWS`=tl|Ws)pu*!tO6D0^7sk zf3vUIi3-|Jn0$G8Mg~i{i_lBG5#YvvOd}W@gBfb*83*?FHm0hTB=#bWvP~u7fvaqN z7uMSbAeO?k#Q@@61(bKbDAap<1=M`V7_&7LvPfoe%w{Q~)z_YVV#)kE*q}bTGym$0 z47|l4-g?!NESG9s2oa5Bk7JWIQ!W3j*fS(vHE$B03F5>%R{^EdW8lh*AD~(u%QraA z8zW)VfaBV+nIl+J>NQnHnC8xm`QDp5$y24{S-;kf@PpbSqPpJG+E+)+eOpA+vmTua zo>&{#n8UiwRWWYw>nbFhhslF}c?_@?C@fx-o-1;9g7Ojo$$vT6tqy_%{kML}{SCFV z3Rs0FmNUrgjG`srE*($MAP_5{XEDdbnBn&*A50gqr{w3SSkELi#`GUikA78IHq3r* z7>zj$6ZFZ?xxreTD~DH*_ZD|_$aEBnQ%%K!ORTwQKz`p$c8_n7MZq;lKH7&4ZhJPjz9ky*;aet zT6$zgOWVE?zHqvs`Hppt)yAfwQkPsQ%q$GmOokv=mEOt9tKG0FZd#5s`iBsp76-J0 zQtoUqQZIbnFNaxmrB$06Mm@F58gD_GT4gO_vKk&|F_^y}|0(oRa57!^HA*f#R8jV3 zy(~-{_lnk)oE*5rQP?}KP(q_t+OLy`z5hXlBh1%WyFZwkvy`qNbIvbh>W2Ca511WM z0*9yhM-w9srZWFbeW)N=b%d%6=gQyQ2%p%@BV5fq(2y|}k+B0*-fpV@M6-c4*>YZ%qEu)(8+a-6TzJ;s!3+g`q=s{tjB87LBYV1|G*u+9 zq%)~}|HH|DRH}$$9W!o?5dC0^=sQC3I{Wgbo9aF+Yw#9?;FnmJASD>4L6MYlm%Jc= zU;!%2A~!$TYg`+-u4-3%2UEutYAZq?MlYLuk61w65^XV;5~!{S=G;NA<*VVLm<2kq zawtyfO5kT|Rky5m8HT}hs~I!KQq|Nd>7++3qmXcgr+b0CD1SML$7>nY^C6Ehly^n+ zkXnA-@UJ=taiT9Q&~QqefO?OMxn8=_xslEXQ^;-c#U-)J)rd$mrK8! z;e9K&RD{XOBBzm>>gn@Jku8VU7yIW$tiGE0BdEm;W6Zr@doqZ33jausrG7-gK5@yC zU^caoTp?B^=Rv4yJ6EAPMiUWCG-6J3`cDYB$Em5dEA6UhZVbffqa-^9sVdtar+h>I zjJ$##&~SFQkP(USIO{&&MJ-U7r13sbH5#s}x_Zvj(8D&7pZ1$7F&f1W8)gE*hYr? zKw&+cV(LTpr8tZ)EZRa4R# z>(hF*2+P|senFUh-c<#Sh}#k6uev6a41V;UX9xa=izs=uxTpW!=Y_Ez^0^cDJ?VwD z1IBxw9zYJ&b zR}bnle5N^dPHQ)`pgiJrw^CS=4p8ILKFh8N=Ni^Fk56!eR`R{{jauzkbb7b_y6y8- z!ZL@kEAebJJH4af(vGi-h4jE%IwiCy!1s96Up0bx^jGhc>~hSln(%U^*Q>X64gZy- zjcv3R6{o>f*StTz7D~oE24Z8m5P^#XxlvJS5_h0GC&Yq^nuJ9phPL~T&}9-y2(OLE zOtx75JX}#{HC3Vrr@C#o@sg#;SeDYcG{`S1yjH}Bn!9JQ-hXS-Brh^VGa4VgE3{^r=yw3=j zFOhPv3JPQry!f=~*6S1ezFaGx;YwlLeI`luTQ?_q+t$}dxD@rT#%g=+2pB8<3k60W ze7%P6QC(dget^=6W|d5w{?sq9M{6;fc?f6XRo%SRWZ|3mTL3lBSYN@<q51H#DqK(VJ~t|6Y*a0REng4!lK#hV%>?#d9i+V6(?Fg zj4`6vK(O$*uX|6XsIOlwadWv^!1`rjY1Wmuyxs-M_j$<^4wwDm{7Tc{Ti3{u7zDjN zb~St7vzjQ9T(o%bWu{{zS0x41j&?i|j(v&Z4=v+8j6$lkIyg;ZL)WD&%QXfrU-#_8?%j<{N>-l&*Vx8Wki#k@_ND`7rK+z-=@eDez z0-Kf$$Fo`Jz9S{3JOCIxbeX%^9U^a$5RN`TTa?5>J3fUJ)FAfrzfyF29uiiN(OlQlKnHMm|9T4sWrj?n>!m3zK3j?)UirWo?%l9BJ?BgbNSP8n8J3$JQh`!JV4>Dee# z*sEVRE~K&^O~_DPTxRe5h8YkpN6+V`+&00|hclP;W`<2ZuKxGhWb=8IgeW#=;DecH zs7rN{SiF{$JnVJ$vle|OgMUkYRKexo!_odK6f0cMBN-7nJvpZnF?NJG5b zPfY>E3|L$dCTK!%G(C9AZ9I5v6yTEgxDkp_I>q`LIeA)VWoqO!a4PsJLbn2zCM(z! z!6QZ)s!r}Vzy9Yof_4DuM<6fH-Op!&mxyD|SGOo2^*PWnUpdW@X5OIJ8scNrQ2poX zyvW;<~QIb;yR4hK^|3(zGqJ_?6^rn1)7ZYW}cpdn-Gx#HJnrj6V!1wAeJ#5 zn**6?#|N7H3C=LVJG|&y*F^omju;7-T3YPgCd^)1lhK()a}!sS5p62j-eRMI5Bqu% zO(xls;T5#1h?FQ7Kd{2}XN=;i*O zcK%eLXWuAR^LVW%Sa_2@!JugR6?(#M@KuY13mn9D(tY_qAy1BKsTV+CYZVU4TqHG0wvY+_3vzy_+tmwu(XCwxVF1^ zA)AT0+@vy&SeGV~W;2uV`FSM-k5kuC@OX!GFaqTDB0*5EcEfZKX7A0l8)ZCxRrStv zyEOl9HUH59Js1j>-9Av`;IihK_Bo^aTDbH_n$yy}SAvp#=A`&;IM3qRtnd>N2_(MZ zTHB^z;1ft;QLof}#nK`KcVcr~kcigNfU1IPBXtN&hCKLPeDvXL8$lHoc{y{eS+b9z z81z>7z^!KNY86A)l`}=rEB+bn&L6B?I%K}nm@2++k z7oG8ze*F(NR^$k=1GqwZ%8%$aa_udhx7a8TP&(h1cK(eVYA5?&ODx8S&4hDuqSFlz z#=TCpzk7`_#E8X?OTW{|U{L%yWEHC5p_XE|7s~L2J(|(WGFNWSu=aGC|4k_=OJm0V z)Q`ITQ<8)s4gr1ss~3CaxSz~kxkxS2zUEkSRjcR%t=zi%IzPPKLv zdF;Ms(y5dS3yMd~xq)Y%CEl*GV+7nhg+HY^fg%->Q*X*0jFbTd{;;Fc^k1Q-qTKUe znmQD70Bh-H-o0vwnQ@=x}y$G+F{EeOj!m}qP2U0b1 zoqqJ1>wxjgra~*b_~cqi97Vwh?D26t35y?{6`mqb<`!}4^ z{BP22Op4C3VXe5F2VzxX;VO@o>p?qT;~Rf;?QGaKp2gTFv^L1|c~nJYBk2DW@~%IV zdDoQl?BYuiY_L{Hp@E-4XuN zuOzt<%iKn60W_E^Qa0zY(c3IJQwLutY%%uvOU@qdamDsg@aC_iCkrT*_bQVOk6)bP zx^_YTZ@+>Pdr>{Yx67Lo>W!xJRN)n^^Ku-J|seF-Q>*eW1E=ESF)_|2-LkC*BcmsEKU?> zUXP{4zR&DDEmKAI=EH*?qUf#9Ec#Ou9i@Ey|AyWIF@ZL9(CD-#E>LMs1MSFfqW>**=TP$|g z`MJ7SL6~sftTu<1Ht)!V!2n~i8UD3FYri6tY%8p6+rJ#-niskf+!*QaUQyKkaQzU^!D#AW(Pbj&ce)a3C2k9cT8v zk-yN=OlvjzpAe0+9yz_>^`aNs86s1K^N!W^e$VFC7Z&9qVFJ@_LA314y0V_}@En;$ zT~c=Urn*lj*v<*ejXEhyxvJ~{Q{^|-V!Kv$#eKP|S=4!;Jxjp#p~GCXT^rC~Q)kid z&gWBS6|%dI7IcMm1Y2Lw5qk4YaXju^B{*m9DrG1?Pj2UGzPhl`JitE#^v)mzL70JL zRZ+csY7qh1sjL`$N_1Bbx2hKnz%63!&by$~v<;CoNSrC?L%zhuS>-5rK`1$L6MPvQ zkapeqbkt&?F$HtjvSOA5-9L9m&59P0E~EJqyDXPglVQPj2Hb%8^MEL{|@zG^n|-PJfQ+NYW)CvB!>+n~MU>pXe&Rk+t;StyDsQ^)MEowip`Xv~CN*Zaphlq=|P$)v= zbHDHRQ(7msMAD2Ie}hCET^V%sqyA$!3CPu_MH62O`9AA~+uiB2pC$!w9)}E0FMOCAb z`aR8oXHI2o$4gD=WV%u@z0A7%o?b_H3yu_EA;Z|S!7{Fsw8Xl?Y1(xjR(({VvG}*M zlFszY=>niwE)Tlp3Hk|(3BaA*V25c00hN=T@^4RtdTQsys)Oa&LV*YoKTPhi;f~4x z>)UZ!<|R!h`mLFPB1&&X?4@y)v*)TYN{LQ3fu~QhHLLbyOExUyr#qohnk|JhB@*h@ zW4dUpRBfIt@mp}I;2G%KHI*w91dEQyn@RyuJ-R*h07wyUx{k6IB1Z#yV)33M#r}fy zeDTZ->0Z=Ny0Vlo)Y;{L-}^F5OR_xMq)m+(R%QXcB~Ho9hM<{-GqD2yoxgQTsTpqr8N-P)e&UJ=8laBsV<;is z0i5IM<3eF6w`6WKYUMufvzEdazuyq?>k3P&zF?iG_;Ei@>bEu*)D5wX+bGH56oB3W zF!g2VF?r7+(X>M8x|?al$$@)oCaOliTOM~22g-WY2&$AFBoGxis z=PoU$|6VKI#Sldns@bDHjcFqwXAnnUW~e#Mw4cIW{8-oVO)cWinG^28agE$&ZozBY z+#hHb(zE;t%lz)MK=sZ;NZZ+qQGISw8ougs#|NP?k$u&+S4ptS3TVo@vv#wXupli& zX5Xp49C!OqWBy*{-KpF=KDc-}fJfeX+sd_ptGOB!>a@?e^i0@mZZL25hPRd2Lbd$B zqXSA_0BF_+GZHp(??cHL=V{WNCll^b!gR>X|DLQv0i#$b&~fke8sS#&^aV|ib!wTJ zKV+jT|JVo>qW*LpTvu6JD@6~uyL@}+EOpudHJ9L7$nyK_WVSbSdh*?aOZWJr_8!?d zdYLSEr5XwZ?m1+XKis5XjOZe79J71E1*#pM9a|H?Kn5K#K2J^+DaUYTerS-5g}t;Y zA-ksbGS0<0f)(C6v3w^d(5|PftUKr~1GcUm0k4v)Qx=|!Dw3`(`VMvd$*#u4R|UF~ zbF^mA;Rjw~bJgcwcJjATE+Q#cUR;z+E^KK&uZ$%fd-;es@%z-*)lq{BFNQVmKhZew zm>6(7ao=5dtvh4C_DU&%(4Y1#9pE@D(9P)Xq9t!DN*ZLTR>sy!MP&7tUN6qQY})B? zH^tm^7W*>PqP&T_7Nvb$hLkw+@GTOWm@Sfj5xA8*0m3gQjbx!y43DdWKfCo2|4z8Z z!5k4QUTEOy zq+n998Y3q0Tk&=H)avjcR?BwQ7;HiZ0%OqpcL||SQ2tHT-37{_>=z~F!8^Q2h~7@7to7QFdj<;g3JpqHY5&NVeMTv8q9U-%YRy%$oMWx`nRpGNWcz8M?_0 zAOYa@vt7|13sZyp#>M_-4ys3>dZWM4t-L+&)wih~e%D#*PWQGC*&{0DMZ1Lk(QOsE zXR5L{Pe1#0*+l)!?83`1>_grPtkoL#poA!6Fsx2pK!4&P0A+odI{?xKo(+8Z2x2=X zaenGHvYh)@RL%VKK>Vub=TH7m1yIxu@}!d&R7pBL(M&-;3|$258>A;4IMnoZ_P`!*tO53OV!LIB#NLE=+2+yRR_;R(i1pcdegR6urwt3%T(^h`Y#g@>q5D+LW0 zaDrwNf=^mMwhAq^J<}v;agi3VmELY=jJ;S9oW?JIEObgx1RM^(PQWjY__y|sF-1aS zQHnJzI?BXE3;-M$a5QjUTue|(CIcdyBMwD8!=;z@N4*zRqE<77r><)TE%<~J(XfZ8 z#rObr2Y4{WO2~~Oa_fV1Xyo+`YOqrT^k|X?80^z0Yr~Pne@7<3r5!63smG^y+iiU7 zX(^Y@E?a&yPcNhar%m+K#_;g=kq=k2v;(YiO<%g?D43tiu@Y5uP>C2cwdL)E$Z0?$RE~EGvzD8xs~KA5}fD?pAuWF6=dz${?LjeWERFdX?a~4wvCJG z>Y5q{-R@ozkxJ`-7YOMd$RJOFcm!jsGNix|TDKNr>oNV7#JB98#k{5|mEOqlDdO}L zJSJn>JO~DYW|*?3Z>@|dtHF?kx!Qwrq8~Ckv598%*Noo;vSaq`QDDBSP|>xN>f`E~ z?-HXe{W-bCtR$dMxB+yqHyuTTrX)SN^#E91zVblf-|ZmQU%-bzbKsRB(Sn7m-0*_` z{9|b#tdr$1NM!Adcg$ITV=0NFl;#GkR#&EMz6*4VTI6E#pY*lk&)_Lp;n-R5rHDGm zaS1gfQc*JXVq~NA+4!%`jph!6R=eaff z%Zv6z7Xe{`On#KTw1WwH+mb|Mt7yq0fw564z0|ik!QFW}*%|Il`x~4>#KVraMTj!d zUinsDE?lfvB3J8mw6Q9AjnzvPa5bm9$_RRg7`O_mWC%RsWOE!V4QR1?dha-0guwd6 z_NG?_)(RLd9RR7-CLccU^^WN=3gF~`B(BxuM0#~nMU63A zb-5p7CXREH_x;DRqA}GI9_#J@S#b);W%45!9se#sdyZrf|=7lSl)R z_8IcB%SqOm6e$^e=;dZsJS(0QRZf~`JK&Q!S} zIu2mfQ6VS1*-JjyN7{fQ^N?SyhTATTq6p}euWF=OZJHCs-{urk8%k%w&58LMIVeE~8Z6u& zqWr-|PV()8;YGH+S=E#e#b4oXX#lC5AnVKRDkzn(#@`e-$fM=Y%C&2`bXH?30AI^! z<9Vm*76^+p?;QMA{s`8Y06MIzNxQY@o<4DE7H&lm3t1czITToEmUj+*zlev5v<&gJB;zg-Vw;imZEX{5_s^ z{T1yAtR>bMlm{G=`0aE(9uw(g7IHKZmfWcr+=##36qKbzKBh^7`uBi6RBkiA-&N2& zsfF|opA%Vv5)t4X5Enx;5S!1(`)1hmjOyodW5%_&BES0}j>-f~l~3q(1=VS5M{g(& z2=|ONTMS?%5WB2|Y}W3k)-X9l zBTL8YE#v7-U=!hwnr=l0Bi>>ajKAm#;$b|QlrWWlfXA!5Ur2p1c2~iMMSG}91EEf^ zd{9Gnu4nE$YIzTgc{~rqs@A1xwixqZZm|&@^b+S01bGxT-I=~q9rP-KI;sCT?)iC? zsmzFHYNBBG(J}e(Z&piX9hOxZgPFE2H8ZlhrLy=fxZO}j{?e=IUV*X&4OFtmDZ4b!LBczr3Y4C9Nz&2Nld`yQ8 zC;sZOmMM^Y9!dC#i@8dOQlWf&E%2^IDveU*EUnePb$~2k!4-feyU2w_>JEFVs)jN&4d=oTMUY zd&elVmX-Gjl)8bwGN!F*Hg&2J(Nx36r5sOo)klbtR?esB%Sbt2EB+DZ4vBIqtW=CR zVkLspxSlf=6g>kmd0v&I#~MVxi_+-rzIQk1+`*_?i2)K}s4{nbp?fNLtQbtY103bk zKGzNvo+G(Gw>W0sLL~BgwoXc0+CQH&a;g=3nL$yIaJ%;HxXZ;NOWmg!;;MO+ zbW6dv!M1NFkN>VH8Py3r8~yajUmUy|rW<}N*6eZwV^Yj23+KC5usGCvdVAV2;%^fF zWtgqJ0BBO8XXT4Dk78}e>*u!aY<6GdVg?7ocjLaQrWISN=v{D~zWmS?8EY>OwZ+VH zD9}I``4h%3ZuDnq+)cTmlhoa8yw5+S0$G;zO6pV5S=_m!y9_8*X$W6^uB)?)y8!|CR_*GqHnMx$x)%-@h(>_BFBRcq0s;`fTe&; zsr2vrcVm%sG>QJu6C@5}GsVw@pR6 z8QIMRxmF#6miIfyb4>!9{ho2{8V~Wz&}3ZrzYQ9#ToGkH;b{DVo7Ul63g3r@aC~c$?~qX+!rJZ^(D`Wq3Vo9`2bc(3*vm zy{{TG07*7TVi6=sql;7M;%vI5R)z(4qCJng=B((whKVfeBsdglQbERC@pDs!s7jnS5L=Ee8 z4+pgje{Idr$hm76EYLTRFR0$m=>eA9p{rJLDUiX^mdWDbAc^s#9Vz!x*n|=KHCwHL z@xXzI-H}H>M;wa=Vz-EdZ^UU&c(qKM)Z2VUr1e7oXiJKMPz0jkkNjNVQNMBp{sifO zqRFZQHo7h&OKKKD>d z^8Q0mCspamh%He{rloToIw~`CjkmwN0y?=lkBaTDLCwIEv+m?EGr8AU^3t_en0JH% zoXctL{e$hF$xq*GsR-2NfA2m#U9Bv_MsEm?p}3p?-{+{(Yg006>nwl{V0sP`cwl60 zlO4^8XD};<2RUpq`JL87U$3m@^p?~S4HW32rwowQFUDt?P6-(b&zP59p?*=EhmtG2 zA^A*_be&7nmwUyFPDc&yv(8M+O|$Y#GUzDH1+qe{to^=ex}48 z<(W&L?{!gje5**q4i7|^u0YhFiS*Zno-!0bmR*X-buewt9ynm%_%O-imMEJR{2&PP z+zOK%PnnHXxC&30#k~^5#?k{n#!?*SXx7x}t)RzOaksNqM znSyn3taIuU`=&Z)zjXk&#p`~rofc=T#*!b7{ItOLodXMK*nde{>*a2)?k!ukngH@~6R9knb zHIQ@dql+p4Fmkd)20y}@WYT9l^D6}xLhszTC3z4I67QQ0F}w1^Rn@R=ym{S`>vl&@ z3AMuv#L@Qv!wK?upSg_&evq?q?F0=g!Zy6MxHPY;`rS z^H%OR)H>immPijPP&)-siZxZ*K^BU?bTaLEB?|?|yo9rxSG)npsbL|w5+U4_t!#Va zoQ#>NEVl}jN8D?Td>1kB`m5Q9DC>v^3BcovMg4<>m|lA{5N-y9kCnhx4F^g+5$7>H zB-!uudxIDjstN>b=@2Zw4P_M7h{zUJ?KG7iZSWUvC>|7ZsAla#T~bh5E^ z9~h;I4llziC+uxeT%j8<#LDEXSTtcpUddUo1pa}0afFMm+EskU`C&u1k6*d|V{Mgk zOT*?I5C7IsV}VLNuBjR9wjP)H61Tkq556PySbs}nDe2u^kU?JKMG?pNm$q0YU}kv5 za5@O@u>jej3j)daRzy=j%@dHpZ_{>oz^Hb}T6=X)1VXJ66&SBcpY#vJ~>WFO8g zN*hmZ5bpzF{b$ivnO|eVf8hEcB>;}(7Igom6fIeT1>)QX@f091o*)7#xe~#T0?K4m zpsr+wES|QiBkBH)j`AHQb0mL)Bnw!A!LNbZ*L>nFTLPO`oc}$%Ay`vdN334(zW;q0 zZqMX)i;O-H_3=)td7?OX;STquPijT)RTC0AU@X#d=&QQVX-_@F(cH{h}9Apalh zFHLv81|vJOODy&R*3Qwe3Rn7jp?4*EHZvt|pNGYNjOw1lX#6U#UZ8mKvqvvM&U9#;e?E=R5TaEYM(3A$Kf zjKcnc2pOz;0%$e^;hO3ml9ONAFPrqyu^wPG4?sEtfOt@`NNU+~$$6en{Q55RR8G&ew!+ql>u%K#obYndWWU z!OsnYn6BZVO#O}RzYA!^$7Y>!W1;`P95E{S`VlR!r}@t`Yv}7DwuFXYzl9%wWEV=D z=Wz9_AFRH*sLw0Xh+*HVXB|$>9FEpeuzIuGJVniw%lq7#iM#Hp@eDzi5>bG-_e({fzk)Glb=4Bc%*VDfOMG=fCmk- z3W__Le2J6Wggph|L6QJi0#5^Pc4l-y^sabcb@Bgnv+c9nw1*pWH;`mnUD36+hmGF~{P9IG^(+I>#*4x2p zG9}3}D*%K+uRQ)naSO@Djan%#fjcJtub7TdFr zdLLfOIH{hn)m;wqrzHa(zsD*LgF|Ocf9i*v6PoZ5UU1g^TEYM4Bv$4$J8UdNMfXuX zT3>_iYm;@v`sREu;~4PXp4=08PuR>8fZ%Uj`}ycH^wt9p{wmGmG6y6#jC|bwY}wEL zU+K$XutjA1{)3hZOgoTgha0!z07rp*qTbumDCnxeEIytySmq9UFkL{|+9Se*k^+%6 zW{mHz4w*r)5J4)yWDmiR*g%^9FwzX9Yp28Qj{=hOaY7gepd)}z7v}+2`FBDxAv_Qd zyixT$Z=t-S*v*U~s#2kVE!c+#uSs*`khM;PDff28`%(E!9Pjtnc@^+ND^wu+M%#khcjVVbKAtPYvZYigNmsD&G%0TD0JoWSmE*DPlx?20+N^?C^8pL9tL6 z*_Vb9rLH(o_|a5{1<;WkYJokenmvS6AnuGI%!(2qPM15Xun<=>+2{NYuBigVJX;#;cC#vhQd{2+ozw?nNRbPjJJ!r=Mm6yhFL7A?-xPVKZKjedx zF=vD;YBL*>!`j<_l-9QN$d%O|RF-ylhSoekG-+#_41JOyjVvD*o;k*M7OWSzEOS{9hfcqud_gc z4rvHu@lj$2ASeiRKZbEy<*;q2T1TRBoP@?&n)2vDH;__w%;Zc(?8uOflsJ73r9fw8 zf?nC>*V-D8nY1B*3Ooi>s}7%gL|rHp4g?Wzd=2!c+6CckH0x4yOx-cw?To)L>zeP) zo@-uySA}mooqY9u!RO?Cffv5#)F)UcI=AG?Dz9ocgau#yt0!EMN>Eu0wY8Z9)#c`e zmLVDxmq4{`gK5q62e(7KW;iR>9xM6{7*UiEW2fWG!Pb9jSjvwdh`dUGPu-zB$ zpkTJ{lv`@|@O|7SO+pMFDpvgsx}11HlJ^!gz=jU*_!@a0ezEHujnm{K+uHySgMy&k zGt_NK0n#LBO&AY)&||zYlQ}d9KrCdSEJ(JLBT5=R%oWYDuq&d0p&sEh>0x~h!mu-?)I4RE$Yhp4sru@M- z;K}Aq(x`MO5Ez^=eoVvx%pm$h&^tmb3IHf^05zO!5H=8%BDA&6_v``<2By$pxN1)7 z;_LtHV>#=K)RYLfkrV$E`Bglh+4vb}%c%(;B`I#Ge!u>>Y-!#_ca&-`hL;P2GUbi> zF`B7fY-J%2mf`8KYqfN?nzZbowO*uCK1S|9=hXGUBUR3mdqr?P@(_nidSy&dD)POX zZnPjENE>+ms&B4!u$i+HK3>g}=ggUa+!f$um!ngd{cl~eGY@R18u@jT!H0Ww7_kH6 z4QGxj^RiJ~Rv?6rLpBzR2QO{qF+$BMV1HsjB7N*@yC34zOJYPcDEp9Eyvkh0(l;;f8kBmHxjl^%z(M{j!0kG>88fHVhPJK70gEM4Lh4G{dln{bXh#4;#xx1eE_Lxf&H!+{bstEc;ZvoP~vEGvGc;pqjZ*7#>1)VYs5 z2IDu+Kt!IOF+VF6a`J8XvV#t^NH|TJ=i|Ec#W?_2s-TH12FoDE(e9QsCK%=4?Y?va zhG(S|^Wu>N2kSGPzhx?yN-r?iCnpd3f?f8?5Nk;%F!?d>a)EvWej| zGBWq(coiPQjvQVc+<^X8c%xp)1+q?qt;{=CmlGo-Prsb>D=cuVI6C0o9DuYGX{ zDiHE!Re&Ao(dTz?z7tMf=qxhRoBsJIMmXs?U&6h9JXFEV$Q*<^Ljy~G_#wNQG+{Hs zvvH?*;1$~8{271^;9VL4NK+oj2Y_JaeZf=Ai#g*)8CfTZjPYImGi2Cqoq-+-zLb7C;ZZ;c|E*UjFn;d+B6C{dm#TCxl#QLqjYgICSqWjSYkVUtZ$9_7U& zvr=v3t)aMuP*%z5878}YH4)Bx9%V1AL|-PSw+2^eU-i?1 zWo+zoVhA+ojyUKoLsfJf0T7L&#&xERYG;*2L1uPQ0|4 zT5=L@@w-Jx^Bc8TDCJcEWXunQqX`NaXB+auO6XRxp@i7vD8)4-6NswFkSU-TXS@T^ zW+S)r_||#3yIFjRYcefzC^+a&I1Rl&Xcy}V#bt{73k{k%*{{hYZoMS_lR4OYS)-z3 zH5TKeAnc_!WLDlGfd)I&>B-jFi3AX9QRf?*Jm0z{i$q4JCC5?drRKHTOiZsp40+W> zkD%UJe{nj~dx68JVWt)Is&ytrP@lHM(@h+?W53JwG zJW}%j{~Fzh!vhux42lT_5^t7EWQ9y~0<1^qk@Qdr5V`|=cP}kGt08m6{<9d1vtBOx zK||t5L!ub3;|_52FO-`?j}+&UYAus3%qjY(xxr9_Hzl z#lOIDQNQq_>WJT7s&}u5mTy2y(Obh(>2_nz+OpN!_&2pbWclv{=M}aMRV)M}UupM0 z;o^q(*4^;s7z~o2r2kkvmh*}e%6g;11>`7P8cDy1qVuDnoW`(-v8KbrM3{RB4a%WV zmRuL-^bTPZHtP)@G=j~Gv8SVpMzAGPmOF;{>R5{vuTmMg@pkZ0Vexsv9Jf@VL3)$4a7&;{?kMx&n0I)yL#kQ7zb1={$P%queL zPY`pxkF=%3#9P86F(K8zGI3+pE!>oCF51m`m1~LX0`E`UT*fyroEAby>-Cfe!^^jDrE>Gi}Wjs zFYtMg&r&%Ycpw;5reqzu-pbj;F&>wzrcJ!jhnfAD$$8QIprg5deuaOV!^TL}Mm)=7 zX>3?xcELBY<{6>Qhj?701x0&hHV!NXNUqU7C$78x)bkrjTZ}7z6Ixn3L-)&YRFJ7-&Bf*uxT{zy3 z5Q}}a^x{MRvs&@7@*PC5kI30b`AS>YhTKNF-4k>cGmxAXOdRv-N_)Z+9i|oV){W$S zbE~SW2oBJZskQNdxLo%&kA-(0i8Q1vUIq37dd&cgFE(}e)zU@EymZD(C7yMs{9>=iHz$8 zIwIA~&*Xb?d)CC%%58JpE31n)(XxNKzVuJt8k;>f-Hkxe6cNE`?4hyQ z?t%br9>Auo*559IyZRu4**FD40lS$kpC*7yUq4KY)&DV59B#a@^d8XD2#ei;Lg{A2 z+epQh7N1Dk5VBoS3F${g?R-@|s6UspbGhz~vL8PfoBu&oGff0;Op$YMV_|H+TP}Po z>6`{)x%iC**A4S9^4XaG`yqkPdQZy3v#@XMXTkK;dyhF;z?u*I!BjYE`EkKDv*Xe* zexDbG2`>owG43m!j%Y2X&udptL=?Zy*^2P-S+Ah5-hm8_Be2yG)G`~>v7{%hwQ!o! zxxMNt^TtaY;BS~FBc7*QnHq6j_rTUs!}6S3gy2Ftz; zc75AQ$Vgp0IMzsVxUsrfmhSLS^<$(sty`5>H#}{0?y2C&$26=3(MbH&^Sk3&BBn`e{NIyqoJCBhjj zl4?hwN6GZ_s~RdJAJo$xP3XKm0*WDh=KnfTmPYgVI-z^_t43i^?BgYEm_pps1o+cJ zu0~1Zm#@c6{dgYpydqk>0DTB;?+}U1qlwWzo#{7aWrxS>I`|-t9D{>$&N8t;D>UC- zH~XM-llkLoi|5nE7@3o@+ceA~D@KQ+cy>mhkYzU;JbKma+SF9}&pVfcV87OdDZ@EV zA1N0vwIYXLql35lCAyE_OWnoo>VBd{Zqrha(%~M!z-#|WP}YHx9r1J{Y*cIkyL#?8 z4=f@Vq~>9%?EEy}A#nbAWu3l%w?GX49REd%z)bIrEZGw;s{fop-91KUgK3{4Y7lhu3j{CnsQ&cG1M#e&S4&ZlpfdMw@0Y@tTqIAK3m? zmkbwLhKn~`lh@~@{@FP4Z}#@fpBQGah;%llNz;_cQojV887)PIB1D&qID6L!>OKdF zuFaCQ$B(nVIAE5XW13GmzN2F}`J&Yk)E}G-pQIklJ;9j}g~`)tV-{C{v{RJu8)FsL z8@oM;%A>9`w|I%MAe3q)2dpQ5LX8t6y8XRd}Zi*p`E@6`LSnasI(b> z9|L#1K(R*=LTT997f;@+ z96qoY7=L)6Vl1w1n!&IfV#dF#w)}OCHcQZ&m*eBPG#Y0jz(XOqPu~k8@f^%7XToFS z)3bd-@MCYE^}<{R{n%u6;orHE_Z#ctRoZ2_=Ldfb<8tgwE@(Y!y)UwtzcV_WV1_-5 ztljxFM_7Ds@ZiqmlCrj*ynn;%-vcT_YGTIIa%GG zC0=cj`Z}O%o=_-YBdgKplx&P>k++72s26}j=2YJ5WYdh|Nh~b&$@#q$4y4?p-bN>UD_> zsV0N0uUTd{?fqGK8Rac;QXDNUlS*w5q&_g(^OjnOk`qWSbE)*?D0&}Kp$aeV7FjKi zk@=Rbz6$^SLHiN(_Xl;5Nw{6=q|0WN#tSVjJDd3fs)3#QAeA+t^$hnLZ~xqF!EO^fCo$P?I%fi-6mIHB+y4#y8#_klYr&`ZfF#%ih`wTpd3PBcLDJrfGv zPlYc!z8}a7`&0!!vBW(W zNXV766#`snScT{Y(1N;;HPFDP0zknc2T@=!2y5%8cGQtFY+PIHURa3)-Y^J`u-rzF z7snISZ81g!k8Oyl8*#j2$9;he3rK&v8j9f72lzwCu7p@%;UFANq7&9%)!pusc0Jo7Bej~NpTvEeZgA%&P@rrFNZ>_qJ6pLgr?&xCr@)3=vm zB6{eVCJ5q{MV)in{^w3jFVw8Fw)*NIgdhV12>)<9)FHzBruG9?!G~)>sFtaqV=EYp zA_XaUfUpF`D}(HfKfekVi7a4(5fB6-4-p-`0>>Z+?cfFlZ~zgo(~)X9fh09N)wYyS z04Tv=0tZ-0#eC8N9az9X0kDHqkaC9^8IfL4fruTbVil|Ci$_S&%IdZvmMkJEVLp=G zP?prNW%0mb56BA%eE2&Z*hVy@A&p|LHyXl#tTK|xjAYcr7{?f9FmEhQ^;MP_xWNH{aLet?#|E(y$*GEPDw7m}Q$gTgr(_@lbMhwuQZZuburi}1CMZD% zx-~*1Ja-*j|2?_(Ykqrl`0Gvt+hd474Km%UD z$w%ejlT9P)(deQSo0^ZOwnG;LyplWA=?)d{Gr(6V;hRJ_LaEv|iVJ>Fm;uTg z`u2u5g-CJ)W`fBXYh<7q;V6n#!3q`oSw(?madret7*}NXuK`%Z02cwmw@4#` z##XFiA}9VZbiFHCuQVC0X-Q|6f|GI&r81kDaSuZ|+~9_hO+~mg*P1 z91U6bBM`H0a5uj)D{VY8f)I3o!67(iMC5wH0F=NY%whpGf1poS#%x0_(hh|o_1g?2mp#| zih<$@AWow}(eNCDy^I2eqtN?UMu*oipH@_kC#KnQM`5Dnrc{w4!068eP&eA-%(@nU zq;FypB9s~GH#E5do0gpJyw{xV1(nybihy4PVbQ;6pw@~|s^?5X z0Y9K1P00Ey-SEbPy3(1Zkr^NpyrctdW$*}0K&%5fWyTa?(872C1ZsZx!n58%te3R_ zAdtAYr!ftRML@)MN=3&pej>e|d2EQ}3tyeBqEPk)WFMo2V6US#!U8I=0ia-VO-7CN z-1x`Ucx;cx0~2K~qyMH6rN&FfEsY*4N;8yh&!l0VcS|eErO}+vXCw*`p!5`?ILld* zd5VqoDmV%q{Gt<`cm;n4X7dHAHX}fO}HqURcQrXp{97etpr3KRzvx&~9Y?*a@S<6RsN_^HC`OWiwV5 zUYGS48jAK2q$`D)y-7d{lRDSTD~*%&W^+E?u-P^~^I5><{F%simscOq53p;|fC+r! z7Y`?|C(bhoO8*C;6B#d{r%)fm@VwFzwQ`RwEYW&xnsa_1`Nc27ipfg~NLat3O@K6A z`Mr5C_$C02sXailw%*(z4Uup?lSKdmXyBktpgz%kZo2_Q!2;656VpZTSk4ON3J``0 zJweCB@^f~=Q*`#eqU~cAd@+l%`{G*WkJ=xJr2!~%DVFO*j;QA^T%vNoJ8YsABr+9USbLkBDY24c@`K90T^4FPOn0!E=09v}oT>1Tq)z&P#qhJ`kS>E#51 zH$;%ZX#ar0N)0p2WFU;Ch$bRgc);g|&gc$m45^O+xNjz6gE4wd*x*U(EURx=EkWjG zBFgWcTuid0?kb|K?8FZ3zQPat^KFeN_Nc;nij{`=4 z)E2B{sxbMMPYaje>S_!H1|Zk2PXpA^0RTV)cAy0M<52jBF;W;C1>(_93eI4n;gCTDVVV-{!P5*ol38LkuV zYihRUJ`{*OMxg;*00tUBd*Y@6pfb#G#exPSdSD_Uo)G3djf3_hK%6iMhbbl;i~~x| z3bC+EOl=$C3c`#<>w0eJ)KLQ>Ur0UUq;nuQ5=PmcuS>8`>JS8X3#jR}@$iEM1^ zh^?~z63CF^izJ|5&Mw;uX8u?J1q{i|MkFFjaC#Onk0vr?LO^;55Z+XS$v$%4K>zXA zN=ms#p^!`@6pQD3YU(h?rxa~!HYz73M{OHH<1b?4D!~O@2*M!1r9YPNlAbY>CcqMO z;0Fk3J8a1kTwoLqpn_1twn7t3^auqVBQ(43DoJA?{tIt{kArlDD|G`KX(NQ9hruj^ zWZctCPHh{1r7ex6Do_9&H6R1(G651m0~~|_h6M#P$Fl%a9}$Ef>nZ&VbJ?mw>vBY& z1V$(xbJ{4B+5(C(k3x1TQ$Oyc?W)HxIEFJkMosh%kHTb4R%5sJ$WG!$rTi}NU`DxU zG&K<^qYjC9u#0kNqc+P0CSSq?Fe3!JizY?`T$TVQf+Z(~DLln8G>tF?4*$RfYQ-pj zU?ot@f{YMKx0Fl0G&E6$SHu&hl8_;|vKqw{H<0O=)>9i}A}y0oKFdTt%Q6J&lP$|{ z!rD(+3P1w@zz7oH0tEFx31HjcaaV|_1WYHM-mspYk1Zj~#_X}O5ECm->oNZ@LkDId zi|mVn!pNHPx!P{YR7N{32Q(Xzc^uKBkS9y}$ngAb1^_ScDk!;Z6jl+*CODvOcJ&l* zN;gBm1XfYl`>E3{FphRhOE@D{ zPlhus0S2}S2*7X&Kq7dgvJ`ef z{RUE746;g~om{L^fecgg?=gb{1?(?Iw1WOFl-n?Hxd^YO;Q#J3E3#BewE#D!F%ILn zViaazR0J;J0!vEFVAV$7s5W{v;07-8Oh5&M)dQA*1UzHlipBy=WLcGUd7F1x6+&lu zWdysl={_Jd6)by~X#~7gd(9+!VN&>_F?#a`Kt63f)l5xcifyIP0@!uIXwE&Ihr#AF zPUDoBilqzn)GDq31&{y=h5&FW;6E3J09p$u$j`>+Y1Nc%i4G)kp$;+k1yf(FLapcz zzK$|K)pIe`V@a~PNHl#njkNo?R~r{>nL0yz*_GhR zN3B+1M0DlAc*QF#PfgYLY@1Ll-&RQ7)zs*;)Gp%+!*K;50BvM{kuPu*!!J$L_N1V|WQ{x~-)C^%U#Hvc>q1wQr@2Tyh_DuHp zKkE37-A{@FhX)Qy9gmIxDB`p1p!^niA{;jT?5rtoA9U*`?2#+>1S~ixJhfs2T5|>Z zM;`f8aYSkfskvmgxxVKn00lQ+!T?hyFbD%TU-xAXuMllZ$zsX&az;KlWpT(}!7$ z)v00bn7q>8`~)o5cGJ9zP_`C6-B@1VHJsyg!RGaD?|6UtcESW_SsDZg0s;Ub`2+<7 z08Rib00000aski)00{p8t2v|Qtf0Yz>zpOjrqCI~bqpgqoG39OL1(HmO30{D)kcpU zH*R#{k)#BYB$XYU$a1C2mj#D4XmD$00|_&6-W*nqAT^&re*zUqjVM8)0+TvZDsZV& zrca|no$6GjN@rIMt}3_{D_5*rt$JOhQWaLS%BrbSTWy#!o^adBjZ3%fFt~T`+Re*1 zudu(DYF!#!YgjU#hpPz_{9v$S$BhLvZv1$#u)1-pY38Z9Gw05rLx<+(bfD>ks0*fk zNO7TShp*Q?TS~Sz$J@Ab>sDo;ptgmoeJgynx?w|V+AdO4Rr6-e=c6RtQZ;Pgvue+% zUEhwqXZGyai(dcN9{#9lqEgdSU2m|dz^&CWIwM=~>Q?$H@6Vra6~43T!>l3@fNd!w z;96^8hL>J>&D9r!m;F_XV1fk}*eG`$#?4`j4JLqNA70W}g|$%Tm@wSbwV7OVt(fA9 zqK#G!H!5AUl6I)grp-gdu~ZR75zPjXY{Ml4(~(uVlu(Zo2|1fVPddY-K@7!2)0J21 zw3B8+b=hThKZO^bX<>?aU3W`mmnM5`ZZ%**)pXTVS6Oux)_!;9ca>RakyYJ+JP9aZ zX9Bv#Q-UqxwHJeMMYtF;6;>wVC8}_PVT!{nX5u9wP8yhm6HdtKC6~dN88$kU6S zrHCr3oxT6c4L3Fh*Ai>8SvFRr@TtlXfOamFDFgN(^2 zqliq%+#qxEOVQ>CZ9@zROOZl5M%1jYJpZV3&OOt7GtWK>XEbqBwuI4hS86-TO%m`V zUYO$vm2Oc3m4|hhS%c@4c<8OSuD(h+)m4)4HkFlqW0h6keR_fwXIiTmO81HkvZZK) z4>tcgjKv*BYT;yrSv<0Yl6Fe!FdauYsW2_Nim-%`LMqH9$Y5?V=A64+jAJMNg^V-a zyd)9MH%GM4uRsFXtj|BDE_>`%7HvDT%o1cRwmM0t6Lr>!Yc+Y|mIt1<+nE>cy5}*^ zUV7DO*535{6=c>y_40>NZE**vOj_-}6=yYf56YjSF<};px+#V6*FWmS z7LRf%#w9j(nX4I#RER<+y3V=mfSGelF;+Gsmzi!QRjLR?g0`~?0 zrs0rjL?jy8@TRZ8nazrT(;?@iqwGK!91k*Qgwn|gPE=7SjQOQ+_QaO_~{t_e2z-mTj{TSoc`oB!AHARk^ zT&CRTKDYj5a&?W+TqBg%$^GS{f6Z840XrR1l4Uo;An0AhSI>U3vTvBm6h{U3fXU8} zqfo2`GE5Yrn6}i6WxStfL-bRf;`D&h+^GV43e-zjla3OJh8}xH&WZncGo9kBAUUP# zGjQ_uoKltT25+UbcQ)r15_lTaOn3{uc*#racrJ9ME8P~xh%=uFO?J!bnN)%1Gl)Wv zMgNkK8|((68A+^qlPKN?Vd}jbHQd5PL`9cc5p)!S)D}H7TF~;6GM;5EYY~VHX%@J^ ztNrN%i8>Ar?nt<|Z5BA0sz-8Kb;93_NQC`})SL0v8iEugAy*Nd5*|_&CLBd`og3YC zxY)(iXt9i=TgMhRB)T_NNQ`0lBGNHVRWvdT_*A8g(pA&Qq%%l0oneiFG?~dzcJe`< ztc=1agPvGMZ(=FR<-}^#iG715;NUm7%C1ylf$8XeJsSc6wAufq9-7o-UJBaMwswI8 zMxakktJBv4GH9)<2!%7;;i@XNn-qz#p>@j;;j%NtMOy{aN{r$YlkzS;0aJFOOPm#g z$;LZw@s4+Vtfd507~YtXGwv!3WkAl=-e4SQ$m9*5B-tBBE=aC(on*1t!g|8E!IjU; zoZPJU*c9C-{~#4APl*VaA+YZh)66jXsd=VhY;y=gAlm*OQ^0q|T%O+u?w|_QXbfra z>+~4mrk+#LjXvs9d6nBmr!KhjzPB^Zxo@K>txC%1U32D{+^D@p7(fxV!bKfpG99PX zGkiFzRDq(0x!N#srP22whh$yfTFD+yvXYy;f8msn2P0Ng6Yy|(-eM!LuqAPYQ}B5nWk;_HcfxZ^qr2|rgr|El(~71sWLg;JX7~n z<2}v{&km`(t*UP`Ja(}=m3IA>2-wqJ5ZNk&X*Y?^A#Y;yTX5;_+yzZh^4=5Bq-Anl zEDS6i)x}aNqbR9P3pLV`>e3bY@mTT3_ef`z?@500X}QHghn*YbMu%I>WiGd9jv)-` z)vfoGn5Q=7<_8#^GL#`v(ARuSqtjFX##DNO%S~X_vi7In3%@hN}LmlLyo%C?MazLBelMp^~Y`H zm}W|K7|3O8t=~lzcJ0C{Tp9+K(Nm8b>22R}iFe6_xirgJ>14Miwi_5g-52fZVbX)A4{9LLDkrQq6@SeYHNcBpL8C zf^AksDK#m9!!TPkS|DOfxz}Gc6>bQIXP)zlzo%1A<3$Zniw)pKUo;AU^F>}%3t!|u zzW7C%vWvjzMP5XDG-q=YJ{N5v zFd@V66F6pTq}CGy@ndzU7y>~n3L!lyk`}E-hp8qI`REL!fsZPIDy5ccSW$5iBR;K` zWTfGE_3;)8X%*9zyZp@Yf6T*wP=#!(60#Cz>L#aQvXp2Odiwyvb zL|F?6;X}oh%e_6iBxQrNP!c0i7KX7h!aJJ!x$rpI4MID zI(0y8G$X26V0JbuGva|}Hj)$)oLtF;SjmN2DU`;UmRcE<#L1k*`JB*M3nI{k(g~cu zd7Uejo!SYU+t_bu7jQYz0Ehq3g}^idAs~)#nVxQ0S&-w0d)Hl|fg-qxD*0$ukdrCA zIhe5G4KETgy5tszsTLDOPlz+Rdkw>_5>Q2aZBBW7=PFn!az^*p-?wq zp&7v~6E%9DIe~c*n(F^`WkR-OOObe_gKLs`ISG_NoD(UR+BuqaGMbYyobsYCI-6$n zIRP3#kTMyRfnc?1Rz_;1NlK(os-!{sg-}YXunMKQdaJlv3kBg#LinrwW)tH1rCyi< z0k8roa0n~FrO^gVhcF5Tu?b{3ADb|F-jEvFdSh7A5T%n4-|7tL04D^2WTi8%-XKKk z`UiAcry1dKlIIK$`f-%15)FA7n+G>!VE`FHsGgZvpNVXFfgr($FxNA#piw&IYOXDF zG7bw(1SW2z5;4d?3c^4NE;CZOgbZ%xq8`uzFDil`Vyd^KDcLC*aK@@Yg$%e^S+#Hr zFAK9U`?53}Du@423pbmyIC}_R*t1>;tt(}#ygIZ*3vEF9tS%cERtI6=R}eVivk$NW z4G;iOg911~wamH#%9;Wju?d^73SaxRSdkUBhL^TBLt}UvGX$;z0j|bTI;$|K10Y0y zunK<=3SY$l6lt%NcZUq>aeTWJm$4OSVHRLp8~$o+$<`OUxEAE2pjLJjj<;(e=M5%9 z3Ycp^oYOg&gRvHiv6gCsu9i8Y+5s;aMyiN=HMJp%!BW}gdZfi#-GC|+B18rnyvU2ZF?$HNz_ZTlygU26(#x|y8wC$wy}BBl!mw{q z7=_cY39A1vo;^#o5@5Af%K#F9z5zhBHW2_{HK>~)Y_=h}sgbs+A&}#W5F&@JiwAN@ zrmm~-1_4aB62Pu?Dgl8@KITe!^g2*?Fsy&4aC7Ye&=!uxRva|9x26C-i5w_J+0R|z& z1tG++;0#9$3r1W4M@+=}aUWuD#XEI}G83_DDc_9Ynu1a%8^OWtFxo@A}YEX2y}3`PtK zNzBaDS^;9a%oVT|$_xvu(8N!SC)K|egPNf%5)bZocYAkM?^#xD>KQ^*0dK(26~NGR%dQ4& z#^bqSbePa+l~xGjJ%XYq)XF_tmZ1YnfDWUB)i4T=t7|4o5Qq11)xb-I2dXK$qM83A z7%ytNBXGJg#b+yHqb5s=S zo`ls?{I%k&uD^SgwV({~=37P>zFmr}Q=8WNEXVZBuIeiR0bsRqJOKP`UKwG^Mv~XI zQfnb+93SVG!v_`y;Ls24&2J#U1kA3sngXg|3koV0@!F8_su;XmE&fnYr4ApZ38A!nH3laWK*WKvdD0| zy>Yuj9L>xu#8B#9UuTq&RPG-WJXAY z1z`aFHGH)ikaK zGT0A&;0M00t5CpZ9FCP`778qxeLc2|buX7pMEv0vSH>0zGEpgFdeHbiembvBHmz>Nd*>=$b=8zu0!-Kle%J#12Y>&Nr9#^Pw%`^D zxxkX=c#C+4w~OJ7cu;PUL^G#e5kg7{@;xP;m+WsZ4p6r(V1;isiJ zan$MXEZ!3q|mTDo;i1RV3+@(A0JKR`?1VOOytgt z+|r!nPOZ!bz6n)L)j|)p)%>;Bt=-Yh)mYxu?i0q*z=Y8kzQ82462Q*^5DEc6&jwHc z=RVJIUeD})1Lunq5!ilu*LMX?4asoOpmA0|)*0=y3IpKK8-U>cPWJ>%y)91q!b9(V)f!6$PA5W|!SB&aIcu!G7J4&%nqVMAfb zlzCI;%;H65)tn`}^x)E^TD62B6IRkBH(|9tt`sR!*f4{`gmwHF!lnQZ0(9;a@Ua-O zOFxTULMF86(Vsqt7Bjla;wGn?oK>($)#_BNRAFu1I`t~7sj#%J5-YaCrmGdiuChv& zZ3U;RoWgAj6)se{ar4SmRWe0LWzhs{i)KyLp$89EtdMX62#Ns(fZSkFnFVDQC>WGr za7Y5=$v_6&&@92U1XT(zI$Ouu_3LWrEVib7v90}2$^I?5vH1Cs!>KFZn#pQisG^uM zYQ&(3Vk*R9oLNOGteg_d8L8582CNssQp?7&WYmgAtAw*_Dz;#8OGUcm5>76=_EIu0 z6^FUyufGC|hOlUyQAN538u+X-%vfLm1r`hd&PxWi1oMU)Mx(6E08AStwQ6#cO*Y%k znN6eDERwCYIW5viHf3sQ;J7z}t6%})MmztFIn!>D0I>(Ai&VbrackO|N$04doOMGXGr!YH)eFJ#k11}5blkXHxTSAIb zU&540;eik=NFjiUB{+eB6Dlh`fJ2x-eT72;V1NM^E`wOJ02*l6(OVLnh??D3j?;H# zxKWUzIE&AS_>2w=ew3HdRBnK`SWxsd32tHT76uZFG=#(us-~f85ETC)1-n!6d;`qm zw7jJkI`x*A)ElTI`IIplp{MDOwL6kq&hG!#D>z=Hl-{D zMIoZ#+n!~V^J$AJoA8^rI=KI%8g1)bUnx#nd~~>OwWUaJ@QUM#6uDKX;uiO+MPTwJ zm{rumUu`;=Wdt^{h8^NLsAE6_Kr;Z*kcMHQuvi07bv$ZN!x_|w(-f;gMQ;p4BUki> zMpmX9YFH{GpsGgmDAO3=(CiPZs9qaUb3MdFM|(ii4Mi%Fsq4IC6H+mn(P{;%@f=M( zqi|Ykq{a>V(8qu+F<{0>=CfMmCK&=`$%K$WK%#(zC zCB<45e9E?<@~v%wP%AU~n_9@CA|csmmPc9~UF=e%!>Q0n^J0>cRHPmXrJx%6%9k<_ z!##)n@DG?_m}wSPv4j7m$pE4mz%^@EyIa6SW2?E1o$ORakfH20uh9-VoO!S|LhlU& z_ycmpvKB~xm<6)XA7%G#H)GsvxiIpL3K|BQs zL_wpfBhWBK5od5ifC;>$B^d~m2YEz$#X1%#N4XPZJqvEoLJCscMz<7ct12Gc5xU5= z6}5FNSaF{K+GrgJGUjSnwV8QW!ZVHW$6 zHi0u4HleNowUEG@c=IvZ*a;oAIY%|rsV9?htYopVh%y|7ra~E@P-`53%qn2dOQ&|+9v*!GSuqFqoA_JOh&3n zO{xSa1jM9DbrJ#$3E)_wd>~9^D#5tf6ey@X%K3=8uAl0SZ+_FI-hkv>r1nU0jeFr) z-a;f|M(&t1tZFTip|2_Bkb8_d(`5!Aur}R*Vyz1R6AyMA0*Hw+uCra6MsW+(oNP8E zGp92&(%=4?tiQ_OuQNs=f#3wEP!(9?8-z16t5D28mg3yE*IJT7P_O`gSkSHC< ztOtqcl*Iov%5bX%Ev#f~TY=l@SC|_X9kmFUPmPyx<8qhAAt_$K%&swID3ZSnV=&Q} zhE^Z&xh{Q`Vh3w)SWV+P=^0=FV#*A~LZQ}MylEmU`(mLhm7pnFYKpkwT^KVGC;JRz z6=HgD1!yLL1wWW(%V`wu+NjY-XGDt$(w+IpBb60l7OLI>4}4B_szSb6RVP+W%Vum1 zW(1EL;IQ$?C_=ym4p7*!4c1CpdfT1smZdcD@vxqZ%2XyL$8gK>PcCvxs>D*;SMDH= z+~VBB8MjAt!7i7tdzWA?NkvP7=wH5j!zvwOyr0RYWeT=1eAByj?~U(q20*bOK4-03 zykh^ssd(^$hi`ZZ@1lP*#XAK#Tp7oinQ#n1SO-5CIQyhrqvRq1f&46Mf2@_OF6&1T zpSV2XQSqBjb)WmBkHD%WaLPzlr3DF3pr8^4C22xzphHNd9ns0Lbja*vb~hx$b(@K5 z`jex41SwEIU)8hi6m5TnmM;?APuHbEq%!VZUuN8M_0pCx>&2LSshosH!DhHS(*hP) zftDgRG1ygRtlw0>LgdHV;Rlsk?78!l%TRV&phZt$8W}m0v)5(y87FPAMAB<;ipG{aJ_cFfquYdne zHsBAtr4TY!N;~4?zfefFPERGZfRbbAM;{p(lycUMo0YEM2>V$NGcM(Y-6WAY-PX+u zG88Cwa#mI1L5a7hcWpsp!n7kNQD>>9%`M4T6rs?d{=78HzpnFjxUQH&M% z9NYO4hoL_pT8u+r9nb*|1L!xrs~yI&m=th<8Y~&v$PKwNnJVfSYe+!FJEsD(hDqbR zj|08LTCjX-BixZ8)W|T4ur(31xr2g{6-m7kJ4J=Cgjb1=&w3M8d_5Q(ni`zNT(brH z5iy!eq(B)yAnU~kxui>4iAz!`B($6sWWwirLS?K4CzHPF!#b?XGA|4&?X!xl@IvYe zoG@e;@EfKu`#v;`ivXdJw`)VeXn@c8902^LEulY(v7Od&fi&U20^l=0YnT)eqFNwC zOTZ2}nY=@+2s*irL-a>l$&@ro4m3$D4V0&klduNBop4eJ1jz{9*(m?~u#P=~5vYKV zwrV0lw3w$E$u}V+LJ|g2K*`TC8tEg29LtZsKn7BPIs2fk=gXw$V@8~OzLDrjnIwvo zM2SjLK2jjZS{MrGYrZC<8|SmOb-^X;+a+`n9IpT>>ysC}FdQ;0yQk_(w}1=eAiH&2 z67H%hVPHdjISlp+fX``|Ho1%)n6G!N9oXT+J@daH5~379$Gs$^@adv1q9TPW72z4o z!R(^JL?n!q3+Ty2%rgyqx;W5llKK)gqa!>5F^;SNWsm@LTq)6%qc>wgp!h76 z9EG9DF;Z|zQecXigb$7&g;y!Oa_#cN#1nL-b4mjNCy8>NCx6;O;P{{ThvXD z&@BdP&P*B+CYw5xaxy5>pw&R3sN{-jY%ZnpB`W($BC)O`$;z}NGwl*bavTP0FvnZw5B$P3CWyvh-X-M|jglQ9B2h!7hOL6nXUPz>!EQGZDc5%|RjNy$q{hSikGZg9z; zNCpub29jWgS+m6fO3C3APM{!#O8`6q3)L~r1jM3mIYs|b)88pgb| z39P^y=syjVu*$3s-2g=oi=?3;8TIH$^?HuY8BtfY01kM74~UKr;DA_7jFSQhpil){ z90>wx5SL7iJ&F(ec#los2HXV7qD)4hWLBR%Qjs791A)DkXbGya5Rw2!EX`Id#nP|| z8T7U3#K9=u`$E0VFEM8S&~;;L92l5G;J+G}EZS z${YnxiKI&L57jcT)F?5~jL#Jq(ddX(4v?c*6#xzp01UuYm-ws}lnDE<1zR*4Ww=3D zz(vt2Rs)(ErZq{Yb=m@XT0$z2Q;AxWB*|73iK!6=ZWx8GeFeR4I^{NRT&427?#~_7$I}v_f+U z3+&60vd|m7#XfaGp{7clSMtgvDYwVj3*-PZC$Su1umuc{jAWEi1zIjs~ICb9+ilD z%64^IbbZ^YJQuF}im$8-Z4|#XO%n1nHzNUD3Q=HSSie;`1PAWmA_}6#V4Vku0t=qI z2WXh`vQHA&6sfE(yA3(1UQRn=E6$d2-twFZiEd$6fZ%H;g#Z8UEb=Al`JNYSZPqah?VOl zW9AiKxqe#lZQ7=#pH@W8@x9)WJcu=>Nx;4j%nY|EW819*7g*X6Yh3Iwt=kjo%5rlm zuPDRv9N_Ycp-%b>XD~;2dy)qRxIA3}PmYwin~vxp=>|w?5>V|C24N8p0nELq$+MGK z1{rF2<#TvgJK^bbn27&r*f3ZKYFy6c8s_EE_=ASLfnWyBK#LVyNDZMaTInX*O}Ig2 zaDh837zU7;1>kD$ZiEQf>J9knHwf$LuvIxqfsy3iHyIBDu!M^8=Hpl~ab_|0eL*#r zV~iOEGd^Sg?(h0GBsDf?Luy_@x!S)DYy}7G>w`+E^isG5DuQkywbiAt_&TRL=(=SW zUpkArt=Fic+i?sDVX%d0m}K@e0D$q=Ai7gi4(ZN0Z4p=j5m@ciUhS0L98@;rLd5Mx zU6}%-Z5i_hsW6NZWCfx2YOgM8L_t`5Vu74#BTE?H;}!XRs|<|;0~6a3K(x(7IQI2 z_a?BsZjv`x)pl%t!8d_GqcMO6mG4d9UHCY3SdoQth7VN)P(&?SRZP^(wS|LEXLDAD z0Ci)BFX#VJDAYxlJ%zAEN2fVVp(Cr~mc$n1g60vfyWgNHc?;KDl*c6xpX{{&Cb3{- zVuBnnJ2MIi3>05KSa1QigvUE|@fG;w5g=`u{Q#9Ffn3*hRL+t&LB#FoFN#oESg9(} z6irna>RT4-8is`p5DPJ(C+abcP56aP$o9l&q7goOk#qqgrnfHlaxho-2mtT#u7EN> zuRA?au3B{YK-4ULb4!@>!&(JPAVfq>V@vS&az6Y)w}lC?1ci5eg&*|BAM`|(?pN${ ze@}E5;BQrdc#OY~jR$?2Y#c6KTN4^8G2I}lEaX_?pvN|x6Pj#WvZYQRGoy-^sG3)M zIraZkhdUH!g-x(efBn-KtAG=uz%wmVh511Xe%*Ao%{N*B&9tcO}{qMA>Do28c!x z1_Bs3a09{$P2LQ+!D7XO2Npu4XfQ$5#fz#8Y}#btqXAf(Dr~xOLzN{L%9LHSq|DL; zmo8t@bZP6RGFz5zT9R4w=gyVNFb+*I>gdo3LTL(Rw)CkoXUe=yt?JC#s;d>WI@{{i z87#0}yTYmf>ud$HUdysgtJdqLu5d}Ns!*3C-LiEzt=hW^R^7mT`x>xopf1*1wQB#R zsHH60G+@ytONJ#O0OkNG0vuZ5*#c5zKmrDg2?t0VI54U;2@xMeJgAt{**V<0 zb33!9tX9O}79xtaP@2Pt1`9$iAk=6>qv)_U5K3!c01FA)4IogUAjl6F!N*7Z5V4{J z7dIp{kbnZk4TT614s2A=etm=s2k>VRK;i=&JkWqDstlD3N|t!E%10iVby$Hi`81(Y zGF7P4OFY?<6NeaX_#uZoDK+9zE{t-~N;a*up;XHF_Tp5&tt6EMOaOUwDKm#Z+aG8577|?{J3(RLwK?YS?!5dBV z#{h95)Mm*j7!lLzdFI(6=7~m{pDB<)=K&4iY4XWcCIZM>Q4F(io0Hl#hTGn+N5z;9UuPA_k3$&T{z|;box|w#`1@ImV12j>= zdWC^p^z9iFzJ@MVsO&{*0qO{L;xHn6} zi~=m)DIN|Yj4k>m6*DbPb>mn+-ut7GberWbkowl;Z&wAoB^Q){rPY^`3{HtGEQQ5> zn8Spzu8Lx{G~i`47_Tx)1MQi~KmZJMj9F(NQ#}#YdWxX($t=?uy$G}&l7cW1Yd;L` zq7t|B&WQ%dLHMN|@ZJqB7{JP;ky5w8aswFP9MeRw@=cxek1 z8M~Z|Umf^1Tw-mlGg)!{gGgWl02^gbVl4B6Z3xH09GJ?5YB;4BMxZH z`Eklq2xx#P_qV?leBhJ~2%rF0IRFAEqyqfB4%lWHf#+=CIzSk}4*GMMN0O!%E*O!7 zJn|7Q5|d%dAR*si*i4>0D{wG0D_YZP)(lY3IWb>tQ45jWB3Qhbu5^mM=SS+9mID$ZpSHYI7z4wXEindrme^g@EU*Ii znCU&LBp&iS^T-ZZZB8gl8Eo>Hr-&TI79F|mLBFR+0WgvS#sDhoq^TRNm`21sB+FooLUt&#;e9S$#5!mOBRbx6v! z&N2PwH)=K0nJ>J_CU&w3{Mxp^``uxGS@_n)IV*5E`OqeulHhIn=9}g6MuVkt7_eXt zFcjXLS<)#a#_GskrwhwSpd?~?k|eT{l@k9yy;#dyhVW4zkspI-#~{TtMg(l^)A%s> zQxvGJ1gct9@iLQwHgzBbzM756>SU+swaia|^wtC$w4O#UtIR^>k035gq|sB|oCdFMc=R57-j&hCiU-7IW0jsJ(xC-vX3HWbAnCT<@9p^F+Pk0ycZnjEljY$6ssa*`CCg;NwxABV4i91>E+qX^cICzG*NGG^pF>&^r+ zG}3Dmn{^vIyI8L&6P8W&#+5q+AY+uvjo9}PDb&_fCX$3|5pP*n1c!5r7I?2cB{_Lr zG*#}I_u17I;b7tJ+*)}bY)uSW1AGI*{4Kmbq>GXBe7PgYGAKOU|$M5~4yYC=O zFRb$1Fg1hSds|f(JV?EfIwcZA(1l3%eZE(z-5Co8zz=ORs)}1%K)|VefScT_@iX<; zKaQIJGmnE#cPJIVxWDp`>JqpXkUb}#IJc5bQBCC3Hi#(HDq#g|{51mf0)PhPO#*8n zj0lR=6~O2_Qbtx_3t6}PJU|B!pkyC!KFW6m(5hdyTb_#ASHCeOA3n6NnJTx5DH#Dy zSQr2(8`vjaCr$iC$DOki97*mmlGC{@E6C3}abDB6h$gq7$lnW2zTHDeEYOL{#FE0x z+g>bFl@mEN2!7;%-`2$W6a7!Qi;d#M5Fh=;3M^QkQ0b4qlEG8-e#y?lUv=vT$I$#X zp7PGq&HJ5}e}3W`MNq9oH^ z;uuM~%&NL1pEF!yOAhFm8TEmR)x;9Y;dC}SEpPcIEz3C>GP7Uov{C$K??Z}AVvq-( zUh`es!rV-6)?fL#Uqu_II6PMt>1&B=a{w^U({V)Ld<#68Jl>n|-(9Yt+wWV6-RQDe;!UtFj0D0%eP$?PMJ zs&c{Z8~Wg(y(FLYaYM-jNrep7c}L$_W;!(!%0cHaYe^vFoFu)Cnsx|}cl%Lt6iyq` zJ5TEE7+hX;KAby;!b1w*X=hb@diVuAvxOst;w;r0yR-nA_rNFfr$}2hdbjgFdiGP= zoO2zu*cB7mPf7{*4+-q~cwG# z`;wfzFJYx6VQiIr61$yXO0}@S!CmUe#l%HcO{76u!GmMD{$U@~XUxiz@e{_iEH{BO ze1-jZibDE7;Z}h?*V%rWx)8z?sW_zhvNqsN43JV6);vzNM~L!7f#6eD$PXs53(+C` z(LP_h)NNt;`;>nw4>k(Iy`XJrqhmFzlGCUtWoIc{Fu_I*Zcz1;$q~0RnlPo2JsN-H z&!_{?OroNHX2NOb&l6Ja%q<|G&{0JJ!H-^Tkn!mLo~gK3Z0D~c5W%xec0y0kbaUyb zSNW(@w?lh|t~T5;S36#GPlv6Ze<34cxjF_k4(gA2>?>(w`Ps_rx5tu|`9a1&5aAtL zz9p#w+oPyWVU>5JA`8vXuYf+4vMDVACtcX;K;tD3?6&&@iFZ}@<3iQD5-MN$J-!-X z`HOws!z!=&Bg^UzlD|GlS*0qn-{0AhKC|EH3T1hQv1M7>MqyvF96r*5OyohR5fdU`1<|OU7t1O zuSNO%CA-2Ur&jw@Gs#4P&5IHr;E|-{VCo5K>t)hY$-#%&Id{d$D~g9vs74$5$*BPA z7M<(l9C2ty6t#Tu7QGme%HzOaN#!TuNIgsQ26I)SUdt8Vtoo1pSadjoNK)N+ z--pFp<-OOCkbC6b>7`gDG$}Pj|B`suv)CSR|Aik z8G>}sQIte8rkW+?ly0ZPD5bb- z{t+o=?~mv4kMcS{%BqW?PM4GhtnNWJd%hBVYh-Y)$7AkRs>@cUVoesujCZ$A^TglB zaAzB5Iem_&5MG=ahE?TlfqIFs+>~kQYUq)rAJYmH@1^#K{H0gM$d<48c7C80teHqk)rXtD`P^zDpR{cx!KAAX zz$p`5X&H3L&un0AEz4Ax8=RJ75~)-rVFWybCyA){rX+iMlKYWKVnVmJaTm#U?E93F z=l;6LeO%>)HkG>Je7DI0H;K0R9Y6mp0K5;+^XLap=rf_<#5!X?4c2P_%Qb%XUn~ei z70yVc5x4rhX#+eV%Te_txl$1brlKII3WyVXWcx{H{I*)Ow%YL&L_Du`m&TpC7YgGh zz?07a;GMV?ex&~zmw#wSgJ_}q>vZ>Uhn?3c78`D(mQE+%0#58h+Q_OT2eJ`PXVUio zleDL-4ruah*8F}YdWILn!(0Y7xxTdrMh#JT_KSS9Z;=|P^U5ay)FT3B{{af!;-v{xYW-vX{pd>Sd~piclLH~9I^S|F`e4;`|X-GhazFZ)#k6# zRH+j$d9vNI9jBF6DY^pStMA(f^kK_)b+3uJGI+P9pROo!0^qc zw(tKDGg9v+lEykcx)Bv#R&zQ_f0^UchE4?*GVz}V!E`&c3(hRruiN`?rZfBaiTg+$mt6>2pK8#x1Ud|TP&%LRr?@`1n=v!iOU@GrbK#trxzaL< z5C}fZfXh|8pUpRvkCl07N+BG|Jj~BM=9}lL{*96ra~IhJJ@Ia7Ec0g(ERxcZFumQ; zNKyY&;TkK7Ro5U+Zte{M?ejY57;s^#F`tl*ejsf`N0`i|lhHn@KG_v3yoQEKPYCic z3J0hH+`cExWe4(!?c%!iPD{UPAYOWHqx9ZHQ%Yxp*S(H6mc?&W+wK>v#w@IT6BTRl zY%4qMefA2r(|Q^|H9SZulgHicGpy=uHjy=H)HtsBl@BsU8tb}kJljs(9(`MTqBwny)x?mpT2gYU1pPJ{r_j1NZ;Wi-Dd6rVp!qkZ~9pyt54H%;>1PuYwC*-riQ zB>n$dH1oQ{)V)T2%NgnG%^Ap4LuzOM)y1v0m!Xxi#hbYBx%DQp z^yEv^2Wyw!8K-3mj88Rvw~Gmx+)w2N$Nau%>?UkE)876mNY21UxyO|X#5;;lXy&=s zmqn$`*Ch-2Ouc!LRdD|SPsH=cXDfF)^#6(9L2P+9*9vgIwtQ+m^>OLxrvgXWr67hl z8=n3&DmLuef89iIPuM*010-(1JDky1)~T33w4lA!pg!=2aPlaq_U zj~P$0xV6Zsw59zwR1#6dvis0?eSMV z_4YCSIKTLz&e+GMW5;QpKrZAXA>}o3o!{N&)Z*jh_P9u@YjLr|wP}%Qz@n*Ss^)(A zK%)Ulwq^6b=YAya5sv#UnG7e6ZxeqBC0O+1@4XFY;I6gb(2PTIut#bCa18p2;?=3P zroEA3gMr4{*dNTH-pB^eD!w9BLeexyJ!<{vzc?t};GJK`SMtLrq+|&NhQ9X1#0@g$ zy=ecxz{Eq42z0cpR4x1)FMsbPr+Ilg^045Q@$W4JNJvG2#H763kc}(n!f12IGuw(4 z3W_oCdI^NmhxTq%0ik%0N*Gie2cWn7y)|%$2Zsfb8`ig}W@&n%Nq&g{D|ri|jmc{b zJXG798-qx1-G;gnF1lu(_KuwZGX6dn zxbHv1S0^3+;p7={nC}QC_$6mNnJH%d^(CZIHOBC`DekRK3P~o^Flmo~ijf6!sgTOQ zbW{bi+vD*h0<8E-U*UTHs!UbYU|9wnz^R7Z+BB=Y(7|Pt4s5-uUVhK}Y@eSkULB@f z|0eL@OMMzMqfir{2k|<)g?I`R>8xcv6!DYwq|m$HN6-^{JswQ@Z16x5vHh0v!H4#~ z5uVAZ!QB#lNkzMSH2yuiHRp>d%X(26q;-y{tXjywh#ssS43GI73qFon6?y&5yef~c z;=^v)#Dd~};UJabG<(~+0=2oT#Va!ALI9KvkEH?XEk6PH{N8)@9p!Yr1xdWl{`(z8 z0;R1lXMw9HaidvtjX(LYIPF!%4Y_g-EgAzh>riI;I*BOJi~=;HWA^j%%FvDi6iX09 zsQ%$^jlc$OGk2k}#7|Jx&(b-ccwa~6wLDjr{1C+*vkNd(EGK}&Lt7x~RJ>O1g*G2V;tO>q7hbMrQ%}$B zs%jKR?-ahGdQPLsyW#bAe{!~KQRpN}OQGYB$_}A}i|z%#vU%ImEkZm8*L;g_(1-F4 zZ&z5+6t`T-mAK}dRp>JH8 zMj|i3!Ij7CwMDN;q@1;iySl#=^vFAk7aPOQTmDY1-%Sl)Ipt;QpQNCBpzyliye3zT zj&A;k$It6eNWh)*(SNtmraYYFje7!8M~pKTtoViIXzaLMKas~<4f{}GcKkoa!#i%7 zHB7P|&jaC5O;QyoENTQpXE>_z2{Z;6=*Cd*{~!fL^tb3kz~eRpfx;h4QYpIzOTwoU z-x_1#*0ky%+Inqii0R&yd7``%Ij>bGAOgxX-?XoqQO7T7j-)jGuZ6>MoOa`g-$ORm>Hq z#@vv%>oGF+l&>_dK^=6G1%`O~!k|4SZ1`N!7kS`{{T|$BE#R|Jw5YtwgpHR!9h(UJ zTE(6iTdR<6%U7Mb!E9cUroB$X89`M6HwW0ZjPm9ea+*|#vCEch<{D10FcEb!p~#;$ZU52`U+`zO4!38jlp8O2D?xtGRX^di zT#t7}mdPFq6+nu@8ekc2zG11;G`o00TZLB`f*Cq9XSSx)rZjVeh`Ej}Tc(&-SC}uw zZjEl@-eF#BrjZOFK-7eF3o5j$?sR7**nHYyfNoLP+y6OxVLw9tM4hwkl?s=%9(wQP z4SJD8ihXyR8^MJ|#O}i{V%6=FVp+xfYUtR?U3e$sccX8ISr%e*9F&7y~^ZQR8(9{VXcv(Ubr z85bCll!)ebQLr1Ov0j&MHQAu<`qP<2r+b5b6DZ&HC_eX?Qsg?H=F(XZXlTLq{A@D+ zyZGVl7bscH-_Gff^u^LvreC!aw?Cy69;%h^enaKdKM}d@n4pT}BJ<1NSxv(0aXwxm zVN>nbA+$|_PVk%yDM{*lrg%S-J#=~w7D&jvWmoMHc$If%^B#=z_L2%l-8jd#{vg>H zYqZM$709z(p_CIAoCU;wMeYv)tz(ToOy1j5YpfAV8+|x^eZy_)sR;@wk9eqwP z4>@;SP^lhIV0ww*aX_--_-=7tjPm18!WThuNAylmKQ}PTw*CAyK1^dvBhwg$2aq6R zps?~}ayCiYWNAqJmKW7_XeD=Bt$Op!ykF2KULNKMF=cNmOOl_924z=V0!HK^4J`Iv zZD**Ij+{-!&LsNotLd;sJVnyahWF8nHAAmLy;Ce!H}^#6BMWbbzT-J5I$p=P&&uXn zKCCq%g^tTKnmnEEc-`GXPQ3rw@K@dv_``0sd2~^wx!#V!yAABMyu1!ru;7&&P@MZ0 z7~^x?9NhL{PpJIMzvLPwFXN<`JO8G9%03B4Vh|7vdXpLr*-f5_;9Aus#L#m-cus>nvI`$OwHWc+dj*1hxI~I9*QD!wU&;2* z>+1zsrJ9yV=lpnTHOF58UM!`)yj&7^OuRu6GpM-xxR-tXMR95j!Abd;`-f9QeITAH z0k@9Dt;5o%@hM=%XL0cFzUepN1khGf+aHn`aFsy9LnOJ*PKFn|BBDnfWGi@&C*DjR zknJ_SAP~r6DjmeX)ma<9MBoqfqw002v6zVgzs;W}1k#RAiDPn5nxF%@tDA|-1%fD&XIF2X~7<0naa((B2890xPp zCY{|Oi;jUN32heF2o%o-?ZrQ_Pqv9oVMgIm*Rdp8>He)=V$amS33ykS6{>&Dt`?cD z)Lm08bD4tOB3&x;6XT-T?=$WwPj_W(d`y>8KGRlCxlUz|>rSAM2J9Syh?To1)Oy5^ zXa0ZbCEY-->2uWZS3Yow{qZCB&xRU!7hO}yKqGeYabquh*9h%vK1CvBS4o3+@r2J& z+!y4t`i~;hunJQ4_sC?SIE7m%l@n!u03-uImQI{<%Ywp)e&KE;cZm#Y@0dMl>Z3Ok zLxrH(KW@eVDYJ#NrfabWBwA~`%#UEd#`{~~X{``V@`<^S;sf)4b1W}KQrH3`dfV(Sm)qEkf90fN(*{zcO| zmv3@s+CPfFMd*UsC-#-pcR&u$x9GDHPBtgoxU?i+(gMYfB3Ao?Xpgu}l&m(V-1%^OLm3=sQjSX1;9^9Lk{O$40>3DxonKGOQ+kPpv^k+=W zyh4pGODX&k#EPABbpa(`00QC?S=%f^{bG*LN*?ywbBvm3Rmsk@zfa zrZMXK-Y0XwE9YW?e2%iILIRJ@rrhY@ zxfV>x_%B09fta8CKtsMDv~KE$AApMKShRp4SDxjR!+1Ay&hXE@1cU%q|8q0OQwNyK z>!+z@u#~HO{Zhx8NN4z6&Dz>AIAvR#ney_cbz9`(-8*pU(9$+O`;|*`Z=G&WS)?5) z{O7_`OraX6x&f!&09K-5BDi2bm8Xocu9tz4VzC@{a<`Inj5N2Tm~&mEa#!@x5KX-6 zqvsZMnP9^6UeIj#D>X&auIh_A`AD@0BXbK?v)nf$QuO;-feRMm@lyYeJ?{Qgn)J3- zczx;;AQZ8a0dAFvAEPL2iE9+HyIjI*OBxDTS+)5Pr8barWm_9=MrsDt3 zXS1qrvzVvbBDF~^(i$F1Yz}zYC2RN{)jAgx5}hH`JYZHhB*f^3TOVT@*u=fyY3qYf zw8Po1&pKsT7ae&mSExB*x=Wx+G-M4PVo}gRiCo6ybNp}uNOG?!ficSWX|3|Xnt2FtHf&i~_f1pmo?=+v=K0*jg;h?QOq^-hW6yArhnP>X<<1seAkboCiB}a`y=9RZY(wXdA zjQDGvdR&ZY7g-Fg@6f6~HFq@ms`^yHCD?H}_|bFMs&#l&kqJkLq?oGf$tEdoSNu9i z#xjwit92z=4Nt0sgDBy{49dZ(@9U5AGnj7KWaQG{ z^8gXH5l4fh75h8Uc=)kfT!NWbT!-)IA|j~`H8HREWnA;+eoj@u%hStA1r>vUA*J(> z{`DYj5l&XCmXJ4~RHv!0UQ=xy#(SoWY?mG=X3I`rtdmAquz^*=or$nVzksTaBSPKF zmTsZkaU|LVH~pQFXs~AuqlOmt$*_D$L3pwvHbpJ@pI8o$RFEZi&1&ed)U`>cbf%n= z`S3(i&*~lxhWf+PcyPp_{1b!nl7&LgAA`Kk$=WOW72m_B|8ZmY@~o@or;-qvD*#9W zkL0@Y^RV9mOlYjwa`ll479O zoZQ7P-bF`oYrGh-`tT9dNbKGI_~fx(^6eWHV3wlzdNT>J_v4FF_t0uxp;gryfCgS( zQmT!N1>RJkxa;0)Yi7jA^0@y9=r%mL&VUmB&z9Hd;mz11r@yS{r>X00#1+rxrMfK%5WT9 z1*v(Dq=j4p!+z=k{zG>M@8eL8AdIi`w9R`84rQg>@i%&TX#m_T0Bts71hK;s{`6la zK@=(ta4fmQXkt&#@LlE~-ai)w(d)T2>u@7_PeFYjKLh?G=(XAlV!edFM%{-~m`?bu zxVuGG#RQ{Qs(}q{flC1mo#Kx2+cYDq@lBE4sw&+e;-ovK?|$J*B^I>JD!B-Moi_#2 zMq2&HqIA{=e!24guTqM9Ik*p!!bm+Z||C& zQQ)(yUJrB$@NO%Ocq#ea{ulgoaopdwGl(Q;4JJemInK9ju4o#3YH6&&L9&K`F{`e`Euc zk|tdl^Bb|PMaQMAgoEYQkWtIYpB=570%zMrZL+mD7I?|ZJU?}KpQw%rb73$mJJMsm zYdR6hN4&9NbXis~hY-^fVQnW8SS%Xtl%UEf70*NCCKj^J1-euzdAJmAVY zu!1ulfO1lck=#`+yWQENScJfh$4CB>t@`8-w@gv|`)9Zj@nd@|hb~c&WR(7S@3)<$7!JQVOG4xfGyZKSJx}~ zWHy;289Q%5syK|y)#u!))-fCYPsJSlS+OS9J|@}KNNz)M(du6Men8Q!oABdq^v?Os zTkEo;Pu43nl&oh_vPtMcFCyGu@LZh(c9t zUxqvCyw@jJ-M>Wr-Ee;_rQh5J@22MoN2}4+qWk0Ex_X@P2!~6esGPOSabi={sL3mI zH-(>`U3b^^b+*`sFz-8QYSe%w9d`tsp^9v`|G+B>e9RDcUasn)N%9$9pWRq+$5PJ5 zb0^m<5RS0&dFUEz#~5@%q~QID`Z^)@p4WOjWY<&nQy6K?*IA6QETJC%kMd)6A8mUV z<>U4YED(m7V!^i6!d0uNe2&7pRhM1GjGizr?p6b=+7B$6ad|-wd4=7aSj)A3)T%G< zbMjRmB;o}113tVK~0DeHpR8;>p@5u28c!${kWI(P?y+%}ojiG?`@2?7#+uhHxRY<>NYlLJWXNT& zy5uZxDt2KEN7_`?b&^eY4JnKy=b z1TjRQIy#reen5z^SDpD04=A3*lgCU@$HMp&kyWBCVm7yRCr?X@hPchQ@F4l!zw0E^ zjKBC>F--SL_i{%E)Wr*q%)ZQeTaJ?&e#4(XndfI46yU|+F!h|VAS3dU>Odcv*Be8^ zn0`S+9y0O!bPEzL#S;`>=a|;tJ>6t2jrUby{-i zC4NglylHdnFaR(y_f}S7%*t&vuQ)w50B@>Sf+f4-{iZCW+Z$5zYX~$(qTZ&M z4gh8S+`Iqqnd4(7{Xue)l*f&sKL}>+DJsM8ck*`^${(?4e0CfWZSkkDd{&&S`t~=~ z?LCu(I1WljGXAap1^*j&5Z5xqCY2MSnj|kDRpI~eFn|&l12H@yLzb+!^FxW*>VR8( zo{Jhb1N;Gb@A}$;C)Leqm&sJ|Bk`rO;dNAV>LD&Oi6#G+IS=SNUg zQZdQ)_}(SG2_UjuvS_zKe$Nab!I(4gS17?P`>LPDf%pa^rwcSnc=Qws zqP^hPB~j-iYpUk8*pMsgQ<`dUFGf6k|BIEJ{$0V{zXVbi4K|y**YA|ZkGd$d>tV)C zPM`|Q1d3b?{vFP@IM%`(M@pT&Bg}&*e38z5Q*Q zB`;q%?M7_Vi+lszM^4$dg|=3)IoVWM4|A1J{@^}jeu*Zz{-BVAZ42Q{z(P3_KC>p$ zys}2NVOLz-B_OrSFX_h^pWa<`W^)d!>AI>8cSNT2W|$r)9UE!`)J|XCDxT$I5ezd= z3Di<7|8zgBtJ*;jL9U8j714^G5TjM8WQ;4hW-pO{ThjXEYc06CohEype88;Tjlm@1 zmn^H*z*Cd0Li9RX_Sp~Lg>|d$zSZyMl=D*oBYi^MCbnM}+tPVL#KyKW777Cf7oKg` zrd2+9N6)qW?{J+F4nV$jYi;N${;9dl%h_=L07N#4c8%H~DgfwTMa=>%Asy~VmyLG*-{ zbYHadSMaz8CIB!1fo2JoqDtnAoJfa3@;~Q+LO&l=Yef>fWQ%HJ9c3&R+k>1)RHymb zJr*qAs0LGy;Kono7F;N9(Wc{vc#OH_990 zYq{auV-W+9y8W8>c4!w$qT|**M_!s4fH3EEYz}{f!w;aCKmQf4ift)_WG7 zi)c%00byBwOUy5@Jv2duA((ns_{~7@L50YZwuD>Kn15LuetVRM>j}DBpr~_9*z*0k z%8&yqTAGGvI)5n5fMb{dkka^3lJ+C`2U-Oa=L{&lc(#veEw3$|$#*)GVOAJhdp0Fh ze4k!ZSTYRhVP_HGEEV7^OKW;%={NTQL60}SXKL?win`-SUKq;yWSy<2EtW}Ls(sV# z#!H7qv-@gFNl3-ZFPpz|WP%}8sEw~7|8+8^NlG$m306AgXLHJQN(;^R!z4mvhi4hz z&cwbB4jSjzajq#SP6*N!4EC_F1owE>lNtw0MVcLs26si#SWJg1!j6X7bIPTd5dXs7k7usk|r;1rI?c1^ClzW z7$ms*Z`aBA7KppR3XuRZB`CO85*2y!x4;9TLUBl zlc}?qil*D77hK5&;p!QKMcc@%2hb`yIN-TBn%>x(5}(B@9(ryC8XMsebObV%BUlk( z3O0VSS$5(ZcAp06*aEnOPY{qQawv{!-jSkeH|mEr+nx3D9i6<2x?FcjMoHdszZEPIcn|gb zPWzHFAe5gPZedRj&6b1^EM>&vSW57WPuBzQ#S58P$GhCT1u~$wdl;NwEF?%LV z*q58mOh}F}__%$Ya0yK0g=HR|M3CaxigeKA0oG7jz+o6gqH%MLPRNrWD9{+hn4EQC z1ycG5zdJ-H9N^PSj#w!U|BnlypvgzuX@aiE-p&u(PSBL6rGtAI-H61+-B3=Au5vLx zX$7|?erh=lAe3Tm4Ghyc1p=PBk-u%bS;6CkIxb{}3o7ylR4&w6Ze`Y8l0*eX;GbMB zt6O48rF#&j>X6Q*_K?7%^ zzp7tz(zG`NH=CzYs-~D*go(gk^UoLtCAj2WrB%S@nuvKDdNo>;o^zn_INf$J{*9-v zrI04tk&EBc&N#*Ps+w0;h3^kNBG=vTnm)UiH+D4$Aa2Y)>|R$P+cn0c+IZl<0R;29 zkW(kd-Ew6_4Z+N7u!h5B{1hHl+l+c~{M1+oaz?uQ7gLcb_S69t^&JBw zQ6fsVpe@p~k&>lC8dLZFSHbN43XOOA(P{>5#UelY3$H4=e0!;{R5B0Ss3XDMPu4+p z45Fd+A)r}+wQ!a&p3{on8wf{R;j1WdZ!cI{DDge|s)|D5S~2q_pd<}5N!KNXYra)d zXZ+G5wM}kIFPDf!q)}EY(z+(rD(8DjOYd^;uM1uto!Z|oW3I+suXVki8rLmJz^KGw zVke&JiNX{VawSc2Q3`CgWEjP?SdBs;hE)ytjXaPLgf>iiLB^dJ^U7k7G@grPzgr46 z-|#^~7>Z}ZXq(+TPw!{UAchBz48_|s${~c<@1&|8(ss?ilUpliUpiwaIAi`~ab*5Z z$WEpfUmxh*1mz<*ZTaP4obW**pgEb?`W&2=4gkcFCF;KgmcNyUy;X1oO+}RE@FRZG zE3$Zi=!1A|K)IT#Hp6Dfjos()Njw#*mw}`<{1dIy#v?mYd)DO~G2k`+f;l@o?be?I z2`b#XD)BlUd001bKsb%3QZG(&Z=i%FEnJmfUdfFoj^(-fy?S6^y6#i|i%E+QaZAhQ zc8Gf=<^GYL`U*3F)p9}Yb9Kux!Gk;^Zm0?eOvYi9YJF(k;Ssx7uE=MKN`U-3F!`Hn z7&ugfJ%Uo5qvzdG;OKKa`t*S-Z9fD!Gn2YHI-3Flo-&&{Q>ai9yZN@Nf%FO;M9qO#>&E`BDiq%iDxOSnDJTb*J%*p}&C&w9%?eLS zx9Q5mgzYI%Nj&32ZT>%>z1jrnuLNQ!DQS`AwPE!yfs|pK*X0>EjnB>YFp%D}b}6Q> z*dI0K#UEK!e~}aC-1ou4L(ulmF>D7%ZXvHd!3nCalZ_YklxnH$quJ~ul_TS^9697~ z{&5z4v3qfS1QJ*upe0wIcN(3D93__k75Q+!U7XR+9Cey#c4h&uwOnMFozH# zQx~TqI{5E*TRzFW_cl0a!hPvcgfN8kwc;mB(ppOOuxs{%3e|rC961eLzkj@*7N`Du z1PU$T**1}XUfw-FaMJ@F1)X*u3~kU*&B~`_A=xwl3=#fXuBJ}Fdijqg!AMUQliZr; zO_V8C#bHe$NcY*WGeW=PN2J)PL`s;m+=W&*_gg$+g3sS|Yzo1HlXKT+d*VO;G#_N} z1Mx}{=#OA0YZK-f%Dsb++qyKRB`j1rc^Fwlsx1gqKyc*Dkn7~#gj1HTE{`>BMwAQ1 z)1I$(#|`!xX{VQ8f)R2gp~C3x&bvqYOJQDks;2wPBMDnndzqN4jrE|ut#b3NA^?JBe1$3Fcqu)EvUy@^m8vzqXxHyGN0j2fhOz=8h-FZX2_KtfZGPjg520LCHidK!9_l55!JhC;1}-Qx46 zpHsaM!i&VV_Y8xZ72tvSs40d*O3e{!*#w~>IoO-Re_5EXfTCoBqTK!W*ZS;(jiVJa z8^xY8u`-4>zW}A5H-Jt(ZhEuKgEz-L(R!0ghk=D>n^jxF*--bQ!x^zP^A>)jFAZ_71vH!M*M`Zz}(ylw2-lhSA^JD#uO-czjLTsv7T z=WbTV$0p+_px}P^veNE3^$3JfjJjOAebX4PrvI@OHvsWPQkWdITB{WJ-lYiH=%9jQ z#N&i1b#G{;l|wKJZvC`!+5z<>c$Ol8(b16vMqg@Fg6-c1lFij{L|vkth7-xENTPbr zumo=)jrdHNXzcm7mF|#3%~IPT??oDjwSa*F0YE*WCY|_CDKd$AN-eEc-el`~0r5f(Kfaxh6YGRcR^XLVmf(-56VK4_qvHuF1%gphe&WQ?NaHq8ZFQ zbJWs%YD)3!^(gC4_-pngr+7eNxRjwHBNPuDgez{)jA#;IhpdZuwDfMWKg^Zi)pkCXw`z$?mqrPg ziM^cQ;{NvjdaOA0=*4L?<`i+?+!L2;Vp?C*y~7@!_kvVe!Y_xzT7LGo8@DF*~pOa)M+gKsyrX%s7a&0UW4M!7Ds+C!^w(O!~v;03p zAqV_=vh6(DRY|!TOnQY8LSwuQr?q3II_sBslkC}!rZzr*V8X5bvx(MM+fMSg-fqIy zpS_l*KqE0l)59t_|26;aF;N&2=&p zKUTQjf%xY^@?~coc{7_y5|RMiAkRC%1(K}10yO0kn!sa@9SoLV6|V}(00ayH)l6|Y zEM}*mRC-%9l>QT~N67#QzL!%A4Q0n%CNPP4@hm+q#^pxVu?mjX3%I!z{=pE5pf(L{ zPNw@a8(tIONiIhdIT8xWY0M{{&Z*)F_omjKO-f?=<)L~rWai(=?}TZdOl<2LOAo*t zyc<@_mO_%^WbRpi5u;r}8t^>E01{Ny-4>z?fj3hvvuew<-zIt+HK9H_?Fj96Q5nB? zTnzH%Wuo6aP<(F#Ol9n8GZLtx7Zk7rA8ZL7iR(eci)Z5gIJf-6^KkLQK+lz~rORVk zAwZD`xSFkt*ay#gE=&EHmy01o`F)!V#0~;QHc5TJVn0kriTN$$6RGwn4Jz5XT>Bs7`rTPN!%O}P})9#4JzO^I$W)cV9K4x}7g)#%QYmdQ6W`-f?E#T<-ln=*fmZ*K5mJ4|+ zP_XdvhC@gxM;}2m|39N{W?H(GD>9z>%^?l!SxO9~A4p4Qg_t6eUi-z@bCu0hCYsmb z{|XS9N5CLNWoCj{$tKdVH-kc1g;Yt}8APFt=U~O*<)>%q!jTS!xsCw4%Xa#)#`j<+ z?hlKT!L_$|KZ%)GG{NU%S?=tN0N>;ez|Z1ug*Hswt(=iOl{q)idu%qn?an_Gyh|h3 z+X%4HnXr_6oJVS23}MW{-c?4MI=!l0l;wTW`k6E?_taLhe^rj9@t3w&^?W0@<1HRrAziv>{&sqgrU_*D5#UU2X_>%GBy-XC)IN{V z+8-%s$rATYP}6@-pW|hxNaclBTiObKZW2z?{>d~P^HwvonEM2qs$*7q_cpqnNXM^} zc3#agmuUGc5~~o`batCH}Pt~@G@GM{OU2;~WpCb#d5 zc5pIc3&;fUR6GBkODR_n%yL&I7sC^TR-+_YsgG|iq6XMk0!E$&djF}0W+ii_ztO;2 z);cIuGdZX|v-eEt1uRI3ocN-9xevs01X^YfayH&6G;P90)0 zhEyuNfarLBUxY;8Dk!DUt_m%g(W=tUMrIBRMH*Fk9`(kHLxg(uU8<^@zV;a_(UF~nZ>F#H*&DD%Qx&Ki zqutdcIQP7@3plg7KTud{fe?IBjoM|P8-S_eusn-R$uwlFb;d1y?pE|b@#Mxftas%o zq-U7H0W{B;XYuszL#yD-`GJ)Tw4`0fs7CoLyX?<;jrY!vd<6b-_VunM{0I!71&1b+ z5B5;%R%O$L4!h3a+pRSms2Up!o-h1H0rqbwqH^lGt}odKMH~+DCo5|$>zDWKFRJ-?n@YH)l;)aZ}5YJnBXScHc`K> ztMx6=Q<2W-r&r!xDi&nJxJ#-2cuj$0PG?96Bxn7!{2Zq=&{yqc^58QG7oB(c+$qO| zRFuQTd=r#2z7BDake$~9qz?FADrqeV@lR?9E&Z4D7YTzlF+)f&s@`PRF{oQ?q7Ld& z9Rfx>gOd!Ux}*-E&`=f(GzI@KUx?eR$uQ44g%<_{e4tb(&dTboaFWg*^ zu%`uqd6FMeN$zK5S)cSjjUj!`kgc9|*nAxa=F3kcvq-fK-*y-om)UCqao^l!-ujo& z9@KhvC_tVu@^|sku_<9g(J1*QbPSEvoKE})tO6) z2nQV04KTzmKxt9(?tXwyFYci^z~;ozfaK!Wx-x%_nZ2XyW~QW|%%EB66?mdbm%<=B zx{-|n)3;60tA#}p^_~vs6(#1MglpIayeLyLfAA@j9}Ci01=;Ge{mm66c;R&b6drC& zrEk1>fTYeZ*dN5v)-Z@X9=noY_K7ULvCQy{pmRTnHwWG^IKcS056;vpeL%_n_lbQ6 zi68F2pWMexJP`IuV|pSfHK7N1lsug#vsr!qqA*10n5F2KaKSxw!Rf9^CwD)BObeU}e zZk=?5oKt7eOz1xy%Ss!@UCB-)Dhl$x`U8`Rk!7c)xY_I1%q9Tm8Nu&oooj zY(RWxhRkos5-7Do7h5d$93hWtdEd170=b?u5y zD38A$1KW9&&d0GXm%!P%Bos{-Ab7O6ON-GtTFg#rX#6S{M8!0YC}3V?|1F%wRx+IP zn>K~HF|2>srRim0Cyv(d>NydOvY(#j$z^oSiM!0aE8OpMpvJMRe_tbSO*!l{te9-`C z{P1uTm>NLrqJ<=2qQfGRFC~3|>Y(lWyz1;;#l2#nKANn>X z>#Y@**0&eRI-Jawn(RhQzKKlkUdC&IM%9Q(@54Yyl2zx4Ku&~79$wOBz1N2J)jLw9 zq2k~wN#LT{>;wx1dmx;ek^o>9CYNpwi56qqYd zYJa-Y?Yz2zFwVMIGlie5u)iqld^VL8T&fo5xU|n!Y(h>?g@Oi|{jRjYjH2*E{|yGkXCCJ02!Kbz6B_V7{XzVu^dVQtH<=&HvIz#x{r@<5h^ za2q=3nFUH3Dj683ATFz9*Ez2bM^6iCyz8!bi5SI+9V}`#smxZ;wH;IxwyMamZk2dg zGZ!1s)gki^jRiVHt9AZCsm-q;sy|}d#P#=6U6OM8Dt2g`Q+u``)RXT-TVw^g5GjNS z=06b5UPpRks6Ptk*_#qMBO-P})v^FJ^%LdiqgSmJ$*UG&;i%m|@6^1Y=GZvnyU?Hu zthUknDRv}C-~c2+PQ+$|=p+d68L(%H+mWPpiKMn5hxw+y^V$`U-?MHHY%{4kTdFk1 zY_qh-MUcdZGUl;vd(ZB=p)AWj``NvrC~X%nn?g5DMz<&iR=2{fF=^&Omu69h5Ehd) zJ|+ZfHXDLZ|E$*IRM<0ZeA^g*X{U#EB~{|}j!Ec~KZ_qx(6l}`FA2rs)KGM0$;k9v zIX;v&B8?e#J6|B(S6h6V{36L@I0u`d7sz)7OO3?#tF%m;JMlKC?BlKJhvc-NKV=$oG}LxSz538+ z+%f@!3M=TMh?Zo&K?4yBn~4*_llG!4)HC6Ywggkt#k_Lat@87$ihS5>&dO9tJcyY7 zs|3>K4cr8+GYzLnD(6m;B{_{3AnX?5m^s$-P6a-V`sci+Q`lA6&E=`?{Lw7Pu34}Q zU?!^#t!Pp7$P@QdmNqU^F=no) zZ&+Vuy=rY2XB-)A)~XTueAFK0!^jamMt6QGh&Q=`cYg9D!op8ekl|5>IiHBQBwud_ zXZ%r7@)^kVjxWJI}@n-~Gaujw_#U%Q2XY^!!TAG8@zKs&00V zXEehA)_hUZci!3Rc*W=ng?aPi&L`#o|95lMH^8OLP(*4Gd%bK=OpiP|V>1jIqF#t?lP-io{q}JUW^X^xR%KJmXXO_hG4?*#%6a~^ zteL;%CG`p9AB73CNu%(fb5LoM@^bEu4LC9)hvWOWbmw>8H(r$VToJ{umq@u5PE7KB zBJEjDk%M9@%TrX#Q=I208onL8a4(>dlSsdV4?1T7Ovm{{0crpzOa!nWLWFW~Oc$IC zv>tkh0A+Cn!Z1lQU@A2n8}OqRlmw<1GVtph)GJ`;zw(e~+zXlyh)@;45oAjMCTsQ# zj;VoAl_}jUQdc-Mu&97XR;mwpkXu0d)PMREa62>AcXK*vP=rJ%=#qLu?*u*(U=)IA zkpTxFg@o<9gP5^L+jqNPBH6!YmwwxF?P&$7MsMZ*!hD2R|ZbQW8mFks?SqO#Snv)i)q$?eDZ%}SrDNlVySHp|n ze^28DIoCy&KOs1F(@z}_r_IYlUTR8W7yrC{M48qJK696jPjtB?bN4QGU7wCc=!NIh zE#d$b3o4JzBoq%Wpyy1X=&(RiGyXx9m03W{Y_13@8fpT17$xns4g-t~LWgt}H>m*t z&J92iAU+Be69j<)Op#Z=Lrjo`!%68<)x$OBvg3BFmP(6uo|Z~rdoaDl*WLn~RzCJR zYXb${MSG6W1G0U}`@$l34-;6uYk;-?TNk^B-X-pV?|&9kr=HfAc(`vbzQuwwn~P}$ zOUMIdx1)%IG`7JhE8a{&4l7u}I^ex;wS~>Q;I{hcchdEOPxxwjn3>&fzWBbx3qIF5 z*v5fd1Ory3=h-<8BA)&IkrqLd(8(Xopo}BXOG=#Lp($C#g$_>N0RwN2Bm**=;fXaC z4igwl0n70n+`s`MC=$e;8IXlgW1b>*`#9&TMXnz8-rjkx zr79e*j??U%_OS~7KBc%gS21@2|F+L~oWjz;^>`NqxU49RC|+5Xi*fb4z$r_H^ma6m z!_u}V)5LvbI9(7ml34yQIvOKM@XVq^S$Mewa@UV8Qph!`%AuG)`n-k*ksB+mOd`Zy z;zIzm&S{*$1pw2P`eDSCS;}a6$b+-oP98e+ou)z!mt`gHdN$0>G4zR$2;I04_mpS%IQvi+$ zM#R$~zg$=faGhvOss*4+WsypT{X+mWSbR7efEMN<5FS^P0dWfcVg!wwNedAXnB6cc z38g7)W4taOS790Cc$setBB3kDMRo#2?w*E7vZU&L&)ID0OF~0Ac|Uv~>lED<^^bE3 zpfB!85_tv~nlHT0DBm2$%LiL|#rw}Ye1LFm3jMEuw67=6tN zvZ{?%TjZp?w}!w-2{q@ozf4?`fh6^WBIi?zf>)A>h_KPN!bs$syh}gf5jSv6aS&S@`^B4jH6p1G>XOq~^&XTM@wW3*3)|g-x1Foi_4PJ{Ux6lt~09 zdR(iP7|8;?=KrSH&qfIz$-Xr8$(dBZQGCJ6v>8MrpN4l-guuNhm*MU_eVjbY3k`G6 zE1{^I!o%`cjq!0nYf4M0iZg|E#92O)(VGWa$>MK-URbD0fAAjT?*E51JBn~X$G0hO zSA14aMK4o!qeSI$QRqN+2{#K@6Nxq=m;ehw6KKtm5eziw8^2q6faOA`rXSle4hNU` z$_~L7I25o*D3!D^s0x7tE{c+w&yd1!`WOvx9Hi(RQ0Uo^5UPLJcPuEuZXVaK7w05P z;ml^#PtEgBK@oMM?`XGfm~odFz8mxAm{I7BQ8qs|?C7Y?EXFDm|O!xL=w9Dmvu>V{f1RRr?pz5Xr$}Vxv7%V znX=)~Zf!P4IcMswpMl@Pf=+PLb_qL(Ez&YfbCxe)mkhn!3!=A~$z_ETmv%n_^rn8L zYzg0m)Rxfmw0b#&v2Ng_Tx0U~{1Cm@Ft9w3KZ{|Z(bdHce{9ZzYUyUl;`G!31o0#P znl6WI>289xX>XGGvO&;$gTi|27h~6ou0Z*=E(B-`)^OU;EThPE?y~L$lc?*TL38l% zwCkB4EXG$Hnt;+7+UT!Pk^i`Fm_sd~#WCaQduimVmFtr*kIGjRHepPokPL*1MZy4jJ2E>-aOpgYIro#yh|3kr z_C-O%3NE;? zh(Cz6U&Jnb*qFM^<5@D1CLOy&ncg(1d~s@Q2(oJ9gB3#Nu6e;fM^(b-h!MfbJKWV{ z6zC1K>kZ-utQS+ob6U}#S4Sn&SmfNjwW>!=J~2JBsyh{kgiH|Y=Kdt5$mizybI~n9 z@ZXZFBOpe17+%e8!kUe5%qEx;G#Khcr<_;7cVk~OtYIL%Amj)4ORMf^k0ilmC*3na zAYmGe7zAnJsI-ubJBUsZGEAL|&UqM&BGch6)-M2#g4gFN{F(kM9HwnWoZU2%qx3|k9*PKgZ$)3+B z^8czGfxL+UmL#5z9qUBf8j^mD+d z?jUb5Ni<|wRHcHQ_aW!;U-aEQ9KFmuL+o^WFj~h0;_(gAn`6436+ zX*qbs`W=T5(M{z7m<}!o=u7E!2F84FRuNr69s{-{od4fpelHQfygI`Mhv4dV;p`D5A#e!ejy z6ZV9+4g}w_fO1icZe0|elN_~esrWhbg6^9pmI=ulbENv2?)uP8&iZopo0D78#;+Ev z=TT`ki$Q~gV1BwaG`-5ar-Fo_vP2>nKsk*i$`twAk!6FNE^3M1X%Ix3peuQka{LN} z$Y5%cx;Kr01T`TFn$|_o%zo&;z4XUyBAXDvY8hljPU6fJ%I9bVsFb&k?D%N? z@1$Z*w_v~=ER_Si{6b}3ex|J#1? zp4aY=kKtVw0|@w30f3iyECL9-%)**{vhqYS>XP#NGP37r4A$v`)3Bl&wmG9-FSZzO zhOFdhe#tQ=)0IpLcguc`lkSfWe8Tf4k1wwnDcX}K9pT})`#rfJJbBF~v$Z#n|Eq|7 zkZ+r^ds#}OgEpB`ChoWFFMeVJo^7t#@&&t3xvJ7RmwFzK+aMqaA`3MK*fyF^iZ>;N z;|`d@M<#`(wiH+-O94PAm|^~4S3s9j6DM2#hA!tGthsH1kprG7MO!jO-6oUTL#D^D zG66XVnt?P^R>TQ_(6Xj~W(3>A2q5A5S9Eoa~vfHv+6M!W=L5J_aFUZjqre$%1s)rFx%Vd zI*p}+sUB9;Ny1~dxb=+0>&os_&P_v1-$V|o5>jMDr>GOFqcE&09iNVp?Ri2zN)IV2 z{Jf{se$Q0PnoSw4SHAwYZ9fP@KI#A?3Z_>6gr2U+O@31X{i zYU2RlJ8jA=|?+yD98bpTbS|_WiYs8}rp0 zInq&Q-+Hc_{3!}%N?9mD!G0??mM749if|sOr@2y)-#2CR)PLmK4a7dCi&Z>0*Z=r| zqQ?_ZuoVF@g3;|$nv$|@qNpMZ3S97Kt3 zCk_oS;IKmBAw;yvV~N1};r!=C)Mf7$96YqXMDPxYoP{mW?iQVHPZvXRrFGXYT$BQh zD`Ee>=d+AnvRYd^gLpry#o^54^2$(tjrAv;r^j8&CA~M>ycm$d&G%%OI_AEOc%X!ArB1s zIo6uJ4V2)UwjBvGDmRtxDg*F8IHvN8>;!ps zPJ*udP+d(nsB-hCs+|ES`Ilm=_LoDR`D@xwm~H>OzO?3L6ozJ2wXvl`=ij;h;OEU1 z@Q-2Z#z>pbdS9-VPs)0ErFjn}=dTHc2an|PrTND93}R|UKMIZDK2v%etINY>@R14Y zYk{nw$V}M4L}QkI`Z*2tMT3C4_+K8!zMSa!_lHc{nx~V&=S3Lbu=msVq7j7W?0y*C z-2j+zD0pws0V#R(dkDfxg=q&(-;1;R;^OYF#$q?~ZF&z;rE>nPsXKjUSfXF$X=&JT zi}f9PN$CwnUf-2dSS+gtViiUM zP&~_?6>U}F{Ieg0Rh{DTbo4s8CVrUJ1T-L#e3cD1`xjSW^|8=V!$vI~jzip9fI1zq zMbm$erW&Bf{#wFs^ukhGl1ThH90y9Re<5<+;}CFanC+PZS{e&$ z8)@!c$xDC4w0snN(9%vyi7tZ4#;rJ^>DA_+Ts5G#P6xAr!~rhc`!|KYr>hAC-_?H> zKazQ^*o`0b8i->7t(P&ToXo1^WuROm9Cu<*i^(#+EPrQV>8k;*|lp|C; zgkUR&#Z5`QO<_30`@GJPTC=&E zK;B)wJacZvIy^s&M(`Ar2!V6S8ap8e2B@e(+W3ELXSz5HyLR%KmJ~9H4s=CBnPGMy z(T?51=%`JKZHNjaBoN8|{pXiNlF#$XpQpH?dp&$Ibdg=jg=lrXJ-I&os&HJ!ssO#(MhQr5GF9xi4VQLVT2ef zPxTv}<)UWfWh6Yqg%Lp?`XXeHo|}0 z3{0g>;pr3x(nX{|wHcOJ_j_=aiG#uWnk>fk+5fm^MVO6T(23AHPL$+J2Z7blvJg#N z)30sQiB{fHo|dMj1cFo&GVTXDnK5=_93q&g*eYFPfWXU>8X|wlJc9Iop`u5nw#uFK zFR(n4J(aS>kuS)mGN5xAbxN_NW?ZtusPdP+t_g{!dxfLqcu^&tM6CB?%OKYF9(`+i zIh9qyiD-`n;Q>R(+HQhq>M|R@T=Ev!X;6I|9mQC~UYEE7K|a*iwdaf^F?1eWG!3ag zLM8NQx$lIo<3Q(SU+^cxkL7W+N#ts3QNOwHWVU^jA1;wAb!mm)$!TXGke85(r;~gZ zDx9OZx-(p0>f&#}VQTOz2~5N60TQ4?6M;XGejuF(p*%lc)lKgO++h5ZCDkl)cP;?Z zqQ$k|(psq(APevOL)X@kDmCFD6QiZ{`o)KIX}R8Ek*?Rz&(1PrZ-Cx80W1jQQQ`L! zkvE-M;`8$gLg$;q8Xao%QCX_%4%gaykWI!%*6Roi^4Y6MLrT6yIU^Xv*(CDQmcEiE z>h-2+lmsr54hhh(fzhCpI!}uSHt&OScv7iUube*5>*hNExCkWOv`aX0G5&Jp6`G+8 zSWXQjh}&bV+V9bFPZ+%{#DqAYA@g5KguR|WFy-tqfP>N@YH*k6V%^i2yxRN?%lZCE zzIv)`X!@y6>%@Pop`|7r){cw3{jqC0lSSsPY=hg!<*oQHulp;Pr8l1uf6>dmdjrXQ z^unNo(lt5uX&A1gKKqsZL*#UXm8DqR-kV`V`YB9}wRD-vf>+L2H$~ANt~MpZ&-mX; z&@Ao+>RcS4y2#fF5cxhU8)>rqa9M#NRXLjIXdVtaGancC{6GxA=!~Zx_9WHzj`^Ca zIKO#l97;`Q*msuJ!t0Z~WrJ@AUt`CYUwr`;V(x%M>} z0XA`9IX~$KYqt~J*rha`u9Ky(6(X9>C2i)I%Bi*Po`$+}N_)Lur1<{URWsL(xuU@W zF-aC53-183H~}d>n(!w6HvH0AC@QT~5@)sBnph>nUZ!7|awn^xDikHkyMPgMDDH%W z`h0o}t0T%g{bnnzB=K3hP;BeNbKW`uNu(?WC>qU6ePdP^x{OQgkg}pqMCG54F?gLn z?4rN6u^|I5^$Lw9Ic#*=BhnXUkU39{d$kIxBic9aiJZCj&u#UAgOnn*dTDPj+1CDE zmPi+l2b}Ie3MA=*+yxH+`?b=#N=%1@lhDMK*ER(bxo8NOS_4K0xkkR_E0br-;@wLqMQa+TtWdASm*&m~3NKFa zqL?xs&d_kEldxz+W#~K=VFIjH$k?2BiXbuLs97NdM1k0A#(nw3zF7~7h)&D_r8Wx zmBB|g*qPO3S_5y1PEja7FfdeFeU+uXo%1oy-usV1(~Ys4ckXF21atg+X}q|ty1s58 zuF5>Vyu1N)OIRM2dCouGW0U7V>0US7Qn48z2}<-bM!Prz^~}}10f~#SKyNC+XXNY0 zwA|=oY!wwsS6A5I-LW(@byFlF<$kMsvRu*paLH!EOg`~lEnYYZ;Tfn^Q zPQ|i))^d!{$+Gg;=WI?wmhHjtpn*o~1DW=mJ3==-oCdC~mN(paq0&5WbAe;dR#UY6 zJuE7#0HUo!LWP|02}DjDzr1*0P){>d4+Y)}Zx>8YG}bpICED*(niy#qZ3?l8e=YRX z?$1uaG@1ZG*Hfrs>_F`$St{-%y^`clEskIQEYet{BJT%Y_)IQJd@l#eLX(STnPe%T z=>X^v6^JBME$DXg;Lo`MCNT=fBlVsr-!QWQx>higjQ_B|WZ1#<>GGpxUpARa-L6{Y zM4TmWCazwpbhuzX7c^<6la|4DyG`tIDw(BQ(D2OV_xY;GFJ|gHx6A_&JbNGfE`W)0veJ-_6C)3LaiY7{N0q&pBGXtYa_L|gV zfsyD?T`Hc?OKYDiAznR+2Jm5kmU%d^QA^Z-FBWQFxtzG*^tL@t6fiB}5 zqPTzTnJ#%&!!WUt0H*PDOx*p^Nhhn9cV?yk$aEc)zu)u8C$FHy{H*6r1gtBw&H0A_ z*MCgfp&}OL65g1=-_y+?F$$-Y@NEwtEr{d+S@?sVX&r*1oMh-HhuG@O?Cot+)5fb$ zd*RroH3Fmx3WgdO{md*w&CIcKj15%UH!l#afw=VP<3LRs%F#*Y&k)?t9)0^H4Dw_T zHnvx8fTfIOP8uLxh{?#*ZzlrA+vM|rHoqpJ9#OLT=4nF6qTc2L8MV`9RVIQa_AsTl zcoA!iu{AWrq#CJP8xoz<<|iYWUV9xjGQ{C*h~a?tpd3-Cbyd+YY0k1s%P^~j&e*)c z%a9~3gESRDLPR?D#n9Bp+1)1)Uv=SwKXqz)pEz%QQRc{+@Jpm47^(*8`yUKj%jn|7 ztP9ve%o!j4P<%8M-O~6$-`xx4uFVwKD@L6q4>;kd(c(dE`a#jCpg~xqgBQq&f*6&B zM&JBpgANs|L0%*m%+u)7tWHB7ZkOMrfAogl+Tt@Nm^>$?j}g)bV{MxtLpURO+`U@~ zjb1n*_ge%~VSM0HzEDBWVl z14`Co5mk(3BYE@W_^*AnQV#QN0@%3gmFu>jSf)n?7%JQu;1DBn2wAhl({a=WnuSmN z2si!OL@)1$l8T-^^f{o?+G=b-2^|H23T&?sgcfOs5+UA60xb+WcFAa|05S9 z@RTM~akNq-gNY%+(FX~23R*ov5eGN+7(235Un4$#LbRF+-ySjNN>5U~dP5H@Hl+vQ zA+vCyEPY_PQs+aWcimN(u}@OAZ}UjLzJsQouuyhVg4hx{N;Z^gHz>+Xw-9oH;Q``- zbd8J>@_H2L1t`!117q@m@J++M?ZGZdym?s5twN+FDM?Y|Xes9VBHN$FAMI;M{prde=5M16OBmy6t!eN>u&kxKZ0U z>A`Xp%U0m7>d<8vd}QeBscPw2N5D1O9&N(>8eVYS=8Y0u9JpRma}T7aj6M0>=aZ~6l4n&y!UKx8UWwG0Iv;jmCeX+=FgzszLSdCu6{ww>#LuHAry0#ia<6o zq@y^RJ37kv-cerA`chJ@ALZ4Z@=+EUysGyQhbxv%-JivO(J`PC60r-pGTxBN3Qbdz z^FvL0<-nquUE?}9vubU#Z8W7ks5t>z2Lp3{0LTOY8XVM=*s$akEms}Z878=WeuP(T zr~6H>9VjO}(SiM9t7C-*|A~}!oE8S7i8~F|KEA{MyrUx_B#6FLg5Ew`ccsK4ll&3O zgp$IDhW9bVUm`O{tO3WRu;c zl^s2FU`I6EA>MHnRvpZ|vi}g2`B*}P*;uvKHrnd@w_ zgklnDNlf}%;Gs~#tpN3vHV%{K#@z#v_X2LMabOh>IW4N3k57k zq~X9`pJkI(M_%JIp!>aeqh9}%Mz2i*!uNSzf9H@-MbDjg35%E0FXLo^vU)6y$GG@* zD047A@$(erLLtR&Ua^mbgm)V2t{N7tYIE7q&SuT+2ZU7xE>BdRU5jF`BMx1pg!UrXUzs zOiM4jdB*it|G0~fDJiU79xn<&1x|EsPu=JTTStg2$5MYu5|RafQD9O;n#Jh7GL9VB zPvW)>LBRtz!HR-Ept-|7pJAxYeK~NQ_MT@<%v;;oU%sD&G>m{0-A6ytJvCrEK(_j1 zWc}o`jp#e-)940st;j<|e~mh6@khVZs-4UHi>_51Rr9Elfg{E>;tqxxhN4Pj{v?%ZM0zsgx)wWRmbvf$TX)I&8NNmikI2JS_W z6yI1+YGZW3iuT6ql$fHJC|M~im)u5MyxWnZ-%q7{RMQP*DVzR){Ds0NB3HL+A$>8g zQVws0(Pen5xIFJReaV&aqVT~>bu&S9`P(Pu?Pz)lWW`oYNb!$~T1xh>9^R)Zv=rsr zuekY|KMBM87ho&*SX7BWyB4&-y5UTFTHM5Pqc4C@-aM`KU2$)obcy3Z+yAU=bytja zSM)wxpl?( zSL0T#np8@=;yc2tg5+D{20a7OWlUofgk}FNHH~(j;TI58I7cp z03aW@fCl27p;4d)eRut=a_Cz5lP$UmQWe7)6Nc!1>Wn-qtvXzNc*p}~Bvx@mFkK6( z{+wrl91VXPTJ!t2_&=*J*Y^^|FV~8~E-AyLG;7A8#(D)*h-@=aGAxz8zCyue}Zt5Bslk1g`GMu}u89 z9&fCPjj24mR{R_L!9Qlwak|H@|Lxn9vEk7m4l)hpEy$scc2F$1aR#4y^Vzr4R%l6z zov1#%IP7qNs5XeaxHDU!pEJ0)o5=z^r!U0KexuAEZ+nobx4#a4I~Rz{XR`7Bxe@Uf z1%-u=oRMa9-`Z~Fc6}5&cUekSa4obTkL24LSo!!m#uxc=Cr8)gHq6jid*2G~>Hfv_ zSdD2GSZjX7vJ}7hoZSLQ$}2nn)fKz`$HNq-oPz5`T`j8*o~w@)zkBe=ZrZqBh+^A+ zVLUcP+ecG0`_cd~7!W*#Kp}u7Aak+Y3xtDaF3$OLpqbXyD7Zq2@P$RnbqrJ8lf?A) zYLKyovx@x$D!{I&qqgNfQa>FMN2(srr==IF+YWL{yvATSP@s|C&=LTS*j*d%^3|Ywq+{(3Lvd>y)@su| z*5~p$i>Q)b;Bvq{nEd9r-nGx>oz+{I+lM?!yy_HeD75nW`&f7X!Z$qh@PA6`x}O$u z#MJ`q{H?c*A6!aie9ybsWa6x6-|+sy;uojp<8%HuQEg70i{bb9w>jFc_Xp2Dd1-cI zU-Wn6+p<$nYi!Wf6QD&{C9~IL0zW5&hAO8nAnx-6hkk;bOu=|Yh4CI5x)$H({0`i*-qt5 zhx%ui)^6zhq%LY!R@B~Z6>n63 z&n4}1afg#n^J39nl;orfw#C~qVLXSu2<5jV3Xk`xNd74Lo0j7fWTwYX;M?JK{JptjdXJhW2n-W*@Ks!?bs6X;`|I_@#P)p_0H_t*GeTaz56-npfd zr7KG;AG_bDjB{50_hPH4%>3JyvLePvRz=O`lFBzS?DB&A%Rd}0JJqh@yO`xfu}oCG z42OBM9<{#`DNr`ev+`V_{;WqsO(74TIw^!D76KxwSKGtzd&atIbIomL&uC5&!oo-{~ z&XV5c$66V3BQ&hn>|V7i(V{I#LrZSy-;3S_Qw7)!xqX!z(2dc}ay%T&q#IXd-14tY zPIme5qkp@5JJ=%VMy>ffhhDu@tT{F@prq+sb*mZHG?-fJGUFaStX2u1PP^iKZ)~-Z zwPtfT{gUm(#^Yu66MyUQJX`3w`bMc@*=%^x(3(T|kj80m2aYG#aftqb~t_rVSG#Rb0H{dq{vxe5~pcbhy@*JK6_lHc1M)` z%K=^HvipkEk0-QF>Z}~oGgbdk;iGL%*+m}X79iGG@?4zRwUB0qZVI74$ZZ4kS)>jr zuV5Vg?|Zbsvx=`m#&1^HKUIDqO)r|4p6go=lJZfHz37$FOddsr=U4uzJ4B3No|t&W zYL?ST*~bamr<$fl@QyI^7O{u8dq*vuNjNPHiK>P$UU?Ac&}FKbS=e7-hO+k$QRSQu zc)V3FUg3YsMH8-|na`dDNGadU%gu;Q$$Gn&Ve(4P_9r~?K3(RLfSDtG<<-%pPJ%~|Rdb?5vt|DvVSv=sMYJ~wy-k;13R=*!1c^ZV>GJ-z0P#jXl* zY`%`3+C}Tm*PNhx;iHKd$qUo8m#tE+^-yM$wdz?i&+oA|AGM4NvGZhPSg1oom#IS)YO`R zU#1n8=VtqdJu`ELqTQl>0&~9BiMw8Mz8pUt@zg)d>z!DD$*b)zRkz=Z)IiF{ajI6t z+DyS@nejKNt8WXi`ss)poz@cq9razqZ2{&rW#He!UDO}i2%K%sgfag#_cT^)WS-gj z=HcKp+DKa|$lNzleMo>&;ZY4}!7zy2LrR6oNDq)cFy@dtoP4dAteY!iP;}i{-xyJMxF^`RY>l z-%K4ad3JWl(HSc&bN>$KJ$V`VICrO^f%#6|nQDKFd+I#1$fRJS+aA7zx<)z6sEm8x zuVqXwXzl9yn@$ev1RDd$2G`W zSx!5lHQ4`)=(XP(KmSheDbJgZ_s1e`tY-4}Ed6RUGp|vd1P)(YFl7H$6zZc8=%+jX z6xk?b>|<5SvKZTQb1_v}t$cvtTS>BvR>b3^=hg)bwmicwhWDa`7(G%WmbpbC!Y%IrRkO>5+cDK{%AU(=nAo~_=I+PJy>o#MO>Zu`DrrPB$^7_FBz05NvAAuy zT`oHJy@R(=+=^|(=dRpv#-|=Tu~D}L`+u7Z9lszw{A#a+eXWJLY5QP`@=)->Vm$ZA zow$dv4y7iKANw&M4Y2(!CjD}?5~)_?qBMH4c^l;k+9iF zbSj(EXZSoi$f?#bRdp?~=Dv<5ZJb@2XYW^3_b#I*`tWz_5F!b&~D9ADX=V$&nr}!AZcnv=W(!t$Y z7?4R#f9h!`7(<^MgM*)+c!>T~Qe3ooXJfO5z0{2XWua+gmW-H4_^MP(!LbNUTT3A) z0^0E+V+j)5xz(-jE#m~2i}iLAgV$m+dTEUMV>6(`0`%(PYiKbMM+PM)*@1fahXLlb zFdZ3N^YJ8pevT|b)vUuq>46AGyp3<}R>(UwwS*M4pQu{bzTuv_z zzHH;#iBlU9eYYVRVNG9Sh+AWG=o3?pR!DDH_KH~tHH$~STXd6Lc01lANcvyyjm=PW zW>t31SN6|PJ$GhRh~s!7q5N#;e*kMhl)p_q$w%HoRYJL3wsw>X1XV(*iv?sIQs-sK z6BV4oh-{}(duBv$Hx@V&jtNm1;;#9VcOADDQ0Xp&?mNnNanl4-?~%*GAP=3QzPW#{5t&h=wI)<=D0l(v{aqfiUC znVY$Zo1;JiqmTl>8JsCFoVAbw#c7~fW0QAsmFJ%jic=KnQeNT=xU~TnNF{b;M>aK* zLbgHKa%7_E0ik(@8HsCiA&Sr$dN?|r(ix=A zMV&zEoT7u7KN@68dZXu5qc+;4(dlE{;DcEAl-i&SqCz9v2XCU%0EbXjp$JwFa29d5 z6K7Z;0iqb`7$*txUet zpz2N@5CSGTU4L{>XBZ~}rzZB1f>72caUu*#3Z_j8rZpF&PCA|EMmIe2B){%IG0DvbZfC9Jyff)@9;~5))Y9x1Z zkm#Q!r#UkdjAg_bs)LNtfLj#+3kHCUaLI5QCUNkjJ1U8?Pjfp9K0Vpg)(Fye)MLJar3}$-K4Tv(lSDK3fZ4dc6sRy+sSISlhisyR=dN z%1zaJSKZc0P1mI~a+N7SwClS9-0M~2I;QxBwgd5JjWJ+jxf?3+6K^X;ivcMcW*u}p z00U6Bt8lmb+EW(C4Lta_gjlG9`%I08Ka^8cFLn_y#wFF_pAiUCqd<(-#1~Rg4#2Ph zD`o%&5Mt|Kc-|0Yr0}^Z3oR$xU8K-EF8jJ8@T$U=R&Eh`U$w(-Wjp6m4GEMKGADDJ zkQC5_6ie(3(DcMl?8Hft#7iM_avM!pe8kZdymNc6s8)c>3nMVXyv{4V&KteYD-6#o zo(eQ@$_IsR!!R@9tqqU@hhWF+)&QIm0DJ7d7ErEm*S0H+6K@N*`$umC7rObi#7WFk+(oT@A-HQWWNs|d3?48-r!yB>+Vq^ER3 z3>W!BOjm5hQk>0EjB!#N#n2>kOKio^Q~}OF#pHa>NrBFDo5fmOfGr_S$J!>>aHcsrp8Oex@ z6E_VWd%2V;75VgN%>_?5GeV_Gs=X$|?BuE);JU)LUF|`0=ae5abXor<8u&cn)nq2{w?9rTjy|(BX zkmd}67;1xB%7fbou&@BnG&zy89jvT~Ml}|)48j(1f65@jz%vcDwaX~HsS(Gzgk+ts zB`pwi+##A4H~hM=J4mbu)sfamIb+Nzxebd%KUa*^NRh-%?9~ka3&q_m)nJh#U?yl`#LvndQl*me3mwf@`ywXgyYux|T$w=5t51I_>v5DEcs z2!?H)8s^B)$SaVs5Wie0387(dSrS^N3~GJ39L~{ntI0JY0d^dnqj1XuYtoB{peAg% z_Cq=Qld-}D%O91eo>4848(X^f4!E@dm^%QzoKLI^AO33ME-Iq%q1^BBKmy>ZIqa%I zM|4tiT!5rIy1SZClRwz4)mrV!#4tO? zM|RahN?4^uxIOFp017SvE^q@VJODRv11vBA`D)-2aK~8xTW|_7Oq-yL$~bW={1|Y1 z5dGW8_*t@?I=30!;T_)DAb#jXYs>#humBhV2y0>>JHaaRGL_>$Fn&!C3RB)uEq%(C zy4SHL#^VDJvKb=O)-@*8bcse5lE_d&Ujj%=?g34`%*F;@?uRY7V`b7Ti@Y<%+pWad z{^j5O-QLXQ>Fi8q9`0Gp)^B~p=1#ZpUC)yY&(bXnczxeQ=r(o5DaGkkhtL3h9_T2{ z%RRmd13uUZ?!FIz43n-525V=x>Ed7ix^Wv?ZRJ0z0IQ^$4o`dE8@R$AW%LIoX!VtOOpbW|IXf{i# zVUqJ=QL}6D04D0H8~EhlwQQ@qy0}ve+u(x9_CZpC&Dh@EVEyIY-tFkz<>6h<$m-(raGNP=UPlO@zp|&qb&TcdX|t&;TfK11KN?eC+21umA)+=q&K>4IuCj5MjfV zKYR53+4A{!gin^oyXhRB@fu&Z@OBGM>a%RA;hjear;f0?RRKwS@-740 z{qsL%WLd0y+n?-V$cPltV2FgkPNVV&(ytPRlg-A-Kn+l&++`^0Mh-P&ed-sB!lXzkYMPS06P*K7ZTz^8=3 zN7|!+wE|uDc7Nz}e*--(=zlQaf6pmJ3lO!qQS;`^fPotl6gCKOOI0;$1SJlX7}26P ziv%HJ#3*dkDgzZnZh$4y(HSGF=N(JR!!L^ScEn-iV&d@fJTi7E!gC& zs4{2HkRq+7v}sLeO{>|gS(R$FWXZ5D<%ZR(%}qapiZsAN71M&kYF%0@44GTC!razE zhV0VaVt3yP)7rJGu)DPccnBfDuz*X54dX3_tXSj6#nMS`Jb4@B$d4VTL$=CjQqZtM zk4`E&nlsU`Qlnf=( z9ku=VTgSfu*V)fMf((>zm|G4KNi~uxC`qJM23X~fgFp_T_BpV1x!U`fRiO5xM zP)Q*PT$1U55FSv)C~I=sX~duwfMt^tp<-$&7GI32(P5H-aos5Sf>A|bR8&UZO~L}I zkp(Ik;D+*!q(-f~uH+_4aJ(_N8gRI=3$K8Yp=&LOFL{8i#1>PmV#KJ7%uL88D-%tQ z$8@Zi%LIK>G}z=s*|gZ~q?5JR=v=L~*=jCvlRyKV4W&Xo>-jgJi<7Gsq6>m<9O(zAaLzq{4kFs)A^&2ETM?tV&@g z->pWNnzS+!7O^6zpox8*o!4N%8jf<{CSiALNh>9Oi{ixATKLPu!pxXWGRZVk%`!C( zp0YP%mhu|^e`u!H)9 z62xP`Q&9s5Pl8oXWhm7{x;|u-SanB#`n!cP2r{gLq2pEtJD>tnM393qkQ=pVfGVH` z5(?>!NC}Bnv~Dr~Eo#-`EU+j*1wy1ap=@9ikAvL2oRT6GF~uo28ig>tqAq2`4u{T& z(z=v!wtD>tUll0JD$WAK*3oV*S%S;LXcw?8Ni1M%>D|RF#+Z$1hIo?U%*cSpu{YH$ zDK2Bp%TD7mKFv&wvZ0Nht_P@^UC%QmDp7Az5;R2-XE@*+TG7&XH0U^E6i!nJdZacU z6r4%|E(2gn&GOGZDqH7Eo1w|qPk!o}$BcqH6MyL@=7I|YBc)I~Y z97M!F7!iNB=%55JB&})Dq+YOCzydbllb~#%ao{RaLBiF-7naLL$r#2cs-X(eVWo5P zV#ep1lqF^VkPZMq$=7*qa75MxOq^_aOF8XQ7c1FCF1Ulw6M0v~-)SZ?lL;R2%9O=> zhA}BITiF;#Qztd%DKyTLUTs8T$C?3Z6)UWx&lZYDLlvr-jso5Jpp!IbSfdsrxQ=!- zC7w+&paF{%sU{yut4XSgQ~c_V1XA@hRH-6uz0wag;P$Hn^~xFN0FZ*JK|u@B5`!wS zkScDG5DY!*7EO~$wRSm_oirkG!t@rAkb=w;xo9aZ`kY+O0wb#6XkDy}os)*4icLfS z06y7(zMORygE<2k8C%lB)ak^9<&|Qsi^&u#_E#$gY)oweS(+T<#W780dtpS`X86+}D5&2C$0x9b!ioGJ2|sN+VO#Wf*(1<@GZ)&v0x&%ec?QzUGZPGsw+ajRhg%ckpi+kwzg<16oUxKwtAFhCNLgRJ5W6*9mZ$dVEZDdZNnAlf0WTML{p zPMD3@NiRzREBt`wm`mA}3weZMl;OvMrUw*XlF^>&=r2~P(f1# zmWZZ|q@izp)OrA>#M2!XIC7ERS&sz{u>xp6yMGMPBnu8g0N(14e+?MMu;%kN7R^W8 z{#l^7=X1dL;s=8#iRIq-cA=m~3$3v-oVMt!lU@pGpdH0M=o1}{yH-e`BDh4iA z7ka}Qaka*Ltig&A1xa5714(Fvbk5X-U&HFo!L5$4o7mx^#@x`eb=O z%P1RHt5JD6lOFayGwa?oRMx<;S3f)w=6N!2iADZ5hkia_Kdp_GVCUU@9&irFOZR~O6;x&?v(pw0qSW&i6~E89p1P{IQ6wzps}puut_?p^Ii zZNGZkauoFK`50vGL|n%nm&*KurunW^;i{w~A6}Rw##Q=)4jfup|ondB%!MTqnH6BLH@!kikTP{M7`8=!CK@+pxnhSx(rw( znV+P+8w|!Dln`OmJu#9K&B8f{BEpynKF+!$CFD5^Ffg;B--6=cN}s3E)1qQja!&e(=7DoQh% z#Z&Xe3%fmn62{7sNZ;S@X9D;AN@&z6|h2X%)U%n6=_pX znMeT!FaTa!0CkiAk?NmTfVS&cfoaJa19(dyz{4V=q~w^Feb^5G!H6{MDF6Ww{U8?oc%Wf{Aq8CtRfwey z`U7Tp7J2&xK*Uf}ZOnw^1YjV9dbx>=QU(!q24)bXT966sSW7{TiM0fwN{dBdfKkvn z2Zf=2o{Bn5|#?1p6MhPp^i zWdH}h5+^0On35y8EOk9tEK<&p&I_xofa<|E8b&c1F`vP?nJclKS)r7`%3SjkoS`07 zPzCZFhNPiJC{%{5!5>P>zNfi5^;A#)Xu}%lgT4p&00{`cbVP{o=o;}!fnoTS0T~DW z7>8XMhxtI+)5^=YIW2EMhjT!hq_~0Sx)8ltg;2PKFSC$8V6L#>gvA5_qs>rMJ%U$Y z1;QIIVMsuPjR^~|fDc$ptG(3?Ij|GOoh6}CWncz{Y0h!IQ3EIdLI40xcvgfg1WphK zR#| z30M?E#x+GK$t{UHGon#wK{=gMYjlPN;KGs0A4YGG7CB5-E`qEqP!G<_1(-o>hA+4{IYh zs<}EMQ#k2hIKhpD5{VTO&yYZgf>jL_mXL2!1iyhzC>AgbQ|2IhI2@+?QyPyu)LsX$PF?g3o1x6U`*z1-auSh zTL7yVdD@E{q?ix@4&Yw@4hVrY&aoV`0PjU(1543P+T3J-CKyo{Jyr%Bx=}(P0sx5L z3q{EPdxc*>O()HYQAp%uSmZ`#CPf|?XyS`bYUF_#h0JMWkB|#Tc2d~Mih;q3P#)z_ zD&?*SrNzRqSHs}ui4E5n(}ap6?L@}mBjJ=FlH0hAJ5ynAVH{q91 zh*VjRvmBuHEVd1qTGdkBLqGxU00J23Iuclc4>-}7;0uY+mH!-w{~S;N6(x;OhE{s6 zkN}Y?h9zh*00mgyE=F3m4M1z)k<~$9BVbyYDIF5-BprFk?;LQz9kN96^ zx;sm70E1jx#za;BRV9W){vm|^-~YvAOE$R8O&3dEWN5nMJ>FwJwmXl|3YF$#eD;da zd1;#f2ObH~f~dV;WL!L%nbgo=n~`M?zN}iqHCwh%`vhiQ&WTRU3DwwyZ`w?5hz76J zhUSO{_UWIlTMw;q&p(B>soju(PJsh(qyzBAu_l3SUP}?Eg*05CNhKDHP#^0ITejE$GM*P4T)5yK4;29$!$<)T)NURG+$i|)oDgu=9-yR!y{E#_5# z2}~gyv`m%l6V!hWXr=Q;5?HzhC~FZ|@4iX~^;-ulQ`wzT;*`Cz;H5Gr?%l{a2zIXG zZUN>4+=O_(Pz)7pHt0WK2nP>=ulW#$rm=uDR$cb^J{_ehB4U70xQ-A|tu&@%ySqr& zzGKraxKXf#Km2UaE^y~<$#S@8MHX?A-rUWuAsXN00xn=C@--Rf<3!#HmM&MD=n9oi zrFlV6nYL*RQ=`RQ+&c-=pN{1@G79B3z@wgSq!x-sP&5*0oC8dV&4ub>wnpcB0Pj8( zBICyY(oNlGt`;j4ffNt{5*UR8IPdk|Rkd!vxUtl`yze)>viX=137QQgJkmhKS zc5P*d=Yu40qeWFuDCBVX1#1Z7AJXI+%IG>~XoenXJsxS%r18zg1AL3J1SO5zw_nrvjj&P25X4nIb|Os)9U@%YC(-` z4IlN5ee(xMYp|a4Hy44b?Pj`R4m>xQm^I?|Yd`tO$F@<5LS-E8GIT|QOa+MO3vKlO z3>|`ceuZge7iPL%2`|*w+;lqQ^tNh(H^4(d>z;yn1Bg5068ZC zy?^tnO>0$ysx7tv zaLZoW^aud`(C>7KyDyi*4)Jxef(v$b$zxTp1;mtmQ=NH1EaXmTaaPEATi|*B+Li?v z@qKmi{Rl*D7^xw<6U}lx`a)a!isf$+u~^>vI74*l4tqn- za_=`@yE}KZpHr$n0IijHXv5AWXYxwCnDv3SyDAh zm9SdEQapI@;X?oe3o0zwV6@SO2ud48FuLJQlL`ZFFzDGcL<&{Ov?}AemEr`jwpbA{ ziBctqlqpY^eC1ZbtC_!;L6oJ;uHA@w_2!M3OqR`2qmqrnwbb%}fVBu#m@U@OrOHODcq9@@W}USXS}n0L1Wd1V zvWW|$NT7@X5DjPnP(T#W!~#VfwbW8hRnWv61F&#I01s@3)lFYfq)K0^L^ReboS1Qv zN)@ifR!ri!<%+ z032{jZ-t_7F3WiRl<*|KaN9WY18h8Juv|S?8Umg$Ac+u%zbyCup0*e5Y%(*<7fhitg4M zAqM!&oHEKOcU*DNxF7)vNCzMR1DZ1M9CX&%_<(mbgy6vguA)l9C@GMTg4V9KCqgZ% z;QCNCTE=UYux(Q`cZOW$dv-|9KqQ$Rv9vr^<7hb{d{>lD22cFOw$oXPc}7sLY++ zIcRLM?Yy)3gu>=1q<2r69Q@I2f;0+A+mAE@NlWMdDR$e9;KBbmAgr&YDpl(7n%Bf; zl@yF3Z4p`A+C29*0Sd4?A>a;pHt`EvL~2ds1AqDV660z7Xp<3Gte+wsT<88mrAO(0_v9GwTplga5cefm>qT!Y8d z@F`EQFaRtH@S5^1s*sA>03j++07v=E0Irc#G_0|SP1FQw^g}`Z?w2$MG(c(=@J|rBz^_RR ziEn*-B1{Tl1}IMA6|`FzJ{Q)-E^g5ly{j0Mf(JY+sxf$rNh3zsh$}v=DUQ#x9`z!s zvXn`$G!=N{9=!*PRcI8Dfr15WXtMx9z-FW%Wz+&1xkyJ&a*_>LVR-1r0v6QIk~Ni% zbfi`)55!GaV-vwCNst~`0Tos}c|Zz;Aq=fR&_-^{WiACMfKT?&R03!K63XubZ{lbK;a!)gxX%!1Z6NV}OS^#d+1(I~7s8QQwPK_>j!O`KXpHDJYS$`3v zcBaLv(mKhI=E)XuQ1OaZv_4U`fl|^CIA-% z0WQFJmfyZgA$h(c2-ZmEtE`e%?r;EHKp24L8i`yPB1K(wMJ|Hfb%V}bkOLM_#k}mI zFWmjrh^jLK6Z0#r*EMTMF&P~HWgVtZV?DNEj&)M+MlmHaK8bh)&6q)tm&P&@^y%V$!shlakOC3^V_ zW;Id2&=MUS_Dqli4S?>uXLKTs<#xsHc^ti`Wp6|)wj!JO?yBC-3gv`3{>y6MWD8MhcfK>=##f{1XIL=i3L313!nMuGO ztil@x~TD<}Xbcmf+RkztM47_Nov%|!Q6 zmOYyPV;jEM){O#-eV-j78`+7S*%c2uSi~RZN+nWTX;2&VBw`*VV)o1y9wDN*iJO{K z07v;>nhan9I*KgO5)qDyTBX%gdE)0BfD7Ef5lYuo$OsUyfD2?tGX+bqct;6(%>kTX z#pIb$eN9o-qNSZ2fz6;TLDkf_z$bJ<$MK*`)BsG#1Th+83e9B2UBwE_i110k4K%B{bjF4V^g}%O@a!I?7rYRtWZCpD=P?)m2@B^yM1v zt$=oT~M8%y(rN+$g$;|ct zk(xx=lNq4*gop&Zl&F;C17N^*Bpd~{W>g6a;-G*FxPWZ}0Sf3Q3PjCzutz6SkSE$% z3gX#%9FW$yV5JEqRoTc?=^|8pzy$mP5$qsSriD{-LOoSWF$$OjfyW0NLV4Xlf=PwC z5yeo*kP~v#P-spwY9Mpe!gg5T!mwIkzUAo%Ng*Vi>qrY;5)3_J-PCi$uWrgB?lAmSp1oA~q*W>%!kP~zTUr1xw>d_F*^j7m*t>?DO6Pds44J!f}N&T5ab0Ke$xSu~njV8}}x z$qx=H!XBny@}<;W-PW;MXEkcFDW)}0Zb34GkNsih%AYbg1CtH^Vv@0jW%i%TxQ4dj zmiVv+%{ZCdVdO@k2B1u0ni#-Q`NV7fL@m|i;oYi*(c261T$BYUq zRMDi3tP)U(#{|GYEN+bmtiVrt=PoX33O(s}xquG*fC7Nnwwl2)EJ?L|f~3`6e2EGR zxC;YlpioSXx~|I`oJ%8A0942j+iKG)41g-!!dOax3*_sZULC)h;}3kohtVYn)mp#; zDikr+FKm#4d;+3IUH4sG!}6moJSf6?aOGaEg7{daX6zm^W+TquAgabhAtLF{44q() z>ZYz}d{6A&mTTx%%92JSfr{<+D0$6hE=tu;_=K=jfoux@fc91z&{kToen2h>>)R-C z)(9zi5b3h=nR<|bPb_JyNU?W96(^nwd2C!A%$mm;lh?Y%1lt00WzB%e;0nO+@43sJ z$nE6}#R4=1mXXW4wC7aZ0P#to8yE6@euC8@^3};D4zNz(@(mfj4v9J41b@O_9$Q}? zYU3IUKxK=7{uv%##Ia4NXHlv%kg$(Q=qe~f{dw-EvPSe^5C4f<>AuXj$uOYAZtFH# zsv;n(Ze`~T*iTF)C*D#k{)CrCAQgWA1`O{5IP)r1v890`c*SCI7g!&lTSwrTY z);X-QE7P5x4C0$0x8Ss|Ps z&ocGTMl-#EV)7PI7UOqLQ!YY#ciQ0#l}hCoD-^ zbOKE<*G~^2R0V|r=#aalt=bNS@0n#N;B6Dekc8Qs1Zac{tX_GP$Lif@VG|kSfZ$ZY3huV1bM~qT6z_BgWhkaq zv#OFQ-5HSz)l1#k0i@9Lu7@*~x5XJH;+%6jGg_m4)mk{60uTdt#`95u4HSD06tBQ> zwWQ3YX?niFB|?f0MH#3yfdbA*@!cj2xUqv5_F-r3VIwxBD>fA*5#Z|0;2z0_Yabg= zFlDJBGi-K8+d?OMAEbsdrM7q}hj5EiC~LzuLxJu^hAO$0>>gF5$bQDl+*U0=8OjDX zMsCkm1}T&avs=$7Yzn7#8~5S)=qf>T71tiJA1_e(Bq^B^PD*d8q{k_dhneFls&KUw zUyv@*V0n>8)`l-Te%#U_i~^MZLpgK;D|7-pLlAo$RWm8$4J<&KX@owPX(J(+&j320 z$jGAyYfu;-}Ur1E^8aN0bpeSH<05nM-{nveph(`b-sIP zP&0FM-Zv=DWKUcIQxoq~*I9EPubm+$dt~>wuL{>(9@DB-!O0>RFX?x<%?F4F3|NA{ z5|+o+nmpALzs!4PGwo3YagUOS1ss5*%oO}0SPVrOqQ`HRJzYO%sMd|bIbB_(9wte%cID!s#NtxfVyMrknEs{1&raoLcPy>wb;8n z!!h)eNKgXAp%non+!$ccKobK7DiEl^Z~>u*1qLuQFaYBXjS?g@XyC$9NJ|qe>9F*} zmJVAeS$?wh^2a9x3SM#IWX4k=orT!!d7nm46l&ylru?rhp~)2!Vvu*wWhzBB4kjVVuL+8#7K0NraLImj2rA46rkh=5( z4x1lb(yV#22;Bm5gWeo^GzsCWb&D2$06FpoBo0hCK;nVv&YojOw;p}=>=XxJ=+F^l zCmRqT#E%~@o=wj}MLU)2#Hv##q_#$7roG|=2Ggr8lwN^?g&SC?h`@y|DzKsh6ErA5 z7dmQyBpo6wDW#KALTRN8S^6c2I&8WLC!f><>Zc)m;)IA-UO~#5Pnu%t6Q(wq%92q= z8Oau9m{My0N3eWEE3CAfL5s+=ra9*ZxHh2+FS-75(lERhTMQP!6g$jHy_O_wvB2!A zQZmCJTV<0~F8fRb;Ya{&I@3s4frHmpfbN6-9$51=&{CUCx6M+pZ8O_$OU<<0rc={1 z(~9#mJ~ZQ`sJ{fVq=?Pyi_O%sY=f^=vYV75K_w1u0AH z%T%>beOv8;|6B-gfB`QufQ3Ie`r{UkB=`d%j1Ib?Adfy0sicrhVo5`oH2mZjA|@fi zrks2daVHZCF_EaE6gWyoshXOKDi`SEDk@vL0t+2$f;@*AXO^+1ULx08%NkW~h^x%F z{yLcdugA3PE3Ux?+lx!YrmSExy~u=YGP?>EbF#}qOKrI~(>#F9HTQcHG~P~2VFlL; zeE_rDJ`glF+EUXk&FKyZSp=0cOEYBVk~<($fk`I$@TNk%{Z?FYuP#c(q+En?MyQ~Asm2>E$x$n)d<=5ld&N3yNF$F- za!G@igiEp}1Cz2$SR~#O;=scE3*s>6B2%$3wOmCNMN?yLO%ZlxZMptBQyMgpPkSx@ zx)oeNA=5u?7U7cDZhp_&MP1P8WVa;0GLnA`jK{ z{4b;q1%v_#xZnl|K)^2$0Idm_WLhf$W`;&+3k0a}n2f`k8CSBPp_+>F=3SPw` zV}OoyhBe1g6UmG!0ywfU03@iRLmkQjAiNf~CN9h?#?&;&epoSrst`c&<)#t!pwVu4c|wQ0q9* zfh+h33S225wW;k`$GY3v=8J+3ZXzZKu!Z0(0fVx}1i&r{@Glbor#Mce^(LI~1Y6xY z6cnkbMVh=jskeK;)Vs24g2izHRR&R|Y_qB{vQ&&*N=GMc^8 zX2#5l^=LbO`0#9y=9-Z1m9IpVzdq4>*ntTWc3JAgvTtFxR zn9YHp`oRsb>dI9N2yPiM2(p-J--2ir0Wz_Lf5BRkX~k%(NI}Xbu$Ac`sE~0eQY$B3 z*jAtHlybjVmo%wqEePQ#DjJ@bSn8E8Ak}M}HD{ zmpKCES#jPCN8t=txXQ^R_=clf`&@@m4|wha4p5RHOoGjB9#Odt>`eE(N0g#O91+-> z6Qa}s0i}%2+0JGiAc)cu1<{CrD)^Aa{3;`Nv+wwH=C43- zsJqoTQ-5oxl~YQLwz8GYRhT3g24Yl{0Tz4ZE3joj%ZNYRYjm6gt0;yYVl^wf7;7v{ z7AuoxyB--ZiODfsER#h%t48S%%E!V9K%EA1hrV|`Pst-C@E~J`lYaK{J*8<%6K_?L2W~<5YL%?7aowo+7AaI_osYekJ zY>}xDSm%w+=|l}#5pt}uU?CN0LIE1`kcu$XL0R1@q$e#n@7zxT+&XZIR74XMJzx1e z54GcRvf#(%FTvFZ=R0ogB7u1Rq+;e(gnq@8@sWkNEyyT zJF}1Btd`KecF&fQP(o^uOiDP^%kJucuFeicjJ?q5b>adplFcp*MzQ`- zW9DMn>R}hf37%%`B;M_vds_4kb zjLe~43kJAMXwv7(2q^$_#yC>oQ6A+sv}`*}=4CeJY@ka38UP43kJMa{3^_p@h(Ppa zupEfNyI29d5J!dTU<;#hTbvKARwQx%h(H{OQ2{og&}<1oZ0QD8ju2qQtTYV@f5{R) zVfLa=3$t)>R%qwGP{CYC^&DqCw5uq9LDl5ta?FrjYNUszB3(uY>g=Uo#))4?#2ja{u0C4X6%a6t}z&5{`A5Cm<6;>BWIFkB-JZGG!Y1PKofUhKv+@% zS)c^St)Upe+#b*-=ZGNc$hBM`Xaq`Vct$!Fk2PR1W(^Cu|}`h#@JAZmu-!CDianlx{2HrF51- z4lPsa#%V~dj@QrutCB6n5bOP%NS^8`F2D{jV(elvMt3-dixv@Ta#@VhTj!zqqZ@+VRT4J z3Ihg=ly0RPag>50Zlgv@H%LpVw1B7sMk^wsVxY7r=m&@a1|NUnd5_~cp7*}5>pXn} z_ZU`<#3ox(666Tl6qf`|^!`R$j+FYy>znHoO4`id^BhcVf`@OC=j1b|PF*mPZ+j+1 zu9fNEYt8!B3MJI7<|}>Lmr0zKXPK10A**O|;rlw;kTd)Ytvl%hvBEY=(Nu-WxSM?ISSw0Q$@uhl zT!XS?pu$NL5B=x1^vp_i7-~LYnSN`*EW)~ zbn&CSSAtb+^5{}LS~>1iKfRymL$3T}mG<93W#<{L8ut7fhy9W!|Lje2R*Y%OJdU*z zM+dFQRp!!X29&wkuCCOVoC~au$}En;c3)Wd7FhT`B5$n9de)h|&po#=cTWEno9y#X z<5L34-$t=f41KK7oEXP->+SKczO=NnUa?&7#WRvWq9p6LKY#Keo4L#+pM859_y$$u zZ48i7=2WxOyc)pyA@iNZveZ*H@YHRs88&HMIP7?LZK-`{nmr)lPw-OyW)OAF{@v_T zCMAt(mL{U8T+v-QC&Iz>iVVJGR*TRUp`=eHoyjzh>{C8F+Ql2RWt>QnK2s+V;mw&i zJv*c-&xMDFP1}5$=?A_77(SzRXY!) zJtFlqJ13(jC!xFct4!8u;|ApbyUp7=EV9$e7CO%kM8r&zE$bGG(-Kq z{WC_N?)QhDzl_j-<6za;d8+KcGwFL=gVV5MM=@^!Z%*+Xco=Q-;XG*+!z^nMKZXJD(rBmAh*2p^x0`&Dl(r z@14It3uDi+6Ls?;v8DTI3lce~j8cH`p+acSu4+t97z4QzbH;;t=RkIJPQH%b@$B>f`Q5Aqw~J9)qr^*2nY6pk>U1;v zp$W}D$!dLO{i?8VKgeL6)#=Ava{qmNUU|0g%}c?Lyt4hK5zh-Ef^6WKEmD0ck+cyX z?G+v^HjtG#P71*3Gv_$LdF#*%g=f$8Zr>JsEVY|=!YGbpRk$5$^zm~Hymvkd=NPT} zqCCo9PAdBD;E3wa#?P31v8O(Qr=taJ?gef%#d=+av5O)7FQty&pI6E8Ll9 z*I=swF;Zz1V~qoUow+a8Osi7IjoQ*>h40!kMA?@$|9%a*-Ct`@UUS{NhuWBK|B+d; zuSqi9BhKe>!w2a+P2Qge?15{FQ|H}=6Fb26K}N0;@q;jbI= zIf~EQh~uEDDW4r#K+o|PsbE1XR>Qkg16;x1{(?>tob9Ip+FMrPJ8KB;ZbI&21I%_?>`>5f$;{$oSQ0PtL0IRijpCk)&3S?>4q2ogKj7#-X z%}0H5Lp92#zYcj4YQ2xYzY&yBe4^D5mTY@w#>a*)_EvuYCUMx*)%U6Q9q)Vga7aO9 z4tW^=AE9T)E>>xQ_iO3Pd;AqoNfc%IpYi2^49Tw+(UxTnx+S7tQeGN`SGL={B8I1Y zvGn%TxFxcSDg`ca41=#|Pns?}Bpz~;rA>t-;spJ~N(0nbTPKY6okyJf$%-Km`^*hvGflBCC?TW5l(6!% zUOxkjDLLNGC7Ex*iEmPkmr;(jR#B{%BY%qd#&V^8&dM>f-uKtwKc$`{S9FE{{=k=v z^yrL8RiN@`2FHmJ7r2@rp;2v?P1kJ5XbK9HfQ=O=l3+o1)@DCSH|XQ<+??^$7KJ(I z>KYi%ThNRwn@#%fK7afyd9yd?(_<2-{}fNmpm!DH7hN zfrypIh?Bird&#jGJvHg^rH#$0Y;APK)#hfa2JC;%gG0`9nQL^N`;GBh9F(^mWpCvo zbKEzxcWIWVQgoW7dlqzIU24@I%}#4=KyaTdzb#p>9zBGec{C6W+e>r5)NC&i-lk*S zR^35I{N~B16Ws5O%0rBt`NVblV`5?rVyuu+^l2DNmr~-7YG-=U+vX*LC3{rY8@#dN zdU@fPAE|v?#X+Dbnqj0}q_Se`#k-$;y_%6KOmN{9D*X{~P4`n;LXL0$t%7$YUU#Q% zSA7nMMT;1LJt6(c{U266HQuqe1ZqwhdqWF{4A@s7mG>}XmDsX_cez@CealRCTBT2t zR;no!d@b?#anZxQGu5!Ar{9EkpA_w~RO{-#$4$!p*+D)-KQQS>${tusp%RoFnn^-` zj0Iipd(t@9>v8TjN>%^Wq#1d=&0w=)ELc~8P5&;~;RHlt;An*c!#C%blH@fM=R@C% z$g0c59jllba%s7YJ`|5}=XX5ZV80uY!lz1jC025I;F60dw(ucFclBQ0yOPY`pa?N@ zXHDm_-@f!M#5=}xzy8e6(JG&5aJBuNnd+UJmT!_2)MfJiy?U6F6%OX8sXKq;7_^!M z$H)@ZMGbe8j6fnpLEi7Xqe<*ydZZ3sBY>G*?DVC_ysHuu*%FqC>d*EdSt2@de}3() zrZtN69V@t%lb+AtI$IH!c=R1Hd$$irnzR-GMCXgsLV7wR}+jgn-c}pcjTT+~Bw_!L5q@iAWq|<|W!iq5Pxy7h-p}@)&z|MeiTUVTFAyYf z4$ES9MZ`BMc&v7X4M)^E@cvaR!=a#cJwhxwh54T2ZTH?!N3oDa7boRqaby}ZJBMIQ zFiOlY87Y#`L0%a)&E_}1)Uf44Am%);GKlLKxh~Rx!b8{u$s=rYQ^vA)wd!ybISp5^N~Sot%sG)M)ew?`d>C7d`g9@m!_t zE_abllmF>`CV=3f(TQKmAh<8;H#BvKCW@Z-h~Dn*IDOeOGXm!5=?@8GG&@b?zD zIm%{)s~z*?6>@$$&$;9eaP?$*UH7bhCdNWU5P(`LKkzSL*RrP9*PXerI&%Ym?L|SJ zx$Lfmw)KFvx#QVOE!^(z54y}z1e!*nTU<8cmFLB4Zm&w5dnHR8uYUi&;FJ2qO4_%o zW1nT#k+s*MrjSdg%-`Txp)9AGBK0Pqp=z8ztmq2FBkXQfx6Os^IEUVdhbeA(`_G?Jl_(*Srs689jM0<{p&9F-qkVFltfX zZ`)B<_}vN%u9$1sJ!Oddw2+T}RJZBuW<3?)o)Q-jfO2y;XSh2Qr$>otV2!SMIK_uB zRoMw~7J(n(S%VH4i!F<@*#V|}*7@i|t~vbM7@05mc~bmp4Tk0J#~nUM{9A8p%^H4o zQq!nlhop4)oZE|-h?Q2SW+Ue%6*9<`)Q8xU^WZ5GwqMckJJ6oB(@cZoNx9t>&_u=Xz_8_L*GA-aJC(}qIR@A+S5j%)5vK)h zjd#YY$MYHpKM})21Rk(hKC?0NFT9!mmR2sQA%!op5_DQ^(Bj2%+=;t?pSrco2ZmbbxekRv3k1XVWT@=9_HAW}YTp?g zmct&r0R75`fk?CXK_`@-oWJNm-CWAfbFnPE15IL?P8RQJWA=U?$zJy~0b28l-pX9b z)s<^_sc7J_i9GGAqf1w!)?lvaOiYuXT_;hQBEt^@o$iEvIr_wBxwU-h%zdFC;g(xA z^qmH`+G*#W`QmLZU-^OGATI8*Nzu}=-foTeVYeKUR67y5ls_h8=f!f8_4m1|P#>O@ zf~S=J1>5ShMp%=soclR-mbq`zZk|}Le*E{OuAM7>%I@qG|Lf-Q)1$K9&bJ_zc3+wd zW_@N8{yvvObdX`!7w=yG$?_N!+a^}joeO7}YYXNx#PK_}2<>%HYO?&9R}1pq0l_P* zGq%vOw_HZ-zTQ#g(OAs>iq6@E0ddtIZu{Y#W=6}oSNToyX*zGX3`hBH(r;X5y2hzY zooEu#MaT!zZoBK%lF$05E2LZDIhG&`vW>BRn zDl?t7s_>MDiEKI)3TB~9d;-r}PBrWxn;Nrv>bH~7&7wnSK zxfjcW7&zB`K zM9{oTdUq4QBZrErA2*U2$4eIIb52$SvH9()d2vc+$;nG|4xaU>BTF**8CgK&v)aXn z5kVV&?N`!`K^q;Hj9cbCc3}79AtrcJ&e!h<+&&hvGw)HMC(}0n0o2=iVQHEnG>rMb zOU;rQJiTE{lnsAy`jNty&p-LDOUW(Q$v&tADSb?48CtpWLoL)9qT%!=(1ANH0Gq6~ z)hPs~Vh&oN5w&!8DP|a}w;@9G!Ty@T;07{s;PF&IEmJRTlLte-V=d}(ng4+iB!p}l zB}2B<6V5HRIiFX=FHzCY8p!$jN4w8=6Wl|bK%(;V?*xPU6r*akLTYc?J!j1+<;4a zW?uOL1tiln^u+=nTpmGPLq+-KhC_WCXEBQO$Jrdu#b29urDT}ZQ09CBlSSMn>$P!5 za~k_XNAi~PX->^Z+UCj6r{(KTgr+E{wIfniG>Xclo<|J6@P8N$m8j=3;pTbeKus79xKK;Ae{q9vViy>cWG^d^|Z#(d({O-?9Iw&fIn^vG_L1-3;6`*{T6{*m`T$~pI24&Xpc zRKZ|Qn0FkQm6RZ9mO7aRwj_mw%0#cZV94J!f8<4rtSF%|N+USM5;Ca7JCP?o#?&Rz z(na_aC~wIO<@idmQOb>ra?Sj}rsni1@vc*uFRm+g#jc_K{Das6T*x>3!;d2oY#o8R z_MGl9;cL_}EBv>L28&*Y7=d#n&^(7A?)ba}8KuoMS7B#s&On^WO_dxjCHV%vd_iW7I~R1?KsSz0FPN?I7Hbrfto3t)lDcC@%K(k? z`5I~n3x=MOIv|in7f8zmXSPJ%>!|%n6AYAyVkMQ0@uW^oL{)zhrtb^0ilN7&ba*I) zx+IarB=NUt&X*@c$;1lsWZHU3TGE!!eu;2~79^w8=!ynr$LJJ+VKw6B^4l&X4~hSGRYNy;>$)VWd&sCA-!kTd@r8 zRgUbP5OB~C9Pf-2nurwnEO^8VurA;DCzIOdUgrqbPi;j}OwSUMoh*oHmF>kB8ru3I~W30?ur8UYMI0{#A-x>)r4+cX>HDEZR5|Cu?1JhhbUTT{h(Zv zF@zXm3Hd~quls23y*#$a#7C6D*Z@c|yQJ@a6+-Jp+dEw&H zwt=R$p(7=(ROdTtfRZGHzTacdY-yCf$jK$tPmJAVG3Y=TiQ^2tha)57 zGF+tGOtXY5dB4Zs{7-^Y>QBe%?;S6ljt6hPz4^DLv)qnt?B|w6PywSAENcCZG2v16Z}EmCJwe5#y!S}V{J?ndB}ifp z^n``**k6PdEkx(UeD&bNdC;}!P^!5kIC#!k)x%U`|K8v`{YZDm%(T1Qu01& z^p@bg7J&%?q=+)uCA<6Sp1{jL$Bg#RH)MH$v&({4zbQ;o+lHjlk933~b0u_qSbjzy^S_LMg+bwz#NH)rA5|%w@GIqPeQi zTgj}qAx$?!FFn6?)u4hd^Sgkw1ea|{b|jn;a2p*h4t-3GmkIfK)x*{4;R?fRQ6s3{ zX--V=4g;|AexmOIp1BWJmc@LrcR9Q~5h?`G4;tR8W8`9DdVgqjr;jhmE45#0Kf@!o zA%ETLx5%D~@YT^+T}|=etH%nB&wUdF$8CES3dAM@%sONU-fN}r9U7_ zw|xhV4>Q%LKu(0W;(}y1U})~8C`-*Rk@;0oTBX)L)5!bom5H&}DiKnXYf|Y1uGw$Y z0X6+x7GnE}n|kNi;~I{5d6l?2I_(wt_THK7(?Z!pPe!zslA6#phxMc-qN7zKzq!6Z zrRvo}ix%pqQFztdBY6z?%O7M!y{ zjDT5ph4+46Q~o)WK>X14=@m9TabkL00@42Ev6h*RFi2^U!~Uh80EX$Tc*!E+OBJTG zAY0vyTub!jU~_GHY0dpld9ruqESUG){z~kDEn&`+oY!9^iqo~@_VpQ-J9+eUMTlvw zUCdW|B&ss?1H+`usd{asGeN?@pjjbdaFuJ+B!XlZoSdI8V3OT6#`dQ{%Mi#g@vT*9}e)uWM z)}hAFuJ62u^XTIiO5nCtExOcsvm#$Oy@j6{l@%U3R#P_~JsWzo*EO`V zWVP$~%Ie2-TSCAX`e<03w^oFM4m}zJYbpa5ABB8N^bVZ_?XA>bXY1?!R1fR{NpLg= zG=V5~EWVP&!GYvX5Zwi(r88;6`zOVq<0$?!m)4iX2xd7_dRbdq)TD`ADaV)u5|FA` z-q-%Ot0{aT*{?8qQcMD<@Kj)1P4s{%R(+ZsnC4U>Q*1kBv7TfFztNP_@2!No%i>p z`$^C61UQR)DX-bXRojypYF#@yaZ9TJc&zBEg~jW}eqjX{$_xW0>746s9l5CGx!B`E z8MD+l)bjWrCxwWGpk2DrcqTVg*=hv>GMSsKNmK4;)KXF5leHAVBMwNKK8li@DjX$K zm##b#+*owFyjdbwYhDJ*;fhg#auPf{O>%8;hG{eQ-Q)aj$)8$oVWH$36GaMFys4t+ z#iB4xby2Nt65U zoCP27+vYs@W$U_;3X1R+dmX^%3Th~VF5VDh;Zr372odax5eT{8S94MF=td2exWzq6 zah-$*Ohw zX2ARBA6vGzHSFNv&g00{5+&pFEFf5UR@j}vMY3GmV8cwRncpni~r80Jzr{dA1p zNoUNCgGSTZaZVBV>XyBx%R!0FHwSzS}JRF0}4@IO2l9 z8(fy>x22~lP3MX-Yn0d~UwkySTXRvCp!topMKWVF#4P!&J4ROr-Gn{kzSqbV68s6m zTin-T>R}p!cetsP_u!l`Ol!HMq1heN)+RN;d&;KTKdQB}`A^Ea7?+GT&FCwpKxr_Q z9Qycv>6MfxWkoLM*_7nW>nI+iy~AQB{egA>ys4`**8sCFe-7Q^o6Bvoo0{Z*f$c9} z#MN`}`Vdp>bHP5iQGubo1yJ&HG>aZx>+^8YQfomKSMWr#RN-5MHLoyJVH!-je^_K^ zR4YI+!VMD4&BivNfN-2KX03%A@$ZA`;@FLN^KcoiQrg~}S!?$$Sjao1!h2jgs!rl&)`+8s`y#;K1I^sf91Wq;9QY%wyctU)N7Gj`<({^pLjNYrO4USlhrE?5lp2Y6irWL z%vp7C1Zni23`7Qhctf??&HXucEX$-;%1qndL^UczV*zi$H$sD_;p}s;Y!INMrI`BXqiAs$ z4VWGig=M!zk3L3mapWsKNwG0#u9!^IXXG8%#N;SLx+kFI;%9m_T5zU4C#-}bw7 zg(1oW>hn`rRJO3bA-0sx;3wu$jT^i%HgRJzz%sJ|mLB|uqh6{_F#oSt%)Fw~8XHLVo4kzjzfLKVyMy!W`39hh)!?P}WReZ9awZUE76qUg< z;(Y%!LnK5jM#hzpN8~LYyB2#)$Py8w(1S;^G=3yYBmIK6d4F^~vRdUbHOl{%AJcSC zp~c);j5>uZd$5!Dxbf7NjB^L}OU>==C{uB;imM^c*>&HKT@>J)w#{(p5oe=6qhOR( zSo{S=AzsR0Fe~|mi@On@#}X^3V2_hcQbwFTk(8tXMYD}L)aX?~r~-X?iNr4hsM zJKri-@yyzDS(_S8!6S^+ThK?-E7zia_47OTk#vSYfj__9ymX#GV*@?gQraV=zl-)* z+^_st8LUL5waH))(S>(Q(eV)kFCpsE)qfC7Q8FHO?j;SOz7OIFXUgXKE0m+GgIwoc zm7dKP!D9M3(sEZ==hY{_c8?@y8CLg8U@FbbzJ{N^ujDgD!=5#n8$G%yXs zZ7H<@<{?2i^_3y$t&_{4*^pf?GRv!h%6eZ3E0-!c?WJ83{383DUT$&og*4U)Cy2)x!b{~fE0 z_}UVnXsCS5=gDy7Ig1+RT&tSKNg0}p54-}EFwwcx8vqn52rBBGAw5Z6a3~z%@32i_ zam@2`a(wXl-U&!JLM+QF@*FQp>Qb`EpKTw9MOyte0D+6}gqTeW2>nyG_!YX!;qEae z=MVI`RJvYF@_3gMR;(RlH7g)+$4zE3{5t>YO%7KgeqZ5LZd$wcRc^QUL8qou{vhUL z)DAv;`rcd_#|znP~gvS?-7HiHjo*AGkHisdi?g=g^+VI3(Ne%;9`Tnj7| zL=E+k3??J8N52axQLB{Y)6m?^>+GGW?8zbzDpOJ!5Cf7wf6k~6>-hx9wAtz}3pwRX z1b}|XNADb_Ezs#0ChsFax#q3|4HnQ3;^_xjy22nthEp@yM33;NJK2ty8)&t9U_$di?>6qW5SYrj`0{a8Y_W%0vV~0s&b}6U? zLC9R~NLb~?)*D=<#k2h4ajLXznLdf5%BT>-3wfGypEXI^RdGqG^7Dq+mae!d#rWad zX*y>p;uO_-grsL7!nJ$(b>7R)t{kGU+z>`@A9|}Mt);0nBUiR32i;mi z)rQ7V3ij#^rqw>GVqh|98+K&v0~Tnhh$lV8;8&7yFre?7Y9&iKvzVlfg4v0tWQO+Y z+7TeZ1e0)$020Wfx!*^=#Ogr9S|J05Xkwbmb#I16?518@o~m9q??1L|cF^v`$+JRy2$C2=%2z!YKz6bq4g4#wT0 zxMB#O+^1xvcx@!WxsSPdxAdV6O+Clq)X%Qe!>JU{-7*6>%x=USS0iVzOO-68xZA>l zXj$&}IY-KRPe7J`)FvM4!OIAz%hc=2V{S2psQN53g(}Zpt4XciQRdhpbLVj(*833e z?l<({vAg#@hd2RfO#GxWB!?@KvAAX*buXW|PKsr5GG01V~`D;}Fh#}_i zUe7z){*bE3LP>v2-g7^x^l8flx=dEN=xTiZPf?J4xti_>i{jA4(C(Rp9%M6+C0YtC zMH=_<_87Gxr4V=Tk?wqQn1of0=BB4Q&85s?p9KAaAOIwmXl+0Q82gbc;cbs~ z#`ARdUj}!ra&i09b(0M1N^_2*bmVHPzpMR4B0lz;GQaoiDh(fzISW@;aJ5oEbl7~! zs@?fBCeW?$-+I|7XdHy6eE)@x(=mLkeO3|!j~~(F#a8`D9$Ffz{ADG?G2A7*?w~1u zHv5-yglGD_9hw*vf$pDCt81M1Haf2+BX0?^KOV%0o9o0gy0bec5V7huMfs^i`O1uH zazlP;ranhicMGaj9KoU)a@Q-4iOb2(vp>Z+j;uhlGY};=QG1&Uba>)=o#Heg{nmdx zjE>g`{=Xkt6~aq!^RWm3Q(AMgIprpAiVs|oeG71En3tSmhbvEWjrN^G00?E5=xni_ zKldlfEjS9>1;nMfc>$rdnms}B0StVqe)xrWiM9q@j;eaG6TZ;$^hT+wLPm*SJB{P8 zi*umvU*QZ_I)cahLGy}Sm1{Rvx#;R4;88<0_t2JC(B=q0?saA8ic?#?k;M-BM&R6Q3(g?s7z3`;NQhcbq56Du)B9Hr&4~s&^ID$_K zqbstWMig(m_VU2fnLN#iFb83^$PnOdrwQdp7+Knte&GwivilMMUfna9CcTi_LverU zc`G=BpBNnTNS@}GtDK6ejLQb!0B(;w5WEfLnX0eTZmhe2nAPodKg2DPTNQ<3ghnou zqGZwWi0+Gj?!E9Z55U)FK4`WBnjlMtmbTUAe!}@iBKmKU@ZQW1mXCAVFnz8Aow-)M zwwde??wHHv9}HmLerHjR;S8d~+{RLjn_(wlNn6x|oE~*K7 zaG|6KKGF55b)`!(3n^u^L0&h{xXh@Rh_tm?ay-+PQL?JFW`g_blR5bg1MO(pw&468 zuP!f(xw)aF*_lEsoHXW5afLJWx>NK?Nm4a8H5bVNQ|B$oln))y7C*`8b;Ntd3El@) zfxVqE>7BL;8B<#MH-(HHyo!fW73-!beSpucWx!|mN5 zHYs;+VxU&w7-fp?7G&8fZnqkKiY~E|;(-_6LT;j@eKlVoWY}eWE`Kt7Et~NwJ{|L~ zBzcV|RaBsy%)c;KU@|PznK6@x0&V2=bd|0YJt?D-TaPuW)pl0+JV!I%3;n;ajr=@-=BJ+IYru=y8a}EjRrt~oSnbfh`6AP#uF+7 z)_V`Nj8HwB7#Ev^~-bM8;^FnZs#*DiV^;Ngd5&Z=t^+%GDx)}UAonUzGQng(Ai+5v(+3?qWE1vZZ&RR&Es2-O@9VMC~P z75@76sQgz>uAuZ-Z)}!cx#!v2Pl~m^ufN(v-MjLMJZ&g~UP;RTRK!lX{!CE;)18vJ z(dl!hePGeu9_Br7`fH9t)D1m>J`_Evmr6G)957SdQPbpmZ%EbFp$?od8vA%x5yxLL zy@+mRqnnkznD9G2I&l;R8Dv)j3&~}QCNf##LEJTyn!LdBFW<}Dr29=;zcXnX)<43JrONjNh5#eglt;x#b?AT2sdfzw zk|>m1|Jqu;*c_VxSfVl;;G0DOIDDyX|6FE%7w_HDRXC`zR{f^wDi>*&3&e~vIO^2bU$nYySO^FQ2TR&gMQIm#MT-y4 zQ6K==$d+s>3U%sF0f->dIWOKgkUAZtMyBehC+oZe437W3BwZWh4vXEkigfu;${Qhg zKo92q`8H>~_R+OUx*x^3#((aL=A{C8i$AXrrcbRs&-!W3uu0YRuin6&a%I2sPJaGE zzV|ZjKh-q;%W32Xf@S1$Z_|@IOCs+j%R*mE)UG5*uRbi9(|e;`c161bPMosJQvL6z z-)WZbV&KT-(4Ut$p|pOcTxSk@-RTmom=N;)m|qC|K?j>h>2=C-FwoNWCcT5qqpZW` zwIe7>6;O^l*#R-bW1Vx!^E@7%CLrGaU2q&obeRH0B?6Q2Qh>k1-M;&33je`5++#XF zdbRKW65uwt@i}PS?0swyLNCAvu=uJlC+;dD|6}oZ^U7@z%Qx)%Z;GXlo9pz?>_7WG zlyXGdXBfUyT}%$UiacudcypcH?6hqNXBT5fk_;OQs4jPNB3IRAR|#iRls5b0^0LQ` zDrtm+$xlU8FGEx*ZvXSTG!(A?x1)icW#$Y&ZzA~mlglXWuB*no!?0j09%awmIK1yz z5{IlkEp8W2$bdNC9+?9*kWq?SN}gM_>uH$~Hm1|(?CHaK5Ew|?}Z~$gb4F@TujG1k(vM0K(Raw;H8H#tD&I~ymW(F3=5tk zqJbfelG65fUCHNfXmq7RnX&j`G`|7>Wuc1ojezt}9e7TdvWnYH`QULvKzTqaALM4b z6o0TJxrskmAtu#5^tioht{ke+PHky=@Hf&UqAylXfMqTFCmF`LpecN5*3Cue^6PW= zDx;pCA%iZz%PXmD|NP|gyZDFy+;gvNKQj}#y7M|HmszUxBPC&bqkf5;acXI&Jl#z?~xG{!cfaHI9yMmxteA!JT+~GZFFt&o`YC*{s_IfxTHz6hna~%6YI~(U@h*sIXk&d)kamj*Za zFL(U>`z8!7Hxv|pW%EIh(KWe6vk&muRAuVbr_Zj58jdy5y^YVL>mqEpiafrW@P;}n zp+yf5B2Y*u=&of|4g9&(P3Yd8tb)Q(Z~D;n^ENxiV&3VJ_Eg79MX>z0Yb%dbp2|N13&YsAfWb_;7az10w7(H4sxP z!9*jn_D9}zQ9;zO^kAbzB@yT8`YzW@$^XtmHcq-yW@;P1o?lFZgYFsIW&GNxb=gVg zx{I1Hn|_AM=M9&6iN}MGKxI}Q9W38LuOb7GZYx$8jF&FfuuoA?AOkLNy1Ok7!sTYf z#T@4a6Gu^U&XK`b5+7VEG6_rwga`mWKt8~2C+q`ZQ3jCg^irW3GQd7ZW@3%Q<7MYU zSgjmiGzXT?I(C$Lu9Y{~c3X7>SZE4VZbme>2w>qKFNoN3U3DhPKZre+)}3q-VCpm0 z{7hr6dSgC|&NR_V`lSrj^MAL@f4Lup%B$WN96r;%K}b6z39FFj;EH}F3QM+;te;6Y zQT9hi$J1i#GKFYH$>VBWTd{_}KxZd4B&xmb1o4qXb5xTlm+K~hzH3BNy zc%*Fy8JR5Z$J}EDd2B>w0%TzskP`N3;=2@P=@C zgOI!SWMm~C-r;G8Wjd6Gf?GpMeXw;|ZjW0Pqt)}fmK#Q#Wjj`+?he&HVGiLOLDyO6 zK8*5Ns$09q-Ise&wcTTx;b-K1h}6%QyrGN!*)GD5qa734pWYSssD8plkeeUeG1T{F zp)Ng>#vB#%PMH)SooM3P6u+IF*g8?$VM&8vbCfrgj3_gVF`lYAyF;|ErEfFimFaBW z5WFZW8Mt}^>O$6tSD}4D3crUZ-IP; z6DV`K(-P8}U<|5RCJX#hr6c@}7KFFx_eNfX)oX(w)#fgpjZAmvhpca1iLO8dWoSa^ zn{b>H7GHo4;i*$XQFhnJ+~w{MvkAEpP$F1F3#M$uR&H!)P4INtspKLNiz;6 z)O)!aIeMN0A?w~k&pgl$C=RAWk=_8$@<#kaf7i3;ltFr@#+uB&zm|DDk!nhyqf%*r zB$!0TkjxX&!3+TK17X9L*`y}{STY^lq*B}N|5tLMZru5vX-Amvw{q&*=g)9I?WY+g&(6IIkzZ+|y&8&iyUi*(7ih#}6(r(?Y_F8sb-PfakbJMWDCvhH?7OZbt_4qZ$PA;#&&RgVMt0-mrT66>M9;P%lzR-2ny6; zoEcxerHnzxi!aGSTD^!ay$|4He&q~1D?D>?E`YSJ32Hlt@iES*h8dv%u&B-hTg-Em zV2y>btuMf;1#mC0l>NTbGXz=u%o2(RLE@NhU*G3cR^;S&G~OLH^6G6H#gyL8Tj~vXm+^>ouLDfcIqIe#G{^gI(*bo#3G#};v$yj;l0gA$P53@QC zZEj{I%P$&MYA&b3S!=k}cunM@wy7f6Wu`tosNa!h8TQvHfX&+q)V$4mBM$?`y3z$? zR<6ow=|Dv9ldnnG9)rpnmmL*E@n{k`=}{I_=)(o=8u)j*iOHP$cvZ9$?E8>Ti z9PuWO1Xx}_r;#3DR{Ju)=xu(lGodDjC!JyDZ#VR!!qS$)cbjPXdh%>dvfv@ZMl0FE z@%&CWl|{V-s)xtA;_YNTIT?HqVoJU`UF;nhqJ@`md$RX7s35suG|t>V>v`U5@S%=pd{yuv&jn^3 z#;y#o{RcYSOfX+ZyQ%Xa+s6^aS4_cp=azZk&oKL}@YokRQ(V3u(a$-AKB7SZy&JD! zqMGYsG#fh;gY5n7}iV*TQH(M*hFWsY6o}__hbWXCcEsJ-W7sZr{J9fM>A2=MBEgfIw zMdOf}9W-0REOHiC@|s{CV#7O5G952lBcYvjHJRQQW0|d>(N!QZ8{d?A zj`HEQb!qBrvD9m*2<7ZoAYYyIQj?6uKf^b5#L_s}W`ZuQXWdRCiqGo#oI|AN0={p1 z`2-?y=~6F^tTva!y9#8ejzTi{B(3W3Y)iQ=kHYvoI+;+G4&Rx~xln6&Y@b6j{|gR_ z92w4iouy3pFJZ(f6v47^UL)|uC8M=V)Bsm~CVv9mO+VH50PR~Tje=9qJM$$9boO6o zpLdW!^dNx#UepbMqE^5iPgpao`A$C(+w!Y%Win{>Ndm36u{Hc0^J(1W^0MajGHDXx zCqK{5y(^m2CF^k~Tqfwef5Kyw<>_L5E*8ln)SD+>4(ekmO-*-uwpy%G9AuU)XPcyT zvJAs#j1pMPvu0(Dh!=BajJ3;nwF8ExZ0ujotV{`99A=?cdPi5kl}ACc3!&g(#QxSv zoumHp=@F)w5D9WfX+}uN{{VSFhQC(8%%zM007e6xjFzw|3b=rq9>oEi4F3=aBLF#o z5Fh~%NZ%n$2Gcx&X7Cc6gn|q*7-}4fUn&rRS_XopT3j{LtJ#&;+!d}VWCopIrCwMD zmCdKMXb5yb;H*=7XeNg?7T1Ls57mmX`3em&4kVuB|M{P?JyBDfim}A|9!sLx0 z>_}cGY{CRwC6-EnQ@NLWH3A`wX(NPZ&2R!Rz``or!t6D`@wkA+G0XwLz#)}|QS>Xo znnh1BNf8_Y6dVB#H~KqIgMFt9=+00R*`1}7XrhkQ{Zs6s6)43HeaD8PUv z(9{Zuz)$(vpULUu{wv0j00}_A4+sHUgwhcdK@otGAB1OQ2xEhhVW}l*0I(jS{M<1W zWI!i@fz)-Et-ekAx#nxm=qD~9ZIS@l@`Tv-M7ZPx*Yae$bWv-S8SxzD z2j-@|sV%(>Cv^H7NrbEAX^ES%X#+^WC$NG|@Jrx&1O?Cp1$4wF817R5$>n0jA;Bc% zW(8sd>`}k~Vkj5CI+_o-fDm|^5O7Q=C4eE^7uVPU1AvC=ZY*aArZNRxTv^b_Cgxo^ z=t0^crqtnu^)T9)jfI|v33$M-;a_HE=HJBMhYEns9*(RiPHF0xr;=UtdO(J1Cgr?M zs%}#`p~}&EF^oEeCqhMRCW(!DB9RC{1BghsOayLzi~mAl5wmtJL$Qk|w4%5Og}fnU zAD0nJsE7`zh%KrF+kPugAo4H#Z!H0E3aA1{y#fGKAmDNW1$=}8D2#ZG*LV@^1OUMV zEDQo3zy!2_CG;y0yuc6Wzz-w=0w@3yyg&gQfH2BwE%5*nl(2m@0fUv}=?2s4GQmAA zDnQO~VLB>=$szbzYRWz+Lux7>YH9|dfbZ_mr-CZ}X=rx>{urY=nw4Jd$h@xTE9L7pZ-5g36|MU@l;GZ_-fQ7ce6Hc-&5 zq4rHm*R%%F$>FWF25dOy?PgdWT55(dW(G+BM3x62ZZrL10I6Ox*Htfw_6qbC#Inqj zTgwv)A=WwF7(93Jt(Fk3b{CO^Z%oRjY(4-RCuJwpK^8S$bgpkIE>yon8T@kKA1^c? zzd(vG9ubrTAs-is(1^VZ+`ux%(2#&7P(dT4n?P@fNcR>}I1*Ke*H8TvRxqwv#4}Zp z08hg}2#RoS7l93Mg$+2s4-|m|6v4-YlK)b(u+y*}ffkrQzST3aT7ypN92#B8o}Z?O z3PS4cGUHka?Ai{+O|Nj>bx@XP8ZSE~M}|5v+U;yyJBtT&fE0I!Vi6XI4hOGguR9kl zk?40k&odhP_i_;Hg5=I{?lX@{)J`%P>$D<~KA!Bzi`nAV;Th$MI5Zh`!s?Jjw^m+B zG44vOfW_I;2dF6!AOIowZA1iaL`d>SST>d<#caOh*9r%G8_Qv=CeX2n@l2HBjmjC_f$wF*k}a-!KM6wOv`c4&UyU_b>-_il)p4 z1L*2;5bpULQTXRyNDQx4sxA{;(_3NDs!lle9)|ly$5MR+p>f} zNP21!%hTb=>~jc!2#{0Nh4-J25MKLvpz}2v8`g8&bATJGVK=(J)p5CPZEteIF^Eos ze?m*-R&JFMa;nI+wsD9oME^zQ5rZJiNle@<=h+G@PoB9z?b+E43?Wdk4oDC|isL|w zPe4)tj*7bGcwH`yPrz-bvQGgO`PB9Xqn=Tig<04M3!^}jJB?;EjiN4f_EpgL8D#iL zHz3M+dAn{y048&mX!x6bIKR$>FRkLHBqNjfYdB^y;48-<{} zm95^vj&jnX8hyfzuSt9w&=Qb5!4)9~qx$NwJPxd{Wp5O$e@A#2$7(}`YfrGyEX?yv ztrlDiUXV{pA3&s7M*k={xv~qU>w>JLvIYj-n$b;arQ~jx=atgkE(R6ANyzd6w7~Y0 zKoLg{hZY+XqZnG-EUbRJvlvkko1GEQjdiGyC(aFFU2k`F@6mQKpnI5e^t)749Y8z~ zAn<{}2EM5L>eT5KCr(5ZG<@}{lY&VOCrx^lkyAz@8!tLM#_3hLPQQMA`b7mnOP2^( zDp3&Rhpit!KK*F1Hzk>Wi@G0jfTP{*GI1nJkiWMJLkO;8iK>!y40X-q85+zP}1`YZIXcnhYpFY9(#DLT{SPWPdo5kz_18&@| z?RvHW0|U6e_;G-Q-xegEkl^59ZrleL1k@GKTtJBF0Vp(MAR&b_Q(&P4$0!THF(xpJ>=4N$`|M6ZM=Q-V(^z0EQAHJX?Ka#T zUB%JdB*l$30~R1e2m=r(U^obLXaR=eL}ie@=%Ay{I_en2?z-v3>rOoKIxvqr@m?KB z1YPHgPrmu&+jUp{2rBS73l0QOzyb^O55eaY94M|3iWMjY3Kgo5td2zNsHcrO(kR?; zO}vQ2b14GKMjTsmvBsNV3WAE9Yz%5Am{KI_CQBNCDgY&+y6dT^ELhcWr z%kd6-nq!}|iQp1=iQC(%Q#QC63j@wV)&(obEMy@_KKFqTTnfUU`AkS5gfrYLEaI)P zWMm^B5tl?JvJn}Q1cfH4SB`9y!_2vaUNE8;OISjbO>k)xDOeEe4D*zNsqQV1c^%A3 zumb`Z00vM33j!!6A`$Vfcaum9L}bvVet}R-9=nTMNN@lf=>Q0#g29~_uo^j*<}oqD zUSz0uvq6=Hk0nUW_|nIlp#{x+H~0gjj;0l^zz+sM_(6ZHR<-)QYHR=Vj&<7Yl|B}M373hxvGPwoZDRj)SnDqkU#|Dk9^+pfV#{@LH}ebNCQ66 ziJ)94apz(PxMDb>jCdr5T8ts(e)5tV$%{*xt0ombw>che0we4uuSbnk>R0=(yw(mS|HbHUXV28c+~&7A%PbdjE>*3WhL*X%Asc z`e>AHltl#$)}D2s*zSA>ycdA1&2A_v1VRwPQ;zJ5Tc|d*zO+CGFksLwufxeq#*J$#Sk5PBg&veLH9mH!4|IH$ zm>DF71U*$H23mQSS;A75w5%?F{z;eX)I~wLe9wGFF@X|-q(d5^9C;N$jBhn=L=o94 zG;1UjwMuhE!kJMu(ORP#!F5hY?9af63YCHNhp2jeOgb-9f+iJ!2QF}dl&GYDeAe@@ zyxW}@(_(|*5vM=RiOY1L<1xz0v9dFRj6&7PfGc<=05{`fY5!6)+Kk$UqC)$F`DjDY z8xKHJ?<;^C5Ac@a#Fn zi_12TDT_d~By)ftz^Ow8{bke3Y8E;iz!55MZStc^^T>PgPjN~I>8E*d}4@e zMZgOVeZy)VIwv+6iV%M!CnJ)xKTmK9>vmETwybVQZb=c^O}vu=Cre!4UQ+Z z;~T){1`B|n5V&MD5*$bbx(}+)3Q~k%*|b zC*k;sEo=cgY~sr$E<%9GGgl*S+QJh2GGbGds6$wt{qZ;xYSk*ASzpv;5liu^#Sg_E9!VS%68%Hc*+*5zO#Ej_7PTnh?h#9Dt@`k zB|+ost;*v1`-lL)E`W-P@FXj|Z*Csp1DyPT6#v))&mEeG0)Fw;g_uMksxL=af07bq zINGd3K{TR&AOjY~$VV(6g`DKm6kOUhU!SkJKCn-PKj4?DlafFFD_vQW?J;(prcier3%8Ny6WcOE(lrR;t3#YYZMMUxT_#i2J|**L8NNpCSlL`Y|j(|&}yhB z${{Fz!56FnN==Nv`j~vJVL0Q2XEz2pS0vU0~W8AO*~1PWX@y3+mUf2f?05GB%6Y3{f;Z z1ENp>?Enw}4GA{Rr)Vy!Xl%pnV&le60|oRjl|o2?_U?c_EXi8sJ06ge6sVNo1_Qhd z6@8_rnoBR{O)nhp5=g+ygk|#hkD4d{T2?C660F1y8 zu2!1wlR`k8fX={}07{%>0lH!i;s22OZU6{&V8OUz0bGD@Y9W>SkPq39GSYAmv0}3% z!)5|t#R%oI5JhNmOxjRm|2oqC01y+4Mgoi|ScZ>5?t?mfOFh8jRCwz&IGE=Iru#?S*s zpwpaU38vyN7fLcvfCmbI9}Dv^`EdahvoIGx1AyQV_$EH|FwQ751>SFaFf$?nB{Cd? z*jUWiJ|ht&3KE~qQZR8g{Qpn1{O=J{0}}}l%zi36_U@(1Z7xPJlujj=)J8w><5wUk zm6q%Ggi{vl4c{(d6M+*sJ4gh=L?{CUZz_ldqZ0$jZCV}#r%tj=?!w77DNNq17DmAm zQm-d|LcOFBD1JfEP$DQk!5WBS_CW5w$Z|z=k3PN0h`6&Jb;(TbYUhY5zyj>92Ieg- zAPn_V9`CXPn(v&XPuQ}e`WiDrC6qBUg$1IZAb3e38OTgTfC(JZK?U)NHtS_9QtU>< zk3Q1>B)~P&F0^tCHEzrj-Dwkx%clBm@1#r^@ng8`qu(Hil-{F3yev3LfG72W6gDyP z@GbJVOawbfKoE{PY5&Q1ssJvUb2_|}+(Hjn@IsZ05l#qB(F*TqO3V;bVjc@9sKCJ8#-fvQ22EnvvB0cjnTI?c21GM-r zHda&u3JDV#ku{4ZHJAb~{w;3Y;}Z*LHg|OM4p5U;<&@wxz|tr{4oy=+CEj#i=`~L0 z6kl=#MkZhslK;^Gxx)fPAk+S{Zf@@QiqB7@i~|%@K~+FO_3~lM5Mll@GqYkJGgSjH zRs$R$0*YV(P+%&QN=OCb#Oz2!H&bRLvLahm{yrndP9sJ`l0{+EkXS%QbM<9Ug8;28 z#9n3Hs#98cw%m+0lw9RLC{O^rtVoNr@kk++XtCbTBm|eMTG{5g+`@P`00nyySy=En zv38fHrEGfDyNoel6GMq~$@%otJ5%5|=Y$HwOBUYLT|v$gYym9k)fQwy8Nf15bz)w) zk5((FxCM8AOQeC z19*T1K>yZn1Oh&SO`THpR83W7UnVqN6-61b5knF-P}5dzw-GVX5^rpb#4IJ*Y=1(r zHj4*J#93lzRci+k~+5)1%0uC1fU9n(K?m#gL3I? z4Z|=9?B?t;PUa*#3gT_!EWB850#spN_jUp%fNy2Ne&IF+YC$O`!2EJT2S#BS5B28G ziHS7rzXld6=tdp?vpX4eVH1@3Jb(ryclj6;A~_2MfFn~k)(8^d2q<6*7JvXuw_`Xj zvpo2Tn4o4h19oK>5l=t@(9RNR_K#o#huw}=-A;E;1BY2)csTJses#)l6v?D)J<0|G z)&E0ie^f&^)LLaR76+=Qd{W<>3rgc+TXhlPF6e8=S5LRALEgkLmLPrg;y<2p(>@>o zx>f>xg504LE6yhobAUAIU7ETWLoC1u%wvcWD z2KoH-apQ3W8rEU+GC>=aK_&KyKBGxAHgqrG0)`*~I@SPo;4#M3NLn`lxQ^>il@MEu zd-Ui|S~G`JbT(v^1&DZ;f0!{Opt)8FB?aOwlGwwJ*TeKwJ!TWhzJ>u?(PEm zu~k{10JI-j4JYMIhh2IhCN4I<<9c zqtl$nS1y>tUq5V@3L<^in2n?2o#h#MEPxEvIRsW<2^s(bl!Qpgv}3w6$^^p6Sa_4@ z_(7ZnOc5m0Y6(EgY%bl=f!!G4_EK{3a$yg&VQD}f$?#DjGVDHM2OQu6V*jADFMtA6 zx(P^))Oes|@rb5n`gNwK#XeK)YA3XUnTUmWr-7NbEip;5INzizsh9ewP(?e0wTb6K z2Hiv7mMaBFq05@f%bp4rJ8%YivfhlDL$^3T?k4lLwXDzDI+w!)pv-RoJ5JK~o!xq1 z;@MadcA`72KmJ9IO=qH&3g<#VZKF&~xf8JkCcgzHU;_pn$%#PWcy1IoZ~k+lE#R`5 z&%8frvoHIy5tKO!1_Ar)%QPi$($`9Nc59$!US@MaRd(4Umb9f zuQNg5IA8xt+@vtNGsM4Pb}_7ug6?Hdpack``Wygb4YL3SARqt$A^8La1OQS1 zEC2ui0CEA)000R80IBU8xNhINf(ZQ`T*$DY!-oZ(QB$VOTg8hOy=BaJk)lUsszQcT zM(v=%bqXP-G{_QROKQVL-I6(qX3Ut?1P0HsmPBjpDLE>@~=>>N|pY#dRDK|t8+~& zHfMLZ;JvT^4NtzZT(^*`-OV{yuiN#24PWAm7jNQA$nfVcjK9BM{lyq|*<_eic2{Kt zCWu*4l<@=EW|bkd&~Uejrp-DRUdWJB9F`>!TjQw**Lc;HR3T|E#Wd53yVZ14a4a#! zltCsI72XJmEgShbZ`&Tv&tb{tAn;#uCARV7;Mg(o6= zYt04UU3?L?-+uG8XC60~q?u+hYpUtyn`t5wkC_O9cUfh1js@X^0)6IZXEmO9P=*T; zsv$#%+GZkijN&NhqYF`^%1piSHq$V`Arz>loVr9DjxutpT#t=HHKcJ*DQV=AUugwh zR8UI)nbwuxkyxviTgHW6dm_&Do?Uo}iA;d~xd|+oa|)v-n{8ggrZ9UULs+o^o`)xa zbt*X7oC!kcXFUAGljDhr4(gDhg<_a)L*+v1?r1RiR@0>}HpdcZ65c!2jx_FgoWG?C zIhLtJUZo^gM^3j@lC5s%4OrSuc_po5*$N(c>}fgTdhqQv7@2Plo8Nrk_{xnpg5}5T z%5erZ*tGb~Szu-eayw^Ud2!24W81{jv&}%Gv#6lxs+*{WMITD&x#p_-?z{0e5YwbC zx;PAsoZ>s&OP%6qBf!BqMe1|O5jmB@uQGgORwZ&3mN#pi_8nOvs-)bfn=H317tUzL+1|D~FSeLr0TveE<$eXY4KkZ&9%+T`GL3Z8OP8B; z(-uBW+N8Qs>bfesf$Hf=pm{wzz@_>N2SXJ{hY_I zIk%h-f7{VU%aArkH$bBq5M857UFq1RI)}uIQdAoT>~^Dyfq^Y|0pn4lf+RLn4NOP{ z!_KRm@i1p3DPc@v*zrjCm1;0gJuZY{^J2KAi`@!_8{=Dgctsb%WN&aIlNMqB*2gAk zNy~?h`49JsNSMNTOig{^51ayIGsbMAXIIQ3GSZ!$=%%Ok-Ud z%Xwf($-dF0iG$gm%Fo_p9*N^(uuf#;uG1FMa(ACv8%yec1qY0a8&~YIC@W(zROWDctM6#2O ztY#_8S~QJZ74-~$&kGokg$aHr~v!g zS7DkFq-OjsNg<*%lP+@<5o{@ZU80WaeYSyx@l3A>ju3F=|#dO@SenuV^b#YmYU1oG4-gU2e$;;OR z?p3dO&Febw8bFSMH-RN>W4qb~J7>ZdcCe!(dL+AF$nHe{Aq0uDK`_haIJeoen0d_N z_F^B%gat3uK*v5Zyi5OG_#lK%wEqYl=te_JsY#73rlOe)335Xf+)xIJQT*H7aZS*n+Lg@8&k+BE<01Jwnx!qb7qUZOR; zXbvx0-S5t@Rx})zy~vY}l%8}o;7ei?R~o6F_Vlqj{aZ3=GRQoBE{+$j9Id98#T)y8y2riY@j!=V>Kb{Q){VFI zdJE&7ua$IcqY2+jx2V!2MykE-9dLpR261qDfRAk)=J<3mf`%OpRW* z&^df{Wmy5c-m{n`%1ylm+JS(J+>ptc?zbftrrWzdKgSbJjTf0e4}WF|;u~MwNly}E zIwVtzJ_V8bZ=n)Z;LB(3vWn&7vK}|9rex*+;0&7ZSf^>?eSa?EC(8c8^LnDtB85@2 zmzclV--q+x%i_5~TlIilof^S)#v^YFvm}#8Xp^^IHdi!)br2z;SZ8)-jh7evg*2vCCI zhI|N!Lgj`+^>0PU4T9BP`_?+6AOXz(6oHLpUvs8klt@`WArSt6U=K2ak%3uBv3vXQ z7@aW`LX&5KR*D%VM&g1FctLe1gEDZFQ3IG^zLsu6gAn%iLa{MoK=^z>NJp4L7esi3 zdm&VXBUE;`AH@YeO(+1hKtALbGWr2`RX9aG7I71oU0k#c615Gvgk4@phTFIer*u{3 zND7^#hUut=?3jk`C`a$uhG&R|=vWiAFbdE3N&47H&)ARt_>Z4tj?Y+*1Nl7!*-0ic zavI_c%D^Hog=VsW9-ieBb~Y5CH8VOjf(3CDGNWfYQAY(KE<2PLb>t1Jc!LAz7FFkQ zF{EMV5Ej1XYbM!f*MTxQ*d1{Hqg1mIVmvQ?RDofd z+>s^s0c0#gCJq-?x3pubqE#8) zHj4Xcd;MvVK!+3sq8=v3Si6CQD03%(Rxy}CBCPcmA3{Q`Ia{zHX*{VOvB_e;MR4kY zTXs6xD3Ii*dSom9G=<%kT`pmKhRA<6)csn>{T zW|-A57SjV(p%n)IfmAU09XT0Kun~mSz-by#3a6T)HTV^n&aevn%CCQ#dd=jBgPLf8=0DCb4hOp=9kvdLITkRv z7CISXtYN911{Z;WGMYM@T7hUfVPPK2Zi7ZkjiGDT#a6jgKdtJGI0_CW;}{dlh0d0Xz0NUyVqu4-f)P7y@P6gtcH_`?ZmjXs^WKwsw|Zv(sP* zp@N6nud84HdbR8xoVwogdoTs&0 z<_y075fb$|w%UrVAz-#w6`OHq3y*b_oCdr)^2O~S7RPyuhS3Kih5e(R^V z5V)fNqJEYnO=1l{t6_$UxiwfKP8GSYxoO?xcJ@XMjfYzr;Xg$oG=s(xor?}BlR1kcOl^Wwc`sr4UhtdkOB=b#tjev0elFi zhPGD)TAv|_0ooLRA~ScgCpE=;eo`3^)4vs<$Nbx`67avx^o+Z)e1&_!&R`8QgH+r9 z(ZCSHeDpNAnA%M%)_BIl4Hzs&`k)jgI%uN0598+-o0AwL`#u$=WX^)ZD(nF*?84Vr zobeMm0~t7Dh)c)mvnABSL5r{l+ay8!!_MH#z#GI(GQ>?%#KxPvOuWRyz{F3y%+A{+ z!=Sv-JH0Tp%mn&L+rtf=x3wqNdET&6Y3h48=z4yjBb?QqjFv<_uIbt_|R) zDImrTa0p~v&VW0{&?yY)kP^Xhf%yujnLKBAJ7M_}9C4e+`dk6dkk9<=rwy>3s-O`% zZ4J{<&;_m2y(C6u%0ktlgAII6FN7=GWK9@N8KB8-cv_;1rh=Xvg`@Cz0f-la!!oG` zV@8P#E4<3D%VXl$RnX`cg~yFV))>C~v%(zP!wl5IJljG{)WuB1$9%uY%-cyU#mVf{ z&iu^7@C??htof+TCdakkD@R~E3STV7hadqia0530sMigsp%4II`~ZLdL8sy}9C*uS z6_ym3{JC+95b>aBaHGc+01NM}&wblWQmfa>fY5*)4XjYmgIlnBK@x`THmw2|I{3hn ze7Tsr9*t*`CsPtnHaz2yBpsGvAq_W;7Z1SEIK<*`_yH^)gR8+At0OR#6z9?}%~SX> zc;Q%UF}w|f1hhJ>%S|#3woThX4b;EP-?}~9N4(>8-P=g*)J*KmL%y%p%&+^JJY~AQ zh^SXohF2DGZDUN9)9nH-00ah*X`J z#>uRBiX|#3o1o9|4d45^$NsAd4WO;HpbDF?3DE!x(Le}>F1&~T8fX^%sBc5yH7F4z zflkvi!S=S`To;;Iw_)sdusTh3?3SXObTZ(8xhEqnPuX0;02~4VCb-JFFS~`RBzQ)K zMW$+aD=v=p^RqbpyTZ%gy^iBTz2nB5+s?2Fy{**0&D&4R)XDt3L!L=)n6Q|qS1Kh( zeU8Q}K;13?sFqLwgplRg-Q^O%-DvD{xknb>AgCD=e7VP91;QuhaVKH|kVpO~|6LNs`dT{xG50bAr=VNkmFFc9hn1 zIQTK6=x5qr=zg}|`drE4>ChxGPqaWh+rMt(JFX3c4%9xs<3Ru8Lr?TYPQ68czm8>w zx4;e3&Uw1*#d&RN62JmCfC4CR17++2(jNdUU;x?wEdf}M0%Jc69K8_5uJ#XurzXMH zZ;$>DR`&81&G`%88vqORPyZFL3H*Ble%nml4GFXBRVSyx7qqHEI(@R;%W%B)Ewty?KkrZRN|ADZN>Xw#lY5Wh*TryVMhzNN(|j zQWF}FXR%92ks+(KR2VX0PcJ>-DZuI_0a&$WO_e*q1ZWT-#i3f%(0SXZ527;z5>(+- zw(p^F;Se7>eE59&I^hl-dJ|@;!gpBVH^8c}sluuot5!)^rAorB2e$`QSWtn`hDH$* zMzgCOVl|g467V9BIuZ~gkN_Np8)2$RMkN5bLFPek&>aWDbsQl%SO2+8D~UmQ=4-@bLN~;Qb_HA z6dH)_HQ7)=VK+TpKtX~OBnaS;6%J|tpaI~7A+Wkll2gS635M~ex)8PVFCvIIMW-4~ z*HNaHRR{u)yz|ym#XVKlyXC#yZlKSggdzYyp@!C}P&fdUvB;Z@Faj3Ak31rYn+22M zrX+8aUCO1E;$gNLWw^=7!8sE;$bbRR%*h)XFL_o%pe9->DP)kU@mw3%-RfN(yYjKD zuz)-(tsmoB$1S+1bf(|CptRCTzW`GbFoX>&tjo5xGX+(Ajfa|jhKgq&pnnb; zB#?d%$|G(XV3j@a)Ju;bSJ_kl<&akis&4`OZq*Mk0+F65qhKwn$Up=Kj1bvm9OMR^ zwOOn%p0<-wmK(bnWCj=o^sCQ+RWqt4Tye!+>TtwiOqZvoNW_XncCFHJ@~*@xvfdxl z*@j3T!)j~aw&G+9;J5CgOJFFSbPJZ#r7SFA!WfP?VursIb7H_EyLh?IqUji}ap1D1 zfd@FivjG%ZJDCLuRE`aW20~dBHr{-b`7~i%!pIr}Zcv%g1}xnN9ioMEj(mumJ72nZ zH2t&|RnnXKyHZzukJa|xQ;xn_^SkxdXjtP?6^ckmd^N0K0qbnVLYg;_6_skhjaevx z)=B^bm8e98LENxLBLLw4H9~X`O)IHUF?d3wr#$6w;xb|3#3hv)^`t3S;R@wS*g1Nc z#Yku&3+6zFq=B`rb*78P5LGv@)ny4WY>}N}08_h$d1+z~Q%remVgO~_Kp8Z-3tXn* zMZ2WH0;$ncY)*EAL9Og$l!6VV4rM4s9pVrVsM)2sr?WUV;1<+b$M~uv9qAZn9mdgz zaEvpKbtK~!H@Ly7N>u>^s7F1@Sr2;Da|=}%U=xHO1g$)Ht47%6Qq=iWfXv1b1R>CD z)BsQhlX0!K0SFw*D9Lc7^)pL1W*;J;lK(S-~t!ifCY?{fEwYrn%;m~cl87V~M8`pgTt3-|BT#@1Q}u*6z*Qo{84hw;Jzf2;3TIro)H(oIIJz{WJ^3F=0qt{#+{o$Sa{$WDNWMkp7(@> z1Vnbc*icIUP;F%74Fa%&2Uy?`ze!YYBswy}b`Or54ZtWiBc133vQyGQ$47OQ)N|-+ zRgpv~Bu@&Slt!{Wsvtrkd|QYk^zws^*Z?86G)e+eLl^@J)`3)METSr-ZbVg=XhE`;kX!EbnTi<#9TQKNw50GOw!6y!L2=DSEdi1TCN1erJ=k=8|sMy*nz z3Z?4*`A!8;bsoS;pb_IGuWyeq%tkC^71dB0QMe4Pvu#8tJ$3G~CbA$}wryD$%5H_6 z!BG&MBN`59L=lDn0`ZEMs^(o>;bz!X7b>Nh^YzJ&n%Ow1ur;liGog?eT^6^-wZBUW z=U$YAB}yX+Oc1-Bg3IL2DONGU6Gi|m7IJD%nwpcGG{7N7U_6p7O4i5&!ij7BC*&2B zH*(xHqiS&o0~CND%uB&7ev_FYkMC#Xv(Wg)2ekARFgw~cPi?>Rhewh}$?Y*fA@Gdn z@d6hBAvC~E3mB1JZKS!v`pDTj0-&~y0$Fgw&~@jw64*in!w#Upx4%8rLU_Ww;@WEe zR{?EIuf~uogd0&UGU#xJFU5pA%;8xymyUE{JS^J~%Qhp;FC@AyFCy=z>yU&_!)!V( z6icU>2&<*=O!(BQUUi0R-k}w6U}P=EF>myAgIc2uP^;1PX7!jSMHztHHkQCfky<_J2PG~JzTU4n>6$%Kizx7;*abvMU*V&G>gvH#Sidk(B%%F8w zQY{J*@ErKY&^fHJ006|`-~J{qC-~e<#uYAHG-7Wv6HX!(I{XqDl(<-gba{+lTu7Uf z_~to|jBRXVU)*d<$0ki_ff-CN{jF=tfk-ikQS3vJfoJU}3{O;ZGRrq7ge5HhpmRLs z*m?;CsGkf~y@WFA*u^eXq!us$128Yfo8<;|jB_bMRz3T!jjbWqArCl5ihhx771YRs z(n!L>3}*j#Atn*R4|UXi0BY_^HlhstQ_C{1q?Rh80&&f-E(*dM`}2mqQ>x(@j!mKf z!7ICe12|6j1qmrM#Va&~Ll<`OiNzZcVVFE&06@gqhRxF)jw?YDyu4x%!HX+F{(`Ga z3ow!!xdQVqAOf|OYYe?&FfnntE-@^^+9aAo2;N%=78s)tXt6v=!dXK;=-CaV3xL!J zfL|-N8|Wm07y!#My3?pWjJm$of(VP^DCro7)@rJ8=#0+LlJ7{4Rd|*ElBzA;S_KDi zK(m`FPRJPpj0klb4r}?TpBjcy_(0S+jan!~Iub;O6NXWErDl1NxABH$sE`U_25-Oy znAijb7y`iqH^L(?GvEYqumxr5K!Zz{81ag(FdVN~oNytLrpTbls|8XJ1{1nCjQc#z zv&F*^3lm(6k2^giN}XVQ9bkMIW9+Xcau}6!xx)&NQnLvJ;3N*wJx)4^1wer@@~0F) z!r|i$m`Nz!V6n}@EIcu~f`Eku;FgvFj^9WDVTcZCBMzJ*pHX5qosdL5G^zHmq*5sr z^edJ1V?S^!gjd)ERY(R_Vu>CLi2(U2kwT3-iO4$Q1qaZ?@Jh)}^es=|1Wq^xVz7o}IGk0SxWrisQaBuPp%KVKG+B(ebQwvG z%P+GK63v-7Ud+5V`y3i1J-skF)FU~7iJ&o>zAT^ev54|%pXgYL zO;`me`?^*+DY0XPsS-#$;{;Z)h0RE+h)6EY5SD5X28sND4-f&+1gj5_NIWSxWXQ>% zfJAPvMIb>2aQKCO%d^NVyQvz2-^$HnCZT7bqP8JRIUh1y2`d;oFGEYnO46hKES#KJ?d$XWmujB<$a$vy{lt&hS! zGDM^^A-{c8751PS12_UYG&_R)g`9}3j$$oc=|k)4z|^pSuqw?v8KVbaQLu`y_);d{ zq{MjGPL3msZBPbVsDm1)%{=QwPxLJaB!*?^2K_JEAJFG)#Lz!tksAtGr6vNut82qQCmIFnKwfxS~?y zy#?4L13&>qk-mZg$2`F-x&%-Q7$X;z$ST|xVWSjZqoZV~4vV^!F8nCh(msf|6cL38 z$E+l=y9Iw#4?^&^AoVwbQ~+zpiKOZj?Xnh}NCt?sip&xK4yaXHjmXl3wbU39E?tTW zkq{9)oREB*WY~mB@C5KuN!vWT-wL-v*iCRiQqa3eoa9JzdCm`nPFPf?#0l1E1xcO! z32U|1mH?q{u$9=?~ z@-Qw=h)njQfLC~hau6U4!H`}_h7Y_GS~Z@L$=L@80po$STMet!5QbS~kXOnHC_UO1 znWb0yg-PIqA9X;e6|Wj-*70h|a%d4{0SCKD2Ce1VtyPx1!5gs!TL#GT~xg9gn5}U9DO;S1xGqtUOPZmI^ z6(}gk)wSeXltd{_7j4)ONCAQnHWWjFZH&m8(T?%Ch@_e}3!%qO35f*M31#rdIBcg< zAp~F$CQ|jc7+`}Mn1q&Pg`6M?q^XAgq+!Tms90Hz$V54mLn+kaSzep~XF!<0t%U}_ z8@rLN=&hSq`dYiu3@Q*NKu}3e{FI9$k}M$(1t#Avo2+rrJQ(>qr$(f{bC1ckqA-= z2w@S6kQ;hik>HI7Ao`*IqO|=L4AhB|x+*YuJq(9om@P3+$Ji3TTF)uk1pG4q!`%dH zs6Bxti0Dg{F_PTsIb}h`tSCTK01bgdD87Fhg$bB|6rjjExr9i~zSG6n2lZIYwA9vm z4BD~}Q)7jcWdj{91Ud|_LLh>ceFb0;piNn=0jk-s%Ekt`0fV5aT4@A>NRE)%S&@OY zS{Q{cw%#_bUN(+iS+E6S(B5TbKQy*YHt>X3h~spQW9xO0ytx~Zhzgp0CFRWHwt*Xi zjv$1-B`!k|qVTbw`M9}l3!4f#|Nq6b)f-P@JYcMh*T8)kz*S(#05!|VB4zMo{(vV@ zUPll%ScCPsU0bmZX5|k~0T*b15^jJ|P=yI-0E+y8sc#>$l?W(n{n&sFsE+}VfGGH2 zDt>@PN4mS zSrLV75z4j*A1jdi{W#NOlKt%q2@^(4TjYc}j7Pr8za?!2ljJ%LHJlg*MO+nS;18O( zB1TdLDAcT$j+x$&oQupsj^uILLK=@c+g? z>9Pg9HUm%C-Y_3L2P_0m5TH7qB>^<4*}S&|zKe+jvXBU*7{6kv=t#supt8wBYyQ3ls8XU&KPIg<-5$s(2h@oxljM8T}z2G9}M z*^$YUQTTyQpn@iE01^nz(nMkHu@Jy)wje8zk~o%_MUF^O0B=jyAsFv6E<8?n1q85# zp0PVY$G=-g(J0jB3V`qYkn{h^545iHCcr`okV`r`NC=1UKz}7!P=n=iIOXE9Ra3`7SHI> zZuN)ZXw^24z*S(jcsNCzhRzV4z$J*8i4Ein`rd$Thw8@6X3^q6>>2!%3v1XUR#?9?R$21?L}&hmI*|Zdumw$41vSa( zWN_^}`G5c@2(H-xvjzbD@Oy67cRV-Hh!g?F{&Rs>XE(+_rsV`rCx7fe0Re*H&I)BnY2cQvpc?5n^% zkBJ#9|1){_sOXIU(s`RoOiO?b==qc5>kWi`4Mw@F6fK?*i2krz`XwI)5@>)Xe{vD9 zSWscZhDMDdGy)I-KtqNI4K^7t;6{T(4+L0v&_G$TWZsg2EU65fvXm*o*-~bU zrL13^IGOQOs1P7FAa?Qup>yX?Hk`^aVNoL-ZAysN?sVtJpNR1j5Qkl1J431uwlP?+gG+MI%>|=I$Ou~tut-TqP?X{cP?IMu<+8|dl&ECz0ylNmSV#KuqQrRY;3uY_aGhe|P})l(TRm5eRIjH1kr zCwapaR!WftmRLg?>D*W7z~#(1aakjmGuEsHiRd3VovXXP>K`765Iw*%m?wyLqskaKIHO z0tv^Za9ncL38RuX&hQtX01t$~9Y@)9_i3lXNMH*QD6W`ZdS=X|fC9fXU|oFi9kQ7! zs?_qS1u3vVz(E5R*buQ0MSzflO*CP^020*p>8Bt`MN)^dlvJZK*4omPEyTPslP5OS zfFi3sr6`n(*35{MH%+z6RE8{#B8)6niL{hbLW;F7lKT#c&OTr*IdENU-DMYHdBL(J zm|Gh5aKewRWf__k@12^(fcU=Prn4#0E<$_R%t3nIZT zmo#!oe-OY80~j=*LJt+Ib|V`s&|n2`un^%!pFYrIGS;r-AxhTD;*BjhGLzpcuZ(C$ z4knUowYjdkh}60>KGhV6Q|;JeyIEnC`7)UoNu+b3Ckfq>P|hXSUwJWXWi+s4*|3+f zcWD@85|h~&V`ZjES!2$;Sqo-!epY8R>Z;;G3b6Hg1M@AsW95JY)ZTb%SO~G$hQJNLf$ZgC~ekzry`u0zL~H`@$A9 zyRAS1H!#4mDqsKu6u?0WL0}^m0EdlIbo~M%!BA(gxEv97 zuWQ|0x?~rKIdM#mQOub}Lovx{tTOUc#w}_=w9TYMKbrvK2fP!4ftc|IKrjFhTK2Lv zNE&%*+?OI#d-N{SB@8|3U{dl!Q%g9tm{dBpAVpsEyYN zW_7V6j1vPR7>U(RFS)~=#@eKcTa2O>fc)A2XeyscA(8{VDx*SsdXbi$z@dE#0HG`} z0uNjdQS1ZG0VZ&O1LScy=abZOCcvMj;YNMff!20%BcBPFA*?)MgG*x z{`%KZvRTAsfAXXO4uY&VtU>~}pie^^s?-#aDg`ddTefs5UJ!}*s@v)WC%W3zaryRY zHz}Nc+GW=H<`N_|#8Hr_=?!akuAAKi%Q?_t4Ri!pNzU1!lJHuvawaB;O-vYIBj(P% z6c#ZT+e;O9X8_!-Vozbbjs-XppP>1%vY%=I{|d@jwu1uUA_IV)LmTjcM2%KA6YUM8 zMzPw}>M?Bl^O<9jlN;K8ingFS-*HLM$oBfgRj*ROCyL9zuif^3-~BElt^@urGXkvf z&{aCYa2X9&gJFxI>2{^w#A9@483U-oYXT_b127QcpkW|6K?|{E zJDO5iqw$~vXfd;ZkWduN7&lILdd_~+0M!oLwUP=N3H}#L-Ew_9wl!&|8Ze1!x71aW zAi{fUu|J_{GN-nokQpzM-9wOhlmS8rv;MG(8vs%QC}W7_AOg`Xc^%lM?*cI;J~*%xerFXG z6Ggp1W_R)IuqtLXA?}M{K+0-O0M$uZ&-lh7VG?pR4R3^)I)=(dOh69! z#1PD(P|U>EbV8J+|KUyP5BzxqEHyw+RltA{!v3|5Kqf@oG{}Gmh=WAemem5?xqvOn zS>Z|IzEvbMWYxF$n;F!^SB;AtmfbNVTs4hkp_!EjD%uMvg*912e+}3&1Xx^Y+zQ4b zI86o-v0e@C;tiq`I=RkZz#N*uLhV$>>y?R6R={ZFUai!Os?iqjNgruh0CEJ>A*IjS zOcZtniE^-qF?YP z?X8>-s$64On5b1o7zI!vU1QKFp&?OUcYMIlfr>T`%?Dh92w10aSSQfNWm2XGQq?bbO9bYb0n{`WXx4qo6wwf03UR&ns$f^cMMrp zcGPrs|L1mIXR-avb}VP8C?RkBnsB6+Y6V*s?veJe*4JPq`*4IwVVy0&<@xo*5PX%B zX^s87M_TS&r8LcdWLMb$8k+av_BEWjH8{O%y`nP}_+F#as$nIWXWZl_ZSN*(nCjlZO&pWt^#f zUYOi2UJOtIrORd5W7M3`0H1O2+%cY%cBp{QsZY<{Tz6hVbyny8_|a5$&wGa0klmc5 z495Y$fUvQaK$xL77MJ^l4K%W${-nSGbV7Ng&;dz_tnSb{l*X`EVC3NTA`(OO_` z|3HAY4J_De+W;i~Aw)qsNKfU8DzLyRSV96;q$Jwe4_xF`ApkMZ1bbv+CVCaMNuH|Q z#3zb_0>H>=k|HT?YT}IoiMmAQFx-Aw94wM5I>hEV?2xM3=55*{>yaGm@urr0F$0#0mhO1nk|H>1koY z0(IrzD*Y!x0^}lg7$e?*!6K?8>Hy8;9tHP zVrkIa-Z78C&KbfkDpfhIoh_;_SfT`Cta{zVSE-jxxXLjUPB{DmRlx|uks`;UW=n{y zE~z4GvLfiQBrLM-Y&wTcF3Fc{ns3Ug>+quP-cIfUab*zT_w?%bP>O9t|64$L=hGQi zcPcMCO6_q-EweIXa&(lCLdtJo9dL}o_ric`Z5yOW+0>2YMrcnMu@81EO#|rIFW^Kx zs>o=*EqfG>0^Fr7d|0!7&#wkRX-L2y)Tsd_M7~Cm{bko5_$eVYP_4;Zxf!g%P5?zN zss#5^zwz0*dgcaWtdoUs=XNUSp6!K_?ovr2E% zU1I|YD_A!Y6!-1ggpfYVIZ% zLb!nND-c5q{X(La@JODpD7u-*YRk!*RexoisnW1azi6vM23&lJPP*QW=5p=~WzXua znMgoQk=Ug4YH|oia4e&7VF2$%sqikbv_9{$VrSGAt@NJZZ&XUp9Do;-zyw$;9`zWH zx!N3)0eZOtnn0R85nRX^Ky3&{|y|^rwM&xCx^6Fku;)~ zq*WD#=bB%NI)p_;4l@%IJL1028=u90E;so)CYATB^Dm6AgG zb7{!i@ksVVKQu&BwxV7(0-)CkVW`Dsa$L*xF>vk(d+z9Niw2%_N|Q26Zy@KXC<>m# zIb58J2G}?_$BoDAEcf=N+4Sq>vR+tNtO7TMA*B#o|JcfjiS4L@MqICO7zbHKO3x^- zQAcS2L8tH{Qq^uJ22gc3UiEQgZ*Wv^qwv@lYj1IR^#O2{RH8AbAlFfQwI$5=;^o-~ zcU4WuwVrPc0$75CtQ{X8ZL4*}X=E8f@~eUm;wk}jL1@+|=?Q%_G-OA#E&KrFTDrpa z5{En95J+Ajz_Uk(I46YgBzUq``2r|cRf><~DDo1IM7AV16DqIh>IN8%6WDFPGONM` zZ`U&I%_?#4aA5)EFBALhHGnljIUa>Mw*toz8;8!Rr*bfJ^_Hz~Y&UjxH>FJF8S2rP zcN9`;33}e=BGGDzl*sgqQhWDHQ}G z11!2}nU*c^C+*27OkE`Fz=dCSr9b>9Ai%d=sM~I`#InaRU|ZpI0;*qdN!!AQu6pIg znI)+8y)m3JXrSk*sEoI6>(Zt&*mUi&MeT`6Z#PkK3uVsIo{;xE?!w&c-40M%LV5~> zZ+LsQM#|6ZOaMU&PBlFoHLLGQEi@}D)lw~#XLD=q5q9*(HG45emGL&0w;3;eS=S2A zLCRz607e$hF&u+9h(pHfxi|<~yuShwU|SGa0$SFuI(nU|iP7>rP@rCf-sxR-H59EK z-6EDoctpA-=zuIhG6g^UWk>wP^I0)j|GcZf@7vd<*62r8RWfXoJ2po4iG@huUEXr*QT>aQ42=_Mn*ny%YhpJatV9G`;s?)NioX zxm%t0ShX2qIrvxvd(hypl7d~g5-3m^tKa=gK@ zLIqeM4Xl#Df(6HoA8)v5&|s7$nYMIHuyxbc4`v8H{X+0d0jENM*wh$Os0N!tg*-7e zGmz7r>xd++G4he{~0rDVa0|W%M7Qgm^QtZwf6R$wR3aj&b51P-CT6& z&hhnoLzy$d&NdBRCAe^f!G$-$BJ3DeW5KW-E3WJ;@@2?}6FaN0X;tA>BULp>(SU@7 z4lM#6p^BJ3fZ6DE*&$XYsd5e$nzD1N%Zgdd+i{p?hZ7=HX!#R0P_?iFCfnS>Jn zUm=1ZA{6*x0@N77Zn*2NW5|LAP`F_L12WVQqzVl1&;SfW%y0(-ShxX27eYPg<0O(ezjw$o?EWB)uNm3JL#$$ z&QsU6bFD$w8u)J3M{7%ugxiX{q`gbJJ77Kp=A+`5PV&nyoO1MgrJMk*^3TQt59EXh zB0E7~f)pTXC?X3STH!(zGu)7)0Z?RN6>(WI7sVSaLEt9@WSL0^7e5JNS|Ej53XmLY z@X-@9Jb{Xnsi?}&|EgcK%1Wz+pBxKfvc~f2CQGV(@g}jF{NVe(-pL3NP-_+fNs}OS^FA2O2LcmIo^IFVS?|#qgA{EyqjRX+)mBay`dXQq00H@ ztFPE{Ithnkj`dUaZ)S<9svHHXDwqfa5gZbMQLb*Nq3lp_0Yena9l+dlS2;0Vb4|SA z#2X6uDTq&8TwMnQUKz*?GYW~l5FM5J*GH!Yj%tztt$M{ss+6>4lZA0Y>ntZDMysos zWKqT|h^^`P|Knt*DJSG<B^ zScoCtjGNU_^CDuDQmlEv3S<+2*JLUH4M?DAQ1Al-pg>ga`5JPFHaFD320FnJpljUb zD5SaVJ82^U(JCb!{JCdW4@kiQ4 z0zNT{hR}vK4ZxhZfRG^!4PX@mV1X+BaDytAu5|B$*H0$kq8NQ5D6tFJ>^xz+9WCWw zO(_Jy3PhEv+@~s&KvKhS0v2od0(oW$3s}lRu?bYkMH#!}Te>7N>sgOv=jdL_(4?}! z{ETIg|9n$taON1v$c#^su@hs`w@IA!%ua`)-zJ3Cn+l$%QT&6{+-~y$t62yIvAo<3 zfPguT6aWY)SV2RUlN{rG4OgfU4|P73!P8QrPI$)@@ISkO=9X-nnc~kAtPK( z|0=&zk>1dXY*x!iEG3W;TJpdESOvlj0>Dd9T|zy``P6e_gBtH(@Kge9O$RynD`uJ} zt<&Mz7s^=TM>w(o z%MxM%u=tRM&eakZ{2~Y(>j_(26qGU64iFTmolDtAO(73CyZ2;aAXWDUIEJ| zlJ}&C_3n);19%1QuY=T*U#Az&!yQOS=Tz)Kh)_g8x~PZcK!7FM zRapaMb^#TzX8|&FqJ7@r2R_m9@MJ;-gUZfdtF_(img0%s$@X{50*XXm(G_OU@wXb) zV_3T4Q5S&}EqfG8T;}2>Fx^Fw&vhwuQ3T1E1~pFBebY`gX|u}YNt1c1n$yFFY z0x!{4({hu+wKhs39I$|FB!H1v!dJd1Asu{U$$%ADzykSwP^iEPDzE_%7GQ5= z^(*OA=>XLM&vU**X;m|1pcdBK53ore-U7DPVo_MF@3`R()7FR5dfY33^b~TkqPDLS z2P;@?31!doBc(&ZyRgoRPq2cVkgW=kRm*K}zrA)p5(-otnq zta-MWms#Fzjb-TjE_`Wjzs((|*UMLy0pR%MP@ur0LdQ5_TU#niNLHDnvOBTa&I-jt)>-AoRzKgb z3v@vASHs#8y#0k(v@*Tv9bI98!+NuR_c#LSt6D@Ttm67pFjgp|U9?PpyT)Dsv@0NS zzvv;f@^w3IgZtY$%H8e;CXR_32zdOaSpWn{h|4QJAuMK1-hAsUZbC(@$z;w1;0i+-+@$hEBWM0(P!8krEF&{417~C=P(ULx|AtBxjEYg(2|WPpf-2<$ z4y}o#hy`|lb3Sed=ZghOF3)7omRtY@UZeK(EKzcWQp96Bkj4hZMm^#NZ&C#|M!`Fl zu;*q)TLfS|1R%dWWdeX8)?iKOTp;>56?ORr1#3|iLIdG$<}rk7By^_D=;!jp zM`#WKQI=3rpyoDYqcxaD_MQj`c(92;ZU8{e^_T?H2!B8bexL@$LzsTggviFv|03l(d__`*kAtA2Qg}lE7Bd8f1FXi7 z=stnyUWme!=%O_7==f2zzKIpaDGsNlVCIgEs3mdk5GsJ-6I4M0CUPP-LH?8_$^1ic z8fRb3$lE%yC_eJYj-l=ZFh6R@NI0P!Qt~D_F)W(I6Qk@CY0`NF2`A6t6cJb63iNdT22wq|W|BC0IiVGnBDj>g!a25wh)~MlX}ZgSlc5MrW40{Q6P8t^8t z&=R1B8I)nlyx|8d*RG^$GT1e|7Hdd=hxk0=_^ zBZXpMp2DGo(}reKIRObhx$8UIzA)z96jvz;LJ zpp`h~cq@fg|2d#JIE{tI(Q2-71(;w#+mhrC%?PV%>aKI zS~8WhG?n|P0RuM_G0`nBIB^#b60zK%-be8=&OMS$M0;tu3Ugu$ToJfC+Xf zRQ1$b|47vcbRG1CS*4%!d6M39$^3on0BGL7Y4>A zQ3lGRCE5+W2?1rawnUSmghJd3p<1fKUF$<8KA{|9s~|Meq;2!t`en61!0nD~ApAod z%E1?CD6kG^IIYxSlmr2*?*N}9xA1k{n6rMFffQkx87L5Og_@|V)8Eh}O_(wOD3@UC zbSa&3ge&Z`Utu?#_PZKmjuaV?NE+XA) zK~*nPM{b?JyI}_?sm4(^TFF(?<^YVAA{vvRd6cSP$kA4%L2 z|77DOzBd$aV%El&Sh=FZ1d^Ogo5*VOM+SK~wdn`m<#h^~ZJ&YyZ2OXr!jg4_C_<9% zUO^l-jKdE26^v&|8isk$0s(U?kNkFmDFzE=0m~kyUo}{$|MlN;`D6t4O%=9InQ|`c zbWfqWydmv!z2z1XMmb;JyMpb)^V+rYJw|D9dj zcv~F8;T2$7u$l!cjQe=yD_3Dp zqvV)!yq~(f`8v`bpcYiYPz{w&RxmW)`vC~rQ5+o5TP`>-z+-U(;@>>d`uZ9hoxoqB zoWEP+EyM-3iW>`n5Oiq$3bJfH(YfCfUq13>Cl3-O%tOLYPD*|$JOZjNRiz8RZU$=1J5K)|BO0>_2Ceh zz^Rvdyq=mE-F)BiG`~2PC}EiK{ghAioS^@!<(>(^^asDqhQGse1VUg0MnF98bEy|- zL1`~QA1y8|#H}x+015yF_-s0s5x>{!k64HVIKTu#paWRm14h6DI3VUf-2+Tu_dVd{ zd*9SOeC9ELnsi`9TYv|CfceSr#7)DjB;^5CykYtnNtpaTVtXLuj>u>S*cs{<8V9oE zmk501>lyLwY$yK&M#$n$eFs7urblBanq#`+p}T!K0fLz=fz}2JJZNyBt%ajT$xyz=8c#St;(><_9!5~^z+o~6 z$|feO=%6;O2Mz+phG5IKEr|&*TI=}n1Bh!F2d+-Nn&QEwQI>4|`owILFKeG{`TBMI z*Q;``3Kiny9J=%9h1ghUQ^-toRzx@{P|zs|k?Pm6TL*C+#E>CuK)45_{d%Dq*3EFb zFOHKqYrmL%`pwKQ;rz1DLOLuoL4gVuC{S?-J-CTL3KiIp|0T-U0+B@4P^8gD9C^6W zNFSl}kxBaKa|jcMJP^eLF1_SZEi}2PQxtyj^gu1DD6>kBJQ~%b0Z18eg9JULK$QrE zX;oEWSCJsX0U~&X!B}AlAXZsr(GWrhBUE-8PA)I zRaA;i8RY?^G&agsY+a@nXdaA4*_R`H=79>R36PqWY&}520WjzQ0}ww@+FA=PkkDtR zB*^$c3JLo68*v2%7+^TBu+rRf&T02*cGaMM{gUeu)=g*K5H-wq9vefr zr=A&}$VVP@_uZ|TV!?_q#zfPKHtN(0k+wEz3qLSTsa>Nq&}S`|6#c*`w){X`fWXhd0jQxzMd^bWC(p#d;D2d)0(R7O;`(`eK2F9l~~8 z^pTLh$btd%&H}@mQ&g5T81XUbFjk7*|5?J~0WOW^GaQ52V7`JH>s`+!fN?=?ND~49 z2!MR!`+)FLkiI=NpvFx1u+z04e3Y+ZET<=daz@LPW%D^2vEQ)K=_L9;J^%%fKGc*cuW<7z!UM& zTXgjEidX2TAPS05DjQcE#%WVQI^-d?CZM%sY)&HH*igAJf(~bN&WIq=$VpCzjupJA zMJ#gDOJb5b)kSe%54g!8MzIQ26vYy&xPd`$z=AL$bOl{e5@JNKf+>9f1B5Be!>Ym+ z=5gRqnF$MMxU?D2KuUZh0ACu$l2fA)!OJ?(KA}-&l4}`F zAbYa0{BgjL{A*2bJV`l*kg_3{h*JnI;erJM$7{SIMmc^V%L&@b48uAh8*)H|4N~C~ z3Lru-gIQMla3XKPN>6)`Rm){r2N2Wo#IwZl3cNC-TdA}mHzn82Y%PRa6WXglltHd> zBC&Jnx`^kHh{TN~adfitOB7#J3klq!0r;$^OL8)To@`N|1yuzLB#_Y5CiDaWC|*~% zB2lA##gKJ6BUdu!fuGH9G=!?3MYZxhK?+y6f%E{Qj7u6pKAWjP+;dC_E2}&cJcc;%Dot?+@o~j5@8TL~ zAO#_AunRiKgASXyA&#?L-XLd-UkqaySEI$$@CG&9#824O;wJ*(~;?0TTE_ zkxt736r}b9EI7dcP|(^r4W=uzrRbd2Xf%z5fJ>0Dx{Xyn`jjTBDP3I0c$}D8DZ@-sQiR*fWx2v zFee-eSeC5#`>Pz#|J7L5seynIK-T;CvaCd~!QGl^SGGbJ!q35=u?pddS3N75;wT4S zN$l4HIj)|;Nq*vKw6IFtbnZ$vxVF@`Y{(Gdl{R8e(@ zxJ6Mm0q#xIP8AZc%ZmKcZ3(PtwIwLQ2~faf)k0vlua)vwW*ghGC@N!hY#wIn$JJ6X?1sz$puHB}2X7RK~c*1?&sSA|i%`NHV+uZE{Ye z#g0YiwNY}CeduE!`&h?5SR^~xr9c8bc18twq>7*53r7J!lLX%VZU(fw1gcGF02n%D zde8RWw}sxzG^W3>bmmZhQi}j&MuOx%00Wm00m6gJ@PlJuYHNN{o%%%aIg0>fFGGt? zQPTl0vBd++g@JXmcr=k&(xIKT?L6a<}cb9dt%af3mH zP)zp6bgXtC7{nfzHg(&FSJZ?hK;3i#3&E$D(W2!kjvgCziOO2%ZDmw8>0 zJjt_pS`vDV(kPihN&9Ac!vj37Cjd>ggi69Nt*0BxQ#4aJg_kgKwJ|;~g?oLXdoBV< zS^`OHaY>X>79qetKy?~cf*K#-QVpOAhV^_HQa~&RDt3544d5FALJU^OxOFontEFyC`g zxCa@CWE*`_aY}LtXclmvu^Fh*F-9l?E?`sngFpLo6%(*m&UX$(WN31jjNo%W2UiQ* zQdQcQk^9AwCeU5}=j0Fg0~}8fVcH zjTZpWSe9hT0@CPi34?j`1{U9=Je`*@SHg|;gBja3a*C1|NHRQv6p!lY|1f?@h42`U zRY8xq0U7r=aKbYf8dX1A)+K8pj-Dp~jKmXt)+iQGd!wKX7BL(ap$wxCn$dSPq`7bt z@E;fHK(86cqa{Ao8C=#;9#GYX$j4mNpn()27FnKsv9K^~blXcYvFhy#>FZv`} zGGV6@FbcPD2xf5>Bfy^Z;+|~604~^!k_UtD24$ERQ57>~Uh#t>w;A0<89wDa!^bdG zVLW`P8xG1aAHbj(psB6rdPp(@5!zf6M*?#uJgz5O%Ok5B`XwVbtB~Q1`9q@2WultX zklY}eqfnX>xo|VuhcLtmIcgn%XhA511K(E&W(6K|b0502|4X~{37w#%^nnLVN|S}C zEYGxk4m7S?gRYH}rHzB7Tnb|A>Mb&KqMgZN)TxRTkuK^2xKmjoRQa8S>n1G$J1(&j zcX123p|E}G7Z1P$?)k8dCwVXEZtkXJQARNmRc{-U7S6+4BfuqT5ulkGNSQiPF;#Hw z2&yjYvV5tjQ=%J#G;q#^suNdJ>iAwkg>l2@NT{n8Y%u}0dOt$7FeKmtd@>4x_LVC6LY`N3B?&r7Ur$B#tg^y|7`2DPE2$X9sw`iNx1%y0^%tX zEHc4FCKs1SFA1x#LY8fz;GUH0g3y?`6dM3zQ8AzgdZjCJJh1`|@B|uqsf|L8h|#(# z>#2UJjuf?^N+JMBLbEeFKsU=U6m@WDhDoL8Q)ST^4L5Q^MWX0KHAbtVhQ@Njz^CvG zo%cVL?;pqSGabh|hhvY9y>;x7I5_q^_R0#`EBPYTImgI$?2&ZL%(9b|W0hGlLK9I| zLX`R_Uw^{=!*xI2@9TQLo-bH6!!lm2v}QGe`M(j1eu{-ZPN+*H$mEZpaie)SL_Oe# z*De}jw|(cBK`_QIPj6gy#Rld4r+Z=b#iR?idZV04FW?*Uu2E?LhqKkfZ_ORE?LwmaApJ? z{VJt(q1}dE`K(TWHjaDNmqgPl`7WhxeIS-zn%#eL(Xp!I&zlZG<)|QU5Q~kqt-4MlTFM(8I{H?>|s@6T-VHd~1TR+n%weNVHI z+XG66xp)ltM1w0~zp}M<8dyi#S+|B1t2uAm)6(`Q46EboGZddmro72NZE*ZMY#jnJ zH{fTf6n^=YMeZ#sEk@V;I^OpS|2pkyoL^qhkVOjO&O+s_hZIL40`wUM+T1F8G@^%w z%8i1(yff8~n1X+yEminf|HwX4uYmyN<&;b;bCxjV{e!ZhB{Ng>n@wTC1FQFA8T=m} zep&+l$Hx%~5|v%4kb6B)SvaGa8=A$9l>0{UWeis|iIdz>DiJOXh~z8v1<8_J8^l4< zA-0AWFAgb-OVixVQ-{o-W>+Cg<|HRsKjXL-;&%e(9q%d@t2AUQfmiNUuHI-mdx42> z7kxd*{I#`eRjJHk!j`N8$}Y*ZxsYakThPG`;Sl`Xd|^TVkDln*sUH6!<0%^2j}v<7 zt@oX&=3}FvnQ{KK*!1u1?wgs{5SEV^<>{p?59K5th8y3##yuufbvN<4$c_JrBr{dm zDdUyeFS7uY+tU(!edm|D&%ZMo@458&GGk)nPFV91#%pX4^cdGJ2SSXj$Yx=3ECDOA%7-hI;Wp3F`JlEhB8{dDIMRe$Cs&(r zl_tnJ#CG0ks+v|7C1_dX@05(Vxk$8lxx)BqU+?-~e#Dt=6qDC-@X0(~(5iRQe`xX7 zgzPg?ZT`3ZyEmuD8?K#u5S6y$Gydh#4z%Zcv_R0!(XWqO2E^cE>{UTEWd1%X|-3_7-_xZjNpC=L>Feptdv$uz5dj84wiK z^fSgBGmO(7<~P3h#zW$scXd;tW)s&#c6*ukr#!l7ovV|!j8~ZK%!1>XH=Yxml1rkucLYtw zyB?yVkGk~uYwko8>iq_lFA@7YjH>&+Sn^vSW#RkkNe`-d(u*$^U=(G+9!+#$2r!ldgfXd~0S*v_RnY8`sD6^z>@}h?CP@U1>?Q*&JRe~># zV#SY6&_^9OnIxg~S~XqjvGrfgNE|N-L&Jj_Ll74yu525dDvMP zT`%v~?W@=|k}0k1KVA~|B;KL)k#Bci93Lzp zZ?yW12us{P{CDZKI*<<}GX0koRUZMsGkBGy(7&NfOA- zDnY{M=I=ALy&2IUg-dQAgwt7VNvxqFMjvTXDd#dSeePaaql|dra8Q$PL0lAXcr$ui zPWE*Jywue;z>9L9J|n51_%{&y=*f(E$V2+EPX}&L;Huqu4gO$e7~Dz&1mm*8W_1c& zbb~4D{oS!sc_rq&LSAsbPJ*oKEM_GwMkTU9KISo5J^F|pQPKRAIw2236I!;(8_^xC z7eL*Yr~1D;-ngdCr*AXRzuWVl!ouk{9Ss1^!^&gG+tf$&$9V5nZ?ius`ungKW%N6_ z#7QDB7h7bLFkP9H;)N0^T-W^~j0q@WJP2;i)XmcLRJCK+H z-|3|*lh*=1zk1#Grhvn01bTJWvW)*Kv(g30rjSlu$dO$q{`T&V&N;{Hhh2Syddo9! zV#aQdh2mbQI*8g)@MtTB$!cyx=|iuU!{rawPVSm}G{~vr)2==@U9307^Agoh*2mOz z;Mspc#ISFuovj>b6vN~w{WP7&7FVSoMMFqrNUWHEvPP59ADGjy;L21ReJYJZ@z2k9 zPQEgd<(>(@lR1U^Mk!EC*kc&?r7)r&g;5}aMBe$QQoW(GJ%1X)HwBJ=WxD{6nei-7WZQUZF72O>O}hArp`i<5OL_cAnA z8AP&5)7^Q?l8h!#QE1d0O$2I+*wA07LOca~_NN-Dgzb~W3nD`_ z6D=te{lyM58$T;@S}}h)=fqR~x&eAUkL35Kpqh3Au3Y8>4lBk#K+^D&Ax~xrzm`=P+!K<=&Y{C03FudA$rp` zqFFy|PxsbmHpVK$9&%rm828Ew%Blv-@Kglxu*Chgmg0k4lWYWXT7Vw_aY)G|d9bBZ zHAJAIr#x+7E_Sa$=C=_@?E)WoRUV8N7&!B-u7FuLGKW&dF!d_6VHS!)LdlV7u2g#$ z$@wW$2iFhJhut%(uQBoj+`qjnAQ@>$Ec!s?DmA6zNzm3Y0lfsM^)uT{qXIgX|Z zMxJdBRN*M;WjtnoSgby|rKr_}R^1_zNr^~e!dD`sOcJGDQsIKpgYY2dA-P^MvrP19 zB@<#X38aE7ygy2GUT#f(o=3FJFB^X>buBE~a-`GfTX@SAcDlvqwoBz-FnRCH?Jk_Ux$Re9OWh1DwGyl{@q;43Ku5KI4$4iB=;^d4FTXoq3VIisb;mQOAhqiSd= zausj71Ujw47*^fZ{ zQEjZbE;j+IWG(%#)5JJqZG_Y}31*-glzxu5IVhNET+qE7ip_v`RryDN5# zzDIiD{R%U4YTYx!1-~0CqTrc7dH&HTh|o+4 zC-a{rk@xr5x@EMx^12Y3A%oR~5&nLUKAB_3YmVp(uzU0n&C`Z?s-L7n`pcB=bP>#O z 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%0Dm=n91WABmcZ5pCp7g| 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 z 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%0Adb2}lrDNz@N}IG*;yCIfxZW(a|6_Bg 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 z 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≧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

      TO^3TlY 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

      QXa(%?XY^=k_@S1cOQeN)m!b5G=i{t3Oc{T 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

      Tx6 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

      h>1`c&%Tnb)p$9>!jlTu_z2AJLxpXMG)An)Di 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

      UkUoSX=c6bwqz1oYUscxLA~YT@)U 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

      uF{FB|3euRy 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%0Ay-SX3 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%0A@yoGQ_+@ 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 n~$owU|N-trZFCLG1f zFihUF*Qp)sZ#?6g?xHuLc!aiTEIfrl*gnD8hAcU&J-#IQv21s`^4e?WcYDMC&|K7E zNy*)taBRfEB;!ggg_?MW1_)w+YeQ7gRnYVeX$h@uQFTzG*=2mKOJVpfbDsa)%a2eJ z*^6szX18pfYv*&qn(4tclW=O1r>$8Vl)HQCWC>w-<+67gDZ6cGY^F60oIzp)B=iML zyY7?Z9`RKH(@ z#mm%vf*a<^tALHEjn%2;oSNQ;7~Kbz%#n$oM8^T04M{Yl4 zb_&@TFPO1)8IyT2Q=W+uyTKu0KY#t?`6(~=*%#2RLiCRfS^t++r~~W#1V8F9ZJe@h z1G0^vR7oQCxSB>fILcJ?Z(Z|oiuM_Lw&nSe@lF=n$;0ji=OFwFW44-l0In^7ef`ReC&09_hE{)nhN6YWYS9Yd+5k=cPr>b9^o6VcNdtsb?xn=gqKgom_{<5 z62ES!2|k}6q*#Aicx}dk7YR6l$?U=|eipwo327lhWOX5Bv!*w%g*8Zernm9ZJ};-q zqH|grnud7>fdgoQgUZVJt=EZaqO7=@n-=ekYmk{6{`e-VAaIb*_lwGBzO;jNmtCt& zdDqzZ3s5FsDRyB8Swt?`Jnq8cYazQi;n#o8#dEtUdc@qrEIe_Ug$dZg?5nOLOZN_# z*=|VV>~tzNXRek`p&8Of9A2{Bz4umjP;clz(`ZvzrT^b0c%1mwk|n$L+ab;motnAdaW98`k2Jy|oOg;T|y>He@q_2-Hf!iSD= zQ8<6O5az?NKe_Z)g-#bgNw6!FwI++*U;oG5bJ=XNXdWl?jY5<~& zfc!Gh#d_uUtFYIzK@r*6dcSh+8!UNsw@lNKRAVd_+wua+1mpxqr`<^@bXx*mzen<)(a4 z+%>t(&zC+1`Oe+2sBY!G^6KJVDBrl~2v*EB($N<3i4FOsUv|gXz4XHLRG#Sr9@Cq; z#o1<4P|77Cuqc_?LRK}GXf+3Cs&R2mdQe!|J(&G9Do8mySk6&vq2Sc?6O-rF$6V54 z?WI*~s;#@Z-<#7Tqw}Zx-$>Zt=THP|&mw=H^`YdzrQMg4I<;tdJ2s}c2!27Fn z&BC*oy%m49>mDYwsgBgrT*$+`lNh9@kfYo8v3>(y@WKSHUMi*Yr7at-vb*ovxc+pz zqfI=|-R}-9X}^*@Z!}7k<~i(~C-)buY&=rr|EWql_f{+mkhK*g%ar})@6zS#r@8PB z+nK%8)4Zc*Gzqc{7&HBw#`4_yWd*+q$Zv4s4k^lA$vAB1fC^k_Nt|-K&3NltM@5Xl zSZ12rMEUx$#cR5#uX@Pe)%kAbkD>XA=${HAXZ~hSndXfxEDv>jIG^|aUC<#NNece) zxP-OF;wFiFGB<-@GC+?P#UCJL#=i0SHGs?G6&j zm~+0nMF-XRVV6#EP`OI-^6CBhVCH+(HTDv9%$0T;%Z*Sf$9Z#FTXZ*-t@YylD)?E< zI4jyOmTuGBGw#|Ov^kRWr{~l2ZarUkRQu0yC{`HCuTIksMhbX&#-K>#I1(ckgUpg8 zj-R}lDU>)?7se{LdV?U>Up*wd z9eeVPifyJUik=zjKTcz6Z&>s;`M@maeXgA|RT@<}LT$7&w5Sz1k9A$|T-f(5U;F)? z#W2yaLPk!jT6@tYy9YnmW%>n41pohtad-&wM z)O*6QbkhW}>_uI94nV{UJRA;;5(G?kWjh`Vmd=?!QFF6Ud>%Xi?NUfJ4>O-Sk$!!p zdwnZB9le&O%-X@GPUno1R*wYtX?ZJuY1%2__YoCRz8p=WpG=Cz;jqY8MEIpKIJd}&M0OIZz zJzeYLQ?fU5wOo_~E*NQLiQL(hdh*NSUVIaS<~x|Y&zeauNTWaP9R$Hh5oYt zP!mDM|lM{X-suy&NiRw#%;!l+s zFd|?n??8efhCy6|!w^AS@xx>i`m)*Z1L#flVUJ55Dtg1)9NYz+-;&}FtIFJ#IP|+M zuE`zgftX_mVs|1E)ZJVycKI;|lU<+9{dqmuiLNvpK&;{wi0S1XMCYP59al+W`bcB-#no?_gk{Sm>UO(3B<|mn`P@jWn2I7ll zOgA!ZnLnE4>WT^;n&)p=lp7R^Z(jMBY&TaP6gc^KZ81UJh5zM2WEeX^Ff-BIm#28? zP1!$BW54w%IQ|xgkZX3L;SrPd@$v4Y&VMyAU>DaPEjP1{w>qUFBIDynOPXjmTcZPTT;d+a>{G?D=HUC?XZ-*J)pG0YFp+VdaNLek@7OLZ7P6k+YzE8Wd zy8T`XaT*Gb`rZOMxH`quZ>La@EY&V|=Y35`k)M%xoX1RBU|n)C!Bku&Rnfj|Y>!uR zV$a7q=J8cJTr#}kW9ma*tHK-+qx)(KEbT=n=-9O+fxY7$7(3bj$8l8FpDbf^CrU^N z@_X__*?Zir$82@XlqO~Ia7@G&TPkVoeyT}m4$vWK6f;g{O;RJ3Kpg?|ooTp0>Q#aw zo=tRj34y7EOG<-L;I?eWBw|UO%)Hz^C3TM5V)YjTwiRNjqmwLBiAJ$VML%^AUe`%q zy`?o`Rgbc%`d$6H7_0j*v~I#Vcd+S6lj=jwr_u%AeT0eQ6VEptLPE1r{O$!@U1u76 zWujER@TSs#YPUnrbT2K#H8Z+ZweQZAe=H2A8v-487^KX27t}qj-+>q-P(VEWiRLvBR z+#Q?2J!`*k+lH&#C3c7Qnmk|s-?6dHlPYZ(kMHdfNdBL$%=65{&!9$%acBo$k&*2y z$r?G71m(u&*Z7SA8M4frRBtMG^v&-lM{l7^Q8S}4C* zb0g&qm2%FXb7z&kJQ==lN!%LNsDJT-+t>f!@?8U^27RF`gVJq9Q|?CQ(^*8!V-nXq z!h6x_0dG)OU|s|>-`7(1(U{Mbdb051CbgG-c z7r1vxu2DfGqXjtmM9Ku|r*wp?zVVVs!L|$I#+q~L%|K^429e?fEDr+~@Or_Y98#T) zES~vbPHni|CHn0VJ*@YbI(U7#pXq4TN%M4x{Y?Nx^xru%+B3OB#hD@a6tN>`V- zgNk-h1BW+!$$l_)rv;?{1xPh16;4C*=2IHl&ig&m+g}elGC_f&21RfM z2gejoim|U1x8#-GN8-MLIZEGV-5+JRA{#X@Ji?0EnkVzGUTf}nzH$M`JFp;k02%2U z6o3XZl?uSQV2?L)R+_qt@9EUJ$9qD1Qv<&6IqXwCB7dUe2>l>@PcXbL_PU~WVt<0d3n?1Ha%1MCbAE4^#;5ud17;Uk}30b_%6J~ zEH(iuZ&|J~9c`GM_7PRrDdp9xC42QugZyToD;Ic7l3b7kWkZ9x5&>}659KLeHy%u+ zOzNijB@mMTk+oc1U?c&7$oeY;&88UOVU67VY7h9SylwhZY8`HF+7m9RPez(yKI3>K z9X*9V*kNdsQi^K04)5$?;uGto6~K2}A{jMggQ?hH5vwzo%r9+G5QrrU!QNtVH%Alq z?~7BW1^O6GM`9rRP&|{7IFmd?l6Ynh`99a4lF+HZoxBN1JMqR zjVI1VzndgkZ^4grCi#qx5JTx2p=d+^7Bp-EWh%w_#qhU*CUnLEf?yzb5TtGD8|J8H zPyFggob!`00QQ3ue7sKW>bRHs5tS*`oJjkf=*l9g0Hr=vtvF*6_sknha@~G6hb5cC zdMM6$NMas24;igor7-mPBm?4~C}Qt+C8ZSkKKB`iR$u^K=4RHFs+Rub4&o~AZoiw^R&fR1lw4j8*Xo zkW~tjt+i>0Oq2`Aa%J-+3Xr6}?gdc4Nc}qPF6kvGwnD@C=U4(5Ai4dv=F9^9XYTu6 z9N_a;q(zFHWxPxn6SJd9>4hqMep8%Du!&St&ti`kqrBhfxi-iEWUZ@6$V+{14a#EEw0Hr z)*c5Lv%^(ar?B{McZ(zr9e=)Ck!aDD$Ia+Iz?3M>Sts}tlki~D?>ve`ND*fS20HrmUsVmw10(9!(ml3cr-ypb3?^6@wO0|b7<*(_y(jm@C|7eu{h28LX4)< zMD3(X3IqHp30!gkx2V1T{%55bDJK8{eb;2n0kB$H|3H``C1&9QDOg>+fybFLg8}r| zgL1C0fT5^JZ)*(yHe54#twGx~RND>v$h=~sO%7u&>hQddN9Vpk#o(Qq4OE2>$ZzAAD%<%nMIihujcjhx75nW#@ z-Mu!;sYJTII<`Fi(e$PBMYEL6lgnt&i-3)x!F~Y&=SamZ_as6@zP(DA`}XKFW=+|( zz-xn=+>HV@e(AS0S%ULp?kjcP2g{&VYR~Z(on}j&!K{pI!H>QdNO@dlF)>t|Y<50) z$&)4{WMR`*B>i0Sd97%zd7=AT;Rvr^UqAc|x-z!N?ZdwCThGy!^WYb@`M&ug8)0)l zvWYnQ(TTbH!N&)VK1Z;O@gTdtje3y2zAe+Ilu@6R05c)XM7JZHfdDU$$C% zmL|3^zEBabn;)|r@!8~Iq5Yl3;eM%=B{^rlN<&eg-Zp3Fhj=SW;h$x{-YVQ%g7)Uw#icRI+IdA8jBS+WIi2SvL1Rb_$2tl7;;i*EVayP=p;ON)Y*>?n&4OEXNOJd+@-Zc)NxoAJ>c_M0#9 zI(tp=XT6iN$^OCda!}hA0Kr!#`)Ru}%{+Fmm@#Z3?ZGs-m5y z2`-bluBBd)$Oo(fcBsD*=*bJfGwU*3B()jr=niYg{qNDJAwI&(h(w=`JeW{0y91FA$3DbM@b`M_gnEM z0c}om8A~L1Z=%eRAF>>KN3PMzpT}z3mEzgW=9+P zqFTZA(oEtbFX3CGB)3?){)4Lmu2 zrBm&^Z%Ql(Z|zjPSS49N4OY9w-qm5*IB(U0>aL&f-n-CIT$NJXkID7!T~d$m|LT+= zy})s$*Ed#*yhq}OQJMy2@DAKel)VSzqaV!v>Ph2XylN;B<3?)|+8p73H(tt~;gvJi zoMjYQa^a54GTfL5Fuqr=R|;;c7KP~>mAU_G>Nb4khBvI_&Drbl%n_^QHwv;VeV3y@ z$DMJZ2=Ph_ zQ77Sw{3*DJb5=F3lpwPs8m~CQJbhcB^I5Vxx4I9GG2<>RHKx;!+y2dDtWapIRJrZtjS!n0U9f0RWeOld*0M2%#S8K& z#m@OF7~kN5)hm{4nMT1B%SHSLXYA(l40m@IIepEzZv=&%3Zngw@+J0!U6CgPp2IV; zvxj`t$`&cqS>@n{-?w*ff1qr(75FeW%o0j;CChB1o1BxalYN+5xh+@QWA`9zseO}& zsa1=_@n70_5a8V1$Dzx9^4~L34YUyl{QC)zdH&iR*Aka0w^_`CPZ9+SlXI49)bShw z1Y$P-5C#{wc!(muEWhDqlH5PGj65wp^P}FBAAU`sk+hO_5U%ntOR+ms8cJnEb1pei z^6J~|I_*iSO{@r1+vKZ>Fxd$^*xmPHN?TeJeLiS4Fjd7HT)`@EsCU!I%{yH**5lpA z*{$x}f6G^I1Dt;pEQ;>SHY+8^4z(9Z5$?#`ot~1}kg=hu9USf8VVsS)>8o=#T^};c zFP236)}C?+e1ggRZxbP`+LOE4omBsm(%h)mCM#Qy7gbD2F5DFBRE<6n!o+0|8udQM z#)}Rl+-7puF8C~3`6eaDiZ}aHgxxIxv8q6#KyG7-mtXn)smj={yo#^;t})-<@sLO* zLk&u_i5qn9$$#am|MHhDvCDg+`s3iN-d`s9+Dk2XcE5E?g>DK<#&dyv(eM9#5pGo$ z1G~8W2k-H1>_SA9DCXbiKGAKSk@=DKQ&22%Xv0UDNz;wrys6#8TA@jgiT{1D_iYXl z9wRUG)!oyuj(-hV9M;SKz+EhxgCBocBif5QtJ?T|T=E8I2lmstW-9;P0}F@lYA$zm z4X}AX5V@U<8j~*>DhjExh+2)*LAb%6qv|Hy$v^%_qEI}>QACnJsK+EQ->q2TZ}bh@ z9<4ZleU<(Vw$c+^2V?yea!kEUOD{g!HZYgpS+{$CvBtW(;hWku)pYS?%`?io!ZS>fh?%EQYzn7g|J?WLcj-U=;c#fT$J)j6}D6^|lj66A2{Scij&x z#IM%ImN`#0wR^weY(HBEv8Vmn`d4xsFLv()|NBYIcG?|ygWg_JrtyvKfl`Ck8SA}e z#tu!R5(~5!pVwI2wQ&$@ChwIiX940-_|zhL&VOtD_(ttac+wjKc2rC`;2Nxn8z4{8zhz`rkM!+6J@5GbzkI6j@;LMf#uuqVE0z%>4rRghYA1 zi1@0*N+65&1IKGDAX#i;8c7Bf-UiT3dHXS6DKo94eMGD4lagZu6bmQ`Nbs?JqC69A z-umQSAY*vhBjOBh9UOQiKvgpA8#VvbH-^bEj^j<6fZG|CM$fKxUJT1^GfB(z`6|#0 zkYSLDis84#H^|21p{@Z+h`cd;aSdL;HooBo!fhtJ{zW)yD3C1^emt*Q35;!AboD#G zZ^z)~kr5f6z^IX^bN5b^YI`UfAcZ6d(5~?W&2X4@%TsdmE^0b3|8fwdz1`jxRb+`= ztB42g2cS=)Pj5W&)q{A~B;2_Gm$)LD9;HpUKG_^#ys2rbmkvLmw?XQvmhhn#6=j+| zZn@K{2Mj*j1K&c1h=E)aIgnlmzMDSr{D<5+YZ|KVX80^rQodq(fgYmZaXLdjzP1I= z${fRe0jox3a33aIypR&ePcp%YSdcwy7X&S$9@wV)5BmUL38tV(K;5gSaRW8BY}ic2 zTF)8)tDc!9yE^?SgjMS@-exRG5&#wt01Iw_%nw0=vpAL6Sh4}Sbr1c99mKt{$3JhR zZPg@{pwpB~!3`@oi!w$XT9MDTLGBM3ersSLflm>$^rL8*)pCU<8Ln_<&L_Z|WVIj& z-WG35snt&Br5=gM!YM8>(dx(W)&#~YTXaRq7T3;>~H6iYus$H;2)7BaJwdAM$w9)xV~Ru zpcZYaLyoE+IL!}%q$WAd^YjlHD3L`IZduJ-KGuY0HAc%~$L+#`HZO@3Z2zGyuE z#${PicRFzeN6d$F;mfNNbGUm7gbUycZW%pfoWHdTrD6&VQ7LM0qGD3L`b355d?som z;GT>=V<1uf48{v2voxqAZ)une2U{q?{g^%MS4@Y23=U=ju%_&Vv^v#=HU)l-d>42xrve3mUpxS$L)EDeAAoElE7w$~9DR zHS@Mz)XSqx@#Ok`6y$BPSRs_q;nB;Am*g{mG5=?f2Y{u;aSND!AxVzQgV z7CbcvUt$$~gC*kO8G2>6JZ?>$Q#}$%&$X>(4o|17$6J=x7QQc|7fNs|%@@$CD{t{2 z!ZIp)J(vqyYq514ldbhVJ#ErVvAk4*S#VT9TPK_-@~2I>u)cN@$i0!-SZ`ay1qVqP zKm#om9Oyg#Fv|_fQ=maKXpp&ZhlU~adY)G+qQg?31+}cHIfDGeiyCpGFYKV3lL6)c zn!IYkU0hAeWq}93`#Y~f8}ql|<)y+^JG{c4xpPRJuQ&$n5C(+`?AtSR){p=P67<`i zU=`{TlIc1=7%ZPH``b32{BBG3Q48ZZp7p4#KtG-Ca|^v;QjvaLrD9K6SQ6`GYi*L$ z`_2Mmy0%uqs!Ec|>)JTsh~D0#HZ>Md-$buey{#jyhl`@+vY=ns?>=z6-wP%1@1^Uv zuW#583IQNA96F}!;1pa{Hr@K*0ezb?;RcN%MOs7+(ohiB>FrmwRtKgJ$g$OPat5l} zp)cu(k=GR`lyn!W?j3sht?j>MG)GyKsVk+MPOb*Nq#5WZdi<#|7PD}77R zMj$;LA46G=RCyQI*MhIlw*<77kB=os43u4VXCZoSu#MM@54g6pa;j)I9lP8$w0eD+ z$u!f}t6bC=F-V*m6k%;=+sFV`Ygh=O|Kf5 z$w+tg)C01@Xdd_Y&SB%&U$Ajl&d+^>C09ZWf63pQkF7SX_0?_q2QXC$j3Z=<;q-Lc2WBATiWFK4~DqMB(t4wMmibmZf7AO09*8 zbt$4fg1xPUFFhLV$D5YzC3x9d12Tu0qgbA|)kF?*xK1##gBTk@jBo2vEqxsQ4r-n+ zrQBYsS@M?i0(b}@p#XrIN*|Ok*X;-}w|`zIDMW#V4-Ozz+t?@rtN&bT-ag@|sp)rg zoEljhInjk!q7ko1No3>>>9K*%I0ju$;m;FI;V7HqO`~6MvCvb-s)|MAVHZToq6`<9rK4}7PhtuIe{iL zLM|!7>rGqzhhA>3_i6qUl;VKq`i(kKz{}b92W_{sMoh@LHxw=bf8~KwNpr%+&_c|x z^-;rka!PpKP*5lRQL^6_^ZNM%J)?%vy%0HKYSG)Us@o)r{(3e(jwP{cKk z(SJha_qA+A)$(U-zSE(UMptjF#>04>KRFaZow1r(H0{Oo7Y-g@-8 zPNHs(-u-tPd*WlKwUIkQ3(6*x!)QpKB=Dn-{qKF#Z>(=EXxVL0HhZ6W`KsxAepV8#J=ulfB1>& zOkHiyd2~`&-gx z_qossE}n=cwQ_B=p+`67pWo&gb>*v)w%`|ph;=GD56ChNksJSmfAn7eYT>ekB-?u; zvgiJ-EaA`6IpwEB(PG~2Zbp$-pLg%lK6hV6B~|+E2Q-)0_OznNLxIi}ib|{E0oNno z2Ni5Yzh6M1832&<3)+0_v44=}JV68qvy=ORY-l&=AM%QUUPpjS#fQ}+Ry##I#+0+C zf7Fl6CZ=B8*qSG%>bZYh!?gym8^`6GEW-@Yl+R~ino%O3&hM<|3fVqxoSv$yL0f6O zW4-MzVAe0{+ooz>EZW2LvvzxZG~t$&+S1=b>NEat8GhXfQ!RT};t7FN<>hwg&nCYS z;XUQY=fNBW#~d?%zt&x-CO=Xm7e0O|J_Dd2{fbGuK6pa;07xnpHuNkPRy|IH!xl;6 zj)Mb*H3Edkt%%sxI}29wXD6KbSkxFwRM9d{`qkO`dLGW49MUricPN{kFp4aaWuwSk z^U_Bb9qeixM+zcn7x^v2^mnsG3|41dI{*?<4qxW@hZ0Y=b_-vi>fWR+zT!TzANlurD{CJ>{Qx zeDdkd!>0q!g%@vbzB0db=Mcyi+$(8%3afC6_-VOhaTs9Y%#>$&FyCytD^KM`+hjjd zFrZEbyFtNHN~%@UPNGoNE5rT8NFw6_bVl3*jH(;hatcVEAdh)CzLJ+HKOrcTrc8&| zB%lp^D{06ck7GG89kl>MQSO;|R`{52DK4&;FSR-a4y$kt_f4wJC;+8o_3RZ&Fxm*@ zmDV4Ucs|p!3!uEnfgF-2bhLANV0|0UFp(VB$N7_t;vOe+Jd&~LquH-T$>y_%wiZ$( z#@U8Mq$f^?Nz$s@J6}v^w%8g`bLPoZa*O5`S6`(xVDVIDp8{UKeX*AGgG$Nlu}IpB zoq+a*hR^P`)Gv;rgH2xUHwByYeK%)+aQlozh`;^QG3-GC^ZBYE6;P{`HXa->2up}L z9m1=T(HgYiAZm{R8ZhQwg)Xjf!9@2F$DhZ-=awor7`5GWGLDh5CE- z3-bnwXfv*jMvsfpgGRy%`D!EiVL9?M>+~|^ z^PQnRMrq3w#?=NefjruaSh?xy{k~N9q{5EoJA}B zsZku51FdcGs+EB#svWz2njQ~WzN$!Ztcl%HE^Idsh-H}d6evWald%{qhy;Stk?>j6 zlJFOfS^mQp>lCGlTS z{H+Ub%8$%L8gt#rr7@3mWIz&9;<0&naf{LYC;{(8-z;BDtjtoWyIG6AE@xC%|D`1) zGA6~+%DwE>20)ikj&cdisVZE9>MAZ@#?=Vmg%8GPZq*xPFAdMj{fno%-BoVXG>0wA zn$hzo8;7+9of>qGyyb$sm$q|+O!`=P@-Bj4=F)@BF82lVShi+#^w2R^dRQmDrce zYeK*DRFhy^nKG)mJswBVr{t^;2uOMFq!)+}%5axZ+2)-#v8X9hCzqa&%~IsX7p_sZ z`Q*bjg9w_42EjXSpWBK2l@+hj+#yyA`JRs(G&@h%Os!kP?S(ILZ<^1PGpq(dU}s=a zhK8@%Em>GJne+?bzkNGuGxd%tD`F3Um^;We-kI6nCXZNM3V9 z(9mKOAc*kC{@GeVR=oZM_h@;MZIC`boKcF>R;Z=fW71(wBR9I=x42^{ zui(F+m(f4VuTqlJ>Al`5zLyR6PJ=WWHL1LuDSUtOENRZ;o>s)0g^Mcr`o^S6<=xeI zF9St91B5Z!LT_8o_|}O2p`kY8Ym3`A{Uo9o!v}Rl&iksfYG$k@LX~kHU+-j-NfTB< zr6pvHaq5(RX$)CT*C`SKB6kK1ZZ`{04MY(cxK8x0KdbSak&F$9L~f8U(ztCfpi$vi z|9t_g-6dc&)Gs_qFhzrSxw9x7sDI76|Km!5ux@tLW09mhbL?V08dj_0RDL&+Xn38-Pcqv!1b9sdDt{(T4>Tsc$d?c3#H zk|uWw$MJo#8@B!$li%C( zCP;LOZx`FA%sYxPyji!UYJKf?&vX02tWLe_)+@KMZztXgpB#v~&qBZ2uE=){nYp}Z zocG`LyxBcCP7D~)R6D&MwfVx$-y}?I+^60_4{9*M9r2_XG>MB3N`e!{MMrL-VveE5*;uaB`om%Q68d*h{{<_%?JY}ATS*ZDSv(Jn4)LI`b3-<) zob>({%iNqnk!}v<%v2R~`e_2yv2sn|Tr1a`P1LHF!WiX!>l!XdT1SJ0-35bfvn*Fz zS~jNyC+U-j-oR^_8>Qq`8+Y5#s0?)CN2+nTJp6K^h|USPqe{d{1utMvwQ*Nr$hUT0FM@VoS!RLrx*OjhIxCoThsp1G`;$#Cga4uf9io zTxZ)?{K)z}>0OWX9&8lG4>`Ba40$iOz7*vddT#!q-^lo-d50M1T!)xL!!?+D)6MrX zUUSXZdrrBq!{pE8cF~{4rz+FFkGwi6E$of3KbPgKf$yd!j*ecC(<;8w6!5giGb%!9 z^KdXdyd@!?`;;FxmH3mT2(AUcH_&bv0A$e5Z8k{vUWJkA(S}M1yD0&nX95+_mb8m> zPVSayb;(uQn|wm${eCSZgK9cl%d#CJuRZaBJ=F*L!POzDs7t!_mk7#>{`GvNjrRTm z8P%Q4n{RE4-)3YM)bh?ti#_e-(4cJ$!HDSvHJX%()f=W&h7ng{#J-@~uJ}Hu?Tt}e z=NIe~SbiD4xcppj!Q1n0uM{n*Z^DNt|J!USh#kzE=gpW*)~k5l11-*rNcL>#@let6($pEAO%XYx zSKeZNlUKtgB8C?hTO30y)g*CjXRQjRoun(jPZIm~M^)ZZ`UokWLnnSZS#Z9c_Kj2! zZNz?I_`=5QWmYMrIUzx9>a~X-Qrigl4=E#I2&8Dk#$N#Lm_e^7e$#kgJ_ESMkelJU zJkYv@=;05v8I~$p==fZetc4aW-Bh2YXdMuiQ-bbKPV6Y6?-61vHxbEWF#?Oinw6dgiT0|Co>=SzkOd=cXqp;p~oX6zTfrbuMLA1m6~x$-8Rul zuPg))UPC}MPkWHcgqy|0O;e^pto*QsCt1vRj+!4qV-YBA;Ky0xn|+Io=Aq#&RV_$N z>&qV|zb9$Jpu^~8cLOV+mb!DfQoOQRQGe9YqUeqFkT|y~S zT&iJzjny(ZnY;+V<4bBOGHHoK@ThloWIgXs=h-JS4GO2RWHmn1dY7Cu`Q?Y;vA*VA z%^|stuCzJg?-1!Pf@wzPYPoQ*@CEhvmNXTum%oNs#H7ZU(RzOkB+OVO zmVygMj;S+bMlkK)+F3$*Q$~fbv`-=2eLU@A)EF#P9ti~-l%HH6{Z3+r> z_vUZ_1;7zW(U%z;Z1ihfnG}(EAxDgNXmzr0Ox!nQ_cnqTc{-FmUp@C2s|O*6gnYmyK&d+eWJB9ux3{&ozkl&HgiBg+EN zL2-TRd3NcL2LmK}ezPpDS^rv6>PkFcD~!o1of8evN*17FV8S7-DzHgTr^(26p6SC` z6T_CvJVYmNJo(T-PH?~QCU$W?i7(9BPOyAWw0xg(-VZW=aBo_?HcxzZMCv4iWvx(V zlTQ57d|n@xbj_tTwundIU%@y(p$opdX)3d~U8aa_wurrKXgnU{`+N4za+BJ$JS~cE z2FOUW>z52S&@HOIbSRPgpB9xUsWi+-T@X1JH>4fz^TSVXUYW zPm^r7xZCPcr1c$tv_zn_M48qp(fSvG{l$SvZM;cOKypiVvV{oG7rxAC-%*J$1ZR+< z9(}Z5}XPksts+Nr(TrT%_A8QrJ3p#JP)mhMp@ZhfWJ z$tNDx^5XB9II0ZKK7(hbg|eKIJP*Zzc1$!@KstaOl+VhXs_GdqJ@YKR3S+0{@t&a^ z4_YBBTv=oBMcQRUN zG12~@VRiqn!GE)JEmP*7emEbKxdd&MblWa>T75|WKzshLkR7kQyOOHZ|6wJ3K77QG z|FbfGVZq;fnlVw*A5Y($M@XwjWlM6=fSh&mG%dv<#2H+Hkr5j=qybDduFH|e@3L9H z`Hksx0!;m3qU(hNc8X8$cE6Bhdm&ez=Oe(BRs}k)`%kcaPMc2Xp}E5Vqv!yDoxA}e zswgbS!)u-))KkVRXkQ+3`}J?}*Y@Z}f_2?u(ovti55z_~pRuDcFCdB}^3h#*&syx< zx}(wl;GuQzm?YOo;xnb~D^CAU19tNtP(+!K$;-tq#eSQ+vDB|BL7!(l{-bhy`9<(M zbS3=DGMfL{h}?n-K0dA}UiKJx!xhI$u)RhM0MR%)!bZUcuo*5KOVGm;F$ky^%>mY& zwQoqq4B6Ul>Fo8a6d~La&lqjyQ-EjaffXSW|N3B?Pu8b}s~ybjD?8~ZU<8P0H8V2F zLs=l?cfGT^J4x6+34@^UNcQPmZGUV(Xqdq=yd@TmmiV@}|JPe0R3}zwdp~8VwqrWT z>cjf(IPJ$W+WQ{sDB_ETWraqu#y_g)VvDO`(->oFmFZ9M+~U!)j=5WW?V8U)(db&) z1(NO5b9c=172H*b8-O7X4|K)RxncpXK#m$1mn*JYAB_)TayY`$9s`n)*ye#$dZ%V1 z$7W;4=G4+d;#d;walB1e977#UgH_vMnudiXvCImX7{Keh#caw#P(&M; z34?y9_Iw?oy;Q4}eV|M23r?@1UpW8}08DzhK&UTl!f6 z_9CzD)%p@HI4245c6kut}E4h?6!Vh`*# zqJcu)6dPwpz=8`?DDiex&`%`KdDsDyHfJX zExNxVOXlL0yF_hU$NApH==ajf;6KwXCmQ|CUu1*RURKL(S5ulO_`>CTjMG~Q129;! z5Q~y{LAaG>WGJzz@E!IX{v_=lKVr>l;9m3b8==WBpuMzx0QkQFN}l)eW5zH>6hZP& z+o)7vS`M}pE=-=sk7pyHXuPQP4)?xhH|KvZ05Qh)WIugx_g_BHwHV+Y5aVGRYjZ)y zpX+5?x?bE3^Tr|Z2LsL25=+75O;s(<_h5mKV3b$_^4OKeIq{C&ub?OS6_h$Ik05rn z?*EZSG0}@@6r4~&NB3Id?FFQ%tMfzXNr6BKLWTts>F4$0qfXzGZ0wq3J zGdKAn(;q9-8 zN7P$yf1JSoZY@6OD=23+f;f}l5(8iT-#%Ckq<`i{zs}0*ALQcum}O{MIg(#fcaZA# z`D0-W%hjT3$}gLPi+9J+sGs1S|3ajr8{Q1w@%S9ZAz@vaa5 z3tu5uj7wo7QP?G-el0lvQvYBS`QRrV`^CDOH`KjL4{l-ak{2(x5^ZV=c7MFf>8jt^ zySu;!@mIUbp^uDGLuI-Tdh>KrXA6|QvYCZ(EcbK84AY+~ zp!ky~$bcX+Rg6hXX%J;{2zA>@60ELAlwArQ(^AJ+lUotc^J zWFLGR&qy3nM11O539mLFsACo@l}?t4gH{bDYlt-_m>a>5cIfrzI@&TtZY*__iOd-R zh8%r`w9PHe7&{rPv?~SSR-(P#Jhl>kayiM~_@E_>XhA&FvtX*9){d%!@yq<=QSyWk z&cqg5Fa@zi1D@1K;)8#MAW4~~?xXpSp2PzR;M|maSELNzoyr^J;m?HzgJ|w`*|~yd z6V@r{Yg$L8iV3ac%zehE2C0+0|rW)>zzPwa72r_sCVRJbZsO)Oe<8{MO5Y245N z?&QBvCo7Y08+eRBNdn*^AxwF9A%T)ZWdHTcnmy^X4oTPJf%%y0lb`x=wfq|4nWPjP zfz!v(Uwi6B=Z5KwBnJL=Scr&|T=f&Ln*x^RChArUHlIF@Eq04GxiI}K23F&tDZ`&Gw5k-oxhT4A)UaV!`b&Hf9Uw12-amn$-rA3 z#C%p$@pfFF0MQqJ3iL;@&EW6%emxv#DKV0~nh>P#D;gv#SvZ*>%N-j(n9j^FdOotS zn6rK_uaWB`hy}~yN0utNJ_bS{1CFSG-Q#P)!fa<;OfBGh1yGkY z;m1|kXd!unrN%;n>D*F*GA#B&-(H~iZq_G<%7_XH3uA4Mm)ia4ZG>{wh{C1<&&O{z zUX`8O&w~Cb0%1VT%lwS{bdh#BRGziF;9RMyI`1c8Z=TEamLv=Rmv3LeyPe`EUg~4{iTz6>xZjhoM;@R41g(NgS z!Br99GAdieJMaw5#H9`=&x{fD88xo!oeCAFXXSLKxb|EiT*(IO4w*e849ZQ$K9Ut? z%pL;ypt1BpnQbNvX(Cg}`J#F)e0yf^BD7wj@&zHf15*hR+M2kFawZ^!Bo)BuE=w)b zOdJrfNiL4bW`Jc>UE)2tZ?wAnclP3S`dM>^uT0W=%#b{2fbag?si!0wPja>Oi3x1S zNHk=>KxohiX^ki0J9sAP<`S>3^Nz-GuUINxq9k^@LNdGc(5c!OHOAvTn*aR6 zmp#-==(cF66he9;C0J^HfUIM_Up6d7`F(wH#TUU28d(4|EQF;7fL6upaQPu>us{hqnO%7{ZE7??{+tXrvP9+ zUSPf`;nS?3&Fx0`G*P>x7k) zTtN>>^DISx_i{!t^e-Q4-wXk?!^q-o*78>$dOuTL%A_z;^Vr{geBOkE12l$gTJiLl6i03&Jem|er-Lt$5Gk(DskLc zC;*5=q7#i#Xi&rC)a$OAWxU;ni(7`VJuX4$AKWM{hzEy=2E>u0zJe)ghWM7Stm~BT zVC^e+u2}Q|7`p>(M8sh+iE9MM_wZfXBsY+w&~+AyA|q>;8+! ztxc4x0Wv(bv4|<5YJM9XW|%-~p_i*~zLwPU+Lp9G;|Jkw)zvCqrcp;Eb`&G@`nu58 z+_q^Dp9^p6JF!Gm}3-!_4x=LZ^#R$%VAYz5XBvL8Z?B>2t?5iJ>e4wr2G_8 zPX9JJd&(QBdxTFh_Xwg-g($PqeIWtroX})^N4mZWsYvt8)!K$bNyYq>b{c)5=(;Nv zFCmMa!2Y({z~s+f5){1aQg#FZcHh#_T&1k@kF^Dwm!x8y$(RTK4QvfEHc2}#PCH0- zKX327(=p{!A7%1@vbip2B6YbwCs=}NJK`4e8#C4Ez$)E8gShu$q7Wg)xI&JA#P6a~ zCNOFv2N{0sdz_Ah-!SEypl^ajPeLUXY@aQbx5SY5aX}3*SeB#Gv&!W%`ms&6(wwM&M ztJz9>9fm6%5)RFX{BTGHaecs@)j0q2+Q4?l#|!ax(}-CM)EClQm5TwJDtnD9yVbC` zqE8bDr1Nog(_KgYzQ>ea%$gj}k+ZjAaFMy5wKz=moa`|c9-wxsly+ExBhSf|1F1DY z1SC4p(fbtHnHc=Yghq$0&=%5rr=(4=23SS(kF1}rpG`OY8x z2187g8NI-rU?aoY*=R0+nhOmu8VxwX|NC+jD1&S<-PKO01CWywuxsfK!WTVh?7PscOVKO@y9AA2K(b)8Psq6*1(CH&0&Us+dZqQ8q zV7&Bs{71^^(qbowW#S-0a5}|uIviH;xv|(LKYp|)ulADKKW^S7?n<8mL#rN#{+3!q zVUz^zn|6Q5;^V_T)@@LIsSTZ)rl_H%5Y?aMEBvAje}j2i&qxCFaU)Tr1y2`XI2XTK)%#4+d`nFv6~(`dkxJi z4~VJEo+6F>!^HL0Os*fYe*(-4Imh)jIEY?=^t-nVD_O<*vOrYD?<09|mR$X*8~H!8 zpr@=IXvD5nabZ88jJ@bNzXz4@Hq~4y;@f*Gc3z~a6-qR1W5wLg)k@CY5k;`_H{#Uu zH~nhmHgXnEVWeAy9sgqKCNn^;_;3}ivNF}rc#U4W0lxz1DRDlWvGHdhyH50eGCC*+ z!kriaKuRo|vL*WxH^+aZi$fA{%!o6H`X`L)-OTJTTe-#nd0LO%2X%6+(gFyb8jdp0 zrqmTsCI877H+29=#*=-tij!Da7g{1po=|Gaw8<;d&FN!SIvb+cA%DQHgI$ua-)~r>*|ZbtB!Z*|$sGrpvM+U)cU&;#&a1TY94OmPWZjek9uQQ+a3aYX|#{M=%m+^qma;xqE1 z3H?|3h0JpSAq?tMBp@+H3+t|}LT!d&v&XQNE$)b%@QHTu=+9{6hP}^u%cHvj^1Jpa zM7j!6eUwPZfacIyD(709I!I7@?EV9gq6R6y8Ixt% zi|t6x_F**B&kJg!wsVoz)nO!s`ziX}z?9qK+F$O?95(DOGXStu z<*8u|Tmv9{+&$Sw^;yipj@;wKD;EqgMhvxYe3~jX;To~E13O8z8rE269y13NlaCCF zYTV3&@19By^FuU4b#9mftsW(9fbm@LhKxesT3C>m^aMagd0QsoV`N({vb+*u?qQuD zFZIf1-{@I}?bD1JGbHmTMSnbv83inbWkkgyDh%K{x7KFn5_`$$gU!nGp<9!NHQSD5rDGB1>Fj(3ZZNrPgpWbdeVl690+oEK1ax6 z$-0?=mgohatm}LNA(`N@hKA^4Wzx}26WXDN02BCp@%n}YMxBF)6t(4va*Q+UE*H(v zGb0&cYss5_rNI)HkDJjjDf0#4xhz6&Vzl{%@%u$xuGv-l;YlvitF95M*+<6N zvVIj|LA+5+M_Z2<%e>doHMIGFbg1O0dt8Hi$U-Oq?P#zWypTI#Kh*+baEZ+E$rr_m zXVs4DywNC`IrgX!)z$RMN~?W}H!)_1181W@NxLO$h??$uzL}=tS>mc|^L=ycum(>z zr(-wRuKyN*b>jBrfwutuXpKHh;YMNgLYaB@m>aStxH!yllvyG@(J?*eT%UY|j8YQ? z6A!z_?qWD{{f;$QxG;hGh6PQBuyUb}ZXq!hg6wdunH2|OPY5JiAv3yBEKp>fj?6`k&*?~8av|{)tdi$5dYowDRah@f_NQt z>?+|c^MgtjGQIaj%q*59E!{WXCEB&Rz%eF(G!c9;59Av@okE8W(=yvo6qQ!^mM<;; zkD~MNr|SRX_}!Q5;&Qo0#=Z7-ac${x?Y;N7W@gDI)xGx4-s##in^1IxY*~rc7bzu` zB<=kC{)F>5kMsFF&g=btJ)br5xS}+$6Gsbjh2*Z_2O5JA45~a(aT+53o?ZUCe_8PJ z<>xy!FRlldbOe_MG07}`D9dfR=M0f^Nd_%Hf1oRX03GazeFDGfMz{nsnFYQXATz{> zj$>NKto3OEybjJj&V6L2Lb<(Bz=3h7_l%nwOZJ%7qo<#GgvB1U@H?<Kq2~?Q0Rv1g72irik zay6dGHFwV?geg(y@YAOj(Tp!~t6qcjyi2`jV_ZgtC`Pv#d3oG5E5rPkbOxDWy*L>|-%F^^d3ZfX&E@;~M!xRNx)i_svJ8OLsgTowOOvA=% z2M%Pn7KBE|YK=Hf5mDMq4DmM6183nvgV@)~*PkfRe!yF*A1(8fM5Xxc)*}QL%Uh%N zy-RgtsU4T@9RXu4zhk?{(Sf*Jxtp#$Vf5{?G4xH4T`9Y{>U0i} z{xbg0f!2jKzaS^R+V8q&$Qi8KkMeK)J2+p`$-hxqiy*wU+W;&uPl7ORO&H(uQ`-s~ z?8M*Hod(@gsE*)~t2qCrGLi5=wgY+(P&paM6f3=FATwTksF3@KQIHq$;RNwrP1@0i zNiKJ0T{V{J^bwFiQH>Jx?Xm=Dt1}_#h69EOr_4yaGCQI>i@!Gz`nmqmK}(={s8)9Z z_m{v)OAYjQq3XNw7q57Iz9R4}@u*7ZYrS=9A|}V9{xbsy!cGXMp97<%t^WB2vhwD` z#M7E?{p$M8+J2W`P7O!7UH>>JQS*m$X}=C@5AMNAN@uV%dslek@OC*w(ig%Ykn-R} zdNg#8G5X@mgp2aTR75H~`b&Dv=HNs37qow|&g}a&4Tma-xSN$tERh!L4H<_WfEmJ! zHy_cGi41r}XE~re0a1I;T_%VtmDt{07-?89$MC#zDsaF#++A&T&a9ujxkx5HHfcP* zRAdc2?fdJG;RT|SRWvNK_N=9Tgy zm^L^_29U%w2BQ2|hknR^T`>8n{7|OgaBi*8jbCNnvBIbI;lti5v;0&u#mM*4l{SZx z>Th;lCA_3jSm|ono$QXxwr>b5q3CVA7fV;+r)8$!c@HRGW>a~c;jvfC3gltF1oaK= zp(jUlCZ~J7mVaHPIKGS6-4)(``Z$cIATCw6`w(`Q<09*ygOmY>-^K!zKNvR@->i6g zuS|W4iSJPT2Bt!A2i(~viFMN zrfby)++RG8&!z7JaSs8E49}0NSJ=yRnQ-HLC2`~+ zbjbCe4`K<9D!=eO;z5t7)PusAM_n1Y!#v)DL@TmK{Hts2YjG=!fD-TooJ~lZ0Y$0V zf+JZW2`Gs?GC}|f1Mpapsi_9MjIwwu8UU3K!=QrtbjCq9xfNPDdH`dIAO*&eY;{{P zvoZxX4pidSo+X6A!%FAy{ktYhy95REH%zVa)>it^Lf$L~nRXZb$skPIX|R-Y{lx6b zGb!$;>nISQLnn zdJ}sP*i1{63Tm#)jn`?h^!5sBZAqAEE$^W3n6$O~u1TF$Rg5N2i|xWD@@4zhdBZ!% z@iown5f}9W<9k70$Dk7MB&x|nB$IIWq(tSs;?%I-^4vV{_(9L&?6Dbq#lH;Kf7%i8 z4#-}CmP_GuP$MRSLrA#0=k%UY;r!RnH7Kj!C`2!F!1h^cU$+W-C4wi=&3&r^*X-zU zzLmuXhxow>Tejq@*yJOlf8FnTq<68U-!sDR8D&CRv@($*{HcMUoc z`o4|YB_JDHom?{fWbbaZw#f}2D2C5?eA<5_Pycu1bqeQz2qQ=EHqJ7|_yjK*?^&tW z?0t*G)q;60;@82HHHifa+ciG+nkA0bO7q9(gXcowT;u@Rm34;mSQ}E7lEr;@N%v20 zO&XMp)SuS(E~-&c6>ASziJUk)Hi0fIgvG|F_z70SnwD#^-(08dy4xR>=<6TA;duJ% zHC;1>@)wW-V(4N>FVR?WNH-`8J!uSTx~9@l>QtaYDj`Uce55ZeD2{D2><c@VE7w$-}r0e7Z%aeH_|dUnzj2$Z{yhB_dU0lQO>9uUl#x zxso(&dx?W|=QTON-TGY0!uxh5o_ncl21bBpoe@0;_4wc|{tv7_4 zJ%8?U5ULv<6IQO6FCvAS64Uo==1#|+kO;*ngKwX0Z&y%b?dU+@LU}n=emc8OLnKcDy2* zl?|jvy7HK*AbgzT8c3>0*ipuVFwx=bCtWkQEU_ypFB$}m(zW6Lu;k5kZ_Cfvc;9pk zi4jeCpNk*;x-*`tdV4zH{q5=B$TBMemFM{L^$Vuy;YLdjmenS3lG8pXLE}^Bp%h#- zQe^2x%mYN@<(j;QJdDpyss?K26B?)zIx3TG|A-5=G(`rumT@9B?%pQ<~+* zlr}kRORUfq_4lWVrj=&yX*7tg;}M>Y(g_2wHJd<2|1vwDqn04VcOO>0fCvk2PO$p- zWCYl(UU_OKt>RuUcQ=tmhW6oY_N86n?gJxChuTH^)}G<$fe6ot8Ky#5bg8&A8=i4h z2-yMYepJ7M{}W=yodz#|OzT$4Fh&PH6rRcNwyRkgdILAYE(5kC0iqkPgIaump97A8 zrP%%1uqU^XhnywjZR#33B5)GMKH%{3o;zIq)UO^(-}dUv#-tPK=rXYEx~7sIPrJngTTe)yxjvB{Vn-Pill>vHLa#5W7L z``X^55uezj5Pvi8M4<71$-wu_$>ww+W|9$j`NJLTO`zJH+_Dw9@DUyc66H4Lr6)xunv0;E*B%X4xs_J(|jV}FKZ6#4zBNwE05iJ!rxo_~73 zO}reN2D;sziTX-EKh>gukFEkiHLh?wDI#OkA+$cIq0YLDM_tOVGPDrUe)BpFsNGzN z(ru;)*>S@C@#Ac3t`PtCp~5c3dD}>Gdmge4;Hyl$ZvEtoVP})7i;W58woN!Ee_5q_ z4cEI?q2fLXrz&q8KfAD*JOZBK`O(g%;Kz{#^+3$7GM%-k@i)%`27llHjC5qo-ECTLX1W7Tv z-2HiK81zs2docANFY4(StaGb^xd1Q=NX@{?PuAO6vO#6rgqCj~bJdB%df1q{KNB>aU2k)n4#O5Q;|wHg zdyWI1;8e_O7N~F6mp@2%Ro~+C239QE0f=$~F>Z5$>28_@(f$`1Y7YkL_A~cGLnIrQ zvd>Phe*}H_mN}5dG%wPHZYC4vv$fw%6=!B@#zQ}oXPP0kK=Kwkk+%3Lggu^uJ`Ja% z-IkyW*kcZ&u$uP{OO6nQ;^bs05?}W%5?~*KJ4ro+vk3PXTv{=?L@()*_STc`*rC%U z$9O{`+-iQ9?0E>yuSv-4t$Xj4Ovvp98mkvS-?;UO-&)mOxrSTJsDrGu_% z{EGm=1{%?8l%@d#j%%&j28Nu=?VOk26GSX8VEvSuw>a5Z;9)el!y)wi7#go5!8C?O zj3EJAk97lfP@y7v4=sHkv0FeH(!zeDe6*VtC-U-kVKN>5$zx87(!)D+ZMdP{MMIOl z$l+Sfl`EcQ=~1xMXox@3-qe!ikxKYp=1~jthy3+|j^80U*{3DqN)V{6luZF%-|_hJ zP^$q&i~hGU)n+Ss2v7Mt&mttddN9m{DNIrqnpDb3?Q`i)43hj?-!ANh7IN*y|k%)CxPPt(ywyNQ08w(sK|TVm*xy~3<@-Oc{|i?r*<-!|KxWqEs7&@>hrNhQ`2cAy z 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 z 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 >rv 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

      J#hF3l<|Sq@!aV`!9;|- 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�r4rVfrOd8 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

      4G_5`NPhul}PL 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

      rlJZ6KAUr)3(M~d@1 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 z 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

      AS(C&&?v3KRCGy3_F%q`cm$S9Y)v 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�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%0AgWRL~JS&@0s9FQ27 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≥Z;0B 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 g)9*SwP#LAy7fxs_(msETt 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�zTL6YMX8iSe5a-s4_0@fO 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%0DHV;X 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 sl6 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

      T)R4_P%2>~8u< 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 + + + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/7seg/DSEG14-Classic/DSEG14Classic-Bold.woff2 b/ems-core/web-admin/src/components/7seg/DSEG14-Classic/DSEG14Classic-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..fb86d7a119559d7a741394de351fab498fd6024e GIT binary patch literal 5920 zcmV+*7vJc2Pew8T0RR9102d$t4gdfE0B;BY02app0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/components/7seg/DSEG14-Classic/DSEG14Classic-Regular.woff2 b/ems-core/web-admin/src/components/7seg/DSEG14-Classic/DSEG14Classic-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ba7cd028aa974ad9c53191dfbeffa353d92805ce GIT binary patch literal 5804 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/components/7seg/DSEG14-Modern/DSEG14Modern-BoldItalic.woff2 b/ems-core/web-admin/src/components/7seg/DSEG14-Modern/DSEG14Modern-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..873139261ae1241faf9a5d6f13a9833dd1220cb3 GIT binary patch literal 5908 zcmV+v7whPEPew8T0RR9102dSh4gdfE0BuA702a6a0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/components/7seg/DSEG14-Modern/DSEG14Modern-Italic.woff2 b/ems-core/web-admin/src/components/7seg/DSEG14-Modern/DSEG14Modern-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..25c3cf1d6275441dfe7910f8a8f55526990327dc GIT binary patch literal 5968 zcmV-W7q94dPew8T0RR9102fdI4gdfE0B@K802cHB0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-Bold.woff2 b/ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..558eec408af275c2f840e012edcff769deff8902 GIT binary patch literal 5132 zcmV+n6!YtMPew8T0RR9102B-W4gdfE09pV5028qQ0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-BoldItalic.woff2 b/ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..096a08a218952ed58139ffcf07e07d271453a0ba GIT binary patch literal 5168 zcmV-06wm8-Pew8T0RR9102D9)4gdfE09&X4029>!0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-Italic.woff2 b/ems-core/web-admin/src/components/7seg/DSEG7-Classic/DSEG7Classic-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..937675ecba9a9cfccf92ffe131ee53f2c339178b GIT binary patch literal 5124 zcmV+f6#MIUPew8T0RR9102BlO4gdfE09-Tx028YK0RR9100000000000000000000 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ŕ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 y$LJd=tEj4}YiMd|8?0g)EdT)h*u&NU literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/components/7seg/DSEG7-Modern/DSEG7Modern-Bold.woff2 b/ems-core/web-admin/src/components/7seg/DSEG7-Modern/DSEG7Modern-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1aa278926c1a51f2bfbe3faaf01f3c6ff25cb876 GIT binary patch literal 5176 zcmV-86vyj#Pew8T0RR9102DX?4gdfE09X6~02AB*0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/components/7seg/DSEG7-Modern/DSEG7Modern-BoldItalic.woff2 b/ems-core/web-admin/src/components/7seg/DSEG7-Modern/DSEG7Modern-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7c1c1a6aad047edd484e4b0b0011810e28032564 GIT binary patch literal 5128 zcmV+j6!+_QPew8T0RR9102BxS4gdfE09ot+028hN0RR9100000000000000000000 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ˇnfk6v)wX~k|q;-++FA9g00Oo5zQE0J>2w+gl~vgMHqvW(;?71OBJV}i`agKmd3dTPssA>oNx zp^D_&h|`HppSF!`8KEF2#$ig4{DMF!dsC_qQUrpq2Z*5Ow~e9AXb zFNOMeLHfW7O6mlk$hH*Euu_`xj6e=Ohbq(uY6f(jJeI;NEREVx1xcv;8*;NMbJC%6 z8xo~%!m)2egjJ?7g0r+v&9;N6jKNl`T|19j9}g(K$=o(Gc+;3Wh>4AB!UK_~aumX5 z`an{e=Y{1+$9RVd%>b81nznO|!jVVlvf}~n%Ai}=AX7Y7LgU0xFU~)3MBI`8h|sCX z{5TGjW*_!{7&LLh(}&RhIZ+^RmOh0fI9GZiUhZvv*cenXV8no-@QPXLh*C0>&EPpj zA6vPV#n3st22a9#19N_H@^z}i2~SBp5eOY-meyr18e9CnT8Elr%4F_3dqZkdb*9Nn zK+5J$5rG_N(cgC24R=wOf^~K2m&>b zR%?6N9?H@FmOF(CXQDA*$wd^2QjBm8&{}{Kj>!4Wcg-y~wrZ@E*0oTOT9Cv9(6)TX zRMf&|*wtt>R1=xp7I9xV1fak*nGBvD1-F7$7nzv6c*E7#=&O>f58p6=(+u-i#8@{b zIIfA#-i!nYxCM|&em;tX$+_(gx0aR=yF67M^wnS?-ei52shCbGz`)|uz6J@0fDGyc z5WqL2v_@~UwQnGHM2{viBdJ@Ds&$cHJ=fu2HtbOc0hF}R7yFQ!aIfng!>r(D6{gl) z8R`*4#?1%8!Z^k?z3DJz z;E!x{F?BBIN&7%L#`P2vsHyB;Ql(kI+4y+ECMX2Xv+lx|_qbbX5Erk;<89GAKU-8PNQ{loCo0u6TTe~0u9fC)90{Aj2bA2 zZh6=OEo0OL=Ef)xCDAJ}_CmbNP#(bD%b@GwfeZ+Rf*c>R7<`__J!EkmMD9TsQdLHv zmcy|k$;d=V4P|%A)kp#dY3<;WT+38#i&>~>rj5#x1 z(MEkdRpI3jAob`+VIf$zF6bPBHUj(DnA@=JLb?Lm_W- zVbRbrIf+T}1_Avpd|NFzfXvlYOvfmf9MYglylpwn9^M+rUH^%JHaG#pYeNg+`cSCXJ0FOuDSiJy=uPBAA;)O8+q^y6CKH6Pc+y>edr^)WDnNv02QR<}4z(*o3 zj_m>pLvVu$m=ky`h=m3rW`gG;zhniut~!A!E0rZC@G9E}sfJ==tgzsF+R}?yYK5|OlITNpn7?j9 zfCtQVw_M#0Iq)pheE^F=AT9)YO$Fy$re%<;o|h#%f-Pl~cBOI~3fPf}Q$-Cz*h;Yy zSWkPjIaY1-nJbS&f;m-i*0(e+_x2kVHa@vt5ohp&%wS4d4DkI*Qmr=i|lQo z;WcJvtc4aD1^bqxj8Kw0L8&!ta`;eo&@jLX&pfqGC2&EW9@b{(j?4QQ6!D}BZk7Ppw1;+ju)LXtFGhFkLA~{=&s4A>47~O`tn#D4D`p7q)!6^SmVQ`oO zzH3`6N<~_BnEm7r^8iO5u`RW&lvnFKK+UH_o01h`0^dKO!lwY4|0l|0%!@qDlQPXW zi2Ntv#Dz7X_dKxIUJ&1dn)BU_z`+;34LO_Um=`o25<1~@#|w}Ns6*7%pLye$rFigB zBB{P~;4I@l`-LiFgk%#IpbHR((r8R3ccF`v)?U(CXVRGGwfAySPAV?1_~)MIb>$r7 zGRHXT9+h5=a=x?2Ko~{sKdFnd=4S>{Ds37VSs!k{cY9xPJ>57kJnJ!mXh=Q-*@6j4 zqiMdWuo3zBFInLsjk|(t zAL02F8>_vD|KsrQd$SvWw4Kfd=7lPTHYccb{okAb#Gm){wn*CoDzq?2 zgEYR}4|<@}cRk$fsYLVJxWvcO5+G@+0gCee^*_M)z(3os;`}bBSME=$0{!`xr=ca< zRAaCKyJt>Q5gwWq5;h6CMvDLa+LyZbZwNYUsZ~&TG%7~K&EC29o!Po|s{`EC)vH23 z#7qD6>(`&=&mzjHm652J6oQN}k>C=AHpTzMPQs_$L&6_43-M-Z)AV5{z?7^$bqb>@4&O_(N`M0b6bPi_(r5vC^aVnrtY4mGT zzvzV`u|z79E0iiV0L0L?>J3Jd*nx9R;g-HLk+ng?=5`!(C;RD^H1R-fk$puZurpO9&-+iLY0y4AvHPuN87 z-NsS*hrIT|z4aV)>xstro%0X*yoi1%rAO5L@voEt&DLwa zEmuS7pI{*@uWgbvz{U;&nx{J)81rSq148uS~rWPKexvv97i`H|ThPBiNX@*P10w~_`EuqN^tjdY=jb2mP-VUqX^ zRd8SL)~_*?TCSJ3c-trY%g`s=4``J3KR#$?Ym0GL2pwrW;dIDFrbMaZRi!hQ-aBb$#%zT*gI&B9BR?bXj+ceX1mtM zb6X>A9WZd!I-k z5-ovEHf4f`*G#hWo++I{W}1l5Go43xnISCv%u-2A&uqlSk=a%bBVRK+DZN9Vw=-Vv z9Xz-ti%1@6p}i~gfjCFXiKKxG#XCYPhUQn_ymdg(z1S@@cjS4ag&Q|I%zoWhi#eT` zM!Zn)eAoMakUOfA)bLp1bFGZ_D`O9Y_wg;xAD^A+ln46m1B+c3Yw}?bq$=Fn3$$Uh zh@}PTeEssDOFVZFl*qxPCt1O#AbLqoS>kDdk3^4R@0etfnTdr-GmKTyiK`cOUH z%?m%Aps!am2Fh=*UX3gx6qMcOANO(9;>SrLKV$0w{eFENtqB8O=|!^G1l&Mt0bA%n zJ39%gpD75IjM0^)9LSeObBz!d>;B$(#h?WOx9Q84AvSHagx^T4^Hg)pJ2?`hA)oD* zrDtLQ)Ha44Zt05A@h)vi5cpUHzMcg*g%U!2i^&}(K_BKJsp3VG(6_1ns4svNy?I7KbiZ^$+l)Xu-9BJ(dnM_YLeo9+_2d@E7wED9$ zdOdSDbimb~Br!334T3>qgv&;6$4yo}kSl_M?gd^PmoeJha+GXeEqPCdfRcUHYOk77 z0Xe;y=9z@sz#QQUuRg}sQXvyPw@2B^ErE{mNJkmI8Ldg|Ab|o&w>?ST7HBpFbKqDU z_6HWMxJC35S*LGNF@k&$w(voynuQb9pN`BR<kZri-q|(pAh=72c#d$0ntza8D$P7&54Kd*+AOs?@TOo{iz4;rBJzvNii3-Sl8_|ukkBLwqPk1-G zVxvWTjX)uN0V$?CP33PtW+<<-?3J2pueQs7SeTtNeI|gckjrcfaB^EC31!t=t36xkj$J|MjYV&MgN!BJl^Q2ZyX61C zA?QH~hh+U#H1&PnXr$~(pC=}p=@3~>yP?rHi7!Zv{Wh-k@ zDfW3Y`mthwotWr{F}TAAa)rX!hlT) z;oRz;8LC0S@+CH?JYj{#^Xp-NYu-K1efycpQZA9%;7XwOj{hcGTs4wa_gkX;(EZnr zwn~LBnG}~oGl{BCXW=WpWrK^tZX}N?O392Pe?i4Iz4U{ormInMKYwk}u9#p_5^#4b zm(5mokqXOVCvDxhhTi5@Lh-AQoU$6Ysuj~~;b?+YfChZZrT4CG;!QS|Y@`fQD;K!7 zI@1Kw1RC94+R2-Ane6VoRj6XYJQR65=4v33+`fx-&7WW4Gwc^>!?8~ zb&Irw+a-@7ag}_c^b1In*a=uT)&G6_l46y^!nqVFWaFwW7xQ2t^VH+*-HZ|5KO=An zrqI8Tp8>WdPd0Bkhx$k;Ux13VzBu0~&WlwZqO^qGpz~^&dg%#=I|}{^9YC0`ow$cRAFbP7U`l!vrF* zK$@z`_9Gj?-eQ%b`XOtS8UYeTv!2OyU}`{-z`HFWLg4MQz|D}LN^nyw^7rhij|8C> z@u_c1eMJ?CVoO9((Ln29vu^tsokqi++V-AwrZL=dV{Eum`w^@GiA?)xJjFB=6R-*6 zO;m3wK^psMM40h;I~)UrnT};5o`G%MaoxmU&h(lqQR7Un5JggvE)oqm%0cu#TkTC$ zhJYf1!9m;%dX2IC*(oJY#{kYV-wQL^x^@PCA(BPVG-fp#cAZYw!22XNJ;;SwKu!|x z>8Ad29dhm+dCMDih;4{MTm7# z#KybY*aP7q!NUk#Nj1e@AGt2%MTZ$S@EOsXtBrja{iQX;oGX%rw?Wf|DIBRbbw!1= zntFFr^KN(=+~+3N(Y(nUpym?_EBDA7}V9u!O)vCYK#qu zC#u&qW6wA!!sctG4&^Yiw<=x^AiB> z1E}XL19cH{*@lhlv3;Pfpr2ntqzO7JP=@N!Wwhs1zs}K+HUus&ok2I@8R|vIFyM1Y zdV=Xc5?PY%yE=s*p^ZHaO1s!fIlbX!q7E4d9>oDG>`6kxTW#JeJtC7Z3u1hmar9ay zT~W{K=lEdWM6TebK1lV6Vw~2+6q-B%O6RpZ07s(osaYoaO;;#e$q&zr(A*eZdQ;55_+o2got7At?c zBSIbOQNc*KL3M)J$;U}r#;{YcdLTg>?1|qC^*jGuW{$bXIknj|ORCN5XKdzy8sNB0 zPz%5CFec&`Zq5t?SUGI#it>L!*)7HA3MUU1)#EMfEjMMnIvj$v^!!eiaxuTe0{!IH zJU4;z?<68cQHV^e%1o?X%5Q`4%?+W|8w*4)F3V#+;+sY+nwOOaawHQdidhPhnXYL- zBM1uf8`PiHGBYJ4cMBnN7C0OV&&AMI&4np->HkTUXcr&YqKsa#eDGJ?&e*^ z&y&sk@>scM;MoYI2Z3W5jg~U8uCVf&#~%lOt8tUTj~@QBL6FL78VqxRpl8};-Q&3V-)6mk< uGb8~AKVoHL=iubx=HV6kv(rUMooQH(7k+5@H + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/card/card.html b/ems-core/web-admin/src/components/card/card.html new file mode 100644 index 0000000..f459922 --- /dev/null +++ b/ems-core/web-admin/src/components/card/card.html @@ -0,0 +1,40 @@ +

      diff --git a/ems-core/web-admin/src/components/card/card.js b/ems-core/web-admin/src/components/card/card.js new file mode 100644 index 0000000..5701b6f --- /dev/null +++ b/ems-core/web-admin/src/components/card/card.js @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +export default { + name: 'card', + props: { + id: String, + classes: String, + style: String, + bodyClasses: String, + header: String, + icon: String, + title: String, + footer: String, + links: Object, + hasRefresh: Boolean, + hasCollapse: Boolean, + hasMaximize: Boolean, + hasRemove: Boolean, + runRefresh: String + }, + methods: { + doRefresh() { + if (this.runRefresh && this.runRefresh!=='') + eval(this.runRefresh); // Can access local scope (and variables) + //new Function( 'return (' + this.runRefresh + ')' )(); // Cannot access local scope (and variables) + } + } +} diff --git a/ems-core/web-admin/src/components/card/card.vue b/ems-core/web-admin/src/components/card/card.vue new file mode 100644 index 0000000..32d0596 --- /dev/null +++ b/ems-core/web-admin/src/components/card/card.vue @@ -0,0 +1,11 @@ + + + + diff --git a/ems-core/web-admin/src/components/chartjs/chartjs.vue b/ems-core/web-admin/src/components/chartjs/chartjs.vue new file mode 100644 index 0000000..1752cab --- /dev/null +++ b/ems-core/web-admin/src/components/chartjs/chartjs.vue @@ -0,0 +1,147 @@ + + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/clock/clock.vue b/ems-core/web-admin/src/components/clock/clock.vue new file mode 100644 index 0000000..ce46cbd --- /dev/null +++ b/ems-core/web-admin/src/components/clock/clock.vue @@ -0,0 +1,45 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/ems/sse/ems-sse.vue b/ems-core/web-admin/src/components/ems/sse/ems-sse.vue new file mode 100644 index 0000000..f2d5bec --- /dev/null +++ b/ems-core/web-admin/src/components/ems/sse/ems-sse.vue @@ -0,0 +1,377 @@ + + + + diff --git a/ems-core/web-admin/src/components/ems/ts/ts.js b/ems-core/web-admin/src/components/ems/ts/ts.js new file mode 100644 index 0000000..f9007b1 --- /dev/null +++ b/ems-core/web-admin/src/components/ems/ts/ts.js @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +export class Timeseries { + #tsLength; + #tsData; + #seqLast; + #allowUpdate = true; + + constructor(l) { + if (!l || typeof l!=='number' || l<1) throw 'Timeseries.init(): Missing or invalid length argument'; + this.tsLength = l; + this.tsData = new Array(l); + this.tsData.fill(null); + this.seqLast = undefined; + } + + getLength() { return this.tsLength; } + + add(data, seq) { + if (!data) return; + if (!seq) { + if (this.seqLast===undefined) seq = 0; + else seq = this.seqLast + 1; + } + if (this.seqLast===undefined) { + this.seqLast = seq; + this.tsData.shift(); + this.tsData.push(data); + return; + } + if (seq <= this.seqLast-this.tsLength) + return; + if (seq<=this.seqLast && this.allowUpdate) { + let offset = this.tsLength - (this.seqLast-seq) - 1; + this.tsData[offset] = data; + } + if (seq > this.seqLast) { + let extra = seq - this.seqLast; + for (let i=0; i=this.tsLength) throw 'Timeseries.getData(): Length argument exceeds size: length='+l+', size='+this.tsLength; + let from = this.tsLength - l; + return this.tsData.slice(from); + } + + getLast() { + return (this.seqLast) ? this.tsData.at(-1) : null; + } + + getDataWithSeq(l) { + let s = this.seqLast - l + 1; + let result = this.getData(l).map(data => ({data, seq: s++})); + return result; + } +} + +export class TimeWindow extends Timeseries { + #winLength; + #winInterval; + + constructor(dur, ival) { + let l = Math.floor(dur / ival) + 1; + super(l); + this.winLength = dur; + this.winInterval = ival; + } + + getWindowLength() { return this.winLength; } + getWindowInterval() { return this.winInterval; } + + getWindowData(dur) { + let l = Math.floor(dur / this.winInterval) + 1; + return super.getData(l); + } +} diff --git a/ems-core/web-admin/src/components/infobox/infobox.html b/ems-core/web-admin/src/components/infobox/infobox.html new file mode 100644 index 0000000..7e73101 --- /dev/null +++ b/ems-core/web-admin/src/components/infobox/infobox.html @@ -0,0 +1,13 @@ +
      + +
      + {{message}} + {{text_before}}{{value ?? text_default}}{{text_after}} +
      + +
      + +
      + +
      + diff --git a/ems-core/web-admin/src/components/infobox/infobox.js b/ems-core/web-admin/src/components/infobox/infobox.js new file mode 100644 index 0000000..fc43c4c --- /dev/null +++ b/ems-core/web-admin/src/components/infobox/infobox.js @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +export default { + name: 'infobox', + props: { + value: String, + id: String, + classes: String, + message: String, + text_before: String, + text_default: String, + text_after: String, + bg_class: String, + icon_classes: String, + loading: Boolean, + style: { type: String, default: 'padding:0;' } + } +} diff --git a/ems-core/web-admin/src/components/infobox/infobox.vue b/ems-core/web-admin/src/components/infobox/infobox.vue new file mode 100644 index 0000000..7123daf --- /dev/null +++ b/ems-core/web-admin/src/components/infobox/infobox.vue @@ -0,0 +1,11 @@ + + + + diff --git a/ems-core/web-admin/src/components/jqvmap/jqvmap.vue b/ems-core/web-admin/src/components/jqvmap/jqvmap.vue new file mode 100644 index 0000000..518177d --- /dev/null +++ b/ems-core/web-admin/src/components/jqvmap/jqvmap.vue @@ -0,0 +1,77 @@ + + + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/jvectormap/jvectormap.vue b/ems-core/web-admin/src/components/jvectormap/jvectormap.vue new file mode 100644 index 0000000..9f104df --- /dev/null +++ b/ems-core/web-admin/src/components/jvectormap/jvectormap.vue @@ -0,0 +1,166 @@ + + + + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/knob/knob.vue b/ems-core/web-admin/src/components/knob/knob.vue new file mode 100644 index 0000000..a25cad5 --- /dev/null +++ b/ems-core/web-admin/src/components/knob/knob.vue @@ -0,0 +1,103 @@ + + + + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/leaflet-map/leaflet-map.vue b/ems-core/web-admin/src/components/leaflet-map/leaflet-map.vue new file mode 100644 index 0000000..ff0a110 --- /dev/null +++ b/ems-core/web-admin/src/components/leaflet-map/leaflet-map.vue @@ -0,0 +1,322 @@ + + + + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/modal/modal.vue b/ems-core/web-admin/src/components/modal/modal.vue new file mode 100644 index 0000000..964043c --- /dev/null +++ b/ems-core/web-admin/src/components/modal/modal.vue @@ -0,0 +1,151 @@ + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/smallbox/smallbox.html b/ems-core/web-admin/src/components/smallbox/smallbox.html new file mode 100644 index 0000000..e85bb54 --- /dev/null +++ b/ems-core/web-admin/src/components/smallbox/smallbox.html @@ -0,0 +1,17 @@ + +
      +
      +

      + +

      +

      + +

      +
      +
      + +
      + + More info + +
      diff --git a/ems-core/web-admin/src/components/smallbox/smallbox.js b/ems-core/web-admin/src/components/smallbox/smallbox.js new file mode 100644 index 0000000..d55ec6b --- /dev/null +++ b/ems-core/web-admin/src/components/smallbox/smallbox.js @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +export default { + name: 'smallbox', + props: { + id: String, + init_content: String, + more_info_url: String, + bg_class: String, + icon_classes: String + } +} diff --git a/ems-core/web-admin/src/components/smallbox/smallbox.vue b/ems-core/web-admin/src/components/smallbox/smallbox.vue new file mode 100644 index 0000000..803a6e7 --- /dev/null +++ b/ems-core/web-admin/src/components/smallbox/smallbox.vue @@ -0,0 +1,11 @@ + + + + diff --git a/ems-core/web-admin/src/components/sparkline/sparkline.vue b/ems-core/web-admin/src/components/sparkline/sparkline.vue new file mode 100644 index 0000000..45a7f56 --- /dev/null +++ b/ems-core/web-admin/src/components/sparkline/sparkline.vue @@ -0,0 +1,78 @@ + + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/status-led/status-led.vue b/ems-core/web-admin/src/components/status-led/status-led.vue new file mode 100644 index 0000000..64b4c7f --- /dev/null +++ b/ems-core/web-admin/src/components/status-led/status-led.vue @@ -0,0 +1,194 @@ + + + + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/worldmap/WorldMap.vue b/ems-core/web-admin/src/components/worldmap/WorldMap.vue new file mode 100644 index 0000000..658cb4d --- /dev/null +++ b/ems-core/web-admin/src/components/worldmap/WorldMap.vue @@ -0,0 +1,65 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/components/worldmap/countries.js b/ems-core/web-admin/src/components/worldmap/countries.js new file mode 100644 index 0000000..2206073 --- /dev/null +++ b/ems-core/web-admin/src/components/worldmap/countries.js @@ -0,0 +1,246 @@ +module.exports = [ + { name: "Afghanistan", code: "AF" }, + { name: "land Islands", code: "AX" }, + { name: "Albania", code: "AL" }, + { name: "Algeria", code: "DZ" }, + { name: "American Samoa", code: "AS" }, + { name: "AndorrA", code: "AD" }, + { name: "Angola", code: "AO" }, + { name: "Anguilla", code: "AI" }, + { name: "Antarctica", code: "AQ" }, + { name: "Antigua and Barbuda", code: "AG" }, + { name: "Argentina", code: "AR" }, + { name: "Armenia", code: "AM" }, + { name: "Aruba", code: "AW" }, + { name: "Australia", code: "AU" }, + { name: "Austria", code: "AT" }, + { name: "Azerbaijan", code: "AZ" }, + { name: "Bahamas", code: "BS" }, + { name: "Bahrain", code: "BH" }, + { name: "Bangladesh", code: "BD" }, + { name: "Barbados", code: "BB" }, + { name: "Belarus", code: "BY" }, + { name: "Belgium", code: "BE" }, + { name: "Belize", code: "BZ" }, + { name: "Benin", code: "BJ" }, + { name: "Bermuda", code: "BM" }, + { name: "Bhutan", code: "BT" }, + { name: "Bolivia", code: "BO" }, + { name: "Bosnia and Herzegovina", code: "BA" }, + { name: "Botswana", code: "BW" }, + { name: "Bouvet Island", code: "BV" }, + { name: "Brazil", code: "BR" }, + { name: "British Indian Ocean Territory", code: "IO" }, + { name: "Brunei Darussalam", code: "BN" }, + { name: "Bulgaria", code: "BG" }, + { name: "Burkina Faso", code: "BF" }, + { name: "Burundi", code: "BI" }, + { name: "Cambodia", code: "KH" }, + { name: "Cameroon", code: "CM" }, + { name: "Canada", code: "CA" }, + { name: "Cape Verde", code: "CV" }, + { name: "Cayman Islands", code: "KY" }, + { name: "Central African Republic", code: "CF" }, + { name: "Chad", code: "TD" }, + { name: "Chile", code: "CL" }, + { name: "China", code: "CN" }, + { name: "Christmas Island", code: "CX" }, + { name: "Cocos (Keeling) Islands", code: "CC" }, + { name: "Colombia", code: "CO" }, + { name: "Comoros", code: "KM" }, + { name: "Congo", code: "CG" }, + { name: "Congo, The Democratic Republic of the", code: "CD" }, + { name: "Cook Islands", code: "CK" }, + { name: "Costa Rica", code: "CR" }, + { name: "Cote D'Ivoire", code: "CI" }, + { name: "Croatia", code: "HR" }, + { name: "Cuba", code: "CU" }, + { name: "Cyprus", code: "CY" }, + { name: "Czech Republic", code: "CZ" }, + { name: "Denmark", code: "DK" }, + { name: "Djibouti", code: "DJ" }, + { name: "Dominica", code: "DM" }, + { name: "Dominican Republic", code: "DO" }, + { name: "Ecuador", code: "EC" }, + { name: "Egypt", code: "EG" }, + { name: "El Salvador", code: "SV" }, + { name: "Equatorial Guinea", code: "GQ" }, + { name: "Eritrea", code: "ER" }, + { name: "Estonia", code: "EE" }, + { name: "Ethiopia", code: "ET" }, + { name: "Falkland Islands (Malvinas)", code: "FK" }, + { name: "Faroe Islands", code: "FO" }, + { name: "Fiji", code: "FJ" }, + { name: "Finland", code: "FI" }, + { name: "France", code: "FR" }, + { name: "French Guiana", code: "GF" }, + { name: "French Polynesia", code: "PF" }, + { name: "French Southern Territories", code: "TF" }, + { name: "Gabon", code: "GA" }, + { name: "Gambia", code: "GM" }, + { name: "Georgia", code: "GE" }, + { name: "Germany", code: "DE" }, + { name: "Ghana", code: "GH" }, + { name: "Gibraltar", code: "GI" }, + { name: "Greece", code: "GR" }, + { name: "Greenland", code: "GL" }, + { name: "Grenada", code: "GD" }, + { name: "Guadeloupe", code: "GP" }, + { name: "Guam", code: "GU" }, + { name: "Guatemala", code: "GT" }, + { name: "Guernsey", code: "GG" }, + { name: "Guinea", code: "GN" }, + { name: "Guinea-Bissau", code: "GW" }, + { name: "Guyana", code: "GY" }, + { name: "Haiti", code: "HT" }, + { name: "Heard Island and Mcdonald Islands", code: "HM" }, + { name: "Holy See (Vatican City State)", code: "VA" }, + { name: "Honduras", code: "HN" }, + { name: "Hong Kong", code: "HK" }, + { name: "Hungary", code: "HU" }, + { name: "Iceland", code: "IS" }, + { name: "India", code: "IN" }, + { name: "Indonesia", code: "ID" }, + { name: "Iran, Islamic Republic Of", code: "IR" }, + { name: "Iraq", code: "IQ" }, + { name: "Ireland", code: "IE" }, + { name: "Isle of Man", code: "IM" }, + { name: "Israel", code: "IL" }, + { name: "Italy", code: "IT" }, + { name: "Jamaica", code: "JM" }, + { name: "Japan", code: "JP" }, + { name: "Jersey", code: "JE" }, + { name: "Jordan", code: "JO" }, + { name: "Kazakhstan", code: "KZ" }, + { name: "Kenya", code: "KE" }, + { name: "Kiribati", code: "KI" }, + { name: "Korea, Democratic People'S Republic of", code: "KP" }, + { name: "Korea, Republic of", code: "KR" }, + { name: "Kuwait", code: "KW" }, + { name: "Kyrgyzstan", code: "KG" }, + { name: "Lao People'S Democratic Republic", code: "LA" }, + { name: "Latvia", code: "LV" }, + { name: "Lebanon", code: "LB" }, + { name: "Lesotho", code: "LS" }, + { name: "Liberia", code: "LR" }, + { name: "Libyan Arab Jamahiriya", code: "LY" }, + { name: "Liechtenstein", code: "LI" }, + { name: "Lithuania", code: "LT" }, + { name: "Luxembourg", code: "LU" }, + { name: "Macao", code: "MO" }, + { name: "Macedonia, The Former Yugoslav Republic of", code: "MK" }, + { name: "Madagascar", code: "MG" }, + { name: "Malawi", code: "MW" }, + { name: "Malaysia", code: "MY" }, + { name: "Maldives", code: "MV" }, + { name: "Mali", code: "ML" }, + { name: "Malta", code: "MT" }, + { name: "Marshall Islands", code: "MH" }, + { name: "Martinique", code: "MQ" }, + { name: "Mauritania", code: "MR" }, + { name: "Mauritius", code: "MU" }, + { name: "Mayotte", code: "YT" }, + { name: "Mexico", code: "MX" }, + { name: "Micronesia, Federated States of", code: "FM" }, + { name: "Moldova, Republic of", code: "MD" }, + { name: "Monaco", code: "MC" }, + { name: "Mongolia", code: "MN" }, + { name: "Montenegro", code: "ME" }, + { name: "Montserrat", code: "MS" }, + { name: "Morocco", code: "MA" }, + { name: "Mozambique", code: "MZ" }, + { name: "Myanmar", code: "MM" }, + { name: "Namibia", code: "NA" }, + { name: "Nauru", code: "NR" }, + { name: "Nepal", code: "NP" }, + { name: "Netherlands", code: "NL" }, + { name: "Netherlands Antilles", code: "AN" }, + { name: "New Caledonia", code: "NC" }, + { name: "New Zealand", code: "NZ" }, + { name: "Nicaragua", code: "NI" }, + { name: "Niger", code: "NE" }, + { name: "Nigeria", code: "NG" }, + { name: "Niue", code: "NU" }, + { name: "Norfolk Island", code: "NF" }, + { name: "Northern Mariana Islands", code: "MP" }, + { name: "Norway", code: "NO" }, + { name: "Oman", code: "OM" }, + { name: "Pakistan", code: "PK" }, + { name: "Palau", code: "PW" }, + { name: "Palestinian Territory, Occupied", code: "PS" }, + { name: "Panama", code: "PA" }, + { name: "Papua New Guinea", code: "PG" }, + { name: "Paraguay", code: "PY" }, + { name: "Peru", code: "PE" }, + { name: "Philippines", code: "PH" }, + { name: "Pitcairn", code: "PN" }, + { name: "Poland", code: "PL" }, + { name: "Portugal", code: "PT" }, + { name: "Puerto Rico", code: "PR" }, + { name: "Qatar", code: "QA" }, + { name: "Reunion", code: "RE" }, + { name: "Romania", code: "RO" }, + { name: "Russian Federation", code: "RU" }, + { name: "RWANDA", code: "RW" }, + { name: "Saint Helena", code: "SH" }, + { name: "Saint Kitts and Nevis", code: "KN" }, + { name: "Saint Lucia", code: "LC" }, + { name: "Saint Pierre and Miquelon", code: "PM" }, + { name: "Saint Vincent and the Grenadines", code: "VC" }, + { name: "Samoa", code: "WS" }, + { name: "San Marino", code: "SM" }, + { name: "Sao Tome and Principe", code: "ST" }, + { name: "Saudi Arabia", code: "SA" }, + { name: "Senegal", code: "SN" }, + { name: "Serbia", code: "RS" }, + { name: "Seychelles", code: "SC" }, + { name: "Sierra Leone", code: "SL" }, + { name: "Singapore", code: "SG" }, + { name: "Slovakia", code: "SK" }, + { name: "Slovenia", code: "SI" }, + { name: "Solomon Islands", code: "SB" }, + { name: "Somalia", code: "SO" }, + { name: "South Africa", code: "ZA" }, + { name: "South Georgia and the South Sandwich Islands", code: "GS" }, + { name: "Spain", code: "ES" }, + { name: "Sri Lanka", code: "LK" }, + { name: "Sudan", code: "SD" }, + { name: "Suriname", code: "SR" }, + { name: "Svalbard and Jan Mayen", code: "SJ" }, + { name: "Swaziland", code: "SZ" }, + { name: "Sweden", code: "SE" }, + { name: "Switzerland", code: "CH" }, + { name: "Syrian Arab Republic", code: "SY" }, + { name: "Taiwan, Province of China", code: "TW" }, + { name: "Tajikistan", code: "TJ" }, + { name: "Tanzania, United Republic of", code: "TZ" }, + { name: "Thailand", code: "TH" }, + { name: "Timor-Leste", code: "TL" }, + { name: "Togo", code: "TG" }, + { name: "Tokelau", code: "TK" }, + { name: "Tonga", code: "TO" }, + { name: "Trinidad and Tobago", code: "TT" }, + { name: "Tunisia", code: "TN" }, + { name: "Turkey", code: "TR" }, + { name: "Turkmenistan", code: "TM" }, + { name: "Turks and Caicos Islands", code: "TC" }, + { name: "Tuvalu", code: "TV" }, + { name: "Uganda", code: "UG" }, + { name: "Ukraine", code: "UA" }, + { name: "United Arab Emirates", code: "AE" }, + { name: "United Kingdom", code: "GB" }, + { name: "United States", code: "US" }, + { name: "United States Minor Outlying Islands", code: "UM" }, + { name: "Uruguay", code: "UY" }, + { name: "Uzbekistan", code: "UZ" }, + { name: "Vanuatu", code: "VU" }, + { name: "Venezuela", code: "VE" }, + { name: "Viet Nam", code: "VN" }, + { name: "Virgin Islands, British", code: "VG" }, + { name: "Virgin Islands, U.S.", code: "VI" }, + { name: "Wallis and Futuna", code: "WF" }, + { name: "Western Sahara", code: "EH" }, + { name: "Yemen", code: "YE" }, + { name: "Zambia", code: "ZM" }, + { name: "Zimbabwe", code: "ZW" } +]; diff --git a/ems-core/web-admin/src/main.js b/ems-core/web-admin/src/main.js new file mode 100644 index 0000000..89c3963 --- /dev/null +++ b/ems-core/web-admin/src/main.js @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +// Initialize global event bus +import mitt from 'mitt' +export const eventBus = mitt() + +// Initialize Vue App +import { createApp } from 'vue' +import App from './App.vue' +import router from './router.js' + +const app = createApp(App) +app.use(router) +app.mount('#app') diff --git a/ems-core/web-admin/src/resources/.env b/ems-core/web-admin/src/resources/.env new file mode 100644 index 0000000..4db4e8b --- /dev/null +++ b/ems-core/web-admin/src/resources/.env @@ -0,0 +1,2 @@ +VUE_APP_EMS_VERSION=@project.version@ +VUE_APP_EMS_BUILD=@maven.build.timestamp@ \ No newline at end of file diff --git a/ems-core/web-admin/src/router.js b/ems-core/web-admin/src/router.js new file mode 100644 index 0000000..f9c7acc --- /dev/null +++ b/ems-core/web-admin/src/router.js @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +import { createRouter, createWebHistory } from 'vue-router' +import Admin from './views/admin/admin.vue' +import About from './views/about.vue' +import NotFound from './views/404.vue' + +const routes = [ + { + path: '/', + name: 'Home', + component: Admin + }, + { + path: '/sample', + name: 'Sample', + // route level code-splitting + // this generates a separate chunk (about.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import(/* webpackChunkName: "sample" */ './views/sample/sample.vue') + }, + { + path: '/about', + name: 'About', + component: About + }, + { + path: '/:pathMatch(.*)', + component: NotFound + }, +] + +const router = createRouter({ + history: createWebHistory(process.env.BASE_URL), + routes +}) + +export default router diff --git a/ems-core/web-admin/src/utils.js b/ems-core/web-admin/src/utils.js new file mode 100644 index 0000000..717af1c --- /dev/null +++ b/ems-core/web-admin/src/utils.js @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +const precision = 100; + +class Utils { + valueExists(modelValue, name) { + if (!modelValue) return false; + let part = name.split('.'); + let d = modelValue; + for (let i=0; i=1) { + r++; + d = d / 10; + } + return r; + } + + /*updateSelect(newVal, targetMap, valueField, textField) { + // add new or update targetMap entries + for (let c of newVal) { + if (!targetMap[c[valueField]] || targetMap[c[valueField]].text !== c[textField]) { + targetMap[c[valueField]] = { value: c[valueField], text: c[textField] }; + console.log('updateMap: ADD/UPD: ', c.id, targetMap[c.id]); + } + } + + // remove obsolete targetMap entries + let newVal_ids = newVal.map(o=>o[valueField]); + for (let cid of Object.keys(targetMap)) { + if (!newVal_ids.includes(cid)) { + delete targetMap[cid]; + console.log('updateMap: DEL: ', cid); + } + } + }*/ +} + +var utils = new Utils(); + +export default utils; \ No newline at end of file diff --git a/ems-core/web-admin/src/views/404.vue b/ems-core/web-admin/src/views/404.vue new file mode 100644 index 0000000..79eeb23 --- /dev/null +++ b/ems-core/web-admin/src/views/404.vue @@ -0,0 +1,23 @@ + + diff --git a/ems-core/web-admin/src/views/about.vue b/ems-core/web-admin/src/views/about.vue new file mode 100644 index 0000000..14bdeaf --- /dev/null +++ b/ems-core/web-admin/src/views/about.vue @@ -0,0 +1,41 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/admin-1-overview-header.vue b/ems-core/web-admin/src/views/admin/admin-1-overview-header.vue new file mode 100644 index 0000000..f57fbb3 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/admin-1-overview-header.vue @@ -0,0 +1,268 @@ + + + + + + diff --git a/ems-core/web-admin/src/views/admin/admin-1-overview.vue b/ems-core/web-admin/src/views/admin/admin-1-overview.vue new file mode 100644 index 0000000..ce9c35a --- /dev/null +++ b/ems-core/web-admin/src/views/admin/admin-1-overview.vue @@ -0,0 +1,263 @@ + + + + + + diff --git a/ems-core/web-admin/src/views/admin/admin-1-overview.vue.old b/ems-core/web-admin/src/views/admin/admin-1-overview.vue.old new file mode 100644 index 0000000..1eadf7b --- /dev/null +++ b/ems-core/web-admin/src/views/admin/admin-1-overview.vue.old @@ -0,0 +1,263 @@ + + + + + + diff --git a/ems-core/web-admin/src/views/admin/admin-2-topology.vue b/ems-core/web-admin/src/views/admin/admin-2-topology.vue new file mode 100644 index 0000000..1940240 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/admin-2-topology.vue @@ -0,0 +1,1010 @@ + + + + + + diff --git a/ems-core/web-admin/src/views/admin/admin-3-geography.vue b/ems-core/web-admin/src/views/admin/admin-3-geography.vue new file mode 100644 index 0000000..9846c91 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/admin-3-geography.vue @@ -0,0 +1,246 @@ + + + + + + diff --git a/ems-core/web-admin/src/views/admin/admin-4-commands.vue b/ems-core/web-admin/src/views/admin/admin-4-commands.vue new file mode 100644 index 0000000..0843eaa --- /dev/null +++ b/ems-core/web-admin/src/views/admin/admin-4-commands.vue @@ -0,0 +1,140 @@ + + + + + + diff --git a/ems-core/web-admin/src/views/admin/admin-5-broker-cep.vue b/ems-core/web-admin/src/views/admin/admin-5-broker-cep.vue new file mode 100644 index 0000000..a51153c --- /dev/null +++ b/ems-core/web-admin/src/views/admin/admin-5-broker-cep.vue @@ -0,0 +1,23 @@ + + + + + + diff --git a/ems-core/web-admin/src/views/admin/admin.vue b/ems-core/web-admin/src/views/admin/admin.vue new file mode 100644 index 0000000..15ec2b1 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/admin.vue @@ -0,0 +1,112 @@ + + + + + + diff --git a/ems-core/web-admin/src/views/admin/country-coordinates.js b/ems-core/web-admin/src/views/admin/country-coordinates.js new file mode 100644 index 0000000..db4a438 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/country-coordinates.js @@ -0,0 +1,256 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +export default { + 'AD': { code: 'AD', lat: 42.546245, lon: 1.601554, country: 'Andorra' }, + 'AE': { code: 'AE', lat: 23.424076, lon: 53.847818, country: 'United Arab Emirates' }, + 'AF': { code: 'AF', lat: 33.93911, lon: 67.709953, country: 'Afghanistan' }, + 'AG': { code: 'AG', lat: 17.060816, lon: -61.796428, country: 'Antigua and Barbuda' }, + 'AI': { code: 'AI', lat: 18.220554, lon: -63.068615, country: 'Anguilla' }, + 'AL': { code: 'AL', lat: 41.153332, lon: 20.168331, country: 'Albania' }, + 'AM': { code: 'AM', lat: 40.069099, lon: 45.038189, country: 'Armenia' }, + 'AN': { code: 'AN', lat: 12.226079, lon: -69.060087, country: 'Netherlands Antilles' }, + 'AO': { code: 'AO', lat: -11.202692, lon: 17.873887, country: 'Angola' }, + 'AQ': { code: 'AQ', lat: -75.250973, lon: -0.071389, country: 'Antarctica' }, + 'AR': { code: 'AR', lat: -38.416097, lon: -63.616672, country: 'Argentina' }, + 'AS': { code: 'AS', lat: -14.270972, lon: -170.132217, country: 'American Samoa' }, + 'AT': { code: 'AT', lat: 47.516231, lon: 14.550072, country: 'Austria' }, + 'AU': { code: 'AU', lat: -25.274398, lon: 133.775136, country: 'Australia' }, + 'AW': { code: 'AW', lat: 12.52111, lon: -69.968338, country: 'Aruba' }, + 'AZ': { code: 'AZ', lat: 40.143105, lon: 47.576927, country: 'Azerbaijan' }, + 'BA': { code: 'BA', lat: 43.915886, lon: 17.679076, country: 'Bosnia and Herzegovina' }, + 'BB': { code: 'BB', lat: 13.193887, lon: -59.543198, country: 'Barbados' }, + 'BD': { code: 'BD', lat: 23.684994, lon: 90.356331, country: 'Bangladesh' }, + 'BE': { code: 'BE', lat: 50.503887, lon: 4.469936, country: 'Belgium' }, + 'BF': { code: 'BF', lat: 12.238333, lon: -1.561593, country: 'Burkina Faso' }, + 'BG': { code: 'BG', lat: 42.733883, lon: 25.48583, country: 'Bulgaria' }, + 'BH': { code: 'BH', lat: 25.930414, lon: 50.637772, country: 'Bahrain' }, + 'BI': { code: 'BI', lat: -3.373056, lon: 29.918886, country: 'Burundi' }, + 'BJ': { code: 'BJ', lat: 9.30769, lon: 2.315834, country: 'Benin' }, + 'BM': { code: 'BM', lat: 32.321384, lon: -64.75737, country: 'Bermuda' }, + 'BN': { code: 'BN', lat: 4.535277, lon: 114.727669, country: 'Brunei' }, + 'BO': { code: 'BO', lat: -16.290154, lon: -63.588653, country: 'Bolivia' }, + 'BR': { code: 'BR', lat: -14.235004, lon: -51.92528, country: 'Brazil' }, + 'BS': { code: 'BS', lat: 25.03428, lon: -77.39628, country: 'Bahamas' }, + 'BT': { code: 'BT', lat: 27.514162, lon: 90.433601, country: 'Bhutan' }, + 'BV': { code: 'BV', lat: -54.423199, lon: 3.413194, country: 'Bouvet Island' }, + 'BW': { code: 'BW', lat: -22.328474, lon: 24.684866, country: 'Botswana' }, + 'BY': { code: 'BY', lat: 53.709807, lon: 27.953389, country: 'Belarus' }, + 'BZ': { code: 'BZ', lat: 17.189877, lon: -88.49765, country: 'Belize' }, + 'CA': { code: 'CA', lat: 56.130366, lon: -106.346771, country: 'Canada' }, + 'CC': { code: 'CC', lat: -12.164165, lon: 96.870956, country: 'Cocos [Keeling] Islands' }, + 'CD': { code: 'CD', lat: -4.038333, lon: 21.758664, country: 'Congo [DRC]' }, + 'CF': { code: 'CF', lat: 6.611111, lon: 20.939444, country: 'Central African Republic' }, + 'CG': { code: 'CG', lat: -0.228021, lon: 15.827659, country: 'Congo [Republic]' }, + 'CH': { code: 'CH', lat: 46.818188, lon: 8.227512, country: 'Switzerland' }, + 'CI': { code: 'CI', lat: 7.539989, lon: -5.54708, country: 'Côte d\'Ivoire' }, + 'CK': { code: 'CK', lat: -21.236736, lon: -159.777671, country: 'Cook Islands' }, + 'CL': { code: 'CL', lat: -35.675147, lon: -71.542969, country: 'Chile' }, + 'CM': { code: 'CM', lat: 7.369722, lon: 12.354722, country: 'Cameroon' }, + 'CN': { code: 'CN', lat: 35.86166, lon: 104.195397, country: 'China' }, + 'CO': { code: 'CO', lat: 4.570868, lon: -74.297333, country: 'Colombia' }, + 'CR': { code: 'CR', lat: 9.748917, lon: -83.753428, country: 'Costa Rica' }, + 'CU': { code: 'CU', lat: 21.521757, lon: -77.781167, country: 'Cuba' }, + 'CV': { code: 'CV', lat: 16.002082, lon: -24.013197, country: 'Cape Verde' }, + 'CX': { code: 'CX', lat: -10.447525, lon: 105.690449, country: 'Christmas Island' }, + 'CY': { code: 'CY', lat: 35.126413, lon: 33.429859, country: 'Cyprus' }, + 'CZ': { code: 'CZ', lat: 49.817492, lon: 15.472962, country: 'Czech Republic' }, + 'DE': { code: 'DE', lat: 51.165691, lon: 10.451526, country: 'Germany' }, + 'DJ': { code: 'DJ', lat: 11.825138, lon: 42.590275, country: 'Djibouti' }, + 'DK': { code: 'DK', lat: 56.26392, lon: 9.501785, country: 'Denmark' }, + 'DM': { code: 'DM', lat: 15.414999, lon: -61.370976, country: 'Dominica' }, + 'DO': { code: 'DO', lat: 18.735693, lon: -70.162651, country: 'Dominican Republic' }, + 'DZ': { code: 'DZ', lat: 28.033886, lon: 1.659626, country: 'Algeria' }, + 'EC': { code: 'EC', lat: -1.831239, lon: -78.183406, country: 'Ecuador' }, + 'EE': { code: 'EE', lat: 58.595272, lon: 25.013607, country: 'Estonia' }, + 'EG': { code: 'EG', lat: 26.820553, lon: 30.802498, country: 'Egypt' }, + 'EH': { code: 'EH', lat: 24.215527, lon: -12.885834, country: 'Western Sahara' }, + 'ER': { code: 'ER', lat: 15.179384, lon: 39.782334, country: 'Eritrea' }, + 'ES': { code: 'ES', lat: 40.463667, lon: -3.74922, country: 'Spain' }, + 'ET': { code: 'ET', lat: 9.145, lon: 40.489673, country: 'Ethiopia' }, + 'FI': { code: 'FI', lat: 61.92411, lon: 25.748151, country: 'Finland' }, + 'FJ': { code: 'FJ', lat: -16.578193, lon: 179.414413, country: 'Fiji' }, + 'FK': { code: 'FK', lat: -51.796253, lon: -59.523613, country: 'Falkland Islands [Islas Malvinas]' }, + 'FM': { code: 'FM', lat: 7.425554, lon: 150.550812, country: 'Micronesia' }, + 'FO': { code: 'FO', lat: 61.892635, lon: -6.911806, country: 'Faroe Islands' }, + 'FR': { code: 'FR', lat: 46.227638, lon: 2.213749, country: 'France' }, + 'GA': { code: 'GA', lat: -0.803689, lon: 11.609444, country: 'Gabon' }, + 'GB': { code: 'GB', lat: 55.378051, lon: -3.435973, country: 'United Kingdom' }, + 'GD': { code: 'GD', lat: 12.262776, lon: -61.604171, country: 'Grenada' }, + 'GE': { code: 'GE', lat: 42.315407, lon: 43.356892, country: 'Georgia' }, + 'GF': { code: 'GF', lat: 3.933889, lon: -53.125782, country: 'French Guiana' }, + 'GG': { code: 'GG', lat: 49.465691, lon: -2.585278, country: 'Guernsey' }, + 'GH': { code: 'GH', lat: 7.946527, lon: -1.023194, country: 'Ghana' }, + 'GI': { code: 'GI', lat: 36.137741, lon: -5.345374, country: 'Gibraltar' }, + 'GL': { code: 'GL', lat: 71.706936, lon: -42.604303, country: 'Greenland' }, + 'GM': { code: 'GM', lat: 13.443182, lon: -15.310139, country: 'Gambia' }, + 'GN': { code: 'GN', lat: 9.945587, lon: -9.696645, country: 'Guinea' }, + 'GP': { code: 'GP', lat: 16.995971, lon: -62.067641, country: 'Guadeloupe' }, + 'GQ': { code: 'GQ', lat: 1.650801, lon: 10.267895, country: 'Equatorial Guinea' }, + 'GR': { code: 'GR', lat: 39.074208, lon: 21.824312, country: 'Greece' }, + 'GS': { code: 'GS', lat: -54.429579, lon: -36.587909, country: 'South Georgia and the South Sandwich Islands' }, + 'GT': { code: 'GT', lat: 15.783471, lon: -90.230759, country: 'Guatemala' }, + 'GU': { code: 'GU', lat: 13.444304, lon: 144.793731, country: 'Guam' }, + 'GW': { code: 'GW', lat: 11.803749, lon: -15.180413, country: 'Guinea-Bissau' }, + 'GY': { code: 'GY', lat: 4.860416, lon: -58.93018, country: 'Guyana' }, + 'GZ': { code: 'GZ', lat: 31.354676, lon: 34.308825, country: 'Gaza Strip' }, + 'HK': { code: 'HK', lat: 22.396428, lon: 114.109497, country: 'Hong Kong' }, + 'HM': { code: 'HM', lat: -53.08181, lon: 73.504158, country: 'Heard Island and McDonald Islands' }, + 'HN': { code: 'HN', lat: 15.199999, lon: -86.241905, country: 'Honduras' }, + 'HR': { code: 'HR', lat: 45.1, lon: 15.2, country: 'Croatia' }, + 'HT': { code: 'HT', lat: 18.971187, lon: -72.285215, country: 'Haiti' }, + 'HU': { code: 'HU', lat: 47.162494, lon: 19.503304, country: 'Hungary' }, + 'ID': { code: 'ID', lat: -0.789275, lon: 113.921327, country: 'Indonesia' }, + 'IE': { code: 'IE', lat: 53.41291, lon: -8.24389, country: 'Ireland' }, + 'IL': { code: 'IL', lat: 31.046051, lon: 34.851612, country: 'Israel' }, + 'IM': { code: 'IM', lat: 54.236107, lon: -4.548056, country: 'Isle of Man' }, + 'IN': { code: 'IN', lat: 20.593684, lon: 78.96288, country: 'India' }, + 'IO': { code: 'IO', lat: -6.343194, lon: 71.876519, country: 'British Indian Ocean Territory' }, + 'IQ': { code: 'IQ', lat: 33.223191, lon: 43.679291, country: 'Iraq' }, + 'IR': { code: 'IR', lat: 32.427908, lon: 53.688046, country: 'Iran' }, + 'IS': { code: 'IS', lat: 64.963051, lon: -19.020835, country: 'Iceland' }, + 'IT': { code: 'IT', lat: 41.87194, lon: 12.56738, country: 'Italy' }, + 'JE': { code: 'JE', lat: 49.214439, lon: -2.13125, country: 'Jersey' }, + 'JM': { code: 'JM', lat: 18.109581, lon: -77.297508, country: 'Jamaica' }, + 'JO': { code: 'JO', lat: 30.585164, lon: 36.238414, country: 'Jordan' }, + 'JP': { code: 'JP', lat: 36.204824, lon: 138.252924, country: 'Japan' }, + 'KE': { code: 'KE', lat: -0.023559, lon: 37.906193, country: 'Kenya' }, + 'KG': { code: 'KG', lat: 41.20438, lon: 74.766098, country: 'Kyrgyzstan' }, + 'KH': { code: 'KH', lat: 12.565679, lon: 104.990963, country: 'Cambodia' }, + 'KI': { code: 'KI', lat: -3.370417, lon: -168.734039, country: 'Kiribati' }, + 'KM': { code: 'KM', lat: -11.875001, lon: 43.872219, country: 'Comoros' }, + 'KN': { code: 'KN', lat: 17.357822, lon: -62.782998, country: 'Saint Kitts and Nevis' }, + 'KP': { code: 'KP', lat: 40.339852, lon: 127.510093, country: 'North Korea' }, + 'KR': { code: 'KR', lat: 35.907757, lon: 127.766922, country: 'South Korea' }, + 'KW': { code: 'KW', lat: 29.31166, lon: 47.481766, country: 'Kuwait' }, + 'KY': { code: 'KY', lat: 19.513469, lon: -80.566956, country: 'Cayman Islands' }, + 'KZ': { code: 'KZ', lat: 48.019573, lon: 66.923684, country: 'Kazakhstan' }, + 'LA': { code: 'LA', lat: 19.85627, lon: 102.495496, country: 'Laos' }, + 'LB': { code: 'LB', lat: 33.854721, lon: 35.862285, country: 'Lebanon' }, + 'LC': { code: 'LC', lat: 13.909444, lon: -60.978893, country: 'Saint Lucia' }, + 'LI': { code: 'LI', lat: 47.166, lon: 9.555373, country: 'Liechtenstein' }, + 'LK': { code: 'LK', lat: 7.873054, lon: 80.771797, country: 'Sri Lanka' }, + 'LR': { code: 'LR', lat: 6.428055, lon: -9.429499, country: 'Liberia' }, + 'LS': { code: 'LS', lat: -29.609988, lon: 28.233608, country: 'Lesotho' }, + 'LT': { code: 'LT', lat: 55.169438, lon: 23.881275, country: 'Lithuania' }, + 'LU': { code: 'LU', lat: 49.815273, lon: 6.129583, country: 'Luxembourg' }, + 'LV': { code: 'LV', lat: 56.879635, lon: 24.603189, country: 'Latvia' }, + 'LY': { code: 'LY', lat: 26.3351, lon: 17.228331, country: 'Libya' }, + 'MA': { code: 'MA', lat: 31.791702, lon: -7.09262, country: 'Morocco' }, + 'MC': { code: 'MC', lat: 43.750298, lon: 7.412841, country: 'Monaco' }, + 'MD': { code: 'MD', lat: 47.411631, lon: 28.369885, country: 'Moldova' }, + 'ME': { code: 'ME', lat: 42.708678, lon: 19.37439, country: 'Montenegro' }, + 'MG': { code: 'MG', lat: -18.766947, lon: 46.869107, country: 'Madagascar' }, + 'MH': { code: 'MH', lat: 7.131474, lon: 171.184478, country: 'Marshall Islands' }, + 'MK': { code: 'MK', lat: 41.608635, lon: 21.745275, country: 'Macedonia [FYROM]' }, + 'ML': { code: 'ML', lat: 17.570692, lon: -3.996166, country: 'Mali' }, + 'MM': { code: 'MM', lat: 21.913965, lon: 95.956223, country: 'Myanmar [Burma]' }, + 'MN': { code: 'MN', lat: 46.862496, lon: 103.846656, country: 'Mongolia' }, + 'MO': { code: 'MO', lat: 22.198745, lon: 113.543873, country: 'Macau' }, + 'MP': { code: 'MP', lat: 17.33083, lon: 145.38469, country: 'Northern Mariana Islands' }, + 'MQ': { code: 'MQ', lat: 14.641528, lon: -61.024174, country: 'Martinique' }, + 'MR': { code: 'MR', lat: 21.00789, lon: -10.940835, country: 'Mauritania' }, + 'MS': { code: 'MS', lat: 16.742498, lon: -62.187366, country: 'Montserrat' }, + 'MT': { code: 'MT', lat: 35.937496, lon: 14.375416, country: 'Malta' }, + 'MU': { code: 'MU', lat: -20.348404, lon: 57.552152, country: 'Mauritius' }, + 'MV': { code: 'MV', lat: 3.202778, lon: 73.22068, country: 'Maldives' }, + 'MW': { code: 'MW', lat: -13.254308, lon: 34.301525, country: 'Malawi' }, + 'MX': { code: 'MX', lat: 23.634501, lon: -102.552784, country: 'Mexico' }, + 'MY': { code: 'MY', lat: 4.210484, lon: 101.975766, country: 'Malaysia' }, + 'MZ': { code: 'MZ', lat: -18.665695, lon: 35.529562, country: 'Mozambique' }, + 'NA': { code: 'NA', lat: -22.95764, lon: 18.49041, country: 'Namibia' }, + 'NC': { code: 'NC', lat: -20.904305, lon: 165.618042, country: 'New Caledonia' }, + 'NE': { code: 'NE', lat: 17.607789, lon: 8.081666, country: 'Niger' }, + 'NF': { code: 'NF', lat: -29.040835, lon: 167.954712, country: 'Norfolk Island' }, + 'NG': { code: 'NG', lat: 9.081999, lon: 8.675277, country: 'Nigeria' }, + 'NI': { code: 'NI', lat: 12.865416, lon: -85.207229, country: 'Nicaragua' }, + 'NL': { code: 'NL', lat: 52.132633, lon: 5.291266, country: 'Netherlands' }, + 'NO': { code: 'NO', lat: 60.472024, lon: 8.468946, country: 'Norway' }, + 'NP': { code: 'NP', lat: 28.394857, lon: 84.124008, country: 'Nepal' }, + 'NR': { code: 'NR', lat: -0.522778, lon: 166.931503, country: 'Nauru' }, + 'NU': { code: 'NU', lat: -19.054445, lon: -169.867233, country: 'Niue' }, + 'NZ': { code: 'NZ', lat: -40.900557, lon: 174.885971, country: 'New Zealand' }, + 'OM': { code: 'OM', lat: 21.512583, lon: 55.923255, country: 'Oman' }, + 'PA': { code: 'PA', lat: 8.537981, lon: -80.782127, country: 'Panama' }, + 'PE': { code: 'PE', lat: -9.189967, lon: -75.015152, country: 'Peru' }, + 'PF': { code: 'PF', lat: -17.679742, lon: -149.406843, country: 'French Polynesia' }, + 'PG': { code: 'PG', lat: -6.314993, lon: 143.95555, country: 'Papua New Guinea' }, + 'PH': { code: 'PH', lat: 12.879721, lon: 121.774017, country: 'Philippines' }, + 'PK': { code: 'PK', lat: 30.375321, lon: 69.345116, country: 'Pakistan' }, + 'PL': { code: 'PL', lat: 51.919438, lon: 19.145136, country: 'Poland' }, + 'PM': { code: 'PM', lat: 46.941936, lon: -56.27111, country: 'Saint Pierre and Miquelon' }, + 'PN': { code: 'PN', lat: -24.703615, lon: -127.439308, country: 'Pitcairn Islands' }, + 'PR': { code: 'PR', lat: 18.220833, lon: -66.590149, country: 'Puerto Rico' }, + 'PS': { code: 'PS', lat: 31.952162, lon: 35.233154, country: 'Palestinian Territories' }, + 'PT': { code: 'PT', lat: 39.399872, lon: -8.224454, country: 'Portugal' }, + 'PW': { code: 'PW', lat: 7.51498, lon: 134.58252, country: 'Palau' }, + 'PY': { code: 'PY', lat: -23.442503, lon: -58.443832, country: 'Paraguay' }, + 'QA': { code: 'QA', lat: 25.354826, lon: 51.183884, country: 'Qatar' }, + 'RE': { code: 'RE', lat: -21.115141, lon: 55.536384, country: 'Réunion' }, + 'RO': { code: 'RO', lat: 45.943161, lon: 24.96676, country: 'Romania' }, + 'RS': { code: 'RS', lat: 44.016521, lon: 21.005859, country: 'Serbia' }, + 'RU': { code: 'RU', lat: 61.52401, lon: 105.318756, country: 'Russia' }, + 'RW': { code: 'RW', lat: -1.940278, lon: 29.873888, country: 'Rwanda' }, + 'SA': { code: 'SA', lat: 23.885942, lon: 45.079162, country: 'Saudi Arabia' }, + 'SB': { code: 'SB', lat: -9.64571, lon: 160.156194, country: 'Solomon Islands' }, + 'SC': { code: 'SC', lat: -4.679574, lon: 55.491977, country: 'Seychelles' }, + 'SD': { code: 'SD', lat: 12.862807, lon: 30.217636, country: 'Sudan' }, + 'SE': { code: 'SE', lat: 60.128161, lon: 18.643501, country: 'Sweden' }, + 'SG': { code: 'SG', lat: 1.352083, lon: 103.819836, country: 'Singapore' }, + 'SH': { code: 'SH', lat: -24.143474, lon: -10.030696, country: 'Saint Helena' }, + 'SI': { code: 'SI', lat: 46.151241, lon: 14.995463, country: 'Slovenia' }, + 'SJ': { code: 'SJ', lat: 77.553604, lon: 23.670272, country: 'Svalbard and Jan Mayen' }, + 'SK': { code: 'SK', lat: 48.669026, lon: 19.699024, country: 'Slovakia' }, + 'SL': { code: 'SL', lat: 8.460555, lon: -11.779889, country: 'Sierra Leone' }, + 'SM': { code: 'SM', lat: 43.94236, lon: 12.457777, country: 'San Marino' }, + 'SN': { code: 'SN', lat: 14.497401, lon: -14.452362, country: 'Senegal' }, + 'SO': { code: 'SO', lat: 5.152149, lon: 46.199616, country: 'Somalia' }, + 'SR': { code: 'SR', lat: 3.919305, lon: -56.027783, country: 'Suriname' }, + 'ST': { code: 'ST', lat: 0.18636, lon: 6.613081, country: 'São Tomé and Príncipe' }, + 'SV': { code: 'SV', lat: 13.794185, lon: -88.89653, country: 'El Salvador' }, + 'SY': { code: 'SY', lat: 34.802075, lon: 38.996815, country: 'Syria' }, + 'SZ': { code: 'SZ', lat: -26.522503, lon: 31.465866, country: 'Swaziland' }, + 'TC': { code: 'TC', lat: 21.694025, lon: -71.797928, country: 'Turks and Caicos Islands' }, + 'TD': { code: 'TD', lat: 15.454166, lon: 18.732207, country: 'Chad' }, + 'TF': { code: 'TF', lat: -49.280366, lon: 69.348557, country: 'French Southern Territories' }, + 'TG': { code: 'TG', lat: 8.619543, lon: 0.824782, country: 'Togo' }, + 'TH': { code: 'TH', lat: 15.870032, lon: 100.992541, country: 'Thailand' }, + 'TJ': { code: 'TJ', lat: 38.861034, lon: 71.276093, country: 'Tajikistan' }, + 'TK': { code: 'TK', lat: -8.967363, lon: -171.855881, country: 'Tokelau' }, + 'TL': { code: 'TL', lat: -8.874217, lon: 125.727539, country: 'Timor-Leste' }, + 'TM': { code: 'TM', lat: 38.969719, lon: 59.556278, country: 'Turkmenistan' }, + 'TN': { code: 'TN', lat: 33.886917, lon: 9.537499, country: 'Tunisia' }, + 'TO': { code: 'TO', lat: -21.178986, lon: -175.198242, country: 'Tonga' }, + 'TR': { code: 'TR', lat: 38.963745, lon: 35.243322, country: 'Turkey' }, + 'TT': { code: 'TT', lat: 10.691803, lon: -61.222503, country: 'Trinidad and Tobago' }, + 'TV': { code: 'TV', lat: -7.109535, lon: 177.64933, country: 'Tuvalu' }, + 'TW': { code: 'TW', lat: 23.69781, lon: 120.960515, country: 'Taiwan' }, + 'TZ': { code: 'TZ', lat: -6.369028, lon: 34.888822, country: 'Tanzania' }, + 'UA': { code: 'UA', lat: 48.379433, lon: 31.16558, country: 'Ukraine' }, + 'UG': { code: 'UG', lat: 1.373333, lon: 32.290275, country: 'Uganda' }, + 'UM': { code: 'UM', lat: 0, lon: 0, country: 'U.S. Minor Outlying Islands' }, + 'US': { code: 'US', lat: 37.09024, lon: -95.712891, country: 'United States' }, + 'UY': { code: 'UY', lat: -32.522779, lon: -55.765835, country: 'Uruguay' }, + 'UZ': { code: 'UZ', lat: 41.377491, lon: 64.585262, country: 'Uzbekistan' }, + 'VA': { code: 'VA', lat: 41.902916, lon: 12.453389, country: 'Vatican City' }, + 'VC': { code: 'VC', lat: 12.984305, lon: -61.287228, country: 'Saint Vincent and the Grenadines' }, + 'VE': { code: 'VE', lat: 6.42375, lon: -66.58973, country: 'Venezuela' }, + 'VG': { code: 'VG', lat: 18.420695, lon: -64.639968, country: 'British Virgin Islands' }, + 'VI': { code: 'VI', lat: 18.335765, lon: -64.896335, country: 'U.S. Virgin Islands' }, + 'VN': { code: 'VN', lat: 14.058324, lon: 108.277199, country: 'Vietnam' }, + 'VU': { code: 'VU', lat: -15.376706, lon: 166.959158, country: 'Vanuatu' }, + 'WF': { code: 'WF', lat: -13.768752, lon: -177.156097, country: 'Wallis and Futuna' }, + 'WS': { code: 'WS', lat: -13.759029, lon: -172.104629, country: 'Samoa' }, + 'XK': { code: 'XK', lat: 42.602636, lon: 20.902977, country: 'Kosovo' }, + 'YE': { code: 'YE', lat: 15.552727, lon: 48.516388, country: 'Yemen' }, + 'YT': { code: 'YT', lat: -12.8275, lon: 45.166244, country: 'Mayotte' }, + 'ZA': { code: 'ZA', lat: -30.559482, lon: 22.937506, country: 'South Africa' }, + 'ZM': { code: 'ZM', lat: -13.133897, lon: 27.849332, country: 'Zambia' }, + 'ZW': { code: 'ZW', lat: -19.015438, lon: 29.154857, country: 'Zimbabwe' }, +}; \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/old/admin.html b/ems-core/web-admin/src/views/admin/old/admin.html new file mode 100644 index 0000000..7d20369 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/old/admin.html @@ -0,0 +1,609 @@ + + +
      +
      + + +
      +
      + + {{ems['_ems-system-info-jvm-uptime']}} + +
      + Loading... +
      + +
      +  hh:mm:ss + + +
      +
      + +
      + {{ems['_ems-system-info-jvm-memory-free'] ?? '-'}} MB + + +
      + +
      + {{ems['_ems-system-info-jvm-memory-max'] ?? '-'}} MB + + +
      + +
      + {{ems['_ems-system-info-jvm-memory-total'] ?? '-'}} MB + + +
      + +
      + + + + +
      +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + + + +
      +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + + + + + + + +
      + +
      + + + + +
      +
      + Some quick example text to build on the card title and make up the bulk of the card's + content. + +
      + + +
      + Some quick example text to build on the card title and make up the bulk of the card's + content. + +
      + + +
      + + + With supporting text below as a natural lead-in to additional content. + + +
      + + +
      + + + Start creating your amazing application! + +
      + +
      + + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      IdClientAddressLocationStatusStatistics
      {{c.id}}{{c.name}}{{c.address}} + {{c.country??'-'}}
      + Lat: {{c.lat??'-'}}
      + Lon: {{c.lon??'-'}} +
      {{c.status??'Unknown'}} +
      +
      + CPU: + + + +
      +
      + Mem: + + + +
      +
      + #Events:
      + {{c.stats.events??'--'}} +
      +
      + Uptime:
      + {{c.stats.uptime ? toIsoFormat(c.stats.uptime,'sec','time') : '--:--:--'}} +
      +
      +
      + + +
      + +
      + +
      + + + +
      + +
      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      IdClientAddressLocationStatusStatistics
      {{c.id}}{{c.name}}{{c.address}} + {{c.country??'-'}}
      + Lat: {{c.lat??'-'}}
      + Lon: {{c.lon??'-'}} +
      {{c.status??'Unknown'}} +
      +
      + CPU: + +
      +
      + Mem: + +
      +
      + #Events:
      + +
      +
      + Uptime:
      + {{c.stats.uptime ? toIsoFormat(c.stats.uptime,'sec','time') : '--:--:--'}} +
      +
      +
      + + +
      + +
      + +
      + +
      + +     + +     + +     + +     + +     + +     +
      +
      +
      + +
      + +
      +
      + + + +
      + +
      + + + +
      + +
      + +
      +
      + + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      + +
      +
      + diff --git a/ems-core/web-admin/src/views/admin/old/admin.js b/ems-core/web-admin/src/views/admin/old/admin.js new file mode 100644 index 0000000..d369de5 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/old/admin.js @@ -0,0 +1,309 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +/* + vue-world-map: + https://www.npmjs.com/package/vue-world-map + https://github.com/Ghrehh/vue-world-map + jquery-ui (for 'sortable' and 'resizable' widgets) + https://www.npmjs.com/package/jquery-ui + https://jqueryui.com/ + Geolocation: + https://stackoverflow.com/questions/391979/how-to-get-clients-ip-address-using-javascript + https://stackoverflow.com/questions/4937517/ip-to-location-using-javascript + https://ipapi.co/ + */ + +import SmallBox from '@/components/smallbox/smallbox.vue' +import InfoBox from '@/components/infobox/infobox.vue' +import Card from '@/components/card/card.vue' + +import VueGauge from 'vue-gauge'; // See https://www.npmjs.com/package/vue-gauge +import ChartJs from '@/components/chartjs/chartjs.vue'; +import WorldMap from '@/components/worldmap/WorldMap.vue'; +import Knob from '@/components/knob/knob.vue'; +import Sparkline from '@/components/sparkline/sparkline.vue'; +import JVectorMap from '@/components/jvectormap/jvectormap.vue'; +//import JQVMap from '@/components/jqvmap/jqvmap.vue'; // Not working; use jvectormap + +import StatusLed from '@/components/status-led/status-led.vue'; + +var $ = require('jquery'); +require('jquery-ui/ui/widgets/resizable.js'); +require('jquery-ui/ui/widgets/sortable.js'); +require('jquery-ui/themes/base/resizable.css'); +require('jquery-ui/themes/base/sortable.css'); + +const EMS_DATA_PREFIX = '_ems'; + +export default { + name: 'Admin Dashboard', + props: { + /*version: String*/ + }, + components: { + SmallBox, InfoBox, Card, + VueGauge, ChartJs, WorldMap, + Knob, Sparkline, JVectorMap, //JQVMap, + StatusLed, + }, + mounted() { + // Make widgets sortable (i.e. movable) + $('section.content div.row').sortable({ + placeholder: 'sort-highlight', + connectWith: 'section.content div.row', + handle: '.card-header, .nav-tabs', + forcePlaceholderSize: true, + zIndex: 999999 + }); + $('.connectedSortable .card-header').css('cursor', 'move'); + + // Make card widgets resizable (not working well with maps) + $('.card').resizable({ + handles: 'all', + }); + }, + + data() { + return { + ems: { }, + clientsData: {}, + clients: [ + {id:'#00000', name:'vm-0000-xxxxx-323', address:'147.102.17.76', loc:'US-west', status:'Up', stats:{cpu:.85,mem:.38,events:345,uptime:12421432}}, + {id:'#00001', name:'vm-1111-yyyyy-323', address:'8.8.8.8', loc:null, status:'Down', stats:'todo'}, + {id:'#00002', name:'vm-2222-zzzzz-323', address:'79.166.188.138', loc:'Germany', stats:'todo'}, + ], + geolocationCache: { + //"147.102.17.76": { + "172.18.0.3": { + //"ip": "147.102.17.76", + "ip": "172.18.0.3", + "version": "IPv4", + "city": "Athens", + "region": "Attica", + "region_code": "I", + "country": "GR", + "country_name": "Greece", + "country_code": "GR", + "country_code_iso3": "GRC", + "country_capital": "Athens", + "country_tld": ".gr", + "continent_code": "EU", + "in_eu": true, + "postal": null, + "latitude": 37.9842, + "longitude": 23.7353, + "timezone": "Europe/Athens", + "utc_offset": "+0300", + "country_calling_code": "+30", + "currency": "EUR", + "currency_name": "Euro", + "languages": "el-GR,en,fr", + "country_area": 131940, + "country_population": 10727668, + "asn": "AS3323", + "org": "National Technical University of Athens" + }, + "8.8.8.8": { + "ip": "8.8.8.8", + "version": "IPv4", + "city": "Mountain View", + "region": "California", + "region_code": "CA", + "country": "US", + "country_name": "United States", + "country_code": "US", + "country_code_iso3": "USA", + "country_capital": "Washington", + "country_tld": ".us", + "continent_code": "NA", + "in_eu": false, + "postal": "Sign up to access", + "latitude": "Sign up to access", + "longitude": "Sign up to access", + "timezone": "America/Los_Angeles", + "utc_offset": "-0700", + "country_calling_code": "+1", + "currency": "USD", + "currency_name": "Dollar", + "languages": "en-US,es-US,haw,fr", + "country_area": 9629091, + "country_population": 327167434, + "message": "Please message us at ipapi.co/trial for full access", + "asn": "AS15169", + "org": "GOOGLE" + }, + "79.166.188.138": { + "ip": "79.166.188.138", + "version": "IPv4", + "city": "Athens", + "region": "Attica", + "region_code": "I", + "country": "GR", + "country_name": "Greece", + "country_code": "GR", + "country_code_iso3": "GRC", + "country_capital": "Athens", + "country_tld": ".gr", + "continent_code": "EU", + "in_eu": true, + "postal": null, + "latitude": 37.9842, + "longitude": 23.7353, + "timezone": "Europe/Athens", + "utc_offset": "+0300", + "country_calling_code": "+30", + "currency": "EUR", + "currency_name": "Euro", + "languages": "el-GR,en,fr", + "country_area": 131940, + "country_population": 10727668, + "asn": "AS3329", + "org": "Vodafone-panafon Hellenic Telecommunications Company SA" + } + }, + clientsPerCountry: { + US: 1, + CA: 7, + GB: 14, + }, + knobs: { + k1:30, k2:70, k3:-80, k4:40, k5:90, k6:50, + k7:30, k8:30, k9:30, k10:30, + k11:80, k12:60, k13:10, k14:100, + } + }; + }, + + + watch: { + ems: function(newVal) { + // Flatten EMS server data + let _flattened_data = {}; + this.flattenData(newVal, EMS_DATA_PREFIX, _flattened_data); + //console.log('Dashboard: FLATTENED_DATA: ', _flattened_data); + Object.assign(newVal, _flattened_data); + + // Convert bytes to MB and timestamps to W3C format + this.prepareData(newVal); + //console.log('Dashboard: FINAL_DATA: ', newVal); + }, + clientsData: function(newVal) { + console.log('>>>>> clientsData: newVal: ', newVal); + + this.clients = []; + for (let k in newVal['client-metrics']) { + if (k.startsWith('#')) { + let v = newVal['client-metrics'][k]; + //console.log(k, '=>', v); + let info = v['client-info']; + let c = { + id: k, + name: '-', + address: info['ip-address'], + loc: '-', + status: 'Up', + stats: { cpu:.85, mem:.38, events:v['count-total-events'], uptime:12421432} + }; + this.clients.push(c); + } + } + + this.addGeolocationInfo(this.clients, this.geolocationCache); + } + }, + + methods: { + flattenData(data, prefix, _flattened_data) { + prefix = prefix.trim(); + if (typeof(data)==='object') { + for (const [key, value] of Object.entries(data)) { + var new_prefix = (prefix!=='') + ? prefix+'-'+key.replace('_','-') + : key.replace('_','-'); + this.flattenData(value, new_prefix, _flattened_data); + } + } else { + _flattened_data[prefix] = ''+data; + } + }, + prepareData(data) { + this.toIsoFormat2(data, '_ems-system-info-jvm-uptime', 'sec', 'time'); + this.toMB(data, '_ems-system-info-jvm-memory-free'); + this.toMB(data, '_ems-system-info-jvm-memory-max'); + this.toMB(data, '_ems-system-info-jvm-memory-total'); + }, + toIsoFormat(data, inUnit, outPart) { + let mult = inUnit==='s' || inUnit==='sec' ? 1000 : 1; + let start = 0; + let len = 100; + if (outPart==='time') { start = 11; len = 8; } + if (outPart==='time+frac') { start = 11; } + if (outPart==='frac' || outPart==='fraction') { start = 19; len = 4; } + if (outPart==='date') { start = 0; len = 10; } + if (outPart==='datetime') { start = 0; len = 19; } + if (outPart==='tz' || outPart==='timezone') { start = 23; len = 1; } + return new Date(data * mult).toISOString().substr(start, len); + }, + toIsoFormat2(data, _key, inUnit, outPart) { + if (data[_key]) + data[_key] = this.toIsoFormat(data[_key], inUnit, outPart); + //console.log(data[_key]); + }, + toMB(data, _key) { + if (data[_key]) + data[_key] = Math.round(data[_key] / 1024 / 1024).toString(); + }, + addGeolocationInfo(dataArray, cache) { + dataArray.forEach(c => { + this.updateGeolocationInfoByIpAddress(c.address, c, cache); + }); + }, + updateGeolocationInfoByIpAddress(ipAddress, obj, cache) { + // get cached info (if available) + if (cache[ipAddress]) { + this.updateGeolocationInfo(obj, cache[ipAddress]); + return; + } + + // call geolocation service + $.getJSON("https://ipapi.co/"+ipAddress+"/json") + .done(function(json) { + console.log('AJAX: done: ', json); + // cache geolocation info + cache[ipAddress] = json; + + this.updateGeolocationInfo(obj, json); + }) + .fail(function(jqxhr, textStatus, error) { + console.log('AJAX: fail: ', jqxhr, textStatus, error); + }) + .always(function(/*jqxhr, textStatus*/) { + //console.log('AJAX: always: ', jqxhr, textStatus); + }); + }, + updateGeolocationInfo(obj, json) { + // check if changed + let emitEvent = true; + /*if (obj.lat && obj.lon && obj.country) { + emitEvent = ! (obj.lat==json.latitude && obj.lon==json.longitude && obj.country==json.country_name); + }*/ + + obj.geo = json; + obj.lat = json.latitude; + obj.lon = json.longitude; + obj.country = json.country_name; + + if (emitEvent) { + //XXX: TODO: Add emit update event in 'updateGeolocationInfoByIpAddress' + //this.$emit('update:clientsValue', dataArray); + } + }, + }, +} diff --git a/ems-core/web-admin/src/views/admin/old/admin.vue b/ems-core/web-admin/src/views/admin/old/admin.vue new file mode 100644 index 0000000..b3532b5 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/old/admin.vue @@ -0,0 +1,11 @@ + + + + diff --git a/ems-core/web-admin/src/views/admin/widgets/cdo-mgnt.vue b/ems-core/web-admin/src/views/admin/widgets/cdo-mgnt.vue new file mode 100644 index 0000000..fb3fa65 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/cdo-mgnt.vue @@ -0,0 +1,456 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/client-commands.vue b/ems-core/web-admin/src/views/admin/widgets/client-commands.vue new file mode 100644 index 0000000..700422b --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/client-commands.vue @@ -0,0 +1,157 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/client-events.vue b/ems-core/web-admin/src/views/admin/widgets/client-events.vue new file mode 100644 index 0000000..d30124c --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/client-events.vue @@ -0,0 +1,392 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/clients-list.vue b/ems-core/web-admin/src/views/admin/widgets/clients-list.vue new file mode 100644 index 0000000..8342378 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/clients-list.vue @@ -0,0 +1,44 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/command-input.vue b/ems-core/web-admin/src/views/admin/widgets/command-input.vue new file mode 100644 index 0000000..fb01274 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/command-input.vue @@ -0,0 +1,38 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/destinations-list.vue b/ems-core/web-admin/src/views/admin/widgets/destinations-list.vue new file mode 100644 index 0000000..34bbfcb --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/destinations-list.vue @@ -0,0 +1,41 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/fileexplorer.vue b/ems-core/web-admin/src/views/admin/widgets/fileexplorer.vue new file mode 100644 index 0000000..e21dcdf --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/fileexplorer.vue @@ -0,0 +1,398 @@ + + + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/img/blank-64.png b/ems-core/web-admin/src/views/admin/widgets/img/blank-64.png new file mode 100644 index 0000000000000000000000000000000000000000..ee12542bb969b3d9b3cd91350b514f6926f1bb7e GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^4j{}3Bp8~6e2Re-OS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>?)FK#IZ0z{p6~z)aWJAjH7Z%EZLV qz+BtFz{qj%DY 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/views/admin/widgets/img/camel-model-80.png b/ems-core/web-admin/src/views/admin/widgets/img/camel-model-80.png new file mode 100644 index 0000000000000000000000000000000000000000..ca34f654461a1233aa6cb1a241813695ed06b2c4 GIT binary patch literal 1227 zcmV;+1T_1JP)#?aS!z>-PE6?D4wc>ZRD@=k@rD&D)UA z-M8TAwcqHN)8EeO@RZQqWxddDz|-3A^P|_}bi>q})Zu@~*kZfSN3h3JwaSCZ+2ix} ze8$$2id3Qi0004WQchCdcYVn`_%@Ghz ze0%>i?~Fc^1%$c7fsFy%1Eixv<^t+q&VXlNBLKdgfDvE*0FI{#Z$4pd{?1-}d*C4Q znj}m{C1eFko`V~7iZFI`GQaAHRPK_4=LBIx*f@;wYX7)NM#|=ZBhoztCgLX?p)vA6 zjy63*Pl$-MYkmDR8+}FXN1Fosgw;sa93F#4*FpkSRjll8Rpnq%7i2tWTH%g6_2JeU z!Hd!kUems~O$BT9+vh7`iVk+prw7715s3!`mmM( zP-QYjg-{s_FA2iaXM|Ko!9|GnKs#+p`Vrp=#Q)p;4}@5yC>9dU2Ygp4;JbZ{#nZ7( zaH9PEyPmI6((q^5{qpvyP!c{?^Bt8(#e{HWTIWc+WhGr&gPZ4#jBFAaM?tz$KHb`6 zz%{i|R5$m9vy4Wl2n*y9@*z(5q--srfD&UX2`fIj=)hSQ+tR~uRIhugor2Iq5tge6 zrAtEdE~15s*=ipOrRycbn}HZX7;St)Wl*#cr>!D<3Y(?AO>1ocr1NGmWc0c-bKzM{ z%nIQO!d4z28+RomdT15kKB|`2hX5E{B7ZHZT|!Z5UrYI}^+3IAs2eEz+j~U`D~2o{ zfxoz09*HkrR(m}oQGTV8C$(;AMnCq&Af~qu6WZjk>f|GY1;4d# z@X(x582xN#I@uw7B&W}pnCC}U^&4afP$U-sZ&;`8Yk040CmTaNa4UcEG5kPH6X1y2 z8rRzLp<2yH2vYB4RYBHu{4c)v;{U=wY1c=Kx4cuO0000bbVXQnWMOn=I%9HWVRU5x zGB7bWEio`HF*H;#H##yjIx{#eFf}?bFj+&GMF0Q*C3HntbYx+4WjbwdWNBu305UK! pH!U$REip7yFgH3fG&(alEig4YFfb?{Ao&0Q002ovPDHLkV1i0rM6Cb- literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/views/admin/widgets/img/cp-model-32.png b/ems-core/web-admin/src/views/admin/widgets/img/cp-model-32.png new file mode 100644 index 0000000000000000000000000000000000000000..7e25d6f7fb06954edeaba0450977391cea537f0a GIT binary patch literal 1691 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 literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/views/admin/widgets/img/unknown-64.png b/ems-core/web-admin/src/views/admin/widgets/img/unknown-64.png new file mode 100644 index 0000000000000000000000000000000000000000..69816d2eabd52eb54b26b55df8bf583cb82a5dfc GIT binary patch literal 1294 zcmZ`(SyYmF9Q}WQ;=Y1X(TG}>xqTrjq9;)iv2n>V$ELAVQp*vwM9RV?GQPJ*x?f_gZ(p(8wQF;QCvC|KL;}!sF3Il*r z0)TNsMOUD!@_>l=-kSzMW1%@w>C_V#dlCWAH2ek#lvUuAA)4*u=Y{?U4WZ$6!Omb% zISBdC+=C8|&Xfkm8YbcI_b3#huai2G)JLq%lbURpf0&l?!?H{RxrBiQ={}61y5<>z zYeVk8yfR!)EGv0~VFr#?XlH#ZBX?WaAi920DSh8+VF{l* zc+x0#qJV7j@_^e?>SW8rsJkb+;*lmVQCD~h4Ovq!s9kbQ4=JqoTI`!gWqmN^cDs6T z^m#(rvck)Giu-)_#0a~y?}00UEXMOfR%-JF2w{tMYEd~#E-pc1DzWrIBmhm_j#7E2 z{;LlWBh+xz4FH54h08bMjx)zBULf=A7rl*FflM?we$Q>$@oF()fn>t_705#go}vBo zmFZPSEqUD_WV3gRc$6){P@ueLA~klq{Sh5O`{nue?vxqlH?DXK{QbS~#CyqnxvoxB zYh3;=L7A4@>!r8D>+TI6_I=}V@mdS>^D94AJYvB4-Q>pdN7w;pMGQY-fz1KE4#|Pj z*s^eE=1k*D$q^}cQnRZDEC#9W*ps;Rv#ye4SZLZM>jl5sqbO=K9{7EBS6b!{1mK6^}B$yLhm>pjdt{?dSc$OWOkk| z9xu9^o;khwd~pm29#+Zi6_E-~yWthRkovJT>oQKL)J93Z%X1JmWMW-lpZnMvt&2B| z7@B8{S^e|WoePOg8+2Y-r%VP_Z$H?X){&)Q2~iol1t@Cc@UzqFOLGHoP(pr_Ds`G# z1B;GIuc1PQ9KC(;A%ktMB?6UFoi8Kt%NO+xh$qann+*_JwJv|Roy>pes0R{fZf_Ez zcBw;{TfUES#H9CEI)7;?-FN6p1HRyS0D~N+vw|6I4UNIjKDm)d{W*7h6N~TGz15hi zMA+8f#MG@agKLre#iDH4)BcEaDTN?*n%|yr`QF*!NaKVr-XA}x1)C-r7+Fl5Wr7{;XhIPTfdrRLI+YR?(DZvW)ZHabw97y5&M z7(ay?*Z3^-5JaXEscWjVW*Z`7i?U%w|*YGnJbtmzq+)wI=SnDIgzzGkoud^{&BS^O$eMjW}F>(`S2X2XEV-L ziYzeV06=TIgyag+9$~z%bKfY+ literal 0 HcmV?d00001 diff --git a/ems-core/web-admin/src/views/admin/widgets/latest-events.vue b/ems-core/web-admin/src/views/admin/widgets/latest-events.vue new file mode 100644 index 0000000..4fc3e33 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/latest-events.vue @@ -0,0 +1,130 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/node-actions-list.vue b/ems-core/web-admin/src/views/admin/widgets/node-actions-list.vue new file mode 100644 index 0000000..a5fb9e9 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/node-actions-list.vue @@ -0,0 +1,60 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/rest-call-forms.js b/ems-core/web-admin/src/views/admin/widgets/rest-call-forms.js new file mode 100644 index 0000000..ec138f8 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/rest-call-forms.js @@ -0,0 +1,137 @@ +/* + * Copyright (C) 2017-2023 Institute of Communication and Computer Systems (imu.iccs.gr) + * + * This Source Code Form is subject to the terms of the Mozilla Public License, v2.0, unless + * Esper library is used, in which case it is subject to the terms of General Public License v2.0. + * If a copy of the MPL was not distributed with this file, you can obtain one at + * https://www.mozilla.org/en-US/MPL/2.0/ + */ + +export const FORM_TYPE_OPTIONS = [ + { + 'id': 'basic-api-group', + 'text': 'Basic API - Model Translation', + 'priority': -1000, + 'options': [ + { 'id': 'new-app-model', 'text': 'Send App. model request', 'url': '/camelModel', 'method': 'POST', 'form': 'app-model-form', 'priority': 1 }, + { 'id': 'new-cp-model', 'text': 'Send CP model request', 'url': '/cpModelJson', 'method': 'POST', 'form': 'cp-model-form', 'priority': 2 }, + { 'id': 'constants-update', 'text': 'Set constants (add name-value pairs in Payload)', 'url': '/cpConstants', 'method': 'POST', 'form': '', 'priority': 3 }, + { 'id': 'get-app-model', 'text': 'Current App. model', 'url': '/translator/currentAppModel', 'method': 'GET', 'form': '', 'priority': 4 }, + { 'id': 'get-cp-model', 'text': 'Current CP model', 'url': '/translator/currentCpModel', 'method': 'GET', 'form': '', 'priority': 5 }, + ] + }, + + { + 'id': 'topology-group', + 'text': 'Topology', + 'priority': 1, + 'options': [ + { 'id': 'new-vm', 'text': 'Register Node', 'url': '/baguette/registerNode', 'method': 'POST', 'form': 'vm-form', 'priority': 1 }, + { 'id': 'vm-list', 'text': 'Node IP addresses', 'url': '/baguette/node/list', 'method': 'GET', 'form': '', 'priority': 2 }, + { 'id': 'vm-reinstall', 'text': 'Reinstall Node', 'url': '/baguette/node/reinstall/{ip-address}', 'method': 'GET', 'form': 'vm-reinstall', 'priority': 3 }, + + { 'id': 'topology-group-sep1', 'text': '-', 'disabled': true, 'priority': 4 }, + + { 'id': 'client-list', 'text': 'Client list', 'url': '/client/list', 'method': 'GET', 'form': '', 'priority': 11 }, + { 'id': 'client-map', 'text': 'Client map', 'url': '/client/list/map', 'method': 'GET', 'form': '', 'priority': 12 }, + { 'id': 'node-info', 'text': 'Node Info by IP address', 'url': '/baguette/getNodeInfoByAddress/{ip-address}', 'method': 'GET', 'form': 'ip-form', 'priority': 13 }, + { 'id': 'node-name', 'text': 'Node Name by IP address', 'url': '/baguette/getNodeNameByAddress/{ip-address}', 'method': 'GET', 'form': 'ip-form', 'priority': 14 }, + ] + }, + + { + 'id': 'credentials-group', + 'text': 'Credentials', + 'priority': 1001, + 'options': [ + { 'id': 'get-cred', 'text': 'EMS server Broker credentials', 'url': '/broker/credentials', 'method': 'GET', 'form': '', 'priority': 1 }, + { 'id': 'get-ref', 'text': 'VM credentials by Ref', 'url': '/baguette/ref/{ref}', 'method': 'GET', 'form': 'ref-form', 'priority': 2 }, + { 'id': 'new-otp', 'text': 'New OTP', 'url': '/ems/otp/new', 'method': 'GET', 'form': '', 'priority': 3 }, + { 'id': 'del-otp', 'text': 'Delete OTP', 'url': '/ems/otp/remove/{otp}', 'method': 'GET', 'form': 'otp-form', 'priority': 4 }, + ] + }, + + { + 'id': 'observability-group', + 'text': 'Observability', + 'priority': 1002, + 'options': [ + { 'id': 'get-all-logger-levels', 'text': 'Get All Loggers', 'url': '/actuator/loggers', 'method': 'GET', 'form': '', 'priority': 1 }, + { 'id': 'get-logger-level', 'text': 'Get Logger Level', 'url': '/actuator/loggers/{logger}', 'method': 'GET', 'form': 'logger-form', 'priority': 2 }, + { 'id': 'set-logger-level', 'text': 'Set Logger Level', 'url': '/actuator/loggers/{logger}', 'method': 'POST', 'form': 'logger-form', 'priority': 3 }, + + { 'id': 'health', 'text': 'Health check', 'url': '/health', 'method': 'GET', 'form': '', 'priority': 4 } + ] + }, + + { + 'id': 'debug-group', + 'text': 'Debug calls', + 'priority': 1003, + 'options': [ + { 'id': 'd-stop-baguette', 'text': 'Stop Baguette Server', 'url': '/baguette/stopServer', 'method': 'GET', 'form': '', 'priority': 1 }, + { 'id': 'd-shutdown', 'text': 'EMS server shutdown', 'url': '/ems/shutdown', 'method': 'GET', 'form': '', 'priority': 2 }, + { 'id': 'd-exit', 'text': 'EMS server shutdown and Exit', 'url': '/ems/exit', 'method': 'GET', 'form': '', 'priority': 3 }, + { 'id': 'd-restart', 'text': 'EMS server shutdown and Restart', 'url': '/ems/exit/99', 'method': 'GET', 'form': '', 'priority': 4 } + ] + } + ]; + +export const FORM_SPECS = { + '': { 'fields': [] }, + 'app-model-form': { + 'fields': [ + { 'name': 'applicationId', 'text': 'App. model path' }, + { 'name': 'notificationURI', 'text': 'Notification URI' }, + { 'name': 'watermark.user', 'text': '-- User', 'defaultValue': function(_this) { return ('authUsername' in _this) ? _this.authUsername : ('username' in _this) ? _this.username : 'unknown'; } }, + { 'name': 'watermark.system', 'text': '-- System', 'defaultValue': 'Ems-Web-Admin' }, + { 'name': 'watermark.uuid', 'text': '-- UUID', 'defaultValue': function(_this) { return _this.create_UUID(); } }, + { 'name': 'watermark.date', 'text': '-- Date', 'defaultValue': function() { return new Date().getTime(); } }, + ], + }, + 'cp-model-form': { + 'fields': [ + { 'name': 'cp-model-id', 'text': 'CP model path' }, + ] + }, + 'vm-form': { + 'fields': [ + { 'name': 'id', 'text': 'VM Id' }, + { 'name': 'name', 'text': 'VM Name' }, + { 'name': 'operatingSystem', 'text': 'VM OS', 'defaultValue': 'UBUNTU' }, + { 'name': 'type', 'text': 'VM type', 'defaultValue': 'VM' }, + { 'name': 'provider', 'text': 'VM provider' }, + { 'name': 'address', 'text': 'IP address' }, + { 'name': 'ssh.port', 'text': 'SSH port', 'defaultValue': '22' }, + { 'name': 'ssh.username', 'text': 'SSH username' }, + { 'name': 'ssh.password', 'text': 'SSH password', 'type': 'password' }, + { 'name': 'ssh.key', 'text': 'SSH key', 'type': 'password' }, + ] + }, + 'vm-reinstall': { + 'fields': [ + { 'name': 'ip-address', 'text': 'IP address' }, + ] + }, + 'logger-form': { + 'fields': [ + { 'name': 'logger', 'text': 'Logger name' }, + { 'name': 'configuredLevel', 'text': 'New Level' }, + ] + }, + 'ref-form': { + 'fields': [ + { 'name': 'ref', 'text': 'VM reference' }, + ] + }, + 'ip-form': { + 'fields': [ + { 'name': 'ip-address', 'text': 'IP Address' }, + ] + }, + 'otp-form': { + 'fields': [ + { 'name': 'otp', 'text': 'OTP' }, + ] + }, + }; diff --git a/ems-core/web-admin/src/views/admin/widgets/rest-call.vue b/ems-core/web-admin/src/views/admin/widgets/rest-call.vue new file mode 100644 index 0000000..79625f7 --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/rest-call.vue @@ -0,0 +1,444 @@ + + + + \ No newline at end of file diff --git a/ems-core/web-admin/src/views/admin/widgets/textarea-dnd.vue b/ems-core/web-admin/src/views/admin/widgets/textarea-dnd.vue new file mode 100644 index 0000000..eda3b4b --- /dev/null +++ b/ems-core/web-admin/src/views/admin/widgets/textarea-dnd.vue @@ -0,0 +1,61 @@ + +

      tY=c2ToIyTqNE2AIy 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 DxFaa~*=;vJyK; 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𝔊)Mj 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�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