Prozessabweichungen im industriellen Kontext verstehen

Prozessabweichungen sind Abweichungen von den etablierten Standardbetriebsbedingungen, die zu Qualitätsmängeln, Sicherheitsvorfällen oder Effizienzverlusten führen können. Diese Abweichungen manifestieren sich in vielen Formen: Temperaturspitzen, Druckabfälle, Fluktuationen der Durchflussmenge, Zusammensetzungsschwankungen oder zeitliche Unstimmigkeiten. In Branchen wie der chemischen Verarbeitung, der Halbleiterherstellung, der pharmazeutischen Herstellung und der Öl- und Gasraffination können selbst geringfügige Abweichungen zu katastrophalen Ausfällen oder signifikanten Produktverlusten führen. Herkömmliche Prozesssteuerung beruht auf statistischen Prozesssteuerungsdiagrammen, Alarmschwellen und manuellen Bedienereingriffen, aber diese Methoden erkennen Abweichungen oft erst, nachdem sie bereits Schäden verursacht haben. Die reaktive Natur der konventionellen Überwachung bedeutet, dass der Prozess bis zum Erkennen eines Trends bereits außerhalb der Spezifikation liegt, was zu Ausschuss, Nacharbeit oder unsicheren Bedingungen führen kann. Da industrielle Systeme instrumentierter und datenreicher werden, bietet maschinelles Lernen einen komplementären Ansatz, der das Paradigma von korrigierendem zu prädiktivem Prozessmanagement verschiebt.

Die Rolle des maschinellen Lernens bei der Vorhersage von Prozessanomalien

Machine-Learning-Algorithmen zeichnen sich durch die Identifizierung versteckter Muster in komplexen, hochdimensionalen Datensätzen aus. Bei Anwendung auf Prozessdatenströme können sie den normalen Betriebsbereich lernen und subtile Vorläufer von Abweichungen erkennen, lange bevor herkömmliche Schwellenwerte ausgelöst werden. Im Gegensatz zu regelbasierten Systemen, die auf statischen Grenzen beruhen, passen sich maschinelle Lernmodelle an sich ändernde Prozessbedingungen, saisonale Schwankungen und Gerätedegradation an und liefern dynamische und kontextbewusste Vorhersagen. Die für die Prozessabweichungsvorhersage verwendeten zentralen maschinellen Lerntechniken lassen sich in drei Hauptkategorien einteilen: überwachtes Lernen für die Klassifizierung und Regression, unüberwachtes Lernen für die Erkennung von Anomalien und Verstärkungslernen für die adaptive Steuerung.

Beaufsichtigte Lernansätze

Überwachtes Lernen erfordert gekennzeichnete historische Daten, bei denen Abweichungen aufgezeichnet wurden. Algorithmen wie Gradientenverstärkungsmaschinen, zufällige Wälder und Unterstützungsvektormaschinen können trainiert werden, um zu klassifizieren, ob ein Prozesszustand normal oder abnormal ist, basierend auf Eingabemerkmalen wie Temperatur, Druck und Fluss. Diese Modelle geben eine Wahrscheinlichkeit oder eine binäre Entscheidung aus. Für Regressionsaufgaben können sie den genauen Wert einer Variablen vorhersagen, die eine Abweichung anzeigen würde, wie die erwartete Temperatur beim nächsten Messintervall. Deep-Learning-Varianten wie mehrschichtige Perzeptrone und lange Kurzzeitspeichernetzwerke haben eine starke Leistung bei Zeitreihendaten gezeigt, weil sie zeitliche Abhängigkeiten und nichtlineare Beziehungen erfassen können, die herkömmliche Modelle vermissen.

Unüberwachte Anomalieerkennung

Unüberwachte Verfahren werden bevorzugt, wenn gekennzeichnete Abweichungsdaten knapp sind oder wenn neue, nicht sichtbare Abweichungen auftreten können. Techniken wie Isolationswälder, Einklassen-Unterstützungsvektormaschinen und Autoencoder lernen die Verteilung normaler Prozessdaten und deutlich abweichender Markierungspunkte. Beispielsweise wird ein Autoencoder, der auf normale Sensorwerte trainiert ist, Eingangsdaten mit geringem Fehler rekonstruieren; weist ein neuer Messwert einen hohen Rekonstruktionsfehler auf, deutet dies auf eine Anomalie hin. Diese Modelle sind besonders effektiv für Frühwarnsysteme, da sie neuartige Prozessmuster ohne vorherige Kenntnis des Fehlers erkennen können.

Ensemble und Hybridmodelle

Viele Industrieexperten kombinieren mehrere Algorithmen zu Ensemblemodellen, um die Robustheit zu verbessern. Beispielsweise könnte ein Hybridsystem einen zufälligen Wald für die Rangfolge von Merkmalsbedeutungen, einen LSTM für Zeitreihenvorhersagen und einen Clustering-Algorithmus zur Identifizierung von Betriebsregimen verwenden. Die Vorhersagen aus jedem Modell werden durch Abstimmung oder gewichtete Mittelung zusammengefasst, um einen endgültigen Alarm zu erzeugen. Dieser Ansatz reduziert Fehlalarme und verbessert die Gesamtgenauigkeit, so dass es sich für den Echtzeiteinsatz in Umgebungen mit hohem Einsatz wie Kernkraftwerken oder kontinuierlichen chemischen Reaktoren eignet.

Datenerfassung und -vorbereitung: Die Grundlage für prädiktive Genauigkeit

Der Erfolg eines jeden Machine-Learning-Projekts hängt von der Datenqualität ab. Für die Vorhersage von Prozessabweichungen stammen Daten von programmierbaren Logikreglern, verteilten Steuerungssystemen und Internet-of-Things-Sensoren, die Variablen wie Temperatur, Druck, Durchflussrate, Vibration, pH und Viskosität messen. Industrielle Rohdaten sind jedoch bekanntermaßen verrauscht, enthalten fehlende Werte, driften im Laufe der Zeit aufgrund von Sensorkalibrierungsdrift und umfassen Ausreißer von transienten Ereignissen. Eine strenge Vorverarbeitung ist unerlässlich, bevor Daten in Modelle eingespeist werden.

  • Datenreinigung: Entfernen von Sensorspitzen und Zurechnen von fehlenden Werten mit Interpolations- oder Zeitreihen-spezifischen Methoden wie Vorwärtsfüllung.
  • Normalisierung und Skalierung: Standardisierung von Merkmalen auf eine gemeinsame Skala (z. B. Nullmittelwert, Einheitsvarianz), so dass Algorithmen nicht zu Variablen mit größeren Größen verzerrt werden.
  • Feature Engineering: Erstellen abgeleiteter Merkmale wie rollende Durchschnitte, Änderungsraten, Fouriertransformationen für periodische Muster und verzögerte Werte, um die zeitliche Dynamik zu erfassen.
  • Dimensionalitätsreduktion: Mit Hauptkomponentenanalyse oder t-verteilter stochastischer Nachbareinbettung, um die Anzahl der Eingabedimensionen zu reduzieren und gleichzeitig die Varianz zu erhalten, was Modellen hilft, schneller zu trainieren und Überanpassungen zu vermeiden.
  • Labeling for Supervised Learning: Zusammenarbeit mit Prozessingenieuren zur Kommentierung historischer Daten mit bekannten Abweichungsereignissen, einschließlich Startzeit, Dauer und Ursache. Dieser Kennzeichnungsaufwand ist oft der zeitaufwendigste, aber kritischste Schritt für den Aufbau zuverlässiger Klassifikatoren.

Streaming von Daten und Echtzeit-Pipelines

Für die Online-Vorhersage müssen Daten in nahezu Echtzeit aufgenommen und vorverarbeitet werden. Moderne Architekturen verwenden Nachrichtenbroker wie Apache Kafka oder MQTT, um Daten in eine Verarbeitungsmaschine zu streamen (z. B. Apache Flink, Spark Streaming), die die gleichen Vorverarbeitungstransformationen anwendet, die während des Trainings verwendet werden. Die vorverarbeiteten Daten werden dann in ein trainiertes Modell eingespeist, das eine Vorhersage innerhalb von Millisekunden ausgibt. Diese Latenz ist entscheidend für Prozesse mit schneller Dynamik, wie z. B. Hochgeschwindigkeits-Rohrdruck oder pharmazeutische Tablettenkompression, bei denen Abweichungen innerhalb von Sekunden auftreten können.

Predictive Modeling: Von der historischen Ausbildung bis zum operativen Einsatz

Die Erstellung eines prädiktiven Modells für Prozessabweichungen folgt der Standard-Pipeline für maschinelles Lernen: Datenaufteilung, Training, Validierung, Testen und Bereitstellung. Da industrielle Zeitreihendaten jedoch nicht stationär und autokorreliert sein können, gelten besondere Überlegungen. Zum Beispiel ist die zufällige Shuffle-Kreuzvalidierung ungeeignet, da Datenpunkte zeitlich abhängig sind. Stattdessen wird eine Zeitreihen-Kreuzvalidierung oder Walk-Forward-Validierung verwendet, bei der Modelle auf vergangene Daten trainiert und auf zukünftige Daten getestet werden, die während des Trainings nicht gesehen wurden. Dies simuliert das reale Szenario, in dem das Modell auf unsichtbare zukünftige Bedingungen verallgemeinern muss.

Modellauswahl und Hyperparameter-Tuning

Die Wahl des Algorithmus hängt von den spezifischen Prozesseigenschaften ab. Für Prozesse mit einfachen linearen Beziehungen und wenigen Variablen kann eine logistische Regressions- oder lineare Unterstützungsvektormaschine ausreichen. Für komplexe, stark nichtlineare Systeme mit Dutzenden miteinander verbundener Sensoren ist eine Gradientenverstärkung (XGBoost, LightGBM) oder Deep Learning (LSTMs, Transformatoren) besser geeignet. Hyperparameteroptimierung mit Bayes-Suche oder Rastersuche wird durchgeführt, um Metriken wie die Fläche unter der Empfänger-Betriebskennlinie oder den F1-Score zu maximieren und gleichzeitig falsch positive Werte zu minimieren, die Störsignale verursachen könnten. Sobald das optimale Modell identifiziert ist, wird es auf die gesamten historischen Daten umgeschult und für den Einsatz gespeichert.

Einsatz und kontinuierliche Überwachung

Nach dem Einsatz läuft das Modell kontinuierlich und bewertet jede neue Beobachtung. Viele Organisationen implementieren ein Champion-Herausforderer-Framework: Das leistungsstärkste Modell (Champion) dient Vorhersagen, während alternative Modelle (Herausforderer) regelmäßig anhand aktueller Daten ausgewertet werden. Wenn ein Herausforderer überlegene Leistung zeigt, ersetzt er den Champion. Zusätzlich werden die Leistungsmetriken des Modells im Laufe der Zeit auf Verschlechterung aufgrund von Konzeptdrift (Änderung der Prozessbedingungen) oder Datendrift (Änderungen der Sensorverteilungen) verfolgt. Wenn eine Drift erkannt wird, wird das Modell mit neuen Daten umgeschult, um die prädiktive Genauigkeit zu gewährleisten.

Mitigation Strategies Ermöglicht durch Predictive Insights

Wenn ein Modell eine Prozessabweichung mit hoher Sicherheit vorhersagt, können mehrere Minderungsmaßnahmen automatisch oder halbautomatisch ausgelöst werden. Die Wahl der Strategie hängt von der Kritikalität des Prozesses, der Vorlaufzeit der Vorhersage und der Verfügbarkeit von Regelaktoren ab.

Vorausschauende Wartungsplanung

Wenn das Modell erkennt, dass ein Gerät (z. B. eine Pumpe, ein Ventil oder ein Kompressor) in Richtung Ausfall driftet, kann die Wartung während einer geplanten Ausfallzeit geplant werden, anstatt einen ungeplanten Ausfall zu ermöglichen. Beispielsweise könnte ein prädiktives Modell für Lagerschwingungsdaten einen Ausfall 48 Stunden im Voraus vorhersagen, wodurch dem Wartungsteam Zeit für die Beschaffung von Ersatzteilen und die Planung des Eingriffs gegeben wird. Dies reduziert die Kosten für Notreparaturen und vermeidet Produktionsstopps.

Anpassung der dynamischen Prozessparameter

Bei kontinuierlichen Prozessen wie Destillationskolonnen oder Extrusionslinien sind viele Variablen voneinander abhängig. Eine Vorhersage einer bevorstehenden Temperaturexkursion kann durch eine Anpassung des Kühlmittelflusses oder eine Verringerung der Zuführrate entgegengewirkt werden. Diese Anpassungen können durch eine modellprädiktive Steuerung (MPC) durchgeführt werden, die die maschinelle Lernleistung als zusätzliche Einschränkung enthält. Der MPC-Algorithmus löst ein Optimierungsproblem bei jedem Zeitschritt, um den Prozess innerhalb der Grenzen zu halten und gleichzeitig den Durchsatz oder die Qualität zu maximieren. Durch die Integration der Abweichungsvorhersage kann der MPC zukünftige Verstöße antizipieren und früher handeln.

Automatisiertes Shutdown und Safe-State Transition

Bei Prozessen mit hohem Risiko, wie etwa bei Prozessen mit brennbaren Chemikalien oder hohen Drücken, kann die Vorhersage einer starken Abweichung einen automatisierten Übergang im sicheren Zustand rechtfertigen. Wenn beispielsweise ein maschinelles Lernmodell einen bevorstehenden Reaktorausfall voraussagt (unkontrollierte exotherme Reaktion), kann das Kontrollsystem automatisch Zufuhrventile schließen, den Druck entlüften und Quenchmaterial injizieren. Dies ist eine Milderung des letzten Auswegs, die einen katastrophalen Ausfall verhindert. Die Entscheidung, solche Maßnahmen zu automatisieren, erfordert eine strenge Validierung und behördliche Genehmigung, kann jedoch Leben und Vermögenswerte retten.

Integration mit Automatisierungs- und Echtzeit-Response-Systemen

Um die Vorteile des maschinellen Lernens für die Prozesssteuerung voll zu nutzen, ist eine nahtlose Integration in die bestehende Automatisierungsinfrastruktur erforderlich, einschließlich programmierbarer Logiksteuerungen, verteilter Steuerungssysteme und Überwachungssteuerungs- und Datenerfassungsplattformen, die je nach Latenzanforderungen und Datenvolumen typischerweise am Edge oder in der Cloud erfolgt.

Edge Computing für Low-Latency Responses

Bei Prozessen mit Subsekunden-Responsefenstern, wie Robotik-Montage oder Spritzgießen, muss das Machine-Learning-Modell auf einem Edge-Gerät in der Nähe der Steuerungen laufen. Edge-basierte Inferenz vermeidet die Kommunikationsverzögerungen, die mit dem Senden von Daten an einen Cloud-Server und dem Warten auf eine Antwort verbunden sind. Leichtgewichtige Modelle wie quantisierte neuronale Netze oder Entscheidungsbäume können auf feldprogrammierbaren Gate-Arrays oder Industrie-PCs eingesetzt werden. Die Ausgabe des Edge-Modells wird über industrielle Kommunikationsprotokolle (z. B. OPC UA, Modbus, Profinet) direkt an die programmierbare Logik-Steuerung gesendet, wodurch sofortige Aktorbefehle ermöglicht werden.

Cloud-basierte Analysen für Historie und Optimierung

Für weniger zeitkritische Prozesse können Vorhersagen in der Cloud gemacht werden, indem Daten aus mehreren Anlagen aggregiert werden. Cloud-basierte Modelle profitieren von größeren Trainingsdatensätzen und einfacheren Updates. Sobald eine Vorhersage generiert wird, kann sie über Dashboards oder mobile Benachrichtigungen an die Betreiber gesendet werden. Darüber hinaus können Cloud-Analysen langfristige Optimierungsempfehlungen erstellen, wie z. B. die Anpassung von Sollwerten für die nächste Produktionsschicht auf der Grundlage der vorhergesagten Rohstoffvariabilität. Viele Unternehmen verwenden eine hybride Architektur: Edge-Modelle behandeln die Erkennung von Anomalien in Echtzeit und sofortige Abschwächung, während Cloud-Modelle Umschulungen, Batch-Vorhersagen und strategische Planung durchführen.

Herausforderungen im praktischen Einsatz

Trotz des Versprechens des maschinellen Lernens steht die reale Bereitstellung für die Vorhersage von Prozessabweichungen vor zahlreichen Hindernissen, die angegangen werden müssen, um einen zuverlässigen, nachhaltigen Betrieb zu erreichen.

Datenqualität und -quantität

Industrielle Datensätze enthalten oft fehlerhafte, inkonsistente oder fehlende Werte aufgrund von Sensorfehlern, Kommunikationsfehlern oder manuellen Protokollierungsfehlern. Darüber hinaus können seltene Ereignisse wie Produktfehler oder Geräteausfälle nur wenige Male pro Jahr auftreten, was zu stark unausgewogenen Datensätzen führt. Techniken wie Überabtastung von synthetischen Minderheiten und kostensensibles Lernen können helfen, aber sie können grundsätzlich schlechte Daten nicht kompensieren. Investitionen in die Sensorwartung und eine strenge Datenverwaltung sind unerlässlich.

Modell Interpretierbarkeit und Vertrauen

Prozessingenieure und Bediener zögern oft, auf "Black Box"-Modellvorhersagen zu reagieren, insbesondere wenn das Modell einen Eingriff vorschlägt, der ihrer Intuition widerspricht. Erklärbare Methoden der künstlichen Intelligenz, wie SHAP (SHapley Additive exPlanations) und LIME (Local Interpretable Model-agnostic Explanations), können hervorheben, welche Eingabemerkmale am meisten zu einer gegebenen Vorhersage beigetragen haben. Zum Beispiel könnten SHAP-Werte zeigen, dass eine vorhergesagte Temperaturexkursion durch eine kürzliche Erhöhung der Pumpendrehzahl ausgelöst wird. Diese Erklärung zusammen mit der Warnung erhöht das Vertrauen und die Akzeptanz des Bedieners.

Konzept Drift und Continuous Learning

Prozesse ändern sich im Laufe der Zeit durch Katalysatordeaktivierung, Rohstoffaustausch, saisonale Umgebungsbedingungen oder Verschleiß von Geräten. Ein auf Daten des letzten Jahres trainiertes Modell kann obsolet werden. Die Überwachung der Drift erfordert automatisierte Erkennungsmethoden (z. B. Page-Hinkley-Test, Kolmogorov-Smirnov-Test) und eine Umschulungspipeline, die mit Streaming-Daten umgehen kann. Kontinuierliches Lernen birgt das Risiko einer Modellinstabilität, wenn neue Daten vorübergehende Anomalien enthalten, so dass vor der Aufnahme neuer Trainingsproben sorgfältige Qualitätskontrollen durchgeführt werden müssen.

Cybersecurity und Privacy

Die Integration von maschinellem Lernen in Steuerungssysteme macht neue Angriffsflächen sichtbar. Kontradiktorische Eingaben könnten so gestaltet werden, dass das Modell eine Abweichung auslässt oder einen Fehlalarm auslöst. Sichere Methoden zur Modellbereitstellung, wie z. B. die Validierung der Eingabe, die Verschlüsselung von Modelldateien und die Isolierung des Vorhersagedienstes von direkten Regelkreisen sind notwendig, um die Prozessintegrität zu gewährleisten. Darüber hinaus können Datenschutzbestimmungen die gemeinsame Nutzung von Prozessdaten zwischen Anlagen oder mit Cloud-Anbietern einschränken.

Future Directions: Die nächste Generation intelligenter Prozesssteuerung

Das Gebiet des maschinellen Lernens für das Management von Prozessabweichungen entwickelt sich rasant weiter. Mehrere neue Trends versprechen, die aktuellen Einschränkungen zu beseitigen und neue Fähigkeiten freizusetzen.

Federated Learning für Cross-Plant Collaboration

Föderated Learning ermöglicht es mehreren Anlagen, gemeinsam ein gemeinsames Modell zu trainieren, ohne Rohdaten an einen zentralen Server zu übertragen. Jede Anlage trainiert das Modell lokal auf ihren eigenen Daten, und es werden nur Modellaktualisierungen (Gradienten) aggregiert. Dies bewahrt proprietäre Informationen und reduziert die Datenübertragungskosten. Beispielsweise könnte ein Konsortium von Chemieunternehmen gemeinsam ein Modell trainieren, um Polymerisationsinstabilität zu erkennen und gleichzeitig ihre Prozessrezepturen vertraulich zu behandeln.

Reinforcement Learning für optimale Steuerung

Reinforcement Learning (RL) lernt direkt Kontrollrichtlinien, die Abweichungen minimieren und Belohnungen maximieren. Ein RL-Agent interagiert mit einem simulierten oder realen Prozess, indem er Sollwerte anpasst, um den Prozess innerhalb der Spezifikation zu halten. Der Agent lernt aus Versuch und Irrtum und entdeckt Strategien, die menschliche Experten übersehen könnten. Pilotstudien in der Halbleiterherstellung und HVAC-Systemen haben gezeigt, dass tiefe RL traditionelle PID- und MPC-Controller in Bezug auf Energieeffizienz und Ertrag übertreffen können. RL erfordert jedoch eine umfangreiche Simulation für ein sicheres Training und der Einsatz eines untrainierten RL-Agenten bei Live-Prozessen ist riskant.

Erklärbare KI und Human-in-the-Loop-Systeme

Künftige Systeme werden automatisierte Vorhersagen mit der Zusammenarbeit der Bediener kombinieren. Anstatt automatische Aktionen auszulösen, könnte das maschinelle Lernmodell eine Rangliste der wahrscheinlichen Ursachen und empfohlenen Interventionen darstellen, die es dem Bediener ermöglichen, zu entscheiden. Dieser Human-in-the-Loop-Ansatz nutzt die Stärken sowohl des Modells (Mustererkennung) als auch des Menschen (kontextuelles Verständnis und Urteilsvermögen). Fortschritte in der Verarbeitung natürlicher Sprache werden es dem Modell ermöglichen, im Klartext englische Erklärungen zu seinen Überlegungen zu erstellen, was die Vertrauenslücke weiter überbrückt.

Integration mit Digital Twins

Digitale Zwillinge – virtuelle Nachbildungen physikalischer Prozesse – stellen eine Sandbox zum Testen von prädiktiven Modellen und Minderungsstrategien vor dem Einsatz bereit. Ein digitaler Zwilling kann die Wirkung einer vorhergesagten Abweichung und das Ansprechen des Steuerungssystems simulieren, so dass Ingenieure Parameter offline optimieren können. Nach der Validierung können Modell und Minderungslogik zuverlässig an die physische Anlage übertragen werden. Die Synchronisierung des digitalen Zwillings mit Echtzeit-Sensordaten ermöglicht auch eine Was-wäre-Wenn-Analyse in Echtzeit für die Notfallplanung.

Real-World-Anwendungen und Fallstudien

Der Industriesektor hat bereits einen signifikanten Wert aus der auf maschinellem Lernen basierenden Abweichungsvorhersage gezeigt. In einer petrochemischen Raffinerie prognostizierte ein zufälliges Waldmodell, das auf 200 Sensorvariablen trainiert wurde, Ereignisse zur Katalysatordeaktivierung, die 12 Stunden im Voraus vorhergesagt wurden, so dass die Bediener die Qualität des Katalysators zuschneiden und die Lebensdauer des Katalysators um 15% verlängern konnten. Eine Automobilmontageanlage verwendete ein LSTM-Netzwerk, um Abweichungen der Schweißqualität von den Strom- und Spannungssignaturen von Widerstandspunktschweißpistolen vorherzusagen, wodurch die Nacharbeitsraten um 40% reduziert wurden. In der Pharmaindustrie verhinderte ein neuronales Netzwerk, das mit einem verteilten Kontrollsystem integriert war, Out-of-Spezifikationschargen eines biologischen Medikaments, indem Konzentrationsdriften im Bioreaktor vorhergesagt wurden, was Millionen von Dollar pro Kampagne einspart. Diese Beispiele zeigen, dass die Technologie nicht nur theoretisch ist - sie liefert heute messbare Betriebsverbesserungen.

Machine-Learning-Algorithmen sind keine Wunderwaffe, aber wenn sie mit großer Aufmerksamkeit auf Datenqualität, Modellinterpretabilität und Integration in die Automatisierung eingesetzt werden, bieten sie ein leistungsstarkes Toolkit zur Vorhersage und Minderung von Prozessabweichungen. Da die Hardwarekosten sinken und Software-Tools ausgereift sind, sinkt die Eintrittsbarriere, was diese Techniken für mittelständische Hersteller sowie globale Unternehmen zugänglich macht. Der Weg nach vorne beinhaltet eine kontinuierliche Zusammenarbeit zwischen Datenwissenschaftlern und Prozessingenieuren, mit einem gemeinsamen Engagement für den Aufbau robuster, vertrauenswürdiger Systeme, die Sicherheit, Qualität und Effizienz verbessern.