From a8685b10bed2ea6b014defbddb0dcf35f92ee716 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Wed, 4 Jul 2018 11:48:27 +0100 Subject: [PATCH 001/162] Change some settings to be settable per mesh rather than per extruder. # Conflicts: # resources/definitions/fdmprinter.def.json --- resources/definitions/fdmprinter.def.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b458316686..1b8f333509 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1287,8 +1287,8 @@ "default_value": 0, "type": "float", "enabled": "travel_compensate_overlapping_walls_0_enabled or travel_compensate_overlapping_walls_x_enabled", - "settable_per_mesh": false, - "settable_per_extruder": true + "settable_per_mesh": true, + "settable_per_extruder": false }, "wall_min_flow_retract": { @@ -1297,8 +1297,8 @@ "type": "bool", "default_value": false, "enabled": "(travel_compensate_overlapping_walls_0_enabled or travel_compensate_overlapping_walls_x_enabled) and wall_min_flow > 0", - "settable_per_mesh": false, - "settable_per_extruder": true + "settable_per_mesh": true, + "settable_per_extruder": false }, "fill_perimeter_gaps": { @@ -6464,8 +6464,8 @@ "minimum_value": "0", "default_value": 5, "enabled": "bridge_settings_enabled", - "settable_per_mesh": false, - "settable_per_extruder": true + "settable_per_mesh": true, + "settable_per_extruder": false }, "bridge_skin_support_threshold": { @@ -6501,7 +6501,7 @@ "minimum_value": "0", "maximum_value": "500", "enabled": "bridge_settings_enabled", - "settable_per_mesh": false + "settable_per_mesh": true }, "bridge_wall_speed": { From 404551e30a25109fc84e6b9f2d37cbf464f1ccd7 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Wed, 4 Jul 2018 11:49:08 +0100 Subject: [PATCH 002/162] Remove bridge_wall_max_overhang - no longer required with new overhang settings. # Conflicts: # resources/definitions/fdmprinter.def.json --- resources/definitions/fdmprinter.def.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1b8f333509..be99b2fd39 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6479,18 +6479,6 @@ "enabled": "bridge_settings_enabled", "settable_per_mesh": true }, - "bridge_wall_max_overhang": - { - "label": "Bridge Wall Max Overhang", - "description": "The maximum allowed width of the region of air below a wall line before the wall is printed using bridge settings. Expressed as a percentage of the wall line width. When the air gap is wider than this, the wall line is printed using the bridge settings. Otherwise, the wall line is printed using the normal settings. The lower the value, the more likely it is that overhung wall lines will be printed using bridge settings.", - "unit": "%", - "default_value": 100, - "type": "float", - "minimum_value": "0", - "maximum_value": "100", - "enabled": "bridge_settings_enabled", - "settable_per_mesh": true - }, "bridge_wall_coast": { "label": "Bridge Wall Coasting", From 41900e33b82cc21036c40a9cc788374cfbe37d7f Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Wed, 4 Jul 2018 11:49:53 +0100 Subject: [PATCH 003/162] Add wall_overhang_angle and wall_overhang_speed_factor settings. # Conflicts: # resources/definitions/fdmprinter.def.json --- resources/definitions/fdmprinter.def.json | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index be99b2fd39..7dc80fa030 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6445,6 +6445,30 @@ "settable_per_extruder": false, "settable_per_meshgroup": false }, + "wall_overhang_angle": + { + "label": "Overhanging Wall Angle", + "description": "Walls that overhang more than this angle will be printed using overhanging wall settings.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "minimum_value_warning": "2", + "maximum_value": "80", + "default_value": 40, + "settable_per_mesh": true + }, + "wall_overhang_speed_factor": + { + "label": "Overhanging Wall Speed", + "description": "Overhanging walls will be printed at this percentage of their normal print speed.", + "unit": "%", + "type": "float", + "default_value": 50, + "minimum_value": "10", + "minimum_value_warning": "25", + "maximum_value": "100", + "settable_per_mesh": true + }, "bridge_settings_enabled": { "label": "Enable Bridge Settings", From 5f23bcf8e90cbf4ab6e8816edac7de93907421aa Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Tue, 19 Jun 2018 15:15:50 +0100 Subject: [PATCH 004/162] Allow wall_overhang_angle to be 90 and add blurb that describes how this disables overhang processing. --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 7dc80fa030..2eb823d8d0 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6448,12 +6448,12 @@ "wall_overhang_angle": { "label": "Overhanging Wall Angle", - "description": "Walls that overhang more than this angle will be printed using overhanging wall settings.", + "description": "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging.", "unit": "°", "type": "float", "minimum_value": "0", "minimum_value_warning": "2", - "maximum_value": "80", + "maximum_value": "90", "default_value": 40, "settable_per_mesh": true }, From 9186dc2c89492b727f86760069c02806d5b42b44 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Tue, 19 Jun 2018 22:08:30 +0100 Subject: [PATCH 005/162] Default value for wall_overhang_angle is now 90 so overhang detection is disabled by default. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 2eb823d8d0..5720b8cadb 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6454,7 +6454,7 @@ "minimum_value": "0", "minimum_value_warning": "2", "maximum_value": "90", - "default_value": 40, + "default_value": 90, "settable_per_mesh": true }, "wall_overhang_speed_factor": From 9e0b79469b814242679feab9b3be0c4b6e9648ae Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Wed, 20 Jun 2018 09:49:40 +0100 Subject: [PATCH 006/162] Set default value of wall_overhang_speed_factor to 100, i.e. print overhang at the normal speed. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 5720b8cadb..7d62ef4253 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6463,7 +6463,7 @@ "description": "Overhanging walls will be printed at this percentage of their normal print speed.", "unit": "%", "type": "float", - "default_value": 50, + "default_value": 100, "minimum_value": "10", "minimum_value_warning": "25", "maximum_value": "100", From a7449ade87227584e8b848f0621e5982c7559cbe Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 19 Jul 2018 11:42:42 +0200 Subject: [PATCH 007/162] When the number of layers is less than 10, the width of the TextField that shows the layer number in the LayerView is too small, so this commit adjusts the size. --- plugins/SimulationView/SimulationSliderLabel.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/SimulationView/SimulationSliderLabel.qml b/plugins/SimulationView/SimulationSliderLabel.qml index 8615a382da..cdefd75f2b 100644 --- a/plugins/SimulationView/SimulationSliderLabel.qml +++ b/plugins/SimulationView/SimulationSliderLabel.qml @@ -53,7 +53,7 @@ UM.PointingRectangle { verticalCenter: parent.verticalCenter } - width: maximumValue.toString().length * 12 * screenScaleFactor + width: (maximumValue.toString().length + 1) * 8 * screenScaleFactor text: sliderLabelRoot.value + startFrom // the current handle value, add 1 because layers is an array horizontalAlignment: TextInput.AlignRight From da23eff2a657377575c15c375ebffa0c0e6d6415 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 9 Aug 2018 13:28:08 +0200 Subject: [PATCH 008/162] Codestyle changes --- .../UM3NetworkPrinting/ClusterControlItem.qml | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 5cf550955c..3d7b25d59c 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -41,14 +41,18 @@ Component Rectangle { id: printJobArea + border.width: UM.Theme.getSize("default_lining").width border.color: lineColor - anchors.top: activePrintersLabel.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: parent.right - anchors.rightMargin:UM.Theme.getSize("default_margin").width + + anchors + { + top: activePrintersLabel.bottom + margins: UM.Theme.getSize("default_margin").width + left: parent.left + right: parent.right + } + radius: cornerRadius height: childrenRect.height @@ -81,12 +85,14 @@ Component Column { id: printJobColumn - anchors.top: printJobTitleBar.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width + + anchors + { + top: printJobTitleBar.bottom + margins: UM.Theme.getSize("default_margin").height + right: parent.right + left: parent.left + } Item { @@ -99,6 +105,7 @@ Component font: UM.Theme.getFont("very_small") } + Label { text: manager.activePrintJobs.length @@ -106,6 +113,7 @@ Component anchors.right: parent.right } } + Item { width: parent.width @@ -116,6 +124,7 @@ Component text: catalog.i18nc("@label", "Queued") font: UM.Theme.getFont("very_small") } + Label { text: manager.queuedPrintJobs.length @@ -124,6 +133,7 @@ Component } } } + OpenPanelButton { anchors.top: printJobColumn.bottom From 86be07b095929bfd70c1870db96df063e7384c9c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 9 Aug 2018 16:22:35 +0200 Subject: [PATCH 009/162] Refactored the config models so they they function are more stand alone units. The seperation of concern got a bit mixed up, as the printer output model was connecting the signals that the config model needed to function together. With these changes it's now also possible to use the config model as a part of a printjob, since printjobs can also have a configuration --- cura/PrinterOutput/ConfigurationModel.py | 8 ++- .../ExtruderConfigurationModel.py | 35 ++++++---- cura/PrinterOutput/ExtruderOutputModel.py | 65 +++++++++---------- cura/PrinterOutput/PrinterOutputModel.py | 16 +++-- 4 files changed, 67 insertions(+), 57 deletions(-) diff --git a/cura/PrinterOutput/ConfigurationModel.py b/cura/PrinterOutput/ConfigurationModel.py index c03d968b9e..a3d6afd01d 100644 --- a/cura/PrinterOutput/ConfigurationModel.py +++ b/cura/PrinterOutput/ConfigurationModel.py @@ -27,7 +27,13 @@ class ConfigurationModel(QObject): return self._printer_type def setExtruderConfigurations(self, extruder_configurations): - self._extruder_configurations = extruder_configurations + if self._extruder_configurations != extruder_configurations: + self._extruder_configurations = extruder_configurations + + for extruder_configuration in self._extruder_configurations: + extruder_configuration.extruderConfigurationChanged.connect(self.configurationChanged) + + self.configurationChanged.emit() @pyqtProperty("QVariantList", fset = setExtruderConfigurations, notify = configurationChanged) def extruderConfigurations(self): diff --git a/cura/PrinterOutput/ExtruderConfigurationModel.py b/cura/PrinterOutput/ExtruderConfigurationModel.py index bc7f1a7c07..250237403f 100644 --- a/cura/PrinterOutput/ExtruderConfigurationModel.py +++ b/cura/PrinterOutput/ExtruderConfigurationModel.py @@ -1,8 +1,11 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from typing import Optional from PyQt5.QtCore import pyqtProperty, QObject, pyqtSignal +from cura.PrinterOutput.MaterialOutputModel import MaterialOutputModel + class ExtruderConfigurationModel(QObject): @@ -10,38 +13,42 @@ class ExtruderConfigurationModel(QObject): def __init__(self): super().__init__() - self._position = -1 - self._material = None - self._hotend_id = None + self._position = -1 # type: int + self._material = None # type: Optional[MaterialOutputModel] + self._hotend_id = None # type: Optional[str] - def setPosition(self, position): + def setPosition(self, position: int) -> None: self._position = position @pyqtProperty(int, fset = setPosition, notify = extruderConfigurationChanged) - def position(self): + def position(self) -> int: return self._position - def setMaterial(self, material): - self._material = material + def setMaterial(self, material: Optional[MaterialOutputModel]): + if self._hotend_id != material: + self._material = material + self.extruderConfigurationChanged.emit() @pyqtProperty(QObject, fset = setMaterial, notify = extruderConfigurationChanged) - def material(self): + def material(self) -> MaterialOutputModel: return self._material - def setHotendID(self, hotend_id): - self._hotend_id = hotend_id + def setHotendID(self, hotend_id: Optional[str]) -> None: + if self._hotend_id != hotend_id: + self._hotend_id = hotend_id + self.extruderConfigurationChanged.emit() @pyqtProperty(str, fset = setHotendID, notify = extruderConfigurationChanged) - def hotendID(self): + def hotendID(self) -> Optional[str]: return self._hotend_id ## This method is intended to indicate whether the configuration is valid or not. # The method checks if the mandatory fields are or not set # At this moment is always valid since we allow to have empty material and variants. - def isValid(self): + def isValid(self) -> bool: return True - def __str__(self): + def __str__(self) -> str: message_chunks = [] message_chunks.append("Position: " + str(self._position)) message_chunks.append("-") @@ -50,7 +57,7 @@ class ExtruderConfigurationModel(QObject): message_chunks.append("HotendID: " + self.hotendID if self.hotendID else "empty") return " ".join(message_chunks) - def __eq__(self, other): + def __eq__(self, other) -> bool: return hash(self) == hash(other) # Calculating a hash function using the position of the extruder, the material GUID and the hotend id to check if is diff --git a/cura/PrinterOutput/ExtruderOutputModel.py b/cura/PrinterOutput/ExtruderOutputModel.py index 0726662c6c..546227123e 100644 --- a/cura/PrinterOutput/ExtruderOutputModel.py +++ b/cura/PrinterOutput/ExtruderOutputModel.py @@ -12,64 +12,61 @@ if TYPE_CHECKING: class ExtruderOutputModel(QObject): - hotendIDChanged = pyqtSignal() targetHotendTemperatureChanged = pyqtSignal() hotendTemperatureChanged = pyqtSignal() - activeMaterialChanged = pyqtSignal() + extruderConfigurationChanged = pyqtSignal() isPreheatingChanged = pyqtSignal() - def __init__(self, printer: "PrinterOutputModel", position, parent=None) -> None: + def __init__(self, printer: "PrinterOutputModel", position: int, parent=None) -> None: super().__init__(parent) - self._printer = printer + self._printer = printer # type: PrinterOutputModel self._position = position - self._target_hotend_temperature = 0 # type: float - self._hotend_temperature = 0 # type: float - self._hotend_id = "" - self._active_material = None # type: Optional[MaterialOutputModel] - self._extruder_configuration = ExtruderConfigurationModel() - self._extruder_configuration.position = self._position + self._target_hotend_temperature = 0 # type: float + self._hotend_temperature = 0 # type: float self._is_preheating = False - def getPrinter(self): + # The extruder output model wraps the configuration model. This way we can use the same config model for jobs + # and extruders alike. + self._extruder_configuration = ExtruderConfigurationModel() + self._extruder_configuration.position = self._position + self._extruder_configuration.extruderConfigurationChanged.connect(self.extruderConfigurationChanged) + + def getPrinter(self) -> "PrinterOutputModel": return self._printer - def getPosition(self): + def getPosition(self) -> int: return self._position # Does the printer support pre-heating the bed at all @pyqtProperty(bool, constant=True) - def canPreHeatHotends(self): + def canPreHeatHotends(self) -> bool: if self._printer: return self._printer.canPreHeatHotends return False - @pyqtProperty(QObject, notify = activeMaterialChanged) + @pyqtProperty(QObject, notify = extruderConfigurationChanged) def activeMaterial(self) -> Optional["MaterialOutputModel"]: - return self._active_material + return self._extruder_configuration.material def updateActiveMaterial(self, material: Optional["MaterialOutputModel"]): - if self._active_material != material: - self._active_material = material - self._extruder_configuration.material = self._active_material - self.activeMaterialChanged.emit() - self.extruderConfigurationChanged.emit() + self._extruder_configuration.setMaterial(material) ## Update the hotend temperature. This only changes it locally. - def updateHotendTemperature(self, temperature: float): + def updateHotendTemperature(self, temperature: float) -> None: if self._hotend_temperature != temperature: self._hotend_temperature = temperature self.hotendTemperatureChanged.emit() - def updateTargetHotendTemperature(self, temperature: float): + def updateTargetHotendTemperature(self, temperature: float) -> None: if self._target_hotend_temperature != temperature: self._target_hotend_temperature = temperature self.targetHotendTemperatureChanged.emit() ## Set the target hotend temperature. This ensures that it's actually sent to the remote. @pyqtSlot(float) - def setTargetHotendTemperature(self, temperature: float): + def setTargetHotendTemperature(self, temperature: float) -> None: self._printer.getController().setTargetHotendTemperature(self._printer, self, temperature) self.updateTargetHotendTemperature(temperature) @@ -81,30 +78,26 @@ class ExtruderOutputModel(QObject): def hotendTemperature(self) -> float: return self._hotend_temperature - @pyqtProperty(str, notify = hotendIDChanged) + @pyqtProperty(str, notify = extruderConfigurationChanged) def hotendID(self) -> str: - return self._hotend_id + return self._extruder_configuration.hotendID - def updateHotendID(self, id: str): - if self._hotend_id != id: - self._hotend_id = id - self._extruder_configuration.hotendID = self._hotend_id - self.hotendIDChanged.emit() - self.extruderConfigurationChanged.emit() + def updateHotendID(self, hotend_id: str) -> None: + self._extruder_configuration.setHotendID(hotend_id) @pyqtProperty(QObject, notify = extruderConfigurationChanged) - def extruderConfiguration(self): + def extruderConfiguration(self) -> Optional[ExtruderConfigurationModel]: if self._extruder_configuration.isValid(): return self._extruder_configuration return None - def updateIsPreheating(self, pre_heating): + def updateIsPreheating(self, pre_heating: bool) -> None: if self._is_preheating != pre_heating: self._is_preheating = pre_heating self.isPreheatingChanged.emit() @pyqtProperty(bool, notify=isPreheatingChanged) - def isPreheating(self): + def isPreheating(self) -> bool: return self._is_preheating ## Pre-heats the extruder before printer. @@ -113,9 +106,9 @@ class ExtruderOutputModel(QObject): # Celsius. # \param duration How long the bed should stay warm, in seconds. @pyqtSlot(float, float) - def preheatHotend(self, temperature, duration): + def preheatHotend(self, temperature: float, duration: float) -> None: self._printer._controller.preheatHotend(self, temperature, duration) @pyqtSlot() - def cancelPreheatHotend(self): + def cancelPreheatHotend(self) -> None: self._printer._controller.cancelPreheatHotend(self) \ No newline at end of file diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index f10d6bd75b..a849cb76f2 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -43,9 +43,13 @@ class PrinterOutputModel(QObject): self._is_preheating = False self._printer_type = "" self._buildplate_name = None - # Update the printer configuration every time any of the extruders changes its configuration - for extruder in self._extruders: - extruder.extruderConfigurationChanged.connect(self._updateExtruderConfiguration) + + + self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in + self._extruders] + + #for extruder_configuration in self._printer_configuration.extruderConfigurations: + # extruder_configuration.extruderConfigurationChanged.connect(self.configurationChanged) self._camera = None @@ -284,6 +288,6 @@ class PrinterOutputModel(QObject): return self._printer_configuration return None - def _updateExtruderConfiguration(self): - self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in self._extruders] - self.configurationChanged.emit() + #def _updateExtruderConfiguration(self): + + #self.configurationChanged.emit() From 74f8c82c5e32f147b6e47eb95a6f68b43a7e79f2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 9 Aug 2018 16:38:30 +0200 Subject: [PATCH 010/162] Removed commented out code --- cura/PrinterOutput/PrinterOutputModel.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index a849cb76f2..ba567b7bac 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -44,13 +44,9 @@ class PrinterOutputModel(QObject): self._printer_type = "" self._buildplate_name = None - self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in self._extruders] - #for extruder_configuration in self._printer_configuration.extruderConfigurations: - # extruder_configuration.extruderConfigurationChanged.connect(self.configurationChanged) - self._camera = None @pyqtProperty(str, constant = True) @@ -286,8 +282,4 @@ class PrinterOutputModel(QObject): def printerConfiguration(self): if self._printer_configuration.isValid(): return self._printer_configuration - return None - - #def _updateExtruderConfiguration(self): - - #self.configurationChanged.emit() + return None \ No newline at end of file From 78ebdb13f4bf3ae6521eea0f3518090a2a77da3d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 14 Aug 2018 13:34:05 +0200 Subject: [PATCH 011/162] Cluster monitor page now shows queue instead of added printers CL-894 --- cura/CuraApplication.py | 2 +- .../ExtruderConfigurationModel.py | 4 +- cura/PrinterOutput/ExtruderOutputModel.py | 4 +- cura/PrinterOutput/PrintJobOutputModel.py | 13 ++ .../UM3NetworkPrinting/ClusterControlItem.qml | 15 +- .../UM3NetworkPrinting/ClusterMonitorItem.qml | 30 ++-- .../ClusterUM3OutputDevice.py | 56 ++++--- .../PrintCoreConfiguration.qml | 4 +- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 140 ++++++++++++++++++ 9 files changed, 224 insertions(+), 44 deletions(-) create mode 100644 plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 78986d82ee..df25522be3 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -123,7 +123,7 @@ except ImportError: CuraVersion = "master" # [CodeStyle: Reflecting imported value] CuraBuildType = "" CuraDebugMode = False - CuraSDKVerion = "" + CuraSDKVersion = "" class CuraApplication(QtApplication): diff --git a/cura/PrinterOutput/ExtruderConfigurationModel.py b/cura/PrinterOutput/ExtruderConfigurationModel.py index 250237403f..2a7844b629 100644 --- a/cura/PrinterOutput/ExtruderConfigurationModel.py +++ b/cura/PrinterOutput/ExtruderConfigurationModel.py @@ -30,7 +30,7 @@ class ExtruderConfigurationModel(QObject): self.extruderConfigurationChanged.emit() @pyqtProperty(QObject, fset = setMaterial, notify = extruderConfigurationChanged) - def material(self) -> MaterialOutputModel: + def activeMaterial(self) -> MaterialOutputModel: return self._material def setHotendID(self, hotend_id: Optional[str]) -> None: @@ -52,7 +52,7 @@ class ExtruderConfigurationModel(QObject): message_chunks = [] message_chunks.append("Position: " + str(self._position)) message_chunks.append("-") - message_chunks.append("Material: " + self.material.type if self.material else "empty") + message_chunks.append("Material: " + self.activeMaterial.type if self.activeMaterial else "empty") message_chunks.append("-") message_chunks.append("HotendID: " + self.hotendID if self.hotendID else "empty") return " ".join(message_chunks) diff --git a/cura/PrinterOutput/ExtruderOutputModel.py b/cura/PrinterOutput/ExtruderOutputModel.py index 546227123e..c7fd58c098 100644 --- a/cura/PrinterOutput/ExtruderOutputModel.py +++ b/cura/PrinterOutput/ExtruderOutputModel.py @@ -48,7 +48,7 @@ class ExtruderOutputModel(QObject): @pyqtProperty(QObject, notify = extruderConfigurationChanged) def activeMaterial(self) -> Optional["MaterialOutputModel"]: - return self._extruder_configuration.material + return self._extruder_configuration.activeMaterial def updateActiveMaterial(self, material: Optional["MaterialOutputModel"]): self._extruder_configuration.setMaterial(material) @@ -111,4 +111,4 @@ class ExtruderOutputModel(QObject): @pyqtSlot() def cancelPreheatHotend(self) -> None: - self._printer._controller.cancelPreheatHotend(self) \ No newline at end of file + self._printer._controller.cancelPreheatHotend(self) diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index b77600f85c..8057965013 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -7,6 +7,7 @@ from typing import Optional, TYPE_CHECKING if TYPE_CHECKING: from cura.PrinterOutput.PrinterOutputController import PrinterOutputController from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel + from cura.PrinterOutput.ConfigurationModel import ConfigurationModel class PrintJobOutputModel(QObject): @@ -17,6 +18,7 @@ class PrintJobOutputModel(QObject): keyChanged = pyqtSignal() assignedPrinterChanged = pyqtSignal() ownerChanged = pyqtSignal() + configurationChanged =pyqtSignal() def __init__(self, output_controller: "PrinterOutputController", key: str = "", name: str = "", parent=None) -> None: super().__init__(parent) @@ -29,6 +31,17 @@ class PrintJobOutputModel(QObject): self._assigned_printer = None # type: Optional[PrinterOutputModel] self._owner = "" # Who started/owns the print job? + self._configuration = None # type: Optional[ConfigurationModel] + + @pyqtProperty(QObject, notify=configurationChanged) + def configuration(self) -> Optional["ConfigurationModel"]: + return self._configuration + + def updateConfiguration(self, configuration: Optional["ConfigurationModel"]) -> None: + if self._configuration != configuration: + self._configuration = configuration + self.configurationChanged.emit() + @pyqtProperty(str, notify=ownerChanged) def owner(self): return self._owner diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 3d7b25d59c..5531e99d57 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -27,13 +27,14 @@ Component { id: activePrintersLabel font: UM.Theme.getFont("large") - anchors.horizontalCenter: parent.horizontalCenter - anchors.topMargin: UM.Theme.getSize("default_margin").height - anchors.top: parent.top - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right:parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors + { + margins: UM.Theme.getSize("default_margin").width + top: parent.top + left: parent.left + right: parent.right + } + text: Cura.MachineManager.printerOutputDevices[0].name elide: Text.ElideRight } diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 0e86d55de8..51301b7e8d 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -28,7 +28,8 @@ Component id: activePrintersLabel font: UM.Theme.getFont("large") - anchors { + anchors + { top: parent.top topMargin: UM.Theme.getSize("default_margin").height * 2 // a bit more spacing to give it some breathing room horizontalCenter: parent.horizontalCenter @@ -71,25 +72,28 @@ Component ScrollView { - id: printerScrollView - anchors.margins: UM.Theme.getSize("default_margin").width - anchors.top: activePrintersLabel.bottom - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_lining").width // To ensure border can be drawn. - anchors.rightMargin: UM.Theme.getSize("default_lining").width - anchors.right: parent.right + id: queuedPrintJobs + + anchors + { + margins: UM.Theme.getSize("default_margin").width + top: activePrintersLabel.bottom + left: parent.left + leftMargin: UM.Theme.getSize("default_lining").width // To ensure border can be drawn. + rightMargin: UM.Theme.getSize("default_lining").width + right: parent.right + } ListView { anchors.fill: parent spacing: -UM.Theme.getSize("default_lining").height - model: OutputDevice.printers + model: OutputDevice.queuedPrintJobs - delegate: PrinterInfoBlock + delegate: PrintJobInfoBlock { - printer: modelData + printJob: modelData width: Math.min(800 * screenScaleFactor, maximumWidth) height: 125 * screenScaleFactor @@ -102,7 +106,7 @@ Component PrinterVideoStream { visible: OutputDevice.activePrinter != null - anchors.fill:parent + anchors.fill: parent } onVisibleChanged: diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index 84e0a66170..d91e7e1d93 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -17,6 +17,8 @@ from UM.Scene.SceneNode import SceneNode #For typing. from UM.Version import Version #To check against firmware versions for support. from cura.CuraApplication import CuraApplication +from cura.PrinterOutput.ConfigurationModel import ConfigurationModel +from cura.PrinterOutput.ExtruderConfigurationModel import ExtruderConfigurationModel from cura.PrinterOutput.NetworkedPrinterOutputDevice import NetworkedPrinterOutputDevice, AuthState from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel @@ -478,6 +480,23 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def _createPrintJobModel(self, data: Dict[str, Any]) -> PrintJobOutputModel: print_job = PrintJobOutputModel(output_controller=ClusterUM3PrinterOutputController(self), key=data["uuid"], name= data["name"]) + + configuration = ConfigurationModel() + extruders = [] + for index in range(0, self._number_of_extruders): + extruder = ExtruderConfigurationModel() + extruder.setPosition(index) + try: + extruder_data = data["configuration"][index] + except IndexError: + break + + extruder.setHotendID(extruder_data.get("print_core_id", "")) + extruder.setMaterial(self._createMaterialOutputModel(extruder_data.get("material", {}))) + extruders.append(extruder) + configuration.setExtruderConfigurations(extruders) + print_job.updateConfiguration(configuration) + print_job.stateChanged.connect(self._printJobStateChanged) self._print_jobs.append(print_job) return print_job @@ -488,6 +507,24 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): print_job.updateState(data["status"]) print_job.updateOwner(data["owner"]) + def _createMaterialOutputModel(self, material_data) -> MaterialOutputModel: + containers = ContainerRegistry.getInstance().findInstanceContainers(type="material", GUID=material_data["guid"]) + if containers: + color = containers[0].getMetaDataEntry("color_code") + brand = containers[0].getMetaDataEntry("brand") + material_type = containers[0].getMetaDataEntry("material") + name = containers[0].getName() + else: + Logger.log("w", + "Unable to find material with guid {guid}. Using data as provided by cluster".format( + guid=material_data["guid"])) + color = material_data["color"] + brand = material_data["brand"] + material_type = material_data["material"] + name = "Empty" if material_data["material"] == "empty" else "Unknown" + return MaterialOutputModel(guid=material_data["guid"], type=material_type, + brand=brand, color=color, name=name) + def _updatePrinter(self, printer: PrinterOutputModel, data: Dict[str, Any]) -> None: # For some unknown reason the cluster wants UUID for everything, except for sending a job directly to a printer. # Then we suddenly need the unique name. So in order to not have to mess up all the other code, we save a mapping. @@ -523,24 +560,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): material_data = extruder_data["material"] if extruder.activeMaterial is None or extruder.activeMaterial.guid != material_data["guid"]: - containers = ContainerRegistry.getInstance().findInstanceContainers(type="material", - GUID=material_data["guid"]) - if containers: - color = containers[0].getMetaDataEntry("color_code") - brand = containers[0].getMetaDataEntry("brand") - material_type = containers[0].getMetaDataEntry("material") - name = containers[0].getName() - else: - Logger.log("w", - "Unable to find material with guid {guid}. Using data as provided by cluster".format( - guid=material_data["guid"])) - color = material_data["color"] - brand = material_data["brand"] - material_type = material_data["material"] - name = "Empty" if material_data["material"] == "empty" else "Unknown" - - material = MaterialOutputModel(guid=material_data["guid"], type=material_type, - brand=brand, color=color, name=name) + material = self._createMaterialOutputModel(material_data) extruder.updateActiveMaterial(material) def _removeJob(self, job: PrintJobOutputModel) -> bool: diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index 267516091b..6ff5c6327f 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -12,14 +12,16 @@ Item width: Math.round(parent.width / 2) height: childrenRect.height + Label { id: materialLabel - text: printCoreConfiguration.activeMaterial != null ? printCoreConfiguration.activeMaterial.name : "" + text: printCoreConfiguration.activeMaterial != null ? printCoreConfiguration.activeMaterial.name : ":(" elide: Text.ElideRight width: parent.width font: UM.Theme.getFont("very_small") } + Label { id: printCoreLabel diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml new file mode 100644 index 0000000000..f88b917954 --- /dev/null +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -0,0 +1,140 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 + +import UM 1.3 as UM + + +Item +{ + property var printJob: null + + function getPrettyTime(time) + { + return OutputDevice.formatDuration(time) + } + + Rectangle + { + id: background + anchors.fill: parent + + Item + { + // Content on the left of the infobox + anchors + { + top: parent.top + bottom: parent.bottom + left: parent.left + right: parent.horizontalCenter + margins: UM.Theme.getSize("default_margin").width + } + + Label + { + id: printJobName + text: "printJobName" + } + + Label + { + id: ownerName + anchors.top: printJobName.bottom + text: "OwnerName" + } + + Label + { + id: totalTimeLabel + + anchors.bottom: parent.bottom + anchors.right: parent.right + + text: printJob != null ? getPrettyTime(printJob.timeTotal) : "3h 12m" + elide: Text.ElideRight + } + } + + Item + { + // Content on the right side of the infobox. + anchors + { + top: parent.top + bottom: parent.bottom + left: parent.horizontalCenter + right: parent.right + margins: UM.Theme.getSize("default_margin").width + } + + Label + { + id: targetPrinterLabel + text: "Waiting for: first available" + } + + Button + { + text: "..." + anchors + { + right: parent.right + top: parent.top + } + } + + // PrintCore && Material config + Row + { + id: extruderInfo + anchors.bottom: parent.bottom + + anchors + { + left: parent.left + right: parent.right + } + height: childrenRect.height + + spacing: UM.Theme.getSize("default_margin").width + + PrintCoreConfiguration + { + id: leftExtruderInfo + width: Math.round((parent.width - extruderSeperator.width) / 2) + printCoreConfiguration: printJob.configuration.extruderConfigurations[0] + } + + Rectangle + { + id: extruderSeperator + width: UM.Theme.getSize("default_lining").width + height: parent.height + color: lineColor + } + + PrintCoreConfiguration + { + id: rightExtruderInfo + width: Math.round((parent.width - extruderSeperator.width) / 2) + printCoreConfiguration: printJob.configuration.extruderConfigurations[1] + } + } + + } + + Rectangle + { + color: "grey" + width: 1 + + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.margins: UM.Theme.getSize("default_margin").height + anchors.horizontalCenter: parent.horizontalCenter + + } + + } +} \ No newline at end of file From 94b978211065c17a5b9ab020f1278f9a7b0c00ee Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 14 Aug 2018 14:54:27 +0200 Subject: [PATCH 012/162] Added preview image to print cluster monitor CL-894 --- cura/CuraApplication.py | 2 ++ cura/PrintJobPreviewImageProvider.py | 27 +++++++++++++++++++ cura/PrinterOutput/PrintJobOutputModel.py | 27 ++++++++++++++++++- .../UM3NetworkPrinting/ClusterMonitorItem.qml | 3 ++- .../ClusterUM3OutputDevice.py | 19 ++++++++++++- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 9 +++++++ 6 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 cura/PrintJobPreviewImageProvider.py diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index df25522be3..c29ddf10fd 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -94,6 +94,7 @@ from . import CuraActions from cura.Scene import ZOffsetDecorator from . import CuraSplashScreen from . import CameraImageProvider +from . import PrintJobPreviewImageProvider from . import MachineActionManager from cura.TaskManagement.OnExitCallbackManager import OnExitCallbackManager @@ -523,6 +524,7 @@ class CuraApplication(QtApplication): def _onEngineCreated(self): self._qml_engine.addImageProvider("camera", CameraImageProvider.CameraImageProvider()) + self._qml_engine.addImageProvider("print_job_preview", PrintJobPreviewImageProvider.PrintJobPreviewImageProvider()) @pyqtProperty(bool) def needToShowUserAgreement(self): diff --git a/cura/PrintJobPreviewImageProvider.py b/cura/PrintJobPreviewImageProvider.py new file mode 100644 index 0000000000..d3521bf0af --- /dev/null +++ b/cura/PrintJobPreviewImageProvider.py @@ -0,0 +1,27 @@ +from PyQt5.QtGui import QImage +from PyQt5.QtQuick import QQuickImageProvider +from PyQt5.QtCore import QSize + +from UM.Application import Application + + +class PrintJobPreviewImageProvider(QQuickImageProvider): + def __init__(self): + super().__init__(QQuickImageProvider.Image) + + ## Request a new image. + def requestImage(self, id, size): + # The id will have an uuid and an increment separated by a slash. As we don't care about the value of the + # increment, we need to strip that first. + uuid = id[id.find("/") + 1:] + for output_device in Application.getInstance().getOutputDeviceManager().getOutputDevices(): + if not hasattr(output_device, "printJobs"): + continue + + for print_job in output_device.printJobs: + if print_job.key == uuid: + if print_job.getPreviewImage(): + return print_job.getPreviewImage(), QSize(15, 15) + else: + return QImage(), QSize(15, 15) + return QImage(), QSize(15,15) \ No newline at end of file diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index 8057965013..373f816373 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -4,6 +4,9 @@ from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot from typing import Optional, TYPE_CHECKING +from PyQt5.QtCore import QUrl +from PyQt5.QtGui import QImage + if TYPE_CHECKING: from cura.PrinterOutput.PrinterOutputController import PrinterOutputController from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel @@ -18,7 +21,8 @@ class PrintJobOutputModel(QObject): keyChanged = pyqtSignal() assignedPrinterChanged = pyqtSignal() ownerChanged = pyqtSignal() - configurationChanged =pyqtSignal() + configurationChanged = pyqtSignal() + previewImageChanged = pyqtSignal() def __init__(self, output_controller: "PrinterOutputController", key: str = "", name: str = "", parent=None) -> None: super().__init__(parent) @@ -33,6 +37,27 @@ class PrintJobOutputModel(QObject): self._configuration = None # type: Optional[ConfigurationModel] + self._preview_image_id = 0 + + self._preview_image = None + + @pyqtProperty(QUrl, notify=previewImageChanged) + def preview_image_url(self): + self._preview_image_id += 1 + # There is an image provider that is called "camera". In order to ensure that the image qml object, that + # requires a QUrl to function, updates correctly we add an increasing number. This causes to see the QUrl + # as new (instead of relying on cached version and thus forces an update. + temp = "image://print_job_preview/" + str(self._preview_image_id) + "/" + self._key + return QUrl(temp, QUrl.TolerantMode) + + def getPreviewImage(self): + return self._preview_image + + def updatePreviewImage(self, preview_image: Optional[QImage]): + if self._preview_image != preview_image: + self._preview_image = preview_image + self.previewImageChanged.emit() + @pyqtProperty(QObject, notify=configurationChanged) def configuration(self) -> Optional["ConfigurationModel"]: return self._configuration diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 51301b7e8d..3bc9fedc9c 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -82,12 +82,13 @@ Component leftMargin: UM.Theme.getSize("default_lining").width // To ensure border can be drawn. rightMargin: UM.Theme.getSize("default_lining").width right: parent.right + bottom: parent.bottom } ListView { anchors.fill: parent - spacing: -UM.Theme.getSize("default_lining").height + spacing: UM.Theme.getSize("default_margin").height model: OutputDevice.queuedPrintJobs diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index d91e7e1d93..b79ad6b5ce 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -29,7 +29,7 @@ from .ClusterUM3PrinterOutputController import ClusterUM3PrinterOutputController from .SendMaterialJob import SendMaterialJob from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply -from PyQt5.QtGui import QDesktopServices +from PyQt5.QtGui import QDesktopServices, QImage from PyQt5.QtCore import pyqtSlot, QUrl, pyqtSignal, pyqtProperty, QObject from time import time @@ -394,11 +394,28 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): super().connect() self.sendMaterialProfiles() + def _onGetPreviewImageFinished(self, reply: QNetworkReply) -> None: + reply_url = reply.url().toString() + print(reply_url) + + uuid = reply_url[reply_url.find("print_jobs/")+len("print_jobs/"):reply_url.rfind("/preview_image")] + + print_job = findByKey(self._print_jobs, uuid) + if print_job: + image = QImage() + image.loadFromData(reply.readAll()) + print_job.updatePreviewImage(image) + + def _update(self) -> None: super()._update() self.get("printers/", on_finished = self._onGetPrintersDataFinished) self.get("print_jobs/", on_finished = self._onGetPrintJobsFinished) + for print_job in self._print_jobs: + if print_job.getPreviewImage() is None: + self.get("print_jobs/{uuid}/preview_image".format(uuid=print_job.key), on_finished=self._onGetPreviewImageFinished) + def _onGetPrintJobsFinished(self, reply: QNetworkReply) -> None: if not checkValidGetReply(reply): return diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index f88b917954..7ae65dfb9b 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -44,6 +44,15 @@ Item text: "OwnerName" } + Image + { + source: printJob.preview_image_url + anchors.top: ownerName.bottom + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: totalTimeLabel.top + width: height + } + Label { id: totalTimeLabel From ef00550df6df4c84413c8f2fe71f67a5dbca811e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Aug 2018 15:04:00 +0200 Subject: [PATCH 013/162] Added send to top context item CL-894 --- .../ClusterUM3OutputDevice.py | 7 +++ .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 60 ++++++++++++++++++- 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index 3a9bf20789..c4e78403b1 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -366,6 +366,13 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): datetime_completed = datetime.fromtimestamp(current_time + time_remaining) return (datetime_completed.strftime("%a %b ") + "{day}".format(day=datetime_completed.day)).upper() + @pyqtSlot(str) + def sendJobToTop(self, print_job_uuid: str) -> None: + # This function is part of the output device (and not of the printjob output model) as this type of operation + # is a modification of the cluster queue and not of the actual job. + data = "{\"to_position\": 0}" + self.put("print_jobs/{uuid}/move_to_position".format(uuid = print_job_uuid), data, on_finished=None) + def _printJobStateChanged(self) -> None: username = self._getUserName() diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 7ae65dfb9b..086740416d 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -1,7 +1,8 @@ import QtQuick 2.2 -import QtQuick.Controls 1.4 +import QtQuick.Controls 2.0 import QtQuick.Controls.Styles 1.4 + import UM 1.3 as UM @@ -83,16 +84,73 @@ Item text: "Waiting for: first available" } + + function switchPopupState() + { + popup.visible ? popup.close() : popup.open() + } Button { + id: contextButton text: "..." anchors { right: parent.right top: parent.top } + onClicked: parent.switchPopupState() } + + Popup + { + // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property + id: popup + clip: true + closePolicy: Popup.CloseOnPressOutsideParent + x: parent.width - width + y: contextButton.height + //y: configurationSelector.height - UM.Theme.getSize("default_lining").height + //x: configurationSelector.width - width + width: 200 + height: childrenRect.height + visible: false + padding: UM.Theme.getSize("default_lining").width + transformOrigin: Popup.Top + contentItem: Item + { + width: panelWidth - 2 * popup.padding + height: cildrenRect.height + Button + { + text: "Send to top" + onClicked: OutputDevice.sendJobToTop(printJob.key) + width: parent.width + } + } + + background: Rectangle + { + color: UM.Theme.getColor("setting_control") + border.color: UM.Theme.getColor("setting_control_border") + } + + exit: Transition + { + // This applies a default NumberAnimation to any changes a state change makes to x or y properties + NumberAnimation { property: "visible"; duration: 75; } + } + enter: Transition + { + // This applies a default NumberAnimation to any changes a state change makes to x or y properties + NumberAnimation { property: "visible"; duration: 75; } + } + + onClosed: visible = false + onOpened: visible = true + } + + // PrintCore && Material config Row { From af4b7c38c7720184825be2896854e41ac8c3f1c3 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Aug 2018 15:04:52 +0200 Subject: [PATCH 014/162] Removed stray debug print CL-894 --- plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index c4e78403b1..e01021d6c8 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -403,7 +403,6 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def _onGetPreviewImageFinished(self, reply: QNetworkReply) -> None: reply_url = reply.url().toString() - print(reply_url) uuid = reply_url[reply_url.find("print_jobs/")+len("print_jobs/"):reply_url.rfind("/preview_image")] From 0fe0e4ac5415e4d3640bfcfcc8dafaec3e4800c7 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Aug 2018 15:23:16 +0200 Subject: [PATCH 015/162] Ensure that the order of the cluster queue is correctly show in monitor tab CL-894 --- plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index e01021d6c8..befed8d4cf 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -432,12 +432,15 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): print_jobs_seen = [] job_list_changed = False - for print_job_data in result: + for idx, print_job_data in enumerate(result): print_job = findByKey(self._print_jobs, print_job_data["uuid"]) - if print_job is None: print_job = self._createPrintJobModel(print_job_data) job_list_changed = True + elif not job_list_changed: + # Check if the order of the jobs has changed since the last check + if self._print_jobs.index(print_job) != idx: + job_list_changed = True self._updatePrintJob(print_job, print_job_data) @@ -462,6 +465,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): job_list_changed = job_list_changed or self._removeJob(removed_job) if job_list_changed: + # Override the old list with the new list (either because jobs were removed / added or order changed) + self._print_jobs = print_jobs_seen self.printJobsChanged.emit() # Do a single emit for all print job changes. def _onGetPrintersDataFinished(self, reply: QNetworkReply) -> None: @@ -521,7 +526,6 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): print_job.updateConfiguration(configuration) print_job.stateChanged.connect(self._printJobStateChanged) - self._print_jobs.append(print_job) return print_job def _updatePrintJob(self, print_job: PrintJobOutputModel, data: Dict[str, Any]) -> None: From 5bee561c9ce73996b2ed689562d1570ba741705c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Aug 2018 15:54:35 +0200 Subject: [PATCH 016/162] Removed the static placeholders for monitor info CL-894 --- .../PrintCoreConfiguration.qml | 4 +-- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 34 +++++++++++++++---- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index 6ff5c6327f..d2c88e148b 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -19,7 +19,7 @@ Item text: printCoreConfiguration.activeMaterial != null ? printCoreConfiguration.activeMaterial.name : ":(" elide: Text.ElideRight width: parent.width - font: UM.Theme.getFont("very_small") + font: UM.Theme.getFont("default_bold") } Label @@ -29,7 +29,5 @@ Item anchors.top: materialLabel.bottom elide: Text.ElideRight width: parent.width - font: UM.Theme.getFont("very_small") - opacity: 0.5 } } diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 086740416d..a1123d29fc 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -35,14 +35,15 @@ Item Label { id: printJobName - text: "printJobName" + text: printJob.name + font: UM.Theme.getFont("default_bold") } Label { id: ownerName anchors.top: printJobName.bottom - text: "OwnerName" + text: printJob.owner } Image @@ -61,7 +62,7 @@ Item anchors.bottom: parent.bottom anchors.right: parent.right - text: printJob != null ? getPrettyTime(printJob.timeTotal) : "3h 12m" + text: printJob != null ? getPrettyTime(printJob.timeTotal) : "" elide: Text.ElideRight } } @@ -81,7 +82,27 @@ Item Label { id: targetPrinterLabel - text: "Waiting for: first available" + elide: Text.ElideRight + font: UM.Theme.getFont("default_bold") + text: + { + if(printJob.assignedPrinter == null) + { + return "Waiting for: first available" + } + else + { + return "Waiting for: " + printJob.assignedPrinter.name + } + + } + + anchors + { + left: parent.left + right: contextButton.left + rightMargin: UM.Theme.getSize("default_margin").width + } } @@ -89,6 +110,7 @@ Item { popup.visible ? popup.close() : popup.open() } + Button { id: contextButton @@ -119,8 +141,8 @@ Item transformOrigin: Popup.Top contentItem: Item { - width: panelWidth - 2 * popup.padding - height: cildrenRect.height + width: popup.width - 2 * popup.padding + height: childrenRect.height Button { text: "Send to top" From 01b9ba03d46fd742e8b274afc2f1da9f24dd116b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Aug 2018 16:24:14 +0200 Subject: [PATCH 017/162] Added extruder icon CL-894 --- .../PrintCoreConfiguration.qml | 25 +++++++++++++++++++ .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 14 +++-------- resources/qml/SidebarHeader.qml | 2 +- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index d2c88e148b..c71d0d1f79 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -13,6 +13,27 @@ Item width: Math.round(parent.width / 2) height: childrenRect.height + Item + { + id: extruderCircle + width: 30 + height: 30 + Rectangle + { + anchors.fill: parent + radius: Math.round(width / 2) + border.width: 1 + border.color: "black" + } + + Label + { + anchors.centerIn: parent + font: UM.Theme.getFont("default_bold") + text: printCoreConfiguration.position + 1 + } + } + Label { id: materialLabel @@ -20,6 +41,8 @@ Item elide: Text.ElideRight width: parent.width font: UM.Theme.getFont("default_bold") + anchors.left: extruderCircle.right + anchors.leftMargin: UM.Theme.getSize("default_margin").height } Label @@ -29,5 +52,7 @@ Item anchors.top: materialLabel.bottom elide: Text.ElideRight width: parent.width + anchors.left: extruderCircle.right + anchors.leftMargin: UM.Theme.getSize("default_margin").height } } diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index a1123d29fc..d581d774b7 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -110,7 +110,7 @@ Item { popup.visible ? popup.close() : popup.open() } - + Button { id: contextButton @@ -191,22 +191,14 @@ Item PrintCoreConfiguration { id: leftExtruderInfo - width: Math.round((parent.width - extruderSeperator.width) / 2) + width: Math.round(parent.width / 2) printCoreConfiguration: printJob.configuration.extruderConfigurations[0] } - Rectangle - { - id: extruderSeperator - width: UM.Theme.getSize("default_lining").width - height: parent.height - color: lineColor - } - PrintCoreConfiguration { id: rightExtruderInfo - width: Math.round((parent.width - extruderSeperator.width) / 2) + width: Math.round(parent.width / 2) printCoreConfiguration: printJob.configuration.extruderConfigurations[1] } } diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index 6ee33dd2f2..3a041ae499 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -274,7 +274,7 @@ Column elide: Text.ElideRight } - // Everthing for the extruder icon + // Everything for the extruder icon Item { id: extruderIconItem From d4aaa739282ba9b3505c02530b4b473793f4169d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 17 Aug 2018 10:34:14 +0200 Subject: [PATCH 018/162] Codestyle fixes CL-894 --- .../ExtruderConfigurationModel.py | 4 ++ .../ClusterUM3OutputDevice.py | 69 ++++++++++--------- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 1 + 3 files changed, 40 insertions(+), 34 deletions(-) diff --git a/cura/PrinterOutput/ExtruderConfigurationModel.py b/cura/PrinterOutput/ExtruderConfigurationModel.py index 2a7844b629..19d53d1271 100644 --- a/cura/PrinterOutput/ExtruderConfigurationModel.py +++ b/cura/PrinterOutput/ExtruderConfigurationModel.py @@ -33,6 +33,10 @@ class ExtruderConfigurationModel(QObject): def activeMaterial(self) -> MaterialOutputModel: return self._material + @pyqtProperty(QObject, fset=setMaterial, notify=extruderConfigurationChanged) + def material(self) -> MaterialOutputModel: + return self._material + def setHotendID(self, hotend_id: Optional[str]) -> None: if self._hotend_id != hotend_id: self._hotend_id = hotend_id diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index befed8d4cf..fffab6caec 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -4,17 +4,17 @@ from typing import Any, cast, Optional, Set, Tuple, Union from UM.FileHandler.FileHandler import FileHandler -from UM.FileHandler.FileWriter import FileWriter #To choose based on the output file mode (text vs. binary). -from UM.FileHandler.WriteFileJob import WriteFileJob #To call the file writer asynchronously. +from UM.FileHandler.FileWriter import FileWriter # To choose based on the output file mode (text vs. binary). +from UM.FileHandler.WriteFileJob import WriteFileJob # To call the file writer asynchronously. from UM.Logger import Logger from UM.Settings.ContainerRegistry import ContainerRegistry from UM.i18n import i18nCatalog -from UM.Mesh.MeshWriter import MeshWriter # For typing + from UM.Message import Message from UM.Qt.Duration import Duration, DurationFormat -from UM.OutputDevice import OutputDeviceError #To show that something went wrong when writing. -from UM.Scene.SceneNode import SceneNode #For typing. -from UM.Version import Version #To check against firmware versions for support. +from UM.OutputDevice import OutputDeviceError # To show that something went wrong when writing. +from UM.Scene.SceneNode import SceneNode # For typing. +from UM.Version import Version # To check against firmware versions for support. from cura.CuraApplication import CuraApplication from cura.PrinterOutput.ConfigurationModel import ConfigurationModel @@ -34,9 +34,9 @@ from PyQt5.QtCore import pyqtSlot, QUrl, pyqtSignal, pyqtProperty, QObject from time import time from datetime import datetime -from typing import Optional, Dict, List, Set +from typing import Optional, Dict, List -import io #To create the correct buffers for sending data to the printer. +import io # To create the correct buffers for sending data to the printer. import json import os @@ -67,18 +67,18 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): # See comments about this hack with the clusterPrintersChanged signal self.printersChanged.connect(self.clusterPrintersChanged) - self._accepts_commands = True #type: bool + self._accepts_commands = True # type: bool # Cluster does not have authentication, so default to authenticated self._authentication_state = AuthState.Authenticated - self._error_message = None #type: Optional[Message] - self._write_job_progress_message = None #type: Optional[Message] - self._progress_message = None #type: Optional[Message] + self._error_message = None # type: Optional[Message] + self._write_job_progress_message = None # type: Optional[Message] + self._progress_message = None # type: Optional[Message] self._active_printer = None # type: Optional[PrinterOutputModel] - self._printer_selection_dialog = None #type: QObject + self._printer_selection_dialog = None # type: QObject self.setPriority(3) # Make sure the output device gets selected above local file output self.setName(self._id) @@ -89,32 +89,33 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._printer_uuid_to_unique_name_mapping = {} # type: Dict[str, str] - self._finished_jobs = [] # type: List[PrintJobOutputModel] + self._finished_jobs = [] # type: List[PrintJobOutputModel] - self._cluster_size = int(properties.get(b"cluster_size", 0)) + self._cluster_size = int(properties.get(b"cluster_size", 0)) # type: int - self._latest_reply_handler = None #type: Optional[QNetworkReply] + self._latest_reply_handler = None # type: Optional[QNetworkReply] + self._sending_job = None def requestWrite(self, nodes: List[SceneNode], file_name: Optional[str] = None, limit_mimetypes: bool = False, file_handler: Optional[FileHandler] = None, **kwargs: str) -> None: self.writeStarted.emit(self) self.sendMaterialProfiles() - #Formats supported by this application (file types that we can actually write). + # Formats supported by this application (file types that we can actually write). if file_handler: file_formats = file_handler.getSupportedFileTypesWrite() else: file_formats = CuraApplication.getInstance().getMeshFileHandler().getSupportedFileTypesWrite() global_stack = CuraApplication.getInstance().getGlobalContainerStack() - #Create a list from the supported file formats string. + # Create a list from the supported file formats string. if not global_stack: Logger.log("e", "Missing global stack!") return machine_file_formats = global_stack.getMetaDataEntry("file_formats").split(";") machine_file_formats = [file_type.strip() for file_type in machine_file_formats] - #Exception for UM3 firmware version >=4.4: UFP is now supported and should be the preferred file format. + # Exception for UM3 firmware version >=4.4: UFP is now supported and should be the preferred file format. if "application/x-ufp" not in machine_file_formats and Version(self.firmwareVersion) >= Version("4.4"): machine_file_formats = ["application/x-ufp"] + machine_file_formats @@ -127,7 +128,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): raise OutputDeviceError.WriteRequestFailedError(i18n_catalog.i18nc("@info:status", "There are no file formats available to write with!")) preferred_format = file_formats[0] - #Just take the first file format available. + #J ust take the first file format available. if file_handler is not None: writer = file_handler.getWriterByMimeType(cast(str, preferred_format["mime_type"])) else: @@ -137,18 +138,18 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): Logger.log("e", "Unexpected error when trying to get the FileWriter") return - #This function pauses with the yield, waiting on instructions on which printer it needs to print with. + # This function pauses with the yield, waiting on instructions on which printer it needs to print with. if not writer: Logger.log("e", "Missing file or mesh writer!") return self._sending_job = self._sendPrintJob(writer, preferred_format, nodes) - self._sending_job.send(None) #Start the generator. + self._sending_job.send(None) # Start the generator. - if len(self._printers) > 1: #We need to ask the user. + if len(self._printers) > 1: # We need to ask the user. self._spawnPrinterSelectionDialog() is_job_sent = True - else: #Just immediately continue. - self._sending_job.send("") #No specifically selected printer. + else: # Just immediately continue. + self._sending_job.send("") # No specifically selected printer. is_job_sent = self._sending_job.send(None) def _spawnPrinterSelectionDialog(self): @@ -159,7 +160,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._printer_selection_dialog.show() @pyqtProperty(int, constant=True) - def clusterSize(self): + def clusterSize(self) -> int: return self._cluster_size ## Allows the user to choose a printer to print with from the printer @@ -216,8 +217,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): job.start() - yield True #Return that we had success! - yield #To prevent having to catch the StopIteration exception. + yield True # Return that we had success! + yield # To prevent having to catch the StopIteration exception. def _sendPrintJobWaitOnWriteJobFinished(self, job: WriteFileJob) -> None: if self._write_job_progress_message: @@ -242,7 +243,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): file_name = CuraApplication.getInstance().getPrintInformation().jobName + "." + preferred_format["extension"] - output = stream.getvalue() #Either str or bytes depending on the output mode. + output = stream.getvalue() # Either str or bytes depending on the output mode. if isinstance(stream, io.StringIO): output = cast(str, output).encode("utf-8") output = cast(bytes, output) @@ -281,8 +282,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): # If successfully sent: if bytes_sent == bytes_total: - # Show a confirmation to the user so they know the job was sucessful and provide the option to switch to the - # monitor tab. + # Show a confirmation to the user so they know the job was sucessful and provide the option to switch to + # the monitor tab. self._success_message = Message( i18n_catalog.i18nc("@info:status", "Print job was successfully sent to the printer."), lifetime=5, dismissable=True, @@ -412,7 +413,6 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): image.loadFromData(reply.readAll()) print_job.updatePreviewImage(image) - def _update(self) -> None: super()._update() self.get("printers/", on_finished = self._onGetPrintersDataFinished) @@ -615,6 +615,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): job = SendMaterialJob(device = self) job.run() + def loadJsonFromReply(reply: QNetworkReply) -> Optional[List[Dict[str, Any]]]: try: result = json.loads(bytes(reply.readAll()).decode("utf-8")) @@ -633,8 +634,8 @@ def checkValidGetReply(reply: QNetworkReply) -> bool: return True -def findByKey(list: List[Union[PrintJobOutputModel, PrinterOutputModel]], key: str) -> Optional[PrintJobOutputModel]: - for item in list: +def findByKey(lst: List[Union[PrintJobOutputModel, PrinterOutputModel]], key: str) -> Optional[PrintJobOutputModel]: + for item in lst: if item.key == key: return item return None diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index d581d774b7..72b46339e5 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -148,6 +148,7 @@ Item text: "Send to top" onClicked: OutputDevice.sendJobToTop(printJob.key) width: parent.width + enabled: OutputDevice.printJobs[0].key != printJob.key } } From c968e54750136769ceb80f1f0925e77f1fb8ef4b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 17 Aug 2018 10:38:23 +0200 Subject: [PATCH 019/162] Moved duplicated code to own function CL-894 --- .../NetworkedPrinterOutputDevice.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py index b7862251c9..5a9e12ae06 100644 --- a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py +++ b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py @@ -188,28 +188,27 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): if reply in self._kept_alive_multiparts: del self._kept_alive_multiparts[reply] - def put(self, target: str, data: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: + def _validateManager(self) -> None: if self._manager is None: self._createNetworkManager() assert (self._manager is not None) + + def put(self, target: str, data: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: + self._validateManager() request = self._createEmptyRequest(target) self._last_request_time = time() reply = self._manager.put(request, data.encode()) self._registerOnFinishedCallback(reply, on_finished) def get(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: - if self._manager is None: - self._createNetworkManager() - assert (self._manager is not None) + self._validateManager() request = self._createEmptyRequest(target) self._last_request_time = time() reply = self._manager.get(request) self._registerOnFinishedCallback(reply, on_finished) def post(self, target: str, data: str, on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> None: - if self._manager is None: - self._createNetworkManager() - assert (self._manager is not None) + self._validateManager() request = self._createEmptyRequest(target) self._last_request_time = time() reply = self._manager.post(request, data) @@ -218,10 +217,7 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): self._registerOnFinishedCallback(reply, on_finished) def postFormWithParts(self, target: str, parts: List[QHttpPart], on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> QNetworkReply: - - if self._manager is None: - self._createNetworkManager() - assert (self._manager is not None) + self._validateManager() request = self._createEmptyRequest(target, content_type=None) multi_post_part = QHttpMultiPart(QHttpMultiPart.FormDataType) for part in parts: From db1d90ed9b9940cb57634cc77dd1f47bdd0ebbdd Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 17 Aug 2018 10:38:46 +0200 Subject: [PATCH 020/162] Added delete function This is needed at a later stage to delete print jobs from queue by the cluster CL-894 --- cura/PrinterOutput/NetworkedPrinterOutputDevice.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py index 5a9e12ae06..b7c0818c72 100644 --- a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py +++ b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py @@ -200,6 +200,13 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): reply = self._manager.put(request, data.encode()) self._registerOnFinishedCallback(reply, on_finished) + def delete(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: + self._validateManager() + request = self._createEmptyRequest(target) + self._last_request_time = time() + reply = self._manager.delete(request) + self._registerOnFinishedCallback(reply, on_finished) + def get(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: self._validateManager() request = self._createEmptyRequest(target) From eb7d42a7f8307c68e85021bf264b1bed0bfd47d1 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 17 Aug 2018 10:49:44 +0200 Subject: [PATCH 021/162] Added delete button to cluster queue CL-894 --- cura/PrinterOutput/NetworkedPrinterOutputDevice.py | 2 +- plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py | 6 ++++++ plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml | 12 +++++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py index b7c0818c72..36369feabb 100644 --- a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py +++ b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py @@ -204,7 +204,7 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): self._validateManager() request = self._createEmptyRequest(target) self._last_request_time = time() - reply = self._manager.delete(request) + reply = self._manager.deleteResource(request) self._registerOnFinishedCallback(reply, on_finished) def get(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index fffab6caec..cbb5f25ee8 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -374,6 +374,12 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): data = "{\"to_position\": 0}" self.put("print_jobs/{uuid}/move_to_position".format(uuid = print_job_uuid), data, on_finished=None) + @pyqtSlot(str) + def deleteJobFromQueue(self, print_job_uuid: str) -> None: + # This function is part of the output device (and not of the printjob output model) as this type of operation + # is a modification of the cluster queue and not of the actual job. + self.delete("print_jobs/{uuid}".format(uuid = print_job_uuid), on_finished=None) + def _printJobStateChanged(self) -> None: username = self._getUserName() diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 72b46339e5..0c30255b08 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -135,7 +135,7 @@ Item //y: configurationSelector.height - UM.Theme.getSize("default_lining").height //x: configurationSelector.width - width width: 200 - height: childrenRect.height + height: contentItem.height + 2 * padding visible: false padding: UM.Theme.getSize("default_lining").width transformOrigin: Popup.Top @@ -145,17 +145,27 @@ Item height: childrenRect.height Button { + id: sendToTopButton text: "Send to top" onClicked: OutputDevice.sendJobToTop(printJob.key) width: parent.width enabled: OutputDevice.printJobs[0].key != printJob.key } + Button + { + id: deleteButton + text: "Delete" + onClicked: OutputDevice.deleteJobFromQueue(printJob.key) + width: parent.width + anchors.top: sendToTopButton.bottom + } } background: Rectangle { color: UM.Theme.getColor("setting_control") border.color: UM.Theme.getColor("setting_control_border") + height: popup.height } exit: Transition From b074d2bdf38071406df0be2151ba38c777923b0b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 17 Aug 2018 13:41:23 +0200 Subject: [PATCH 022/162] Added translations for the strings CL-894 --- plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 0c30255b08..daa2aa80bb 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -15,6 +15,12 @@ Item return OutputDevice.formatDuration(time) } + UM.I18nCatalog + { + id: catalog + name: "cura" + } + Rectangle { id: background @@ -88,11 +94,11 @@ Item { if(printJob.assignedPrinter == null) { - return "Waiting for: first available" + return catalog.i18nc("@label", "Waiting for: first available") } else { - return "Waiting for: " + printJob.assignedPrinter.name + return catalog.i18nc("@label", "Waiting for: ") + printJob.assignedPrinter.name } } @@ -146,7 +152,7 @@ Item Button { id: sendToTopButton - text: "Send to top" + text: catalog.i18nc("@label", "Move to top") onClicked: OutputDevice.sendJobToTop(printJob.key) width: parent.width enabled: OutputDevice.printJobs[0].key != printJob.key @@ -154,7 +160,7 @@ Item Button { id: deleteButton - text: "Delete" + text: catalog.i18nc("@label", "Delete") onClicked: OutputDevice.deleteJobFromQueue(printJob.key) width: parent.width anchors.top: sendToTopButton.bottom From 1fa3b60f942610ed0b3e4f066e066dc30be163c7 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 17 Aug 2018 16:10:23 +0200 Subject: [PATCH 023/162] Added rough outline of the redesigned cluster controlItem CL-893 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 357 +++++++++--------- .../ClusterUM3OutputDevice.py | 4 + .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 2 +- 3 files changed, 175 insertions(+), 188 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 5531e99d57..2fb0b36471 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -1,5 +1,6 @@ import QtQuick 2.2 import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.3 import UM 1.3 as UM import Cura 1.0 as Cura @@ -9,11 +10,9 @@ Component Rectangle { id: base - property var manager: Cura.MachineManager.printerOutputDevices[0] property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. - - visible: manager != null + visible: OutputDevice != null anchors.fill: parent color: UM.Theme.getColor("viewport_background") @@ -35,218 +34,202 @@ Component right: parent.right } - text: Cura.MachineManager.printerOutputDevices[0].name + text: OutputDevice.name elide: Text.ElideRight } - Rectangle - { - id: printJobArea - border.width: UM.Theme.getSize("default_lining").width - border.color: lineColor + ScrollView + { + id: queuedPrintJobs anchors { top: activePrintersLabel.bottom - margins: UM.Theme.getSize("default_margin").width left: parent.left right: parent.right + margins: UM.Theme.getSize("default_margin").width + bottom: parent.bottom } - - radius: cornerRadius - height: childrenRect.height - - Item + ListView { - id: printJobTitleBar - width: parent.width - height: printJobTitleLabel.height + 2 * UM.Theme.getSize("default_margin").height + anchors.fill: parent + spacing: UM.Theme.getSize("default_margin").height - Label - { - id: printJobTitleLabel - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.top: parent.top - anchors.topMargin: UM.Theme.getSize("default_margin").height - text: catalog.i18nc("@title", "Print jobs") - font: UM.Theme.getFont("default") - opacity: 0.75 - } - Rectangle - { - anchors.bottom: parent.bottom - height: UM.Theme.getSize("default_lining").width - color: lineColor - width: parent.width - } - } - - Column - { - id: printJobColumn - - anchors - { - top: printJobTitleBar.bottom - margins: UM.Theme.getSize("default_margin").height - right: parent.right - left: parent.left - } - - Item + model: OutputDevice.printers + delegate: Rectangle { width: parent.width - height: childrenRect.height - opacity: 0.65 - Label - { - text: catalog.i18nc("@label", "Printing") - font: UM.Theme.getFont("very_small") + height: childrenRect.height + 2 * UM.Theme.getSize("default_margin").height - } - - Label - { - text: manager.activePrintJobs.length - font: UM.Theme.getFont("small") - anchors.right: parent.right - } - } - - Item - { - width: parent.width - height: childrenRect.height - opacity: 0.65 - Label - { - text: catalog.i18nc("@label", "Queued") - font: UM.Theme.getFont("very_small") - } - - Label - { - text: manager.queuedPrintJobs.length - font: UM.Theme.getFont("small") - anchors.right: parent.right - } - } - } - - OpenPanelButton - { - anchors.top: printJobColumn.bottom - anchors.left: parent.left - anchors.right: parent.right - anchors.margins: UM.Theme.getSize("default_margin").height - id: configButton - onClicked: base.manager.openPrintJobControlPanel() - text: catalog.i18nc("@action:button", "View print jobs") - } - - Item - { - // spacer - anchors.top: configButton.bottom - width: UM.Theme.getSize("default_margin").width - height: UM.Theme.getSize("default_margin").height - } - } - - - Rectangle - { - id: printersArea - border.width: UM.Theme.getSize("default_lining").width - border.color: lineColor - anchors.top: printJobArea.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: parent.right - anchors.rightMargin:UM.Theme.getSize("default_margin").width - radius: cornerRadius - height: childrenRect.height - - Item - { - id: printersTitleBar - width: parent.width - height: printJobTitleLabel.height + 2 * UM.Theme.getSize("default_margin").height - - Label - { - id: printersTitleLabel - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.top: parent.top - anchors.topMargin: UM.Theme.getSize("default_margin").height - text: catalog.i18nc("@label:title", "Printers") - font: UM.Theme.getFont("default") - opacity: 0.75 - } - Rectangle - { - anchors.bottom: parent.bottom - height: UM.Theme.getSize("default_lining").width - color: lineColor - width: parent.width - } - } - Column - { - id: printersColumn - anchors.top: printersTitleBar.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - - Repeater - { - model: manager.connectedPrintersTypeCount + id: base + property var collapsed: true Item { - width: parent.width - height: childrenRect.height - opacity: 0.65 - Label + id: printerInfo + height: machineIcon.height + anchors { - text: modelData.machine_type - font: UM.Theme.getFont("very_small") + top: parent.top + left: parent.left + right: parent.right + + margins: UM.Theme.getSize("default_margin").width + } + + MouseArea + { + anchors.fill: parent + onClicked: base.collapsed = !base.collapsed + enabled: modelData.activePrintJob != null + } + + Rectangle + { + id: machineIcon + anchors.top: parent.top + width: 50 + height: 50 + color: "blue" } Label { - text: modelData.count - font: UM.Theme.getFont("small") + id: machineNameLabel + text: modelData.name + anchors.top: machineIcon.top + anchors.left: machineIcon.right + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: collapseIcon.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + elide: Text.ElideRight + } + + UM.RecolorImage + { + id: collapseIcon + width: 15 + height: 15 + visible: modelData.activePrintJob != null + sourceSize.width: width + sourceSize.height: height + source: base.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom") + anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + color: "black" + } + + Label + { + id: activeJobLabel + text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "waiting" + anchors.top: machineNameLabel.bottom + anchors.left: machineNameLabel.left + anchors.right: collapseIcon.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + elide: Text.ElideRight + } + } + + Item + { + id: detailedInfo + property var printJob: modelData.activePrintJob + visible: !base.collapsed + anchors.top: printerInfo.bottom + width: parent.width + height: visible ? childrenRect.height : 0 + + Rectangle + { + id: topSpacer + color: "grey" + height: 1 + anchors + { + left: parent.left + right: parent.right + margins: UM.Theme.getSize("default_margin").width + top: parent.top + } + } + + Row + { + id: extrudersInfo + anchors.top: topSpacer.bottom + anchors.topMargin : UM.Theme.getSize("default_margin").height + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + height: childrenRect.height + spacing: UM.Theme.getSize("default_margin").width + + PrintCoreConfiguration + { + id: leftExtruderInfo + width: Math.round(parent.width / 2) + printCoreConfiguration: modelData.printerConfiguration.extruderConfigurations[0] + } + + PrintCoreConfiguration + { + id: rightExtruderInfo + width: Math.round(parent.width / 2) + printCoreConfiguration: modelData.printerConfiguration.extruderConfigurations[1] + } + } + + Rectangle + { + id: jobSpacer + color: "grey" + height: 1 + anchors + { + left: parent.left + right: parent.right + margins: UM.Theme.getSize("default_margin").width + top: extrudersInfo.bottom + } + } + + Item + { + id: jobInfo + anchors.top: jobSpacer.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: UM.Theme.getSize("default_margin").width + height: childrenRect.height + Label + { + id: printJobName + text: modelData.activePrintJob.name + font: UM.Theme.getFont("default_bold") + } + Label + { + id: ownerName + anchors.top: printJobName.bottom + text: modelData.activePrintJob.owner + } + + Image + { + source: modelData.activePrintJob.preview_image_url + anchors.top: ownerName.bottom + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: totalTimeLabel.top + width: height + } + } } } } - OpenPanelButton - { - anchors.top: printersColumn.bottom - anchors.left: parent.left - anchors.right: parent.right - anchors.margins: UM.Theme.getSize("default_margin").height - id: printerConfigButton - onClicked: base.manager.openPrinterControlPanel() - - text: catalog.i18nc("@action:button", "View printers") - } - - Item - { - // spacer - anchors.top: printerConfigButton.bottom - width: UM.Theme.getSize("default_margin").width - height: UM.Theme.getSize("default_margin").height - } } } } diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index cbb5f25ee8..6f292d4f4b 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -351,6 +351,10 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): result.append({"machine_type": machine_type, "count": str(printer_count[machine_type])}) return result + @pyqtProperty("QVariantList", notify=clusterPrintersChanged) + def printers(self): + return self._printers + @pyqtSlot(int, result = str) def formatDuration(self, seconds: int) -> str: return Duration(seconds).getDisplayString(DurationFormat.Format.Short) diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index daa2aa80bb..290e3d7605 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -193,7 +193,7 @@ Item // PrintCore && Material config Row { - id: extruderInfo + id: extrudersInfo anchors.bottom: parent.bottom anchors From 03a78331806cc5822e11b780822a9cee42abc2c9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 21 Aug 2018 10:14:12 +0200 Subject: [PATCH 024/162] Fixed qml warnings (reading from undefined properties) CL-893 && CL-894 --- plugins/Toolbox/src/Toolbox.py | 1 + .../UM3NetworkPrinting/ClusterControlItem.qml | 33 +++++++++++++++---- .../PrintCoreConfiguration.qml | 21 ++++++++++-- 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index c4205b8ed5..4d04da5de0 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -183,6 +183,7 @@ class Toolbox(QObject, Extension): "materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url=self._api_url)), "materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url=self._api_url)) } + print("*******", self._request_urls ) # Get the API root for the packages API depending on Cura version settings. def _getCloudAPIRoot(self) -> str: diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 2fb0b36471..6b5bb90479 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -203,29 +203,50 @@ Component anchors.left: parent.left anchors.right: parent.right anchors.margins: UM.Theme.getSize("default_margin").width - height: childrenRect.height + height: childrenRect.height + UM.Theme.getSize("default_margin").height Label { id: printJobName - text: modelData.activePrintJob.name + text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "" font: UM.Theme.getFont("default_bold") } Label { id: ownerName anchors.top: printJobName.bottom - text: modelData.activePrintJob.owner + text: modelData.activePrintJob != null ? modelData.activePrintJob.owner : "" } Image { - source: modelData.activePrintJob.preview_image_url + id: printJobPreview + source: modelData.activePrintJob != null ? modelData.activePrintJob.preview_image_url : "" anchors.top: ownerName.bottom anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: totalTimeLabel.top - width: height + //anchors.bottom: totalTimeLabel.top + width: parent.width / 3 + height: width } + Rectangle + { + id: showCameraIcon + width: 30 * screenScaleFactor + height: width + radius: width + anchors.left: parent.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.bottom: printJobPreview.bottom + color: UM.Theme.getColor("setting_control_border_highlight") + Image + { + width: parent.width + height: width + anchors.right: parent.right + anchors.rightMargin: parent.rightMargin + source: "camera-icon.svg" + } + } } } } diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index c71d0d1f79..893f6f7177 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -30,14 +30,22 @@ Item { anchors.centerIn: parent font: UM.Theme.getFont("default_bold") - text: printCoreConfiguration.position + 1 + text: printCoreConfiguration != undefined ? printCoreConfiguration.position + 1 : "" } } Label { id: materialLabel - text: printCoreConfiguration.activeMaterial != null ? printCoreConfiguration.activeMaterial.name : ":(" + text: + + { + if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) + { + return printCoreConfiguration.activeMaterial.name + } + return "" + } elide: Text.ElideRight width: parent.width font: UM.Theme.getFont("default_bold") @@ -48,7 +56,14 @@ Item Label { id: printCoreLabel - text: printCoreConfiguration.hotendID + text: + { + if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined) + { + return printCoreConfiguration.hotendID + } + return "" + } anchors.top: materialLabel.bottom elide: Text.ElideRight width: parent.width From 6a08b63f21c4b50eae56e883d8f02c4d57968b4d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 21 Aug 2018 13:32:22 +0200 Subject: [PATCH 025/162] Ensure that extruder configurations are correctly sorted CL-894 --- cura/PrinterOutput/ExtruderConfigurationModel.py | 4 ++-- plugins/Toolbox/src/Toolbox.py | 1 - .../UM3NetworkPrinting/ClusterUM3OutputDevice.py | 10 ++++------ .../UM3NetworkPrinting/PrintCoreConfiguration.qml | 15 ++++++++++++--- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/cura/PrinterOutput/ExtruderConfigurationModel.py b/cura/PrinterOutput/ExtruderConfigurationModel.py index 19d53d1271..75ee4b6ab3 100644 --- a/cura/PrinterOutput/ExtruderConfigurationModel.py +++ b/cura/PrinterOutput/ExtruderConfigurationModel.py @@ -11,9 +11,9 @@ class ExtruderConfigurationModel(QObject): extruderConfigurationChanged = pyqtSignal() - def __init__(self): + def __init__(self, position: int = -1): super().__init__() - self._position = -1 # type: int + self._position = position # type: int self._material = None # type: Optional[MaterialOutputModel] self._hotend_id = None # type: Optional[str] diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 4d04da5de0..c4205b8ed5 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -183,7 +183,6 @@ class Toolbox(QObject, Extension): "materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url=self._api_url)), "materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url=self._api_url)) } - print("*******", self._request_urls ) # Get the API root for the packages API depending on Cura version settings. def _getCloudAPIRoot(self) -> str: diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index 6f292d4f4b..6fffe2e3bf 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -520,18 +520,16 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): key=data["uuid"], name= data["name"]) configuration = ConfigurationModel() - extruders = [] + extruders = [ExtruderConfigurationModel(position = idx) for idx in range(0, self._number_of_extruders)] for index in range(0, self._number_of_extruders): - extruder = ExtruderConfigurationModel() - extruder.setPosition(index) try: extruder_data = data["configuration"][index] except IndexError: - break - + continue + extruder = extruders[int(data["configuration"][index]["extruder_index"])] extruder.setHotendID(extruder_data.get("print_core_id", "")) extruder.setMaterial(self._createMaterialOutputModel(extruder_data.get("material", {}))) - extruders.append(extruder) + configuration.setExtruderConfigurations(extruders) print_job.updateConfiguration(configuration) diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index 893f6f7177..46e45feac9 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -18,6 +18,15 @@ Item id: extruderCircle width: 30 height: 30 + opacity: + { + if(printCoreConfiguration == undefined || printCoreConfiguration.activeMaterial == undefined || printCoreConfiguration.hotendID == undefined) + { + return 0.5 + } + return 1 + } + Rectangle { anchors.fill: parent @@ -30,7 +39,7 @@ Item { anchors.centerIn: parent font: UM.Theme.getFont("default_bold") - text: printCoreConfiguration != undefined ? printCoreConfiguration.position + 1 : "" + text: printCoreConfiguration.position + 1 } } @@ -40,7 +49,7 @@ Item text: { - if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) + if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) { return printCoreConfiguration.activeMaterial.name } @@ -58,7 +67,7 @@ Item id: printCoreLabel text: { - if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined) + if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined) { return printCoreConfiguration.hotendID } From dc855689734b70109d670a9f7f19e2741b3e4433 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 21 Aug 2018 13:52:09 +0200 Subject: [PATCH 026/162] Printer tiles in sidepanel can now be collapsed even if no job is active CL-893 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 6b5bb90479..2d37142935 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -81,7 +81,6 @@ Component { anchors.fill: parent onClicked: base.collapsed = !base.collapsed - enabled: modelData.activePrintJob != null } Rectangle @@ -110,7 +109,6 @@ Component id: collapseIcon width: 15 height: 15 - visible: modelData.activePrintJob != null sourceSize.width: width sourceSize.height: height source: base.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom") @@ -199,11 +197,14 @@ Component Item { id: jobInfo + property var showJobInfo: modelData.activePrintJob != null && modelData.activePrintJob.state != "queued" + anchors.top: jobSpacer.bottom anchors.left: parent.left anchors.right: parent.right anchors.margins: UM.Theme.getSize("default_margin").width - height: childrenRect.height + UM.Theme.getSize("default_margin").height + height: showJobInfo ? childrenRect.height + UM.Theme.getSize("default_margin").height: 0 + visible: showJobInfo Label { id: printJobName From 5a13b86a3ff6922f55dd81341617e7df56b92fa5 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 21 Aug 2018 14:55:18 +0200 Subject: [PATCH 027/162] Changed style for context button CL-894 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 1 - .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 17 ++++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 2d37142935..261685feda 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -224,7 +224,6 @@ Component source: modelData.activePrintJob != null ? modelData.activePrintJob.preview_image_url : "" anchors.top: ownerName.bottom anchors.horizontalCenter: parent.horizontalCenter - //anchors.bottom: totalTimeLabel.top width: parent.width / 3 height: width } diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 290e3d7605..d1d3b176bd 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -120,12 +120,25 @@ Item Button { id: contextButton - text: "..." + text: "\u22EE" //Unicode; Three stacked points. + + width: 30 + height: width anchors { right: parent.right top: parent.top } + hoverEnabled: true + + background: Rectangle + { + opacity: contextButton.down || contextButton.hovered ? 1 : 0 + width: contextButton.width + height: contextButton.height + radius: 0.5 * width + color: "grey" + } onClicked: parent.switchPopupState() } @@ -138,8 +151,6 @@ Item closePolicy: Popup.CloseOnPressOutsideParent x: parent.width - width y: contextButton.height - //y: configurationSelector.height - UM.Theme.getSize("default_lining").height - //x: configurationSelector.width - width width: 200 height: contentItem.height + 2 * padding visible: false From 5176ead0e2bb038348f679ed745e18c4fac8a890 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 23 Aug 2018 15:07:31 +0200 Subject: [PATCH 028/162] Added print progress to sidebar CL-893 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 90 ++++++++++++++++++- 1 file changed, 86 insertions(+), 4 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 261685feda..da9bf1d457 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -5,12 +5,16 @@ import QtQuick.Controls.Styles 1.3 import UM 1.3 as UM import Cura 1.0 as Cura + + Component { Rectangle { id: base property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. + + property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. visible: OutputDevice != null anchors.fill: parent @@ -41,8 +45,6 @@ Component ScrollView { - id: queuedPrintJobs - anchors { top: activePrintersLabel.bottom @@ -60,7 +62,7 @@ Component delegate: Rectangle { width: parent.width - height: childrenRect.height + 2 * UM.Theme.getSize("default_margin").height + height: childrenRect.height + UM.Theme.getSize("default_margin").height id: base property var collapsed: true @@ -89,7 +91,7 @@ Component anchors.top: parent.top width: 50 height: 50 - color: "blue" + color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") } Label @@ -249,6 +251,86 @@ Component } } } + + ProgressBar + { + property var progress: + { + var result = modelData.activePrintJob.timeElapsed / modelData.activePrintJob.timeTotal + if(result > 1.0) + { + result = 1.0 + } + return result + } + + id: jobProgressBar + width: parent.width + value: progress + anchors.top: detailedInfo.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + + visible: modelData.activePrintJob != null && modelData.activePrintJob != undefined + + style: ProgressBarStyle + { + property var progressText: + { + if(modelData.activePrintJob == null) + { + return "" + } + + if(modelData.activePrintJob.state == "wait_cleanup") + { + return "Finshed" + } + else if(modelData.activePrintJob.state == "pre_print") + { + return "Preparing" + } + else + { + return OutputDevice.formatDuration(modelData.activePrintJob.timeTotal - modelData.activePrintJob.timeElapsed) + } + } + + background: Rectangle + { + implicitWidth: 100 + implicitHeight: visible ? 24 : 0 + color: UM.Theme.getColor("viewport_background") + } + + progress: Rectangle + { + color: UM.Theme.getColor("primary") + id: progressItem + function getTextOffset() + { + if(progressItem.width + progressLabel.width < control.width) + { + return progressItem.width + UM.Theme.getSize("default_margin").width + } + else + { + return progressItem.width - progressLabel.width - UM.Theme.getSize("default_margin").width + } + } + + Label + { + id: progressLabel + anchors.left: parent.left + anchors.leftMargin: getTextOffset() + text: progressText + anchors.verticalCenter: parent.verticalCenter + color: progressItem.width + progressLabel.width < control.width ? "black" : "white" + width: contentWidth + } + } + } + } } } } From b0d9dc6fddd6f9dd8c12daaf1c90e059911be352 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 23 Aug 2018 15:53:32 +0200 Subject: [PATCH 029/162] Added DropShadow to the printer & printjob tiles CL-893 && CL-894 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 29 ++++++++++++++----- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 25 ++++++++++++++-- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index da9bf1d457..75c31a7a58 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -1,12 +1,13 @@ -import QtQuick 2.2 +import QtQuick 2.3 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.3 +import QtGraphicalEffects 1.0 + import UM 1.3 as UM import Cura 1.0 as Cura - Component { Rectangle @@ -57,15 +58,25 @@ Component { anchors.fill: parent spacing: UM.Theme.getSize("default_margin").height - + displayMarginBeginning: 2 model: OutputDevice.printers delegate: Rectangle { - width: parent.width + width: parent.width - 2 * shadowRadius height: childrenRect.height + UM.Theme.getSize("default_margin").height - + anchors.horizontalCenter: parent.horizontalCenter id: base + property var shadowRadius: 5 property var collapsed: true + + layer.enabled: true + layer.effect: DropShadow + { + radius: base.shadowRadius + verticalOffset: 2 + color: "#3F000000" // 25% shadow + } + Item { id: printerInfo @@ -136,11 +147,13 @@ Component { id: detailedInfo property var printJob: modelData.activePrintJob - visible: !base.collapsed + visible: height == childrenRect.height anchors.top: printerInfo.bottom width: parent.width - height: visible ? childrenRect.height : 0 - + height: !base.collapsed ? childrenRect.height : 0 + opacity: visible ? 1 : 0 + Behavior on height { NumberAnimation { duration: 100 } } + Behavior on opacity { NumberAnimation { duration: 50 } } Rectangle { id: topSpacer diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index d1d3b176bd..ea3aafb5cc 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -1,15 +1,16 @@ import QtQuick 2.2 import QtQuick.Controls 2.0 import QtQuick.Controls.Styles 1.4 - +import QtGraphicalEffects 1.0 import UM 1.3 as UM Item { + id: base property var printJob: null - + property var shadowRadius: 5 function getPrettyTime(time) { return OutputDevice.formatDuration(time) @@ -24,7 +25,25 @@ Item Rectangle { id: background - anchors.fill: parent + anchors + { + top: parent.top + topMargin: 3 + left: parent.left + leftMargin: base.shadowRadius + rightMargin: base.shadowRadius + right: parent.right + bottom: parent.bottom + bottomMargin: base.shadowRadius + } + + layer.enabled: true + layer.effect: DropShadow + { + radius: base.shadowRadius + verticalOffset: 2 + color: "#3F000000" // 25% shadow + } Item { From dab2efab7f087fc252e3f3fc62c34002efd536e3 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 23 Aug 2018 17:29:48 +0200 Subject: [PATCH 030/162] Updated margins & layout for the monitor page CL-896 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 41 +++++++++++++------ .../UM3NetworkPrinting/ClusterMonitorItem.qml | 12 +++--- .../PrintCoreConfiguration.qml | 25 +++++++---- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 8 ++-- 4 files changed, 57 insertions(+), 29 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 75c31a7a58..bd94872183 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -51,15 +51,27 @@ Component top: activePrintersLabel.bottom left: parent.left right: parent.right - margins: UM.Theme.getSize("default_margin").width + topMargin: UM.Theme.getSize("default_margin").height bottom: parent.bottom } + + style: UM.Theme.styles.scrollview + ListView { - anchors.fill: parent + anchors + { + top: parent.top + bottom: parent.bottom + left: parent.left + right: parent.right + leftMargin: 2 * UM.Theme.getSize("default_margin").width + rightMargin: 2 * UM.Theme.getSize("default_margin").width + } spacing: UM.Theme.getSize("default_margin").height displayMarginBeginning: 2 model: OutputDevice.printers + delegate: Rectangle { width: parent.width - 2 * shadowRadius @@ -100,6 +112,8 @@ Component { id: machineIcon anchors.top: parent.top + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.left: parent.left width: 50 height: 50 color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") @@ -157,7 +171,7 @@ Component Rectangle { id: topSpacer - color: "grey" + color: UM.Theme.getColor("viewport_background") height: 1 anchors { @@ -165,6 +179,7 @@ Component right: parent.right margins: UM.Theme.getSize("default_margin").width top: parent.top + topMargin: 2 * UM.Theme.getSize("default_margin").width } } @@ -172,11 +187,11 @@ Component { id: extrudersInfo anchors.top: topSpacer.bottom - anchors.topMargin : UM.Theme.getSize("default_margin").height + anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.rightMargin: 2 * UM.Theme.getSize("default_margin").width height: childrenRect.height spacing: UM.Theme.getSize("default_margin").width @@ -198,7 +213,7 @@ Component Rectangle { id: jobSpacer - color: "grey" + color: UM.Theme.getColor("viewport_background") height: 1 anchors { @@ -206,6 +221,7 @@ Component right: parent.right margins: UM.Theme.getSize("default_margin").width top: extrudersInfo.bottom + topMargin: 2 * UM.Theme.getSize("default_margin").height } } @@ -215,10 +231,12 @@ Component property var showJobInfo: modelData.activePrintJob != null && modelData.activePrintJob.state != "queued" anchors.top: jobSpacer.bottom + anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height anchors.left: parent.left anchors.right: parent.right anchors.margins: UM.Theme.getSize("default_margin").width - height: showJobInfo ? childrenRect.height + UM.Theme.getSize("default_margin").height: 0 + anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width + height: showJobInfo ? childrenRect.height + 3 * UM.Theme.getSize("default_margin").height: 0 visible: showJobInfo Label { @@ -246,12 +264,11 @@ Component Rectangle { id: showCameraIcon - width: 30 * screenScaleFactor + width: 35 * screenScaleFactor height: width - radius: width + radius: 0.5 * width anchors.left: parent.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.bottom: printJobPreview.bottom + anchors.top: printJobPreview.bottom color: UM.Theme.getColor("setting_control_border_highlight") Image { diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 3bc9fedc9c..1fd217cbdf 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -79,15 +79,16 @@ Component margins: UM.Theme.getSize("default_margin").width top: activePrintersLabel.bottom left: parent.left - leftMargin: UM.Theme.getSize("default_lining").width // To ensure border can be drawn. - rightMargin: UM.Theme.getSize("default_lining").width + bottomMargin: 0 right: parent.right bottom: parent.bottom } + style: UM.Theme.styles.scrollview ListView { anchors.fill: parent + anchors.margins: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height model: OutputDevice.queuedPrintJobs @@ -95,11 +96,10 @@ Component delegate: PrintJobInfoBlock { printJob: modelData - width: Math.min(800 * screenScaleFactor, maximumWidth) + anchors.left: parent.left + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").height height: 125 * screenScaleFactor - - // Add a 1 pix margin, as the border is sometimes cut off otherwise. - anchors.horizontalCenter: parent.horizontalCenter } } } diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index 46e45feac9..c8825cd197 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -47,7 +47,6 @@ Item { id: materialLabel text: - { if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) { @@ -55,11 +54,15 @@ Item } return "" } - elide: Text.ElideRight - width: parent.width font: UM.Theme.getFont("default_bold") - anchors.left: extruderCircle.right - anchors.leftMargin: UM.Theme.getSize("default_margin").height + elide: Text.ElideRight + + anchors + { + right: parent.right + left: extruderCircle.right + margins: UM.Theme.getSize("default_margin").width + } } Label @@ -75,8 +78,14 @@ Item } anchors.top: materialLabel.bottom elide: Text.ElideRight - width: parent.width - anchors.left: extruderCircle.right - anchors.leftMargin: UM.Theme.getSize("default_margin").height + + anchors + { + top: materialLabel.bottom + right: parent.right + left: extruderCircle.right + leftMargin: UM.Theme.getSize("default_margin").width + rightMargin: UM.Theme.getSize("default_margin").width + } } } diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index ea3aafb5cc..1be58a35b8 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -54,7 +54,8 @@ Item bottom: parent.bottom left: parent.left right: parent.horizontalCenter - margins: UM.Theme.getSize("default_margin").width + margins: 2 * UM.Theme.getSize("default_margin").width + rightMargin: UM.Theme.getSize("default_margin").width } Label @@ -101,7 +102,8 @@ Item bottom: parent.bottom left: parent.horizontalCenter right: parent.right - margins: UM.Theme.getSize("default_margin").width + margins: 2 * UM.Theme.getSize("default_margin").width + leftMargin: UM.Theme.getSize("default_margin").width } Label @@ -254,7 +256,7 @@ Item Rectangle { - color: "grey" + color: UM.Theme.getColor("viewport_background") width: 1 anchors.top: parent.top From c703d15cd3b9558bc3f9f551b75161ed14156b1f Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 23 Aug 2018 18:05:13 +0200 Subject: [PATCH 031/162] Updated the styling of the context hover CL-896 --- .../UM3NetworkPrinting/ClusterMonitorItem.qml | 2 +- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 33 +++++++++++++++---- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 1fd217cbdf..be52eea214 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -99,7 +99,7 @@ Component anchors.left: parent.left anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("default_margin").height - height: 125 * screenScaleFactor + height: 175 * screenScaleFactor } } } diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 1be58a35b8..5722f332cc 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -142,8 +142,8 @@ Item { id: contextButton text: "\u22EE" //Unicode; Three stacked points. - - width: 30 + font.pixelSize: 25 + width: 35 height: width anchors { @@ -158,8 +158,9 @@ Item width: contextButton.width height: contextButton.height radius: 0.5 * width - color: "grey" + color: UM.Theme.getColor("viewport_background") } + onClicked: parent.switchPopupState() } @@ -175,7 +176,7 @@ Item width: 200 height: contentItem.height + 2 * padding visible: false - padding: UM.Theme.getSize("default_lining").width + transformOrigin: Popup.Top contentItem: Item { @@ -188,6 +189,12 @@ Item onClicked: OutputDevice.sendJobToTop(printJob.key) width: parent.width enabled: OutputDevice.printJobs[0].key != printJob.key + hoverEnabled: true + background: Rectangle + { + opacity: sendToTopButton.down || sendToTopButton.hovered ? 1 : 0 + color: UM.Theme.getColor("viewport_background") + } } Button { @@ -196,14 +203,28 @@ Item onClicked: OutputDevice.deleteJobFromQueue(printJob.key) width: parent.width anchors.top: sendToTopButton.bottom + hoverEnabled: true + background: Rectangle + { + opacity: deleteButton.down || deleteButton.hovered ? 1 : 0 + color: UM.Theme.getColor("viewport_background") + } } } background: Rectangle { color: UM.Theme.getColor("setting_control") - border.color: UM.Theme.getColor("setting_control_border") - height: popup.height + height: popup.height - 10 // - 2 times the radius of the dropshadow. + width: popup.width - 10 + layer.enabled: true + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + layer.effect: DropShadow + { + radius: 5 + color: "#3F000000" // 25% shadow + } } exit: Transition From e9d4c36b320deb2424b461cffa384c021513675c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 23 Aug 2018 18:16:39 +0200 Subject: [PATCH 032/162] Updated labels --- .../UM3NetworkPrinting/ClusterControlItem.qml | 2 +- .../UM3NetworkPrinting/ClusterMonitorItem.qml | 37 +++++-------------- 2 files changed, 11 insertions(+), 28 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index bd94872183..807a18c1ea 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -39,7 +39,7 @@ Component right: parent.right } - text: OutputDevice.name + text: catalog.i18nc("@label", "Printing") elide: Text.ElideRight } diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index be52eea214..b39266b3e6 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -40,34 +40,16 @@ Component visible: OutputDevice.printers.length == 0 } - Item + Label { - anchors.topMargin: UM.Theme.getSize("default_margin").height + id: queuedLabel + anchors.left: queuedPrintJobs.left anchors.top: parent.top - anchors.horizontalCenter: parent.horizontalCenter - - width: Math.min(800 * screenScaleFactor, maximumWidth) - height: children.height - visible: OutputDevice.printers.length != 0 - - Label - { - id: addRemovePrintersLabel - anchors.right: parent.right - text: catalog.i18nc("@label link to connect manager", "Add/Remove printers") - font: UM.Theme.getFont("default") - color: UM.Theme.getColor("text") - linkColor: UM.Theme.getColor("text_link") - } - - MouseArea - { - anchors.fill: addRemovePrintersLabel - hoverEnabled: true - onClicked: Cura.MachineManager.printerOutputDevices[0].openPrinterControlPanel() - onEntered: addRemovePrintersLabel.font.underline = true - onExited: addRemovePrintersLabel.font.underline = false - } + anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height + anchors.leftMargin: 3 * UM.Theme.getSize("default_margin").width + text: catalog.i18nc("@label", "Queued") + font: UM.Theme.getFont("large") + color: UM.Theme.getColor("text") } ScrollView @@ -77,7 +59,8 @@ Component anchors { margins: UM.Theme.getSize("default_margin").width - top: activePrintersLabel.bottom + top: queuedLabel.bottom + topMargin: 0 left: parent.left bottomMargin: 0 right: parent.right From 6bfa2fed966c8e8cee5370ef9589665fb5e2207d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 23 Aug 2018 19:46:14 +0200 Subject: [PATCH 033/162] Updated display states and fixed some more margins CL-896 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 38 ++++++++++++------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 807a18c1ea..2e67668741 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -53,6 +53,7 @@ Component right: parent.right topMargin: UM.Theme.getSize("default_margin").height bottom: parent.bottom + bottomMargin: UM.Theme.getSize("default_margin").height } style: UM.Theme.styles.scrollview @@ -69,7 +70,6 @@ Component rightMargin: 2 * UM.Theme.getSize("default_margin").width } spacing: UM.Theme.getSize("default_margin").height - displayMarginBeginning: 2 model: OutputDevice.printers delegate: Rectangle @@ -167,7 +167,7 @@ Component height: !base.collapsed ? childrenRect.height : 0 opacity: visible ? 1 : 0 Behavior on height { NumberAnimation { duration: 100 } } - Behavior on opacity { NumberAnimation { duration: 50 } } + Behavior on opacity { NumberAnimation { duration: 100 } } Rectangle { id: topSpacer @@ -179,7 +179,7 @@ Component right: parent.right margins: UM.Theme.getSize("default_margin").width top: parent.top - topMargin: 2 * UM.Theme.getSize("default_margin").width + topMargin: UM.Theme.getSize("default_margin").width } } @@ -236,7 +236,7 @@ Component anchors.right: parent.right anchors.margins: UM.Theme.getSize("default_margin").width anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width - height: showJobInfo ? childrenRect.height + 3 * UM.Theme.getSize("default_margin").height: 0 + height: showJobInfo ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height: 0 visible: showJobInfo Label { @@ -286,6 +286,10 @@ Component { property var progress: { + if(modelData.activePrintJob == null) + { + return 0 + } var result = modelData.activePrintJob.timeElapsed / modelData.activePrintJob.timeTotal if(result > 1.0) { @@ -311,17 +315,23 @@ Component return "" } - if(modelData.activePrintJob.state == "wait_cleanup") + switch(modelData.activePrintJob.state) { - return "Finshed" - } - else if(modelData.activePrintJob.state == "pre_print") - { - return "Preparing" - } - else - { - return OutputDevice.formatDuration(modelData.activePrintJob.timeTotal - modelData.activePrintJob.timeElapsed) + case "wait_cleanup": + return catalog.i18nc("@label:status", "Finshed") + case "pre_print": + case "sent_to_printer": + return catalog.i18nc("@label:status", "Preparing") + case "aborted": + case "wait_user_action": + return catalog.i18nc("@label:status", "Aborted") + case "pausing": + case "paused": + return catalog.i18nc("@label:status", "Paused") + case "resuming": + return catalog.i18nc("@label:status", "Resuming") + default: + OutputDevice.formatDuration(modelData.activePrintJob.timeTotal - modelData.activePrintJob.timeElapsed) } } From fc83520ad9ccfc385db4d88e1f81e9b0152253c1 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 23 Aug 2018 20:34:20 +0200 Subject: [PATCH 034/162] Added camera view back to cluster screen CL-893 --- cura/CameraImageProvider.py | 8 ++++++- .../UM3NetworkPrinting/ClusterControlItem.qml | 8 +++++++ .../UM3NetworkPrinting/ClusterMonitorItem.qml | 7 ++++--- .../ClusterUM3OutputDevice.py | 20 ++++++++++++++++++ .../UM3NetworkPrinting/PrinterVideoStream.qml | 21 +++++++++++-------- 5 files changed, 51 insertions(+), 13 deletions(-) diff --git a/cura/CameraImageProvider.py b/cura/CameraImageProvider.py index ff5c51f24b..6a07f6b029 100644 --- a/cura/CameraImageProvider.py +++ b/cura/CameraImageProvider.py @@ -19,5 +19,11 @@ class CameraImageProvider(QQuickImageProvider): return image, QSize(15, 15) except AttributeError: - pass + try: + image = output_device.activeCamera.getImage() + + return image, QSize(15, 15) + except AttributeError: + pass + return QImage(), QSize(15, 15) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 2e67668741..50419c48ff 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -278,6 +278,14 @@ Component anchors.rightMargin: parent.rightMargin source: "camera-icon.svg" } + MouseArea + { + anchors.fill:parent + onClicked: + { + OutputDevice.setActiveCamera(modelData.camera) + } + } } } } diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index b39266b3e6..ff5fad5abd 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -89,17 +89,18 @@ Component PrinterVideoStream { - visible: OutputDevice.activePrinter != null + visible: OutputDevice.activeCamera != null anchors.fill: parent + camera: OutputDevice.activeCamera } onVisibleChanged: { - if (!monitorFrame.visible) + if (monitorFrame != null && !monitorFrame.visible) { // After switching the Tab ensure that active printer is Null, the video stream image // might be active - OutputDevice.setActivePrinter(null) + OutputDevice.setActiveCamera(null) } } } diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index 6fffe2e3bf..7506a870a9 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -46,6 +46,7 @@ i18n_catalog = i18nCatalog("cura") class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): printJobsChanged = pyqtSignal() activePrinterChanged = pyqtSignal() + activeCameraChanged = pyqtSignal() # This is a bit of a hack, as the notify can only use signals that are defined by the class that they are in. # Inheritance doesn't seem to work. Tying them together does work, but i'm open for better suggestions. @@ -96,6 +97,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._latest_reply_handler = None # type: Optional[QNetworkReply] self._sending_job = None + self._active_camera = None # type: Optional[NetworkCamera] + def requestWrite(self, nodes: List[SceneNode], file_name: Optional[str] = None, limit_mimetypes: bool = False, file_handler: Optional[FileHandler] = None, **kwargs: str) -> None: self.writeStarted.emit(self) @@ -256,6 +259,10 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def activePrinter(self) -> Optional[PrinterOutputModel]: return self._active_printer + @pyqtProperty(QObject, notify=activeCameraChanged) + def activeCamera(self) -> Optional[NetworkCamera]: + return self._active_camera + @pyqtSlot(QObject) def setActivePrinter(self, printer: Optional[PrinterOutputModel]) -> None: if self._active_printer != printer: @@ -264,6 +271,19 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._active_printer = printer self.activePrinterChanged.emit() + @pyqtSlot(QObject) + def setActiveCamera(self, camera: Optional[NetworkCamera]) -> None: + if self._active_camera != camera: + if self._active_camera: + self._active_camera.stop() + + self._active_camera = camera + + if self._active_camera: + self._active_camera.start() + + self.activeCameraChanged.emit() + def _onPostPrintJobFinished(self, reply: QNetworkReply) -> None: if self._progress_message: self._progress_message.hide() diff --git a/plugins/UM3NetworkPrinting/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/PrinterVideoStream.qml index 68758e095e..74c8ec8483 100644 --- a/plugins/UM3NetworkPrinting/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/PrinterVideoStream.qml @@ -7,6 +7,8 @@ import UM 1.3 as UM Item { + property var camera: null + Rectangle { anchors.fill:parent @@ -17,7 +19,7 @@ Item MouseArea { anchors.fill: parent - onClicked: OutputDevice.setActivePrinter(null) + onClicked: OutputDevice.setActiveCamera(null) z: 0 } @@ -32,7 +34,7 @@ Item width: 20 * screenScaleFactor height: 20 * screenScaleFactor - onClicked: OutputDevice.setActivePrinter(null) + onClicked: OutputDevice.setActiveCamera(null) style: ButtonStyle { @@ -65,23 +67,24 @@ Item { if(visible) { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) + if(camera != null) { - OutputDevice.activePrinter.camera.start() + camera.start() } } else { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) + if(camera != null) { - OutputDevice.activePrinter.camera.stop() + camera.stop() } } } + source: { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null && OutputDevice.activePrinter.camera.latestImage) + if(camera != null && camera.latestImage != null) { - return OutputDevice.activePrinter.camera.latestImage; + return camera.latestImage; } return ""; } @@ -92,7 +95,7 @@ Item anchors.fill: cameraImage onClicked: { - OutputDevice.setActivePrinter(null) + OutputDevice.setActiveCamera(null) } z: 1 } From 3e623a6fe6b7dda7747849c6b91bd4a62508d0fd Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 11:02:05 +0200 Subject: [PATCH 035/162] Added pointer to context popup CL-894 --- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 52 +++++++++++++++---- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 5722f332cc..c9a4f14116 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -181,7 +181,7 @@ Item contentItem: Item { width: popup.width - 2 * popup.padding - height: childrenRect.height + height: childrenRect.height + 15 Button { id: sendToTopButton @@ -189,6 +189,8 @@ Item onClicked: OutputDevice.sendJobToTop(printJob.key) width: parent.width enabled: OutputDevice.printJobs[0].key != printJob.key + anchors.top: parent.top + anchors.topMargin: 10 hoverEnabled: true background: Rectangle { @@ -196,6 +198,7 @@ Item color: UM.Theme.getColor("viewport_background") } } + Button { id: deleteButton @@ -212,18 +215,49 @@ Item } } - background: Rectangle + background: Item { - color: UM.Theme.getColor("setting_control") - height: popup.height - 10 // - 2 times the radius of the dropshadow. - width: popup.width - 10 - layer.enabled: true - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - layer.effect: DropShadow + width: popup.width + height: popup.height + + DropShadow { + anchors.fill: pointedRectangle radius: 5 color: "#3F000000" // 25% shadow + source: pointedRectangle + transparentBorder: true + } + + Item + { + id: pointedRectangle + width: parent.width -10 + height: parent.height -10 + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + + Rectangle + { + id: point + height: 13 + width: 13 + color: UM.Theme.getColor("setting_control") + transform: Rotation { angle: 45} + anchors.right: bloop.right + y: 1 + } + + Rectangle + { + id: bloop + color: UM.Theme.getColor("setting_control") + width: parent.width + anchors.top: parent.top + anchors.topMargin: 10 + anchors.bottom: parent.bottom + anchors.bottomMargin: 5 + } } } From c13f25219357e87d041a99f0e07c08da3375618a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 13:41:33 +0200 Subject: [PATCH 036/162] Some spacing / anchoring fixes CL-896 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 19 +++++++++-------- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 21 ++++++++++++------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 50419c48ff..a89da54e1b 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -19,7 +19,7 @@ Component property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. visible: OutputDevice != null anchors.fill: parent - color: UM.Theme.getColor("viewport_background") + color: "white" UM.I18nCatalog { @@ -29,11 +29,12 @@ Component Label { - id: activePrintersLabel + id: printingLabel font: UM.Theme.getFont("large") anchors { - margins: UM.Theme.getSize("default_margin").width + margins: 2 * UM.Theme.getSize("default_margin").width + leftMargin: 4 * UM.Theme.getSize("default_margin").width top: parent.top left: parent.left right: parent.right @@ -48,10 +49,10 @@ Component { anchors { - top: activePrintersLabel.bottom + top: printingLabel.bottom left: parent.left right: parent.right - topMargin: UM.Theme.getSize("default_margin").height + topMargin: 2 * UM.Theme.getSize("default_margin").height bottom: parent.bottom bottomMargin: UM.Theme.getSize("default_margin").height } @@ -172,7 +173,7 @@ Component { id: topSpacer color: UM.Theme.getColor("viewport_background") - height: 1 + height: 2 anchors { left: parent.left @@ -214,7 +215,7 @@ Component { id: jobSpacer color: UM.Theme.getColor("viewport_background") - height: 1 + height: 2 anchors { left: parent.left @@ -257,7 +258,7 @@ Component source: modelData.activePrintJob != null ? modelData.activePrintJob.preview_image_url : "" anchors.top: ownerName.bottom anchors.horizontalCenter: parent.horizontalCenter - width: parent.width / 3 + width: parent.width / 2 height: width } @@ -268,7 +269,7 @@ Component height: width radius: 0.5 * width anchors.left: parent.left - anchors.top: printJobPreview.bottom + anchors.bottom: printJobPreview.bottom color: UM.Theme.getColor("setting_control_border_highlight") Image { diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index c9a4f14116..8562eb3c61 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -77,7 +77,7 @@ Item source: printJob.preview_image_url anchors.top: ownerName.bottom anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: totalTimeLabel.top + anchors.bottom: totalTimeLabel.bottom width: height } @@ -186,7 +186,11 @@ Item { id: sendToTopButton text: catalog.i18nc("@label", "Move to top") - onClicked: OutputDevice.sendJobToTop(printJob.key) + onClicked: + { + OutputDevice.sendJobToTop(printJob.key) + popup.close() + } width: parent.width enabled: OutputDevice.printJobs[0].key != printJob.key anchors.top: parent.top @@ -198,12 +202,16 @@ Item color: UM.Theme.getColor("viewport_background") } } - + Button { id: deleteButton text: catalog.i18nc("@label", "Delete") - onClicked: OutputDevice.deleteJobFromQueue(printJob.key) + onClicked: + { + OutputDevice.deleteJobFromQueue(printJob.key) + popup.close() + } width: parent.width anchors.top: sendToTopButton.bottom hoverEnabled: true @@ -312,14 +320,11 @@ Item Rectangle { color: UM.Theme.getColor("viewport_background") - width: 1 - + width: 2 anchors.top: parent.top anchors.bottom: parent.bottom anchors.margins: UM.Theme.getSize("default_margin").height anchors.horizontalCenter: parent.horizontalCenter - } - } } \ No newline at end of file From bc651fea92d959b2505109ada790663faad49973 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 13:50:52 +0200 Subject: [PATCH 037/162] First printer tile no longer has shadow cut off from top CL-894 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 499 +++++++++--------- 1 file changed, 252 insertions(+), 247 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index a89da54e1b..95a823d950 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -70,312 +70,317 @@ Component leftMargin: 2 * UM.Theme.getSize("default_margin").width rightMargin: 2 * UM.Theme.getSize("default_margin").width } - spacing: UM.Theme.getSize("default_margin").height + spacing: UM.Theme.getSize("default_margin").height -10 model: OutputDevice.printers - delegate: Rectangle + delegate: Item { - width: parent.width - 2 * shadowRadius - height: childrenRect.height + UM.Theme.getSize("default_margin").height - anchors.horizontalCenter: parent.horizontalCenter - id: base - property var shadowRadius: 5 - property var collapsed: true - - layer.enabled: true - layer.effect: DropShadow + width: parent.width + height: base.height + 2 * base.shadowRadius // To ensure that the shadow doesn't get cut off. + Rectangle { - radius: base.shadowRadius - verticalOffset: 2 - color: "#3F000000" // 25% shadow - } + width: parent.width - 2 * shadowRadius + height: childrenRect.height + UM.Theme.getSize("default_margin").height + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + id: base + property var shadowRadius: 5 + property var collapsed: true - Item - { - id: printerInfo - height: machineIcon.height - anchors + layer.enabled: true + layer.effect: DropShadow { - top: parent.top - left: parent.left - right: parent.right - - margins: UM.Theme.getSize("default_margin").width + radius: base.shadowRadius + verticalOffset: 2 + color: "#3F000000" // 25% shadow } - MouseArea + Item { - anchors.fill: parent - onClicked: base.collapsed = !base.collapsed - } - - Rectangle - { - id: machineIcon - anchors.top: parent.top - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.left: parent.left - width: 50 - height: 50 - color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") - } - - Label - { - id: machineNameLabel - text: modelData.name - anchors.top: machineIcon.top - anchors.left: machineIcon.right - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: collapseIcon.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - elide: Text.ElideRight - } - - UM.RecolorImage - { - id: collapseIcon - width: 15 - height: 15 - sourceSize.width: width - sourceSize.height: height - source: base.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom") - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - color: "black" - } - - Label - { - id: activeJobLabel - text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "waiting" - anchors.top: machineNameLabel.bottom - anchors.left: machineNameLabel.left - anchors.right: collapseIcon.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - elide: Text.ElideRight - } - } - - Item - { - id: detailedInfo - property var printJob: modelData.activePrintJob - visible: height == childrenRect.height - anchors.top: printerInfo.bottom - width: parent.width - height: !base.collapsed ? childrenRect.height : 0 - opacity: visible ? 1 : 0 - Behavior on height { NumberAnimation { duration: 100 } } - Behavior on opacity { NumberAnimation { duration: 100 } } - Rectangle - { - id: topSpacer - color: UM.Theme.getColor("viewport_background") - height: 2 + id: printerInfo + height: machineIcon.height anchors { - left: parent.left - right: parent.right - margins: UM.Theme.getSize("default_margin").width top: parent.top - topMargin: UM.Theme.getSize("default_margin").width - } - } - - Row - { - id: extrudersInfo - anchors.top: topSpacer.bottom - anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width - anchors.right: parent.right - anchors.rightMargin: 2 * UM.Theme.getSize("default_margin").width - height: childrenRect.height - spacing: UM.Theme.getSize("default_margin").width - - PrintCoreConfiguration - { - id: leftExtruderInfo - width: Math.round(parent.width / 2) - printCoreConfiguration: modelData.printerConfiguration.extruderConfigurations[0] - } - - PrintCoreConfiguration - { - id: rightExtruderInfo - width: Math.round(parent.width / 2) - printCoreConfiguration: modelData.printerConfiguration.extruderConfigurations[1] - } - } - - Rectangle - { - id: jobSpacer - color: UM.Theme.getColor("viewport_background") - height: 2 - anchors - { left: parent.left right: parent.right margins: UM.Theme.getSize("default_margin").width - top: extrudersInfo.bottom - topMargin: 2 * UM.Theme.getSize("default_margin").height + } + + MouseArea + { + anchors.fill: parent + onClicked: base.collapsed = !base.collapsed + } + + Rectangle + { + id: machineIcon + anchors.top: parent.top + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.left: parent.left + width: 50 + height: 50 + color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") + } + + Label + { + id: machineNameLabel + text: modelData.name + anchors.top: machineIcon.top + anchors.left: machineIcon.right + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: collapseIcon.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + elide: Text.ElideRight + } + + UM.RecolorImage + { + id: collapseIcon + width: 15 + height: 15 + sourceSize.width: width + sourceSize.height: height + source: base.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom") + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + color: "black" + } + + Label + { + id: activeJobLabel + text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "waiting" + anchors.top: machineNameLabel.bottom + anchors.left: machineNameLabel.left + anchors.right: collapseIcon.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + elide: Text.ElideRight } } Item { - id: jobInfo - property var showJobInfo: modelData.activePrintJob != null && modelData.activePrintJob.state != "queued" - - anchors.top: jobSpacer.bottom - anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.right: parent.right - anchors.margins: UM.Theme.getSize("default_margin").width - anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width - height: showJobInfo ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height: 0 - visible: showJobInfo - Label + id: detailedInfo + property var printJob: modelData.activePrintJob + visible: height == childrenRect.height + anchors.top: printerInfo.bottom + width: parent.width + height: !base.collapsed ? childrenRect.height : 0 + opacity: visible ? 1 : 0 + Behavior on height { NumberAnimation { duration: 100 } } + Behavior on opacity { NumberAnimation { duration: 100 } } + Rectangle { - id: printJobName - text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "" - font: UM.Theme.getFont("default_bold") - } - Label - { - id: ownerName - anchors.top: printJobName.bottom - text: modelData.activePrintJob != null ? modelData.activePrintJob.owner : "" + id: topSpacer + color: UM.Theme.getColor("viewport_background") + height: 2 + anchors + { + left: parent.left + right: parent.right + margins: UM.Theme.getSize("default_margin").width + top: parent.top + topMargin: UM.Theme.getSize("default_margin").width + } } - Image + Row { - id: printJobPreview - source: modelData.activePrintJob != null ? modelData.activePrintJob.preview_image_url : "" - anchors.top: ownerName.bottom - anchors.horizontalCenter: parent.horizontalCenter - width: parent.width / 2 - height: width + id: extrudersInfo + anchors.top: topSpacer.bottom + anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height + anchors.left: parent.left + anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width + anchors.right: parent.right + anchors.rightMargin: 2 * UM.Theme.getSize("default_margin").width + height: childrenRect.height + spacing: UM.Theme.getSize("default_margin").width + + PrintCoreConfiguration + { + id: leftExtruderInfo + width: Math.round(parent.width / 2) + printCoreConfiguration: modelData.printerConfiguration.extruderConfigurations[0] + } + + PrintCoreConfiguration + { + id: rightExtruderInfo + width: Math.round(parent.width / 2) + printCoreConfiguration: modelData.printerConfiguration.extruderConfigurations[1] + } } Rectangle { - id: showCameraIcon - width: 35 * screenScaleFactor - height: width - radius: 0.5 * width + id: jobSpacer + color: UM.Theme.getColor("viewport_background") + height: 2 + anchors + { + left: parent.left + right: parent.right + margins: UM.Theme.getSize("default_margin").width + top: extrudersInfo.bottom + topMargin: 2 * UM.Theme.getSize("default_margin").height + } + } + + Item + { + id: jobInfo + property var showJobInfo: modelData.activePrintJob != null && modelData.activePrintJob.state != "queued" + + anchors.top: jobSpacer.bottom + anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height anchors.left: parent.left - anchors.bottom: printJobPreview.bottom - color: UM.Theme.getColor("setting_control_border_highlight") + anchors.right: parent.right + anchors.margins: UM.Theme.getSize("default_margin").width + anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width + height: showJobInfo ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height: 0 + visible: showJobInfo + Label + { + id: printJobName + text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "" + font: UM.Theme.getFont("default_bold") + } + Label + { + id: ownerName + anchors.top: printJobName.bottom + text: modelData.activePrintJob != null ? modelData.activePrintJob.owner : "" + } + Image { - width: parent.width + id: printJobPreview + source: modelData.activePrintJob != null ? modelData.activePrintJob.preview_image_url : "" + anchors.top: ownerName.bottom + anchors.horizontalCenter: parent.horizontalCenter + width: parent.width / 2 height: width - anchors.right: parent.right - anchors.rightMargin: parent.rightMargin - source: "camera-icon.svg" } - MouseArea + + Rectangle { - anchors.fill:parent - onClicked: + id: showCameraIcon + width: 35 * screenScaleFactor + height: width + radius: 0.5 * width + anchors.left: parent.left + anchors.bottom: printJobPreview.bottom + color: UM.Theme.getColor("setting_control_border_highlight") + Image { - OutputDevice.setActiveCamera(modelData.camera) + width: parent.width + height: width + anchors.right: parent.right + anchors.rightMargin: parent.rightMargin + source: "camera-icon.svg" + } + MouseArea + { + anchors.fill:parent + onClicked: + { + OutputDevice.setActiveCamera(modelData.camera) + } } } } } - } - ProgressBar - { - property var progress: + ProgressBar { - if(modelData.activePrintJob == null) - { - return 0 - } - var result = modelData.activePrintJob.timeElapsed / modelData.activePrintJob.timeTotal - if(result > 1.0) - { - result = 1.0 - } - return result - } - - id: jobProgressBar - width: parent.width - value: progress - anchors.top: detailedInfo.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - - visible: modelData.activePrintJob != null && modelData.activePrintJob != undefined - - style: ProgressBarStyle - { - property var progressText: + property var progress: { if(modelData.activePrintJob == null) { - return "" + return 0 } - - switch(modelData.activePrintJob.state) + var result = modelData.activePrintJob.timeElapsed / modelData.activePrintJob.timeTotal + if(result > 1.0) { - case "wait_cleanup": - return catalog.i18nc("@label:status", "Finshed") - case "pre_print": - case "sent_to_printer": - return catalog.i18nc("@label:status", "Preparing") - case "aborted": - case "wait_user_action": - return catalog.i18nc("@label:status", "Aborted") - case "pausing": - case "paused": - return catalog.i18nc("@label:status", "Paused") - case "resuming": - return catalog.i18nc("@label:status", "Resuming") - default: - OutputDevice.formatDuration(modelData.activePrintJob.timeTotal - modelData.activePrintJob.timeElapsed) + result = 1.0 } + return result } - background: Rectangle - { - implicitWidth: 100 - implicitHeight: visible ? 24 : 0 - color: UM.Theme.getColor("viewport_background") - } + id: jobProgressBar + width: parent.width + value: progress + anchors.top: detailedInfo.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height - progress: Rectangle + visible: modelData.activePrintJob != null && modelData.activePrintJob != undefined + + style: ProgressBarStyle { - color: UM.Theme.getColor("primary") - id: progressItem - function getTextOffset() + property var progressText: { - if(progressItem.width + progressLabel.width < control.width) + if(modelData.activePrintJob == null) { - return progressItem.width + UM.Theme.getSize("default_margin").width + return "" } - else + + switch(modelData.activePrintJob.state) { - return progressItem.width - progressLabel.width - UM.Theme.getSize("default_margin").width + case "wait_cleanup": + return catalog.i18nc("@label:status", "Finshed") + case "pre_print": + case "sent_to_printer": + return catalog.i18nc("@label:status", "Preparing") + case "aborted": + case "wait_user_action": + return catalog.i18nc("@label:status", "Aborted") + case "pausing": + case "paused": + return catalog.i18nc("@label:status", "Paused") + case "resuming": + return catalog.i18nc("@label:status", "Resuming") + default: + OutputDevice.formatDuration(modelData.activePrintJob.timeTotal - modelData.activePrintJob.timeElapsed) } } - Label + background: Rectangle { - id: progressLabel - anchors.left: parent.left - anchors.leftMargin: getTextOffset() - text: progressText - anchors.verticalCenter: parent.verticalCenter - color: progressItem.width + progressLabel.width < control.width ? "black" : "white" - width: contentWidth + implicitWidth: 100 + implicitHeight: visible ? 24 : 0 + color: UM.Theme.getColor("viewport_background") + } + + progress: Rectangle + { + color: UM.Theme.getColor("primary") + id: progressItem + function getTextOffset() + { + if(progressItem.width + progressLabel.width < control.width) + { + return progressItem.width + UM.Theme.getSize("default_margin").width + } + else + { + return progressItem.width - progressLabel.width - UM.Theme.getSize("default_margin").width + } + } + + Label + { + id: progressLabel + anchors.left: parent.left + anchors.leftMargin: getTextOffset() + text: progressText + anchors.verticalCenter: parent.verticalCenter + color: progressItem.width + progressLabel.width < control.width ? "black" : "white" + width: contentWidth + } } } } From 36da9cc9e5ddb33208360dcf1f20244ced10cb17 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 13:52:34 +0200 Subject: [PATCH 038/162] Added verticalOffset to popup shadow. This way it's more in line with the rest of the elements CL-896 --- plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 8562eb3c61..a6b35ca44a 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -235,6 +235,7 @@ Item color: "#3F000000" // 25% shadow source: pointedRectangle transparentBorder: true + verticalOffset: 2 } Item From 5605ff3b4629ad294b5a5924297c5d842f812d86 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 14:07:56 +0200 Subject: [PATCH 039/162] Fixed fonts CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 8 +++++++- plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml | 3 +++ plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml | 6 ++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 95a823d950..0574a2eba5 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -52,7 +52,7 @@ Component top: printingLabel.bottom left: parent.left right: parent.right - topMargin: 2 * UM.Theme.getSize("default_margin").height + topMargin: 1 * UM.Theme.getSize("default_margin").height bottom: parent.bottom bottomMargin: UM.Theme.getSize("default_margin").height } @@ -134,6 +134,7 @@ Component anchors.right: collapseIcon.left anchors.rightMargin: UM.Theme.getSize("default_margin").width elide: Text.ElideRight + font: UM.Theme.getFont("default_bold") } UM.RecolorImage @@ -159,6 +160,8 @@ Component anchors.right: collapseIcon.left anchors.rightMargin: UM.Theme.getSize("default_margin").width elide: Text.ElideRight + font: UM.Theme.getFont("default") + opacity: 0.6 } } @@ -254,6 +257,8 @@ Component id: ownerName anchors.top: printJobName.bottom text: modelData.activePrintJob != null ? modelData.activePrintJob.owner : "" + font: UM.Theme.getFont("default") + opacity: 0.6 } Image @@ -380,6 +385,7 @@ Component anchors.verticalCenter: parent.verticalCenter color: progressItem.width + progressLabel.width < control.width ? "black" : "white" width: contentWidth + font: UM.Theme.getFont("default") } } } diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index c8825cd197..ddac895d29 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -79,6 +79,9 @@ Item anchors.top: materialLabel.bottom elide: Text.ElideRight + opacity: 0.6 + font: UM.Theme.getFont("default") + anchors { top: materialLabel.bottom diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index a6b35ca44a..e7b5e1c59d 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -70,6 +70,8 @@ Item id: ownerName anchors.top: printJobName.bottom text: printJob.owner + font: UM.Theme.getFont("default") + opacity: 0.6 } Image @@ -84,10 +86,10 @@ Item Label { id: totalTimeLabel - + opacity: 0.6 anchors.bottom: parent.bottom anchors.right: parent.right - + font: UM.Theme.getFont("default") text: printJob != null ? getPrettyTime(printJob.timeTotal) : "" elide: Text.ElideRight } From 86f872ae706ef7be6b15725bf28fa0c28378ae35 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 14:12:49 +0200 Subject: [PATCH 040/162] Decreased the spacing between printJob tiles in the queueuueueu CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 1 - plugins/UM3NetworkPrinting/ClusterMonitorItem.qml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 0574a2eba5..7100fb0fd7 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -44,7 +44,6 @@ Component elide: Text.ElideRight } - ScrollView { anchors diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index ff5fad5abd..8d46ac94c6 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -72,7 +72,7 @@ Component { anchors.fill: parent anchors.margins: UM.Theme.getSize("default_margin").height - spacing: UM.Theme.getSize("default_margin").height + spacing: UM.Theme.getSize("default_margin").height - 10 // 2x the shadow radius model: OutputDevice.queuedPrintJobs From aee90081e59ab94bebd18ee86b143d385dccc7b5 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 14:51:13 +0200 Subject: [PATCH 041/162] Added machine icons --- plugins/UM3NetworkPrinting/UM3-icon.svg | 1 + plugins/UM3NetworkPrinting/UM3x-icon.svg | 1 + plugins/UM3NetworkPrinting/UMs5-icon.svg | 1 + 3 files changed, 3 insertions(+) create mode 100644 plugins/UM3NetworkPrinting/UM3-icon.svg create mode 100644 plugins/UM3NetworkPrinting/UM3x-icon.svg create mode 100644 plugins/UM3NetworkPrinting/UMs5-icon.svg diff --git a/plugins/UM3NetworkPrinting/UM3-icon.svg b/plugins/UM3NetworkPrinting/UM3-icon.svg new file mode 100644 index 0000000000..6b5d4e4895 --- /dev/null +++ b/plugins/UM3NetworkPrinting/UM3-icon.svg @@ -0,0 +1 @@ +UM3-icon \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/UM3x-icon.svg b/plugins/UM3NetworkPrinting/UM3x-icon.svg new file mode 100644 index 0000000000..3708173dc5 --- /dev/null +++ b/plugins/UM3NetworkPrinting/UM3x-icon.svg @@ -0,0 +1 @@ +UM3x-icon \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/UMs5-icon.svg b/plugins/UM3NetworkPrinting/UMs5-icon.svg new file mode 100644 index 0000000000..78437465b3 --- /dev/null +++ b/plugins/UM3NetworkPrinting/UMs5-icon.svg @@ -0,0 +1 @@ +UMs5-icon \ No newline at end of file From d7e907f1a56c1fdf89e8316cdad51b5ef65889b0 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 15:13:29 +0200 Subject: [PATCH 042/162] Icons are now displayed in the printerTile CL-896 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 7100fb0fd7..34b097b006 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -112,14 +112,27 @@ Component onClicked: base.collapsed = !base.collapsed } - Rectangle + UM.RecolorImage { id: machineIcon anchors.top: parent.top anchors.leftMargin: UM.Theme.getSize("default_margin").width anchors.left: parent.left - width: 50 - height: 50 + source: + { + switch(modelData.type) + { + case "Ultimaker 3": + return "UM3-icon.svg" + case "Ultimaker 3 Extended": + return "UM3x-icon.svg" + case "Ultimaker S5": + return "UMs5-icon.svg" + } + } + width: sourceSize.width + height: sourceSize.height + color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") } From 9564f98ccc639fa718b933f632aeaa2d55586307 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 16:06:29 +0200 Subject: [PATCH 043/162] Added context menu to printerTile CL-893 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 160 +++++++++++++++++- .../ClusterUM3PrinterOutputController.py | 2 - .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 1 - 3 files changed, 159 insertions(+), 4 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 34b097b006..753197cdca 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.3 import QtGraphicalEffects 1.0 +import QtQuick.Controls 2.0 as Controls2 import UM 1.3 as UM import Cura 1.0 as Cura @@ -132,7 +133,7 @@ Component } width: sourceSize.width height: sourceSize.height - + color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") } @@ -272,6 +273,163 @@ Component font: UM.Theme.getFont("default") opacity: 0.6 } + function switchPopupState() + { + popup.visible ? popup.close() : popup.open() + } + Controls2.Button + { + id: contextButton + text: "\u22EE" //Unicode; Three stacked points. + font.pixelSize: 25 + width: 35 + height: width + anchors + { + right: parent.right + top: parent.top + } + hoverEnabled: true + + background: Rectangle + { + opacity: contextButton.down || contextButton.hovered ? 1 : 0 + width: contextButton.width + height: contextButton.height + radius: 0.5 * width + color: UM.Theme.getColor("viewport_background") + } + + onClicked: parent.switchPopupState() + } + + Controls2.Popup + { + // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property + id: popup + clip: true + closePolicy: Controls2.Popup.CloseOnPressOutsideParent + x: parent.width - width + y: contextButton.height + width: 200 + height: contentItem.height + 2 * padding + visible: false + + transformOrigin: Controls2.Popup.Top + contentItem: Item + { + width: popup.width - 2 * popup.padding + height: childrenRect.height + 15 + Controls2.Button + { + id: pauseButton + text: modelData.activePrintJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause") + onClicked: + { + if(modelData.activePrintJob.state == "paused") + { + modelData.activePrintJob.setState("print") + } + else if(modelData.activePrintJob.state == "printing") + { + modelData.activePrintJob.setState("pause") + } + popup.close() + } + width: parent.width + enabled: ["paused", "printing"].indexOf(modelData.activePrintJob.state) >= 0 + anchors.top: parent.top + anchors.topMargin: 10 + hoverEnabled: true + background: Rectangle + { + opacity: pauseButton.down || pauseButton.hovered ? 1 : 0 + color: UM.Theme.getColor("viewport_background") + } + } + + Controls2.Button + { + id: abortButton + text: catalog.i18nc("@label", "Abort") + onClicked: + { + modelData.activePrintJob.setState("abort") + popup.close() + } + width: parent.width + anchors.top: pauseButton.bottom + hoverEnabled: true + enabled: ["paused", "printing", "pre_print"].indexOf(modelData.activePrintJob.state) >= 0 + background: Rectangle + { + opacity: abortButton.down || abortButton.hovered ? 1 : 0 + color: UM.Theme.getColor("viewport_background") + } + } + } + + background: Item + { + width: popup.width + height: popup.height + + DropShadow + { + anchors.fill: pointedRectangle + radius: 5 + color: "#3F000000" // 25% shadow + source: pointedRectangle + transparentBorder: true + verticalOffset: 2 + } + + Item + { + id: pointedRectangle + width: parent.width -10 + height: parent.height -10 + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + + Rectangle + { + id: point + height: 13 + width: 13 + color: UM.Theme.getColor("setting_control") + transform: Rotation { angle: 45} + anchors.right: bloop.right + y: 1 + } + + Rectangle + { + id: bloop + color: UM.Theme.getColor("setting_control") + width: parent.width + anchors.top: parent.top + anchors.topMargin: 10 + anchors.bottom: parent.bottom + anchors.bottomMargin: 5 + } + } + } + + exit: Transition + { + // This applies a default NumberAnimation to any changes a state change makes to x or y properties + NumberAnimation { property: "visible"; duration: 75; } + } + enter: Transition + { + // This applies a default NumberAnimation to any changes a state change makes to x or y properties + NumberAnimation { property: "visible"; duration: 75; } + } + + onClosed: visible = false + onOpened: visible = true + } Image { diff --git a/plugins/UM3NetworkPrinting/ClusterUM3PrinterOutputController.py b/plugins/UM3NetworkPrinting/ClusterUM3PrinterOutputController.py index 4a0319cafc..fcced0b883 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3PrinterOutputController.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3PrinterOutputController.py @@ -6,8 +6,6 @@ from cura.PrinterOutput.PrinterOutputController import PrinterOutputController MYPY = False if MYPY: from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel - from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel - class ClusterUM3PrinterOutputController(PrinterOutputController): def __init__(self, output_device): diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index e7b5e1c59d..427aa8b851 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -166,7 +166,6 @@ Item onClicked: parent.switchPopupState() } - Popup { // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property From d57f166b082ef7fc1f72decfed29568ab90a49f9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 16:26:51 +0200 Subject: [PATCH 044/162] Added opacity to preview if print is done / paused CL-896 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 753197cdca..ca1ae07585 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -439,6 +439,23 @@ Component anchors.horizontalCenter: parent.horizontalCenter width: parent.width / 2 height: width + opacity: + { + if(modelData.activePrintJob == null) + { + return 1.0 + } + + switch(modelData.activePrintJob.state) + { + case "wait_cleanup": + case "wait_user_action": + case "paused": + return 0.5 + default: + return 1.0 + } + } } Rectangle From 39b12fed770c4e32b753b5e0007a75c0ddd788fd Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 16:47:46 +0200 Subject: [PATCH 045/162] Added icons to beter indicate printjob state CL-896 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 32 +++++++++++++++++++ plugins/UM3NetworkPrinting/aborted-icon.svg | 1 + plugins/UM3NetworkPrinting/approved-icon.svg | 1 + plugins/UM3NetworkPrinting/paused-icon.svg | 1 + 4 files changed, 35 insertions(+) create mode 100644 plugins/UM3NetworkPrinting/aborted-icon.svg create mode 100644 plugins/UM3NetworkPrinting/approved-icon.svg create mode 100644 plugins/UM3NetworkPrinting/paused-icon.svg diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index ca1ae07585..01aeb85cde 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -456,6 +456,38 @@ Component return 1.0 } } + + + } + + UM.RecolorImage + { + id: statusImage + anchors.centerIn: printJobPreview + source: + { + if(modelData.activePrintJob == null) + { + return "" + } + switch(modelData.activePrintJob.state) + { + case "paused": + return "paused-icon.svg" + case "wait_cleanup": + return "approved-icon.svg" + case "wait_user_action": + return "aborted-icon.svg" + default: + return "" + } + } + visible: source != "" + width: 0.5 * printJobPreview.width + height: 0.5 * printJobPreview.height + sourceSize.width: width + sourceSize.height: height + color: "black" } Rectangle diff --git a/plugins/UM3NetworkPrinting/aborted-icon.svg b/plugins/UM3NetworkPrinting/aborted-icon.svg new file mode 100644 index 0000000000..7ef82c8911 --- /dev/null +++ b/plugins/UM3NetworkPrinting/aborted-icon.svg @@ -0,0 +1 @@ +aborted-icon \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/approved-icon.svg b/plugins/UM3NetworkPrinting/approved-icon.svg new file mode 100644 index 0000000000..671957d709 --- /dev/null +++ b/plugins/UM3NetworkPrinting/approved-icon.svg @@ -0,0 +1 @@ +approved-icon \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/paused-icon.svg b/plugins/UM3NetworkPrinting/paused-icon.svg new file mode 100644 index 0000000000..a66217d662 --- /dev/null +++ b/plugins/UM3NetworkPrinting/paused-icon.svg @@ -0,0 +1 @@ +paused-icon \ No newline at end of file From 1749a6f9d5c06205721b07606eef6f95aadab392 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Aug 2018 17:08:32 +0200 Subject: [PATCH 046/162] Fixed some QML errors --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 01aeb85cde..12381d3f7a 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -323,7 +323,7 @@ Component Controls2.Button { id: pauseButton - text: modelData.activePrintJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause") + text: modelData.activePrintJob != null && modelData.activePrintJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause") onClicked: { if(modelData.activePrintJob.state == "paused") @@ -337,7 +337,7 @@ Component popup.close() } width: parent.width - enabled: ["paused", "printing"].indexOf(modelData.activePrintJob.state) >= 0 + enabled: modelData.activePrintJob != null && ["paused", "printing"].indexOf(modelData.activePrintJob.state) >= 0 anchors.top: parent.top anchors.topMargin: 10 hoverEnabled: true @@ -360,7 +360,7 @@ Component width: parent.width anchors.top: pauseButton.bottom hoverEnabled: true - enabled: ["paused", "printing", "pre_print"].indexOf(modelData.activePrintJob.state) >= 0 + enabled: modelData.activePrintJob != null && ["paused", "printing", "pre_print"].indexOf(modelData.activePrintJob.state) >= 0 background: Rectangle { opacity: abortButton.down || abortButton.hovered ? 1 : 0 From 60353bcd67836225537aef9de182760e6fa9bbae Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 29 Aug 2018 11:00:24 +0200 Subject: [PATCH 047/162] Added missing elides CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 6 ++++++ plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 12381d3f7a..153adce252 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -264,6 +264,8 @@ Component id: printJobName text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "" font: UM.Theme.getFont("default_bold") + width: parent.width + elide: Text.ElideRight } Label { @@ -272,11 +274,15 @@ Component text: modelData.activePrintJob != null ? modelData.activePrintJob.owner : "" font: UM.Theme.getFont("default") opacity: 0.6 + width: parent.width + elide: Text.ElideRight } + function switchPopupState() { popup.visible ? popup.close() : popup.open() } + Controls2.Button { id: contextButton diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 427aa8b851..5024e8eef1 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -63,6 +63,8 @@ Item id: printJobName text: printJob.name font: UM.Theme.getFont("default_bold") + width: parent.width + elide: Text.ElideRight } Label @@ -72,6 +74,8 @@ Item text: printJob.owner font: UM.Theme.getFont("default") opacity: 0.6 + width: parent.width + elide: Text.ElideRight } Image From 14f253017b3c6a1fe57572ae8e6d061f06fedf37 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 30 Aug 2018 10:21:50 +0200 Subject: [PATCH 048/162] Align printer name & printjob name with center of printer icon CL-896 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 56 +++++++++++-------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 153adce252..e2a77063b5 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -137,17 +137,38 @@ Component color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") } - Label + Item { - id: machineNameLabel - text: modelData.name - anchors.top: machineIcon.top - anchors.left: machineIcon.right - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: collapseIcon.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - elide: Text.ElideRight - font: UM.Theme.getFont("default_bold") + height: childrenRect.height + anchors + { + right: collapseIcon.left + rightMargin: UM.Theme.getSize("default_margin").width + left: machineIcon.right + leftMargin: UM.Theme.getSize("default_margin").width + + verticalCenter: machineIcon.verticalCenter + } + + Label + { + id: machineNameLabel + text: modelData.name + width: parent.width + elide: Text.ElideRight + font: UM.Theme.getFont("default_bold") + } + + Label + { + id: activeJobLabel + text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "waiting" + anchors.top: machineNameLabel.bottom + width: parent.width + elide: Text.ElideRight + font: UM.Theme.getFont("default") + opacity: 0.6 + } } UM.RecolorImage @@ -163,19 +184,6 @@ Component anchors.rightMargin: UM.Theme.getSize("default_margin").width color: "black" } - - Label - { - id: activeJobLabel - text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "waiting" - anchors.top: machineNameLabel.bottom - anchors.left: machineNameLabel.left - anchors.right: collapseIcon.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - elide: Text.ElideRight - font: UM.Theme.getFont("default") - opacity: 0.6 - } } Item @@ -573,6 +581,8 @@ Component return catalog.i18nc("@label:status", "Paused") case "resuming": return catalog.i18nc("@label:status", "Resuming") + case "queued": + return catalog.i18nc("@label:status", "Configuration change") default: OutputDevice.formatDuration(modelData.activePrintJob.timeTotal - modelData.activePrintJob.timeElapsed) } From fd1b0a80e7330d61eeefb7dd4b4a3196070ccb63 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 30 Aug 2018 10:32:37 +0200 Subject: [PATCH 049/162] Fixed alignment of printCoreConfiguration CL-896 --- .../PrintCoreConfiguration.qml | 64 +++++++++---------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index ddac895d29..e6f2372874 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -18,6 +18,8 @@ Item id: extruderCircle width: 30 height: 30 + + anchors.verticalCenter: printAndMaterialLabel.verticalCenter opacity: { if(printCoreConfiguration == undefined || printCoreConfiguration.activeMaterial == undefined || printCoreConfiguration.hotendID == undefined) @@ -31,7 +33,7 @@ Item { anchors.fill: parent radius: Math.round(width / 2) - border.width: 1 + border.width: 2 border.color: "black" } @@ -43,52 +45,48 @@ Item } } - Label + Item { - id: materialLabel - text: - { - if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) - { - return printCoreConfiguration.activeMaterial.name - } - return "" - } - font: UM.Theme.getFont("default_bold") - elide: Text.ElideRight - + id: printAndMaterialLabel anchors { right: parent.right left: extruderCircle.right margins: UM.Theme.getSize("default_margin").width } - } + height: childrenRect.height - Label - { - id: printCoreLabel - text: + Label { - if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined) + id: materialLabel + text: { - return printCoreConfiguration.hotendID + if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) + { + return printCoreConfiguration.activeMaterial.name + } + return "" } - return "" + font: UM.Theme.getFont("default_bold") + elide: Text.ElideRight } - anchors.top: materialLabel.bottom - elide: Text.ElideRight - opacity: 0.6 - font: UM.Theme.getFont("default") - - anchors + Label { - top: materialLabel.bottom - right: parent.right - left: extruderCircle.right - leftMargin: UM.Theme.getSize("default_margin").width - rightMargin: UM.Theme.getSize("default_margin").width + id: printCoreLabel + text: + { + if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined) + { + return printCoreConfiguration.hotendID + } + return "" + } + anchors.top: materialLabel.bottom + elide: Text.ElideRight + + opacity: 0.6 + font: UM.Theme.getFont("default") } } } From e2bcf4dfa82611412f99b553237c8a2f9f8f7a24 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 30 Aug 2018 17:18:48 +0200 Subject: [PATCH 050/162] Show correct labels & status icon if print was aborted CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index e2a77063b5..4978ce821a 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -489,6 +489,10 @@ Component case "paused": return "paused-icon.svg" case "wait_cleanup": + if(modelData.activePrintJob.timeElapsed < modelData.activePrintJob.timeTotal) + { + return "aborted-icon.svg" + } return "approved-icon.svg" case "wait_user_action": return "aborted-icon.svg" @@ -569,7 +573,11 @@ Component switch(modelData.activePrintJob.state) { case "wait_cleanup": - return catalog.i18nc("@label:status", "Finshed") + if(modelData.activePrintJob.timeTotal > modelData.activePrintJob.timeElapsed) + { + return catalog.i18nc("@label:status", "Aborted") + } + return catalog.i18nc("@label:status", "Finished") case "pre_print": case "sent_to_printer": return catalog.i18nc("@label:status", "Preparing") From 3ce9b481a29dae0eb73b287c4f3a4b437d1dd94b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 31 Aug 2018 15:01:54 +0200 Subject: [PATCH 051/162] Add rabithole links to cluster monitor page CL-896 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 22 +++++++++++++++++++ .../UM3NetworkPrinting/ClusterMonitorItem.qml | 21 ++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 4978ce821a..2ee5054fc0 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -45,8 +45,30 @@ Component elide: Text.ElideRight } + Label + { + id: managePrintersLabel + anchors.rightMargin: 4 * UM.Theme.getSize("default_margin").width + anchors.right: printerScrollView.right + anchors.bottom: printingLabel.bottom + text: catalog.i18nc("@label link to connect manager", "Manage printers") + font: UM.Theme.getFont("default") + color: UM.Theme.getColor("primary") + linkColor: UM.Theme.getColor("primary") + } + + MouseArea + { + anchors.fill: managePrintersLabel + hoverEnabled: true + onClicked: Cura.MachineManager.printerOutputDevices[0].openPrinterControlPanel() + onEntered: managePrintersLabel.font.underline = true + onExited: managePrintersLabel.font.underline = false + } + ScrollView { + id: printerScrollView anchors { top: printingLabel.bottom diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 8d46ac94c6..a7a18753fb 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -40,6 +40,27 @@ Component visible: OutputDevice.printers.length == 0 } + Label + { + id: manageQueueLabel + anchors.rightMargin: 5 * UM.Theme.getSize("default_margin").width + anchors.right: queuedPrintJobs.right + anchors.bottom: queuedLabel.bottom + text: catalog.i18nc("@label link to connect manager", "Manage queue") + font: UM.Theme.getFont("default") + color: UM.Theme.getColor("primary") + linkColor: UM.Theme.getColor("primary") + } + + MouseArea + { + anchors.fill: manageQueueLabel + hoverEnabled: true + onClicked: Cura.MachineManager.printerOutputDevices[0].openPrintJobControlPanel() + onEntered: manageQueueLabel.font.underline = true + onExited: manageQueueLabel.font.underline = false + } + Label { id: queuedLabel From 485058c3def4bc56afc55c9c663a71822941a784 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 31 Aug 2018 15:50:34 +0200 Subject: [PATCH 052/162] Made queue have a max width CL-896 --- plugins/UM3NetworkPrinting/ClusterMonitorItem.qml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index a7a18753fb..3ff012d6d4 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -79,20 +79,18 @@ Component anchors { - margins: UM.Theme.getSize("default_margin").width top: queuedLabel.bottom topMargin: 0 - left: parent.left + horizontalCenter: parent.horizontalCenter bottomMargin: 0 - right: parent.right bottom: parent.bottom } style: UM.Theme.styles.scrollview - + width: Math.min(800 * screenScaleFactor, maximumWidth) ListView { anchors.fill: parent - anchors.margins: UM.Theme.getSize("default_margin").height + //anchors.margins: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height - 10 // 2x the shadow radius model: OutputDevice.queuedPrintJobs @@ -103,6 +101,7 @@ Component anchors.left: parent.left anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("default_margin").height + anchors.leftMargin: UM.Theme.getSize("default_margin").height height: 175 * screenScaleFactor } } From 224108c342a45d10b005e18ffaf089e24df2fad3 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 31 Aug 2018 15:55:22 +0200 Subject: [PATCH 053/162] Decrease width of popups for cluster monitor CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 2 +- plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 2ee5054fc0..068d5769ee 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -347,7 +347,7 @@ Component closePolicy: Controls2.Popup.CloseOnPressOutsideParent x: parent.width - width y: contextButton.height - width: 200 + width: 160 height: contentItem.height + 2 * padding visible: false diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 5024e8eef1..e54e70043e 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -178,7 +178,7 @@ Item closePolicy: Popup.CloseOnPressOutsideParent x: parent.width - width y: contextButton.height - width: 200 + width: 160 height: contentItem.height + 2 * padding visible: false From 8aef7216ec21580c2c987ed16d5e2768d1adff07 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 31 Aug 2018 16:11:20 +0200 Subject: [PATCH 054/162] Increase the margin between print montior header and tiles CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 2 +- plugins/UM3NetworkPrinting/ClusterMonitorItem.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 068d5769ee..c0dad98708 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -74,7 +74,7 @@ Component top: printingLabel.bottom left: parent.left right: parent.right - topMargin: 1 * UM.Theme.getSize("default_margin").height + topMargin: UM.Theme.getSize("default_margin").height bottom: parent.bottom bottomMargin: UM.Theme.getSize("default_margin").height } diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 3ff012d6d4..a3bfdeb843 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -80,7 +80,7 @@ Component anchors { top: queuedLabel.bottom - topMargin: 0 + topMargin: UM.Theme.getSize("default_margin").height horizontalCenter: parent.horizontalCenter bottomMargin: 0 bottom: parent.bottom From dec76a19ed2ee1bf5c9baaf3da8ad6110a875c92 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 31 Aug 2018 16:13:01 +0200 Subject: [PATCH 055/162] Build models using reserved tags Contributes to CURA-5670 --- .../resources/qml/ToolboxDownloadsPage.qml | 2 +- plugins/Toolbox/src/Toolbox.py | 84 +++++++++++++++---- 2 files changed, 70 insertions(+), 16 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml b/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml index 1089fcc51e..bcca02583d 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml @@ -30,7 +30,7 @@ ScrollView id: allPlugins width: parent.width heading: toolbox.viewCategory == "material" ? catalog.i18nc("@label", "Community Contributions") : catalog.i18nc("@label", "Community Plugins") - model: toolbox.viewCategory == "material" ? toolbox.authorsModel : toolbox.packagesModel + model: toolbox.viewCategory == "material" ? toolbox.materialsAvailableModel : toolbox.pluginsAvailableModel } ToolboxDownloadsGrid diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index c4205b8ed5..48219494bd 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -83,7 +83,7 @@ class Toolbox(QObject, Extension): "plugins_available": PackagesModel(self), "plugins_installed": PackagesModel(self), "materials_showcase": AuthorsModel(self), - "materials_available": PackagesModel(self), + "materials_available": AuthorsModel(self), "materials_installed": PackagesModel(self), "materials_generic": PackagesModel(self) } # type: Dict[str, ListModel] @@ -517,7 +517,7 @@ class Toolbox(QObject, Extension): @pyqtSlot(str, result = int) def getTotalNumberOfPackagesByAuthor(self, author_id: str) -> int: count = 0 - for package in self._metadata["materials_available"]: + for package in self._metadata["packages"]: if package["author"]["author_id"] == author_id: count += 1 return count @@ -624,24 +624,27 @@ class Toolbox(QObject, Extension): Logger.log("e", "Could not find the %s model.", type) break - # HACK: Eventually get rid of the code from here... - if type is "plugins_showcase" or type is "materials_showcase": - self._metadata["plugins_showcase"] = json_data["data"]["plugin"]["packages"] - self._models["plugins_showcase"].setMetadata(self._metadata["plugins_showcase"]) - self._metadata["materials_showcase"] = json_data["data"]["material"]["authors"] - self._models["materials_showcase"].setMetadata(self._metadata["materials_showcase"]) - else: - # ...until here. - # This hack arises for multiple reasons but the main - # one is because there are not separate API calls - # for different kinds of showcases. - self._metadata[type] = json_data["data"] - self._models[type].setMetadata(self._metadata[type]) + # HACK + do_not_handle = [ + "materials_available", + "materials_showcase", + "plugins_available", + "plugins_showcase", + ] + + # Do nothing because we'll handle these from the "packages" call + if type in do_not_handle: + return + + self._metadata[type] = json_data["data"] + self._models[type].setMetadata(self._metadata[type]) # Do some auto filtering # TODO: Make multiple API calls in the future to handle this if type is "packages": self._models[type].setFilter({"type": "plugin"}) + self.buildMaterialsModels() + self.buildPluginsModels() if type is "authors": self._models[type].setFilter({"package_types": "material"}) if type is "materials_generic": @@ -755,6 +758,10 @@ class Toolbox(QObject, Extension): def pluginsShowcaseModel(self) -> PackagesModel: return cast(PackagesModel, self._models["plugins_showcase"]) + @pyqtProperty(QObject, notify = metadataChanged) + def pluginsAvailableModel(self) -> PackagesModel: + return cast(PackagesModel, self._models["plugins_available"]) + @pyqtProperty(QObject, notify = metadataChanged) def pluginsInstalledModel(self) -> PackagesModel: return cast(PackagesModel, self._models["plugins_installed"]) @@ -763,6 +770,10 @@ class Toolbox(QObject, Extension): def materialsShowcaseModel(self) -> AuthorsModel: return cast(AuthorsModel, self._models["materials_showcase"]) + @pyqtProperty(QObject, notify = metadataChanged) + def materialsAvailableModel(self) -> AuthorsModel: + return cast(AuthorsModel, self._models["materials_available"]) + @pyqtProperty(QObject, notify = metadataChanged) def materialsInstalledModel(self) -> PackagesModel: return cast(PackagesModel, self._models["materials_installed"]) @@ -798,3 +809,46 @@ class Toolbox(QObject, Extension): return self._models[model_type].setFilter({}) self.filterChanged.emit() + + + # HACK(S): + # -------------------------------------------------------------------------- + def buildMaterialsModels(self) -> None: + + self._metadata["materials_showcase"] = [] + self._metadata["materials_available"] = [] + + processed_authors = [] + + for item in self._metadata["packages"]: + if item["package_type"] == "material": + + author = item["author"] + if author["author_id"] in processed_authors: + continue + + if "showcase" in item["tags"]: + self._metadata["materials_showcase"].append(author) + else: + self._metadata["materials_available"].append(author) + + processed_authors.append(author["author_id"]) + + self._models["materials_showcase"].setMetadata(self._metadata["materials_showcase"]) + self._models["materials_available"].setMetadata(self._metadata["materials_available"]) + + def buildPluginsModels(self) -> None: + + self._metadata["plugins_showcase"] = [] + self._metadata["plugins_available"] = [] + + for item in self._metadata["packages"]: + if item["package_type"] == "plugin": + + if "showcase" in item["tags"]: + self._metadata["plugins_showcase"].append(item) + else: + self._metadata["plugins_available"].append(item) + + self._models["plugins_showcase"].setMetadata(self._metadata["plugins_showcase"]) + self._models["plugins_available"].setMetadata(self._metadata["plugins_available"]) From 98d0ad6c270459b152916197e2f0cb26328240b6 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 31 Aug 2018 16:47:26 +0200 Subject: [PATCH 056/162] Add printer pill type to cluster monitor printer tile CL-896 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 14 ++++++++-- .../UM3NetworkPrinting/PrinterFamilyPill.qml | 28 +++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 plugins/UM3NetworkPrinting/PrinterFamilyPill.qml diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index c0dad98708..dbc5465056 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -233,11 +233,21 @@ Component topMargin: UM.Theme.getSize("default_margin").width } } - + PrinterFamilyPill + { + id: printerFamilyPill + color: UM.Theme.getColor("viewport_background") + anchors.top: topSpacer.bottom + anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height + text: modelData.type + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + padding: 3 + } Row { id: extrudersInfo - anchors.top: topSpacer.bottom + anchors.top: printerFamilyPill.bottom anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height anchors.left: parent.left anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width diff --git a/plugins/UM3NetworkPrinting/PrinterFamilyPill.qml b/plugins/UM3NetworkPrinting/PrinterFamilyPill.qml new file mode 100644 index 0000000000..b785cd02b7 --- /dev/null +++ b/plugins/UM3NetworkPrinting/PrinterFamilyPill.qml @@ -0,0 +1,28 @@ +import QtQuick 2.2 +import QtQuick.Controls 1.4 +import UM 1.2 as UM + +Item +{ + property alias color: background.color + property alias text: familyNameLabel.text + property var padding: 0 + implicitHeight: familyNameLabel.contentHeight + 2 * padding // Apply the padding to top and bottom. + implicitWidth: familyNameLabel.contentWidth + implicitHeight // The extra height is added to ensure the radius doesn't cut something off. + Rectangle + { + id: background + height: parent.height + width: parent.width + color: parent.color + anchors.right: parent.right + anchors.horizontalCenter: parent.horizontalCenter + radius: 0.5 * height + } + Label + { + id: familyNameLabel + anchors.centerIn: parent + text: "" + } +} \ No newline at end of file From 988b9059b9d7966cc1daae28561ea16cc24ff11b Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 31 Aug 2018 16:55:03 +0200 Subject: [PATCH 057/162] Fix code-style Contributes to CURA-5670 --- plugins/Toolbox/src/Toolbox.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 48219494bd..52b00f5069 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -818,7 +818,7 @@ class Toolbox(QObject, Extension): self._metadata["materials_showcase"] = [] self._metadata["materials_available"] = [] - processed_authors = [] + processed_authors = [] # type: List[str] for item in self._metadata["packages"]: if item["package_type"] == "material": From 6ddafa00a4eeb53bd4095a79462a4947e9e51fbb Mon Sep 17 00:00:00 2001 From: Sacha Telgenhof Oude Koehorst Date: Sat, 1 Sep 2018 19:37:53 +0900 Subject: [PATCH 058/162] Add Creality Ender-3 machine definition. --- .../definitions/creality_ender3.def.json | 92 + resources/meshes/creality_ender3_platform.stl | 58774 ++++++++++++++++ 2 files changed, 58866 insertions(+) create mode 100755 resources/definitions/creality_ender3.def.json create mode 100644 resources/meshes/creality_ender3_platform.stl diff --git a/resources/definitions/creality_ender3.def.json b/resources/definitions/creality_ender3.def.json new file mode 100755 index 0000000000..4ae4d4ad93 --- /dev/null +++ b/resources/definitions/creality_ender3.def.json @@ -0,0 +1,92 @@ +{ + "name": "Creality Ender-3", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Sacha Telgenhof", + "manufacturer": "Creality3D", + "file_formats": "text/x-gcode", + "platform": "creality_ender3_platform.stl", + "preferred_quality_type": "draft" + }, + "overrides": { + "machine_name": { + "default_value": "Creality Ender-3" + }, + "machine_width": { + "default_value": 220 + }, + "machine_height": { + "default_value": 250 + }, + "machine_depth": { + "default_value": 220 + }, + "machine_heated_bed": { + "default_value": true + }, + "gantry_height": { + "default_value": 30 + }, + "machine_head_polygon": { + "default_value": [ + [-30, 34], + [-30, -32], + [30, -32], + [30, 34] + ] + }, + "material_diameter": { + "default_value": 1.75 + }, + "acceleration_enabled": { + "default_value": true + }, + "acceleration_print": { + "default_value": 500 + }, + "acceleration_travel": { + "default_value": 500 + }, + "jerk_enabled": { + "default_value": true + }, + "jerk_travel": { + "default_value": 20 + }, + "layer_height": { + "default_value": 0.15 + }, + "layer_height_0": { + "default_value": 0.2 + }, + "adhesion_type": { + "default_value": "skirt" + }, + "top_bottom_thickness": { + "default_value": 0.6 + }, + "retraction_amount": { + "default_value": 5 + }, + "retraction_speed": { + "default_value": 40 + }, + "cool_min_layer_time": { + "default_value": 10 + }, + "skirt_line_count": { + "default_value": 4 + }, + "skirt_gap": { + "default_value": 5 + }, + "machine_start_gcode": { + "default_value": "; Ender 3 Custom Start G-code\nM104 S{material_print_temperature_layer_0} ; Set Extruder temperature\nM140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature\nM190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature\nM109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nG1 Z5.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z5.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed" + }, + "machine_end_gcode": { + "default_value": "; Ender 3 Custom End G-code\nG4 ; Wait\nM220 S100 ; Reset Speed factor override percentage to default (100%)\nM221 S100 ; Reset Extrude factor override percentage to default (100%)\nG91 ; Set coordinates to relative\nG1 F1800 E-3 ; Retract filament 3 mm to prevent oozing\nG1 F3000 Z10 ; Move Z Axis up 10 mm to allow filament ooze freely\nG90 ; Set coordinates to absolute\nG1 X0 Y{machine_depth} F1000 ; Move Heat Bed to the front for easy print removal\nM104 S0 ; Turn off Extruder temperature\nM140 S0 ; Turn off Heat Bed\nM106 S0 ; Turn off Cooling Fan\nM107 ; Turn off Fan\nM84 ; Disable stepper motors" + } + } +} \ No newline at end of file diff --git a/resources/meshes/creality_ender3_platform.stl b/resources/meshes/creality_ender3_platform.stl new file mode 100644 index 0000000000..e4f9b1fd89 --- /dev/null +++ b/resources/meshes/creality_ender3_platform.stl @@ -0,0 +1,58774 @@ +solid OpenSCAD_Model + facet normal 0 0 1 + outer loop + vertex 19.3736 -10.7173 -0.1 + vertex 19.6895 -11.13 -0.1 + vertex 19.6819 -11.0243 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4763 -10.749 -0.1 + vertex 19.6819 -11.0243 -0.1 + vertex 19.6583 -10.9333 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.557 -10.7956 -0.1 + vertex 19.6583 -10.9333 -0.1 + vertex 19.6172 -10.8571 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6895 -11.13 -0.1 + vertex 19.3736 -10.7173 -0.1 + vertex 19.6598 -11.2975 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6583 -10.9333 -0.1 + vertex 19.557 -10.7956 -0.1 + vertex 19.4763 -10.749 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6819 -11.0243 -0.1 + vertex 19.4763 -10.749 -0.1 + vertex 19.3736 -10.7173 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.0963 -10.6988 -0.1 + vertex 19.6598 -11.2975 -0.1 + vertex 19.3736 -10.7173 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6598 -11.2975 -0.1 + vertex 19.0963 -10.6988 -0.1 + vertex 19.5653 -11.6083 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 18.7132 -10.7406 -0.1 + vertex 19.5653 -11.6083 -0.1 + vertex 19.0963 -10.6988 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 18.2126 -10.843 -0.1 + vertex 19.5653 -11.6083 -0.1 + vertex 18.7132 -10.7406 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5653 -11.6083 -0.1 + vertex 18.2126 -10.843 -0.1 + vertex 19.1479 -12.7477 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 17.5824 -11.0066 -0.1 + vertex 19.1479 -12.7477 -0.1 + vertex 18.2126 -10.843 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 16.811 -11.2316 -0.1 + vertex 19.1479 -12.7477 -0.1 + vertex 17.5824 -11.0066 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.1479 -12.7477 -0.1 + vertex 16.811 -11.2316 -0.1 + vertex 18.3699 -14.7241 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 14.1363 -14.3424 -0.1 + vertex 18.3699 -14.7241 -0.1 + vertex 16.811 -11.2316 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 14.0967 -14.5873 -0.1 + vertex 18.3699 -14.7241 -0.1 + vertex 14.1362 -14.4186 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.3699 -14.7241 -0.1 + vertex 14.1363 -14.3424 -0.1 + vertex 14.1362 -14.4186 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.7217 -12.1451 -0.1 + vertex 14.1363 -14.3424 -0.1 + vertex 16.811 -11.2316 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.1363 -14.3424 -0.1 + vertex 13.7217 -12.1451 -0.1 + vertex 14.0881 -14.3092 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.0881 -14.3092 -0.1 + vertex 13.7217 -12.1451 -0.1 + vertex 14.0003 -14.2763 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.0003 -14.2763 -0.1 + vertex 13.7217 -12.1451 -0.1 + vertex 13.7222 -14.2141 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.4022 -12.26 -0.1 + vertex 13.7222 -14.2141 -0.1 + vertex 13.7217 -12.1451 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.1153 -12.4148 -0.1 + vertex 13.7222 -14.2141 -0.1 + vertex 13.4022 -12.26 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.7222 -14.2141 -0.1 + vertex 13.1153 -12.4148 -0.1 + vertex 13.3346 -14.1615 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.8673 -12.6015 -0.1 + vertex 13.3346 -14.1615 -0.1 + vertex 13.1153 -12.4148 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.6645 -12.8127 -0.1 + vertex 13.3346 -14.1615 -0.1 + vertex 12.8673 -12.6015 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.513 -13.0405 -0.1 + vertex 13.3346 -14.1615 -0.1 + vertex 12.6645 -12.8127 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.3346 -14.1615 -0.1 + vertex 12.513 -13.0405 -0.1 + vertex 12.8698 -14.1239 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.419 -13.2773 -0.1 + vertex 12.8698 -14.1239 -0.1 + vertex 12.513 -13.0405 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.3889 -13.5153 -0.1 + vertex 12.8698 -14.1239 -0.1 + vertex 12.419 -13.2773 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 12.3997 -13.6324 -0.1 + vertex 12.8698 -14.1239 -0.1 + vertex 12.3889 -13.5153 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 12.5013 -13.8876 -0.1 + vertex 12.8698 -14.1239 -0.1 + vertex 12.3997 -13.6324 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.8698 -14.1239 -0.1 + vertex 12.6087 -14.0056 -0.1 + vertex 12.7363 -14.0885 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.8698 -14.1239 -0.1 + vertex 12.5013 -13.8876 -0.1 + vertex 12.6087 -14.0056 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.5013 -13.8876 -0.1 + vertex 12.3997 -13.6324 -0.1 + vertex 12.4287 -13.7469 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.9185 -15.1524 -0.1 + vertex 18.3699 -14.7241 -0.1 + vertex 14.0967 -14.5873 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.3699 -14.7241 -0.1 + vertex 13.9185 -15.1524 -0.1 + vertex 17.1638 -17.7131 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.6397 -15.9386 -0.1 + vertex 17.1638 -17.7131 -0.1 + vertex 13.9185 -15.1524 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.2984 -16.8469 -0.1 + vertex 17.1638 -17.7131 -0.1 + vertex 13.6397 -15.9386 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.5806 -18.6336 -0.1 + vertex 17.1638 -17.7131 -0.1 + vertex 13.2984 -16.8469 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2803 -19.3138 -0.1 + vertex 17.1638 -17.7131 -0.1 + vertex 12.5806 -18.6336 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.1638 -17.7131 -0.1 + vertex 12.2803 -19.3138 -0.1 + vertex 14.5952 -23.8342 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.0697 -19.7199 -0.1 + vertex 14.5952 -23.8342 -0.1 + vertex 12.2803 -19.3138 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.0185 -19.7802 -0.1 + vertex 14.5952 -23.8342 -0.1 + vertex 12.0697 -19.7199 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.9563 -19.8175 -0.1 + vertex 14.5952 -23.8342 -0.1 + vertex 12.0185 -19.7802 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.1598 -23.7848 -0.1 + vertex 14.5952 -23.8342 -0.1 + vertex 10.1807 -23.3758 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.1103 -22.7594 -0.1 + vertex 14.5952 -23.8342 -0.1 + vertex 11.9563 -19.8175 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.1103 -22.7594 -0.1 + vertex 11.9563 -19.8175 -0.1 + vertex 11.881 -19.8313 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.99008 -22.4166 -0.1 + vertex 11.881 -19.8313 -0.1 + vertex 11.7902 -19.8211 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.81668 -22.1284 -0.1 + vertex 11.7902 -19.8211 -0.1 + vertex 11.5538 -19.7266 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.95745 -24.7805 -0.1 + vertex 14.5952 -23.8342 -0.1 + vertex 10.0892 -24.2416 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.59484 -21.895 -0.1 + vertex 11.5538 -19.7266 -0.1 + vertex 11.2294 -19.5302 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.5952 -23.8342 -0.1 + vertex 9.95745 -24.7805 -0.1 + vertex 12.8097 -28.1484 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.46723 -21.7989 -0.1 + vertex 11.2294 -19.5302 -0.1 + vertex 11.0203 -19.4009 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 9.75283 -25.4359 -0.1 + vertex 12.8097 -28.1484 -0.1 + vertex 9.95745 -24.7805 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.46723 -21.7989 -0.1 + vertex 11.0203 -19.4009 -0.1 + vertex 10.8168 -19.3006 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 9.46376 -26.2422 -0.1 + vertex 12.8097 -28.1484 -0.1 + vertex 9.75283 -25.4359 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 9.07864 -27.2338 -0.1 + vertex 12.8097 -28.1484 -0.1 + vertex 9.46376 -26.2422 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.8097 -28.1484 -0.1 + vertex 9.07864 -27.2338 -0.1 + vertex 12.0447 -30.0547 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.46723 -21.7989 -0.1 + vertex 10.8168 -19.3006 -0.1 + vertex 10.602 -19.227 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.6919 -34.4621 -0.1 + vertex 12.2468 -35.1875 -0.1 + vertex 12.2214 -34.9805 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.6919 -34.4621 -0.1 + vertex 12.2214 -34.9805 -0.1 + vertex 12.1503 -34.7994 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.4668 -34.4353 -0.1 + vertex 12.2468 -35.1875 -0.1 + vertex 11.6919 -34.4621 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2239 -35.4151 -0.1 + vertex 11.4668 -34.4353 -0.1 + vertex 12.1496 -35.6584 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8827 -34.5351 -0.1 + vertex 12.1503 -34.7994 -0.1 + vertex 12.0364 -34.6492 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2468 -35.1875 -0.1 + vertex 11.4668 -34.4353 -0.1 + vertex 12.2239 -35.4151 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.1503 -34.7994 -0.1 + vertex 11.8827 -34.5351 -0.1 + vertex 11.6919 -34.4621 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.1496 -35.6584 -0.1 + vertex 11.4668 -34.4353 -0.1 + vertex 12.0956 -35.7642 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0956 -35.7642 -0.1 + vertex 11.4668 -34.4353 -0.1 + vertex 12.0181 -35.8752 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.143 -34.4171 -0.1 + vertex 12.0181 -35.8752 -0.1 + vertex 11.4668 -34.4353 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0181 -35.8752 -0.1 + vertex 11.143 -34.4171 -0.1 + vertex 11.8034 -36.1064 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8034 -36.1064 -0.1 + vertex 11.143 -34.4171 -0.1 + vertex 11.5264 -36.339 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.016 -34.3915 -0.1 + vertex 11.5264 -36.339 -0.1 + vertex 11.143 -34.4171 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5264 -36.339 -0.1 + vertex 11.016 -34.3915 -0.1 + vertex 11.208 -36.5595 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9123 -34.3507 -0.1 + vertex 11.208 -36.5595 -0.1 + vertex 11.016 -34.3915 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9123 -34.3507 -0.1 + vertex 10.8691 -36.7549 -0.1 + vertex 11.208 -36.5595 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.5307 -36.9119 -0.1 + vertex 10.9123 -34.3507 -0.1 + vertex 10.832 -34.2912 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.71926 -37.0921 -0.1 + vertex 10.832 -34.2912 -0.1 + vertex 10.775 -34.2097 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.94379 -37.3156 -0.1 + vertex 10.775 -34.2097 -0.1 + vertex 10.7415 -34.103 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.63949 -32.8952 -0.1 + vertex 10.7415 -34.103 -0.1 + vertex 10.7315 -33.9677 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9123 -34.3507 -0.1 + vertex 10.5307 -36.9119 -0.1 + vertex 10.8691 -36.7549 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.97377 -29.9101 -0.1 + vertex 12.0447 -30.0547 -0.1 + vertex 9.07864 -27.2338 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.46723 -21.7989 -0.1 + vertex 10.602 -19.227 -0.1 + vertex 10.3591 -19.1774 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.0892 -24.2416 -0.1 + vertex 14.5952 -23.8342 -0.1 + vertex 10.1598 -23.7848 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0447 -30.0547 -0.1 + vertex 7.97377 -29.9101 -0.1 + vertex 11.5005 -31.4602 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.5952 -23.8342 -0.1 + vertex 10.149 -22.9513 -0.1 + vertex 10.1807 -23.3758 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.5952 -23.8342 -0.1 + vertex 10.1103 -22.7594 -0.1 + vertex 10.149 -22.9513 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.46723 -21.7989 -0.1 + vertex 10.3591 -19.1774 -0.1 + vertex 10.0711 -19.1496 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.881 -19.8313 -0.1 + vertex 10.0571 -22.5812 -0.1 + vertex 10.1103 -22.7594 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.881 -19.8313 -0.1 + vertex 9.99008 -22.4166 -0.1 + vertex 10.0571 -22.5812 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.7902 -19.8211 -0.1 + vertex 9.90973 -22.2656 -0.1 + vertex 9.99008 -22.4166 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.7902 -19.8211 -0.1 + vertex 9.81668 -22.1284 -0.1 + vertex 9.90973 -22.2656 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.18157 -21.6481 -0.1 + vertex 10.0711 -19.1496 -0.1 + vertex 9.72114 -19.1409 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5538 -19.7266 -0.1 + vertex 9.71152 -22.0048 -0.1 + vertex 9.81668 -22.1284 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5538 -19.7266 -0.1 + vertex 9.59484 -21.895 -0.1 + vertex 9.71152 -22.0048 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.2294 -19.5302 -0.1 + vertex 9.46723 -21.7989 -0.1 + vertex 9.59484 -21.895 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.0711 -19.1496 -0.1 + vertex 9.18157 -21.6481 -0.1 + vertex 9.46723 -21.7989 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.72114 -19.1409 -0.1 + vertex 8.85925 -21.5524 -0.1 + vertex 9.18157 -21.6481 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 8.76754 -19.1712 -0.1 + vertex 8.85925 -21.5524 -0.1 + vertex 9.72114 -19.1409 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.76754 -19.1712 -0.1 + vertex 8.50498 -21.5121 -0.1 + vertex 8.85925 -21.5524 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.80885 -19.2424 -0.1 + vertex 8.50498 -21.5121 -0.1 + vertex 8.76754 -19.1712 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.50498 -21.5121 -0.1 + vertex 7.80885 -19.2424 -0.1 + vertex 8.12348 -21.5274 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.42262 -19.2967 -0.1 + vertex 8.12348 -21.5274 -0.1 + vertex 7.80885 -19.2424 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.12348 -21.5274 -0.1 + vertex 7.42262 -19.2967 -0.1 + vertex 7.71946 -21.5983 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.07441 -19.3694 -0.1 + vertex 7.71946 -21.5983 -0.1 + vertex 7.42262 -19.2967 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.74616 -19.4649 -0.1 + vertex 7.71946 -21.5983 -0.1 + vertex 7.07441 -19.3694 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.71946 -21.5983 -0.1 + vertex 6.74616 -19.4649 -0.1 + vertex 7.29763 -21.7251 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.41984 -19.5879 -0.1 + vertex 7.29763 -21.7251 -0.1 + vertex 6.74616 -19.4649 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.07737 -19.7427 -0.1 + vertex 7.29763 -21.7251 -0.1 + vertex 6.41984 -19.5879 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.29763 -21.7251 -0.1 + vertex 6.07737 -19.7427 -0.1 + vertex 6.8627 -21.9079 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.70074 -19.9339 -0.1 + vertex 6.8627 -21.9079 -0.1 + vertex 6.07737 -19.7427 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.8627 -21.9079 -0.1 + vertex 5.70074 -19.9339 -0.1 + vertex 6.41939 -22.1469 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.20766 -20.2058 -0.1 + vertex 6.41939 -22.1469 -0.1 + vertex 5.70074 -19.9339 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.41939 -22.1469 -0.1 + vertex 5.20766 -20.2058 -0.1 + vertex 5.97241 -22.4422 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.71458 -20.5006 -0.1 + vertex 5.97241 -22.4422 -0.1 + vertex 5.20766 -20.2058 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.22328 -20.8168 -0.1 + vertex 5.97241 -22.4422 -0.1 + vertex 4.71458 -20.5006 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.97241 -22.4422 -0.1 + vertex 4.22328 -20.8168 -0.1 + vertex 5.52647 -22.794 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.73558 -21.1527 -0.1 + vertex 5.52647 -22.794 -0.1 + vertex 4.22328 -20.8168 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.52647 -22.794 -0.1 + vertex 3.73558 -21.1527 -0.1 + vertex 5.08628 -23.2024 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.25328 -21.5067 -0.1 + vertex 5.08628 -23.2024 -0.1 + vertex 3.73558 -21.1527 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.08628 -23.2024 -0.1 + vertex 3.25328 -21.5067 -0.1 + vertex 4.45147 -23.8871 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.77819 -21.8771 -0.1 + vertex 4.45147 -23.8871 -0.1 + vertex 3.25328 -21.5067 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.31211 -22.2625 -0.1 + vertex 4.45147 -23.8871 -0.1 + vertex 2.77819 -21.8771 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.45147 -23.8871 -0.1 + vertex 2.31211 -22.2625 -0.1 + vertex 3.85887 -24.6213 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.85684 -22.661 -0.1 + vertex 3.85887 -24.6213 -0.1 + vertex 2.31211 -22.2625 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.4142 -23.0712 -0.1 + vertex 3.85887 -24.6213 -0.1 + vertex 1.85684 -22.661 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.85887 -24.6213 -0.1 + vertex 1.4142 -23.0712 -0.1 + vertex 3.31148 -25.3951 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.985991 -23.4913 -0.1 + vertex 3.31148 -25.3951 -0.1 + vertex 1.4142 -23.0712 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.574011 -23.9198 -0.1 + vertex 3.31148 -25.3951 -0.1 + vertex 0.985991 -23.4913 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.31148 -25.3951 -0.1 + vertex 0.574011 -23.9198 -0.1 + vertex 2.81229 -26.1986 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.18007 -24.355 -0.1 + vertex 2.81229 -26.1986 -0.1 + vertex 0.574011 -23.9198 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.194025 -24.7953 -0.1 + vertex 2.81229 -26.1986 -0.1 + vertex 0.18007 -24.355 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.81229 -26.1986 -0.1 + vertex -0.194025 -24.7953 -0.1 + vertex 2.36428 -27.0218 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.546472 -25.2391 -0.1 + vertex 2.36428 -27.0218 -0.1 + vertex -0.194025 -24.7953 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.875463 -25.6847 -0.1 + vertex 2.36428 -27.0218 -0.1 + vertex -0.546472 -25.2391 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.36428 -27.0218 -0.1 + vertex -0.875463 -25.6847 -0.1 + vertex 1.97046 -27.8549 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -1.17919 -26.1306 -0.1 + vertex 1.97046 -27.8549 -0.1 + vertex -0.875463 -25.6847 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -1.45361 -26.5684 -0.1 + vertex 1.97046 -27.8549 -0.1 + vertex -1.17919 -26.1306 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5005 -31.4602 -0.1 + vertex 7.97377 -29.9101 -0.1 + vertex 11.1661 -32.3709 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.44603 -31.1479 -0.1 + vertex 11.1661 -32.3709 -0.1 + vertex 7.97377 -29.9101 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.1661 -32.3709 -0.1 + vertex 7.44603 -31.1479 -0.1 + vertex 10.9267 -33.0747 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.00854 -32.1311 -0.1 + vertex 10.9267 -33.0747 -0.1 + vertex 7.44603 -31.1479 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9267 -33.0747 -0.1 + vertex 7.00854 -32.1311 -0.1 + vertex 10.7819 -33.5982 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.7819 -33.5982 -0.1 + vertex 7.00854 -32.1311 -0.1 + vertex 10.7449 -33.8005 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.63949 -32.8952 -0.1 + vertex 10.7449 -33.8005 -0.1 + vertex 7.00854 -32.1311 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.7449 -33.8005 -0.1 + vertex 6.63949 -32.8952 -0.1 + vertex 10.7315 -33.9677 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.7415 -34.103 -0.1 + vertex 6.63949 -32.8952 -0.1 + vertex 6.31707 -33.4759 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.832 -34.2912 -0.1 + vertex 9.93892 -37.0575 -0.1 + vertex 10.2137 -37.0171 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.832 -34.2912 -0.1 + vertex 10.2137 -37.0171 -0.1 + vertex 10.5307 -36.9119 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.832 -34.2912 -0.1 + vertex 9.71926 -37.0921 -0.1 + vertex 9.93892 -37.0575 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.775 -34.2097 -0.1 + vertex 9.37163 -37.1827 -0.1 + vertex 9.71926 -37.0921 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 8.94379 -37.3156 -0.1 + vertex 10.7415 -34.103 -0.1 + vertex 6.31707 -33.4759 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.775 -34.2097 -0.1 + vertex 8.94379 -37.3156 -0.1 + vertex 9.37163 -37.1827 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.01946 -33.9088 -0.1 + vertex 8.94379 -37.3156 -0.1 + vertex 6.31707 -33.4759 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.94379 -37.3156 -0.1 + vertex 6.01946 -33.9088 -0.1 + vertex 8.4835 -37.477 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.87315 -34.0811 -0.1 + vertex 8.4835 -37.477 -0.1 + vertex 6.01946 -33.9088 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.72486 -34.2297 -0.1 + vertex 8.4835 -37.477 -0.1 + vertex 5.87315 -34.0811 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.4835 -37.477 -0.1 + vertex 5.72486 -34.2297 -0.1 + vertex 7.35232 -37.8908 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.41146 -34.4742 -0.1 + vertex 7.35232 -37.8908 -0.1 + vertex 5.72486 -34.2297 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.69132 -37.3222 -0.1 + vertex 7.35232 -37.8908 -0.1 + vertex 5.41146 -34.4742 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.35232 -37.8908 -0.1 + vertex 4.69132 -37.3222 -0.1 + vertex 6.47346 -38.1927 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 4.72035 -37.4346 -0.1 + vertex 6.47346 -38.1927 -0.1 + vertex 4.69132 -37.3222 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.47346 -38.1927 -0.1 + vertex 4.72035 -37.4346 -0.1 + vertex 5.81563 -38.3852 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 4.74716 -37.8041 -0.1 + vertex 5.81563 -38.3852 -0.1 + vertex 4.72035 -37.4346 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.69132 -37.3222 -0.1 + vertex 5.41146 -34.4742 -0.1 + vertex 5.05744 -34.678 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.55983 -38.4413 -0.1 + vertex 4.74716 -37.8041 -0.1 + vertex 5.34756 -38.4712 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 4.76904 -38.117 -0.1 + vertex 5.34756 -38.4712 -0.1 + vertex 4.74716 -37.8041 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.34756 -38.4712 -0.1 + vertex 4.76904 -38.117 -0.1 + vertex 5.17491 -38.475 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.17491 -38.475 -0.1 + vertex 4.76904 -38.117 -0.1 + vertex 5.03796 -38.4533 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.03796 -38.4533 -0.1 + vertex 4.80226 -38.2378 -0.1 + vertex 4.93281 -38.4063 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.93281 -38.4063 -0.1 + vertex 4.80226 -38.2378 -0.1 + vertex 4.85555 -38.3343 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 4.80226 -38.2378 -0.1 + vertex 5.03796 -38.4533 -0.1 + vertex 4.76904 -38.117 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.81563 -38.3852 -0.1 + vertex 4.74716 -37.8041 -0.1 + vertex 5.55983 -38.4413 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.05744 -34.678 -0.1 + vertex 4.65588 -37.2809 -0.1 + vertex 4.69132 -37.3222 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.59905 -34.8756 -0.1 + vertex 4.65588 -37.2809 -0.1 + vertex 5.05744 -34.678 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.12685 -35.011 -0.1 + vertex 4.65588 -37.2809 -0.1 + vertex 4.59905 -34.8756 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.65273 -35.0844 -0.1 + vertex 4.65588 -37.2809 -0.1 + vertex 4.12685 -35.011 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.65588 -37.2809 -0.1 + vertex 3.65273 -35.0844 -0.1 + vertex 4.26446 -37.4494 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.18861 -35.0966 -0.1 + vertex 4.26446 -37.4494 -0.1 + vertex 3.65273 -35.0844 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.26446 -37.4494 -0.1 + vertex 3.18861 -35.0966 -0.1 + vertex 3.45158 -37.8545 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.7464 -35.0478 -0.1 + vertex 3.45158 -37.8545 -0.1 + vertex 3.18861 -35.0966 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.45158 -37.8545 -0.1 + vertex 2.7464 -35.0478 -0.1 + vertex 3.20396 -37.9704 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.20396 -37.9704 -0.1 + vertex 2.7464 -35.0478 -0.1 + vertex 2.93102 -38.0768 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.53723 -35.0007 -0.1 + vertex 2.93102 -38.0768 -0.1 + vertex 2.7464 -35.0478 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.32439 -38.26 -0.1 + vertex 2.53723 -35.0007 -0.1 + vertex 2.33801 -34.9386 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.53723 -35.0007 -0.1 + vertex 2.32439 -38.26 -0.1 + vertex 2.93102 -38.0768 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.66207 -38.4009 -0.1 + vertex 2.33801 -34.9386 -0.1 + vertex 2.15022 -34.8616 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.66207 -38.4009 -0.1 + vertex 2.15022 -34.8616 -0.1 + vertex 1.97535 -34.7696 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.974434 -38.4962 -0.1 + vertex 1.97535 -34.7696 -0.1 + vertex 1.8149 -34.6627 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.291868 -38.543 -0.1 + vertex 1.8149 -34.6627 -0.1 + vertex 1.67035 -34.5411 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.33801 -34.9386 -0.1 + vertex 1.66207 -38.4009 -0.1 + vertex 2.32439 -38.26 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.355246 -38.538 -0.1 + vertex 1.67035 -34.5411 -0.1 + vertex 1.50339 -34.3603 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.66982 -37.4742 -0.1 + vertex 1.50339 -34.3603 -0.1 + vertex 1.35782 -34.1559 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.25661 -36.6145 -0.1 + vertex 1.35782 -34.1559 -0.1 + vertex 1.23329 -33.9292 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.68783 -35.5721 -0.1 + vertex 1.23329 -33.9292 -0.1 + vertex 1.1294 -33.6813 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.87516 -34.8013 -0.1 + vertex 1.1294 -33.6813 -0.1 + vertex 1.04578 -33.4136 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.97277 -33.9877 -0.1 + vertex 1.04578 -33.4136 -0.1 + vertex 0.982074 -33.1272 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.97535 -34.7696 -0.1 + vertex 0.974434 -38.4962 -0.1 + vertex 1.66207 -38.4009 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.97004 -33.2395 -0.1 + vertex 0.982074 -33.1272 -0.1 + vertex 0.937893 -32.8234 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.8527 -32.4651 -0.1 + vertex 0.937893 -32.8234 -0.1 + vertex 0.912865 -32.5034 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.75417 -32.0301 -0.1 + vertex 0.912865 -32.5034 -0.1 + vertex 0.906618 -32.1685 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.97046 -27.8549 -0.1 + vertex -1.45361 -26.5684 -0.1 + vertex 1.63381 -28.6878 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -1.72295 -27.0315 -0.1 + vertex 1.63381 -28.6878 -0.1 + vertex -1.45361 -26.5684 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -2.23947 -28.0146 -0.1 + vertex 1.63381 -28.6878 -0.1 + vertex -1.72295 -27.0315 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.63381 -28.6878 -0.1 + vertex -2.23947 -28.0146 -0.1 + vertex 1.35733 -29.5107 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -2.71481 -29.043 -0.1 + vertex 1.35733 -29.5107 -0.1 + vertex -2.23947 -28.0146 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.35733 -29.5107 -0.1 + vertex -2.71481 -29.043 -0.1 + vertex 1.144 -30.3137 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.144 -30.3137 -0.1 + vertex -2.71481 -29.043 -0.1 + vertex 0.99682 -31.0867 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -3.135 -30.0798 -0.1 + vertex 0.99682 -31.0867 -0.1 + vertex -2.71481 -29.043 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.99682 -31.0867 -0.1 + vertex -3.135 -30.0798 -0.1 + vertex 0.918778 -31.8199 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -3.4861 -31.0878 -0.1 + vertex 0.918778 -31.8199 -0.1 + vertex -3.135 -30.0798 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.918778 -31.8199 -0.1 + vertex -3.4861 -31.0878 -0.1 + vertex 0.906618 -32.1685 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -3.75417 -32.0301 -0.1 + vertex 0.906618 -32.1685 -0.1 + vertex -3.4861 -31.0878 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.912865 -32.5034 -0.1 + vertex -3.75417 -32.0301 -0.1 + vertex -3.8527 -32.4651 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.937893 -32.8234 -0.1 + vertex -3.8527 -32.4651 -0.1 + vertex -3.92523 -32.8697 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.937893 -32.8234 -0.1 + vertex -3.92523 -32.8697 -0.1 + vertex -3.97004 -33.2395 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.04578 -33.4136 -0.1 + vertex -3.97277 -33.9877 -0.1 + vertex -3.93569 -34.3989 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.04578 -33.4136 -0.1 + vertex -3.93569 -34.3989 -0.1 + vertex -3.87516 -34.8013 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.1294 -33.6813 -0.1 + vertex -3.87516 -34.8013 -0.1 + vertex -3.79219 -35.193 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.8149 -34.6627 -0.1 + vertex 0.291868 -38.543 -0.1 + vertex 0.974434 -38.4962 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.23329 -33.9292 -0.1 + vertex -3.56309 -35.9367 -0.1 + vertex -3.41901 -36.2848 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.23329 -33.9292 -0.1 + vertex -3.41901 -36.2848 -0.1 + vertex -3.25661 -36.6145 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.35782 -34.1559 -0.1 + vertex -3.25661 -36.6145 -0.1 + vertex -3.07693 -36.924 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.35782 -34.1559 -0.1 + vertex -3.07693 -36.924 -0.1 + vertex -2.88099 -37.2112 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.35782 -34.1559 -0.1 + vertex -2.88099 -37.2112 -0.1 + vertex -2.66982 -37.4742 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.50339 -34.3603 -0.1 + vertex -2.20592 -37.9202 -0.1 + vertex -0.936529 -38.478 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.19299 -38.4265 -0.1 + vertex -2.20592 -37.9202 -0.1 + vertex -1.4216 -38.36 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.69347 -38.2465 -0.1 + vertex -2.20592 -37.9202 -0.1 + vertex -1.95525 -38.0993 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.4216 -38.36 -0.1 + vertex -2.20592 -37.9202 -0.1 + vertex -1.69347 -38.2465 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.936529 -38.478 -0.1 + vertex -2.20592 -37.9202 -0.1 + vertex -1.19299 -38.4265 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.50339 -34.3603 -0.1 + vertex -2.44446 -37.7112 -0.1 + vertex -2.20592 -37.9202 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.50339 -34.3603 -0.1 + vertex -0.936529 -38.478 -0.1 + vertex -0.355246 -38.538 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.50339 -34.3603 -0.1 + vertex -2.66982 -37.4742 -0.1 + vertex -2.44446 -37.7112 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.1294 -33.6813 -0.1 + vertex -3.79219 -35.193 -0.1 + vertex -3.68783 -35.5721 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.67035 -34.5411 -0.1 + vertex -0.355246 -38.538 -0.1 + vertex 0.291868 -38.543 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.982074 -33.1272 -0.1 + vertex -3.97004 -33.2395 -0.1 + vertex -3.98536 -33.5697 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.23329 -33.9292 -0.1 + vertex -3.68783 -35.5721 -0.1 + vertex -3.56309 -35.9367 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.982074 -33.1272 -0.1 + vertex -3.98536 -33.5697 -0.1 + vertex -3.97277 -33.9877 -0.1 + endloop + endfacet + facet normal -0.2949 -0.955528 0 + outer loop + vertex 19.3736 -10.7173 -0.1 + vertex 19.4763 -10.749 0 + vertex 19.3736 -10.7173 0 + endloop + endfacet + facet normal -0.2949 -0.955528 -0 + outer loop + vertex 19.4763 -10.749 0 + vertex 19.3736 -10.7173 -0.1 + vertex 19.4763 -10.749 -0.1 + endloop + endfacet + facet normal -0.500051 -0.865996 0 + outer loop + vertex 19.4763 -10.749 -0.1 + vertex 19.557 -10.7956 0 + vertex 19.4763 -10.749 0 + endloop + endfacet + facet normal -0.500051 -0.865996 -0 + outer loop + vertex 19.557 -10.7956 0 + vertex 19.4763 -10.749 -0.1 + vertex 19.557 -10.7956 -0.1 + endloop + endfacet + facet normal -0.714409 -0.699729 0 + outer loop + vertex 19.6172 -10.8571 -0.1 + vertex 19.557 -10.7956 0 + vertex 19.557 -10.7956 -0.1 + endloop + endfacet + facet normal -0.714409 -0.699729 0 + outer loop + vertex 19.557 -10.7956 0 + vertex 19.6172 -10.8571 -0.1 + vertex 19.6172 -10.8571 0 + endloop + endfacet + facet normal -0.879991 -0.47499 0 + outer loop + vertex 19.6583 -10.9333 -0.1 + vertex 19.6172 -10.8571 0 + vertex 19.6172 -10.8571 -0.1 + endloop + endfacet + facet normal -0.879991 -0.47499 0 + outer loop + vertex 19.6172 -10.8571 0 + vertex 19.6583 -10.9333 -0.1 + vertex 19.6583 -10.9333 0 + endloop + endfacet + facet normal -0.967951 -0.251138 0 + outer loop + vertex 19.6819 -11.0243 -0.1 + vertex 19.6583 -10.9333 0 + vertex 19.6583 -10.9333 -0.1 + endloop + endfacet + facet normal -0.967951 -0.251138 0 + outer loop + vertex 19.6583 -10.9333 0 + vertex 19.6819 -11.0243 -0.1 + vertex 19.6819 -11.0243 0 + endloop + endfacet + facet normal -0.997465 -0.0711569 0 + outer loop + vertex 19.6895 -11.13 -0.1 + vertex 19.6819 -11.0243 0 + vertex 19.6819 -11.0243 -0.1 + endloop + endfacet + facet normal -0.997465 -0.0711569 0 + outer loop + vertex 19.6819 -11.0243 0 + vertex 19.6895 -11.13 -0.1 + vertex 19.6895 -11.13 0 + endloop + endfacet + facet normal -0.984705 0.17423 0 + outer loop + vertex 19.6598 -11.2975 -0.1 + vertex 19.6895 -11.13 0 + vertex 19.6895 -11.13 -0.1 + endloop + endfacet + facet normal -0.984705 0.17423 0 + outer loop + vertex 19.6895 -11.13 0 + vertex 19.6598 -11.2975 -0.1 + vertex 19.6598 -11.2975 0 + endloop + endfacet + facet normal -0.956743 0.290933 0 + outer loop + vertex 19.5653 -11.6083 -0.1 + vertex 19.6598 -11.2975 0 + vertex 19.6598 -11.2975 -0.1 + endloop + endfacet + facet normal -0.956743 0.290933 0 + outer loop + vertex 19.6598 -11.2975 0 + vertex 19.5653 -11.6083 -0.1 + vertex 19.5653 -11.6083 0 + endloop + endfacet + facet normal -0.93899 0.343946 0 + outer loop + vertex 19.1479 -12.7477 -0.1 + vertex 19.5653 -11.6083 0 + vertex 19.5653 -11.6083 -0.1 + endloop + endfacet + facet normal -0.93899 0.343946 0 + outer loop + vertex 19.5653 -11.6083 0 + vertex 19.1479 -12.7477 -0.1 + vertex 19.1479 -12.7477 0 + endloop + endfacet + facet normal -0.930496 0.366302 0 + outer loop + vertex 18.3699 -14.7241 -0.1 + vertex 19.1479 -12.7477 0 + vertex 19.1479 -12.7477 -0.1 + endloop + endfacet + facet normal -0.930496 0.366302 0 + outer loop + vertex 19.1479 -12.7477 0 + vertex 18.3699 -14.7241 -0.1 + vertex 18.3699 -14.7241 0 + endloop + endfacet + facet normal -0.92735 0.374196 0 + outer loop + vertex 17.1638 -17.7131 -0.1 + vertex 18.3699 -14.7241 0 + vertex 18.3699 -14.7241 -0.1 + endloop + endfacet + facet normal -0.92735 0.374196 0 + outer loop + vertex 18.3699 -14.7241 0 + vertex 17.1638 -17.7131 -0.1 + vertex 17.1638 -17.7131 0 + endloop + endfacet + facet normal -0.922106 0.386938 0 + outer loop + vertex 14.5952 -23.8342 -0.1 + vertex 17.1638 -17.7131 0 + vertex 17.1638 -17.7131 -0.1 + endloop + endfacet + facet normal -0.922106 0.386938 0 + outer loop + vertex 17.1638 -17.7131 0 + vertex 14.5952 -23.8342 -0.1 + vertex 14.5952 -23.8342 0 + endloop + endfacet + facet normal -0.923985 0.382428 0 + outer loop + vertex 12.8097 -28.1484 -0.1 + vertex 14.5952 -23.8342 0 + vertex 14.5952 -23.8342 -0.1 + endloop + endfacet + facet normal -0.923985 0.382428 0 + outer loop + vertex 14.5952 -23.8342 0 + vertex 12.8097 -28.1484 -0.1 + vertex 12.8097 -28.1484 0 + endloop + endfacet + facet normal -0.928075 0.372394 0 + outer loop + vertex 12.0447 -30.0547 -0.1 + vertex 12.8097 -28.1484 0 + vertex 12.8097 -28.1484 -0.1 + endloop + endfacet + facet normal -0.928075 0.372394 0 + outer loop + vertex 12.8097 -28.1484 0 + vertex 12.0447 -30.0547 -0.1 + vertex 12.0447 -30.0547 0 + endloop + endfacet + facet normal -0.932522 0.361114 0 + outer loop + vertex 11.5005 -31.4602 -0.1 + vertex 12.0447 -30.0547 0 + vertex 12.0447 -30.0547 -0.1 + endloop + endfacet + facet normal -0.932522 0.361114 0 + outer loop + vertex 12.0447 -30.0547 0 + vertex 11.5005 -31.4602 -0.1 + vertex 11.5005 -31.4602 0 + endloop + endfacet + facet normal -0.938737 0.344634 0 + outer loop + vertex 11.1661 -32.3709 -0.1 + vertex 11.5005 -31.4602 0 + vertex 11.5005 -31.4602 -0.1 + endloop + endfacet + facet normal -0.938737 0.344634 0 + outer loop + vertex 11.5005 -31.4602 0 + vertex 11.1661 -32.3709 -0.1 + vertex 11.1661 -32.3709 0 + endloop + endfacet + facet normal -0.946728 0.322034 0 + outer loop + vertex 10.9267 -33.0747 -0.1 + vertex 11.1661 -32.3709 0 + vertex 11.1661 -32.3709 -0.1 + endloop + endfacet + facet normal -0.946728 0.322034 0 + outer loop + vertex 11.1661 -32.3709 0 + vertex 10.9267 -33.0747 -0.1 + vertex 10.9267 -33.0747 0 + endloop + endfacet + facet normal -0.963806 0.266603 0 + outer loop + vertex 10.7819 -33.5982 -0.1 + vertex 10.9267 -33.0747 0 + vertex 10.9267 -33.0747 -0.1 + endloop + endfacet + facet normal -0.963806 0.266603 0 + outer loop + vertex 10.9267 -33.0747 0 + vertex 10.7819 -33.5982 -0.1 + vertex 10.7819 -33.5982 0 + endloop + endfacet + facet normal -0.983685 0.179901 0 + outer loop + vertex 10.7449 -33.8005 -0.1 + vertex 10.7819 -33.5982 0 + vertex 10.7819 -33.5982 -0.1 + endloop + endfacet + facet normal -0.983685 0.179901 0 + outer loop + vertex 10.7819 -33.5982 0 + vertex 10.7449 -33.8005 -0.1 + vertex 10.7449 -33.8005 0 + endloop + endfacet + facet normal -0.996773 0.0802779 0 + outer loop + vertex 10.7315 -33.9677 -0.1 + vertex 10.7449 -33.8005 0 + vertex 10.7449 -33.8005 -0.1 + endloop + endfacet + facet normal -0.996773 0.0802779 0 + outer loop + vertex 10.7449 -33.8005 0 + vertex 10.7315 -33.9677 -0.1 + vertex 10.7315 -33.9677 0 + endloop + endfacet + facet normal -0.997256 -0.0740364 0 + outer loop + vertex 10.7415 -34.103 -0.1 + vertex 10.7315 -33.9677 0 + vertex 10.7315 -33.9677 -0.1 + endloop + endfacet + facet normal -0.997256 -0.0740364 0 + outer loop + vertex 10.7315 -33.9677 0 + vertex 10.7415 -34.103 -0.1 + vertex 10.7415 -34.103 0 + endloop + endfacet + facet normal -0.954067 -0.299593 0 + outer loop + vertex 10.775 -34.2097 -0.1 + vertex 10.7415 -34.103 0 + vertex 10.7415 -34.103 -0.1 + endloop + endfacet + facet normal -0.954067 -0.299593 0 + outer loop + vertex 10.7415 -34.103 0 + vertex 10.775 -34.2097 -0.1 + vertex 10.775 -34.2097 0 + endloop + endfacet + facet normal -0.81961 -0.572921 0 + outer loop + vertex 10.832 -34.2912 -0.1 + vertex 10.775 -34.2097 0 + vertex 10.775 -34.2097 -0.1 + endloop + endfacet + facet normal -0.81961 -0.572921 0 + outer loop + vertex 10.775 -34.2097 0 + vertex 10.832 -34.2912 -0.1 + vertex 10.832 -34.2912 0 + endloop + endfacet + facet normal -0.595252 -0.803539 0 + outer loop + vertex 10.832 -34.2912 -0.1 + vertex 10.9123 -34.3507 0 + vertex 10.832 -34.2912 0 + endloop + endfacet + facet normal -0.595252 -0.803539 -0 + outer loop + vertex 10.9123 -34.3507 0 + vertex 10.832 -34.2912 -0.1 + vertex 10.9123 -34.3507 -0.1 + endloop + endfacet + facet normal -0.366659 -0.930355 0 + outer loop + vertex 10.9123 -34.3507 -0.1 + vertex 11.016 -34.3915 0 + vertex 10.9123 -34.3507 0 + endloop + endfacet + facet normal -0.366659 -0.930355 -0 + outer loop + vertex 11.016 -34.3915 0 + vertex 10.9123 -34.3507 -0.1 + vertex 11.016 -34.3915 -0.1 + endloop + endfacet + facet normal -0.197016 -0.9804 0 + outer loop + vertex 11.016 -34.3915 -0.1 + vertex 11.143 -34.4171 0 + vertex 11.016 -34.3915 0 + endloop + endfacet + facet normal -0.197016 -0.9804 -0 + outer loop + vertex 11.143 -34.4171 0 + vertex 11.016 -34.3915 -0.1 + vertex 11.143 -34.4171 -0.1 + endloop + endfacet + facet normal -0.0562764 -0.998415 0 + outer loop + vertex 11.143 -34.4171 -0.1 + vertex 11.4668 -34.4353 0 + vertex 11.143 -34.4171 0 + endloop + endfacet + facet normal -0.0562764 -0.998415 -0 + outer loop + vertex 11.4668 -34.4353 0 + vertex 11.143 -34.4171 -0.1 + vertex 11.4668 -34.4353 -0.1 + endloop + endfacet + facet normal -0.118118 -0.993 0 + outer loop + vertex 11.4668 -34.4353 -0.1 + vertex 11.6919 -34.4621 0 + vertex 11.4668 -34.4353 0 + endloop + endfacet + facet normal -0.118118 -0.993 -0 + outer loop + vertex 11.6919 -34.4621 0 + vertex 11.4668 -34.4353 -0.1 + vertex 11.6919 -34.4621 -0.1 + endloop + endfacet + facet normal -0.357337 -0.933976 0 + outer loop + vertex 11.6919 -34.4621 -0.1 + vertex 11.8827 -34.5351 0 + vertex 11.6919 -34.4621 0 + endloop + endfacet + facet normal -0.357337 -0.933976 -0 + outer loop + vertex 11.8827 -34.5351 0 + vertex 11.6919 -34.4621 -0.1 + vertex 11.8827 -34.5351 -0.1 + endloop + endfacet + facet normal -0.596054 -0.802944 0 + outer loop + vertex 11.8827 -34.5351 -0.1 + vertex 12.0364 -34.6492 0 + vertex 11.8827 -34.5351 0 + endloop + endfacet + facet normal -0.596054 -0.802944 -0 + outer loop + vertex 12.0364 -34.6492 0 + vertex 11.8827 -34.5351 -0.1 + vertex 12.0364 -34.6492 -0.1 + endloop + endfacet + facet normal -0.796902 -0.604109 0 + outer loop + vertex 12.1503 -34.7994 -0.1 + vertex 12.0364 -34.6492 0 + vertex 12.0364 -34.6492 -0.1 + endloop + endfacet + facet normal -0.796902 -0.604109 0 + outer loop + vertex 12.0364 -34.6492 0 + vertex 12.1503 -34.7994 -0.1 + vertex 12.1503 -34.7994 0 + endloop + endfacet + facet normal -0.930863 -0.365367 0 + outer loop + vertex 12.2214 -34.9805 -0.1 + vertex 12.1503 -34.7994 0 + vertex 12.1503 -34.7994 -0.1 + endloop + endfacet + facet normal -0.930863 -0.365367 0 + outer loop + vertex 12.1503 -34.7994 0 + vertex 12.2214 -34.9805 -0.1 + vertex 12.2214 -34.9805 0 + endloop + endfacet + facet normal -0.992505 -0.122206 0 + outer loop + vertex 12.2468 -35.1875 -0.1 + vertex 12.2214 -34.9805 0 + vertex 12.2214 -34.9805 -0.1 + endloop + endfacet + facet normal -0.992505 -0.122206 0 + outer loop + vertex 12.2214 -34.9805 0 + vertex 12.2468 -35.1875 -0.1 + vertex 12.2468 -35.1875 0 + endloop + endfacet + facet normal -0.994949 0.100386 0 + outer loop + vertex 12.2239 -35.4151 -0.1 + vertex 12.2468 -35.1875 0 + vertex 12.2468 -35.1875 -0.1 + endloop + endfacet + facet normal -0.994949 0.100386 0 + outer loop + vertex 12.2468 -35.1875 0 + vertex 12.2239 -35.4151 -0.1 + vertex 12.2239 -35.4151 0 + endloop + endfacet + facet normal -0.956433 0.291953 0 + outer loop + vertex 12.1496 -35.6584 -0.1 + vertex 12.2239 -35.4151 0 + vertex 12.2239 -35.4151 -0.1 + endloop + endfacet + facet normal -0.956433 0.291953 0 + outer loop + vertex 12.2239 -35.4151 0 + vertex 12.1496 -35.6584 -0.1 + vertex 12.1496 -35.6584 0 + endloop + endfacet + facet normal -0.890412 0.455156 0 + outer loop + vertex 12.0956 -35.7642 -0.1 + vertex 12.1496 -35.6584 0 + vertex 12.1496 -35.6584 -0.1 + endloop + endfacet + facet normal -0.890412 0.455156 0 + outer loop + vertex 12.1496 -35.6584 0 + vertex 12.0956 -35.7642 -0.1 + vertex 12.0956 -35.7642 0 + endloop + endfacet + facet normal -0.820093 0.572231 0 + outer loop + vertex 12.0181 -35.8752 -0.1 + vertex 12.0956 -35.7642 0 + vertex 12.0956 -35.7642 -0.1 + endloop + endfacet + facet normal -0.820093 0.572231 0 + outer loop + vertex 12.0956 -35.7642 0 + vertex 12.0181 -35.8752 -0.1 + vertex 12.0181 -35.8752 0 + endloop + endfacet + facet normal -0.732832 0.680409 0 + outer loop + vertex 11.8034 -36.1064 -0.1 + vertex 12.0181 -35.8752 0 + vertex 12.0181 -35.8752 -0.1 + endloop + endfacet + facet normal -0.732832 0.680409 0 + outer loop + vertex 12.0181 -35.8752 0 + vertex 11.8034 -36.1064 -0.1 + vertex 11.8034 -36.1064 0 + endloop + endfacet + facet normal -0.642938 0.765918 0 + outer loop + vertex 11.8034 -36.1064 -0.1 + vertex 11.5264 -36.339 0 + vertex 11.8034 -36.1064 0 + endloop + endfacet + facet normal -0.642938 0.765918 0 + outer loop + vertex 11.5264 -36.339 0 + vertex 11.8034 -36.1064 -0.1 + vertex 11.5264 -36.339 -0.1 + endloop + endfacet + facet normal -0.569468 0.822014 0 + outer loop + vertex 11.5264 -36.339 -0.1 + vertex 11.208 -36.5595 0 + vertex 11.5264 -36.339 0 + endloop + endfacet + facet normal -0.569468 0.822014 0 + outer loop + vertex 11.208 -36.5595 0 + vertex 11.5264 -36.339 -0.1 + vertex 11.208 -36.5595 -0.1 + endloop + endfacet + facet normal -0.499497 0.866315 0 + outer loop + vertex 11.208 -36.5595 -0.1 + vertex 10.8691 -36.7549 0 + vertex 11.208 -36.5595 0 + endloop + endfacet + facet normal -0.499497 0.866315 0 + outer loop + vertex 10.8691 -36.7549 0 + vertex 11.208 -36.5595 -0.1 + vertex 10.8691 -36.7549 -0.1 + endloop + endfacet + facet normal -0.420709 0.907196 0 + outer loop + vertex 10.8691 -36.7549 -0.1 + vertex 10.5307 -36.9119 0 + vertex 10.8691 -36.7549 0 + endloop + endfacet + facet normal -0.420709 0.907196 0 + outer loop + vertex 10.5307 -36.9119 0 + vertex 10.8691 -36.7549 -0.1 + vertex 10.5307 -36.9119 -0.1 + endloop + endfacet + facet normal -0.315116 0.949053 0 + outer loop + vertex 10.5307 -36.9119 -0.1 + vertex 10.2137 -37.0171 0 + vertex 10.5307 -36.9119 0 + endloop + endfacet + facet normal -0.315116 0.949053 0 + outer loop + vertex 10.2137 -37.0171 0 + vertex 10.5307 -36.9119 -0.1 + vertex 10.2137 -37.0171 -0.1 + endloop + endfacet + facet normal -0.145343 0.989381 0 + outer loop + vertex 10.2137 -37.0171 -0.1 + vertex 9.93892 -37.0575 0 + vertex 10.2137 -37.0171 0 + endloop + endfacet + facet normal -0.145343 0.989381 0 + outer loop + vertex 9.93892 -37.0575 0 + vertex 10.2137 -37.0171 -0.1 + vertex 9.93892 -37.0575 -0.1 + endloop + endfacet + facet normal -0.15554 0.98783 0 + outer loop + vertex 9.93892 -37.0575 -0.1 + vertex 9.71926 -37.0921 0 + vertex 9.93892 -37.0575 0 + endloop + endfacet + facet normal -0.15554 0.98783 0 + outer loop + vertex 9.71926 -37.0921 0 + vertex 9.93892 -37.0575 -0.1 + vertex 9.71926 -37.0921 -0.1 + endloop + endfacet + facet normal -0.252236 0.967666 0 + outer loop + vertex 9.71926 -37.0921 -0.1 + vertex 9.37163 -37.1827 0 + vertex 9.71926 -37.0921 0 + endloop + endfacet + facet normal -0.252236 0.967666 0 + outer loop + vertex 9.37163 -37.1827 0 + vertex 9.71926 -37.0921 -0.1 + vertex 9.37163 -37.1827 -0.1 + endloop + endfacet + facet normal -0.296619 0.954996 0 + outer loop + vertex 9.37163 -37.1827 -0.1 + vertex 8.94379 -37.3156 0 + vertex 9.37163 -37.1827 0 + endloop + endfacet + facet normal -0.296619 0.954996 0 + outer loop + vertex 8.94379 -37.3156 0 + vertex 9.37163 -37.1827 -0.1 + vertex 8.94379 -37.3156 -0.1 + endloop + endfacet + facet normal -0.330869 0.943677 0 + outer loop + vertex 8.94379 -37.3156 -0.1 + vertex 8.4835 -37.477 0 + vertex 8.94379 -37.3156 0 + endloop + endfacet + facet normal -0.330869 0.943677 0 + outer loop + vertex 8.4835 -37.477 0 + vertex 8.94379 -37.3156 -0.1 + vertex 8.4835 -37.477 -0.1 + endloop + endfacet + facet normal -0.343608 0.939113 0 + outer loop + vertex 8.4835 -37.477 -0.1 + vertex 7.35232 -37.8908 0 + vertex 8.4835 -37.477 0 + endloop + endfacet + facet normal -0.343608 0.939113 0 + outer loop + vertex 7.35232 -37.8908 0 + vertex 8.4835 -37.477 -0.1 + vertex 7.35232 -37.8908 -0.1 + endloop + endfacet + facet normal -0.324819 0.945776 0 + outer loop + vertex 7.35232 -37.8908 -0.1 + vertex 6.47346 -38.1927 0 + vertex 7.35232 -37.8908 0 + endloop + endfacet + facet normal -0.324819 0.945776 0 + outer loop + vertex 6.47346 -38.1927 0 + vertex 7.35232 -37.8908 -0.1 + vertex 6.47346 -38.1927 -0.1 + endloop + endfacet + facet normal -0.280895 0.959739 0 + outer loop + vertex 6.47346 -38.1927 -0.1 + vertex 5.81563 -38.3852 0 + vertex 6.47346 -38.1927 0 + endloop + endfacet + facet normal -0.280895 0.959739 0 + outer loop + vertex 5.81563 -38.3852 0 + vertex 6.47346 -38.1927 -0.1 + vertex 5.81563 -38.3852 -0.1 + endloop + endfacet + facet normal -0.214328 0.976762 0 + outer loop + vertex 5.81563 -38.3852 -0.1 + vertex 5.55983 -38.4413 0 + vertex 5.81563 -38.3852 0 + endloop + endfacet + facet normal -0.214328 0.976762 0 + outer loop + vertex 5.55983 -38.4413 0 + vertex 5.81563 -38.3852 -0.1 + vertex 5.55983 -38.4413 -0.1 + endloop + endfacet + facet normal -0.139165 0.990269 0 + outer loop + vertex 5.55983 -38.4413 -0.1 + vertex 5.34756 -38.4712 0 + vertex 5.55983 -38.4413 0 + endloop + endfacet + facet normal -0.139165 0.990269 0 + outer loop + vertex 5.34756 -38.4712 0 + vertex 5.55983 -38.4413 -0.1 + vertex 5.34756 -38.4712 -0.1 + endloop + endfacet + facet normal -0.0224422 0.999748 0 + outer loop + vertex 5.34756 -38.4712 -0.1 + vertex 5.17491 -38.475 0 + vertex 5.34756 -38.4712 0 + endloop + endfacet + facet normal -0.0224422 0.999748 0 + outer loop + vertex 5.17491 -38.475 0 + vertex 5.34756 -38.4712 -0.1 + vertex 5.17491 -38.475 -0.1 + endloop + endfacet + facet normal 0.156812 0.987628 -0 + outer loop + vertex 5.17491 -38.475 -0.1 + vertex 5.03796 -38.4533 0 + vertex 5.17491 -38.475 0 + endloop + endfacet + facet normal 0.156812 0.987628 0 + outer loop + vertex 5.03796 -38.4533 0 + vertex 5.17491 -38.475 -0.1 + vertex 5.03796 -38.4533 -0.1 + endloop + endfacet + facet normal 0.408161 0.91291 -0 + outer loop + vertex 5.03796 -38.4533 -0.1 + vertex 4.93281 -38.4063 0 + vertex 5.03796 -38.4533 0 + endloop + endfacet + facet normal 0.408161 0.91291 0 + outer loop + vertex 4.93281 -38.4063 0 + vertex 5.03796 -38.4533 -0.1 + vertex 4.93281 -38.4063 -0.1 + endloop + endfacet + facet normal 0.681473 0.731843 -0 + outer loop + vertex 4.93281 -38.4063 -0.1 + vertex 4.85555 -38.3343 0 + vertex 4.93281 -38.4063 0 + endloop + endfacet + facet normal 0.681473 0.731843 0 + outer loop + vertex 4.85555 -38.3343 0 + vertex 4.93281 -38.4063 -0.1 + vertex 4.85555 -38.3343 -0.1 + endloop + endfacet + facet normal 0.875472 0.48327 0 + outer loop + vertex 4.85555 -38.3343 0 + vertex 4.80226 -38.2378 -0.1 + vertex 4.80226 -38.2378 0 + endloop + endfacet + facet normal 0.875472 0.48327 0 + outer loop + vertex 4.80226 -38.2378 -0.1 + vertex 4.85555 -38.3343 0 + vertex 4.85555 -38.3343 -0.1 + endloop + endfacet + facet normal 0.964192 0.265205 0 + outer loop + vertex 4.80226 -38.2378 0 + vertex 4.76904 -38.117 -0.1 + vertex 4.76904 -38.117 0 + endloop + endfacet + facet normal 0.964192 0.265205 0 + outer loop + vertex 4.76904 -38.117 -0.1 + vertex 4.80226 -38.2378 0 + vertex 4.80226 -38.2378 -0.1 + endloop + endfacet + facet normal 0.997564 0.069762 0 + outer loop + vertex 4.76904 -38.117 0 + vertex 4.74716 -37.8041 -0.1 + vertex 4.74716 -37.8041 0 + endloop + endfacet + facet normal 0.997564 0.069762 0 + outer loop + vertex 4.74716 -37.8041 -0.1 + vertex 4.76904 -38.117 0 + vertex 4.76904 -38.117 -0.1 + endloop + endfacet + facet normal 0.997378 0.0723715 0 + outer loop + vertex 4.74716 -37.8041 0 + vertex 4.72035 -37.4346 -0.1 + vertex 4.72035 -37.4346 0 + endloop + endfacet + facet normal 0.997378 0.0723715 0 + outer loop + vertex 4.72035 -37.4346 -0.1 + vertex 4.74716 -37.8041 0 + vertex 4.74716 -37.8041 -0.1 + endloop + endfacet + facet normal 0.968245 0.250005 0 + outer loop + vertex 4.72035 -37.4346 0 + vertex 4.69132 -37.3222 -0.1 + vertex 4.69132 -37.3222 0 + endloop + endfacet + facet normal 0.968245 0.250005 0 + outer loop + vertex 4.69132 -37.3222 -0.1 + vertex 4.72035 -37.4346 0 + vertex 4.72035 -37.4346 -0.1 + endloop + endfacet + facet normal 0.758745 0.651387 0 + outer loop + vertex 4.69132 -37.3222 0 + vertex 4.65588 -37.2809 -0.1 + vertex 4.65588 -37.2809 0 + endloop + endfacet + facet normal 0.758745 0.651387 0 + outer loop + vertex 4.65588 -37.2809 -0.1 + vertex 4.69132 -37.3222 0 + vertex 4.69132 -37.3222 -0.1 + endloop + endfacet + facet normal -0.395389 0.918514 0 + outer loop + vertex 4.65588 -37.2809 -0.1 + vertex 4.26446 -37.4494 0 + vertex 4.65588 -37.2809 0 + endloop + endfacet + facet normal -0.395389 0.918514 0 + outer loop + vertex 4.26446 -37.4494 0 + vertex 4.65588 -37.2809 -0.1 + vertex 4.26446 -37.4494 -0.1 + endloop + endfacet + facet normal -0.446029 0.895018 0 + outer loop + vertex 4.26446 -37.4494 -0.1 + vertex 3.45158 -37.8545 0 + vertex 4.26446 -37.4494 0 + endloop + endfacet + facet normal -0.446029 0.895018 0 + outer loop + vertex 3.45158 -37.8545 0 + vertex 4.26446 -37.4494 -0.1 + vertex 3.45158 -37.8545 -0.1 + endloop + endfacet + facet normal -0.42381 0.905751 0 + outer loop + vertex 3.45158 -37.8545 -0.1 + vertex 3.20396 -37.9704 0 + vertex 3.45158 -37.8545 0 + endloop + endfacet + facet normal -0.42381 0.905751 0 + outer loop + vertex 3.20396 -37.9704 0 + vertex 3.45158 -37.8545 -0.1 + vertex 3.20396 -37.9704 -0.1 + endloop + endfacet + facet normal -0.363414 0.931628 0 + outer loop + vertex 3.20396 -37.9704 -0.1 + vertex 2.93102 -38.0768 0 + vertex 3.20396 -37.9704 0 + endloop + endfacet + facet normal -0.363414 0.931628 0 + outer loop + vertex 2.93102 -38.0768 0 + vertex 3.20396 -37.9704 -0.1 + vertex 2.93102 -38.0768 -0.1 + endloop + endfacet + facet normal -0.289057 0.957312 0 + outer loop + vertex 2.93102 -38.0768 -0.1 + vertex 2.32439 -38.26 0 + vertex 2.93102 -38.0768 0 + endloop + endfacet + facet normal -0.289057 0.957312 0 + outer loop + vertex 2.32439 -38.26 0 + vertex 2.93102 -38.0768 -0.1 + vertex 2.32439 -38.26 -0.1 + endloop + endfacet + facet normal -0.208009 0.978127 0 + outer loop + vertex 2.32439 -38.26 -0.1 + vertex 1.66207 -38.4009 0 + vertex 2.32439 -38.26 0 + endloop + endfacet + facet normal -0.208009 0.978127 0 + outer loop + vertex 1.66207 -38.4009 0 + vertex 2.32439 -38.26 -0.1 + vertex 1.66207 -38.4009 -0.1 + endloop + endfacet + facet normal -0.13739 0.990517 0 + outer loop + vertex 1.66207 -38.4009 -0.1 + vertex 0.974434 -38.4962 0 + vertex 1.66207 -38.4009 0 + endloop + endfacet + facet normal -0.13739 0.990517 0 + outer loop + vertex 0.974434 -38.4962 0 + vertex 1.66207 -38.4009 -0.1 + vertex 0.974434 -38.4962 -0.1 + endloop + endfacet + facet normal -0.0683412 0.997662 0 + outer loop + vertex 0.974434 -38.4962 -0.1 + vertex 0.291868 -38.543 0 + vertex 0.974434 -38.4962 0 + endloop + endfacet + facet normal -0.0683412 0.997662 0 + outer loop + vertex 0.291868 -38.543 0 + vertex 0.974434 -38.4962 -0.1 + vertex 0.291868 -38.543 -0.1 + endloop + endfacet + facet normal 0.00775161 0.99997 -0 + outer loop + vertex 0.291868 -38.543 -0.1 + vertex -0.355246 -38.538 0 + vertex 0.291868 -38.543 0 + endloop + endfacet + facet normal 0.00775161 0.99997 0 + outer loop + vertex -0.355246 -38.538 0 + vertex 0.291868 -38.543 -0.1 + vertex -0.355246 -38.538 -0.1 + endloop + endfacet + facet normal 0.10258 0.994725 -0 + outer loop + vertex -0.355246 -38.538 -0.1 + vertex -0.936529 -38.478 0 + vertex -0.355246 -38.538 0 + endloop + endfacet + facet normal 0.10258 0.994725 0 + outer loop + vertex -0.936529 -38.478 0 + vertex -0.355246 -38.538 -0.1 + vertex -0.936529 -38.478 -0.1 + endloop + endfacet + facet normal 0.197071 0.980389 -0 + outer loop + vertex -0.936529 -38.478 -0.1 + vertex -1.19299 -38.4265 0 + vertex -0.936529 -38.478 0 + endloop + endfacet + facet normal 0.197071 0.980389 0 + outer loop + vertex -1.19299 -38.4265 0 + vertex -0.936529 -38.478 -0.1 + vertex -1.19299 -38.4265 -0.1 + endloop + endfacet + facet normal 0.279186 0.960237 -0 + outer loop + vertex -1.19299 -38.4265 -0.1 + vertex -1.4216 -38.36 0 + vertex -1.19299 -38.4265 0 + endloop + endfacet + facet normal 0.279186 0.960237 0 + outer loop + vertex -1.4216 -38.36 0 + vertex -1.19299 -38.4265 -0.1 + vertex -1.4216 -38.36 -0.1 + endloop + endfacet + facet normal 0.385209 0.92283 -0 + outer loop + vertex -1.4216 -38.36 -0.1 + vertex -1.69347 -38.2465 0 + vertex -1.4216 -38.36 0 + endloop + endfacet + facet normal 0.385209 0.92283 0 + outer loop + vertex -1.69347 -38.2465 0 + vertex -1.4216 -38.36 -0.1 + vertex -1.69347 -38.2465 -0.1 + endloop + endfacet + facet normal 0.490243 0.871586 -0 + outer loop + vertex -1.69347 -38.2465 -0.1 + vertex -1.95525 -38.0993 0 + vertex -1.69347 -38.2465 0 + endloop + endfacet + facet normal 0.490243 0.871586 0 + outer loop + vertex -1.95525 -38.0993 0 + vertex -1.69347 -38.2465 -0.1 + vertex -1.95525 -38.0993 -0.1 + endloop + endfacet + facet normal 0.581299 0.81369 -0 + outer loop + vertex -1.95525 -38.0993 -0.1 + vertex -2.20592 -37.9202 0 + vertex -1.95525 -38.0993 0 + endloop + endfacet + facet normal 0.581299 0.81369 0 + outer loop + vertex -2.20592 -37.9202 0 + vertex -1.95525 -38.0993 -0.1 + vertex -2.20592 -37.9202 -0.1 + endloop + endfacet + facet normal 0.65901 0.752134 -0 + outer loop + vertex -2.20592 -37.9202 -0.1 + vertex -2.44446 -37.7112 0 + vertex -2.20592 -37.9202 0 + endloop + endfacet + facet normal 0.65901 0.752134 0 + outer loop + vertex -2.44446 -37.7112 0 + vertex -2.20592 -37.9202 -0.1 + vertex -2.44446 -37.7112 -0.1 + endloop + endfacet + facet normal 0.724655 0.689112 0 + outer loop + vertex -2.44446 -37.7112 0 + vertex -2.66982 -37.4742 -0.1 + vertex -2.66982 -37.4742 0 + endloop + endfacet + facet normal 0.724655 0.689112 0 + outer loop + vertex -2.66982 -37.4742 -0.1 + vertex -2.44446 -37.7112 0 + vertex -2.44446 -37.7112 -0.1 + endloop + endfacet + facet normal 0.779827 0.625996 0 + outer loop + vertex -2.66982 -37.4742 0 + vertex -2.88099 -37.2112 -0.1 + vertex -2.88099 -37.2112 0 + endloop + endfacet + facet normal 0.779827 0.625996 0 + outer loop + vertex -2.88099 -37.2112 -0.1 + vertex -2.66982 -37.4742 0 + vertex -2.66982 -37.4742 -0.1 + endloop + endfacet + facet normal 0.826071 0.563566 0 + outer loop + vertex -2.88099 -37.2112 0 + vertex -3.07693 -36.924 -0.1 + vertex -3.07693 -36.924 0 + endloop + endfacet + facet normal 0.826071 0.563566 0 + outer loop + vertex -3.07693 -36.924 -0.1 + vertex -2.88099 -37.2112 0 + vertex -2.88099 -37.2112 -0.1 + endloop + endfacet + facet normal 0.864772 0.502165 0 + outer loop + vertex -3.07693 -36.924 0 + vertex -3.25661 -36.6145 -0.1 + vertex -3.25661 -36.6145 0 + endloop + endfacet + facet normal 0.864772 0.502165 0 + outer loop + vertex -3.25661 -36.6145 -0.1 + vertex -3.07693 -36.924 0 + vertex -3.07693 -36.924 -0.1 + endloop + endfacet + facet normal 0.897098 0.441832 0 + outer loop + vertex -3.25661 -36.6145 0 + vertex -3.41901 -36.2848 -0.1 + vertex -3.41901 -36.2848 0 + endloop + endfacet + facet normal 0.897098 0.441832 0 + outer loop + vertex -3.41901 -36.2848 -0.1 + vertex -3.25661 -36.6145 0 + vertex -3.25661 -36.6145 -0.1 + endloop + endfacet + facet normal 0.923982 0.382435 0 + outer loop + vertex -3.41901 -36.2848 0 + vertex -3.56309 -35.9367 -0.1 + vertex -3.56309 -35.9367 0 + endloop + endfacet + facet normal 0.923982 0.382435 0 + outer loop + vertex -3.56309 -35.9367 -0.1 + vertex -3.41901 -36.2848 0 + vertex -3.41901 -36.2848 -0.1 + endloop + endfacet + facet normal 0.946149 0.323732 0 + outer loop + vertex -3.56309 -35.9367 0 + vertex -3.68783 -35.5721 -0.1 + vertex -3.68783 -35.5721 0 + endloop + endfacet + facet normal 0.946149 0.323732 0 + outer loop + vertex -3.68783 -35.5721 -0.1 + vertex -3.56309 -35.9367 0 + vertex -3.56309 -35.9367 -0.1 + endloop + endfacet + facet normal 0.964131 0.265426 0 + outer loop + vertex -3.68783 -35.5721 0 + vertex -3.79219 -35.193 -0.1 + vertex -3.79219 -35.193 0 + endloop + endfacet + facet normal 0.964131 0.265426 0 + outer loop + vertex -3.79219 -35.193 -0.1 + vertex -3.68783 -35.5721 0 + vertex -3.68783 -35.5721 -0.1 + endloop + endfacet + facet normal 0.978298 0.207204 0 + outer loop + vertex -3.79219 -35.193 0 + vertex -3.87516 -34.8013 -0.1 + vertex -3.87516 -34.8013 0 + endloop + endfacet + facet normal 0.978298 0.207204 0 + outer loop + vertex -3.87516 -34.8013 -0.1 + vertex -3.79219 -35.193 0 + vertex -3.79219 -35.193 -0.1 + endloop + endfacet + facet normal 0.988873 0.148763 0 + outer loop + vertex -3.87516 -34.8013 0 + vertex -3.93569 -34.3989 -0.1 + vertex -3.93569 -34.3989 0 + endloop + endfacet + facet normal 0.988873 0.148763 0 + outer loop + vertex -3.93569 -34.3989 -0.1 + vertex -3.87516 -34.8013 0 + vertex -3.87516 -34.8013 -0.1 + endloop + endfacet + facet normal 0.995959 0.0898073 0 + outer loop + vertex -3.93569 -34.3989 0 + vertex -3.97277 -33.9877 -0.1 + vertex -3.97277 -33.9877 0 + endloop + endfacet + facet normal 0.995959 0.0898073 0 + outer loop + vertex -3.97277 -33.9877 -0.1 + vertex -3.93569 -34.3989 0 + vertex -3.93569 -34.3989 -0.1 + endloop + endfacet + facet normal 0.999547 0.0300979 0 + outer loop + vertex -3.97277 -33.9877 0 + vertex -3.98536 -33.5697 -0.1 + vertex -3.98536 -33.5697 0 + endloop + endfacet + facet normal 0.999547 0.0300979 0 + outer loop + vertex -3.98536 -33.5697 -0.1 + vertex -3.97277 -33.9877 0 + vertex -3.97277 -33.9877 -0.1 + endloop + endfacet + facet normal 0.998925 -0.0463463 0 + outer loop + vertex -3.98536 -33.5697 0 + vertex -3.97004 -33.2395 -0.1 + vertex -3.97004 -33.2395 0 + endloop + endfacet + facet normal 0.998925 -0.0463463 0 + outer loop + vertex -3.97004 -33.2395 -0.1 + vertex -3.98536 -33.5697 0 + vertex -3.98536 -33.5697 -0.1 + endloop + endfacet + facet normal 0.99274 -0.120283 0 + outer loop + vertex -3.97004 -33.2395 0 + vertex -3.92523 -32.8697 -0.1 + vertex -3.92523 -32.8697 0 + endloop + endfacet + facet normal 0.99274 -0.120283 0 + outer loop + vertex -3.92523 -32.8697 -0.1 + vertex -3.97004 -33.2395 0 + vertex -3.97004 -33.2395 -0.1 + endloop + endfacet + facet normal 0.984312 -0.176435 0 + outer loop + vertex -3.92523 -32.8697 0 + vertex -3.8527 -32.4651 -0.1 + vertex -3.8527 -32.4651 0 + endloop + endfacet + facet normal 0.984312 -0.176435 0 + outer loop + vertex -3.8527 -32.4651 -0.1 + vertex -3.92523 -32.8697 0 + vertex -3.92523 -32.8697 -0.1 + endloop + endfacet + facet normal 0.975291 -0.220925 0 + outer loop + vertex -3.8527 -32.4651 0 + vertex -3.75417 -32.0301 -0.1 + vertex -3.75417 -32.0301 0 + endloop + endfacet + facet normal 0.975291 -0.220925 0 + outer loop + vertex -3.75417 -32.0301 -0.1 + vertex -3.8527 -32.4651 0 + vertex -3.8527 -32.4651 -0.1 + endloop + endfacet + facet normal 0.96184 -0.273613 0 + outer loop + vertex -3.75417 -32.0301 0 + vertex -3.4861 -31.0878 -0.1 + vertex -3.4861 -31.0878 0 + endloop + endfacet + facet normal 0.96184 -0.273613 0 + outer loop + vertex -3.4861 -31.0878 -0.1 + vertex -3.75417 -32.0301 0 + vertex -3.75417 -32.0301 -0.1 + endloop + endfacet + facet normal 0.944354 -0.328931 0 + outer loop + vertex -3.4861 -31.0878 0 + vertex -3.135 -30.0798 -0.1 + vertex -3.135 -30.0798 0 + endloop + endfacet + facet normal 0.944354 -0.328931 0 + outer loop + vertex -3.135 -30.0798 -0.1 + vertex -3.4861 -31.0878 0 + vertex -3.4861 -31.0878 -0.1 + endloop + endfacet + facet normal 0.926769 -0.375632 0 + outer loop + vertex -3.135 -30.0798 0 + vertex -2.71481 -29.043 -0.1 + vertex -2.71481 -29.043 0 + endloop + endfacet + facet normal 0.926769 -0.375632 0 + outer loop + vertex -2.71481 -29.043 -0.1 + vertex -3.135 -30.0798 0 + vertex -3.135 -30.0798 -0.1 + endloop + endfacet + facet normal 0.907733 -0.419549 0 + outer loop + vertex -2.71481 -29.043 0 + vertex -2.23947 -28.0146 -0.1 + vertex -2.23947 -28.0146 0 + endloop + endfacet + facet normal 0.907733 -0.419549 0 + outer loop + vertex -2.23947 -28.0146 -0.1 + vertex -2.71481 -29.043 0 + vertex -2.71481 -29.043 -0.1 + endloop + endfacet + facet normal 0.885263 -0.46509 0 + outer loop + vertex -2.23947 -28.0146 0 + vertex -1.72295 -27.0315 -0.1 + vertex -1.72295 -27.0315 0 + endloop + endfacet + facet normal 0.885263 -0.46509 0 + outer loop + vertex -1.72295 -27.0315 -0.1 + vertex -2.23947 -28.0146 0 + vertex -2.23947 -28.0146 -0.1 + endloop + endfacet + facet normal 0.8644 -0.502806 0 + outer loop + vertex -1.72295 -27.0315 0 + vertex -1.45361 -26.5684 -0.1 + vertex -1.45361 -26.5684 0 + endloop + endfacet + facet normal 0.8644 -0.502806 0 + outer loop + vertex -1.45361 -26.5684 -0.1 + vertex -1.72295 -27.0315 0 + vertex -1.72295 -27.0315 -0.1 + endloop + endfacet + facet normal 0.847345 -0.531043 0 + outer loop + vertex -1.45361 -26.5684 0 + vertex -1.17919 -26.1306 -0.1 + vertex -1.17919 -26.1306 0 + endloop + endfacet + facet normal 0.847345 -0.531043 0 + outer loop + vertex -1.17919 -26.1306 -0.1 + vertex -1.45361 -26.5684 0 + vertex -1.45361 -26.5684 -0.1 + endloop + endfacet + facet normal 0.82644 -0.563025 0 + outer loop + vertex -1.17919 -26.1306 0 + vertex -0.875463 -25.6847 -0.1 + vertex -0.875463 -25.6847 0 + endloop + endfacet + facet normal 0.82644 -0.563025 0 + outer loop + vertex -0.875463 -25.6847 -0.1 + vertex -1.17919 -26.1306 0 + vertex -1.17919 -26.1306 -0.1 + endloop + endfacet + facet normal 0.8045 -0.593952 0 + outer loop + vertex -0.875463 -25.6847 0 + vertex -0.546472 -25.2391 -0.1 + vertex -0.546472 -25.2391 0 + endloop + endfacet + facet normal 0.8045 -0.593952 0 + outer loop + vertex -0.546472 -25.2391 -0.1 + vertex -0.875463 -25.6847 0 + vertex -0.875463 -25.6847 -0.1 + endloop + endfacet + facet normal 0.783077 -0.621924 0 + outer loop + vertex -0.546472 -25.2391 0 + vertex -0.194025 -24.7953 -0.1 + vertex -0.194025 -24.7953 0 + endloop + endfacet + facet normal 0.783077 -0.621924 0 + outer loop + vertex -0.194025 -24.7953 -0.1 + vertex -0.546472 -25.2391 0 + vertex -0.546472 -25.2391 -0.1 + endloop + endfacet + facet normal 0.762077 -0.647486 0 + outer loop + vertex -0.194025 -24.7953 0 + vertex 0.18007 -24.355 -0.1 + vertex 0.18007 -24.355 0 + endloop + endfacet + facet normal 0.762077 -0.647486 0 + outer loop + vertex 0.18007 -24.355 -0.1 + vertex -0.194025 -24.7953 0 + vertex -0.194025 -24.7953 -0.1 + endloop + endfacet + facet normal 0.74138 -0.671085 0 + outer loop + vertex 0.18007 -24.355 0 + vertex 0.574011 -23.9198 -0.1 + vertex 0.574011 -23.9198 0 + endloop + endfacet + facet normal 0.74138 -0.671085 0 + outer loop + vertex 0.574011 -23.9198 -0.1 + vertex 0.18007 -24.355 0 + vertex 0.18007 -24.355 -0.1 + endloop + endfacet + facet normal 0.720855 -0.693086 0 + outer loop + vertex 0.574011 -23.9198 0 + vertex 0.985991 -23.4913 -0.1 + vertex 0.985991 -23.4913 0 + endloop + endfacet + facet normal 0.720855 -0.693086 0 + outer loop + vertex 0.985991 -23.4913 -0.1 + vertex 0.574011 -23.9198 0 + vertex 0.574011 -23.9198 -0.1 + endloop + endfacet + facet normal 0.700344 -0.713805 0 + outer loop + vertex 0.985991 -23.4913 -0.1 + vertex 1.4142 -23.0712 0 + vertex 0.985991 -23.4913 0 + endloop + endfacet + facet normal 0.700344 -0.713805 0 + outer loop + vertex 1.4142 -23.0712 0 + vertex 0.985991 -23.4913 -0.1 + vertex 1.4142 -23.0712 -0.1 + endloop + endfacet + facet normal 0.679685 -0.733504 0 + outer loop + vertex 1.4142 -23.0712 -0.1 + vertex 1.85684 -22.661 0 + vertex 1.4142 -23.0712 0 + endloop + endfacet + facet normal 0.679685 -0.733504 0 + outer loop + vertex 1.85684 -22.661 0 + vertex 1.4142 -23.0712 -0.1 + vertex 1.85684 -22.661 -0.1 + endloop + endfacet + facet normal 0.658698 -0.752407 0 + outer loop + vertex 1.85684 -22.661 -0.1 + vertex 2.31211 -22.2625 0 + vertex 1.85684 -22.661 0 + endloop + endfacet + facet normal 0.658698 -0.752407 0 + outer loop + vertex 2.31211 -22.2625 0 + vertex 1.85684 -22.661 -0.1 + vertex 2.31211 -22.2625 -0.1 + endloop + endfacet + facet normal 0.637189 -0.770708 0 + outer loop + vertex 2.31211 -22.2625 -0.1 + vertex 2.77819 -21.8771 0 + vertex 2.31211 -22.2625 0 + endloop + endfacet + facet normal 0.637189 -0.770708 0 + outer loop + vertex 2.77819 -21.8771 0 + vertex 2.31211 -22.2625 -0.1 + vertex 2.77819 -21.8771 -0.1 + endloop + endfacet + facet normal 0.614941 -0.788573 0 + outer loop + vertex 2.77819 -21.8771 -0.1 + vertex 3.25328 -21.5067 0 + vertex 2.77819 -21.8771 0 + endloop + endfacet + facet normal 0.614941 -0.788573 0 + outer loop + vertex 3.25328 -21.5067 0 + vertex 2.77819 -21.8771 -0.1 + vertex 3.25328 -21.5067 -0.1 + endloop + endfacet + facet normal 0.591711 -0.80615 0 + outer loop + vertex 3.25328 -21.5067 -0.1 + vertex 3.73558 -21.1527 0 + vertex 3.25328 -21.5067 0 + endloop + endfacet + facet normal 0.591711 -0.80615 0 + outer loop + vertex 3.73558 -21.1527 0 + vertex 3.25328 -21.5067 -0.1 + vertex 3.73558 -21.1527 -0.1 + endloop + endfacet + facet normal 0.567228 -0.823561 0 + outer loop + vertex 3.73558 -21.1527 -0.1 + vertex 4.22328 -20.8168 0 + vertex 3.73558 -21.1527 0 + endloop + endfacet + facet normal 0.567228 -0.823561 0 + outer loop + vertex 4.22328 -20.8168 0 + vertex 3.73558 -21.1527 -0.1 + vertex 4.22328 -20.8168 -0.1 + endloop + endfacet + facet normal 0.541167 -0.840915 0 + outer loop + vertex 4.22328 -20.8168 -0.1 + vertex 4.71458 -20.5006 0 + vertex 4.22328 -20.8168 0 + endloop + endfacet + facet normal 0.541167 -0.840915 0 + outer loop + vertex 4.71458 -20.5006 0 + vertex 4.22328 -20.8168 -0.1 + vertex 4.71458 -20.5006 -0.1 + endloop + endfacet + facet normal 0.513171 -0.858287 0 + outer loop + vertex 4.71458 -20.5006 -0.1 + vertex 5.20766 -20.2058 0 + vertex 4.71458 -20.5006 0 + endloop + endfacet + facet normal 0.513171 -0.858287 0 + outer loop + vertex 5.20766 -20.2058 0 + vertex 4.71458 -20.5006 -0.1 + vertex 5.20766 -20.2058 -0.1 + endloop + endfacet + facet normal 0.482795 -0.875733 0 + outer loop + vertex 5.20766 -20.2058 -0.1 + vertex 5.70074 -19.9339 0 + vertex 5.20766 -20.2058 0 + endloop + endfacet + facet normal 0.482795 -0.875733 0 + outer loop + vertex 5.70074 -19.9339 0 + vertex 5.20766 -20.2058 -0.1 + vertex 5.70074 -19.9339 -0.1 + endloop + endfacet + facet normal 0.452672 -0.891677 0 + outer loop + vertex 5.70074 -19.9339 -0.1 + vertex 6.07737 -19.7427 0 + vertex 5.70074 -19.9339 0 + endloop + endfacet + facet normal 0.452672 -0.891677 0 + outer loop + vertex 6.07737 -19.7427 0 + vertex 5.70074 -19.9339 -0.1 + vertex 6.07737 -19.7427 -0.1 + endloop + endfacet + facet normal 0.411982 -0.911192 0 + outer loop + vertex 6.07737 -19.7427 -0.1 + vertex 6.41984 -19.5879 0 + vertex 6.07737 -19.7427 0 + endloop + endfacet + facet normal 0.411982 -0.911192 0 + outer loop + vertex 6.41984 -19.5879 0 + vertex 6.07737 -19.7427 -0.1 + vertex 6.41984 -19.5879 -0.1 + endloop + endfacet + facet normal 0.352601 -0.935774 0 + outer loop + vertex 6.41984 -19.5879 -0.1 + vertex 6.74616 -19.4649 0 + vertex 6.41984 -19.5879 0 + endloop + endfacet + facet normal 0.352601 -0.935774 0 + outer loop + vertex 6.74616 -19.4649 0 + vertex 6.41984 -19.5879 -0.1 + vertex 6.74616 -19.4649 -0.1 + endloop + endfacet + facet normal 0.279545 -0.960133 0 + outer loop + vertex 6.74616 -19.4649 -0.1 + vertex 7.07441 -19.3694 0 + vertex 6.74616 -19.4649 0 + endloop + endfacet + facet normal 0.279545 -0.960133 0 + outer loop + vertex 7.07441 -19.3694 0 + vertex 6.74616 -19.4649 -0.1 + vertex 7.07441 -19.3694 -0.1 + endloop + endfacet + facet normal 0.204293 -0.97891 0 + outer loop + vertex 7.07441 -19.3694 -0.1 + vertex 7.42262 -19.2967 0 + vertex 7.07441 -19.3694 0 + endloop + endfacet + facet normal 0.204293 -0.97891 0 + outer loop + vertex 7.42262 -19.2967 0 + vertex 7.07441 -19.3694 -0.1 + vertex 7.42262 -19.2967 -0.1 + endloop + endfacet + facet normal 0.139108 -0.990277 0 + outer loop + vertex 7.42262 -19.2967 -0.1 + vertex 7.80885 -19.2424 0 + vertex 7.42262 -19.2967 0 + endloop + endfacet + facet normal 0.139108 -0.990277 0 + outer loop + vertex 7.80885 -19.2424 0 + vertex 7.42262 -19.2967 -0.1 + vertex 7.80885 -19.2424 -0.1 + endloop + endfacet + facet normal 0.0740931 -0.997251 0 + outer loop + vertex 7.80885 -19.2424 -0.1 + vertex 8.76754 -19.1712 0 + vertex 7.80885 -19.2424 0 + endloop + endfacet + facet normal 0.0740931 -0.997251 0 + outer loop + vertex 8.76754 -19.1712 0 + vertex 7.80885 -19.2424 -0.1 + vertex 8.76754 -19.1712 -0.1 + endloop + endfacet + facet normal 0.0317962 -0.999494 0 + outer loop + vertex 8.76754 -19.1712 -0.1 + vertex 9.72114 -19.1409 0 + vertex 8.76754 -19.1712 0 + endloop + endfacet + facet normal 0.0317962 -0.999494 0 + outer loop + vertex 9.72114 -19.1409 0 + vertex 8.76754 -19.1712 -0.1 + vertex 9.72114 -19.1409 -0.1 + endloop + endfacet + facet normal -0.0248159 -0.999692 0 + outer loop + vertex 9.72114 -19.1409 -0.1 + vertex 10.0711 -19.1496 0 + vertex 9.72114 -19.1409 0 + endloop + endfacet + facet normal -0.0248159 -0.999692 -0 + outer loop + vertex 10.0711 -19.1496 0 + vertex 9.72114 -19.1409 -0.1 + vertex 10.0711 -19.1496 -0.1 + endloop + endfacet + facet normal -0.0963554 -0.995347 0 + outer loop + vertex 10.0711 -19.1496 -0.1 + vertex 10.3591 -19.1774 0 + vertex 10.0711 -19.1496 0 + endloop + endfacet + facet normal -0.0963554 -0.995347 -0 + outer loop + vertex 10.3591 -19.1774 0 + vertex 10.0711 -19.1496 -0.1 + vertex 10.3591 -19.1774 -0.1 + endloop + endfacet + facet normal -0.199823 -0.979832 0 + outer loop + vertex 10.3591 -19.1774 -0.1 + vertex 10.602 -19.227 0 + vertex 10.3591 -19.1774 0 + endloop + endfacet + facet normal -0.199823 -0.979832 -0 + outer loop + vertex 10.602 -19.227 0 + vertex 10.3591 -19.1774 -0.1 + vertex 10.602 -19.227 -0.1 + endloop + endfacet + facet normal -0.324456 -0.945901 0 + outer loop + vertex 10.602 -19.227 -0.1 + vertex 10.8168 -19.3006 0 + vertex 10.602 -19.227 0 + endloop + endfacet + facet normal -0.324456 -0.945901 -0 + outer loop + vertex 10.8168 -19.3006 0 + vertex 10.602 -19.227 -0.1 + vertex 10.8168 -19.3006 -0.1 + endloop + endfacet + facet normal -0.441937 -0.897046 0 + outer loop + vertex 10.8168 -19.3006 -0.1 + vertex 11.0203 -19.4009 0 + vertex 10.8168 -19.3006 0 + endloop + endfacet + facet normal -0.441937 -0.897046 -0 + outer loop + vertex 11.0203 -19.4009 0 + vertex 10.8168 -19.3006 -0.1 + vertex 11.0203 -19.4009 -0.1 + endloop + endfacet + facet normal -0.525875 -0.850562 0 + outer loop + vertex 11.0203 -19.4009 -0.1 + vertex 11.2294 -19.5302 0 + vertex 11.0203 -19.4009 0 + endloop + endfacet + facet normal -0.525875 -0.850562 -0 + outer loop + vertex 11.2294 -19.5302 0 + vertex 11.0203 -19.4009 -0.1 + vertex 11.2294 -19.5302 -0.1 + endloop + endfacet + facet normal -0.518008 -0.855376 0 + outer loop + vertex 11.2294 -19.5302 -0.1 + vertex 11.5538 -19.7266 0 + vertex 11.2294 -19.5302 0 + endloop + endfacet + facet normal -0.518008 -0.855376 -0 + outer loop + vertex 11.5538 -19.7266 0 + vertex 11.2294 -19.5302 -0.1 + vertex 11.5538 -19.7266 -0.1 + endloop + endfacet + facet normal -0.370976 -0.928642 0 + outer loop + vertex 11.5538 -19.7266 -0.1 + vertex 11.7902 -19.8211 0 + vertex 11.5538 -19.7266 0 + endloop + endfacet + facet normal -0.370976 -0.928642 -0 + outer loop + vertex 11.7902 -19.8211 0 + vertex 11.5538 -19.7266 -0.1 + vertex 11.7902 -19.8211 -0.1 + endloop + endfacet + facet normal -0.111982 -0.99371 0 + outer loop + vertex 11.7902 -19.8211 -0.1 + vertex 11.881 -19.8313 0 + vertex 11.7902 -19.8211 0 + endloop + endfacet + facet normal -0.111982 -0.99371 -0 + outer loop + vertex 11.881 -19.8313 0 + vertex 11.7902 -19.8211 -0.1 + vertex 11.881 -19.8313 -0.1 + endloop + endfacet + facet normal 0.179863 -0.983692 0 + outer loop + vertex 11.881 -19.8313 -0.1 + vertex 11.9563 -19.8175 0 + vertex 11.881 -19.8313 0 + endloop + endfacet + facet normal 0.179863 -0.983692 0 + outer loop + vertex 11.9563 -19.8175 0 + vertex 11.881 -19.8313 -0.1 + vertex 11.9563 -19.8175 -0.1 + endloop + endfacet + facet normal 0.514293 -0.857615 0 + outer loop + vertex 11.9563 -19.8175 -0.1 + vertex 12.0185 -19.7802 0 + vertex 11.9563 -19.8175 0 + endloop + endfacet + facet normal 0.514293 -0.857615 0 + outer loop + vertex 12.0185 -19.7802 0 + vertex 11.9563 -19.8175 -0.1 + vertex 12.0185 -19.7802 -0.1 + endloop + endfacet + facet normal 0.762299 -0.647226 0 + outer loop + vertex 12.0185 -19.7802 0 + vertex 12.0697 -19.7199 -0.1 + vertex 12.0697 -19.7199 0 + endloop + endfacet + facet normal 0.762299 -0.647226 0 + outer loop + vertex 12.0697 -19.7199 -0.1 + vertex 12.0185 -19.7802 0 + vertex 12.0185 -19.7802 -0.1 + endloop + endfacet + facet normal 0.887752 -0.460323 0 + outer loop + vertex 12.0697 -19.7199 0 + vertex 12.2803 -19.3138 -0.1 + vertex 12.2803 -19.3138 0 + endloop + endfacet + facet normal 0.887752 -0.460323 0 + outer loop + vertex 12.2803 -19.3138 -0.1 + vertex 12.0697 -19.7199 0 + vertex 12.0697 -19.7199 -0.1 + endloop + endfacet + facet normal 0.914794 -0.403921 0 + outer loop + vertex 12.2803 -19.3138 0 + vertex 12.5806 -18.6336 -0.1 + vertex 12.5806 -18.6336 0 + endloop + endfacet + facet normal 0.914794 -0.403921 0 + outer loop + vertex 12.5806 -18.6336 -0.1 + vertex 12.2803 -19.3138 0 + vertex 12.2803 -19.3138 -0.1 + endloop + endfacet + facet normal 0.927919 -0.372782 0 + outer loop + vertex 12.5806 -18.6336 0 + vertex 13.2984 -16.8469 -0.1 + vertex 13.2984 -16.8469 0 + endloop + endfacet + facet normal 0.927919 -0.372782 0 + outer loop + vertex 13.2984 -16.8469 -0.1 + vertex 12.5806 -18.6336 0 + vertex 12.5806 -18.6336 -0.1 + endloop + endfacet + facet normal 0.936103 -0.351727 0 + outer loop + vertex 13.2984 -16.8469 0 + vertex 13.6397 -15.9386 -0.1 + vertex 13.6397 -15.9386 0 + endloop + endfacet + facet normal 0.936103 -0.351727 0 + outer loop + vertex 13.6397 -15.9386 -0.1 + vertex 13.2984 -16.8469 0 + vertex 13.2984 -16.8469 -0.1 + endloop + endfacet + facet normal 0.9425 -0.334207 0 + outer loop + vertex 13.6397 -15.9386 0 + vertex 13.9185 -15.1524 -0.1 + vertex 13.9185 -15.1524 0 + endloop + endfacet + facet normal 0.9425 -0.334207 0 + outer loop + vertex 13.9185 -15.1524 -0.1 + vertex 13.6397 -15.9386 0 + vertex 13.6397 -15.9386 -0.1 + endloop + endfacet + facet normal 0.953687 -0.300802 0 + outer loop + vertex 13.9185 -15.1524 0 + vertex 14.0967 -14.5873 -0.1 + vertex 14.0967 -14.5873 0 + endloop + endfacet + facet normal 0.953687 -0.300802 0 + outer loop + vertex 14.0967 -14.5873 -0.1 + vertex 13.9185 -15.1524 0 + vertex 13.9185 -15.1524 -0.1 + endloop + endfacet + facet normal 0.97364 -0.22809 0 + outer loop + vertex 14.0967 -14.5873 0 + vertex 14.1362 -14.4186 -0.1 + vertex 14.1362 -14.4186 0 + endloop + endfacet + facet normal 0.97364 -0.22809 0 + outer loop + vertex 14.1362 -14.4186 -0.1 + vertex 14.0967 -14.5873 0 + vertex 14.0967 -14.5873 -0.1 + endloop + endfacet + facet normal 0.999999 -0.00127602 0 + outer loop + vertex 14.1362 -14.4186 0 + vertex 14.1363 -14.3424 -0.1 + vertex 14.1363 -14.3424 0 + endloop + endfacet + facet normal 0.999999 -0.00127602 0 + outer loop + vertex 14.1363 -14.3424 -0.1 + vertex 14.1362 -14.4186 0 + vertex 14.1362 -14.4186 -0.1 + endloop + endfacet + facet normal 0.566913 0.823778 -0 + outer loop + vertex 14.1363 -14.3424 -0.1 + vertex 14.0881 -14.3092 0 + vertex 14.1363 -14.3424 0 + endloop + endfacet + facet normal 0.566913 0.823778 0 + outer loop + vertex 14.0881 -14.3092 0 + vertex 14.1363 -14.3424 -0.1 + vertex 14.0881 -14.3092 -0.1 + endloop + endfacet + facet normal 0.351025 0.936366 -0 + outer loop + vertex 14.0881 -14.3092 -0.1 + vertex 14.0003 -14.2763 0 + vertex 14.0881 -14.3092 0 + endloop + endfacet + facet normal 0.351025 0.936366 0 + outer loop + vertex 14.0003 -14.2763 0 + vertex 14.0881 -14.3092 -0.1 + vertex 14.0003 -14.2763 -0.1 + endloop + endfacet + facet normal 0.218251 0.975893 -0 + outer loop + vertex 14.0003 -14.2763 -0.1 + vertex 13.7222 -14.2141 0 + vertex 14.0003 -14.2763 0 + endloop + endfacet + facet normal 0.218251 0.975893 0 + outer loop + vertex 13.7222 -14.2141 0 + vertex 14.0003 -14.2763 -0.1 + vertex 13.7222 -14.2141 -0.1 + endloop + endfacet + facet normal 0.134641 0.990894 -0 + outer loop + vertex 13.7222 -14.2141 -0.1 + vertex 13.3346 -14.1615 0 + vertex 13.7222 -14.2141 0 + endloop + endfacet + facet normal 0.134641 0.990894 0 + outer loop + vertex 13.3346 -14.1615 0 + vertex 13.7222 -14.2141 -0.1 + vertex 13.3346 -14.1615 -0.1 + endloop + endfacet + facet normal 0.0805571 0.99675 -0 + outer loop + vertex 13.3346 -14.1615 -0.1 + vertex 12.8698 -14.1239 0 + vertex 13.3346 -14.1615 0 + endloop + endfacet + facet normal 0.0805571 0.99675 0 + outer loop + vertex 12.8698 -14.1239 0 + vertex 13.3346 -14.1615 -0.1 + vertex 12.8698 -14.1239 -0.1 + endloop + endfacet + facet normal 0.256285 0.966601 -0 + outer loop + vertex 12.8698 -14.1239 -0.1 + vertex 12.7363 -14.0885 0 + vertex 12.8698 -14.1239 0 + endloop + endfacet + facet normal 0.256285 0.966601 0 + outer loop + vertex 12.7363 -14.0885 0 + vertex 12.8698 -14.1239 -0.1 + vertex 12.7363 -14.0885 -0.1 + endloop + endfacet + facet normal 0.544571 0.838715 -0 + outer loop + vertex 12.7363 -14.0885 -0.1 + vertex 12.6087 -14.0056 0 + vertex 12.7363 -14.0885 0 + endloop + endfacet + facet normal 0.544571 0.838715 0 + outer loop + vertex 12.6087 -14.0056 0 + vertex 12.7363 -14.0885 -0.1 + vertex 12.6087 -14.0056 -0.1 + endloop + endfacet + facet normal 0.739657 0.672985 0 + outer loop + vertex 12.6087 -14.0056 0 + vertex 12.5013 -13.8876 -0.1 + vertex 12.5013 -13.8876 0 + endloop + endfacet + facet normal 0.739657 0.672985 0 + outer loop + vertex 12.5013 -13.8876 -0.1 + vertex 12.6087 -14.0056 0 + vertex 12.6087 -14.0056 -0.1 + endloop + endfacet + facet normal 0.888712 0.458466 0 + outer loop + vertex 12.5013 -13.8876 0 + vertex 12.4287 -13.7469 -0.1 + vertex 12.4287 -13.7469 0 + endloop + endfacet + facet normal 0.888712 0.458466 0 + outer loop + vertex 12.4287 -13.7469 -0.1 + vertex 12.5013 -13.8876 0 + vertex 12.5013 -13.8876 -0.1 + endloop + endfacet + facet normal 0.969282 0.245953 0 + outer loop + vertex 12.4287 -13.7469 0 + vertex 12.3997 -13.6324 -0.1 + vertex 12.3997 -13.6324 0 + endloop + endfacet + facet normal 0.969282 0.245953 0 + outer loop + vertex 12.3997 -13.6324 -0.1 + vertex 12.4287 -13.7469 0 + vertex 12.4287 -13.7469 -0.1 + endloop + endfacet + facet normal 0.995788 0.0916817 0 + outer loop + vertex 12.3997 -13.6324 0 + vertex 12.3889 -13.5153 -0.1 + vertex 12.3889 -13.5153 0 + endloop + endfacet + facet normal 0.995788 0.0916817 0 + outer loop + vertex 12.3889 -13.5153 -0.1 + vertex 12.3997 -13.6324 0 + vertex 12.3997 -13.6324 -0.1 + endloop + endfacet + facet normal 0.99207 -0.12569 0 + outer loop + vertex 12.3889 -13.5153 0 + vertex 12.419 -13.2773 -0.1 + vertex 12.419 -13.2773 0 + endloop + endfacet + facet normal 0.99207 -0.12569 0 + outer loop + vertex 12.419 -13.2773 -0.1 + vertex 12.3889 -13.5153 0 + vertex 12.3889 -13.5153 -0.1 + endloop + endfacet + facet normal 0.929521 -0.368768 0 + outer loop + vertex 12.419 -13.2773 0 + vertex 12.513 -13.0405 -0.1 + vertex 12.513 -13.0405 0 + endloop + endfacet + facet normal 0.929521 -0.368768 0 + outer loop + vertex 12.513 -13.0405 -0.1 + vertex 12.419 -13.2773 0 + vertex 12.419 -13.2773 -0.1 + endloop + endfacet + facet normal 0.832694 -0.553733 0 + outer loop + vertex 12.513 -13.0405 0 + vertex 12.6645 -12.8127 -0.1 + vertex 12.6645 -12.8127 0 + endloop + endfacet + facet normal 0.832694 -0.553733 0 + outer loop + vertex 12.6645 -12.8127 -0.1 + vertex 12.513 -13.0405 0 + vertex 12.513 -13.0405 -0.1 + endloop + endfacet + facet normal 0.721168 -0.69276 0 + outer loop + vertex 12.6645 -12.8127 0 + vertex 12.8673 -12.6015 -0.1 + vertex 12.8673 -12.6015 0 + endloop + endfacet + facet normal 0.721168 -0.69276 0 + outer loop + vertex 12.8673 -12.6015 -0.1 + vertex 12.6645 -12.8127 0 + vertex 12.6645 -12.8127 -0.1 + endloop + endfacet + facet normal 0.601691 -0.798729 0 + outer loop + vertex 12.8673 -12.6015 -0.1 + vertex 13.1153 -12.4148 0 + vertex 12.8673 -12.6015 0 + endloop + endfacet + facet normal 0.601691 -0.798729 0 + outer loop + vertex 13.1153 -12.4148 0 + vertex 12.8673 -12.6015 -0.1 + vertex 13.1153 -12.4148 -0.1 + endloop + endfacet + facet normal 0.474719 -0.880138 0 + outer loop + vertex 13.1153 -12.4148 -0.1 + vertex 13.4022 -12.26 0 + vertex 13.1153 -12.4148 0 + endloop + endfacet + facet normal 0.474719 -0.880138 0 + outer loop + vertex 13.4022 -12.26 0 + vertex 13.1153 -12.4148 -0.1 + vertex 13.4022 -12.26 -0.1 + endloop + endfacet + facet normal 0.33852 -0.940959 0 + outer loop + vertex 13.4022 -12.26 -0.1 + vertex 13.7217 -12.1451 0 + vertex 13.4022 -12.26 0 + endloop + endfacet + facet normal 0.33852 -0.940959 0 + outer loop + vertex 13.7217 -12.1451 0 + vertex 13.4022 -12.26 -0.1 + vertex 13.7217 -12.1451 -0.1 + endloop + endfacet + facet normal 0.283558 -0.958955 0 + outer loop + vertex 13.7217 -12.1451 -0.1 + vertex 16.811 -11.2316 0 + vertex 13.7217 -12.1451 0 + endloop + endfacet + facet normal 0.283558 -0.958955 0 + outer loop + vertex 16.811 -11.2316 0 + vertex 13.7217 -12.1451 -0.1 + vertex 16.811 -11.2316 -0.1 + endloop + endfacet + facet normal 0.280008 -0.959998 0 + outer loop + vertex 16.811 -11.2316 -0.1 + vertex 17.5824 -11.0066 0 + vertex 16.811 -11.2316 0 + endloop + endfacet + facet normal 0.280008 -0.959998 0 + outer loop + vertex 17.5824 -11.0066 0 + vertex 16.811 -11.2316 -0.1 + vertex 17.5824 -11.0066 -0.1 + endloop + endfacet + facet normal 0.251173 -0.967942 0 + outer loop + vertex 17.5824 -11.0066 -0.1 + vertex 18.2126 -10.843 0 + vertex 17.5824 -11.0066 0 + endloop + endfacet + facet normal 0.251173 -0.967942 0 + outer loop + vertex 18.2126 -10.843 0 + vertex 17.5824 -11.0066 -0.1 + vertex 18.2126 -10.843 -0.1 + endloop + endfacet + facet normal 0.200442 -0.979706 0 + outer loop + vertex 18.2126 -10.843 -0.1 + vertex 18.7132 -10.7406 0 + vertex 18.2126 -10.843 0 + endloop + endfacet + facet normal 0.200442 -0.979706 0 + outer loop + vertex 18.7132 -10.7406 0 + vertex 18.2126 -10.843 -0.1 + vertex 18.7132 -10.7406 -0.1 + endloop + endfacet + facet normal 0.10841 -0.994106 0 + outer loop + vertex 18.7132 -10.7406 -0.1 + vertex 19.0963 -10.6988 0 + vertex 18.7132 -10.7406 0 + endloop + endfacet + facet normal 0.10841 -0.994106 0 + outer loop + vertex 19.0963 -10.6988 0 + vertex 18.7132 -10.7406 -0.1 + vertex 19.0963 -10.6988 -0.1 + endloop + endfacet + facet normal -0.0664596 -0.997789 0 + outer loop + vertex 19.0963 -10.6988 -0.1 + vertex 19.3736 -10.7173 0 + vertex 19.0963 -10.6988 0 + endloop + endfacet + facet normal -0.0664596 -0.997789 -0 + outer loop + vertex 19.3736 -10.7173 0 + vertex 19.0963 -10.6988 -0.1 + vertex 19.3736 -10.7173 -0.1 + endloop + endfacet + facet normal -0.172939 0.984933 0 + outer loop + vertex 8.12348 -21.5274 -0.1 + vertex 7.71946 -21.5983 0 + vertex 8.12348 -21.5274 0 + endloop + endfacet + facet normal -0.172939 0.984933 0 + outer loop + vertex 7.71946 -21.5983 0 + vertex 8.12348 -21.5274 -0.1 + vertex 7.71946 -21.5983 -0.1 + endloop + endfacet + facet normal -0.287852 0.957675 0 + outer loop + vertex 7.71946 -21.5983 -0.1 + vertex 7.29763 -21.7251 0 + vertex 7.71946 -21.5983 0 + endloop + endfacet + facet normal -0.287852 0.957675 0 + outer loop + vertex 7.29763 -21.7251 0 + vertex 7.71946 -21.5983 -0.1 + vertex 7.29763 -21.7251 -0.1 + endloop + endfacet + facet normal -0.387479 0.921879 0 + outer loop + vertex 7.29763 -21.7251 -0.1 + vertex 6.8627 -21.9079 0 + vertex 7.29763 -21.7251 0 + endloop + endfacet + facet normal -0.387479 0.921879 0 + outer loop + vertex 6.8627 -21.9079 0 + vertex 7.29763 -21.7251 -0.1 + vertex 6.8627 -21.9079 -0.1 + endloop + endfacet + facet normal -0.474518 0.880246 0 + outer loop + vertex 6.8627 -21.9079 -0.1 + vertex 6.41939 -22.1469 0 + vertex 6.8627 -21.9079 0 + endloop + endfacet + facet normal -0.474518 0.880246 0 + outer loop + vertex 6.41939 -22.1469 0 + vertex 6.8627 -21.9079 -0.1 + vertex 6.41939 -22.1469 -0.1 + endloop + endfacet + facet normal -0.551235 0.83435 0 + outer loop + vertex 6.41939 -22.1469 -0.1 + vertex 5.97241 -22.4422 0 + vertex 6.41939 -22.1469 0 + endloop + endfacet + facet normal -0.551235 0.83435 0 + outer loop + vertex 5.97241 -22.4422 0 + vertex 6.41939 -22.1469 -0.1 + vertex 5.97241 -22.4422 -0.1 + endloop + endfacet + facet normal -0.619368 0.785101 0 + outer loop + vertex 5.97241 -22.4422 -0.1 + vertex 5.52647 -22.794 0 + vertex 5.97241 -22.4422 0 + endloop + endfacet + facet normal -0.619368 0.785101 0 + outer loop + vertex 5.52647 -22.794 0 + vertex 5.97241 -22.4422 -0.1 + vertex 5.52647 -22.794 -0.1 + endloop + endfacet + facet normal -0.680193 0.733033 0 + outer loop + vertex 5.52647 -22.794 -0.1 + vertex 5.08628 -23.2024 0 + vertex 5.52647 -22.794 0 + endloop + endfacet + facet normal -0.680193 0.733033 0 + outer loop + vertex 5.08628 -23.2024 0 + vertex 5.52647 -22.794 -0.1 + vertex 5.08628 -23.2024 -0.1 + endloop + endfacet + facet normal -0.733294 0.679911 0 + outer loop + vertex 4.45147 -23.8871 -0.1 + vertex 5.08628 -23.2024 0 + vertex 5.08628 -23.2024 -0.1 + endloop + endfacet + facet normal -0.733294 0.679911 0 + outer loop + vertex 5.08628 -23.2024 0 + vertex 4.45147 -23.8871 -0.1 + vertex 4.45147 -23.8871 0 + endloop + endfacet + facet normal -0.778151 0.628077 0 + outer loop + vertex 3.85887 -24.6213 -0.1 + vertex 4.45147 -23.8871 0 + vertex 4.45147 -23.8871 -0.1 + endloop + endfacet + facet normal -0.778151 0.628077 0 + outer loop + vertex 4.45147 -23.8871 0 + vertex 3.85887 -24.6213 -0.1 + vertex 3.85887 -24.6213 0 + endloop + endfacet + facet normal -0.816383 0.577511 0 + outer loop + vertex 3.31148 -25.3951 -0.1 + vertex 3.85887 -24.6213 0 + vertex 3.85887 -24.6213 -0.1 + endloop + endfacet + facet normal -0.816383 0.577511 0 + outer loop + vertex 3.85887 -24.6213 0 + vertex 3.31148 -25.3951 -0.1 + vertex 3.31148 -25.3951 0 + endloop + endfacet + facet normal -0.849413 0.527728 0 + outer loop + vertex 2.81229 -26.1986 -0.1 + vertex 3.31148 -25.3951 0 + vertex 3.31148 -25.3951 -0.1 + endloop + endfacet + facet normal -0.849413 0.527728 0 + outer loop + vertex 3.31148 -25.3951 0 + vertex 2.81229 -26.1986 -0.1 + vertex 2.81229 -26.1986 0 + endloop + endfacet + facet normal -0.878359 0.478001 0 + outer loop + vertex 2.36428 -27.0218 -0.1 + vertex 2.81229 -26.1986 0 + vertex 2.81229 -26.1986 -0.1 + endloop + endfacet + facet normal -0.878359 0.478001 0 + outer loop + vertex 2.81229 -26.1986 0 + vertex 2.36428 -27.0218 -0.1 + vertex 2.36428 -27.0218 0 + endloop + endfacet + facet normal -0.904067 0.427391 0 + outer loop + vertex 1.97046 -27.8549 -0.1 + vertex 2.36428 -27.0218 0 + vertex 2.36428 -27.0218 -0.1 + endloop + endfacet + facet normal -0.904067 0.427391 0 + outer loop + vertex 2.36428 -27.0218 0 + vertex 1.97046 -27.8549 -0.1 + vertex 1.97046 -27.8549 0 + endloop + endfacet + facet normal -0.927139 0.374717 0 + outer loop + vertex 1.63381 -28.6878 -0.1 + vertex 1.97046 -27.8549 0 + vertex 1.97046 -27.8549 -0.1 + endloop + endfacet + facet normal -0.927139 0.374717 0 + outer loop + vertex 1.97046 -27.8549 0 + vertex 1.63381 -28.6878 -0.1 + vertex 1.63381 -28.6878 0 + endloop + endfacet + facet normal -0.947927 0.318489 0 + outer loop + vertex 1.35733 -29.5107 -0.1 + vertex 1.63381 -28.6878 0 + vertex 1.63381 -28.6878 -0.1 + endloop + endfacet + facet normal -0.947927 0.318489 0 + outer loop + vertex 1.63381 -28.6878 0 + vertex 1.35733 -29.5107 -0.1 + vertex 1.35733 -29.5107 0 + endloop + endfacet + facet normal -0.966471 0.256775 0 + outer loop + vertex 1.144 -30.3137 -0.1 + vertex 1.35733 -29.5107 0 + vertex 1.35733 -29.5107 -0.1 + endloop + endfacet + facet normal -0.966471 0.256775 0 + outer loop + vertex 1.35733 -29.5107 0 + vertex 1.144 -30.3137 -0.1 + vertex 1.144 -30.3137 0 + endloop + endfacet + facet normal -0.982354 0.187033 0 + outer loop + vertex 0.99682 -31.0867 -0.1 + vertex 1.144 -30.3137 0 + vertex 1.144 -30.3137 -0.1 + endloop + endfacet + facet normal -0.982354 0.187033 0 + outer loop + vertex 1.144 -30.3137 0 + vertex 0.99682 -31.0867 -0.1 + vertex 0.99682 -31.0867 0 + endloop + endfacet + facet normal -0.994383 0.105841 0 + outer loop + vertex 0.918778 -31.8199 -0.1 + vertex 0.99682 -31.0867 0 + vertex 0.99682 -31.0867 -0.1 + endloop + endfacet + facet normal -0.994383 0.105841 0 + outer loop + vertex 0.99682 -31.0867 0 + vertex 0.918778 -31.8199 -0.1 + vertex 0.918778 -31.8199 0 + endloop + endfacet + facet normal -0.999392 0.0348629 0 + outer loop + vertex 0.906618 -32.1685 -0.1 + vertex 0.918778 -31.8199 0 + vertex 0.918778 -31.8199 -0.1 + endloop + endfacet + facet normal -0.999392 0.0348629 0 + outer loop + vertex 0.918778 -31.8199 0 + vertex 0.906618 -32.1685 -0.1 + vertex 0.906618 -32.1685 0 + endloop + endfacet + facet normal -0.999826 -0.0186499 0 + outer loop + vertex 0.912865 -32.5034 -0.1 + vertex 0.906618 -32.1685 0 + vertex 0.906618 -32.1685 -0.1 + endloop + endfacet + facet normal -0.999826 -0.0186499 0 + outer loop + vertex 0.906618 -32.1685 0 + vertex 0.912865 -32.5034 -0.1 + vertex 0.912865 -32.5034 0 + endloop + endfacet + facet normal -0.996955 -0.077982 0 + outer loop + vertex 0.937893 -32.8234 -0.1 + vertex 0.912865 -32.5034 0 + vertex 0.912865 -32.5034 -0.1 + endloop + endfacet + facet normal -0.996955 -0.077982 0 + outer loop + vertex 0.912865 -32.5034 0 + vertex 0.937893 -32.8234 -0.1 + vertex 0.937893 -32.8234 0 + endloop + endfacet + facet normal -0.98959 -0.143913 0 + outer loop + vertex 0.982074 -33.1272 -0.1 + vertex 0.937893 -32.8234 0 + vertex 0.937893 -32.8234 -0.1 + endloop + endfacet + facet normal -0.98959 -0.143913 0 + outer loop + vertex 0.937893 -32.8234 0 + vertex 0.982074 -33.1272 -0.1 + vertex 0.982074 -33.1272 0 + endloop + endfacet + facet normal -0.97614 -0.217144 0 + outer loop + vertex 1.04578 -33.4136 -0.1 + vertex 0.982074 -33.1272 0 + vertex 0.982074 -33.1272 -0.1 + endloop + endfacet + facet normal -0.97614 -0.217144 0 + outer loop + vertex 0.982074 -33.1272 0 + vertex 1.04578 -33.4136 -0.1 + vertex 1.04578 -33.4136 0 + endloop + endfacet + facet normal -0.954541 -0.298078 0 + outer loop + vertex 1.1294 -33.6813 -0.1 + vertex 1.04578 -33.4136 0 + vertex 1.04578 -33.4136 -0.1 + endloop + endfacet + facet normal -0.954541 -0.298078 0 + outer loop + vertex 1.04578 -33.4136 0 + vertex 1.1294 -33.6813 -0.1 + vertex 1.1294 -33.6813 0 + endloop + endfacet + facet normal -0.922268 -0.38655 0 + outer loop + vertex 1.23329 -33.9292 -0.1 + vertex 1.1294 -33.6813 0 + vertex 1.1294 -33.6813 -0.1 + endloop + endfacet + facet normal -0.922268 -0.38655 0 + outer loop + vertex 1.1294 -33.6813 0 + vertex 1.23329 -33.9292 -0.1 + vertex 1.23329 -33.9292 0 + endloop + endfacet + facet normal -0.876493 -0.481415 0 + outer loop + vertex 1.35782 -34.1559 -0.1 + vertex 1.23329 -33.9292 0 + vertex 1.23329 -33.9292 -0.1 + endloop + endfacet + facet normal -0.876493 -0.481415 0 + outer loop + vertex 1.23329 -33.9292 0 + vertex 1.35782 -34.1559 -0.1 + vertex 1.35782 -34.1559 0 + endloop + endfacet + facet normal -0.814521 -0.580134 0 + outer loop + vertex 1.50339 -34.3603 -0.1 + vertex 1.35782 -34.1559 0 + vertex 1.35782 -34.1559 -0.1 + endloop + endfacet + facet normal -0.814521 -0.580134 0 + outer loop + vertex 1.35782 -34.1559 0 + vertex 1.50339 -34.3603 -0.1 + vertex 1.50339 -34.3603 0 + endloop + endfacet + facet normal -0.734597 -0.678504 0 + outer loop + vertex 1.67035 -34.5411 -0.1 + vertex 1.50339 -34.3603 0 + vertex 1.50339 -34.3603 -0.1 + endloop + endfacet + facet normal -0.734597 -0.678504 0 + outer loop + vertex 1.50339 -34.3603 0 + vertex 1.67035 -34.5411 -0.1 + vertex 1.67035 -34.5411 0 + endloop + endfacet + facet normal -0.643892 -0.765116 0 + outer loop + vertex 1.67035 -34.5411 -0.1 + vertex 1.8149 -34.6627 0 + vertex 1.67035 -34.5411 0 + endloop + endfacet + facet normal -0.643892 -0.765116 -0 + outer loop + vertex 1.8149 -34.6627 0 + vertex 1.67035 -34.5411 -0.1 + vertex 1.8149 -34.6627 -0.1 + endloop + endfacet + facet normal -0.554297 -0.832319 0 + outer loop + vertex 1.8149 -34.6627 -0.1 + vertex 1.97535 -34.7696 0 + vertex 1.8149 -34.6627 0 + endloop + endfacet + facet normal -0.554297 -0.832319 -0 + outer loop + vertex 1.97535 -34.7696 0 + vertex 1.8149 -34.6627 -0.1 + vertex 1.97535 -34.7696 -0.1 + endloop + endfacet + facet normal -0.465589 -0.885001 0 + outer loop + vertex 1.97535 -34.7696 -0.1 + vertex 2.15022 -34.8616 0 + vertex 1.97535 -34.7696 0 + endloop + endfacet + facet normal -0.465589 -0.885001 -0 + outer loop + vertex 2.15022 -34.8616 0 + vertex 1.97535 -34.7696 -0.1 + vertex 2.15022 -34.8616 -0.1 + endloop + endfacet + facet normal -0.379703 -0.925108 0 + outer loop + vertex 2.15022 -34.8616 -0.1 + vertex 2.33801 -34.9386 0 + vertex 2.15022 -34.8616 0 + endloop + endfacet + facet normal -0.379703 -0.925108 -0 + outer loop + vertex 2.33801 -34.9386 0 + vertex 2.15022 -34.8616 -0.1 + vertex 2.33801 -34.9386 -0.1 + endloop + endfacet + facet normal -0.297589 -0.954694 0 + outer loop + vertex 2.33801 -34.9386 -0.1 + vertex 2.53723 -35.0007 0 + vertex 2.33801 -34.9386 0 + endloop + endfacet + facet normal -0.297589 -0.954694 -0 + outer loop + vertex 2.53723 -35.0007 0 + vertex 2.33801 -34.9386 -0.1 + vertex 2.53723 -35.0007 -0.1 + endloop + endfacet + facet normal -0.219494 -0.975614 0 + outer loop + vertex 2.53723 -35.0007 -0.1 + vertex 2.7464 -35.0478 0 + vertex 2.53723 -35.0007 0 + endloop + endfacet + facet normal -0.219494 -0.975614 -0 + outer loop + vertex 2.7464 -35.0478 0 + vertex 2.53723 -35.0007 -0.1 + vertex 2.7464 -35.0478 -0.1 + endloop + endfacet + facet normal -0.109599 -0.993976 0 + outer loop + vertex 2.7464 -35.0478 -0.1 + vertex 3.18861 -35.0966 0 + vertex 2.7464 -35.0478 0 + endloop + endfacet + facet normal -0.109599 -0.993976 -0 + outer loop + vertex 3.18861 -35.0966 0 + vertex 2.7464 -35.0478 -0.1 + vertex 3.18861 -35.0966 -0.1 + endloop + endfacet + facet normal 0.0261117 -0.999659 0 + outer loop + vertex 3.18861 -35.0966 -0.1 + vertex 3.65273 -35.0844 0 + vertex 3.18861 -35.0966 0 + endloop + endfacet + facet normal 0.0261117 -0.999659 0 + outer loop + vertex 3.65273 -35.0844 0 + vertex 3.18861 -35.0966 -0.1 + vertex 3.65273 -35.0844 -0.1 + endloop + endfacet + facet normal 0.153159 -0.988202 0 + outer loop + vertex 3.65273 -35.0844 -0.1 + vertex 4.12685 -35.011 0 + vertex 3.65273 -35.0844 0 + endloop + endfacet + facet normal 0.153159 -0.988202 0 + outer loop + vertex 4.12685 -35.011 0 + vertex 3.65273 -35.0844 -0.1 + vertex 4.12685 -35.011 -0.1 + endloop + endfacet + facet normal 0.275485 -0.961305 0 + outer loop + vertex 4.12685 -35.011 -0.1 + vertex 4.59905 -34.8756 0 + vertex 4.12685 -35.011 0 + endloop + endfacet + facet normal 0.275485 -0.961305 0 + outer loop + vertex 4.59905 -34.8756 0 + vertex 4.12685 -35.011 -0.1 + vertex 4.59905 -34.8756 -0.1 + endloop + endfacet + facet normal 0.39595 -0.918272 0 + outer loop + vertex 4.59905 -34.8756 -0.1 + vertex 5.05744 -34.678 0 + vertex 4.59905 -34.8756 0 + endloop + endfacet + facet normal 0.39595 -0.918272 0 + outer loop + vertex 5.05744 -34.678 0 + vertex 4.59905 -34.8756 -0.1 + vertex 5.05744 -34.678 -0.1 + endloop + endfacet + facet normal 0.498797 -0.866719 0 + outer loop + vertex 5.05744 -34.678 -0.1 + vertex 5.41146 -34.4742 0 + vertex 5.05744 -34.678 0 + endloop + endfacet + facet normal 0.498797 -0.866719 0 + outer loop + vertex 5.41146 -34.4742 0 + vertex 5.05744 -34.678 -0.1 + vertex 5.41146 -34.4742 -0.1 + endloop + endfacet + facet normal 0.615093 -0.788455 0 + outer loop + vertex 5.41146 -34.4742 -0.1 + vertex 5.72486 -34.2297 0 + vertex 5.41146 -34.4742 0 + endloop + endfacet + facet normal 0.615093 -0.788455 0 + outer loop + vertex 5.72486 -34.2297 0 + vertex 5.41146 -34.4742 -0.1 + vertex 5.72486 -34.2297 -0.1 + endloop + endfacet + facet normal 0.708025 -0.706188 0 + outer loop + vertex 5.72486 -34.2297 0 + vertex 5.87315 -34.0811 -0.1 + vertex 5.87315 -34.0811 0 + endloop + endfacet + facet normal 0.708025 -0.706188 0 + outer loop + vertex 5.87315 -34.0811 -0.1 + vertex 5.72486 -34.2297 0 + vertex 5.72486 -34.2297 -0.1 + endloop + endfacet + facet normal 0.762128 -0.647427 0 + outer loop + vertex 5.87315 -34.0811 0 + vertex 6.01946 -33.9088 -0.1 + vertex 6.01946 -33.9088 0 + endloop + endfacet + facet normal 0.762128 -0.647427 0 + outer loop + vertex 6.01946 -33.9088 -0.1 + vertex 5.87315 -34.0811 0 + vertex 5.87315 -34.0811 -0.1 + endloop + endfacet + facet normal 0.824099 -0.566446 0 + outer loop + vertex 6.01946 -33.9088 0 + vertex 6.31707 -33.4759 -0.1 + vertex 6.31707 -33.4759 0 + endloop + endfacet + facet normal 0.824099 -0.566446 0 + outer loop + vertex 6.31707 -33.4759 -0.1 + vertex 6.01946 -33.9088 0 + vertex 6.01946 -33.9088 -0.1 + endloop + endfacet + facet normal 0.874277 -0.485427 0 + outer loop + vertex 6.31707 -33.4759 0 + vertex 6.63949 -32.8952 -0.1 + vertex 6.63949 -32.8952 0 + endloop + endfacet + facet normal 0.874277 -0.485427 0 + outer loop + vertex 6.63949 -32.8952 -0.1 + vertex 6.31707 -33.4759 0 + vertex 6.31707 -33.4759 -0.1 + endloop + endfacet + facet normal 0.900468 -0.434923 0 + outer loop + vertex 6.63949 -32.8952 0 + vertex 7.00854 -32.1311 -0.1 + vertex 7.00854 -32.1311 0 + endloop + endfacet + facet normal 0.900468 -0.434923 0 + outer loop + vertex 7.00854 -32.1311 -0.1 + vertex 6.63949 -32.8952 0 + vertex 6.63949 -32.8952 -0.1 + endloop + endfacet + facet normal 0.913625 -0.406558 0 + outer loop + vertex 7.00854 -32.1311 0 + vertex 7.44603 -31.1479 -0.1 + vertex 7.44603 -31.1479 0 + endloop + endfacet + facet normal 0.913625 -0.406558 0 + outer loop + vertex 7.44603 -31.1479 -0.1 + vertex 7.00854 -32.1311 0 + vertex 7.00854 -32.1311 -0.1 + endloop + endfacet + facet normal 0.919886 -0.392186 0 + outer loop + vertex 7.44603 -31.1479 0 + vertex 7.97377 -29.9101 -0.1 + vertex 7.97377 -29.9101 0 + endloop + endfacet + facet normal 0.919886 -0.392186 0 + outer loop + vertex 7.97377 -29.9101 -0.1 + vertex 7.44603 -31.1479 0 + vertex 7.44603 -31.1479 -0.1 + endloop + endfacet + facet normal 0.924332 -0.381588 0 + outer loop + vertex 7.97377 -29.9101 0 + vertex 9.07864 -27.2338 -0.1 + vertex 9.07864 -27.2338 0 + endloop + endfacet + facet normal 0.924332 -0.381588 0 + outer loop + vertex 9.07864 -27.2338 -0.1 + vertex 7.97377 -29.9101 0 + vertex 7.97377 -29.9101 -0.1 + endloop + endfacet + facet normal 0.932155 -0.362059 0 + outer loop + vertex 9.07864 -27.2338 0 + vertex 9.46376 -26.2422 -0.1 + vertex 9.46376 -26.2422 0 + endloop + endfacet + facet normal 0.932155 -0.362059 0 + outer loop + vertex 9.46376 -26.2422 -0.1 + vertex 9.07864 -27.2338 0 + vertex 9.07864 -27.2338 -0.1 + endloop + endfacet + facet normal 0.941332 -0.337483 0 + outer loop + vertex 9.46376 -26.2422 0 + vertex 9.75283 -25.4359 -0.1 + vertex 9.75283 -25.4359 0 + endloop + endfacet + facet normal 0.941332 -0.337483 0 + outer loop + vertex 9.75283 -25.4359 -0.1 + vertex 9.46376 -26.2422 0 + vertex 9.46376 -26.2422 -0.1 + endloop + endfacet + facet normal 0.954562 -0.298012 0 + outer loop + vertex 9.75283 -25.4359 0 + vertex 9.95745 -24.7805 -0.1 + vertex 9.95745 -24.7805 0 + endloop + endfacet + facet normal 0.954562 -0.298012 0 + outer loop + vertex 9.95745 -24.7805 -0.1 + vertex 9.75283 -25.4359 0 + vertex 9.75283 -25.4359 -0.1 + endloop + endfacet + facet normal 0.971378 -0.237537 0 + outer loop + vertex 9.95745 -24.7805 0 + vertex 10.0892 -24.2416 -0.1 + vertex 10.0892 -24.2416 0 + endloop + endfacet + facet normal 0.971378 -0.237537 0 + outer loop + vertex 10.0892 -24.2416 -0.1 + vertex 9.95745 -24.7805 0 + vertex 9.95745 -24.7805 -0.1 + endloop + endfacet + facet normal 0.98828 -0.15265 0 + outer loop + vertex 10.0892 -24.2416 0 + vertex 10.1598 -23.7848 -0.1 + vertex 10.1598 -23.7848 0 + endloop + endfacet + facet normal 0.98828 -0.15265 0 + outer loop + vertex 10.1598 -23.7848 -0.1 + vertex 10.0892 -24.2416 0 + vertex 10.0892 -24.2416 -0.1 + endloop + endfacet + facet normal 0.998693 -0.0511194 0 + outer loop + vertex 10.1598 -23.7848 0 + vertex 10.1807 -23.3758 -0.1 + vertex 10.1807 -23.3758 0 + endloop + endfacet + facet normal 0.998693 -0.0511194 0 + outer loop + vertex 10.1807 -23.3758 -0.1 + vertex 10.1598 -23.7848 0 + vertex 10.1598 -23.7848 -0.1 + endloop + endfacet + facet normal 0.997227 0.0744219 0 + outer loop + vertex 10.1807 -23.3758 0 + vertex 10.149 -22.9513 -0.1 + vertex 10.149 -22.9513 0 + endloop + endfacet + facet normal 0.997227 0.0744219 0 + outer loop + vertex 10.149 -22.9513 -0.1 + vertex 10.1807 -23.3758 0 + vertex 10.1807 -23.3758 -0.1 + endloop + endfacet + facet normal 0.980241 0.197806 0 + outer loop + vertex 10.149 -22.9513 0 + vertex 10.1103 -22.7594 -0.1 + vertex 10.1103 -22.7594 0 + endloop + endfacet + facet normal 0.980241 0.197806 0 + outer loop + vertex 10.1103 -22.7594 -0.1 + vertex 10.149 -22.9513 0 + vertex 10.149 -22.9513 -0.1 + endloop + endfacet + facet normal 0.958253 0.285922 0 + outer loop + vertex 10.1103 -22.7594 0 + vertex 10.0571 -22.5812 -0.1 + vertex 10.0571 -22.5812 0 + endloop + endfacet + facet normal 0.958253 0.285922 0 + outer loop + vertex 10.0571 -22.5812 -0.1 + vertex 10.1103 -22.7594 0 + vertex 10.1103 -22.7594 -0.1 + endloop + endfacet + facet normal 0.926088 0.377307 0 + outer loop + vertex 10.0571 -22.5812 0 + vertex 9.99008 -22.4166 -0.1 + vertex 9.99008 -22.4166 0 + endloop + endfacet + facet normal 0.926088 0.377307 0 + outer loop + vertex 9.99008 -22.4166 -0.1 + vertex 10.0571 -22.5812 0 + vertex 10.0571 -22.5812 -0.1 + endloop + endfacet + facet normal 0.882715 0.469908 0 + outer loop + vertex 9.99008 -22.4166 0 + vertex 9.90973 -22.2656 -0.1 + vertex 9.90973 -22.2656 0 + endloop + endfacet + facet normal 0.882715 0.469908 0 + outer loop + vertex 9.90973 -22.2656 -0.1 + vertex 9.99008 -22.4166 0 + vertex 9.99008 -22.4166 -0.1 + endloop + endfacet + facet normal 0.827725 0.561134 0 + outer loop + vertex 9.90973 -22.2656 0 + vertex 9.81668 -22.1284 -0.1 + vertex 9.81668 -22.1284 0 + endloop + endfacet + facet normal 0.827725 0.561134 0 + outer loop + vertex 9.81668 -22.1284 -0.1 + vertex 9.90973 -22.2656 0 + vertex 9.90973 -22.2656 -0.1 + endloop + endfacet + facet normal 0.761518 0.648143 0 + outer loop + vertex 9.81668 -22.1284 0 + vertex 9.71152 -22.0048 -0.1 + vertex 9.71152 -22.0048 0 + endloop + endfacet + facet normal 0.761518 0.648143 0 + outer loop + vertex 9.71152 -22.0048 -0.1 + vertex 9.81668 -22.1284 0 + vertex 9.81668 -22.1284 -0.1 + endloop + endfacet + facet normal 0.685415 0.728153 -0 + outer loop + vertex 9.71152 -22.0048 -0.1 + vertex 9.59484 -21.895 0 + vertex 9.71152 -22.0048 0 + endloop + endfacet + facet normal 0.685415 0.728153 0 + outer loop + vertex 9.59484 -21.895 0 + vertex 9.71152 -22.0048 -0.1 + vertex 9.59484 -21.895 -0.1 + endloop + endfacet + facet normal 0.601514 0.798862 -0 + outer loop + vertex 9.59484 -21.895 -0.1 + vertex 9.46723 -21.7989 0 + vertex 9.59484 -21.895 0 + endloop + endfacet + facet normal 0.601514 0.798862 0 + outer loop + vertex 9.46723 -21.7989 0 + vertex 9.59484 -21.895 -0.1 + vertex 9.46723 -21.7989 -0.1 + endloop + endfacet + facet normal 0.467006 0.884254 -0 + outer loop + vertex 9.46723 -21.7989 -0.1 + vertex 9.18157 -21.6481 0 + vertex 9.46723 -21.7989 0 + endloop + endfacet + facet normal 0.467006 0.884254 0 + outer loop + vertex 9.18157 -21.6481 0 + vertex 9.46723 -21.7989 -0.1 + vertex 9.18157 -21.6481 -0.1 + endloop + endfacet + facet normal 0.284506 0.958674 -0 + outer loop + vertex 9.18157 -21.6481 -0.1 + vertex 8.85925 -21.5524 0 + vertex 9.18157 -21.6481 0 + endloop + endfacet + facet normal 0.284506 0.958674 0 + outer loop + vertex 8.85925 -21.5524 0 + vertex 9.18157 -21.6481 -0.1 + vertex 8.85925 -21.5524 -0.1 + endloop + endfacet + facet normal 0.112981 0.993597 -0 + outer loop + vertex 8.85925 -21.5524 -0.1 + vertex 8.50498 -21.5121 0 + vertex 8.85925 -21.5524 0 + endloop + endfacet + facet normal 0.112981 0.993597 0 + outer loop + vertex 8.50498 -21.5121 0 + vertex 8.85925 -21.5524 -0.1 + vertex 8.50498 -21.5121 -0.1 + endloop + endfacet + facet normal -0.039935 0.999202 0 + outer loop + vertex 8.50498 -21.5121 -0.1 + vertex 8.12348 -21.5274 0 + vertex 8.50498 -21.5121 0 + endloop + endfacet + facet normal -0.039935 0.999202 0 + outer loop + vertex 8.12348 -21.5274 0 + vertex 8.50498 -21.5121 -0.1 + vertex 8.12348 -21.5274 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.1179 -30.7807 -0.1 + vertex 30.2299 -31.0524 -0.1 + vertex 30.2187 -30.9454 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.1179 -30.7807 -0.1 + vertex 30.2187 -30.9454 -0.1 + vertex 30.1812 -30.855 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.2299 -31.0524 -0.1 + vertex 30.1179 -30.7807 -0.1 + vertex 30.2146 -31.1764 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.2146 -31.1764 -0.1 + vertex 30.1179 -30.7807 -0.1 + vertex 30.1726 -31.3179 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.9008 -30.6099 -0.1 + vertex 30.1726 -31.3179 -0.1 + vertex 30.1179 -30.7807 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.1726 -31.3179 -0.1 + vertex 29.9008 -30.6099 -0.1 + vertex 30.1034 -31.4773 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.7002 -30.4984 -0.1 + vertex 30.1034 -31.4773 -0.1 + vertex 29.9008 -30.6099 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.1034 -31.4773 -0.1 + vertex 29.7002 -30.4984 -0.1 + vertex 29.0845 -30.5466 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.8369 -30.6989 -0.1 + vertex 30.1034 -31.4773 -0.1 + vertex 29.0845 -30.5466 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.3033 -30.4642 -0.1 + vertex 29.7002 -30.4984 -0.1 + vertex 29.5048 -30.449 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.7002 -30.4984 -0.1 + vertex 29.3033 -30.4642 -0.1 + vertex 29.0845 -30.5466 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.1034 -31.4773 -0.1 + vertex 28.8369 -30.6989 -0.1 + vertex 29.8827 -31.8517 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.5495 -30.9236 -0.1 + vertex 29.8827 -31.8517 -0.1 + vertex 28.8369 -30.6989 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.8827 -31.8517 -0.1 + vertex 28.5495 -30.9236 -0.1 + vertex 29.5499 -32.3032 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.2108 -31.2235 -0.1 + vertex 29.5499 -32.3032 -0.1 + vertex 28.5495 -30.9236 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.5499 -32.3032 -0.1 + vertex 28.2108 -31.2235 -0.1 + vertex 29.1028 -32.8352 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.276 -32.055 -0.1 + vertex 29.1028 -32.8352 -0.1 + vertex 28.2108 -31.2235 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.1028 -32.8352 -0.1 + vertex 27.276 -32.055 -0.1 + vertex 28.539 -33.4515 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.539 -33.4515 -0.1 + vertex 27.276 -32.055 -0.1 + vertex 27.856 -34.1555 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.4309 -32.7448 -0.1 + vertex 27.856 -34.1555 -0.1 + vertex 27.276 -32.055 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.856 -34.1555 -0.1 + vertex 26.4309 -32.7448 -0.1 + vertex 27.3514 -34.6537 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.6577 -33.3022 -0.1 + vertex 27.3514 -34.6537 -0.1 + vertex 26.4309 -32.7448 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3514 -34.6537 -0.1 + vertex 25.6577 -33.3022 -0.1 + vertex 26.8832 -35.0925 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.2926 -33.5342 -0.1 + vertex 26.8832 -35.0925 -0.1 + vertex 25.6577 -33.3022 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.8832 -35.0925 -0.1 + vertex 25.2926 -33.5342 -0.1 + vertex 26.4377 -35.4824 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.9388 -33.7368 -0.1 + vertex 26.4377 -35.4824 -0.1 + vertex 25.2926 -33.5342 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.4377 -35.4824 -0.1 + vertex 24.9388 -33.7368 -0.1 + vertex 26.0012 -35.834 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.5942 -33.911 -0.1 + vertex 26.0012 -35.834 -0.1 + vertex 24.9388 -33.7368 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0012 -35.834 -0.1 + vertex 24.5942 -33.911 -0.1 + vertex 25.5601 -36.1579 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.2566 -34.0582 -0.1 + vertex 25.5601 -36.1579 -0.1 + vertex 24.5942 -33.911 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.5601 -36.1579 -0.1 + vertex 24.2566 -34.0582 -0.1 + vertex 25.1006 -36.4644 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.9237 -34.1793 -0.1 + vertex 25.1006 -36.4644 -0.1 + vertex 24.2566 -34.0582 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.1006 -36.4644 -0.1 + vertex 23.9237 -34.1793 -0.1 + vertex 24.6091 -36.7642 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.5933 -34.2758 -0.1 + vertex 24.6091 -36.7642 -0.1 + vertex 23.9237 -34.1793 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.2634 -34.3487 -0.1 + vertex 24.6091 -36.7642 -0.1 + vertex 23.5933 -34.2758 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6091 -36.7642 -0.1 + vertex 23.2634 -34.3487 -0.1 + vertex 24.0719 -37.0678 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.9315 -34.3992 -0.1 + vertex 24.0719 -37.0678 -0.1 + vertex 23.2634 -34.3487 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.0719 -37.0678 -0.1 + vertex 22.9315 -34.3992 -0.1 + vertex 23.2902 -37.4839 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.5956 -34.4285 -0.1 + vertex 23.2902 -37.4839 -0.1 + vertex 22.9315 -34.3992 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.2534 -34.4379 -0.1 + vertex 23.2902 -37.4839 -0.1 + vertex 22.5956 -34.4285 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.2902 -37.4839 -0.1 + vertex 22.2534 -34.4379 -0.1 + vertex 22.6041 -37.8201 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.8355 -34.4151 -0.1 + vertex 22.6041 -37.8201 -0.1 + vertex 22.2534 -34.4379 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.6041 -37.8201 -0.1 + vertex 21.8355 -34.4151 -0.1 + vertex 21.9889 -38.084 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.43 -34.349 -0.1 + vertex 21.9889 -38.084 -0.1 + vertex 21.8355 -34.4151 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.43 -34.349 -0.1 + vertex 21.4197 -38.2833 -0.1 + vertex 21.9889 -38.084 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0421 -34.2419 -0.1 + vertex 21.4197 -38.2833 -0.1 + vertex 21.43 -34.349 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0421 -34.2419 -0.1 + vertex 20.8717 -38.4255 -0.1 + vertex 21.4197 -38.2833 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3202 -38.5182 -0.1 + vertex 21.0421 -34.2419 -0.1 + vertex 20.6768 -34.0963 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7403 -38.5689 -0.1 + vertex 20.6768 -34.0963 -0.1 + vertex 20.3392 -33.9144 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0421 -34.2419 -0.1 + vertex 20.3202 -38.5182 -0.1 + vertex 20.8717 -38.4255 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4669 -38.5591 -0.1 + vertex 20.3392 -33.9144 -0.1 + vertex 20.0345 -33.6987 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.8529 -38.0675 -0.1 + vertex 20.0345 -33.6987 -0.1 + vertex 19.7677 -33.4516 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.6768 -34.0963 -0.1 + vertex 19.7403 -38.5689 -0.1 + vertex 20.3202 -38.5182 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.927 -35.9398 -0.1 + vertex 19.7677 -33.4516 -0.1 + vertex 19.5439 -33.1754 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.6774 -34.4466 -0.1 + vertex 19.5439 -33.1754 -0.1 + vertex 19.466 -33.0295 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.6656 -33.913 -0.1 + vertex 19.466 -33.0295 -0.1 + vertex 19.403 -32.8415 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 14.73 -32.8205 -0.1 + vertex 19.403 -32.8415 -0.1 + vertex 19.3545 -32.6156 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.8056 -32.2631 -0.1 + vertex 19.3545 -32.6156 -0.1 + vertex 19.3203 -32.3556 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3392 -33.9144 -0.1 + vertex 19.1073 -38.5852 -0.1 + vertex 19.7403 -38.5689 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9098 -31.6993 -0.1 + vertex 19.3203 -32.3556 -0.1 + vertex 19.2935 -31.7496 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4186 -23.1088 -0.1 + vertex 32.0619 -22.7991 -0.1 + vertex 32.0349 -22.2828 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 32.0619 -22.7991 -0.1 + vertex 27.4186 -23.1088 -0.1 + vertex 32.0372 -23.3848 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3785 -22.8574 -0.1 + vertex 32.0349 -22.2828 -0.1 + vertex 31.9549 -21.8223 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 27.4312 -23.3865 -0.1 + vertex 32.0372 -23.3848 -0.1 + vertex 27.4186 -23.1088 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3785 -22.8574 -0.1 + vertex 31.9549 -21.8223 -0.1 + vertex 31.8204 -21.404 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.4161 -23.6904 -0.1 + vertex 31.9625 -24.0535 -0.1 + vertex 27.4312 -23.3865 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3785 -22.8574 -0.1 + vertex 31.8204 -21.404 -0.1 + vertex 31.6298 -21.0145 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.9625 -24.0535 -0.1 + vertex 27.4161 -23.6904 -0.1 + vertex 31.8392 -24.8188 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.373 -24.0204 -0.1 + vertex 31.8392 -24.8188 -0.1 + vertex 27.4161 -23.6904 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.8392 -24.8188 -0.1 + vertex 27.2401 -24.8188 -0.1 + vertex 31.6784 -25.7224 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3785 -22.8574 -0.1 + vertex 31.6298 -21.0145 -0.1 + vertex 31.3816 -20.64 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2401 -24.8188 -0.1 + vertex 31.8392 -24.8188 -0.1 + vertex 27.373 -24.0204 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3111 -22.6325 -0.1 + vertex 31.3816 -20.64 -0.1 + vertex 31.074 -20.2742 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 29.58 -27.3827 -0.1 + vertex 31.6784 -25.7224 -0.1 + vertex 27.2401 -24.8188 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 30.0709 -27.3331 -0.1 + vertex 31.6784 -25.7224 -0.1 + vertex 29.58 -27.3827 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3111 -22.6325 -0.1 + vertex 31.074 -20.2742 -0.1 + vertex 30.7365 -19.9631 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 30.4717 -27.2602 -0.1 + vertex 31.6003 -26.0834 -0.1 + vertex 30.0709 -27.3331 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3111 -22.6325 -0.1 + vertex 30.7365 -19.9631 -0.1 + vertex 30.3649 -19.705 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 30.7934 -27.1595 -0.1 + vertex 31.5092 -26.3899 -0.1 + vertex 30.4717 -27.2602 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2166 -22.4344 -0.1 + vertex 30.3649 -19.705 -0.1 + vertex 29.9546 -19.4981 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 31.047 -27.0266 -0.1 + vertex 31.3939 -26.6463 -0.1 + vertex 30.7934 -27.1595 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2166 -22.4344 -0.1 + vertex 29.9546 -19.4981 -0.1 + vertex 29.5013 -19.3404 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2166 -22.4344 -0.1 + vertex 29.5013 -19.3404 -0.1 + vertex 29.0007 -19.2301 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.3939 -26.6463 -0.1 + vertex 31.047 -27.0266 -0.1 + vertex 31.2435 -26.857 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.0952 -22.2631 -0.1 + vertex 29.0007 -19.2301 -0.1 + vertex 28.4483 -19.1654 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9471 -22.1189 -0.1 + vertex 28.4483 -19.1654 -0.1 + vertex 27.8398 -19.1444 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 32.0372 -23.3848 -0.1 + vertex 27.4312 -23.3865 -0.1 + vertex 31.9625 -24.0535 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.6003 -26.0834 -0.1 + vertex 30.4717 -27.2602 -0.1 + vertex 31.5092 -26.3899 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.5092 -26.3899 -0.1 + vertex 30.7934 -27.1595 -0.1 + vertex 31.3939 -26.6463 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 32.0349 -22.2828 -0.1 + vertex 27.3785 -22.8574 -0.1 + vertex 27.4186 -23.1088 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.3816 -20.64 -0.1 + vertex 27.3111 -22.6325 -0.1 + vertex 27.3785 -22.8574 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.3649 -19.705 -0.1 + vertex 27.2166 -22.4344 -0.1 + vertex 27.3111 -22.6325 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7726 -22.0019 -0.1 + vertex 27.8398 -19.1444 -0.1 + vertex 27.1629 -19.1581 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.0007 -19.2301 -0.1 + vertex 27.0952 -22.2631 -0.1 + vertex 27.2166 -22.4344 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.4483 -19.1654 -0.1 + vertex 26.9471 -22.1189 -0.1 + vertex 27.0952 -22.2631 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.8398 -19.1444 -0.1 + vertex 26.7726 -22.0019 -0.1 + vertex 26.9471 -22.1189 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.1629 -19.1581 -0.1 + vertex 26.5717 -21.9122 -0.1 + vertex 26.7726 -22.0019 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.5531 -19.2026 -0.1 + vertex 26.5717 -21.9122 -0.1 + vertex 27.1629 -19.1581 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.5531 -19.2026 -0.1 + vertex 26.3449 -21.8501 -0.1 + vertex 26.5717 -21.9122 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.9886 -19.284 -0.1 + vertex 26.3449 -21.8501 -0.1 + vertex 26.5531 -19.2026 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.3449 -21.8501 -0.1 + vertex 25.9886 -19.284 -0.1 + vertex 26.0922 -21.8157 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.4477 -19.4082 -0.1 + vertex 26.0922 -21.8157 -0.1 + vertex 25.9886 -19.284 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0922 -21.8157 -0.1 + vertex 25.4477 -19.4082 -0.1 + vertex 25.8138 -21.8092 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.8138 -21.8092 -0.1 + vertex 25.4477 -19.4082 -0.1 + vertex 25.51 -21.8307 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.9086 -19.5812 -0.1 + vertex 25.51 -21.8307 -0.1 + vertex 25.4477 -19.4082 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.51 -21.8307 -0.1 + vertex 24.9086 -19.5812 -0.1 + vertex 25.181 -21.8805 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.3497 -19.8089 -0.1 + vertex 25.181 -21.8805 -0.1 + vertex 24.9086 -19.5812 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.181 -21.8805 -0.1 + vertex 24.3497 -19.8089 -0.1 + vertex 24.827 -21.9586 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.7493 -20.0973 -0.1 + vertex 24.827 -21.9586 -0.1 + vertex 24.3497 -19.8089 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.827 -21.9586 -0.1 + vertex 23.7493 -20.0973 -0.1 + vertex 24.5319 -22.0421 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.5319 -22.0421 -0.1 + vertex 23.7493 -20.0973 -0.1 + vertex 24.2621 -22.1397 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.0854 -20.4525 -0.1 + vertex 24.2621 -22.1397 -0.1 + vertex 23.7493 -20.0973 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.2621 -22.1397 -0.1 + vertex 23.0854 -20.4525 -0.1 + vertex 24.0091 -22.2567 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.0091 -22.2567 -0.1 + vertex 23.0854 -20.4525 -0.1 + vertex 23.7644 -22.3987 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.3543 -20.8886 -0.1 + vertex 23.7644 -22.3987 -0.1 + vertex 23.0854 -20.4525 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.7644 -22.3987 -0.1 + vertex 22.3543 -20.8886 -0.1 + vertex 23.5194 -22.5712 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.5194 -22.5712 -0.1 + vertex 22.3543 -20.8886 -0.1 + vertex 23.2657 -22.7795 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 21.6485 -21.3703 -0.1 + vertex 23.2657 -22.7795 -0.1 + vertex 22.3543 -20.8886 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.2657 -22.7795 -0.1 + vertex 21.6485 -21.3703 -0.1 + vertex 22.6979 -23.3258 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 20.9665 -21.899 -0.1 + vertex 22.6979 -23.3258 -0.1 + vertex 21.6485 -21.3703 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.6979 -23.3258 -0.1 + vertex 20.9665 -21.899 -0.1 + vertex 22.2832 -23.7683 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 20.3071 -22.4759 -0.1 + vertex 22.2832 -23.7683 -0.1 + vertex 20.9665 -21.899 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.2832 -23.7683 -0.1 + vertex 20.3071 -22.4759 -0.1 + vertex 21.9437 -24.1601 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.9437 -24.1601 -0.1 + vertex 20.3071 -22.4759 -0.1 + vertex 21.7143 -24.4589 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.6689 -23.1024 -0.1 + vertex 21.7143 -24.4589 -0.1 + vertex 20.3071 -22.4759 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.6784 -25.7224 -0.1 + vertex 30.0709 -27.3331 -0.1 + vertex 31.6003 -26.0834 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.58 -27.3827 -0.1 + vertex 27.2401 -24.8188 -0.1 + vertex 28.988 -27.4135 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.988 -27.4135 -0.1 + vertex 27.2401 -24.8188 -0.1 + vertex 27.4568 -27.4364 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2401 -24.8188 -0.1 + vertex 25.3891 -27.4375 -0.1 + vertex 27.4568 -27.4364 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.435 -24.8188 -0.1 + vertex 25.3891 -27.4375 -0.1 + vertex 27.2401 -24.8188 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.3459 -24.8032 -0.1 + vertex 25.3891 -27.4375 -0.1 + vertex 24.435 -24.8188 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.454 -24.761 -0.1 + vertex 25.3891 -27.4375 -0.1 + vertex 23.3459 -24.8032 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.1247 -27.4424 -0.1 + vertex 22.454 -24.761 -0.1 + vertex 21.8514 -24.6984 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.1247 -27.4424 -0.1 + vertex 21.8514 -24.6984 -0.1 + vertex 21.6873 -24.6616 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.1247 -27.4424 -0.1 + vertex 21.6873 -24.6616 -0.1 + vertex 21.63 -24.6221 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.7143 -24.4589 -0.1 + vertex 19.6689 -23.1024 -0.1 + vertex 21.6518 -24.5601 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.454 -24.761 -0.1 + vertex 20.1247 -27.4424 -0.1 + vertex 25.3891 -27.4375 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.6518 -24.5601 -0.1 + vertex 19.6689 -23.1024 -0.1 + vertex 21.63 -24.6221 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.0503 -23.7798 -0.1 + vertex 21.63 -24.6221 -0.1 + vertex 19.6689 -23.1024 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 18.4501 -24.5093 -0.1 + vertex 21.63 -24.6221 -0.1 + vertex 19.0503 -23.7798 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.63 -24.6221 -0.1 + vertex 18.4501 -24.5093 -0.1 + vertex 20.1247 -27.4424 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 17.8667 -25.2923 -0.1 + vertex 20.1247 -27.4424 -0.1 + vertex 18.4501 -24.5093 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 17.4656 -25.8764 -0.1 + vertex 20.1247 -27.4424 -0.1 + vertex 17.8667 -25.2923 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 17.0901 -26.4624 -0.1 + vertex 20.1247 -27.4424 -0.1 + vertex 17.4656 -25.8764 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.1247 -27.4424 -0.1 + vertex 17.0901 -26.4624 -0.1 + vertex 19.9171 -28.0436 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 16.7406 -27.0496 -0.1 + vertex 19.9171 -28.0436 -0.1 + vertex 17.0901 -26.4624 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.9171 -28.0436 -0.1 + vertex 16.7406 -27.0496 -0.1 + vertex 19.6992 -28.7679 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 16.4172 -27.6373 -0.1 + vertex 19.6992 -28.7679 -0.1 + vertex 16.7406 -27.0496 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6992 -28.7679 -0.1 + vertex 16.4172 -27.6373 -0.1 + vertex 19.5256 -29.5327 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 16.1203 -28.2246 -0.1 + vertex 19.5256 -29.5327 -0.1 + vertex 16.4172 -27.6373 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.8502 -28.8109 -0.1 + vertex 19.5256 -29.5327 -0.1 + vertex 16.1203 -28.2246 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5256 -29.5327 -0.1 + vertex 15.8502 -28.8109 -0.1 + vertex 19.3985 -30.306 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.6071 -29.3953 -0.1 + vertex 19.3985 -30.306 -0.1 + vertex 15.8502 -28.8109 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.3912 -29.9771 -0.1 + vertex 19.3985 -30.306 -0.1 + vertex 15.6071 -29.3953 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3985 -30.306 -0.1 + vertex 15.3912 -29.9771 -0.1 + vertex 19.3204 -31.0557 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.2028 -30.5555 -0.1 + vertex 19.3204 -31.0557 -0.1 + vertex 15.3912 -29.9771 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3204 -31.0557 -0.1 + vertex 15.2028 -30.5555 -0.1 + vertex 19.2935 -31.7496 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.0423 -31.1299 -0.1 + vertex 19.2935 -31.7496 -0.1 + vertex 15.2028 -30.5555 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 14.9098 -31.6993 -0.1 + vertex 19.2935 -31.7496 -0.1 + vertex 15.0423 -31.1299 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3203 -32.3556 -0.1 + vertex 14.9098 -31.6993 -0.1 + vertex 14.8056 -32.2631 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3545 -32.6156 -0.1 + vertex 14.8056 -32.2631 -0.1 + vertex 14.73 -32.8205 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.403 -32.8415 -0.1 + vertex 14.73 -32.8205 -0.1 + vertex 14.6832 -33.3707 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.403 -32.8415 -0.1 + vertex 14.6832 -33.3707 -0.1 + vertex 14.6656 -33.913 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.466 -33.0295 -0.1 + vertex 14.6656 -33.913 -0.1 + vertex 14.6774 -34.4466 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5439 -33.1754 -0.1 + vertex 14.6774 -34.4466 -0.1 + vertex 14.7369 -35.0944 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3392 -33.9144 -0.1 + vertex 18.4669 -38.5591 -0.1 + vertex 19.1073 -38.5852 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0345 -33.6987 -0.1 + vertex 18.1792 -38.5233 -0.1 + vertex 18.4669 -38.5591 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0345 -33.6987 -0.1 + vertex 17.9062 -38.4707 -0.1 + vertex 18.1792 -38.5233 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0345 -33.6987 -0.1 + vertex 17.6424 -38.4 -0.1 + vertex 17.9062 -38.4707 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0345 -33.6987 -0.1 + vertex 17.3825 -38.3101 -0.1 + vertex 17.6424 -38.4 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0345 -33.6987 -0.1 + vertex 17.1211 -38.1997 -0.1 + vertex 17.3825 -38.3101 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0345 -33.6987 -0.1 + vertex 16.8529 -38.0675 -0.1 + vertex 17.1211 -38.1997 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5439 -33.1754 -0.1 + vertex 14.7369 -35.0944 -0.1 + vertex 14.8496 -35.6738 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 16.342 -37.7658 -0.1 + vertex 16.8529 -38.0675 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5439 -33.1754 -0.1 + vertex 14.8496 -35.6738 -0.1 + vertex 14.927 -35.9398 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 16.1153 -37.6039 -0.1 + vertex 16.342 -37.7658 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 15.907 -37.4336 -0.1 + vertex 16.1153 -37.6039 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 15.7167 -37.2541 -0.1 + vertex 15.907 -37.4336 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 15.544 -37.0647 -0.1 + vertex 15.7167 -37.2541 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 15.3884 -36.8644 -0.1 + vertex 15.544 -37.0647 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 15.2493 -36.6526 -0.1 + vertex 15.3884 -36.8644 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 15.1264 -36.4284 -0.1 + vertex 15.2493 -36.6526 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 14.927 -35.9398 -0.1 + vertex 15.0191 -36.1911 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 15.0191 -36.1911 -0.1 + vertex 15.1264 -36.4284 -0.1 + endloop + endfacet + facet normal -0.116346 -0.993209 0 + outer loop + vertex 28.4483 -19.1654 -0.1 + vertex 29.0007 -19.2301 0 + vertex 28.4483 -19.1654 0 + endloop + endfacet + facet normal -0.116346 -0.993209 -0 + outer loop + vertex 29.0007 -19.2301 0 + vertex 28.4483 -19.1654 -0.1 + vertex 29.0007 -19.2301 -0.1 + endloop + endfacet + facet normal -0.215114 -0.976589 0 + outer loop + vertex 29.0007 -19.2301 -0.1 + vertex 29.5013 -19.3404 0 + vertex 29.0007 -19.2301 0 + endloop + endfacet + facet normal -0.215114 -0.976589 -0 + outer loop + vertex 29.5013 -19.3404 0 + vertex 29.0007 -19.2301 -0.1 + vertex 29.5013 -19.3404 -0.1 + endloop + endfacet + facet normal -0.328588 -0.944473 0 + outer loop + vertex 29.5013 -19.3404 -0.1 + vertex 29.9546 -19.4981 0 + vertex 29.5013 -19.3404 0 + endloop + endfacet + facet normal -0.328588 -0.944473 -0 + outer loop + vertex 29.9546 -19.4981 0 + vertex 29.5013 -19.3404 -0.1 + vertex 29.9546 -19.4981 -0.1 + endloop + endfacet + facet normal -0.450382 -0.892836 0 + outer loop + vertex 29.9546 -19.4981 -0.1 + vertex 30.3649 -19.705 0 + vertex 29.9546 -19.4981 0 + endloop + endfacet + facet normal -0.450382 -0.892836 -0 + outer loop + vertex 30.3649 -19.705 0 + vertex 29.9546 -19.4981 -0.1 + vertex 30.3649 -19.705 -0.1 + endloop + endfacet + facet normal -0.570354 -0.821399 0 + outer loop + vertex 30.3649 -19.705 -0.1 + vertex 30.7365 -19.9631 0 + vertex 30.3649 -19.705 0 + endloop + endfacet + facet normal -0.570354 -0.821399 -0 + outer loop + vertex 30.7365 -19.9631 0 + vertex 30.3649 -19.705 -0.1 + vertex 30.7365 -19.9631 -0.1 + endloop + endfacet + facet normal -0.677745 -0.735297 0 + outer loop + vertex 30.7365 -19.9631 -0.1 + vertex 31.074 -20.2742 0 + vertex 30.7365 -19.9631 0 + endloop + endfacet + facet normal -0.677745 -0.735297 -0 + outer loop + vertex 31.074 -20.2742 0 + vertex 30.7365 -19.9631 -0.1 + vertex 31.074 -20.2742 -0.1 + endloop + endfacet + facet normal -0.765393 -0.643563 0 + outer loop + vertex 31.3816 -20.64 -0.1 + vertex 31.074 -20.2742 0 + vertex 31.074 -20.2742 -0.1 + endloop + endfacet + facet normal -0.765393 -0.643563 0 + outer loop + vertex 31.074 -20.2742 0 + vertex 31.3816 -20.64 -0.1 + vertex 31.3816 -20.64 0 + endloop + endfacet + facet normal -0.833589 -0.552384 0 + outer loop + vertex 31.6298 -21.0145 -0.1 + vertex 31.3816 -20.64 0 + vertex 31.3816 -20.64 -0.1 + endloop + endfacet + facet normal -0.833589 -0.552384 0 + outer loop + vertex 31.3816 -20.64 0 + vertex 31.6298 -21.0145 -0.1 + vertex 31.6298 -21.0145 0 + endloop + endfacet + facet normal -0.898247 -0.439492 0 + outer loop + vertex 31.8204 -21.404 -0.1 + vertex 31.6298 -21.0145 0 + vertex 31.6298 -21.0145 -0.1 + endloop + endfacet + facet normal -0.898247 -0.439492 0 + outer loop + vertex 31.6298 -21.0145 0 + vertex 31.8204 -21.404 -0.1 + vertex 31.8204 -21.404 0 + endloop + endfacet + facet normal -0.951943 -0.306275 0 + outer loop + vertex 31.9549 -21.8223 -0.1 + vertex 31.8204 -21.404 0 + vertex 31.8204 -21.404 -0.1 + endloop + endfacet + facet normal -0.951943 -0.306275 0 + outer loop + vertex 31.8204 -21.404 0 + vertex 31.9549 -21.8223 -0.1 + vertex 31.9549 -21.8223 0 + endloop + endfacet + facet normal -0.985239 -0.171183 0 + outer loop + vertex 32.0349 -22.2828 -0.1 + vertex 31.9549 -21.8223 0 + vertex 31.9549 -21.8223 -0.1 + endloop + endfacet + facet normal -0.985239 -0.171183 0 + outer loop + vertex 31.9549 -21.8223 0 + vertex 32.0349 -22.2828 -0.1 + vertex 32.0349 -22.2828 0 + endloop + endfacet + facet normal -0.998641 -0.0521185 0 + outer loop + vertex 32.0619 -22.7991 -0.1 + vertex 32.0349 -22.2828 0 + vertex 32.0349 -22.2828 -0.1 + endloop + endfacet + facet normal -0.998641 -0.0521185 0 + outer loop + vertex 32.0349 -22.2828 0 + vertex 32.0619 -22.7991 -0.1 + vertex 32.0619 -22.7991 0 + endloop + endfacet + facet normal -0.999117 0.0420155 0 + outer loop + vertex 32.0372 -23.3848 -0.1 + vertex 32.0619 -22.7991 0 + vertex 32.0619 -22.7991 -0.1 + endloop + endfacet + facet normal -0.999117 0.0420155 0 + outer loop + vertex 32.0619 -22.7991 0 + vertex 32.0372 -23.3848 -0.1 + vertex 32.0372 -23.3848 0 + endloop + endfacet + facet normal -0.993814 0.111054 0 + outer loop + vertex 31.9625 -24.0535 -0.1 + vertex 32.0372 -23.3848 0 + vertex 32.0372 -23.3848 -0.1 + endloop + endfacet + facet normal -0.993814 0.111054 0 + outer loop + vertex 32.0372 -23.3848 0 + vertex 31.9625 -24.0535 -0.1 + vertex 31.9625 -24.0535 0 + endloop + endfacet + facet normal -0.98726 0.159117 0 + outer loop + vertex 31.8392 -24.8188 -0.1 + vertex 31.9625 -24.0535 0 + vertex 31.9625 -24.0535 -0.1 + endloop + endfacet + facet normal -0.98726 0.159117 0 + outer loop + vertex 31.9625 -24.0535 0 + vertex 31.8392 -24.8188 -0.1 + vertex 31.8392 -24.8188 0 + endloop + endfacet + facet normal -0.984533 0.175198 0 + outer loop + vertex 31.6784 -25.7224 -0.1 + vertex 31.8392 -24.8188 0 + vertex 31.8392 -24.8188 -0.1 + endloop + endfacet + facet normal -0.984533 0.175198 0 + outer loop + vertex 31.8392 -24.8188 0 + vertex 31.6784 -25.7224 -0.1 + vertex 31.6784 -25.7224 0 + endloop + endfacet + facet normal -0.977413 0.211338 0 + outer loop + vertex 31.6003 -26.0834 -0.1 + vertex 31.6784 -25.7224 0 + vertex 31.6784 -25.7224 -0.1 + endloop + endfacet + facet normal -0.977413 0.211338 0 + outer loop + vertex 31.6784 -25.7224 0 + vertex 31.6003 -26.0834 -0.1 + vertex 31.6003 -26.0834 0 + endloop + endfacet + facet normal -0.958488 0.285133 0 + outer loop + vertex 31.5092 -26.3899 -0.1 + vertex 31.6003 -26.0834 0 + vertex 31.6003 -26.0834 -0.1 + endloop + endfacet + facet normal -0.958488 0.285133 0 + outer loop + vertex 31.6003 -26.0834 0 + vertex 31.5092 -26.3899 -0.1 + vertex 31.5092 -26.3899 0 + endloop + endfacet + facet normal -0.912047 0.410085 0 + outer loop + vertex 31.3939 -26.6463 -0.1 + vertex 31.5092 -26.3899 0 + vertex 31.5092 -26.3899 -0.1 + endloop + endfacet + facet normal -0.912047 0.410085 0 + outer loop + vertex 31.5092 -26.3899 0 + vertex 31.3939 -26.6463 -0.1 + vertex 31.3939 -26.6463 0 + endloop + endfacet + facet normal -0.814021 0.580836 0 + outer loop + vertex 31.2435 -26.857 -0.1 + vertex 31.3939 -26.6463 0 + vertex 31.3939 -26.6463 -0.1 + endloop + endfacet + facet normal -0.814021 0.580836 0 + outer loop + vertex 31.3939 -26.6463 0 + vertex 31.2435 -26.857 -0.1 + vertex 31.2435 -26.857 0 + endloop + endfacet + facet normal -0.653404 0.75701 0 + outer loop + vertex 31.2435 -26.857 -0.1 + vertex 31.047 -27.0266 0 + vertex 31.2435 -26.857 0 + endloop + endfacet + facet normal -0.653404 0.75701 0 + outer loop + vertex 31.047 -27.0266 0 + vertex 31.2435 -26.857 -0.1 + vertex 31.047 -27.0266 -0.1 + endloop + endfacet + facet normal -0.464184 0.885739 0 + outer loop + vertex 31.047 -27.0266 -0.1 + vertex 30.7934 -27.1595 0 + vertex 31.047 -27.0266 0 + endloop + endfacet + facet normal -0.464184 0.885739 0 + outer loop + vertex 30.7934 -27.1595 0 + vertex 31.047 -27.0266 -0.1 + vertex 30.7934 -27.1595 -0.1 + endloop + endfacet + facet normal -0.298657 0.954361 0 + outer loop + vertex 30.7934 -27.1595 -0.1 + vertex 30.4717 -27.2602 0 + vertex 30.7934 -27.1595 0 + endloop + endfacet + facet normal -0.298657 0.954361 0 + outer loop + vertex 30.4717 -27.2602 0 + vertex 30.7934 -27.1595 -0.1 + vertex 30.4717 -27.2602 -0.1 + endloop + endfacet + facet normal -0.17896 0.983856 0 + outer loop + vertex 30.4717 -27.2602 -0.1 + vertex 30.0709 -27.3331 0 + vertex 30.4717 -27.2602 0 + endloop + endfacet + facet normal -0.17896 0.983856 0 + outer loop + vertex 30.0709 -27.3331 0 + vertex 30.4717 -27.2602 -0.1 + vertex 30.0709 -27.3331 -0.1 + endloop + endfacet + facet normal -0.100534 0.994934 0 + outer loop + vertex 30.0709 -27.3331 -0.1 + vertex 29.58 -27.3827 0 + vertex 30.0709 -27.3331 0 + endloop + endfacet + facet normal -0.100534 0.994934 0 + outer loop + vertex 29.58 -27.3827 0 + vertex 30.0709 -27.3331 -0.1 + vertex 29.58 -27.3827 -0.1 + endloop + endfacet + facet normal -0.0519093 0.998652 0 + outer loop + vertex 29.58 -27.3827 -0.1 + vertex 28.988 -27.4135 0 + vertex 29.58 -27.3827 0 + endloop + endfacet + facet normal -0.0519093 0.998652 0 + outer loop + vertex 28.988 -27.4135 0 + vertex 29.58 -27.3827 -0.1 + vertex 28.988 -27.4135 -0.1 + endloop + endfacet + facet normal -0.014953 0.999888 0 + outer loop + vertex 28.988 -27.4135 -0.1 + vertex 27.4568 -27.4364 0 + vertex 28.988 -27.4135 0 + endloop + endfacet + facet normal -0.014953 0.999888 0 + outer loop + vertex 27.4568 -27.4364 0 + vertex 28.988 -27.4135 -0.1 + vertex 27.4568 -27.4364 -0.1 + endloop + endfacet + facet normal -0.000556252 1 0 + outer loop + vertex 27.4568 -27.4364 -0.1 + vertex 25.3891 -27.4375 0 + vertex 27.4568 -27.4364 0 + endloop + endfacet + facet normal -0.000556252 1 0 + outer loop + vertex 25.3891 -27.4375 0 + vertex 27.4568 -27.4364 -0.1 + vertex 25.3891 -27.4375 -0.1 + endloop + endfacet + facet normal -0.00092424 1 0 + outer loop + vertex 25.3891 -27.4375 -0.1 + vertex 20.1247 -27.4424 0 + vertex 25.3891 -27.4375 0 + endloop + endfacet + facet normal -0.00092424 1 0 + outer loop + vertex 20.1247 -27.4424 0 + vertex 25.3891 -27.4375 -0.1 + vertex 20.1247 -27.4424 -0.1 + endloop + endfacet + facet normal -0.945282 0.326254 0 + outer loop + vertex 19.9171 -28.0436 -0.1 + vertex 20.1247 -27.4424 0 + vertex 20.1247 -27.4424 -0.1 + endloop + endfacet + facet normal -0.945282 0.326254 0 + outer loop + vertex 20.1247 -27.4424 0 + vertex 19.9171 -28.0436 -0.1 + vertex 19.9171 -28.0436 0 + endloop + endfacet + facet normal -0.957593 0.288124 0 + outer loop + vertex 19.6992 -28.7679 -0.1 + vertex 19.9171 -28.0436 0 + vertex 19.9171 -28.0436 -0.1 + endloop + endfacet + facet normal -0.957593 0.288124 0 + outer loop + vertex 19.9171 -28.0436 0 + vertex 19.6992 -28.7679 -0.1 + vertex 19.6992 -28.7679 0 + endloop + endfacet + facet normal -0.97518 0.221412 0 + outer loop + vertex 19.5256 -29.5327 -0.1 + vertex 19.6992 -28.7679 0 + vertex 19.6992 -28.7679 -0.1 + endloop + endfacet + facet normal -0.97518 0.221412 0 + outer loop + vertex 19.6992 -28.7679 0 + vertex 19.5256 -29.5327 -0.1 + vertex 19.5256 -29.5327 0 + endloop + endfacet + facet normal -0.986769 0.16213 0 + outer loop + vertex 19.3985 -30.306 -0.1 + vertex 19.5256 -29.5327 0 + vertex 19.5256 -29.5327 -0.1 + endloop + endfacet + facet normal -0.986769 0.16213 0 + outer loop + vertex 19.5256 -29.5327 0 + vertex 19.3985 -30.306 -0.1 + vertex 19.3985 -30.306 0 + endloop + endfacet + facet normal -0.994613 0.103657 0 + outer loop + vertex 19.3204 -31.0557 -0.1 + vertex 19.3985 -30.306 0 + vertex 19.3985 -30.306 -0.1 + endloop + endfacet + facet normal -0.994613 0.103657 0 + outer loop + vertex 19.3985 -30.306 0 + vertex 19.3204 -31.0557 -0.1 + vertex 19.3204 -31.0557 0 + endloop + endfacet + facet normal -0.999252 0.0386793 0 + outer loop + vertex 19.2935 -31.7496 -0.1 + vertex 19.3204 -31.0557 0 + vertex 19.3204 -31.0557 -0.1 + endloop + endfacet + facet normal -0.999252 0.0386793 0 + outer loop + vertex 19.3204 -31.0557 0 + vertex 19.2935 -31.7496 -0.1 + vertex 19.2935 -31.7496 0 + endloop + endfacet + facet normal -0.999028 -0.0440878 0 + outer loop + vertex 19.3203 -32.3556 -0.1 + vertex 19.2935 -31.7496 0 + vertex 19.2935 -31.7496 -0.1 + endloop + endfacet + facet normal -0.999028 -0.0440878 0 + outer loop + vertex 19.2935 -31.7496 0 + vertex 19.3203 -32.3556 -0.1 + vertex 19.3203 -32.3556 0 + endloop + endfacet + facet normal -0.991457 -0.130433 0 + outer loop + vertex 19.3545 -32.6156 -0.1 + vertex 19.3203 -32.3556 0 + vertex 19.3203 -32.3556 -0.1 + endloop + endfacet + facet normal -0.991457 -0.130433 0 + outer loop + vertex 19.3203 -32.3556 0 + vertex 19.3545 -32.6156 -0.1 + vertex 19.3545 -32.6156 0 + endloop + endfacet + facet normal -0.977754 -0.209757 0 + outer loop + vertex 19.403 -32.8415 -0.1 + vertex 19.3545 -32.6156 0 + vertex 19.3545 -32.6156 -0.1 + endloop + endfacet + facet normal -0.977754 -0.209757 0 + outer loop + vertex 19.3545 -32.6156 0 + vertex 19.403 -32.8415 -0.1 + vertex 19.403 -32.8415 0 + endloop + endfacet + facet normal -0.948071 -0.31806 0 + outer loop + vertex 19.466 -33.0295 -0.1 + vertex 19.403 -32.8415 0 + vertex 19.403 -32.8415 -0.1 + endloop + endfacet + facet normal -0.948071 -0.31806 0 + outer loop + vertex 19.403 -32.8415 0 + vertex 19.466 -33.0295 -0.1 + vertex 19.466 -33.0295 0 + endloop + endfacet + facet normal -0.882102 -0.471058 0 + outer loop + vertex 19.5439 -33.1754 -0.1 + vertex 19.466 -33.0295 0 + vertex 19.466 -33.0295 -0.1 + endloop + endfacet + facet normal -0.882102 -0.471058 0 + outer loop + vertex 19.466 -33.0295 0 + vertex 19.5439 -33.1754 -0.1 + vertex 19.5439 -33.1754 0 + endloop + endfacet + facet normal -0.777019 -0.629477 0 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 19.5439 -33.1754 0 + vertex 19.5439 -33.1754 -0.1 + endloop + endfacet + facet normal -0.777019 -0.629477 0 + outer loop + vertex 19.5439 -33.1754 0 + vertex 19.7677 -33.4516 -0.1 + vertex 19.7677 -33.4516 0 + endloop + endfacet + facet normal -0.679559 -0.73362 0 + outer loop + vertex 19.7677 -33.4516 -0.1 + vertex 20.0345 -33.6987 0 + vertex 19.7677 -33.4516 0 + endloop + endfacet + facet normal -0.679559 -0.73362 -0 + outer loop + vertex 20.0345 -33.6987 0 + vertex 19.7677 -33.4516 -0.1 + vertex 20.0345 -33.6987 -0.1 + endloop + endfacet + facet normal -0.577724 -0.816232 0 + outer loop + vertex 20.0345 -33.6987 -0.1 + vertex 20.3392 -33.9144 0 + vertex 20.0345 -33.6987 0 + endloop + endfacet + facet normal -0.577724 -0.816232 -0 + outer loop + vertex 20.3392 -33.9144 0 + vertex 20.0345 -33.6987 -0.1 + vertex 20.3392 -33.9144 -0.1 + endloop + endfacet + facet normal -0.474279 -0.880374 0 + outer loop + vertex 20.3392 -33.9144 -0.1 + vertex 20.6768 -34.0963 0 + vertex 20.3392 -33.9144 0 + endloop + endfacet + facet normal -0.474279 -0.880374 -0 + outer loop + vertex 20.6768 -34.0963 0 + vertex 20.3392 -33.9144 -0.1 + vertex 20.6768 -34.0963 -0.1 + endloop + endfacet + facet normal -0.370342 -0.928896 0 + outer loop + vertex 20.6768 -34.0963 -0.1 + vertex 21.0421 -34.2419 0 + vertex 20.6768 -34.0963 0 + endloop + endfacet + facet normal -0.370342 -0.928896 -0 + outer loop + vertex 21.0421 -34.2419 0 + vertex 20.6768 -34.0963 -0.1 + vertex 21.0421 -34.2419 -0.1 + endloop + endfacet + facet normal -0.266037 -0.963963 0 + outer loop + vertex 21.0421 -34.2419 -0.1 + vertex 21.43 -34.349 0 + vertex 21.0421 -34.2419 0 + endloop + endfacet + facet normal -0.266037 -0.963963 -0 + outer loop + vertex 21.43 -34.349 0 + vertex 21.0421 -34.2419 -0.1 + vertex 21.43 -34.349 -0.1 + endloop + endfacet + facet normal -0.160906 -0.98697 0 + outer loop + vertex 21.43 -34.349 -0.1 + vertex 21.8355 -34.4151 0 + vertex 21.43 -34.349 0 + endloop + endfacet + facet normal -0.160906 -0.98697 -0 + outer loop + vertex 21.8355 -34.4151 0 + vertex 21.43 -34.349 -0.1 + vertex 21.8355 -34.4151 -0.1 + endloop + endfacet + facet normal -0.0544036 -0.998519 0 + outer loop + vertex 21.8355 -34.4151 -0.1 + vertex 22.2534 -34.4379 0 + vertex 21.8355 -34.4151 0 + endloop + endfacet + facet normal -0.0544036 -0.998519 -0 + outer loop + vertex 22.2534 -34.4379 0 + vertex 21.8355 -34.4151 -0.1 + vertex 22.2534 -34.4379 -0.1 + endloop + endfacet + facet normal 0.0273252 -0.999627 0 + outer loop + vertex 22.2534 -34.4379 -0.1 + vertex 22.5956 -34.4285 0 + vertex 22.2534 -34.4379 0 + endloop + endfacet + facet normal 0.0273252 -0.999627 0 + outer loop + vertex 22.5956 -34.4285 0 + vertex 22.2534 -34.4379 -0.1 + vertex 22.5956 -34.4285 -0.1 + endloop + endfacet + facet normal 0.0869987 -0.996208 0 + outer loop + vertex 22.5956 -34.4285 -0.1 + vertex 22.9315 -34.3992 0 + vertex 22.5956 -34.4285 0 + endloop + endfacet + facet normal 0.0869987 -0.996208 0 + outer loop + vertex 22.9315 -34.3992 0 + vertex 22.5956 -34.4285 -0.1 + vertex 22.9315 -34.3992 -0.1 + endloop + endfacet + facet normal 0.150489 -0.988612 0 + outer loop + vertex 22.9315 -34.3992 -0.1 + vertex 23.2634 -34.3487 0 + vertex 22.9315 -34.3992 0 + endloop + endfacet + facet normal 0.150489 -0.988612 0 + outer loop + vertex 23.2634 -34.3487 0 + vertex 22.9315 -34.3992 -0.1 + vertex 23.2634 -34.3487 -0.1 + endloop + endfacet + facet normal 0.215659 -0.976469 0 + outer loop + vertex 23.2634 -34.3487 -0.1 + vertex 23.5933 -34.2758 0 + vertex 23.2634 -34.3487 0 + endloop + endfacet + facet normal 0.215659 -0.976469 0 + outer loop + vertex 23.5933 -34.2758 0 + vertex 23.2634 -34.3487 -0.1 + vertex 23.5933 -34.2758 -0.1 + endloop + endfacet + facet normal 0.280239 -0.95993 0 + outer loop + vertex 23.5933 -34.2758 -0.1 + vertex 23.9237 -34.1793 0 + vertex 23.5933 -34.2758 0 + endloop + endfacet + facet normal 0.280239 -0.95993 0 + outer loop + vertex 23.9237 -34.1793 0 + vertex 23.5933 -34.2758 -0.1 + vertex 23.9237 -34.1793 -0.1 + endloop + endfacet + facet normal 0.342076 -0.939672 0 + outer loop + vertex 23.9237 -34.1793 -0.1 + vertex 24.2566 -34.0582 0 + vertex 23.9237 -34.1793 0 + endloop + endfacet + facet normal 0.342076 -0.939672 0 + outer loop + vertex 24.2566 -34.0582 0 + vertex 23.9237 -34.1793 -0.1 + vertex 24.2566 -34.0582 -0.1 + endloop + endfacet + facet normal 0.399452 -0.916754 0 + outer loop + vertex 24.2566 -34.0582 -0.1 + vertex 24.5942 -33.911 0 + vertex 24.2566 -34.0582 0 + endloop + endfacet + facet normal 0.399452 -0.916754 0 + outer loop + vertex 24.5942 -33.911 0 + vertex 24.2566 -34.0582 -0.1 + vertex 24.5942 -33.911 -0.1 + endloop + endfacet + facet normal 0.451238 -0.892404 0 + outer loop + vertex 24.5942 -33.911 -0.1 + vertex 24.9388 -33.7368 0 + vertex 24.5942 -33.911 0 + endloop + endfacet + facet normal 0.451238 -0.892404 0 + outer loop + vertex 24.9388 -33.7368 0 + vertex 24.5942 -33.911 -0.1 + vertex 24.9388 -33.7368 -0.1 + endloop + endfacet + facet normal 0.496895 -0.867811 0 + outer loop + vertex 24.9388 -33.7368 -0.1 + vertex 25.2926 -33.5342 0 + vertex 24.9388 -33.7368 0 + endloop + endfacet + facet normal 0.496895 -0.867811 0 + outer loop + vertex 25.2926 -33.5342 0 + vertex 24.9388 -33.7368 -0.1 + vertex 25.2926 -33.5342 -0.1 + endloop + endfacet + facet normal 0.536389 -0.843971 0 + outer loop + vertex 25.2926 -33.5342 -0.1 + vertex 25.6577 -33.3022 0 + vertex 25.2926 -33.5342 0 + endloop + endfacet + facet normal 0.536389 -0.843971 0 + outer loop + vertex 25.6577 -33.3022 0 + vertex 25.2926 -33.5342 -0.1 + vertex 25.6577 -33.3022 -0.1 + endloop + endfacet + facet normal 0.584792 -0.811183 0 + outer loop + vertex 25.6577 -33.3022 -0.1 + vertex 26.4309 -32.7448 0 + vertex 25.6577 -33.3022 0 + endloop + endfacet + facet normal 0.584792 -0.811183 0 + outer loop + vertex 26.4309 -32.7448 0 + vertex 25.6577 -33.3022 -0.1 + vertex 26.4309 -32.7448 -0.1 + endloop + endfacet + facet normal 0.632266 -0.774751 0 + outer loop + vertex 26.4309 -32.7448 -0.1 + vertex 27.276 -32.055 0 + vertex 26.4309 -32.7448 0 + endloop + endfacet + facet normal 0.632266 -0.774751 0 + outer loop + vertex 27.276 -32.055 0 + vertex 26.4309 -32.7448 -0.1 + vertex 27.276 -32.055 -0.1 + endloop + endfacet + facet normal 0.66466 -0.747146 0 + outer loop + vertex 27.276 -32.055 -0.1 + vertex 28.2108 -31.2235 0 + vertex 27.276 -32.055 0 + endloop + endfacet + facet normal 0.66466 -0.747146 0 + outer loop + vertex 28.2108 -31.2235 0 + vertex 27.276 -32.055 -0.1 + vertex 28.2108 -31.2235 -0.1 + endloop + endfacet + facet normal 0.662871 -0.748733 0 + outer loop + vertex 28.2108 -31.2235 -0.1 + vertex 28.5495 -30.9236 0 + vertex 28.2108 -31.2235 0 + endloop + endfacet + facet normal 0.662871 -0.748733 0 + outer loop + vertex 28.5495 -30.9236 0 + vertex 28.2108 -31.2235 -0.1 + vertex 28.5495 -30.9236 -0.1 + endloop + endfacet + facet normal 0.615947 -0.787787 0 + outer loop + vertex 28.5495 -30.9236 -0.1 + vertex 28.8369 -30.6989 0 + vertex 28.5495 -30.9236 0 + endloop + endfacet + facet normal 0.615947 -0.787787 0 + outer loop + vertex 28.8369 -30.6989 0 + vertex 28.5495 -30.9236 -0.1 + vertex 28.8369 -30.6989 -0.1 + endloop + endfacet + facet normal 0.524001 -0.851718 0 + outer loop + vertex 28.8369 -30.6989 -0.1 + vertex 29.0845 -30.5466 0 + vertex 28.8369 -30.6989 0 + endloop + endfacet + facet normal 0.524001 -0.851718 0 + outer loop + vertex 29.0845 -30.5466 0 + vertex 28.8369 -30.6989 -0.1 + vertex 29.0845 -30.5466 -0.1 + endloop + endfacet + facet normal 0.352437 -0.935836 0 + outer loop + vertex 29.0845 -30.5466 -0.1 + vertex 29.3033 -30.4642 0 + vertex 29.0845 -30.5466 0 + endloop + endfacet + facet normal 0.352437 -0.935836 0 + outer loop + vertex 29.3033 -30.4642 0 + vertex 29.0845 -30.5466 -0.1 + vertex 29.3033 -30.4642 -0.1 + endloop + endfacet + facet normal 0.0751321 -0.997174 0 + outer loop + vertex 29.3033 -30.4642 -0.1 + vertex 29.5048 -30.449 0 + vertex 29.3033 -30.4642 0 + endloop + endfacet + facet normal 0.0751321 -0.997174 0 + outer loop + vertex 29.5048 -30.449 0 + vertex 29.3033 -30.4642 -0.1 + vertex 29.5048 -30.449 -0.1 + endloop + endfacet + facet normal -0.245256 -0.969458 0 + outer loop + vertex 29.5048 -30.449 -0.1 + vertex 29.7002 -30.4984 0 + vertex 29.5048 -30.449 0 + endloop + endfacet + facet normal -0.245256 -0.969458 -0 + outer loop + vertex 29.7002 -30.4984 0 + vertex 29.5048 -30.449 -0.1 + vertex 29.7002 -30.4984 -0.1 + endloop + endfacet + facet normal -0.485575 -0.874195 0 + outer loop + vertex 29.7002 -30.4984 -0.1 + vertex 29.9008 -30.6099 0 + vertex 29.7002 -30.4984 0 + endloop + endfacet + facet normal -0.485575 -0.874195 -0 + outer loop + vertex 29.9008 -30.6099 0 + vertex 29.7002 -30.4984 -0.1 + vertex 29.9008 -30.6099 -0.1 + endloop + endfacet + facet normal -0.618314 -0.785931 0 + outer loop + vertex 29.9008 -30.6099 -0.1 + vertex 30.1179 -30.7807 0 + vertex 29.9008 -30.6099 0 + endloop + endfacet + facet normal -0.618314 -0.785931 -0 + outer loop + vertex 30.1179 -30.7807 0 + vertex 29.9008 -30.6099 -0.1 + vertex 30.1179 -30.7807 -0.1 + endloop + endfacet + facet normal -0.761006 -0.648745 0 + outer loop + vertex 30.1812 -30.855 -0.1 + vertex 30.1179 -30.7807 0 + vertex 30.1179 -30.7807 -0.1 + endloop + endfacet + facet normal -0.761006 -0.648745 0 + outer loop + vertex 30.1179 -30.7807 0 + vertex 30.1812 -30.855 -0.1 + vertex 30.1812 -30.855 0 + endloop + endfacet + facet normal -0.923965 -0.382477 0 + outer loop + vertex 30.2187 -30.9454 -0.1 + vertex 30.1812 -30.855 0 + vertex 30.1812 -30.855 -0.1 + endloop + endfacet + facet normal -0.923965 -0.382477 0 + outer loop + vertex 30.1812 -30.855 0 + vertex 30.2187 -30.9454 -0.1 + vertex 30.2187 -30.9454 0 + endloop + endfacet + facet normal -0.994533 -0.104423 0 + outer loop + vertex 30.2299 -31.0524 -0.1 + vertex 30.2187 -30.9454 0 + vertex 30.2187 -30.9454 -0.1 + endloop + endfacet + facet normal -0.994533 -0.104423 0 + outer loop + vertex 30.2187 -30.9454 0 + vertex 30.2299 -31.0524 -0.1 + vertex 30.2299 -31.0524 0 + endloop + endfacet + facet normal -0.992515 0.122124 0 + outer loop + vertex 30.2146 -31.1764 -0.1 + vertex 30.2299 -31.0524 0 + vertex 30.2299 -31.0524 -0.1 + endloop + endfacet + facet normal -0.992515 0.122124 0 + outer loop + vertex 30.2299 -31.0524 0 + vertex 30.2146 -31.1764 -0.1 + vertex 30.2146 -31.1764 0 + endloop + endfacet + facet normal -0.95856 0.284892 0 + outer loop + vertex 30.1726 -31.3179 -0.1 + vertex 30.2146 -31.1764 0 + vertex 30.2146 -31.1764 -0.1 + endloop + endfacet + facet normal -0.95856 0.284892 0 + outer loop + vertex 30.2146 -31.1764 0 + vertex 30.1726 -31.3179 -0.1 + vertex 30.1726 -31.3179 0 + endloop + endfacet + facet normal -0.917421 0.397919 0 + outer loop + vertex 30.1034 -31.4773 -0.1 + vertex 30.1726 -31.3179 0 + vertex 30.1726 -31.3179 -0.1 + endloop + endfacet + facet normal -0.917421 0.397919 0 + outer loop + vertex 30.1726 -31.3179 0 + vertex 30.1034 -31.4773 -0.1 + vertex 30.1034 -31.4773 0 + endloop + endfacet + facet normal -0.861393 0.50794 0 + outer loop + vertex 29.8827 -31.8517 -0.1 + vertex 30.1034 -31.4773 0 + vertex 30.1034 -31.4773 -0.1 + endloop + endfacet + facet normal -0.861393 0.50794 0 + outer loop + vertex 30.1034 -31.4773 0 + vertex 29.8827 -31.8517 -0.1 + vertex 29.8827 -31.8517 0 + endloop + endfacet + facet normal -0.804973 0.593311 0 + outer loop + vertex 29.5499 -32.3032 -0.1 + vertex 29.8827 -31.8517 0 + vertex 29.8827 -31.8517 -0.1 + endloop + endfacet + facet normal -0.804973 0.593311 0 + outer loop + vertex 29.8827 -31.8517 0 + vertex 29.5499 -32.3032 -0.1 + vertex 29.5499 -32.3032 0 + endloop + endfacet + facet normal -0.76559 0.643329 0 + outer loop + vertex 29.1028 -32.8352 -0.1 + vertex 29.5499 -32.3032 0 + vertex 29.5499 -32.3032 -0.1 + endloop + endfacet + facet normal -0.76559 0.643329 0 + outer loop + vertex 29.5499 -32.3032 0 + vertex 29.1028 -32.8352 -0.1 + vertex 29.1028 -32.8352 0 + endloop + endfacet + facet normal -0.73778 0.675042 0 + outer loop + vertex 28.539 -33.4515 -0.1 + vertex 29.1028 -32.8352 0 + vertex 29.1028 -32.8352 -0.1 + endloop + endfacet + facet normal -0.73778 0.675042 0 + outer loop + vertex 29.1028 -32.8352 0 + vertex 28.539 -33.4515 -0.1 + vertex 28.539 -33.4515 0 + endloop + endfacet + facet normal -0.717743 0.696309 0 + outer loop + vertex 27.856 -34.1555 -0.1 + vertex 28.539 -33.4515 0 + vertex 28.539 -33.4515 -0.1 + endloop + endfacet + facet normal -0.717743 0.696309 0 + outer loop + vertex 28.539 -33.4515 0 + vertex 27.856 -34.1555 -0.1 + vertex 27.856 -34.1555 0 + endloop + endfacet + facet normal -0.702585 0.7116 0 + outer loop + vertex 27.856 -34.1555 -0.1 + vertex 27.3514 -34.6537 0 + vertex 27.856 -34.1555 0 + endloop + endfacet + facet normal -0.702585 0.7116 0 + outer loop + vertex 27.3514 -34.6537 0 + vertex 27.856 -34.1555 -0.1 + vertex 27.3514 -34.6537 -0.1 + endloop + endfacet + facet normal -0.683825 0.729646 0 + outer loop + vertex 27.3514 -34.6537 -0.1 + vertex 26.8832 -35.0925 0 + vertex 27.3514 -34.6537 0 + endloop + endfacet + facet normal -0.683825 0.729646 0 + outer loop + vertex 26.8832 -35.0925 0 + vertex 27.3514 -34.6537 -0.1 + vertex 26.8832 -35.0925 -0.1 + endloop + endfacet + facet normal -0.65863 0.752467 0 + outer loop + vertex 26.8832 -35.0925 -0.1 + vertex 26.4377 -35.4824 0 + vertex 26.8832 -35.0925 0 + endloop + endfacet + facet normal -0.65863 0.752467 0 + outer loop + vertex 26.4377 -35.4824 0 + vertex 26.8832 -35.0925 -0.1 + vertex 26.4377 -35.4824 -0.1 + endloop + endfacet + facet normal -0.627338 0.778747 0 + outer loop + vertex 26.4377 -35.4824 -0.1 + vertex 26.0012 -35.834 0 + vertex 26.4377 -35.4824 0 + endloop + endfacet + facet normal -0.627338 0.778747 0 + outer loop + vertex 26.0012 -35.834 0 + vertex 26.4377 -35.4824 -0.1 + vertex 26.0012 -35.834 -0.1 + endloop + endfacet + facet normal -0.591741 0.806128 0 + outer loop + vertex 26.0012 -35.834 -0.1 + vertex 25.5601 -36.1579 0 + vertex 26.0012 -35.834 0 + endloop + endfacet + facet normal -0.591741 0.806128 0 + outer loop + vertex 25.5601 -36.1579 0 + vertex 26.0012 -35.834 -0.1 + vertex 25.5601 -36.1579 -0.1 + endloop + endfacet + facet normal -0.554992 0.831856 0 + outer loop + vertex 25.5601 -36.1579 -0.1 + vertex 25.1006 -36.4644 0 + vertex 25.5601 -36.1579 0 + endloop + endfacet + facet normal -0.554992 0.831856 0 + outer loop + vertex 25.1006 -36.4644 0 + vertex 25.5601 -36.1579 -0.1 + vertex 25.1006 -36.4644 -0.1 + endloop + endfacet + facet normal -0.520754 0.853707 0 + outer loop + vertex 25.1006 -36.4644 -0.1 + vertex 24.6091 -36.7642 0 + vertex 25.1006 -36.4644 0 + endloop + endfacet + facet normal -0.520754 0.853707 0 + outer loop + vertex 24.6091 -36.7642 0 + vertex 25.1006 -36.4644 -0.1 + vertex 24.6091 -36.7642 -0.1 + endloop + endfacet + facet normal -0.492012 0.870588 0 + outer loop + vertex 24.6091 -36.7642 -0.1 + vertex 24.0719 -37.0678 0 + vertex 24.6091 -36.7642 0 + endloop + endfacet + facet normal -0.492012 0.870588 0 + outer loop + vertex 24.0719 -37.0678 0 + vertex 24.6091 -36.7642 -0.1 + vertex 24.0719 -37.0678 -0.1 + endloop + endfacet + facet normal -0.469837 0.882753 0 + outer loop + vertex 24.0719 -37.0678 -0.1 + vertex 23.2902 -37.4839 0 + vertex 24.0719 -37.0678 0 + endloop + endfacet + facet normal -0.469837 0.882753 0 + outer loop + vertex 23.2902 -37.4839 0 + vertex 24.0719 -37.0678 -0.1 + vertex 23.2902 -37.4839 -0.1 + endloop + endfacet + facet normal -0.440052 0.897972 0 + outer loop + vertex 23.2902 -37.4839 -0.1 + vertex 22.6041 -37.8201 0 + vertex 23.2902 -37.4839 0 + endloop + endfacet + facet normal -0.440052 0.897972 0 + outer loop + vertex 22.6041 -37.8201 0 + vertex 23.2902 -37.4839 -0.1 + vertex 22.6041 -37.8201 -0.1 + endloop + endfacet + facet normal -0.394271 0.918994 0 + outer loop + vertex 22.6041 -37.8201 -0.1 + vertex 21.9889 -38.084 0 + vertex 22.6041 -37.8201 0 + endloop + endfacet + facet normal -0.394271 0.918994 0 + outer loop + vertex 21.9889 -38.084 0 + vertex 22.6041 -37.8201 -0.1 + vertex 21.9889 -38.084 -0.1 + endloop + endfacet + facet normal -0.330435 0.943829 0 + outer loop + vertex 21.9889 -38.084 -0.1 + vertex 21.4197 -38.2833 0 + vertex 21.9889 -38.084 0 + endloop + endfacet + facet normal -0.330435 0.943829 0 + outer loop + vertex 21.4197 -38.2833 0 + vertex 21.9889 -38.084 -0.1 + vertex 21.4197 -38.2833 -0.1 + endloop + endfacet + facet normal -0.251155 0.967947 0 + outer loop + vertex 21.4197 -38.2833 -0.1 + vertex 20.8717 -38.4255 0 + vertex 21.4197 -38.2833 0 + endloop + endfacet + facet normal -0.251155 0.967947 0 + outer loop + vertex 20.8717 -38.4255 0 + vertex 21.4197 -38.2833 -0.1 + vertex 20.8717 -38.4255 -0.1 + endloop + endfacet + facet normal -0.165695 0.986177 0 + outer loop + vertex 20.8717 -38.4255 -0.1 + vertex 20.3202 -38.5182 0 + vertex 20.8717 -38.4255 0 + endloop + endfacet + facet normal -0.165695 0.986177 0 + outer loop + vertex 20.3202 -38.5182 0 + vertex 20.8717 -38.4255 -0.1 + vertex 20.3202 -38.5182 -0.1 + endloop + endfacet + facet normal -0.0871415 0.996196 0 + outer loop + vertex 20.3202 -38.5182 -0.1 + vertex 19.7403 -38.5689 0 + vertex 20.3202 -38.5182 0 + endloop + endfacet + facet normal -0.0871415 0.996196 0 + outer loop + vertex 19.7403 -38.5689 0 + vertex 20.3202 -38.5182 -0.1 + vertex 19.7403 -38.5689 -0.1 + endloop + endfacet + facet normal -0.0258263 0.999666 0 + outer loop + vertex 19.7403 -38.5689 -0.1 + vertex 19.1073 -38.5852 0 + vertex 19.7403 -38.5689 0 + endloop + endfacet + facet normal -0.0258263 0.999666 0 + outer loop + vertex 19.1073 -38.5852 0 + vertex 19.7403 -38.5689 -0.1 + vertex 19.1073 -38.5852 -0.1 + endloop + endfacet + facet normal 0.0407265 0.99917 -0 + outer loop + vertex 19.1073 -38.5852 -0.1 + vertex 18.4669 -38.5591 0 + vertex 19.1073 -38.5852 0 + endloop + endfacet + facet normal 0.0407265 0.99917 0 + outer loop + vertex 18.4669 -38.5591 0 + vertex 19.1073 -38.5852 -0.1 + vertex 18.4669 -38.5591 -0.1 + endloop + endfacet + facet normal 0.12356 0.992337 -0 + outer loop + vertex 18.4669 -38.5591 -0.1 + vertex 18.1792 -38.5233 0 + vertex 18.4669 -38.5591 0 + endloop + endfacet + facet normal 0.12356 0.992337 0 + outer loop + vertex 18.1792 -38.5233 0 + vertex 18.4669 -38.5591 -0.1 + vertex 18.1792 -38.5233 -0.1 + endloop + endfacet + facet normal 0.189246 0.98193 -0 + outer loop + vertex 18.1792 -38.5233 -0.1 + vertex 17.9062 -38.4707 0 + vertex 18.1792 -38.5233 0 + endloop + endfacet + facet normal 0.189246 0.98193 0 + outer loop + vertex 17.9062 -38.4707 0 + vertex 18.1792 -38.5233 -0.1 + vertex 17.9062 -38.4707 -0.1 + endloop + endfacet + facet normal 0.258743 0.965946 -0 + outer loop + vertex 17.9062 -38.4707 -0.1 + vertex 17.6424 -38.4 0 + vertex 17.9062 -38.4707 0 + endloop + endfacet + facet normal 0.258743 0.965946 0 + outer loop + vertex 17.6424 -38.4 0 + vertex 17.9062 -38.4707 -0.1 + vertex 17.6424 -38.4 -0.1 + endloop + endfacet + facet normal 0.326993 0.945027 -0 + outer loop + vertex 17.6424 -38.4 -0.1 + vertex 17.3825 -38.3101 0 + vertex 17.6424 -38.4 0 + endloop + endfacet + facet normal 0.326993 0.945027 0 + outer loop + vertex 17.3825 -38.3101 0 + vertex 17.6424 -38.4 -0.1 + vertex 17.3825 -38.3101 -0.1 + endloop + endfacet + facet normal 0.389172 0.921165 -0 + outer loop + vertex 17.3825 -38.3101 -0.1 + vertex 17.1211 -38.1997 0 + vertex 17.3825 -38.3101 0 + endloop + endfacet + facet normal 0.389172 0.921165 0 + outer loop + vertex 17.1211 -38.1997 0 + vertex 17.3825 -38.3101 -0.1 + vertex 17.1211 -38.1997 -0.1 + endloop + endfacet + facet normal 0.442006 0.897012 -0 + outer loop + vertex 17.1211 -38.1997 -0.1 + vertex 16.8529 -38.0675 0 + vertex 17.1211 -38.1997 0 + endloop + endfacet + facet normal 0.442006 0.897012 0 + outer loop + vertex 16.8529 -38.0675 0 + vertex 17.1211 -38.1997 -0.1 + vertex 16.8529 -38.0675 -0.1 + endloop + endfacet + facet normal 0.508496 0.861064 -0 + outer loop + vertex 16.8529 -38.0675 -0.1 + vertex 16.342 -37.7658 0 + vertex 16.8529 -38.0675 0 + endloop + endfacet + facet normal 0.508496 0.861064 0 + outer loop + vertex 16.342 -37.7658 0 + vertex 16.8529 -38.0675 -0.1 + vertex 16.342 -37.7658 -0.1 + endloop + endfacet + facet normal 0.581032 0.813881 -0 + outer loop + vertex 16.342 -37.7658 -0.1 + vertex 16.1153 -37.6039 0 + vertex 16.342 -37.7658 0 + endloop + endfacet + facet normal 0.581032 0.813881 0 + outer loop + vertex 16.1153 -37.6039 0 + vertex 16.342 -37.7658 -0.1 + vertex 16.1153 -37.6039 -0.1 + endloop + endfacet + facet normal 0.632987 0.774162 -0 + outer loop + vertex 16.1153 -37.6039 -0.1 + vertex 15.907 -37.4336 0 + vertex 16.1153 -37.6039 0 + endloop + endfacet + facet normal 0.632987 0.774162 0 + outer loop + vertex 15.907 -37.4336 0 + vertex 16.1153 -37.6039 -0.1 + vertex 15.907 -37.4336 -0.1 + endloop + endfacet + facet normal 0.68624 0.727375 -0 + outer loop + vertex 15.907 -37.4336 -0.1 + vertex 15.7167 -37.2541 0 + vertex 15.907 -37.4336 0 + endloop + endfacet + facet normal 0.68624 0.727375 0 + outer loop + vertex 15.7167 -37.2541 0 + vertex 15.907 -37.4336 -0.1 + vertex 15.7167 -37.2541 -0.1 + endloop + endfacet + facet normal 0.739053 0.673647 0 + outer loop + vertex 15.7167 -37.2541 0 + vertex 15.544 -37.0647 -0.1 + vertex 15.544 -37.0647 0 + endloop + endfacet + facet normal 0.739053 0.673647 0 + outer loop + vertex 15.544 -37.0647 -0.1 + vertex 15.7167 -37.2541 0 + vertex 15.7167 -37.2541 -0.1 + endloop + endfacet + facet normal 0.789576 0.613652 0 + outer loop + vertex 15.544 -37.0647 0 + vertex 15.3884 -36.8644 -0.1 + vertex 15.3884 -36.8644 0 + endloop + endfacet + facet normal 0.789576 0.613652 0 + outer loop + vertex 15.3884 -36.8644 -0.1 + vertex 15.544 -37.0647 0 + vertex 15.544 -37.0647 -0.1 + endloop + endfacet + facet normal 0.835985 0.548752 0 + outer loop + vertex 15.3884 -36.8644 0 + vertex 15.2493 -36.6526 -0.1 + vertex 15.2493 -36.6526 0 + endloop + endfacet + facet normal 0.835985 0.548752 0 + outer loop + vertex 15.2493 -36.6526 -0.1 + vertex 15.3884 -36.8644 0 + vertex 15.3884 -36.8644 -0.1 + endloop + endfacet + facet normal 0.876837 0.480788 0 + outer loop + vertex 15.2493 -36.6526 0 + vertex 15.1264 -36.4284 -0.1 + vertex 15.1264 -36.4284 0 + endloop + endfacet + facet normal 0.876837 0.480788 0 + outer loop + vertex 15.1264 -36.4284 -0.1 + vertex 15.2493 -36.6526 0 + vertex 15.2493 -36.6526 -0.1 + endloop + endfacet + facet normal 0.911228 0.411902 0 + outer loop + vertex 15.1264 -36.4284 0 + vertex 15.0191 -36.1911 -0.1 + vertex 15.0191 -36.1911 0 + endloop + endfacet + facet normal 0.911228 0.411902 0 + outer loop + vertex 15.0191 -36.1911 -0.1 + vertex 15.1264 -36.4284 0 + vertex 15.1264 -36.4284 -0.1 + endloop + endfacet + facet normal 0.938903 0.344183 0 + outer loop + vertex 15.0191 -36.1911 0 + vertex 14.927 -35.9398 -0.1 + vertex 14.927 -35.9398 0 + endloop + endfacet + facet normal 0.938903 0.344183 0 + outer loop + vertex 14.927 -35.9398 -0.1 + vertex 15.0191 -36.1911 0 + vertex 15.0191 -36.1911 -0.1 + endloop + endfacet + facet normal 0.960161 0.279447 0 + outer loop + vertex 14.927 -35.9398 0 + vertex 14.8496 -35.6738 -0.1 + vertex 14.8496 -35.6738 0 + endloop + endfacet + facet normal 0.960161 0.279447 0 + outer loop + vertex 14.8496 -35.6738 -0.1 + vertex 14.927 -35.9398 0 + vertex 14.927 -35.9398 -0.1 + endloop + endfacet + facet normal 0.981615 0.190873 0 + outer loop + vertex 14.8496 -35.6738 0 + vertex 14.7369 -35.0944 -0.1 + vertex 14.7369 -35.0944 0 + endloop + endfacet + facet normal 0.981615 0.190873 0 + outer loop + vertex 14.7369 -35.0944 -0.1 + vertex 14.8496 -35.6738 0 + vertex 14.8496 -35.6738 -0.1 + endloop + endfacet + facet normal 0.995797 0.0915901 0 + outer loop + vertex 14.7369 -35.0944 0 + vertex 14.6774 -34.4466 -0.1 + vertex 14.6774 -34.4466 0 + endloop + endfacet + facet normal 0.995797 0.0915901 0 + outer loop + vertex 14.6774 -34.4466 -0.1 + vertex 14.7369 -35.0944 0 + vertex 14.7369 -35.0944 -0.1 + endloop + endfacet + facet normal 0.999758 0.0220201 0 + outer loop + vertex 14.6774 -34.4466 0 + vertex 14.6656 -33.913 -0.1 + vertex 14.6656 -33.913 0 + endloop + endfacet + facet normal 0.999758 0.0220201 0 + outer loop + vertex 14.6656 -33.913 -0.1 + vertex 14.6774 -34.4466 0 + vertex 14.6774 -34.4466 -0.1 + endloop + endfacet + facet normal 0.999472 -0.03249 0 + outer loop + vertex 14.6656 -33.913 0 + vertex 14.6832 -33.3707 -0.1 + vertex 14.6832 -33.3707 0 + endloop + endfacet + facet normal 0.999472 -0.03249 0 + outer loop + vertex 14.6832 -33.3707 -0.1 + vertex 14.6656 -33.913 0 + vertex 14.6656 -33.913 -0.1 + endloop + endfacet + facet normal 0.996411 -0.0846524 0 + outer loop + vertex 14.6832 -33.3707 0 + vertex 14.73 -32.8205 -0.1 + vertex 14.73 -32.8205 0 + endloop + endfacet + facet normal 0.996411 -0.0846524 0 + outer loop + vertex 14.73 -32.8205 -0.1 + vertex 14.6832 -33.3707 0 + vertex 14.6832 -33.3707 -0.1 + endloop + endfacet + facet normal 0.990928 -0.134393 0 + outer loop + vertex 14.73 -32.8205 0 + vertex 14.8056 -32.2631 -0.1 + vertex 14.8056 -32.2631 0 + endloop + endfacet + facet normal 0.990928 -0.134393 0 + outer loop + vertex 14.8056 -32.2631 -0.1 + vertex 14.73 -32.8205 0 + vertex 14.73 -32.8205 -0.1 + endloop + endfacet + facet normal 0.983352 -0.181712 0 + outer loop + vertex 14.8056 -32.2631 0 + vertex 14.9098 -31.6993 -0.1 + vertex 14.9098 -31.6993 0 + endloop + endfacet + facet normal 0.983352 -0.181712 0 + outer loop + vertex 14.9098 -31.6993 -0.1 + vertex 14.8056 -32.2631 0 + vertex 14.8056 -32.2631 -0.1 + endloop + endfacet + facet normal 0.973979 -0.226639 0 + outer loop + vertex 14.9098 -31.6993 0 + vertex 15.0423 -31.1299 -0.1 + vertex 15.0423 -31.1299 0 + endloop + endfacet + facet normal 0.973979 -0.226639 0 + outer loop + vertex 15.0423 -31.1299 -0.1 + vertex 14.9098 -31.6993 0 + vertex 14.9098 -31.6993 -0.1 + endloop + endfacet + facet normal 0.963072 -0.269246 0 + outer loop + vertex 15.0423 -31.1299 0 + vertex 15.2028 -30.5555 -0.1 + vertex 15.2028 -30.5555 0 + endloop + endfacet + facet normal 0.963072 -0.269246 0 + outer loop + vertex 15.2028 -30.5555 -0.1 + vertex 15.0423 -31.1299 0 + vertex 15.0423 -31.1299 -0.1 + endloop + endfacet + facet normal 0.950861 -0.309619 0 + outer loop + vertex 15.2028 -30.5555 0 + vertex 15.3912 -29.9771 -0.1 + vertex 15.3912 -29.9771 0 + endloop + endfacet + facet normal 0.950861 -0.309619 0 + outer loop + vertex 15.3912 -29.9771 -0.1 + vertex 15.2028 -30.5555 0 + vertex 15.2028 -30.5555 -0.1 + endloop + endfacet + facet normal 0.93754 -0.347877 0 + outer loop + vertex 15.3912 -29.9771 0 + vertex 15.6071 -29.3953 -0.1 + vertex 15.6071 -29.3953 0 + endloop + endfacet + facet normal 0.93754 -0.347877 0 + outer loop + vertex 15.6071 -29.3953 -0.1 + vertex 15.3912 -29.9771 0 + vertex 15.3912 -29.9771 -0.1 + endloop + endfacet + facet normal 0.92328 -0.384128 0 + outer loop + vertex 15.6071 -29.3953 0 + vertex 15.8502 -28.8109 -0.1 + vertex 15.8502 -28.8109 0 + endloop + endfacet + facet normal 0.92328 -0.384128 0 + outer loop + vertex 15.8502 -28.8109 -0.1 + vertex 15.6071 -29.3953 0 + vertex 15.6071 -29.3953 -0.1 + endloop + endfacet + facet normal 0.908217 -0.418499 0 + outer loop + vertex 15.8502 -28.8109 0 + vertex 16.1203 -28.2246 -0.1 + vertex 16.1203 -28.2246 0 + endloop + endfacet + facet normal 0.908217 -0.418499 0 + outer loop + vertex 16.1203 -28.2246 -0.1 + vertex 15.8502 -28.8109 0 + vertex 15.8502 -28.8109 -0.1 + endloop + endfacet + facet normal 0.892471 -0.451106 0 + outer loop + vertex 16.1203 -28.2246 0 + vertex 16.4172 -27.6373 -0.1 + vertex 16.4172 -27.6373 0 + endloop + endfacet + facet normal 0.892471 -0.451106 0 + outer loop + vertex 16.4172 -27.6373 -0.1 + vertex 16.1203 -28.2246 0 + vertex 16.1203 -28.2246 -0.1 + endloop + endfacet + facet normal 0.876136 -0.482063 0 + outer loop + vertex 16.4172 -27.6373 0 + vertex 16.7406 -27.0496 -0.1 + vertex 16.7406 -27.0496 0 + endloop + endfacet + facet normal 0.876136 -0.482063 0 + outer loop + vertex 16.7406 -27.0496 -0.1 + vertex 16.4172 -27.6373 0 + vertex 16.4172 -27.6373 -0.1 + endloop + endfacet + facet normal 0.85929 -0.511489 0 + outer loop + vertex 16.7406 -27.0496 0 + vertex 17.0901 -26.4624 -0.1 + vertex 17.0901 -26.4624 0 + endloop + endfacet + facet normal 0.85929 -0.511489 0 + outer loop + vertex 17.0901 -26.4624 -0.1 + vertex 16.7406 -27.0496 0 + vertex 16.7406 -27.0496 -0.1 + endloop + endfacet + facet normal 0.841993 -0.539488 0 + outer loop + vertex 17.0901 -26.4624 0 + vertex 17.4656 -25.8764 -0.1 + vertex 17.4656 -25.8764 0 + endloop + endfacet + facet normal 0.841993 -0.539488 0 + outer loop + vertex 17.4656 -25.8764 -0.1 + vertex 17.0901 -26.4624 0 + vertex 17.0901 -26.4624 -0.1 + endloop + endfacet + facet normal 0.8243 -0.566153 0 + outer loop + vertex 17.4656 -25.8764 0 + vertex 17.8667 -25.2923 -0.1 + vertex 17.8667 -25.2923 0 + endloop + endfacet + facet normal 0.8243 -0.566153 0 + outer loop + vertex 17.8667 -25.2923 -0.1 + vertex 17.4656 -25.8764 0 + vertex 17.4656 -25.8764 -0.1 + endloop + endfacet + facet normal 0.801921 -0.59743 0 + outer loop + vertex 17.8667 -25.2923 0 + vertex 18.4501 -24.5093 -0.1 + vertex 18.4501 -24.5093 0 + endloop + endfacet + facet normal 0.801921 -0.59743 0 + outer loop + vertex 18.4501 -24.5093 -0.1 + vertex 17.8667 -25.2923 0 + vertex 17.8667 -25.2923 -0.1 + endloop + endfacet + facet normal 0.772213 -0.635364 0 + outer loop + vertex 18.4501 -24.5093 0 + vertex 19.0503 -23.7798 -0.1 + vertex 19.0503 -23.7798 0 + endloop + endfacet + facet normal 0.772213 -0.635364 0 + outer loop + vertex 19.0503 -23.7798 -0.1 + vertex 18.4501 -24.5093 0 + vertex 18.4501 -24.5093 -0.1 + endloop + endfacet + facet normal 0.738434 -0.674325 0 + outer loop + vertex 19.0503 -23.7798 0 + vertex 19.6689 -23.1024 -0.1 + vertex 19.6689 -23.1024 0 + endloop + endfacet + facet normal 0.738434 -0.674325 0 + outer loop + vertex 19.6689 -23.1024 -0.1 + vertex 19.0503 -23.7798 0 + vertex 19.0503 -23.7798 -0.1 + endloop + endfacet + facet normal 0.700496 -0.713656 0 + outer loop + vertex 19.6689 -23.1024 -0.1 + vertex 20.3071 -22.4759 0 + vertex 19.6689 -23.1024 0 + endloop + endfacet + facet normal 0.700496 -0.713656 0 + outer loop + vertex 20.3071 -22.4759 0 + vertex 19.6689 -23.1024 -0.1 + vertex 20.3071 -22.4759 -0.1 + endloop + endfacet + facet normal 0.658485 -0.752594 0 + outer loop + vertex 20.3071 -22.4759 -0.1 + vertex 20.9665 -21.899 0 + vertex 20.3071 -22.4759 0 + endloop + endfacet + facet normal 0.658485 -0.752594 0 + outer loop + vertex 20.9665 -21.899 0 + vertex 20.3071 -22.4759 -0.1 + vertex 20.9665 -21.899 -0.1 + endloop + endfacet + facet normal 0.612713 -0.790306 0 + outer loop + vertex 20.9665 -21.899 -0.1 + vertex 21.6485 -21.3703 0 + vertex 20.9665 -21.899 0 + endloop + endfacet + facet normal 0.612713 -0.790306 0 + outer loop + vertex 21.6485 -21.3703 0 + vertex 20.9665 -21.899 -0.1 + vertex 21.6485 -21.3703 -0.1 + endloop + endfacet + facet normal 0.563707 -0.825975 0 + outer loop + vertex 21.6485 -21.3703 -0.1 + vertex 22.3543 -20.8886 0 + vertex 21.6485 -21.3703 0 + endloop + endfacet + facet normal 0.563707 -0.825975 0 + outer loop + vertex 22.3543 -20.8886 0 + vertex 21.6485 -21.3703 -0.1 + vertex 22.3543 -20.8886 -0.1 + endloop + endfacet + facet normal 0.512208 -0.858861 0 + outer loop + vertex 22.3543 -20.8886 -0.1 + vertex 23.0854 -20.4525 0 + vertex 22.3543 -20.8886 0 + endloop + endfacet + facet normal 0.512208 -0.858861 0 + outer loop + vertex 23.0854 -20.4525 0 + vertex 22.3543 -20.8886 -0.1 + vertex 23.0854 -20.4525 -0.1 + endloop + endfacet + facet normal 0.471781 -0.881716 0 + outer loop + vertex 23.0854 -20.4525 -0.1 + vertex 23.7493 -20.0973 0 + vertex 23.0854 -20.4525 0 + endloop + endfacet + facet normal 0.471781 -0.881716 0 + outer loop + vertex 23.7493 -20.0973 0 + vertex 23.0854 -20.4525 -0.1 + vertex 23.7493 -20.0973 -0.1 + endloop + endfacet + facet normal 0.433016 -0.901386 0 + outer loop + vertex 23.7493 -20.0973 -0.1 + vertex 24.3497 -19.8089 0 + vertex 23.7493 -20.0973 0 + endloop + endfacet + facet normal 0.433016 -0.901386 0 + outer loop + vertex 24.3497 -19.8089 0 + vertex 23.7493 -20.0973 -0.1 + vertex 24.3497 -19.8089 -0.1 + endloop + endfacet + facet normal 0.377334 -0.926077 0 + outer loop + vertex 24.3497 -19.8089 -0.1 + vertex 24.9086 -19.5812 0 + vertex 24.3497 -19.8089 0 + endloop + endfacet + facet normal 0.377334 -0.926077 0 + outer loop + vertex 24.9086 -19.5812 0 + vertex 24.3497 -19.8089 -0.1 + vertex 24.9086 -19.5812 -0.1 + endloop + endfacet + facet normal 0.305529 -0.952183 0 + outer loop + vertex 24.9086 -19.5812 -0.1 + vertex 25.4477 -19.4082 0 + vertex 24.9086 -19.5812 0 + endloop + endfacet + facet normal 0.305529 -0.952183 0 + outer loop + vertex 25.4477 -19.4082 0 + vertex 24.9086 -19.5812 -0.1 + vertex 25.4477 -19.4082 -0.1 + endloop + endfacet + facet normal 0.223751 -0.974646 0 + outer loop + vertex 25.4477 -19.4082 -0.1 + vertex 25.9886 -19.284 0 + vertex 25.4477 -19.4082 0 + endloop + endfacet + facet normal 0.223751 -0.974646 0 + outer loop + vertex 25.9886 -19.284 0 + vertex 25.4477 -19.4082 -0.1 + vertex 25.9886 -19.284 -0.1 + endloop + endfacet + facet normal 0.142672 -0.98977 0 + outer loop + vertex 25.9886 -19.284 -0.1 + vertex 26.5531 -19.2026 0 + vertex 25.9886 -19.284 0 + endloop + endfacet + facet normal 0.142672 -0.98977 0 + outer loop + vertex 26.5531 -19.2026 0 + vertex 25.9886 -19.284 -0.1 + vertex 26.5531 -19.2026 -0.1 + endloop + endfacet + facet normal 0.072849 -0.997343 0 + outer loop + vertex 26.5531 -19.2026 -0.1 + vertex 27.1629 -19.1581 0 + vertex 26.5531 -19.2026 0 + endloop + endfacet + facet normal 0.072849 -0.997343 0 + outer loop + vertex 27.1629 -19.1581 0 + vertex 26.5531 -19.2026 -0.1 + vertex 27.1629 -19.1581 -0.1 + endloop + endfacet + facet normal 0.0202302 -0.999795 0 + outer loop + vertex 27.1629 -19.1581 -0.1 + vertex 27.8398 -19.1444 0 + vertex 27.1629 -19.1581 0 + endloop + endfacet + facet normal 0.0202302 -0.999795 0 + outer loop + vertex 27.8398 -19.1444 0 + vertex 27.1629 -19.1581 -0.1 + vertex 27.8398 -19.1444 -0.1 + endloop + endfacet + facet normal -0.0344796 -0.999405 0 + outer loop + vertex 27.8398 -19.1444 -0.1 + vertex 28.4483 -19.1654 0 + vertex 27.8398 -19.1444 0 + endloop + endfacet + facet normal -0.0344796 -0.999405 -0 + outer loop + vertex 28.4483 -19.1654 0 + vertex 27.8398 -19.1444 -0.1 + vertex 28.4483 -19.1654 -0.1 + endloop + endfacet + facet normal -0.149538 0.988756 0 + outer loop + vertex 25.51 -21.8307 -0.1 + vertex 25.181 -21.8805 0 + vertex 25.51 -21.8307 0 + endloop + endfacet + facet normal -0.149538 0.988756 0 + outer loop + vertex 25.181 -21.8805 0 + vertex 25.51 -21.8307 -0.1 + vertex 25.181 -21.8805 -0.1 + endloop + endfacet + facet normal -0.215553 0.976492 0 + outer loop + vertex 25.181 -21.8805 -0.1 + vertex 24.827 -21.9586 0 + vertex 25.181 -21.8805 0 + endloop + endfacet + facet normal -0.215553 0.976492 0 + outer loop + vertex 24.827 -21.9586 0 + vertex 25.181 -21.8805 -0.1 + vertex 24.827 -21.9586 -0.1 + endloop + endfacet + facet normal -0.27228 0.962218 0 + outer loop + vertex 24.827 -21.9586 -0.1 + vertex 24.5319 -22.0421 0 + vertex 24.827 -21.9586 0 + endloop + endfacet + facet normal -0.27228 0.962218 0 + outer loop + vertex 24.5319 -22.0421 0 + vertex 24.827 -21.9586 -0.1 + vertex 24.5319 -22.0421 -0.1 + endloop + endfacet + facet normal -0.339982 0.940432 0 + outer loop + vertex 24.5319 -22.0421 -0.1 + vertex 24.2621 -22.1397 0 + vertex 24.5319 -22.0421 0 + endloop + endfacet + facet normal -0.339982 0.940432 0 + outer loop + vertex 24.2621 -22.1397 0 + vertex 24.5319 -22.0421 -0.1 + vertex 24.2621 -22.1397 -0.1 + endloop + endfacet + facet normal -0.419841 0.907598 0 + outer loop + vertex 24.2621 -22.1397 -0.1 + vertex 24.0091 -22.2567 0 + vertex 24.2621 -22.1397 0 + endloop + endfacet + facet normal -0.419841 0.907598 0 + outer loop + vertex 24.0091 -22.2567 0 + vertex 24.2621 -22.1397 -0.1 + vertex 24.0091 -22.2567 -0.1 + endloop + endfacet + facet normal -0.501876 0.864939 0 + outer loop + vertex 24.0091 -22.2567 -0.1 + vertex 23.7644 -22.3987 0 + vertex 24.0091 -22.2567 0 + endloop + endfacet + facet normal -0.501876 0.864939 0 + outer loop + vertex 23.7644 -22.3987 0 + vertex 24.0091 -22.2567 -0.1 + vertex 23.7644 -22.3987 -0.1 + endloop + endfacet + facet normal -0.575619 0.817718 0 + outer loop + vertex 23.7644 -22.3987 -0.1 + vertex 23.5194 -22.5712 0 + vertex 23.7644 -22.3987 0 + endloop + endfacet + facet normal -0.575619 0.817718 0 + outer loop + vertex 23.5194 -22.5712 0 + vertex 23.7644 -22.3987 -0.1 + vertex 23.5194 -22.5712 -0.1 + endloop + endfacet + facet normal -0.634613 0.77283 0 + outer loop + vertex 23.5194 -22.5712 -0.1 + vertex 23.2657 -22.7795 0 + vertex 23.5194 -22.5712 0 + endloop + endfacet + facet normal -0.634613 0.77283 0 + outer loop + vertex 23.2657 -22.7795 0 + vertex 23.5194 -22.5712 -0.1 + vertex 23.2657 -22.7795 -0.1 + endloop + endfacet + facet normal -0.693326 0.720624 0 + outer loop + vertex 23.2657 -22.7795 -0.1 + vertex 22.6979 -23.3258 0 + vertex 23.2657 -22.7795 0 + endloop + endfacet + facet normal -0.693326 0.720624 0 + outer loop + vertex 22.6979 -23.3258 0 + vertex 23.2657 -22.7795 -0.1 + vertex 22.6979 -23.3258 -0.1 + endloop + endfacet + facet normal -0.729687 0.683781 0 + outer loop + vertex 22.2832 -23.7683 -0.1 + vertex 22.6979 -23.3258 0 + vertex 22.6979 -23.3258 -0.1 + endloop + endfacet + facet normal -0.729687 0.683781 0 + outer loop + vertex 22.6979 -23.3258 0 + vertex 22.2832 -23.7683 -0.1 + vertex 22.2832 -23.7683 0 + endloop + endfacet + facet normal -0.755777 0.65483 0 + outer loop + vertex 21.9437 -24.1601 -0.1 + vertex 22.2832 -23.7683 0 + vertex 22.2832 -23.7683 -0.1 + endloop + endfacet + facet normal -0.755777 0.65483 0 + outer loop + vertex 22.2832 -23.7683 0 + vertex 21.9437 -24.1601 -0.1 + vertex 21.9437 -24.1601 0 + endloop + endfacet + facet normal -0.793147 0.60903 0 + outer loop + vertex 21.7143 -24.4589 -0.1 + vertex 21.9437 -24.1601 0 + vertex 21.9437 -24.1601 -0.1 + endloop + endfacet + facet normal -0.793147 0.60903 0 + outer loop + vertex 21.9437 -24.1601 0 + vertex 21.7143 -24.4589 -0.1 + vertex 21.7143 -24.4589 0 + endloop + endfacet + facet normal -0.850912 0.525308 0 + outer loop + vertex 21.6518 -24.5601 -0.1 + vertex 21.7143 -24.4589 0 + vertex 21.7143 -24.4589 -0.1 + endloop + endfacet + facet normal -0.850912 0.525308 0 + outer loop + vertex 21.7143 -24.4589 0 + vertex 21.6518 -24.5601 -0.1 + vertex 21.6518 -24.5601 0 + endloop + endfacet + facet normal -0.943329 0.331858 0 + outer loop + vertex 21.63 -24.6221 -0.1 + vertex 21.6518 -24.5601 0 + vertex 21.6518 -24.5601 -0.1 + endloop + endfacet + facet normal -0.943329 0.331858 0 + outer loop + vertex 21.6518 -24.5601 0 + vertex 21.63 -24.6221 -0.1 + vertex 21.63 -24.6221 0 + endloop + endfacet + facet normal -0.568017 -0.823017 0 + outer loop + vertex 21.63 -24.6221 -0.1 + vertex 21.6873 -24.6616 0 + vertex 21.63 -24.6221 0 + endloop + endfacet + facet normal -0.568017 -0.823017 -0 + outer loop + vertex 21.6873 -24.6616 0 + vertex 21.63 -24.6221 -0.1 + vertex 21.6873 -24.6616 -0.1 + endloop + endfacet + facet normal -0.21919 -0.975682 0 + outer loop + vertex 21.6873 -24.6616 -0.1 + vertex 21.8514 -24.6984 0 + vertex 21.6873 -24.6616 0 + endloop + endfacet + facet normal -0.21919 -0.975682 -0 + outer loop + vertex 21.8514 -24.6984 0 + vertex 21.6873 -24.6616 -0.1 + vertex 21.8514 -24.6984 -0.1 + endloop + endfacet + facet normal -0.103226 -0.994658 0 + outer loop + vertex 21.8514 -24.6984 -0.1 + vertex 22.454 -24.761 0 + vertex 21.8514 -24.6984 0 + endloop + endfacet + facet normal -0.103226 -0.994658 -0 + outer loop + vertex 22.454 -24.761 0 + vertex 21.8514 -24.6984 -0.1 + vertex 22.454 -24.761 -0.1 + endloop + endfacet + facet normal -0.0473276 -0.998879 0 + outer loop + vertex 22.454 -24.761 -0.1 + vertex 23.3459 -24.8032 0 + vertex 22.454 -24.761 0 + endloop + endfacet + facet normal -0.0473276 -0.998879 -0 + outer loop + vertex 23.3459 -24.8032 0 + vertex 22.454 -24.761 -0.1 + vertex 23.3459 -24.8032 -0.1 + endloop + endfacet + facet normal -0.0142485 -0.999898 0 + outer loop + vertex 23.3459 -24.8032 -0.1 + vertex 24.435 -24.8188 0 + vertex 23.3459 -24.8032 0 + endloop + endfacet + facet normal -0.0142485 -0.999898 -0 + outer loop + vertex 24.435 -24.8188 0 + vertex 23.3459 -24.8032 -0.1 + vertex 24.435 -24.8188 -0.1 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 24.435 -24.8188 -0.1 + vertex 27.2401 -24.8188 0 + vertex 24.435 -24.8188 0 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 27.2401 -24.8188 0 + vertex 24.435 -24.8188 -0.1 + vertex 27.2401 -24.8188 -0.1 + endloop + endfacet + facet normal 0.986418 -0.164252 0 + outer loop + vertex 27.2401 -24.8188 0 + vertex 27.373 -24.0204 -0.1 + vertex 27.373 -24.0204 0 + endloop + endfacet + facet normal 0.986418 -0.164252 0 + outer loop + vertex 27.373 -24.0204 -0.1 + vertex 27.2401 -24.8188 0 + vertex 27.2401 -24.8188 -0.1 + endloop + endfacet + facet normal 0.99159 -0.129416 0 + outer loop + vertex 27.373 -24.0204 0 + vertex 27.4161 -23.6904 -0.1 + vertex 27.4161 -23.6904 0 + endloop + endfacet + facet normal 0.99159 -0.129416 0 + outer loop + vertex 27.4161 -23.6904 -0.1 + vertex 27.373 -24.0204 0 + vertex 27.373 -24.0204 -0.1 + endloop + endfacet + facet normal 0.998763 -0.0497285 0 + outer loop + vertex 27.4161 -23.6904 0 + vertex 27.4312 -23.3865 -0.1 + vertex 27.4312 -23.3865 0 + endloop + endfacet + facet normal 0.998763 -0.0497285 0 + outer loop + vertex 27.4312 -23.3865 -0.1 + vertex 27.4161 -23.6904 0 + vertex 27.4161 -23.6904 -0.1 + endloop + endfacet + facet normal 0.998974 0.0452785 0 + outer loop + vertex 27.4312 -23.3865 0 + vertex 27.4186 -23.1088 -0.1 + vertex 27.4186 -23.1088 0 + endloop + endfacet + facet normal 0.998974 0.0452785 0 + outer loop + vertex 27.4186 -23.1088 -0.1 + vertex 27.4312 -23.3865 0 + vertex 27.4312 -23.3865 -0.1 + endloop + endfacet + facet normal 0.987512 0.157546 0 + outer loop + vertex 27.4186 -23.1088 0 + vertex 27.3785 -22.8574 -0.1 + vertex 27.3785 -22.8574 0 + endloop + endfacet + facet normal 0.987512 0.157546 0 + outer loop + vertex 27.3785 -22.8574 -0.1 + vertex 27.4186 -23.1088 0 + vertex 27.4186 -23.1088 -0.1 + endloop + endfacet + facet normal 0.957877 0.287177 0 + outer loop + vertex 27.3785 -22.8574 0 + vertex 27.3111 -22.6325 -0.1 + vertex 27.3111 -22.6325 0 + endloop + endfacet + facet normal 0.957877 0.287177 0 + outer loop + vertex 27.3111 -22.6325 -0.1 + vertex 27.3785 -22.8574 0 + vertex 27.3785 -22.8574 -0.1 + endloop + endfacet + facet normal 0.902589 0.430503 0 + outer loop + vertex 27.3111 -22.6325 0 + vertex 27.2166 -22.4344 -0.1 + vertex 27.2166 -22.4344 0 + endloop + endfacet + facet normal 0.902589 0.430503 0 + outer loop + vertex 27.2166 -22.4344 -0.1 + vertex 27.3111 -22.6325 0 + vertex 27.3111 -22.6325 -0.1 + endloop + endfacet + facet normal 0.815851 0.578262 0 + outer loop + vertex 27.2166 -22.4344 0 + vertex 27.0952 -22.2631 -0.1 + vertex 27.0952 -22.2631 0 + endloop + endfacet + facet normal 0.815851 0.578262 0 + outer loop + vertex 27.0952 -22.2631 -0.1 + vertex 27.2166 -22.4344 0 + vertex 27.2166 -22.4344 -0.1 + endloop + endfacet + facet normal 0.697754 0.716337 -0 + outer loop + vertex 27.0952 -22.2631 -0.1 + vertex 26.9471 -22.1189 0 + vertex 27.0952 -22.2631 0 + endloop + endfacet + facet normal 0.697754 0.716337 0 + outer loop + vertex 26.9471 -22.1189 0 + vertex 27.0952 -22.2631 -0.1 + vertex 26.9471 -22.1189 -0.1 + endloop + endfacet + facet normal 0.556877 0.830595 -0 + outer loop + vertex 26.9471 -22.1189 -0.1 + vertex 26.7726 -22.0019 0 + vertex 26.9471 -22.1189 0 + endloop + endfacet + facet normal 0.556877 0.830595 0 + outer loop + vertex 26.7726 -22.0019 0 + vertex 26.9471 -22.1189 -0.1 + vertex 26.7726 -22.0019 -0.1 + endloop + endfacet + facet normal 0.40766 0.913134 -0 + outer loop + vertex 26.7726 -22.0019 -0.1 + vertex 26.5717 -21.9122 0 + vertex 26.7726 -22.0019 0 + endloop + endfacet + facet normal 0.40766 0.913134 0 + outer loop + vertex 26.5717 -21.9122 0 + vertex 26.7726 -22.0019 -0.1 + vertex 26.5717 -21.9122 -0.1 + endloop + endfacet + facet normal 0.264042 0.964511 -0 + outer loop + vertex 26.5717 -21.9122 -0.1 + vertex 26.3449 -21.8501 0 + vertex 26.5717 -21.9122 0 + endloop + endfacet + facet normal 0.264042 0.964511 0 + outer loop + vertex 26.3449 -21.8501 0 + vertex 26.5717 -21.9122 -0.1 + vertex 26.3449 -21.8501 -0.1 + endloop + endfacet + facet normal 0.134852 0.990866 -0 + outer loop + vertex 26.3449 -21.8501 -0.1 + vertex 26.0922 -21.8157 0 + vertex 26.3449 -21.8501 0 + endloop + endfacet + facet normal 0.134852 0.990866 0 + outer loop + vertex 26.0922 -21.8157 0 + vertex 26.3449 -21.8501 -0.1 + vertex 26.0922 -21.8157 -0.1 + endloop + endfacet + facet normal 0.0233803 0.999727 -0 + outer loop + vertex 26.0922 -21.8157 -0.1 + vertex 25.8138 -21.8092 0 + vertex 26.0922 -21.8157 0 + endloop + endfacet + facet normal 0.0233803 0.999727 0 + outer loop + vertex 25.8138 -21.8092 0 + vertex 26.0922 -21.8157 -0.1 + vertex 25.8138 -21.8092 -0.1 + endloop + endfacet + facet normal -0.0707205 0.997496 0 + outer loop + vertex 25.8138 -21.8092 -0.1 + vertex 25.51 -21.8307 0 + vertex 25.8138 -21.8092 0 + endloop + endfacet + facet normal -0.0707205 0.997496 0 + outer loop + vertex 25.51 -21.8307 0 + vertex 25.8138 -21.8092 -0.1 + vertex 25.51 -21.8307 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.0431 -18.7102 -0.1 + vertex -32.1476 -18.5412 -0.1 + vertex -36.5163 -17.3821 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.1476 -18.5412 -0.1 + vertex -37.0431 -18.7102 -0.1 + vertex -33.2902 -21.4299 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.2902 -21.4299 -0.1 + vertex -37.0431 -18.7102 -0.1 + vertex -33.4325 -21.7956 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.3469 -21.8682 -0.1 + vertex -33.4325 -21.7956 -0.1 + vertex -37.0431 -18.7102 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.4325 -21.7956 -0.1 + vertex -38.3469 -21.8682 -0.1 + vertex -33.503 -22.0719 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.503 -22.0719 -0.1 + vertex -38.3469 -21.8682 -0.1 + vertex -34.9509 -25.4747 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.8955 -25.4747 -0.1 + vertex -34.9509 -25.4747 -0.1 + vertex -38.3469 -21.8682 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.9509 -25.4747 -0.1 + vertex -39.8955 -25.4747 -0.1 + vertex -35.4707 -26.6225 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.4707 -26.6225 -0.1 + vertex -39.8955 -25.4747 -0.1 + vertex -36.4516 -28.8697 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -41.2695 -28.6585 -0.1 + vertex -36.4516 -28.8697 -0.1 + vertex -39.8955 -25.4747 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.4516 -28.8697 -0.1 + vertex -41.2695 -28.6585 -0.1 + vertex -37.5165 -31.4193 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -42.2252 -30.9405 -0.1 + vertex -37.5165 -31.4193 -0.1 + vertex -41.2695 -28.6585 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.5165 -31.4193 -0.1 + vertex -42.2252 -30.9405 -0.1 + vertex -38.3711 -33.5534 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4764 -11.5321 -0.1 + vertex -17.4002 -11.6639 -0.1 + vertex -17.4268 -11.5861 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 -0.1 + vertex -17.5514 -11.4978 -0.1 + vertex -17.3941 -11.77 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 -0.1 + vertex -17.4764 -11.5321 -0.1 + vertex -17.5514 -11.4978 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7876 -11.4712 -0.1 + vertex -17.3941 -11.77 -0.1 + vertex -17.5514 -11.4978 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.3941 -11.77 -0.1 + vertex -17.7876 -11.4712 -0.1 + vertex -17.4339 -12.0833 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4339 -12.0833 -0.1 + vertex -17.7876 -11.4712 -0.1 + vertex -17.5116 -12.3759 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.5116 -12.3759 -0.1 + vertex -17.7876 -11.4712 -0.1 + vertex -17.6664 -12.8441 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.9412 -14.6683 -0.1 + vertex -17.6664 -12.8441 -0.1 + vertex -17.7876 -11.4712 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.6664 -12.8441 -0.1 + vertex -21.9412 -14.6683 -0.1 + vertex -18.1466 -14.1495 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -21.6284 -15.0493 -0.1 + vertex -18.1466 -14.1495 -0.1 + vertex -21.6966 -14.8935 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -21.5879 -15.2616 -0.1 + vertex -18.7537 -15.6836 -0.1 + vertex -21.6284 -15.0493 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -21.5693 -15.5508 -0.1 + vertex -18.7537 -15.6836 -0.1 + vertex -21.5879 -15.2616 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.5729 -16.4428 -0.1 + vertex -19.3667 -17.1305 -0.1 + vertex -21.5693 -15.5508 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.3667 -17.1305 -0.1 + vertex -21.5729 -16.4428 -0.1 + vertex -19.4996 -17.3696 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.4996 -17.3696 -0.1 + vertex -21.5729 -16.4428 -0.1 + vertex -19.6713 -17.584 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.5774 -17.3273 -0.1 + vertex -19.8743 -17.7693 -0.1 + vertex -21.5729 -16.4428 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.8743 -17.7693 -0.1 + vertex -21.5774 -17.3273 -0.1 + vertex -20.1009 -17.9213 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.1009 -17.9213 -0.1 + vertex -21.5774 -17.3273 -0.1 + vertex -20.3435 -18.0357 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.5945 -18.108 -0.1 + vertex -21.5774 -17.3273 -0.1 + vertex -20.8463 -18.1339 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -21.5614 -17.6077 -0.1 + vertex -20.8463 -18.1339 -0.1 + vertex -21.5774 -17.3273 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.8463 -18.1339 -0.1 + vertex -21.5614 -17.6077 -0.1 + vertex -21.0912 -18.1093 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.0912 -18.1093 -0.1 + vertex -21.5614 -17.6077 -0.1 + vertex -21.2545 -18.0693 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2545 -18.0693 -0.1 + vertex -21.5263 -17.8042 -0.1 + vertex -21.378 -18.0171 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.3435 -18.0357 -0.1 + vertex -21.5774 -17.3273 -0.1 + vertex -20.5945 -18.108 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.6713 -17.584 -0.1 + vertex -21.5729 -16.4428 -0.1 + vertex -19.8743 -17.7693 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.7537 -15.6836 -0.1 + vertex -21.5693 -15.5508 -0.1 + vertex -19.3667 -17.1305 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.1466 -14.1495 -0.1 + vertex -21.6284 -15.0493 -0.1 + vertex -18.7537 -15.6836 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.1466 -14.1495 -0.1 + vertex -21.7989 -14.7733 -0.1 + vertex -21.6966 -14.8935 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.1466 -14.1495 -0.1 + vertex -21.9412 -14.6683 -0.1 + vertex -21.7989 -14.7733 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7876 -11.4712 -0.1 + vertex -22.1296 -14.5577 -0.1 + vertex -21.9412 -14.6683 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7876 -11.4712 -0.1 + vertex -22.3213 -14.4724 -0.1 + vertex -22.1296 -14.5577 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7876 -11.4712 -0.1 + vertex -22.5778 -14.3998 -0.1 + vertex -22.3213 -14.4724 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7876 -11.4712 -0.1 + vertex -22.9103 -14.3386 -0.1 + vertex -22.5778 -14.3998 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7876 -11.4712 -0.1 + vertex -23.3301 -14.2877 -0.1 + vertex -22.9103 -14.3386 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.175 -11.3523 -0.1 + vertex -23.3301 -14.2877 -0.1 + vertex -17.7876 -11.4712 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.3301 -14.2877 -0.1 + vertex -27.175 -11.3523 -0.1 + vertex -24.4767 -14.2125 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.4767 -14.2125 -0.1 + vertex -27.175 -11.3523 -0.1 + vertex -26.1077 -14.1654 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.175 -11.3523 -0.1 + vertex -28.2448 -14.1442 -0.1 + vertex -26.1077 -14.1654 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.175 -11.3523 -0.1 + vertex -28.9898 -14.1579 -0.1 + vertex -28.2448 -14.1442 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.175 -11.3523 -0.1 + vertex -29.549 -14.1906 -0.1 + vertex -28.9898 -14.1579 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.0944 -11.3029 -0.1 + vertex -29.549 -14.1906 -0.1 + vertex -27.175 -11.3523 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.549 -14.1906 -0.1 + vertex -32.0944 -11.3029 -0.1 + vertex -29.9449 -14.2443 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.9449 -14.2443 -0.1 + vertex -32.0944 -11.3029 -0.1 + vertex -30.1999 -14.321 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3673 -14.4836 -0.1 + vertex -30.4158 -14.7057 -0.1 + vertex -30.377 -14.5514 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3673 -14.4836 -0.1 + vertex -30.5215 -14.964 -0.1 + vertex -30.4158 -14.7057 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.4754 -14.1281 -0.1 + vertex -30.5215 -14.964 -0.1 + vertex -30.3673 -14.4836 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.5215 -14.964 -0.1 + vertex -35.4754 -14.1281 -0.1 + vertex -30.678 -15.2903 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.678 -15.2903 -0.1 + vertex -35.4754 -14.1281 -0.1 + vertex -30.8691 -15.6487 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -35.5123 -14.4274 -0.1 + vertex -30.8691 -15.6487 -0.1 + vertex -35.4754 -14.1281 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1999 -14.321 -0.1 + vertex -32.0944 -11.3029 -0.1 + vertex -30.2816 -14.3686 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.0944 -11.3029 -0.1 + vertex -30.3364 -14.4227 -0.1 + vertex -30.2816 -14.3686 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.0944 -11.3029 -0.1 + vertex -30.3673 -14.4836 -0.1 + vertex -30.3364 -14.4227 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -35.4904 -13.894 -0.1 + vertex -30.3673 -14.4836 -0.1 + vertex -32.0944 -11.3029 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.8691 -15.6487 -0.1 + vertex -35.5123 -14.4274 -0.1 + vertex -31.1223 -16.1487 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -35.5964 -14.799 -0.1 + vertex -31.1223 -16.1487 -0.1 + vertex -35.5123 -14.4274 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.1223 -16.1487 -0.1 + vertex -35.5964 -14.799 -0.1 + vertex -31.4477 -16.8607 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -35.7796 -15.3934 -0.1 + vertex -31.4477 -16.8607 -0.1 + vertex -35.5964 -14.799 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.4477 -16.8607 -0.1 + vertex -35.7796 -15.3934 -0.1 + vertex -31.8034 -17.6899 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.4904 -13.894 -0.1 + vertex -32.0944 -11.3029 -0.1 + vertex -33.7011 -11.3017 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -21.5263 -17.8042 -0.1 + vertex -21.2545 -18.0693 -0.1 + vertex -21.5614 -17.6077 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.378 -18.0171 -0.1 + vertex -21.5263 -17.8042 -0.1 + vertex -21.4669 -17.9347 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.4624 -26.9141 -0.1 + vertex -27.8988 -26.2055 -0.1 + vertex -27.8924 -26.5154 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.2929 -22.2506 -0.1 + vertex -27.9236 -26.0946 -0.1 + vertex -27.8988 -26.2055 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.2929 -22.2506 -0.1 + vertex -27.9636 -26.0069 -0.1 + vertex -27.9236 -26.0946 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.2929 -22.2506 -0.1 + vertex -28.0195 -25.9379 -0.1 + vertex -27.9636 -26.0069 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.2929 -22.2506 -0.1 + vertex -28.0919 -25.8829 -0.1 + vertex -28.0195 -25.9379 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2888 -25.7968 -0.1 + vertex -27.6923 -22.3658 -0.1 + vertex -28.1242 -22.4577 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.6923 -22.3658 -0.1 + vertex -28.2888 -25.7968 -0.1 + vertex -28.0919 -25.8829 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.1242 -22.4577 -0.1 + vertex -28.5596 -25.7117 -0.1 + vertex -28.2888 -25.7968 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -28.5914 -22.5277 -0.1 + vertex -28.5596 -25.7117 -0.1 + vertex -28.1242 -22.4577 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.5914 -22.5277 -0.1 + vertex -28.7678 -25.6646 -0.1 + vertex -28.5596 -25.7117 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.5914 -22.5277 -0.1 + vertex -29.0734 -25.6205 -0.1 + vertex -28.7678 -25.6646 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -29.0966 -22.5767 -0.1 + vertex -29.0734 -25.6205 -0.1 + vertex -28.5914 -22.5277 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -29.6427 -22.606 -0.1 + vertex -29.0734 -25.6205 -0.1 + vertex -29.0966 -22.5767 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.6427 -22.606 -0.1 + vertex -29.9179 -25.5457 -0.1 + vertex -29.0734 -25.6205 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -30.2322 -22.6168 -0.1 + vertex -29.9179 -25.5457 -0.1 + vertex -29.6427 -22.606 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.9759 -25.4949 -0.1 + vertex -30.2322 -22.6168 -0.1 + vertex -30.868 -22.6102 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.2322 -22.6168 -0.1 + vertex -30.9759 -25.4949 -0.1 + vertex -29.9179 -25.5457 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.8095 -22.5865 -0.1 + vertex -30.9759 -25.4949 -0.1 + vertex -30.868 -22.6102 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.8095 -22.5865 -0.1 + vertex -32.1303 -25.4759 -0.1 + vertex -30.9759 -25.4949 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.5132 -22.5543 -0.1 + vertex -32.1303 -25.4759 -0.1 + vertex -31.8095 -22.5865 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.0067 -22.5002 -0.1 + vertex -32.1303 -25.4759 -0.1 + vertex -32.5132 -22.5543 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.1833 -22.4608 -0.1 + vertex -32.1303 -25.4759 -0.1 + vertex -33.0067 -22.5002 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.9509 -25.4747 -0.1 + vertex -33.1833 -22.4608 -0.1 + vertex -33.3177 -22.4108 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.9509 -25.4747 -0.1 + vertex -33.3177 -22.4108 -0.1 + vertex -33.4135 -22.3486 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.9509 -25.4747 -0.1 + vertex -33.4135 -22.3486 -0.1 + vertex -33.4739 -22.2725 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -36.0907 -16.2655 -0.1 + vertex -31.8034 -17.6899 -0.1 + vertex -35.7796 -15.3934 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.5622 -13.718 -0.1 + vertex -33.7011 -11.3017 -0.1 + vertex -34.8583 -11.3197 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.1833 -22.4608 -0.1 + vertex -34.9509 -25.4747 -0.1 + vertex -32.1303 -25.4759 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.5026 -22.1809 -0.1 + vertex -34.9509 -25.4747 -0.1 + vertex -33.4739 -22.2725 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.8034 -17.6899 -0.1 + vertex -36.0907 -16.2655 -0.1 + vertex -32.1476 -18.5412 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.503 -22.0719 -0.1 + vertex -34.9509 -25.4747 -0.1 + vertex -33.5026 -22.1809 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -36.5163 -17.3821 -0.1 + vertex -32.1476 -18.5412 -0.1 + vertex -36.0907 -16.2655 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3673 -14.4836 -0.1 + vertex -35.4904 -13.894 -0.1 + vertex -35.4754 -14.1281 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.7011 -11.3017 -0.1 + vertex -35.5189 -13.7992 -0.1 + vertex -35.4904 -13.894 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.7011 -11.3017 -0.1 + vertex -35.5622 -13.718 -0.1 + vertex -35.5189 -13.7992 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.8583 -11.3197 -0.1 + vertex -35.6209 -13.6496 -0.1 + vertex -35.5622 -13.718 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.6956 -13.593 -0.1 + vertex -34.8583 -11.3197 -0.1 + vertex -35.6555 -11.3595 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.8583 -11.3197 -0.1 + vertex -35.6956 -13.593 -0.1 + vertex -35.6209 -13.6496 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.6555 -11.3595 -0.1 + vertex -35.8956 -13.512 -0.1 + vertex -35.6956 -13.593 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -36.1819 -11.4238 -0.1 + vertex -35.8956 -13.512 -0.1 + vertex -35.6555 -11.3595 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.8956 -13.512 -0.1 + vertex -36.1819 -11.4238 -0.1 + vertex -36.1669 -13.4677 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -36.527 -11.5152 -0.1 + vertex -36.1669 -13.4677 -0.1 + vertex -36.1819 -11.4238 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -36.7802 -11.6364 -0.1 + vertex -36.1669 -13.4677 -0.1 + vertex -36.527 -11.5152 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.1669 -13.4677 -0.1 + vertex -36.7802 -11.6364 -0.1 + vertex -36.5145 -13.4531 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -36.9755 -11.7636 -0.1 + vertex -36.5145 -13.4531 -0.1 + vertex -36.7802 -11.6364 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -37.1409 -11.9004 -0.1 + vertex -36.5145 -13.4531 -0.1 + vertex -36.9755 -11.7636 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.5145 -13.4531 -0.1 + vertex -37.1409 -11.9004 -0.1 + vertex -36.7305 -13.4387 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -37.2767 -12.0443 -0.1 + vertex -36.7305 -13.4387 -0.1 + vertex -37.1409 -11.9004 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.7305 -13.4387 -0.1 + vertex -37.2767 -12.0443 -0.1 + vertex -36.9216 -13.3997 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -37.3834 -12.1929 -0.1 + vertex -36.9216 -13.3997 -0.1 + vertex -37.2767 -12.0443 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -37.4611 -12.3438 -0.1 + vertex -36.9216 -13.3997 -0.1 + vertex -37.3834 -12.1929 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.9216 -13.3997 -0.1 + vertex -37.4611 -12.3438 -0.1 + vertex -37.0874 -13.3385 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -37.5104 -12.4945 -0.1 + vertex -37.0874 -13.3385 -0.1 + vertex -37.4611 -12.3438 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.0874 -13.3385 -0.1 + vertex -37.5104 -12.4945 -0.1 + vertex -37.2276 -13.2576 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -37.5315 -12.6425 -0.1 + vertex -37.2276 -13.2576 -0.1 + vertex -37.5104 -12.4945 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.2276 -13.2576 -0.1 + vertex -37.5315 -12.6425 -0.1 + vertex -37.3418 -13.1594 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.3418 -13.1594 -0.1 + vertex -37.5315 -12.6425 -0.1 + vertex -37.4296 -13.0463 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.4296 -13.0463 -0.1 + vertex -37.5315 -12.6425 -0.1 + vertex -37.4908 -12.9209 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.4908 -12.9209 -0.1 + vertex -37.5315 -12.6425 -0.1 + vertex -37.5249 -12.7854 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.9739 -18.9651 -0.1 + vertex -22.585 -19.4947 -0.1 + vertex -22.594 -19.3555 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.8524 -19.008 -0.1 + vertex -22.594 -19.3555 -0.1 + vertex -22.625 -19.2389 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.7539 -19.0668 -0.1 + vertex -22.625 -19.2389 -0.1 + vertex -22.6782 -19.1432 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.594 -19.3555 -0.1 + vertex -22.8524 -19.008 -0.1 + vertex -22.9739 -18.9651 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.625 -19.2389 -0.1 + vertex -22.7539 -19.0668 -0.1 + vertex -22.8524 -19.008 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.1186 -18.9365 -0.1 + vertex -22.585 -19.4947 -0.1 + vertex -22.9739 -18.9651 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.585 -19.4947 -0.1 + vertex -23.1186 -18.9365 -0.1 + vertex -22.5978 -19.6581 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.4791 -18.9156 -0.1 + vertex -22.5978 -19.6581 -0.1 + vertex -23.1186 -18.9365 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.5978 -19.6581 -0.1 + vertex -23.4791 -18.9156 -0.1 + vertex -22.6874 -20.0641 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -23.6632 -18.9241 -0.1 + vertex -22.6874 -20.0641 -0.1 + vertex -23.4791 -18.9156 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.3738 -19.4278 -0.1 + vertex -22.6874 -20.0641 -0.1 + vertex -24.2328 -19.2424 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.6874 -20.0641 -0.1 + vertex -23.6632 -18.9241 -0.1 + vertex -24.2328 -19.2424 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.0993 -19.1062 -0.1 + vertex -23.6632 -18.9241 -0.1 + vertex -23.8226 -18.954 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.0993 -19.1062 -0.1 + vertex -23.8226 -18.954 -0.1 + vertex -23.9653 -19.0124 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.6632 -18.9241 -0.1 + vertex -24.0993 -19.1062 -0.1 + vertex -24.2328 -19.2424 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.6874 -20.0641 -0.1 + vertex -24.3738 -19.4278 -0.1 + vertex -22.8608 -20.5868 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.7108 -19.9745 -0.1 + vertex -22.8608 -20.5868 -0.1 + vertex -24.3738 -19.4278 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.8608 -20.5868 -0.1 + vertex -24.7108 -19.9745 -0.1 + vertex -23.116 -21.2395 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.9407 -20.3516 -0.1 + vertex -23.116 -21.2395 -0.1 + vertex -24.7108 -19.9745 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.1784 -20.695 -0.1 + vertex -23.116 -21.2395 -0.1 + vertex -24.9407 -20.3516 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.4267 -21.0057 -0.1 + vertex -23.116 -21.2395 -0.1 + vertex -25.1784 -20.695 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.6884 -21.2849 -0.1 + vertex -23.116 -21.2395 -0.1 + vertex -25.4267 -21.0057 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.116 -21.2395 -0.1 + vertex -25.6884 -21.2849 -0.1 + vertex -24.3958 -24.3815 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.9661 -21.5339 -0.1 + vertex -24.3958 -24.3815 -0.1 + vertex -25.6884 -21.2849 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.2627 -21.7538 -0.1 + vertex -24.3958 -24.3815 -0.1 + vertex -25.9661 -21.5339 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.5809 -21.9457 -0.1 + vertex -24.3958 -24.3815 -0.1 + vertex -26.2627 -21.7538 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.9234 -22.1109 -0.1 + vertex -24.3958 -24.3815 -0.1 + vertex -26.5809 -21.9457 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.2929 -22.2506 -0.1 + vertex -24.3958 -24.3815 -0.1 + vertex -26.9234 -22.1109 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3958 -24.3815 -0.1 + vertex -27.2929 -22.2506 -0.1 + vertex -24.9793 -25.8003 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.4624 -26.9141 -0.1 + vertex -27.8924 -26.5154 -0.1 + vertex -25.8688 -27.7587 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.8688 -27.7587 -0.1 + vertex -27.9393 -26.9734 -0.1 + vertex -26.0506 -28.0911 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.0506 -28.0911 -0.1 + vertex -27.9393 -26.9734 -0.1 + vertex -26.2221 -28.3696 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.9393 -26.9734 -0.1 + vertex -25.8688 -27.7587 -0.1 + vertex -27.8924 -26.5154 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.2221 -28.3696 -0.1 + vertex -27.9393 -26.9734 -0.1 + vertex -26.3861 -28.5987 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -28.1721 -28.4809 -0.1 + vertex -26.3861 -28.5987 -0.1 + vertex -27.9393 -26.9734 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.8988 -26.2055 -0.1 + vertex -24.9793 -25.8003 -0.1 + vertex -27.2929 -22.2506 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.3861 -28.5987 -0.1 + vertex -28.1721 -28.4809 -0.1 + vertex -26.5458 -28.7827 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.5458 -28.7827 -0.1 + vertex -28.1721 -28.4809 -0.1 + vertex -26.7039 -28.9262 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.8988 -26.2055 -0.1 + vertex -25.4624 -26.9141 -0.1 + vertex -24.9793 -25.8003 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.7039 -28.9262 -0.1 + vertex -28.1721 -28.4809 -0.1 + vertex -26.8635 -29.0336 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.8635 -29.0336 -0.1 + vertex -28.1721 -28.4809 -0.1 + vertex -27.0275 -29.1093 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.0919 -25.8829 -0.1 + vertex -27.2929 -22.2506 -0.1 + vertex -27.6923 -22.3658 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.0275 -29.1093 -0.1 + vertex -28.1721 -28.4809 -0.1 + vertex -27.1989 -29.1579 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.1989 -29.1579 -0.1 + vertex -28.1721 -28.4809 -0.1 + vertex -27.3805 -29.1838 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.3805 -29.1838 -0.1 + vertex -28.1721 -28.4809 -0.1 + vertex -27.5755 -29.1914 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -28.2235 -28.8853 -0.1 + vertex -27.5755 -29.1914 -0.1 + vertex -28.1721 -28.4809 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.5755 -29.1914 -0.1 + vertex -28.2235 -28.8853 -0.1 + vertex -27.9775 -29.1782 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.9775 -29.1782 -0.1 + vertex -28.2235 -28.8853 -0.1 + vertex -28.0989 -29.15 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -28.2154 -29.0113 -0.1 + vertex -28.0989 -29.15 -0.1 + vertex -28.2235 -28.8853 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.0989 -29.15 -0.1 + vertex -28.2154 -29.0113 -0.1 + vertex -28.176 -29.097 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.4571 -30.6716 -0.1 + vertex -23.4513 -30.847 -0.1 + vertex -23.4345 -30.738 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.5012 -30.6026 -0.1 + vertex -23.4513 -30.847 -0.1 + vertex -23.4571 -30.6716 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.6433 -30.465 -0.1 + vertex -23.4513 -30.847 -0.1 + vertex -23.5012 -30.6026 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.4513 -30.847 -0.1 + vertex -23.6433 -30.465 -0.1 + vertex -23.5218 -31.031 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.8399 -30.3412 -0.1 + vertex -23.5218 -31.031 -0.1 + vertex -23.6433 -30.465 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.0701 -30.2475 -0.1 + vertex -23.5218 -31.031 -0.1 + vertex -23.8399 -30.3412 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.5218 -31.031 -0.1 + vertex -24.0701 -30.2475 -0.1 + vertex -23.8031 -31.5911 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.8452 -30.2998 -0.1 + vertex -23.8031 -31.5911 -0.1 + vertex -24.0701 -30.2475 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.8452 -30.2998 -0.1 + vertex -24.0701 -30.2475 -0.1 + vertex -24.2803 -30.1833 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.6311 -30.1847 -0.1 + vertex -24.2803 -30.1833 -0.1 + vertex -24.455 -30.1541 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.6311 -30.1847 -0.1 + vertex -24.455 -30.1541 -0.1 + vertex -24.5406 -30.1604 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.2803 -30.1833 -0.1 + vertex -24.6311 -30.1847 -0.1 + vertex -24.8452 -30.2998 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.8031 -31.5911 -0.1 + vertex -24.8452 -30.2998 -0.1 + vertex -25.1341 -30.5242 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.5344 -30.8827 -0.1 + vertex -23.8031 -31.5911 -0.1 + vertex -25.1341 -30.5242 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.8031 -31.5911 -0.1 + vertex -25.5344 -30.8827 -0.1 + vertex -24.2375 -32.3527 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.2375 -32.3527 -0.1 + vertex -25.5344 -30.8827 -0.1 + vertex -24.7839 -33.2498 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.8166 -32.1012 -0.1 + vertex -24.7839 -33.2498 -0.1 + vertex -25.5344 -30.8827 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.7839 -33.2498 -0.1 + vertex -26.8166 -32.1012 -0.1 + vertex -25.4011 -34.2168 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.3602 -32.5933 -0.1 + vertex -25.4011 -34.2168 -0.1 + vertex -26.8166 -32.1012 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.924 -33.0516 -0.1 + vertex -25.4011 -34.2168 -0.1 + vertex -27.3602 -32.5933 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.4011 -34.2168 -0.1 + vertex -27.924 -33.0516 -0.1 + vertex -26.0482 -35.1877 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -28.5012 -33.4718 -0.1 + vertex -26.0482 -35.1877 -0.1 + vertex -27.924 -33.0516 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.0482 -35.1877 -0.1 + vertex -28.5012 -33.4718 -0.1 + vertex -26.6839 -36.0968 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -29.0852 -33.8499 -0.1 + vertex -26.6839 -36.0968 -0.1 + vertex -28.5012 -33.4718 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.6839 -36.0968 -0.1 + vertex -29.0852 -33.8499 -0.1 + vertex -27.2673 -36.8782 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -29.669 -34.1817 -0.1 + vertex -27.2673 -36.8782 -0.1 + vertex -29.0852 -33.8499 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -30.2461 -34.4632 -0.1 + vertex -27.2673 -36.8782 -0.1 + vertex -29.669 -34.1817 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.2673 -36.8782 -0.1 + vertex -30.2461 -34.4632 -0.1 + vertex -28.2718 -38.1638 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -30.8095 -34.6902 -0.1 + vertex -28.2718 -38.1638 -0.1 + vertex -30.2461 -34.4632 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -31.3526 -34.8586 -0.1 + vertex -28.2718 -38.1638 -0.1 + vertex -30.8095 -34.6902 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -31.5797 -34.902 -0.1 + vertex -28.2718 -38.1638 -0.1 + vertex -31.3526 -34.8586 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -31.9023 -34.9414 -0.1 + vertex -28.2718 -38.1638 -0.1 + vertex -31.5797 -34.902 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -32.7769 -35.0076 -0.1 + vertex -28.2718 -38.1638 -0.1 + vertex -31.9023 -34.9414 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.6203 -38.1325 -0.1 + vertex -32.7769 -35.0076 -0.1 + vertex -33.8615 -35.0556 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.6203 -38.1325 -0.1 + vertex -33.8615 -35.0556 -0.1 + vertex -35.0412 -35.0835 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.6203 -38.1325 -0.1 + vertex -35.0412 -35.0835 -0.1 + vertex -36.2012 -35.0898 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.6203 -38.1325 -0.1 + vertex -36.2012 -35.0898 -0.1 + vertex -37.2267 -35.0727 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.7769 -35.0076 -0.1 + vertex -37.6203 -38.1325 -0.1 + vertex -28.2718 -38.1638 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.0027 -35.0306 -0.1 + vertex -37.6203 -38.1325 -0.1 + vertex -37.2267 -35.0727 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.2613 -34.9997 -0.1 + vertex -37.6203 -38.1325 -0.1 + vertex -38.0027 -35.0306 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.4144 -34.9619 -0.1 + vertex -37.6203 -38.1325 -0.1 + vertex -38.2613 -34.9997 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -41.2883 -38.1087 -0.1 + vertex -38.4144 -34.9619 -0.1 + vertex -38.5336 -34.8886 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -41.2883 -38.1087 -0.1 + vertex -38.5336 -34.8886 -0.1 + vertex -38.6312 -34.7874 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -41.2883 -38.1087 -0.1 + vertex -38.6312 -34.7874 -0.1 + vertex -38.6971 -34.6715 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -42.7651 -32.2453 -0.1 + vertex -38.3711 -33.5534 -0.1 + vertex -42.2252 -30.9405 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.3711 -33.5534 -0.1 + vertex -42.7651 -32.2453 -0.1 + vertex -38.6277 -34.2404 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.6277 -34.2404 -0.1 + vertex -42.7651 -32.2453 -0.1 + vertex -38.7214 -34.5543 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -43.2426 -33.2915 -0.1 + vertex -38.7214 -34.5543 -0.1 + vertex -42.7651 -32.2453 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -43.4655 -33.7273 -0.1 + vertex -38.7214 -34.5543 -0.1 + vertex -43.2426 -33.2915 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.7214 -34.5543 -0.1 + vertex -43.4655 -33.7273 -0.1 + vertex -38.6971 -34.6715 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.4144 -34.9619 -0.1 + vertex -41.2883 -38.1087 -0.1 + vertex -37.6203 -38.1325 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -43.682 -34.1098 -0.1 + vertex -38.6971 -34.6715 -0.1 + vertex -43.4655 -33.7273 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.6971 -34.6715 -0.1 + vertex -43.682 -34.1098 -0.1 + vertex -41.2883 -38.1087 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -43.8952 -34.443 -0.1 + vertex -41.2883 -38.1087 -0.1 + vertex -43.682 -34.1098 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -44.108 -34.7306 -0.1 + vertex -41.2883 -38.1087 -0.1 + vertex -43.8952 -34.443 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -44.3237 -34.9765 -0.1 + vertex -41.2883 -38.1087 -0.1 + vertex -44.108 -34.7306 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -44.3237 -34.9765 -0.1 + vertex -44.3648 -38.0673 -0.1 + vertex -41.2883 -38.1087 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -44.5451 -35.1844 -0.1 + vertex -44.3648 -38.0673 -0.1 + vertex -44.3237 -34.9765 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -44.7755 -35.3583 -0.1 + vertex -44.3648 -38.0673 -0.1 + vertex -44.5451 -35.1844 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -45.0179 -35.5019 -0.1 + vertex -44.3648 -38.0673 -0.1 + vertex -44.7755 -35.3583 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -45.2753 -35.6191 -0.1 + vertex -44.3648 -38.0673 -0.1 + vertex -45.0179 -35.5019 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -45.5508 -35.7136 -0.1 + vertex -44.3648 -38.0673 -0.1 + vertex -45.2753 -35.6191 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -45.8475 -35.7893 -0.1 + vertex -44.3648 -38.0673 -0.1 + vertex -45.5508 -35.7136 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -46.5272 -38.014 -0.1 + vertex -45.8475 -35.7893 -0.1 + vertex -46.1684 -35.8499 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -46.5272 -38.014 -0.1 + vertex -46.1684 -35.8499 -0.1 + vertex -46.4544 -35.9117 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -45.8475 -35.7893 -0.1 + vertex -46.5272 -38.014 -0.1 + vertex -44.3648 -38.0673 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -46.7228 -35.999 -0.1 + vertex -46.5272 -38.014 -0.1 + vertex -46.4544 -35.9117 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -46.9715 -36.1082 -0.1 + vertex -46.5272 -38.014 -0.1 + vertex -46.7228 -35.999 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -47.1985 -36.2359 -0.1 + vertex -46.5272 -38.014 -0.1 + vertex -46.9715 -36.1082 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -47.4015 -36.3788 -0.1 + vertex -46.5272 -38.014 -0.1 + vertex -47.1985 -36.2359 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -46.5272 -38.014 -0.1 + vertex -47.4015 -36.3788 -0.1 + vertex -47.1648 -37.9848 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -47.5785 -36.5332 -0.1 + vertex -47.1648 -37.9848 -0.1 + vertex -47.4015 -36.3788 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -47.7274 -36.6957 -0.1 + vertex -47.1648 -37.9848 -0.1 + vertex -47.5785 -36.5332 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -47.846 -36.863 -0.1 + vertex -47.1648 -37.9848 -0.1 + vertex -47.7274 -36.6957 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.1648 -37.9848 -0.1 + vertex -47.846 -36.863 -0.1 + vertex -47.4529 -37.9547 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -47.9322 -37.0315 -0.1 + vertex -47.4529 -37.9547 -0.1 + vertex -47.846 -36.863 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.4529 -37.9547 -0.1 + vertex -47.9322 -37.0315 -0.1 + vertex -47.6522 -37.8745 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -47.984 -37.1977 -0.1 + vertex -47.6522 -37.8745 -0.1 + vertex -47.9322 -37.0315 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.6522 -37.8745 -0.1 + vertex -47.984 -37.1977 -0.1 + vertex -47.8044 -37.7712 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -47.9993 -37.3583 -0.1 + vertex -47.8044 -37.7712 -0.1 + vertex -47.984 -37.1977 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.8044 -37.7712 -0.1 + vertex -47.9993 -37.3583 -0.1 + vertex -47.9115 -37.6485 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.9115 -37.6485 -0.1 + vertex -47.9993 -37.3583 -0.1 + vertex -47.9758 -37.5097 -0.1 + endloop + endfacet + facet normal -0.0100487 -0.99995 0 + outer loop + vertex -32.0944 -11.3029 -0.1 + vertex -27.175 -11.3523 0 + vertex -32.0944 -11.3029 0 + endloop + endfacet + facet normal -0.0100487 -0.99995 -0 + outer loop + vertex -27.175 -11.3523 0 + vertex -32.0944 -11.3029 -0.1 + vertex -27.175 -11.3523 -0.1 + endloop + endfacet + facet normal -0.0126654 -0.99992 0 + outer loop + vertex -27.175 -11.3523 -0.1 + vertex -17.7876 -11.4712 0 + vertex -27.175 -11.3523 0 + endloop + endfacet + facet normal -0.0126654 -0.99992 -0 + outer loop + vertex -17.7876 -11.4712 0 + vertex -27.175 -11.3523 -0.1 + vertex -17.7876 -11.4712 -0.1 + endloop + endfacet + facet normal -0.111827 -0.993728 0 + outer loop + vertex -17.7876 -11.4712 -0.1 + vertex -17.5514 -11.4978 0 + vertex -17.7876 -11.4712 0 + endloop + endfacet + facet normal -0.111827 -0.993728 -0 + outer loop + vertex -17.5514 -11.4978 0 + vertex -17.7876 -11.4712 -0.1 + vertex -17.5514 -11.4978 -0.1 + endloop + endfacet + facet normal -0.415864 -0.909427 0 + outer loop + vertex -17.5514 -11.4978 -0.1 + vertex -17.4764 -11.5321 0 + vertex -17.5514 -11.4978 0 + endloop + endfacet + facet normal -0.415864 -0.909427 -0 + outer loop + vertex -17.4764 -11.5321 0 + vertex -17.5514 -11.4978 -0.1 + vertex -17.4764 -11.5321 -0.1 + endloop + endfacet + facet normal -0.736355 -0.676596 0 + outer loop + vertex -17.4268 -11.5861 -0.1 + vertex -17.4764 -11.5321 0 + vertex -17.4764 -11.5321 -0.1 + endloop + endfacet + facet normal -0.736355 -0.676596 0 + outer loop + vertex -17.4764 -11.5321 0 + vertex -17.4268 -11.5861 -0.1 + vertex -17.4268 -11.5861 0 + endloop + endfacet + facet normal -0.946306 -0.323273 0 + outer loop + vertex -17.4002 -11.6639 -0.1 + vertex -17.4268 -11.5861 0 + vertex -17.4268 -11.5861 -0.1 + endloop + endfacet + facet normal -0.946306 -0.323273 0 + outer loop + vertex -17.4268 -11.5861 0 + vertex -17.4002 -11.6639 -0.1 + vertex -17.4002 -11.6639 0 + endloop + endfacet + facet normal -0.998372 -0.057036 0 + outer loop + vertex -17.3941 -11.77 -0.1 + vertex -17.4002 -11.6639 0 + vertex -17.4002 -11.6639 -0.1 + endloop + endfacet + facet normal -0.998372 -0.057036 0 + outer loop + vertex -17.4002 -11.6639 0 + vertex -17.3941 -11.77 -0.1 + vertex -17.3941 -11.77 0 + endloop + endfacet + facet normal -0.992058 0.125781 0 + outer loop + vertex -17.4339 -12.0833 -0.1 + vertex -17.3941 -11.77 0 + vertex -17.3941 -11.77 -0.1 + endloop + endfacet + facet normal -0.992058 0.125781 0 + outer loop + vertex -17.3941 -11.77 0 + vertex -17.4339 -12.0833 -0.1 + vertex -17.4339 -12.0833 0 + endloop + endfacet + facet normal -0.966487 0.256715 0 + outer loop + vertex -17.5116 -12.3759 -0.1 + vertex -17.4339 -12.0833 0 + vertex -17.4339 -12.0833 -0.1 + endloop + endfacet + facet normal -0.966487 0.256715 0 + outer loop + vertex -17.4339 -12.0833 0 + vertex -17.5116 -12.3759 -0.1 + vertex -17.5116 -12.3759 0 + endloop + endfacet + facet normal -0.949465 0.313873 0 + outer loop + vertex -17.6664 -12.8441 -0.1 + vertex -17.5116 -12.3759 0 + vertex -17.5116 -12.3759 -0.1 + endloop + endfacet + facet normal -0.949465 0.313873 0 + outer loop + vertex -17.5116 -12.3759 0 + vertex -17.6664 -12.8441 -0.1 + vertex -17.6664 -12.8441 0 + endloop + endfacet + facet normal -0.938494 0.345297 0 + outer loop + vertex -18.1466 -14.1495 -0.1 + vertex -17.6664 -12.8441 0 + vertex -17.6664 -12.8441 -0.1 + endloop + endfacet + facet normal -0.938494 0.345297 0 + outer loop + vertex -17.6664 -12.8441 0 + vertex -18.1466 -14.1495 -0.1 + vertex -18.1466 -14.1495 0 + endloop + endfacet + facet normal -0.929834 0.367979 0 + outer loop + vertex -18.7537 -15.6836 -0.1 + vertex -18.1466 -14.1495 0 + vertex -18.1466 -14.1495 -0.1 + endloop + endfacet + facet normal -0.929834 0.367979 0 + outer loop + vertex -18.1466 -14.1495 0 + vertex -18.7537 -15.6836 -0.1 + vertex -18.7537 -15.6836 0 + endloop + endfacet + facet normal -0.920782 0.390077 0 + outer loop + vertex -19.3667 -17.1305 -0.1 + vertex -18.7537 -15.6836 0 + vertex -18.7537 -15.6836 -0.1 + endloop + endfacet + facet normal -0.920782 0.390077 0 + outer loop + vertex -18.7537 -15.6836 0 + vertex -19.3667 -17.1305 -0.1 + vertex -19.3667 -17.1305 0 + endloop + endfacet + facet normal -0.87414 0.485675 0 + outer loop + vertex -19.4996 -17.3696 -0.1 + vertex -19.3667 -17.1305 0 + vertex -19.3667 -17.1305 -0.1 + endloop + endfacet + facet normal -0.87414 0.485675 0 + outer loop + vertex -19.3667 -17.1305 0 + vertex -19.4996 -17.3696 -0.1 + vertex -19.4996 -17.3696 0 + endloop + endfacet + facet normal -0.780486 0.625173 0 + outer loop + vertex -19.6713 -17.584 -0.1 + vertex -19.4996 -17.3696 0 + vertex -19.4996 -17.3696 -0.1 + endloop + endfacet + facet normal -0.780486 0.625173 0 + outer loop + vertex -19.4996 -17.3696 0 + vertex -19.6713 -17.584 -0.1 + vertex -19.6713 -17.584 0 + endloop + endfacet + facet normal -0.674318 0.738441 0 + outer loop + vertex -19.6713 -17.584 -0.1 + vertex -19.8743 -17.7693 0 + vertex -19.6713 -17.584 0 + endloop + endfacet + facet normal -0.674318 0.738441 0 + outer loop + vertex -19.8743 -17.7693 0 + vertex -19.6713 -17.584 -0.1 + vertex -19.8743 -17.7693 -0.1 + endloop + endfacet + facet normal -0.55704 0.830486 0 + outer loop + vertex -19.8743 -17.7693 -0.1 + vertex -20.1009 -17.9213 0 + vertex -19.8743 -17.7693 0 + endloop + endfacet + facet normal -0.55704 0.830486 0 + outer loop + vertex -20.1009 -17.9213 0 + vertex -19.8743 -17.7693 -0.1 + vertex -20.1009 -17.9213 -0.1 + endloop + endfacet + facet normal -0.42623 0.904615 0 + outer loop + vertex -20.1009 -17.9213 -0.1 + vertex -20.3435 -18.0357 0 + vertex -20.1009 -17.9213 0 + endloop + endfacet + facet normal -0.42623 0.904615 0 + outer loop + vertex -20.3435 -18.0357 0 + vertex -20.1009 -17.9213 -0.1 + vertex -20.3435 -18.0357 -0.1 + endloop + endfacet + facet normal -0.276826 0.96092 0 + outer loop + vertex -20.3435 -18.0357 -0.1 + vertex -20.5945 -18.108 0 + vertex -20.3435 -18.0357 0 + endloop + endfacet + facet normal -0.276826 0.96092 0 + outer loop + vertex -20.5945 -18.108 0 + vertex -20.3435 -18.0357 -0.1 + vertex -20.5945 -18.108 -0.1 + endloop + endfacet + facet normal -0.102621 0.994721 0 + outer loop + vertex -20.5945 -18.108 -0.1 + vertex -20.8463 -18.1339 0 + vertex -20.5945 -18.108 0 + endloop + endfacet + facet normal -0.102621 0.994721 0 + outer loop + vertex -20.8463 -18.1339 0 + vertex -20.5945 -18.108 -0.1 + vertex -20.8463 -18.1339 -0.1 + endloop + endfacet + facet normal 0.100283 0.994959 -0 + outer loop + vertex -20.8463 -18.1339 -0.1 + vertex -21.0912 -18.1093 0 + vertex -20.8463 -18.1339 0 + endloop + endfacet + facet normal 0.100283 0.994959 0 + outer loop + vertex -21.0912 -18.1093 0 + vertex -20.8463 -18.1339 -0.1 + vertex -21.0912 -18.1093 -0.1 + endloop + endfacet + facet normal 0.237758 0.971324 -0 + outer loop + vertex -21.0912 -18.1093 -0.1 + vertex -21.2545 -18.0693 0 + vertex -21.0912 -18.1093 0 + endloop + endfacet + facet normal 0.237758 0.971324 0 + outer loop + vertex -21.2545 -18.0693 0 + vertex -21.0912 -18.1093 -0.1 + vertex -21.2545 -18.0693 -0.1 + endloop + endfacet + facet normal 0.389432 0.921055 -0 + outer loop + vertex -21.2545 -18.0693 -0.1 + vertex -21.378 -18.0171 0 + vertex -21.2545 -18.0693 0 + endloop + endfacet + facet normal 0.389432 0.921055 0 + outer loop + vertex -21.378 -18.0171 0 + vertex -21.2545 -18.0693 -0.1 + vertex -21.378 -18.0171 -0.1 + endloop + endfacet + facet normal 0.679889 0.733315 -0 + outer loop + vertex -21.378 -18.0171 -0.1 + vertex -21.4669 -17.9347 0 + vertex -21.378 -18.0171 0 + endloop + endfacet + facet normal 0.679889 0.733315 0 + outer loop + vertex -21.4669 -17.9347 0 + vertex -21.378 -18.0171 -0.1 + vertex -21.4669 -17.9347 -0.1 + endloop + endfacet + facet normal 0.910139 0.414303 0 + outer loop + vertex -21.4669 -17.9347 0 + vertex -21.5263 -17.8042 -0.1 + vertex -21.5263 -17.8042 0 + endloop + endfacet + facet normal 0.910139 0.414303 0 + outer loop + vertex -21.5263 -17.8042 -0.1 + vertex -21.4669 -17.9347 0 + vertex -21.4669 -17.9347 -0.1 + endloop + endfacet + facet normal 0.984407 0.175905 0 + outer loop + vertex -21.5263 -17.8042 0 + vertex -21.5614 -17.6077 -0.1 + vertex -21.5614 -17.6077 0 + endloop + endfacet + facet normal 0.984407 0.175905 0 + outer loop + vertex -21.5614 -17.6077 -0.1 + vertex -21.5263 -17.8042 0 + vertex -21.5263 -17.8042 -0.1 + endloop + endfacet + facet normal 0.998374 0.057002 0 + outer loop + vertex -21.5614 -17.6077 0 + vertex -21.5774 -17.3273 -0.1 + vertex -21.5774 -17.3273 0 + endloop + endfacet + facet normal 0.998374 0.057002 0 + outer loop + vertex -21.5774 -17.3273 -0.1 + vertex -21.5614 -17.6077 0 + vertex -21.5614 -17.6077 -0.1 + endloop + endfacet + facet normal 0.999987 -0.00513458 0 + outer loop + vertex -21.5774 -17.3273 0 + vertex -21.5729 -16.4428 -0.1 + vertex -21.5729 -16.4428 0 + endloop + endfacet + facet normal 0.999987 -0.00513458 0 + outer loop + vertex -21.5729 -16.4428 -0.1 + vertex -21.5774 -17.3273 0 + vertex -21.5774 -17.3273 -0.1 + endloop + endfacet + facet normal 0.999992 -0.00401347 0 + outer loop + vertex -21.5729 -16.4428 0 + vertex -21.5693 -15.5508 -0.1 + vertex -21.5693 -15.5508 0 + endloop + endfacet + facet normal 0.999992 -0.00401347 0 + outer loop + vertex -21.5693 -15.5508 -0.1 + vertex -21.5729 -16.4428 0 + vertex -21.5729 -16.4428 -0.1 + endloop + endfacet + facet normal 0.997925 0.0643945 0 + outer loop + vertex -21.5693 -15.5508 0 + vertex -21.5879 -15.2616 -0.1 + vertex -21.5879 -15.2616 0 + endloop + endfacet + facet normal 0.997925 0.0643945 0 + outer loop + vertex -21.5879 -15.2616 -0.1 + vertex -21.5693 -15.5508 0 + vertex -21.5693 -15.5508 -0.1 + endloop + endfacet + facet normal 0.982338 0.187114 0 + outer loop + vertex -21.5879 -15.2616 0 + vertex -21.6284 -15.0493 -0.1 + vertex -21.6284 -15.0493 0 + endloop + endfacet + facet normal 0.982338 0.187114 0 + outer loop + vertex -21.6284 -15.0493 -0.1 + vertex -21.5879 -15.2616 0 + vertex -21.5879 -15.2616 -0.1 + endloop + endfacet + facet normal 0.915958 0.401274 0 + outer loop + vertex -21.6284 -15.0493 0 + vertex -21.6966 -14.8935 -0.1 + vertex -21.6966 -14.8935 0 + endloop + endfacet + facet normal 0.915958 0.401274 0 + outer loop + vertex -21.6966 -14.8935 -0.1 + vertex -21.6284 -15.0493 0 + vertex -21.6284 -15.0493 -0.1 + endloop + endfacet + facet normal 0.761577 0.648074 0 + outer loop + vertex -21.6966 -14.8935 0 + vertex -21.7989 -14.7733 -0.1 + vertex -21.7989 -14.7733 0 + endloop + endfacet + facet normal 0.761577 0.648074 0 + outer loop + vertex -21.7989 -14.7733 -0.1 + vertex -21.6966 -14.8935 0 + vertex -21.6966 -14.8935 -0.1 + endloop + endfacet + facet normal 0.593991 0.804472 -0 + outer loop + vertex -21.7989 -14.7733 -0.1 + vertex -21.9412 -14.6683 0 + vertex -21.7989 -14.7733 0 + endloop + endfacet + facet normal 0.593991 0.804472 0 + outer loop + vertex -21.9412 -14.6683 0 + vertex -21.7989 -14.7733 -0.1 + vertex -21.9412 -14.6683 -0.1 + endloop + endfacet + facet normal 0.506241 0.862392 -0 + outer loop + vertex -21.9412 -14.6683 -0.1 + vertex -22.1296 -14.5577 0 + vertex -21.9412 -14.6683 0 + endloop + endfacet + facet normal 0.506241 0.862392 0 + outer loop + vertex -22.1296 -14.5577 0 + vertex -21.9412 -14.6683 -0.1 + vertex -22.1296 -14.5577 -0.1 + endloop + endfacet + facet normal 0.406178 0.913794 -0 + outer loop + vertex -22.1296 -14.5577 -0.1 + vertex -22.3213 -14.4724 0 + vertex -22.1296 -14.5577 0 + endloop + endfacet + facet normal 0.406178 0.913794 0 + outer loop + vertex -22.3213 -14.4724 0 + vertex -22.1296 -14.5577 -0.1 + vertex -22.3213 -14.4724 -0.1 + endloop + endfacet + facet normal 0.272589 0.962131 -0 + outer loop + vertex -22.3213 -14.4724 -0.1 + vertex -22.5778 -14.3998 0 + vertex -22.3213 -14.4724 0 + endloop + endfacet + facet normal 0.272589 0.962131 0 + outer loop + vertex -22.5778 -14.3998 0 + vertex -22.3213 -14.4724 -0.1 + vertex -22.5778 -14.3998 -0.1 + endloop + endfacet + facet normal 0.181059 0.983472 -0 + outer loop + vertex -22.5778 -14.3998 -0.1 + vertex -22.9103 -14.3386 0 + vertex -22.5778 -14.3998 0 + endloop + endfacet + facet normal 0.181059 0.983472 0 + outer loop + vertex -22.9103 -14.3386 0 + vertex -22.5778 -14.3998 -0.1 + vertex -22.9103 -14.3386 -0.1 + endloop + endfacet + facet normal 0.120311 0.992736 -0 + outer loop + vertex -22.9103 -14.3386 -0.1 + vertex -23.3301 -14.2877 0 + vertex -22.9103 -14.3386 0 + endloop + endfacet + facet normal 0.120311 0.992736 0 + outer loop + vertex -23.3301 -14.2877 0 + vertex -22.9103 -14.3386 -0.1 + vertex -23.3301 -14.2877 -0.1 + endloop + endfacet + facet normal 0.0654234 0.997858 -0 + outer loop + vertex -23.3301 -14.2877 -0.1 + vertex -24.4767 -14.2125 0 + vertex -23.3301 -14.2877 0 + endloop + endfacet + facet normal 0.0654234 0.997858 0 + outer loop + vertex -24.4767 -14.2125 0 + vertex -23.3301 -14.2877 -0.1 + vertex -24.4767 -14.2125 -0.1 + endloop + endfacet + facet normal 0.0288976 0.999582 -0 + outer loop + vertex -24.4767 -14.2125 -0.1 + vertex -26.1077 -14.1654 0 + vertex -24.4767 -14.2125 0 + endloop + endfacet + facet normal 0.0288976 0.999582 0 + outer loop + vertex -26.1077 -14.1654 0 + vertex -24.4767 -14.2125 -0.1 + vertex -26.1077 -14.1654 -0.1 + endloop + endfacet + facet normal 0.0099076 0.999951 -0 + outer loop + vertex -26.1077 -14.1654 -0.1 + vertex -28.2448 -14.1442 0 + vertex -26.1077 -14.1654 0 + endloop + endfacet + facet normal 0.0099076 0.999951 0 + outer loop + vertex -28.2448 -14.1442 0 + vertex -26.1077 -14.1654 -0.1 + vertex -28.2448 -14.1442 -0.1 + endloop + endfacet + facet normal -0.0184714 0.999829 0 + outer loop + vertex -28.2448 -14.1442 -0.1 + vertex -28.9898 -14.1579 0 + vertex -28.2448 -14.1442 0 + endloop + endfacet + facet normal -0.0184714 0.999829 0 + outer loop + vertex -28.9898 -14.1579 0 + vertex -28.2448 -14.1442 -0.1 + vertex -28.9898 -14.1579 -0.1 + endloop + endfacet + facet normal -0.0583775 0.998295 0 + outer loop + vertex -28.9898 -14.1579 -0.1 + vertex -29.549 -14.1906 0 + vertex -28.9898 -14.1579 0 + endloop + endfacet + facet normal -0.0583775 0.998295 0 + outer loop + vertex -29.549 -14.1906 0 + vertex -28.9898 -14.1579 -0.1 + vertex -29.549 -14.1906 -0.1 + endloop + endfacet + facet normal -0.134346 0.990934 0 + outer loop + vertex -29.549 -14.1906 -0.1 + vertex -29.9449 -14.2443 0 + vertex -29.549 -14.1906 0 + endloop + endfacet + facet normal -0.134346 0.990934 0 + outer loop + vertex -29.9449 -14.2443 0 + vertex -29.549 -14.1906 -0.1 + vertex -29.9449 -14.2443 -0.1 + endloop + endfacet + facet normal -0.287948 0.957646 0 + outer loop + vertex -29.9449 -14.2443 -0.1 + vertex -30.1999 -14.321 0 + vertex -29.9449 -14.2443 0 + endloop + endfacet + facet normal -0.287948 0.957646 0 + outer loop + vertex -30.1999 -14.321 0 + vertex -29.9449 -14.2443 -0.1 + vertex -30.1999 -14.321 -0.1 + endloop + endfacet + facet normal -0.503498 0.863996 0 + outer loop + vertex -30.1999 -14.321 -0.1 + vertex -30.2816 -14.3686 0 + vertex -30.1999 -14.321 0 + endloop + endfacet + facet normal -0.503498 0.863996 0 + outer loop + vertex -30.2816 -14.3686 0 + vertex -30.1999 -14.321 -0.1 + vertex -30.2816 -14.3686 -0.1 + endloop + endfacet + facet normal -0.702151 0.712028 0 + outer loop + vertex -30.2816 -14.3686 -0.1 + vertex -30.3364 -14.4227 0 + vertex -30.2816 -14.3686 0 + endloop + endfacet + facet normal -0.702151 0.712028 0 + outer loop + vertex -30.3364 -14.4227 0 + vertex -30.2816 -14.3686 -0.1 + vertex -30.3364 -14.4227 -0.1 + endloop + endfacet + facet normal -0.891918 0.452198 0 + outer loop + vertex -30.3673 -14.4836 -0.1 + vertex -30.3364 -14.4227 0 + vertex -30.3364 -14.4227 -0.1 + endloop + endfacet + facet normal -0.891918 0.452198 0 + outer loop + vertex -30.3364 -14.4227 0 + vertex -30.3673 -14.4836 -0.1 + vertex -30.3673 -14.4836 0 + endloop + endfacet + facet normal -0.990022 0.140913 0 + outer loop + vertex -30.377 -14.5514 -0.1 + vertex -30.3673 -14.4836 0 + vertex -30.3673 -14.4836 -0.1 + endloop + endfacet + facet normal -0.990022 0.140913 0 + outer loop + vertex -30.3673 -14.4836 0 + vertex -30.377 -14.5514 -0.1 + vertex -30.377 -14.5514 0 + endloop + endfacet + facet normal -0.969743 0.244126 0 + outer loop + vertex -30.4158 -14.7057 -0.1 + vertex -30.377 -14.5514 0 + vertex -30.377 -14.5514 -0.1 + endloop + endfacet + facet normal -0.969743 0.244126 0 + outer loop + vertex -30.377 -14.5514 0 + vertex -30.4158 -14.7057 -0.1 + vertex -30.4158 -14.7057 0 + endloop + endfacet + facet normal -0.925454 0.378859 0 + outer loop + vertex -30.5215 -14.964 -0.1 + vertex -30.4158 -14.7057 0 + vertex -30.4158 -14.7057 -0.1 + endloop + endfacet + facet normal -0.925454 0.378859 0 + outer loop + vertex -30.4158 -14.7057 0 + vertex -30.5215 -14.964 -0.1 + vertex -30.5215 -14.964 0 + endloop + endfacet + facet normal -0.901668 0.432429 0 + outer loop + vertex -30.678 -15.2903 -0.1 + vertex -30.5215 -14.964 0 + vertex -30.5215 -14.964 -0.1 + endloop + endfacet + facet normal -0.901668 0.432429 0 + outer loop + vertex -30.5215 -14.964 0 + vertex -30.678 -15.2903 -0.1 + vertex -30.678 -15.2903 0 + endloop + endfacet + facet normal -0.882363 0.47057 0 + outer loop + vertex -30.8691 -15.6487 -0.1 + vertex -30.678 -15.2903 0 + vertex -30.678 -15.2903 -0.1 + endloop + endfacet + facet normal -0.882363 0.47057 0 + outer loop + vertex -30.678 -15.2903 0 + vertex -30.8691 -15.6487 -0.1 + vertex -30.8691 -15.6487 0 + endloop + endfacet + facet normal -0.892172 0.451696 0 + outer loop + vertex -31.1223 -16.1487 -0.1 + vertex -30.8691 -15.6487 0 + vertex -30.8691 -15.6487 -0.1 + endloop + endfacet + facet normal -0.892172 0.451696 0 + outer loop + vertex -30.8691 -15.6487 0 + vertex -31.1223 -16.1487 -0.1 + vertex -31.1223 -16.1487 0 + endloop + endfacet + facet normal -0.909515 0.415671 0 + outer loop + vertex -31.4477 -16.8607 -0.1 + vertex -31.1223 -16.1487 0 + vertex -31.1223 -16.1487 -0.1 + endloop + endfacet + facet normal -0.909515 0.415671 0 + outer loop + vertex -31.1223 -16.1487 0 + vertex -31.4477 -16.8607 -0.1 + vertex -31.4477 -16.8607 0 + endloop + endfacet + facet normal -0.918988 0.394285 0 + outer loop + vertex -31.8034 -17.6899 -0.1 + vertex -31.4477 -16.8607 0 + vertex -31.4477 -16.8607 -0.1 + endloop + endfacet + facet normal -0.918988 0.394285 0 + outer loop + vertex -31.4477 -16.8607 0 + vertex -31.8034 -17.6899 -0.1 + vertex -31.8034 -17.6899 0 + endloop + endfacet + facet normal -0.927129 0.374741 0 + outer loop + vertex -32.1476 -18.5412 -0.1 + vertex -31.8034 -17.6899 0 + vertex -31.8034 -17.6899 -0.1 + endloop + endfacet + facet normal -0.927129 0.374741 0 + outer loop + vertex -31.8034 -17.6899 0 + vertex -32.1476 -18.5412 -0.1 + vertex -32.1476 -18.5412 0 + endloop + endfacet + facet normal -0.929897 0.36782 0 + outer loop + vertex -33.2902 -21.4299 -0.1 + vertex -32.1476 -18.5412 0 + vertex -32.1476 -18.5412 -0.1 + endloop + endfacet + facet normal -0.929897 0.36782 0 + outer loop + vertex -32.1476 -18.5412 0 + vertex -33.2902 -21.4299 -0.1 + vertex -33.2902 -21.4299 0 + endloop + endfacet + facet normal -0.931897 0.362724 0 + outer loop + vertex -33.4325 -21.7956 -0.1 + vertex -33.2902 -21.4299 0 + vertex -33.2902 -21.4299 -0.1 + endloop + endfacet + facet normal -0.931897 0.362724 0 + outer loop + vertex -33.2902 -21.4299 0 + vertex -33.4325 -21.7956 -0.1 + vertex -33.4325 -21.7956 0 + endloop + endfacet + facet normal -0.968991 0.247098 0 + outer loop + vertex -33.503 -22.0719 -0.1 + vertex -33.4325 -21.7956 0 + vertex -33.4325 -21.7956 -0.1 + endloop + endfacet + facet normal -0.968991 0.247098 0 + outer loop + vertex -33.4325 -21.7956 0 + vertex -33.503 -22.0719 -0.1 + vertex -33.503 -22.0719 0 + endloop + endfacet + facet normal -0.999995 -0.00318704 0 + outer loop + vertex -33.5026 -22.1809 -0.1 + vertex -33.503 -22.0719 0 + vertex -33.503 -22.0719 -0.1 + endloop + endfacet + facet normal -0.999995 -0.00318704 0 + outer loop + vertex -33.503 -22.0719 0 + vertex -33.5026 -22.1809 -0.1 + vertex -33.5026 -22.1809 0 + endloop + endfacet + facet normal -0.954349 -0.298693 0 + outer loop + vertex -33.4739 -22.2725 -0.1 + vertex -33.5026 -22.1809 0 + vertex -33.5026 -22.1809 -0.1 + endloop + endfacet + facet normal -0.954349 -0.298693 0 + outer loop + vertex -33.5026 -22.1809 0 + vertex -33.4739 -22.2725 -0.1 + vertex -33.4739 -22.2725 0 + endloop + endfacet + facet normal -0.782807 -0.622265 0 + outer loop + vertex -33.4135 -22.3486 -0.1 + vertex -33.4739 -22.2725 0 + vertex -33.4739 -22.2725 -0.1 + endloop + endfacet + facet normal -0.782807 -0.622265 0 + outer loop + vertex -33.4739 -22.2725 0 + vertex -33.4135 -22.3486 -0.1 + vertex -33.4135 -22.3486 0 + endloop + endfacet + facet normal -0.544751 -0.838598 0 + outer loop + vertex -33.4135 -22.3486 -0.1 + vertex -33.3177 -22.4108 0 + vertex -33.4135 -22.3486 0 + endloop + endfacet + facet normal -0.544751 -0.838598 -0 + outer loop + vertex -33.3177 -22.4108 0 + vertex -33.4135 -22.3486 -0.1 + vertex -33.3177 -22.4108 -0.1 + endloop + endfacet + facet normal -0.348432 -0.937334 0 + outer loop + vertex -33.3177 -22.4108 -0.1 + vertex -33.1833 -22.4608 0 + vertex -33.3177 -22.4108 0 + endloop + endfacet + facet normal -0.348432 -0.937334 -0 + outer loop + vertex -33.1833 -22.4608 0 + vertex -33.3177 -22.4108 -0.1 + vertex -33.1833 -22.4608 -0.1 + endloop + endfacet + facet normal -0.218014 -0.975946 0 + outer loop + vertex -33.1833 -22.4608 -0.1 + vertex -33.0067 -22.5002 0 + vertex -33.1833 -22.4608 0 + endloop + endfacet + facet normal -0.218014 -0.975946 -0 + outer loop + vertex -33.0067 -22.5002 0 + vertex -33.1833 -22.4608 -0.1 + vertex -33.0067 -22.5002 -0.1 + endloop + endfacet + facet normal -0.108894 -0.994053 0 + outer loop + vertex -33.0067 -22.5002 -0.1 + vertex -32.5132 -22.5543 0 + vertex -33.0067 -22.5002 0 + endloop + endfacet + facet normal -0.108894 -0.994053 -0 + outer loop + vertex -32.5132 -22.5543 0 + vertex -33.0067 -22.5002 -0.1 + vertex -32.5132 -22.5543 -0.1 + endloop + endfacet + facet normal -0.0456949 -0.998955 0 + outer loop + vertex -32.5132 -22.5543 -0.1 + vertex -31.8095 -22.5865 0 + vertex -32.5132 -22.5543 0 + endloop + endfacet + facet normal -0.0456949 -0.998955 -0 + outer loop + vertex -31.8095 -22.5865 0 + vertex -32.5132 -22.5543 -0.1 + vertex -31.8095 -22.5865 -0.1 + endloop + endfacet + facet normal -0.0252584 -0.999681 0 + outer loop + vertex -31.8095 -22.5865 -0.1 + vertex -30.868 -22.6102 0 + vertex -31.8095 -22.5865 0 + endloop + endfacet + facet normal -0.0252584 -0.999681 -0 + outer loop + vertex -30.868 -22.6102 0 + vertex -31.8095 -22.5865 -0.1 + vertex -30.868 -22.6102 -0.1 + endloop + endfacet + facet normal -0.0103281 -0.999947 0 + outer loop + vertex -30.868 -22.6102 -0.1 + vertex -30.2322 -22.6168 0 + vertex -30.868 -22.6102 0 + endloop + endfacet + facet normal -0.0103281 -0.999947 -0 + outer loop + vertex -30.2322 -22.6168 0 + vertex -30.868 -22.6102 -0.1 + vertex -30.2322 -22.6168 -0.1 + endloop + endfacet + facet normal 0.0183057 -0.999832 0 + outer loop + vertex -30.2322 -22.6168 -0.1 + vertex -29.6427 -22.606 0 + vertex -30.2322 -22.6168 0 + endloop + endfacet + facet normal 0.0183057 -0.999832 0 + outer loop + vertex -29.6427 -22.606 0 + vertex -30.2322 -22.6168 -0.1 + vertex -29.6427 -22.606 -0.1 + endloop + endfacet + facet normal 0.0536309 -0.998561 0 + outer loop + vertex -29.6427 -22.606 -0.1 + vertex -29.0966 -22.5767 0 + vertex -29.6427 -22.606 0 + endloop + endfacet + facet normal 0.0536309 -0.998561 0 + outer loop + vertex -29.0966 -22.5767 0 + vertex -29.6427 -22.606 -0.1 + vertex -29.0966 -22.5767 -0.1 + endloop + endfacet + facet normal 0.0966018 -0.995323 0 + outer loop + vertex -29.0966 -22.5767 -0.1 + vertex -28.5914 -22.5277 0 + vertex -29.0966 -22.5767 0 + endloop + endfacet + facet normal 0.0966018 -0.995323 0 + outer loop + vertex -28.5914 -22.5277 0 + vertex -29.0966 -22.5767 -0.1 + vertex -28.5914 -22.5277 -0.1 + endloop + endfacet + facet normal 0.148005 -0.988987 0 + outer loop + vertex -28.5914 -22.5277 -0.1 + vertex -28.1242 -22.4577 0 + vertex -28.5914 -22.5277 0 + endloop + endfacet + facet normal 0.148005 -0.988987 0 + outer loop + vertex -28.1242 -22.4577 0 + vertex -28.5914 -22.5277 -0.1 + vertex -28.1242 -22.4577 -0.1 + endloop + endfacet + facet normal 0.208284 -0.978068 0 + outer loop + vertex -28.1242 -22.4577 -0.1 + vertex -27.6923 -22.3658 0 + vertex -28.1242 -22.4577 0 + endloop + endfacet + facet normal 0.208284 -0.978068 0 + outer loop + vertex -27.6923 -22.3658 0 + vertex -28.1242 -22.4577 -0.1 + vertex -27.6923 -22.3658 -0.1 + endloop + endfacet + facet normal 0.277178 -0.960818 0 + outer loop + vertex -27.6923 -22.3658 -0.1 + vertex -27.2929 -22.2506 0 + vertex -27.6923 -22.3658 0 + endloop + endfacet + facet normal 0.277178 -0.960818 0 + outer loop + vertex -27.2929 -22.2506 0 + vertex -27.6923 -22.3658 -0.1 + vertex -27.2929 -22.2506 -0.1 + endloop + endfacet + facet normal 0.353412 -0.935468 0 + outer loop + vertex -27.2929 -22.2506 -0.1 + vertex -26.9234 -22.1109 0 + vertex -27.2929 -22.2506 0 + endloop + endfacet + facet normal 0.353412 -0.935468 0 + outer loop + vertex -26.9234 -22.1109 0 + vertex -27.2929 -22.2506 -0.1 + vertex -26.9234 -22.1109 -0.1 + endloop + endfacet + facet normal 0.434442 -0.9007 0 + outer loop + vertex -26.9234 -22.1109 -0.1 + vertex -26.5809 -21.9457 0 + vertex -26.9234 -22.1109 0 + endloop + endfacet + facet normal 0.434442 -0.9007 0 + outer loop + vertex -26.5809 -21.9457 0 + vertex -26.9234 -22.1109 -0.1 + vertex -26.5809 -21.9457 -0.1 + endloop + endfacet + facet normal 0.516567 -0.856247 0 + outer loop + vertex -26.5809 -21.9457 -0.1 + vertex -26.2627 -21.7538 0 + vertex -26.5809 -21.9457 0 + endloop + endfacet + facet normal 0.516567 -0.856247 0 + outer loop + vertex -26.2627 -21.7538 0 + vertex -26.5809 -21.9457 -0.1 + vertex -26.2627 -21.7538 -0.1 + endloop + endfacet + facet normal 0.595538 -0.803327 0 + outer loop + vertex -26.2627 -21.7538 -0.1 + vertex -25.9661 -21.5339 0 + vertex -26.2627 -21.7538 0 + endloop + endfacet + facet normal 0.595538 -0.803327 0 + outer loop + vertex -25.9661 -21.5339 0 + vertex -26.2627 -21.7538 -0.1 + vertex -25.9661 -21.5339 -0.1 + endloop + endfacet + facet normal 0.667477 -0.744631 0 + outer loop + vertex -25.9661 -21.5339 -0.1 + vertex -25.6884 -21.2849 0 + vertex -25.9661 -21.5339 0 + endloop + endfacet + facet normal 0.667477 -0.744631 0 + outer loop + vertex -25.6884 -21.2849 0 + vertex -25.9661 -21.5339 -0.1 + vertex -25.6884 -21.2849 -0.1 + endloop + endfacet + facet normal 0.729709 -0.683757 0 + outer loop + vertex -25.6884 -21.2849 0 + vertex -25.4267 -21.0057 -0.1 + vertex -25.4267 -21.0057 0 + endloop + endfacet + facet normal 0.729709 -0.683757 0 + outer loop + vertex -25.4267 -21.0057 -0.1 + vertex -25.6884 -21.2849 0 + vertex -25.6884 -21.2849 -0.1 + endloop + endfacet + facet normal 0.781167 -0.624322 0 + outer loop + vertex -25.4267 -21.0057 0 + vertex -25.1784 -20.695 -0.1 + vertex -25.1784 -20.695 0 + endloop + endfacet + facet normal 0.781167 -0.624322 0 + outer loop + vertex -25.1784 -20.695 -0.1 + vertex -25.4267 -21.0057 0 + vertex -25.4267 -21.0057 -0.1 + endloop + endfacet + facet normal 0.82216 -0.569257 0 + outer loop + vertex -25.1784 -20.695 0 + vertex -24.9407 -20.3516 -0.1 + vertex -24.9407 -20.3516 0 + endloop + endfacet + facet normal 0.82216 -0.569257 0 + outer loop + vertex -24.9407 -20.3516 -0.1 + vertex -25.1784 -20.695 0 + vertex -25.1784 -20.695 -0.1 + endloop + endfacet + facet normal 0.853894 -0.520447 0 + outer loop + vertex -24.9407 -20.3516 0 + vertex -24.7108 -19.9745 -0.1 + vertex -24.7108 -19.9745 0 + endloop + endfacet + facet normal 0.853894 -0.520447 0 + outer loop + vertex -24.7108 -19.9745 -0.1 + vertex -24.9407 -20.3516 0 + vertex -24.9407 -20.3516 -0.1 + endloop + endfacet + facet normal 0.85126 -0.524745 0 + outer loop + vertex -24.7108 -19.9745 0 + vertex -24.3738 -19.4278 -0.1 + vertex -24.3738 -19.4278 0 + endloop + endfacet + facet normal 0.85126 -0.524745 0 + outer loop + vertex -24.3738 -19.4278 -0.1 + vertex -24.7108 -19.9745 0 + vertex -24.7108 -19.9745 -0.1 + endloop + endfacet + facet normal 0.796036 -0.60525 0 + outer loop + vertex -24.3738 -19.4278 0 + vertex -24.2328 -19.2424 -0.1 + vertex -24.2328 -19.2424 0 + endloop + endfacet + facet normal 0.796036 -0.60525 0 + outer loop + vertex -24.2328 -19.2424 -0.1 + vertex -24.3738 -19.4278 0 + vertex -24.3738 -19.4278 -0.1 + endloop + endfacet + facet normal 0.714094 -0.70005 0 + outer loop + vertex -24.2328 -19.2424 0 + vertex -24.0993 -19.1062 -0.1 + vertex -24.0993 -19.1062 0 + endloop + endfacet + facet normal 0.714094 -0.70005 0 + outer loop + vertex -24.0993 -19.1062 -0.1 + vertex -24.2328 -19.2424 0 + vertex -24.2328 -19.2424 -0.1 + endloop + endfacet + facet normal 0.573399 -0.819276 0 + outer loop + vertex -24.0993 -19.1062 -0.1 + vertex -23.9653 -19.0124 0 + vertex -24.0993 -19.1062 0 + endloop + endfacet + facet normal 0.573399 -0.819276 0 + outer loop + vertex -23.9653 -19.0124 0 + vertex -24.0993 -19.1062 -0.1 + vertex -23.9653 -19.0124 -0.1 + endloop + endfacet + facet normal 0.378849 -0.925458 0 + outer loop + vertex -23.9653 -19.0124 -0.1 + vertex -23.8226 -18.954 0 + vertex -23.9653 -19.0124 0 + endloop + endfacet + facet normal 0.378849 -0.925458 0 + outer loop + vertex -23.8226 -18.954 0 + vertex -23.9653 -19.0124 -0.1 + vertex -23.8226 -18.954 -0.1 + endloop + endfacet + facet normal 0.184661 -0.982802 0 + outer loop + vertex -23.8226 -18.954 -0.1 + vertex -23.6632 -18.9241 0 + vertex -23.8226 -18.954 0 + endloop + endfacet + facet normal 0.184661 -0.982802 0 + outer loop + vertex -23.6632 -18.9241 0 + vertex -23.8226 -18.954 -0.1 + vertex -23.6632 -18.9241 -0.1 + endloop + endfacet + facet normal 0.0457652 -0.998952 0 + outer loop + vertex -23.6632 -18.9241 -0.1 + vertex -23.4791 -18.9156 0 + vertex -23.6632 -18.9241 0 + endloop + endfacet + facet normal 0.0457652 -0.998952 0 + outer loop + vertex -23.4791 -18.9156 0 + vertex -23.6632 -18.9241 -0.1 + vertex -23.4791 -18.9156 -0.1 + endloop + endfacet + facet normal -0.0578368 -0.998326 0 + outer loop + vertex -23.4791 -18.9156 -0.1 + vertex -23.1186 -18.9365 0 + vertex -23.4791 -18.9156 0 + endloop + endfacet + facet normal -0.0578368 -0.998326 -0 + outer loop + vertex -23.1186 -18.9365 0 + vertex -23.4791 -18.9156 -0.1 + vertex -23.1186 -18.9365 -0.1 + endloop + endfacet + facet normal -0.193675 -0.981066 0 + outer loop + vertex -23.1186 -18.9365 -0.1 + vertex -22.9739 -18.9651 0 + vertex -23.1186 -18.9365 0 + endloop + endfacet + facet normal -0.193675 -0.981066 -0 + outer loop + vertex -22.9739 -18.9651 0 + vertex -23.1186 -18.9365 -0.1 + vertex -22.9739 -18.9651 -0.1 + endloop + endfacet + facet normal -0.332798 -0.942998 0 + outer loop + vertex -22.9739 -18.9651 -0.1 + vertex -22.8524 -19.008 0 + vertex -22.9739 -18.9651 0 + endloop + endfacet + facet normal -0.332798 -0.942998 -0 + outer loop + vertex -22.8524 -19.008 0 + vertex -22.9739 -18.9651 -0.1 + vertex -22.8524 -19.008 -0.1 + endloop + endfacet + facet normal -0.512852 -0.858477 0 + outer loop + vertex -22.8524 -19.008 -0.1 + vertex -22.7539 -19.0668 0 + vertex -22.8524 -19.008 0 + endloop + endfacet + facet normal -0.512852 -0.858477 -0 + outer loop + vertex -22.7539 -19.0668 0 + vertex -22.8524 -19.008 -0.1 + vertex -22.7539 -19.0668 -0.1 + endloop + endfacet + facet normal -0.710432 -0.703766 0 + outer loop + vertex -22.6782 -19.1432 -0.1 + vertex -22.7539 -19.0668 0 + vertex -22.7539 -19.0668 -0.1 + endloop + endfacet + facet normal -0.710432 -0.703766 0 + outer loop + vertex -22.7539 -19.0668 0 + vertex -22.6782 -19.1432 -0.1 + vertex -22.6782 -19.1432 0 + endloop + endfacet + facet normal -0.873955 -0.486007 0 + outer loop + vertex -22.625 -19.2389 -0.1 + vertex -22.6782 -19.1432 0 + vertex -22.6782 -19.1432 -0.1 + endloop + endfacet + facet normal -0.873955 -0.486007 0 + outer loop + vertex -22.6782 -19.1432 0 + vertex -22.625 -19.2389 -0.1 + vertex -22.625 -19.2389 0 + endloop + endfacet + facet normal -0.966491 -0.256701 0 + outer loop + vertex -22.594 -19.3555 -0.1 + vertex -22.625 -19.2389 0 + vertex -22.625 -19.2389 -0.1 + endloop + endfacet + facet normal -0.966491 -0.256701 0 + outer loop + vertex -22.625 -19.2389 0 + vertex -22.594 -19.3555 -0.1 + vertex -22.594 -19.3555 0 + endloop + endfacet + facet normal -0.997923 -0.0644192 0 + outer loop + vertex -22.585 -19.4947 -0.1 + vertex -22.594 -19.3555 0 + vertex -22.594 -19.3555 -0.1 + endloop + endfacet + facet normal -0.997923 -0.0644192 0 + outer loop + vertex -22.594 -19.3555 0 + vertex -22.585 -19.4947 -0.1 + vertex -22.585 -19.4947 0 + endloop + endfacet + facet normal -0.996972 0.0777592 0 + outer loop + vertex -22.5978 -19.6581 -0.1 + vertex -22.585 -19.4947 0 + vertex -22.585 -19.4947 -0.1 + endloop + endfacet + facet normal -0.996972 0.0777592 0 + outer loop + vertex -22.585 -19.4947 0 + vertex -22.5978 -19.6581 -0.1 + vertex -22.5978 -19.6581 0 + endloop + endfacet + facet normal -0.976488 0.215571 0 + outer loop + vertex -22.6874 -20.0641 -0.1 + vertex -22.5978 -19.6581 0 + vertex -22.5978 -19.6581 -0.1 + endloop + endfacet + facet normal -0.976488 0.215571 0 + outer loop + vertex -22.5978 -19.6581 0 + vertex -22.6874 -20.0641 -0.1 + vertex -22.6874 -20.0641 0 + endloop + endfacet + facet normal -0.949119 0.314918 0 + outer loop + vertex -22.8608 -20.5868 -0.1 + vertex -22.6874 -20.0641 0 + vertex -22.6874 -20.0641 -0.1 + endloop + endfacet + facet normal -0.949119 0.314918 0 + outer loop + vertex -22.6874 -20.0641 0 + vertex -22.8608 -20.5868 -0.1 + vertex -22.8608 -20.5868 0 + endloop + endfacet + facet normal -0.931342 0.364145 0 + outer loop + vertex -23.116 -21.2395 -0.1 + vertex -22.8608 -20.5868 0 + vertex -22.8608 -20.5868 -0.1 + endloop + endfacet + facet normal -0.931342 0.364145 0 + outer loop + vertex -22.8608 -20.5868 0 + vertex -23.116 -21.2395 -0.1 + vertex -23.116 -21.2395 0 + endloop + endfacet + facet normal -0.926122 0.377225 0 + outer loop + vertex -24.3958 -24.3815 -0.1 + vertex -23.116 -21.2395 0 + vertex -23.116 -21.2395 -0.1 + endloop + endfacet + facet normal -0.926122 0.377225 0 + outer loop + vertex -23.116 -21.2395 0 + vertex -24.3958 -24.3815 -0.1 + vertex -24.3958 -24.3815 0 + endloop + endfacet + facet normal -0.92485 0.380332 0 + outer loop + vertex -24.9793 -25.8003 -0.1 + vertex -24.3958 -24.3815 0 + vertex -24.3958 -24.3815 -0.1 + endloop + endfacet + facet normal -0.92485 0.380332 0 + outer loop + vertex -24.3958 -24.3815 0 + vertex -24.9793 -25.8003 -0.1 + vertex -24.9793 -25.8003 0 + endloop + endfacet + facet normal -0.917414 0.397935 0 + outer loop + vertex -25.4624 -26.9141 -0.1 + vertex -24.9793 -25.8003 0 + vertex -24.9793 -25.8003 -0.1 + endloop + endfacet + facet normal -0.917414 0.397935 0 + outer loop + vertex -24.9793 -25.8003 0 + vertex -25.4624 -26.9141 -0.1 + vertex -25.4624 -26.9141 0 + endloop + endfacet + facet normal -0.901103 0.433605 0 + outer loop + vertex -25.8688 -27.7587 -0.1 + vertex -25.4624 -26.9141 0 + vertex -25.4624 -26.9141 -0.1 + endloop + endfacet + facet normal -0.901103 0.433605 0 + outer loop + vertex -25.4624 -26.9141 0 + vertex -25.8688 -27.7587 -0.1 + vertex -25.8688 -27.7587 0 + endloop + endfacet + facet normal -0.87739 0.479778 0 + outer loop + vertex -26.0506 -28.0911 -0.1 + vertex -25.8688 -27.7587 0 + vertex -25.8688 -27.7587 -0.1 + endloop + endfacet + facet normal -0.87739 0.479778 0 + outer loop + vertex -25.8688 -27.7587 0 + vertex -26.0506 -28.0911 -0.1 + vertex -26.0506 -28.0911 0 + endloop + endfacet + facet normal -0.851572 0.524237 0 + outer loop + vertex -26.2221 -28.3696 -0.1 + vertex -26.0506 -28.0911 0 + vertex -26.0506 -28.0911 -0.1 + endloop + endfacet + facet normal -0.851572 0.524237 0 + outer loop + vertex -26.0506 -28.0911 0 + vertex -26.2221 -28.3696 -0.1 + vertex -26.2221 -28.3696 0 + endloop + endfacet + facet normal -0.812951 0.582331 0 + outer loop + vertex -26.3861 -28.5987 -0.1 + vertex -26.2221 -28.3696 0 + vertex -26.2221 -28.3696 -0.1 + endloop + endfacet + facet normal -0.812951 0.582331 0 + outer loop + vertex -26.2221 -28.3696 0 + vertex -26.3861 -28.5987 -0.1 + vertex -26.3861 -28.5987 0 + endloop + endfacet + facet normal -0.755407 0.655255 0 + outer loop + vertex -26.5458 -28.7827 -0.1 + vertex -26.3861 -28.5987 0 + vertex -26.3861 -28.5987 -0.1 + endloop + endfacet + facet normal -0.755407 0.655255 0 + outer loop + vertex -26.3861 -28.5987 0 + vertex -26.5458 -28.7827 -0.1 + vertex -26.5458 -28.7827 0 + endloop + endfacet + facet normal -0.671936 0.740609 0 + outer loop + vertex -26.5458 -28.7827 -0.1 + vertex -26.7039 -28.9262 0 + vertex -26.5458 -28.7827 0 + endloop + endfacet + facet normal -0.671936 0.740609 0 + outer loop + vertex -26.7039 -28.9262 0 + vertex -26.5458 -28.7827 -0.1 + vertex -26.7039 -28.9262 -0.1 + endloop + endfacet + facet normal -0.558253 0.829671 0 + outer loop + vertex -26.7039 -28.9262 -0.1 + vertex -26.8635 -29.0336 0 + vertex -26.7039 -28.9262 0 + endloop + endfacet + facet normal -0.558253 0.829671 0 + outer loop + vertex -26.8635 -29.0336 0 + vertex -26.7039 -28.9262 -0.1 + vertex -26.8635 -29.0336 -0.1 + endloop + endfacet + facet normal -0.419339 0.90783 0 + outer loop + vertex -26.8635 -29.0336 -0.1 + vertex -27.0275 -29.1093 0 + vertex -26.8635 -29.0336 0 + endloop + endfacet + facet normal -0.419339 0.90783 0 + outer loop + vertex -27.0275 -29.1093 0 + vertex -26.8635 -29.0336 -0.1 + vertex -27.0275 -29.1093 -0.1 + endloop + endfacet + facet normal -0.272797 0.962072 0 + outer loop + vertex -27.0275 -29.1093 -0.1 + vertex -27.1989 -29.1579 0 + vertex -27.0275 -29.1093 0 + endloop + endfacet + facet normal -0.272797 0.962072 0 + outer loop + vertex -27.1989 -29.1579 0 + vertex -27.0275 -29.1093 -0.1 + vertex -27.1989 -29.1579 -0.1 + endloop + endfacet + facet normal -0.141044 0.990003 0 + outer loop + vertex -27.1989 -29.1579 -0.1 + vertex -27.3805 -29.1838 0 + vertex -27.1989 -29.1579 0 + endloop + endfacet + facet normal -0.141044 0.990003 0 + outer loop + vertex -27.3805 -29.1838 0 + vertex -27.1989 -29.1579 -0.1 + vertex -27.3805 -29.1838 -0.1 + endloop + endfacet + facet normal -0.0391387 0.999234 0 + outer loop + vertex -27.3805 -29.1838 -0.1 + vertex -27.5755 -29.1914 0 + vertex -27.3805 -29.1838 0 + endloop + endfacet + facet normal -0.0391387 0.999234 0 + outer loop + vertex -27.5755 -29.1914 0 + vertex -27.3805 -29.1838 -0.1 + vertex -27.5755 -29.1914 -0.1 + endloop + endfacet + facet normal 0.0328742 0.999459 -0 + outer loop + vertex -27.5755 -29.1914 -0.1 + vertex -27.9775 -29.1782 0 + vertex -27.5755 -29.1914 0 + endloop + endfacet + facet normal 0.0328742 0.999459 0 + outer loop + vertex -27.9775 -29.1782 0 + vertex -27.5755 -29.1914 -0.1 + vertex -27.9775 -29.1782 -0.1 + endloop + endfacet + facet normal 0.226397 0.974035 -0 + outer loop + vertex -27.9775 -29.1782 -0.1 + vertex -28.0989 -29.15 0 + vertex -27.9775 -29.1782 0 + endloop + endfacet + facet normal 0.226397 0.974035 0 + outer loop + vertex -28.0989 -29.15 0 + vertex -27.9775 -29.1782 -0.1 + vertex -28.0989 -29.15 -0.1 + endloop + endfacet + facet normal 0.566674 0.823942 -0 + outer loop + vertex -28.0989 -29.15 -0.1 + vertex -28.176 -29.097 0 + vertex -28.0989 -29.15 0 + endloop + endfacet + facet normal 0.566674 0.823942 0 + outer loop + vertex -28.176 -29.097 0 + vertex -28.0989 -29.15 -0.1 + vertex -28.176 -29.097 -0.1 + endloop + endfacet + facet normal 0.908757 0.417326 0 + outer loop + vertex -28.176 -29.097 0 + vertex -28.2154 -29.0113 -0.1 + vertex -28.2154 -29.0113 0 + endloop + endfacet + facet normal 0.908757 0.417326 0 + outer loop + vertex -28.2154 -29.0113 -0.1 + vertex -28.176 -29.097 0 + vertex -28.176 -29.097 -0.1 + endloop + endfacet + facet normal 0.997947 0.0640397 0 + outer loop + vertex -28.2154 -29.0113 0 + vertex -28.2235 -28.8853 -0.1 + vertex -28.2235 -28.8853 0 + endloop + endfacet + facet normal 0.997947 0.0640397 0 + outer loop + vertex -28.2235 -28.8853 -0.1 + vertex -28.2154 -29.0113 0 + vertex -28.2154 -29.0113 -0.1 + endloop + endfacet + facet normal 0.992038 -0.125943 0 + outer loop + vertex -28.2235 -28.8853 0 + vertex -28.1721 -28.4809 -0.1 + vertex -28.1721 -28.4809 0 + endloop + endfacet + facet normal 0.992038 -0.125943 0 + outer loop + vertex -28.1721 -28.4809 -0.1 + vertex -28.2235 -28.8853 0 + vertex -28.2235 -28.8853 -0.1 + endloop + endfacet + facet normal 0.988281 -0.152644 0 + outer loop + vertex -28.1721 -28.4809 0 + vertex -27.9393 -26.9734 -0.1 + vertex -27.9393 -26.9734 0 + endloop + endfacet + facet normal 0.988281 -0.152644 0 + outer loop + vertex -27.9393 -26.9734 -0.1 + vertex -28.1721 -28.4809 0 + vertex -28.1721 -28.4809 -0.1 + endloop + endfacet + facet normal 0.994809 -0.101759 0 + outer loop + vertex -27.9393 -26.9734 0 + vertex -27.8924 -26.5154 -0.1 + vertex -27.8924 -26.5154 0 + endloop + endfacet + facet normal 0.994809 -0.101759 0 + outer loop + vertex -27.8924 -26.5154 -0.1 + vertex -27.9393 -26.9734 0 + vertex -27.9393 -26.9734 -0.1 + endloop + endfacet + facet normal 0.999788 0.0205947 0 + outer loop + vertex -27.8924 -26.5154 0 + vertex -27.8988 -26.2055 -0.1 + vertex -27.8988 -26.2055 0 + endloop + endfacet + facet normal 0.999788 0.0205947 0 + outer loop + vertex -27.8988 -26.2055 -0.1 + vertex -27.8924 -26.5154 0 + vertex -27.8924 -26.5154 -0.1 + endloop + endfacet + facet normal 0.975965 0.217927 0 + outer loop + vertex -27.8988 -26.2055 0 + vertex -27.9236 -26.0946 -0.1 + vertex -27.9236 -26.0946 0 + endloop + endfacet + facet normal 0.975965 0.217927 0 + outer loop + vertex -27.9236 -26.0946 -0.1 + vertex -27.8988 -26.2055 0 + vertex -27.8988 -26.2055 -0.1 + endloop + endfacet + facet normal 0.909758 0.415139 0 + outer loop + vertex -27.9236 -26.0946 0 + vertex -27.9636 -26.0069 -0.1 + vertex -27.9636 -26.0069 0 + endloop + endfacet + facet normal 0.909758 0.415139 0 + outer loop + vertex -27.9636 -26.0069 -0.1 + vertex -27.9236 -26.0946 0 + vertex -27.9236 -26.0946 -0.1 + endloop + endfacet + facet normal 0.777135 0.629334 0 + outer loop + vertex -27.9636 -26.0069 0 + vertex -28.0195 -25.9379 -0.1 + vertex -28.0195 -25.9379 0 + endloop + endfacet + facet normal 0.777135 0.629334 0 + outer loop + vertex -28.0195 -25.9379 -0.1 + vertex -27.9636 -26.0069 0 + vertex -27.9636 -26.0069 -0.1 + endloop + endfacet + facet normal 0.604573 0.79655 -0 + outer loop + vertex -28.0195 -25.9379 -0.1 + vertex -28.0919 -25.8829 0 + vertex -28.0195 -25.9379 0 + endloop + endfacet + facet normal 0.604573 0.79655 0 + outer loop + vertex -28.0919 -25.8829 0 + vertex -28.0195 -25.9379 -0.1 + vertex -28.0919 -25.8829 -0.1 + endloop + endfacet + facet normal 0.400676 0.91622 -0 + outer loop + vertex -28.0919 -25.8829 -0.1 + vertex -28.2888 -25.7968 0 + vertex -28.0919 -25.8829 0 + endloop + endfacet + facet normal 0.400676 0.91622 0 + outer loop + vertex -28.2888 -25.7968 0 + vertex -28.0919 -25.8829 -0.1 + vertex -28.2888 -25.7968 -0.1 + endloop + endfacet + facet normal 0.299723 0.954026 -0 + outer loop + vertex -28.2888 -25.7968 -0.1 + vertex -28.5596 -25.7117 0 + vertex -28.2888 -25.7968 0 + endloop + endfacet + facet normal 0.299723 0.954026 0 + outer loop + vertex -28.5596 -25.7117 0 + vertex -28.2888 -25.7968 -0.1 + vertex -28.5596 -25.7117 -0.1 + endloop + endfacet + facet normal 0.220879 0.975301 -0 + outer loop + vertex -28.5596 -25.7117 -0.1 + vertex -28.7678 -25.6646 0 + vertex -28.5596 -25.7117 0 + endloop + endfacet + facet normal 0.220879 0.975301 0 + outer loop + vertex -28.7678 -25.6646 0 + vertex -28.5596 -25.7117 -0.1 + vertex -28.7678 -25.6646 -0.1 + endloop + endfacet + facet normal 0.142669 0.98977 -0 + outer loop + vertex -28.7678 -25.6646 -0.1 + vertex -29.0734 -25.6205 0 + vertex -28.7678 -25.6646 0 + endloop + endfacet + facet normal 0.142669 0.98977 0 + outer loop + vertex -29.0734 -25.6205 0 + vertex -28.7678 -25.6646 -0.1 + vertex -29.0734 -25.6205 -0.1 + endloop + endfacet + facet normal 0.0883121 0.996093 -0 + outer loop + vertex -29.0734 -25.6205 -0.1 + vertex -29.9179 -25.5457 0 + vertex -29.0734 -25.6205 0 + endloop + endfacet + facet normal 0.0883121 0.996093 0 + outer loop + vertex -29.9179 -25.5457 0 + vertex -29.0734 -25.6205 -0.1 + vertex -29.9179 -25.5457 -0.1 + endloop + endfacet + facet normal 0.0479595 0.998849 -0 + outer loop + vertex -29.9179 -25.5457 -0.1 + vertex -30.9759 -25.4949 0 + vertex -29.9179 -25.5457 0 + endloop + endfacet + facet normal 0.0479595 0.998849 0 + outer loop + vertex -30.9759 -25.4949 0 + vertex -29.9179 -25.5457 -0.1 + vertex -30.9759 -25.4949 -0.1 + endloop + endfacet + facet normal 0.0164478 0.999865 -0 + outer loop + vertex -30.9759 -25.4949 -0.1 + vertex -32.1303 -25.4759 0 + vertex -30.9759 -25.4949 0 + endloop + endfacet + facet normal 0.0164478 0.999865 0 + outer loop + vertex -32.1303 -25.4759 0 + vertex -30.9759 -25.4949 -0.1 + vertex -32.1303 -25.4759 -0.1 + endloop + endfacet + facet normal 0.000432102 1 -0 + outer loop + vertex -32.1303 -25.4759 -0.1 + vertex -34.9509 -25.4747 0 + vertex -32.1303 -25.4759 0 + endloop + endfacet + facet normal 0.000432102 1 0 + outer loop + vertex -34.9509 -25.4747 0 + vertex -32.1303 -25.4759 -0.1 + vertex -34.9509 -25.4747 -0.1 + endloop + endfacet + facet normal -0.910935 0.41255 0 + outer loop + vertex -35.4707 -26.6225 -0.1 + vertex -34.9509 -25.4747 0 + vertex -34.9509 -25.4747 -0.1 + endloop + endfacet + facet normal -0.910935 0.41255 0 + outer loop + vertex -34.9509 -25.4747 0 + vertex -35.4707 -26.6225 -0.1 + vertex -35.4707 -26.6225 0 + endloop + endfacet + facet normal -0.916492 0.400054 0 + outer loop + vertex -36.4516 -28.8697 -0.1 + vertex -35.4707 -26.6225 0 + vertex -35.4707 -26.6225 -0.1 + endloop + endfacet + facet normal -0.916492 0.400054 0 + outer loop + vertex -35.4707 -26.6225 0 + vertex -36.4516 -28.8697 -0.1 + vertex -36.4516 -28.8697 0 + endloop + endfacet + facet normal -0.92275 0.385399 0 + outer loop + vertex -37.5165 -31.4193 -0.1 + vertex -36.4516 -28.8697 0 + vertex -36.4516 -28.8697 -0.1 + endloop + endfacet + facet normal -0.92275 0.385399 0 + outer loop + vertex -36.4516 -28.8697 0 + vertex -37.5165 -31.4193 -0.1 + vertex -37.5165 -31.4193 0 + endloop + endfacet + facet normal -0.928331 0.371754 0 + outer loop + vertex -38.3711 -33.5534 -0.1 + vertex -37.5165 -31.4193 0 + vertex -37.5165 -31.4193 -0.1 + endloop + endfacet + facet normal -0.928331 0.371754 0 + outer loop + vertex -37.5165 -31.4193 0 + vertex -38.3711 -33.5534 -0.1 + vertex -38.3711 -33.5534 0 + endloop + endfacet + facet normal -0.936805 0.349851 0 + outer loop + vertex -38.6277 -34.2404 -0.1 + vertex -38.3711 -33.5534 0 + vertex -38.3711 -33.5534 -0.1 + endloop + endfacet + facet normal -0.936805 0.349851 0 + outer loop + vertex -38.3711 -33.5534 0 + vertex -38.6277 -34.2404 -0.1 + vertex -38.6277 -34.2404 0 + endloop + endfacet + facet normal -0.958246 0.285946 0 + outer loop + vertex -38.7214 -34.5543 -0.1 + vertex -38.6277 -34.2404 0 + vertex -38.6277 -34.2404 -0.1 + endloop + endfacet + facet normal -0.958246 0.285946 0 + outer loop + vertex -38.6277 -34.2404 0 + vertex -38.7214 -34.5543 -0.1 + vertex -38.7214 -34.5543 0 + endloop + endfacet + facet normal -0.979296 -0.202433 0 + outer loop + vertex -38.6971 -34.6715 -0.1 + vertex -38.7214 -34.5543 0 + vertex -38.7214 -34.5543 -0.1 + endloop + endfacet + facet normal -0.979296 -0.202433 0 + outer loop + vertex -38.7214 -34.5543 0 + vertex -38.6971 -34.6715 -0.1 + vertex -38.6971 -34.6715 0 + endloop + endfacet + facet normal -0.869155 -0.494539 0 + outer loop + vertex -38.6312 -34.7874 -0.1 + vertex -38.6971 -34.6715 0 + vertex -38.6971 -34.6715 -0.1 + endloop + endfacet + facet normal -0.869155 -0.494539 0 + outer loop + vertex -38.6971 -34.6715 0 + vertex -38.6312 -34.7874 -0.1 + vertex -38.6312 -34.7874 0 + endloop + endfacet + facet normal -0.719928 -0.694049 0 + outer loop + vertex -38.5336 -34.8886 -0.1 + vertex -38.6312 -34.7874 0 + vertex -38.6312 -34.7874 -0.1 + endloop + endfacet + facet normal -0.719928 -0.694049 0 + outer loop + vertex -38.6312 -34.7874 0 + vertex -38.5336 -34.8886 -0.1 + vertex -38.5336 -34.8886 0 + endloop + endfacet + facet normal -0.523423 -0.852073 0 + outer loop + vertex -38.5336 -34.8886 -0.1 + vertex -38.4144 -34.9619 0 + vertex -38.5336 -34.8886 0 + endloop + endfacet + facet normal -0.523423 -0.852073 -0 + outer loop + vertex -38.4144 -34.9619 0 + vertex -38.5336 -34.8886 -0.1 + vertex -38.4144 -34.9619 -0.1 + endloop + endfacet + facet normal -0.239855 -0.970809 0 + outer loop + vertex -38.4144 -34.9619 -0.1 + vertex -38.2613 -34.9997 0 + vertex -38.4144 -34.9619 0 + endloop + endfacet + facet normal -0.239855 -0.970809 -0 + outer loop + vertex -38.2613 -34.9997 0 + vertex -38.4144 -34.9619 -0.1 + vertex -38.2613 -34.9997 -0.1 + endloop + endfacet + facet normal -0.118843 -0.992913 0 + outer loop + vertex -38.2613 -34.9997 -0.1 + vertex -38.0027 -35.0306 0 + vertex -38.2613 -34.9997 0 + endloop + endfacet + facet normal -0.118843 -0.992913 -0 + outer loop + vertex -38.0027 -35.0306 0 + vertex -38.2613 -34.9997 -0.1 + vertex -38.0027 -35.0306 -0.1 + endloop + endfacet + facet normal -0.0541463 -0.998533 0 + outer loop + vertex -38.0027 -35.0306 -0.1 + vertex -37.2267 -35.0727 0 + vertex -38.0027 -35.0306 0 + endloop + endfacet + facet normal -0.0541463 -0.998533 -0 + outer loop + vertex -37.2267 -35.0727 0 + vertex -38.0027 -35.0306 -0.1 + vertex -37.2267 -35.0727 -0.1 + endloop + endfacet + facet normal -0.0166336 -0.999862 0 + outer loop + vertex -37.2267 -35.0727 -0.1 + vertex -36.2012 -35.0898 0 + vertex -37.2267 -35.0727 0 + endloop + endfacet + facet normal -0.0166336 -0.999862 -0 + outer loop + vertex -36.2012 -35.0898 0 + vertex -37.2267 -35.0727 -0.1 + vertex -36.2012 -35.0898 -0.1 + endloop + endfacet + facet normal 0.00541272 -0.999985 0 + outer loop + vertex -36.2012 -35.0898 -0.1 + vertex -35.0412 -35.0835 0 + vertex -36.2012 -35.0898 0 + endloop + endfacet + facet normal 0.00541272 -0.999985 0 + outer loop + vertex -35.0412 -35.0835 0 + vertex -36.2012 -35.0898 -0.1 + vertex -35.0412 -35.0835 -0.1 + endloop + endfacet + facet normal 0.0236788 -0.99972 0 + outer loop + vertex -35.0412 -35.0835 -0.1 + vertex -33.8615 -35.0556 0 + vertex -35.0412 -35.0835 0 + endloop + endfacet + facet normal 0.0236788 -0.99972 0 + outer loop + vertex -33.8615 -35.0556 0 + vertex -35.0412 -35.0835 -0.1 + vertex -33.8615 -35.0556 -0.1 + endloop + endfacet + facet normal 0.0441434 -0.999025 0 + outer loop + vertex -33.8615 -35.0556 -0.1 + vertex -32.7769 -35.0076 0 + vertex -33.8615 -35.0556 0 + endloop + endfacet + facet normal 0.0441434 -0.999025 0 + outer loop + vertex -32.7769 -35.0076 0 + vertex -33.8615 -35.0556 -0.1 + vertex -32.7769 -35.0076 -0.1 + endloop + endfacet + facet normal 0.0755008 -0.997146 0 + outer loop + vertex -32.7769 -35.0076 -0.1 + vertex -31.9023 -34.9414 0 + vertex -32.7769 -35.0076 0 + endloop + endfacet + facet normal 0.0755008 -0.997146 0 + outer loop + vertex -31.9023 -34.9414 0 + vertex -32.7769 -35.0076 -0.1 + vertex -31.9023 -34.9414 -0.1 + endloop + endfacet + facet normal 0.121377 -0.992606 0 + outer loop + vertex -31.9023 -34.9414 -0.1 + vertex -31.5797 -34.902 0 + vertex -31.9023 -34.9414 0 + endloop + endfacet + facet normal 0.121377 -0.992606 0 + outer loop + vertex -31.5797 -34.902 0 + vertex -31.9023 -34.9414 -0.1 + vertex -31.5797 -34.902 -0.1 + endloop + endfacet + facet normal 0.187713 -0.982224 0 + outer loop + vertex -31.5797 -34.902 -0.1 + vertex -31.3526 -34.8586 0 + vertex -31.5797 -34.902 0 + endloop + endfacet + facet normal 0.187713 -0.982224 0 + outer loop + vertex -31.3526 -34.8586 0 + vertex -31.5797 -34.902 -0.1 + vertex -31.3526 -34.8586 -0.1 + endloop + endfacet + facet normal 0.296204 -0.955125 0 + outer loop + vertex -31.3526 -34.8586 -0.1 + vertex -30.8095 -34.6902 0 + vertex -31.3526 -34.8586 0 + endloop + endfacet + facet normal 0.296204 -0.955125 0 + outer loop + vertex -30.8095 -34.6902 0 + vertex -31.3526 -34.8586 -0.1 + vertex -30.8095 -34.6902 -0.1 + endloop + endfacet + facet normal 0.373689 -0.927554 0 + outer loop + vertex -30.8095 -34.6902 -0.1 + vertex -30.2461 -34.4632 0 + vertex -30.8095 -34.6902 0 + endloop + endfacet + facet normal 0.373689 -0.927554 0 + outer loop + vertex -30.2461 -34.4632 0 + vertex -30.8095 -34.6902 -0.1 + vertex -30.2461 -34.4632 -0.1 + endloop + endfacet + facet normal 0.438403 -0.898778 0 + outer loop + vertex -30.2461 -34.4632 -0.1 + vertex -29.669 -34.1817 0 + vertex -30.2461 -34.4632 0 + endloop + endfacet + facet normal 0.438403 -0.898778 0 + outer loop + vertex -29.669 -34.1817 0 + vertex -30.2461 -34.4632 -0.1 + vertex -29.669 -34.1817 -0.1 + endloop + endfacet + facet normal 0.494095 -0.869408 0 + outer loop + vertex -29.669 -34.1817 -0.1 + vertex -29.0852 -33.8499 0 + vertex -29.669 -34.1817 0 + endloop + endfacet + facet normal 0.494095 -0.869408 0 + outer loop + vertex -29.0852 -33.8499 0 + vertex -29.669 -34.1817 -0.1 + vertex -29.0852 -33.8499 -0.1 + endloop + endfacet + facet normal 0.543479 -0.839423 0 + outer loop + vertex -29.0852 -33.8499 -0.1 + vertex -28.5012 -33.4718 0 + vertex -29.0852 -33.8499 0 + endloop + endfacet + facet normal 0.543479 -0.839423 0 + outer loop + vertex -28.5012 -33.4718 0 + vertex -29.0852 -33.8499 -0.1 + vertex -28.5012 -33.4718 -0.1 + endloop + endfacet + facet normal 0.588526 -0.808478 0 + outer loop + vertex -28.5012 -33.4718 -0.1 + vertex -27.924 -33.0516 0 + vertex -28.5012 -33.4718 0 + endloop + endfacet + facet normal 0.588526 -0.808478 0 + outer loop + vertex -27.924 -33.0516 0 + vertex -28.5012 -33.4718 -0.1 + vertex -27.924 -33.0516 -0.1 + endloop + endfacet + facet normal 0.630713 -0.776016 0 + outer loop + vertex -27.924 -33.0516 -0.1 + vertex -27.3602 -32.5933 0 + vertex -27.924 -33.0516 0 + endloop + endfacet + facet normal 0.630713 -0.776016 0 + outer loop + vertex -27.3602 -32.5933 0 + vertex -27.924 -33.0516 -0.1 + vertex -27.3602 -32.5933 -0.1 + endloop + endfacet + facet normal 0.671162 -0.741311 0 + outer loop + vertex -27.3602 -32.5933 -0.1 + vertex -26.8166 -32.1012 0 + vertex -27.3602 -32.5933 0 + endloop + endfacet + facet normal 0.671162 -0.741311 0 + outer loop + vertex -26.8166 -32.1012 0 + vertex -27.3602 -32.5933 -0.1 + vertex -26.8166 -32.1012 -0.1 + endloop + endfacet + facet normal 0.688884 -0.724872 0 + outer loop + vertex -26.8166 -32.1012 -0.1 + vertex -25.5344 -30.8827 0 + vertex -26.8166 -32.1012 0 + endloop + endfacet + facet normal 0.688884 -0.724872 0 + outer loop + vertex -25.5344 -30.8827 0 + vertex -26.8166 -32.1012 -0.1 + vertex -25.5344 -30.8827 -0.1 + endloop + endfacet + facet normal 0.667079 -0.744987 0 + outer loop + vertex -25.5344 -30.8827 -0.1 + vertex -25.1341 -30.5242 0 + vertex -25.5344 -30.8827 0 + endloop + endfacet + facet normal 0.667079 -0.744987 0 + outer loop + vertex -25.1341 -30.5242 0 + vertex -25.5344 -30.8827 -0.1 + vertex -25.1341 -30.5242 -0.1 + endloop + endfacet + facet normal 0.613469 -0.789718 0 + outer loop + vertex -25.1341 -30.5242 -0.1 + vertex -24.8452 -30.2998 0 + vertex -25.1341 -30.5242 0 + endloop + endfacet + facet normal 0.613469 -0.789718 0 + outer loop + vertex -24.8452 -30.2998 0 + vertex -25.1341 -30.5242 -0.1 + vertex -24.8452 -30.2998 -0.1 + endloop + endfacet + facet normal 0.473466 -0.880812 0 + outer loop + vertex -24.8452 -30.2998 -0.1 + vertex -24.6311 -30.1847 0 + vertex -24.8452 -30.2998 0 + endloop + endfacet + facet normal 0.473466 -0.880812 0 + outer loop + vertex -24.6311 -30.1847 0 + vertex -24.8452 -30.2998 -0.1 + vertex -24.6311 -30.1847 -0.1 + endloop + endfacet + facet normal 0.259354 -0.965782 0 + outer loop + vertex -24.6311 -30.1847 -0.1 + vertex -24.5406 -30.1604 0 + vertex -24.6311 -30.1847 0 + endloop + endfacet + facet normal 0.259354 -0.965782 0 + outer loop + vertex -24.5406 -30.1604 0 + vertex -24.6311 -30.1847 -0.1 + vertex -24.5406 -30.1604 -0.1 + endloop + endfacet + facet normal 0.0730053 -0.997332 0 + outer loop + vertex -24.5406 -30.1604 -0.1 + vertex -24.455 -30.1541 0 + vertex -24.5406 -30.1604 0 + endloop + endfacet + facet normal 0.0730053 -0.997332 0 + outer loop + vertex -24.455 -30.1541 0 + vertex -24.5406 -30.1604 -0.1 + vertex -24.455 -30.1541 -0.1 + endloop + endfacet + facet normal -0.164732 -0.986338 0 + outer loop + vertex -24.455 -30.1541 -0.1 + vertex -24.2803 -30.1833 0 + vertex -24.455 -30.1541 0 + endloop + endfacet + facet normal -0.164732 -0.986338 -0 + outer loop + vertex -24.2803 -30.1833 0 + vertex -24.455 -30.1541 -0.1 + vertex -24.2803 -30.1833 -0.1 + endloop + endfacet + facet normal -0.291983 -0.956423 0 + outer loop + vertex -24.2803 -30.1833 -0.1 + vertex -24.0701 -30.2475 0 + vertex -24.2803 -30.1833 0 + endloop + endfacet + facet normal -0.291983 -0.956423 -0 + outer loop + vertex -24.0701 -30.2475 0 + vertex -24.2803 -30.1833 -0.1 + vertex -24.0701 -30.2475 -0.1 + endloop + endfacet + facet normal -0.377094 -0.926175 0 + outer loop + vertex -24.0701 -30.2475 -0.1 + vertex -23.8399 -30.3412 0 + vertex -24.0701 -30.2475 0 + endloop + endfacet + facet normal -0.377094 -0.926175 -0 + outer loop + vertex -23.8399 -30.3412 0 + vertex -24.0701 -30.2475 -0.1 + vertex -23.8399 -30.3412 -0.1 + endloop + endfacet + facet normal -0.532683 -0.846315 0 + outer loop + vertex -23.8399 -30.3412 -0.1 + vertex -23.6433 -30.465 0 + vertex -23.8399 -30.3412 0 + endloop + endfacet + facet normal -0.532683 -0.846315 -0 + outer loop + vertex -23.6433 -30.465 0 + vertex -23.8399 -30.3412 -0.1 + vertex -23.6433 -30.465 -0.1 + endloop + endfacet + facet normal -0.695789 -0.718246 0 + outer loop + vertex -23.6433 -30.465 -0.1 + vertex -23.5012 -30.6026 0 + vertex -23.6433 -30.465 0 + endloop + endfacet + facet normal -0.695789 -0.718246 -0 + outer loop + vertex -23.5012 -30.6026 0 + vertex -23.6433 -30.465 -0.1 + vertex -23.5012 -30.6026 -0.1 + endloop + endfacet + facet normal -0.84273 -0.538337 0 + outer loop + vertex -23.4571 -30.6716 -0.1 + vertex -23.5012 -30.6026 0 + vertex -23.5012 -30.6026 -0.1 + endloop + endfacet + facet normal -0.84273 -0.538337 0 + outer loop + vertex -23.5012 -30.6026 0 + vertex -23.4571 -30.6716 -0.1 + vertex -23.4571 -30.6716 0 + endloop + endfacet + facet normal -0.946617 -0.322361 0 + outer loop + vertex -23.4345 -30.738 -0.1 + vertex -23.4571 -30.6716 0 + vertex -23.4571 -30.6716 -0.1 + endloop + endfacet + facet normal -0.946617 -0.322361 0 + outer loop + vertex -23.4571 -30.6716 0 + vertex -23.4345 -30.738 -0.1 + vertex -23.4345 -30.738 0 + endloop + endfacet + facet normal -0.988328 0.152339 0 + outer loop + vertex -23.4513 -30.847 -0.1 + vertex -23.4345 -30.738 0 + vertex -23.4345 -30.738 -0.1 + endloop + endfacet + facet normal -0.988328 0.152339 0 + outer loop + vertex -23.4345 -30.738 0 + vertex -23.4513 -30.847 -0.1 + vertex -23.4513 -30.847 0 + endloop + endfacet + facet normal -0.933862 0.357635 0 + outer loop + vertex -23.5218 -31.031 -0.1 + vertex -23.4513 -30.847 0 + vertex -23.4513 -30.847 -0.1 + endloop + endfacet + facet normal -0.933862 0.357635 0 + outer loop + vertex -23.4513 -30.847 0 + vertex -23.5218 -31.031 -0.1 + vertex -23.5218 -31.031 0 + endloop + endfacet + facet normal -0.893602 0.44886 0 + outer loop + vertex -23.8031 -31.5911 -0.1 + vertex -23.5218 -31.031 0 + vertex -23.5218 -31.031 -0.1 + endloop + endfacet + facet normal -0.893602 0.44886 0 + outer loop + vertex -23.5218 -31.031 0 + vertex -23.8031 -31.5911 -0.1 + vertex -23.8031 -31.5911 0 + endloop + endfacet + facet normal -0.86862 0.495478 0 + outer loop + vertex -24.2375 -32.3527 -0.1 + vertex -23.8031 -31.5911 0 + vertex -23.8031 -31.5911 -0.1 + endloop + endfacet + facet normal -0.86862 0.495478 0 + outer loop + vertex -23.8031 -31.5911 0 + vertex -24.2375 -32.3527 -0.1 + vertex -24.2375 -32.3527 0 + endloop + endfacet + facet normal -0.854086 0.520132 0 + outer loop + vertex -24.7839 -33.2498 -0.1 + vertex -24.2375 -32.3527 0 + vertex -24.2375 -32.3527 -0.1 + endloop + endfacet + facet normal -0.854086 0.520132 0 + outer loop + vertex -24.2375 -32.3527 0 + vertex -24.7839 -33.2498 -0.1 + vertex -24.7839 -33.2498 0 + endloop + endfacet + facet normal -0.842904 0.538064 0 + outer loop + vertex -25.4011 -34.2168 -0.1 + vertex -24.7839 -33.2498 0 + vertex -24.7839 -33.2498 -0.1 + endloop + endfacet + facet normal -0.842904 0.538064 0 + outer loop + vertex -24.7839 -33.2498 0 + vertex -25.4011 -34.2168 -0.1 + vertex -25.4011 -34.2168 0 + endloop + endfacet + facet normal -0.832144 0.55456 0 + outer loop + vertex -26.0482 -35.1877 -0.1 + vertex -25.4011 -34.2168 0 + vertex -25.4011 -34.2168 -0.1 + endloop + endfacet + facet normal -0.832144 0.55456 0 + outer loop + vertex -25.4011 -34.2168 0 + vertex -26.0482 -35.1877 -0.1 + vertex -26.0482 -35.1877 0 + endloop + endfacet + facet normal -0.819486 0.573099 0 + outer loop + vertex -26.6839 -36.0968 -0.1 + vertex -26.0482 -35.1877 0 + vertex -26.0482 -35.1877 -0.1 + endloop + endfacet + facet normal -0.819486 0.573099 0 + outer loop + vertex -26.0482 -35.1877 0 + vertex -26.6839 -36.0968 -0.1 + vertex -26.6839 -36.0968 0 + endloop + endfacet + facet normal -0.801319 0.598238 0 + outer loop + vertex -27.2673 -36.8782 -0.1 + vertex -26.6839 -36.0968 0 + vertex -26.6839 -36.0968 -0.1 + endloop + endfacet + facet normal -0.801319 0.598238 0 + outer loop + vertex -26.6839 -36.0968 0 + vertex -27.2673 -36.8782 -0.1 + vertex -27.2673 -36.8782 0 + endloop + endfacet + facet normal -0.788011 0.615661 0 + outer loop + vertex -28.2718 -38.1638 -0.1 + vertex -27.2673 -36.8782 0 + vertex -27.2673 -36.8782 -0.1 + endloop + endfacet + facet normal -0.788011 0.615661 0 + outer loop + vertex -27.2673 -36.8782 0 + vertex -28.2718 -38.1638 -0.1 + vertex -28.2718 -38.1638 0 + endloop + endfacet + facet normal 0.00335501 0.999994 -0 + outer loop + vertex -28.2718 -38.1638 -0.1 + vertex -37.6203 -38.1325 0 + vertex -28.2718 -38.1638 0 + endloop + endfacet + facet normal 0.00335501 0.999994 0 + outer loop + vertex -37.6203 -38.1325 0 + vertex -28.2718 -38.1638 -0.1 + vertex -37.6203 -38.1325 -0.1 + endloop + endfacet + facet normal 0.00646856 0.999979 -0 + outer loop + vertex -37.6203 -38.1325 -0.1 + vertex -41.2883 -38.1087 0 + vertex -37.6203 -38.1325 0 + endloop + endfacet + facet normal 0.00646856 0.999979 0 + outer loop + vertex -41.2883 -38.1087 0 + vertex -37.6203 -38.1325 -0.1 + vertex -41.2883 -38.1087 -0.1 + endloop + endfacet + facet normal 0.013462 0.999909 -0 + outer loop + vertex -41.2883 -38.1087 -0.1 + vertex -44.3648 -38.0673 0 + vertex -41.2883 -38.1087 0 + endloop + endfacet + facet normal 0.013462 0.999909 0 + outer loop + vertex -44.3648 -38.0673 0 + vertex -41.2883 -38.1087 -0.1 + vertex -44.3648 -38.0673 -0.1 + endloop + endfacet + facet normal 0.0246353 0.999697 -0 + outer loop + vertex -44.3648 -38.0673 -0.1 + vertex -46.5272 -38.014 0 + vertex -44.3648 -38.0673 0 + endloop + endfacet + facet normal 0.0246353 0.999697 0 + outer loop + vertex -46.5272 -38.014 0 + vertex -44.3648 -38.0673 -0.1 + vertex -46.5272 -38.014 -0.1 + endloop + endfacet + facet normal 0.0458604 0.998948 -0 + outer loop + vertex -46.5272 -38.014 -0.1 + vertex -47.1648 -37.9848 0 + vertex -46.5272 -38.014 0 + endloop + endfacet + facet normal 0.0458604 0.998948 0 + outer loop + vertex -47.1648 -37.9848 0 + vertex -46.5272 -38.014 -0.1 + vertex -47.1648 -37.9848 -0.1 + endloop + endfacet + facet normal 0.103752 0.994603 -0 + outer loop + vertex -47.1648 -37.9848 -0.1 + vertex -47.4529 -37.9547 0 + vertex -47.1648 -37.9848 0 + endloop + endfacet + facet normal 0.103752 0.994603 0 + outer loop + vertex -47.4529 -37.9547 0 + vertex -47.1648 -37.9848 -0.1 + vertex -47.4529 -37.9547 -0.1 + endloop + endfacet + facet normal 0.373487 0.927636 -0 + outer loop + vertex -47.4529 -37.9547 -0.1 + vertex -47.6522 -37.8745 0 + vertex -47.4529 -37.9547 0 + endloop + endfacet + facet normal 0.373487 0.927636 0 + outer loop + vertex -47.6522 -37.8745 0 + vertex -47.4529 -37.9547 -0.1 + vertex -47.6522 -37.8745 -0.1 + endloop + endfacet + facet normal 0.561365 0.827568 -0 + outer loop + vertex -47.6522 -37.8745 -0.1 + vertex -47.8044 -37.7712 0 + vertex -47.6522 -37.8745 0 + endloop + endfacet + facet normal 0.561365 0.827568 0 + outer loop + vertex -47.8044 -37.7712 0 + vertex -47.6522 -37.8745 -0.1 + vertex -47.8044 -37.7712 -0.1 + endloop + endfacet + facet normal 0.753293 0.657685 0 + outer loop + vertex -47.8044 -37.7712 0 + vertex -47.9115 -37.6485 -0.1 + vertex -47.9115 -37.6485 0 + endloop + endfacet + facet normal 0.753293 0.657685 0 + outer loop + vertex -47.9115 -37.6485 -0.1 + vertex -47.8044 -37.7712 0 + vertex -47.8044 -37.7712 -0.1 + endloop + endfacet + facet normal 0.907474 0.420108 0 + outer loop + vertex -47.9115 -37.6485 0 + vertex -47.9758 -37.5097 -0.1 + vertex -47.9758 -37.5097 0 + endloop + endfacet + facet normal 0.907474 0.420108 0 + outer loop + vertex -47.9758 -37.5097 -0.1 + vertex -47.9115 -37.6485 0 + vertex -47.9115 -37.6485 -0.1 + endloop + endfacet + facet normal 0.988205 0.153137 0 + outer loop + vertex -47.9758 -37.5097 0 + vertex -47.9993 -37.3583 -0.1 + vertex -47.9993 -37.3583 0 + endloop + endfacet + facet normal 0.988205 0.153137 0 + outer loop + vertex -47.9993 -37.3583 -0.1 + vertex -47.9758 -37.5097 0 + vertex -47.9758 -37.5097 -0.1 + endloop + endfacet + facet normal 0.995535 -0.0943972 0 + outer loop + vertex -47.9993 -37.3583 0 + vertex -47.984 -37.1977 -0.1 + vertex -47.984 -37.1977 0 + endloop + endfacet + facet normal 0.995535 -0.0943972 0 + outer loop + vertex -47.984 -37.1977 -0.1 + vertex -47.9993 -37.3583 0 + vertex -47.9993 -37.3583 -0.1 + endloop + endfacet + facet normal 0.954736 -0.297455 0 + outer loop + vertex -47.984 -37.1977 0 + vertex -47.9322 -37.0315 -0.1 + vertex -47.9322 -37.0315 0 + endloop + endfacet + facet normal 0.954736 -0.297455 0 + outer loop + vertex -47.9322 -37.0315 -0.1 + vertex -47.984 -37.1977 0 + vertex -47.984 -37.1977 -0.1 + endloop + endfacet + facet normal 0.890101 -0.455763 0 + outer loop + vertex -47.9322 -37.0315 0 + vertex -47.846 -36.863 -0.1 + vertex -47.846 -36.863 0 + endloop + endfacet + facet normal 0.890101 -0.455763 0 + outer loop + vertex -47.846 -36.863 -0.1 + vertex -47.9322 -37.0315 0 + vertex -47.9322 -37.0315 -0.1 + endloop + endfacet + facet normal 0.815677 -0.578507 0 + outer loop + vertex -47.846 -36.863 0 + vertex -47.7274 -36.6957 -0.1 + vertex -47.7274 -36.6957 0 + endloop + endfacet + facet normal 0.815677 -0.578507 0 + outer loop + vertex -47.7274 -36.6957 -0.1 + vertex -47.846 -36.863 0 + vertex -47.846 -36.863 -0.1 + endloop + endfacet + facet normal 0.737497 -0.67535 0 + outer loop + vertex -47.7274 -36.6957 0 + vertex -47.5785 -36.5332 -0.1 + vertex -47.5785 -36.5332 0 + endloop + endfacet + facet normal 0.737497 -0.67535 0 + outer loop + vertex -47.5785 -36.5332 -0.1 + vertex -47.7274 -36.6957 0 + vertex -47.7274 -36.6957 -0.1 + endloop + endfacet + facet normal 0.65739 -0.753551 0 + outer loop + vertex -47.5785 -36.5332 -0.1 + vertex -47.4015 -36.3788 0 + vertex -47.5785 -36.5332 0 + endloop + endfacet + facet normal 0.65739 -0.753551 0 + outer loop + vertex -47.4015 -36.3788 0 + vertex -47.5785 -36.5332 -0.1 + vertex -47.4015 -36.3788 -0.1 + endloop + endfacet + facet normal 0.575341 -0.817914 0 + outer loop + vertex -47.4015 -36.3788 -0.1 + vertex -47.1985 -36.2359 0 + vertex -47.4015 -36.3788 0 + endloop + endfacet + facet normal 0.575341 -0.817914 0 + outer loop + vertex -47.1985 -36.2359 0 + vertex -47.4015 -36.3788 -0.1 + vertex -47.1985 -36.2359 -0.1 + endloop + endfacet + facet normal 0.490533 -0.871423 0 + outer loop + vertex -47.1985 -36.2359 -0.1 + vertex -46.9715 -36.1082 0 + vertex -47.1985 -36.2359 0 + endloop + endfacet + facet normal 0.490533 -0.871423 0 + outer loop + vertex -46.9715 -36.1082 0 + vertex -47.1985 -36.2359 -0.1 + vertex -46.9715 -36.1082 -0.1 + endloop + endfacet + facet normal 0.402049 -0.915618 0 + outer loop + vertex -46.9715 -36.1082 -0.1 + vertex -46.7228 -35.999 0 + vertex -46.9715 -36.1082 0 + endloop + endfacet + facet normal 0.402049 -0.915618 0 + outer loop + vertex -46.7228 -35.999 0 + vertex -46.9715 -36.1082 -0.1 + vertex -46.7228 -35.999 -0.1 + endloop + endfacet + facet normal 0.309107 -0.951027 0 + outer loop + vertex -46.7228 -35.999 -0.1 + vertex -46.4544 -35.9117 0 + vertex -46.7228 -35.999 0 + endloop + endfacet + facet normal 0.309107 -0.951027 0 + outer loop + vertex -46.4544 -35.9117 0 + vertex -46.7228 -35.999 -0.1 + vertex -46.4544 -35.9117 -0.1 + endloop + endfacet + facet normal 0.211211 -0.977441 0 + outer loop + vertex -46.4544 -35.9117 -0.1 + vertex -46.1684 -35.8499 0 + vertex -46.4544 -35.9117 0 + endloop + endfacet + facet normal 0.211211 -0.977441 0 + outer loop + vertex -46.1684 -35.8499 0 + vertex -46.4544 -35.9117 -0.1 + vertex -46.1684 -35.8499 -0.1 + endloop + endfacet + facet normal 0.185786 -0.98259 0 + outer loop + vertex -46.1684 -35.8499 -0.1 + vertex -45.8475 -35.7893 0 + vertex -46.1684 -35.8499 0 + endloop + endfacet + facet normal 0.185786 -0.98259 0 + outer loop + vertex -45.8475 -35.7893 0 + vertex -46.1684 -35.8499 -0.1 + vertex -45.8475 -35.7893 -0.1 + endloop + endfacet + facet normal 0.247179 -0.96897 0 + outer loop + vertex -45.8475 -35.7893 -0.1 + vertex -45.5508 -35.7136 0 + vertex -45.8475 -35.7893 0 + endloop + endfacet + facet normal 0.247179 -0.96897 0 + outer loop + vertex -45.5508 -35.7136 0 + vertex -45.8475 -35.7893 -0.1 + vertex -45.5508 -35.7136 -0.1 + endloop + endfacet + facet normal 0.324475 -0.945894 0 + outer loop + vertex -45.5508 -35.7136 -0.1 + vertex -45.2753 -35.6191 0 + vertex -45.5508 -35.7136 0 + endloop + endfacet + facet normal 0.324475 -0.945894 0 + outer loop + vertex -45.2753 -35.6191 0 + vertex -45.5508 -35.7136 -0.1 + vertex -45.2753 -35.6191 -0.1 + endloop + endfacet + facet normal 0.414245 -0.910165 0 + outer loop + vertex -45.2753 -35.6191 -0.1 + vertex -45.0179 -35.5019 0 + vertex -45.2753 -35.6191 0 + endloop + endfacet + facet normal 0.414245 -0.910165 0 + outer loop + vertex -45.0179 -35.5019 0 + vertex -45.2753 -35.6191 -0.1 + vertex -45.0179 -35.5019 -0.1 + endloop + endfacet + facet normal 0.509766 -0.860313 0 + outer loop + vertex -45.0179 -35.5019 -0.1 + vertex -44.7755 -35.3583 0 + vertex -45.0179 -35.5019 0 + endloop + endfacet + facet normal 0.509766 -0.860313 0 + outer loop + vertex -44.7755 -35.3583 0 + vertex -45.0179 -35.5019 -0.1 + vertex -44.7755 -35.3583 -0.1 + endloop + endfacet + facet normal 0.602421 -0.798179 0 + outer loop + vertex -44.7755 -35.3583 -0.1 + vertex -44.5451 -35.1844 0 + vertex -44.7755 -35.3583 0 + endloop + endfacet + facet normal 0.602421 -0.798179 0 + outer loop + vertex -44.5451 -35.1844 0 + vertex -44.7755 -35.3583 -0.1 + vertex -44.5451 -35.1844 -0.1 + endloop + endfacet + facet normal 0.684546 -0.728969 0 + outer loop + vertex -44.5451 -35.1844 -0.1 + vertex -44.3237 -34.9765 0 + vertex -44.5451 -35.1844 0 + endloop + endfacet + facet normal 0.684546 -0.728969 0 + outer loop + vertex -44.3237 -34.9765 0 + vertex -44.5451 -35.1844 -0.1 + vertex -44.3237 -34.9765 -0.1 + endloop + endfacet + facet normal 0.751841 -0.659345 0 + outer loop + vertex -44.3237 -34.9765 0 + vertex -44.108 -34.7306 -0.1 + vertex -44.108 -34.7306 0 + endloop + endfacet + facet normal 0.751841 -0.659345 0 + outer loop + vertex -44.108 -34.7306 -0.1 + vertex -44.3237 -34.9765 0 + vertex -44.3237 -34.9765 -0.1 + endloop + endfacet + facet normal 0.803805 -0.594893 0 + outer loop + vertex -44.108 -34.7306 0 + vertex -43.8952 -34.443 -0.1 + vertex -43.8952 -34.443 0 + endloop + endfacet + facet normal 0.803805 -0.594893 0 + outer loop + vertex -43.8952 -34.443 -0.1 + vertex -44.108 -34.7306 0 + vertex -44.108 -34.7306 -0.1 + endloop + endfacet + facet normal 0.842352 -0.538928 0 + outer loop + vertex -43.8952 -34.443 0 + vertex -43.682 -34.1098 -0.1 + vertex -43.682 -34.1098 0 + endloop + endfacet + facet normal 0.842352 -0.538928 0 + outer loop + vertex -43.682 -34.1098 -0.1 + vertex -43.8952 -34.443 0 + vertex -43.8952 -34.443 -0.1 + endloop + endfacet + facet normal 0.870266 -0.492581 0 + outer loop + vertex -43.682 -34.1098 0 + vertex -43.4655 -33.7273 -0.1 + vertex -43.4655 -33.7273 0 + endloop + endfacet + facet normal 0.870266 -0.492581 0 + outer loop + vertex -43.4655 -33.7273 -0.1 + vertex -43.682 -34.1098 0 + vertex -43.682 -34.1098 -0.1 + endloop + endfacet + facet normal 0.890236 -0.4555 0 + outer loop + vertex -43.4655 -33.7273 0 + vertex -43.2426 -33.2915 -0.1 + vertex -43.2426 -33.2915 0 + endloop + endfacet + facet normal 0.890236 -0.4555 0 + outer loop + vertex -43.2426 -33.2915 -0.1 + vertex -43.4655 -33.7273 0 + vertex -43.4655 -33.7273 -0.1 + endloop + endfacet + facet normal 0.909757 -0.41514 0 + outer loop + vertex -43.2426 -33.2915 0 + vertex -42.7651 -32.2453 -0.1 + vertex -42.7651 -32.2453 0 + endloop + endfacet + facet normal 0.909757 -0.41514 0 + outer loop + vertex -42.7651 -32.2453 -0.1 + vertex -43.2426 -33.2915 0 + vertex -43.2426 -33.2915 -0.1 + endloop + endfacet + facet normal 0.924016 -0.382355 0 + outer loop + vertex -42.7651 -32.2453 0 + vertex -42.2252 -30.9405 -0.1 + vertex -42.2252 -30.9405 0 + endloop + endfacet + facet normal 0.924016 -0.382355 0 + outer loop + vertex -42.2252 -30.9405 -0.1 + vertex -42.7651 -32.2453 0 + vertex -42.7651 -32.2453 -0.1 + endloop + endfacet + facet normal 0.922377 -0.38629 0 + outer loop + vertex -42.2252 -30.9405 0 + vertex -41.2695 -28.6585 -0.1 + vertex -41.2695 -28.6585 0 + endloop + endfacet + facet normal 0.922377 -0.38629 0 + outer loop + vertex -41.2695 -28.6585 -0.1 + vertex -42.2252 -30.9405 0 + vertex -42.2252 -30.9405 -0.1 + endloop + endfacet + facet normal 0.918146 -0.396243 0 + outer loop + vertex -41.2695 -28.6585 0 + vertex -39.8955 -25.4747 -0.1 + vertex -39.8955 -25.4747 0 + endloop + endfacet + facet normal 0.918146 -0.396243 0 + outer loop + vertex -39.8955 -25.4747 -0.1 + vertex -41.2695 -28.6585 0 + vertex -41.2695 -28.6585 -0.1 + endloop + endfacet + facet normal 0.918872 -0.394555 0 + outer loop + vertex -39.8955 -25.4747 0 + vertex -38.3469 -21.8682 -0.1 + vertex -38.3469 -21.8682 0 + endloop + endfacet + facet normal 0.918872 -0.394555 0 + outer loop + vertex -38.3469 -21.8682 -0.1 + vertex -39.8955 -25.4747 0 + vertex -39.8955 -25.4747 -0.1 + endloop + endfacet + facet normal 0.92432 -0.381618 0 + outer loop + vertex -38.3469 -21.8682 0 + vertex -37.0431 -18.7102 -0.1 + vertex -37.0431 -18.7102 0 + endloop + endfacet + facet normal 0.92432 -0.381618 0 + outer loop + vertex -37.0431 -18.7102 -0.1 + vertex -38.3469 -21.8682 0 + vertex -38.3469 -21.8682 -0.1 + endloop + endfacet + facet normal 0.929541 -0.368719 0 + outer loop + vertex -37.0431 -18.7102 0 + vertex -36.5163 -17.3821 -0.1 + vertex -36.5163 -17.3821 0 + endloop + endfacet + facet normal 0.929541 -0.368719 0 + outer loop + vertex -36.5163 -17.3821 -0.1 + vertex -37.0431 -18.7102 0 + vertex -37.0431 -18.7102 -0.1 + endloop + endfacet + facet normal 0.934424 -0.356162 0 + outer loop + vertex -36.5163 -17.3821 0 + vertex -36.0907 -16.2655 -0.1 + vertex -36.0907 -16.2655 0 + endloop + endfacet + facet normal 0.934424 -0.356162 0 + outer loop + vertex -36.0907 -16.2655 -0.1 + vertex -36.5163 -17.3821 0 + vertex -36.5163 -17.3821 -0.1 + endloop + endfacet + facet normal 0.941869 -0.335981 0 + outer loop + vertex -36.0907 -16.2655 0 + vertex -35.7796 -15.3934 -0.1 + vertex -35.7796 -15.3934 0 + endloop + endfacet + facet normal 0.941869 -0.335981 0 + outer loop + vertex -35.7796 -15.3934 -0.1 + vertex -36.0907 -16.2655 0 + vertex -36.0907 -16.2655 -0.1 + endloop + endfacet + facet normal 0.955627 -0.294578 0 + outer loop + vertex -35.7796 -15.3934 0 + vertex -35.5964 -14.799 -0.1 + vertex -35.5964 -14.799 0 + endloop + endfacet + facet normal 0.955627 -0.294578 0 + outer loop + vertex -35.5964 -14.799 -0.1 + vertex -35.7796 -15.3934 0 + vertex -35.7796 -15.3934 -0.1 + endloop + endfacet + facet normal 0.97537 -0.220574 0 + outer loop + vertex -35.5964 -14.799 0 + vertex -35.5123 -14.4274 -0.1 + vertex -35.5123 -14.4274 0 + endloop + endfacet + facet normal 0.97537 -0.220574 0 + outer loop + vertex -35.5123 -14.4274 -0.1 + vertex -35.5964 -14.799 0 + vertex -35.5964 -14.799 -0.1 + endloop + endfacet + facet normal 0.992467 -0.122514 0 + outer loop + vertex -35.5123 -14.4274 0 + vertex -35.4754 -14.1281 -0.1 + vertex -35.4754 -14.1281 0 + endloop + endfacet + facet normal 0.992467 -0.122514 0 + outer loop + vertex -35.4754 -14.1281 -0.1 + vertex -35.5123 -14.4274 0 + vertex -35.5123 -14.4274 -0.1 + endloop + endfacet + facet normal 0.997952 0.0639612 0 + outer loop + vertex -35.4754 -14.1281 0 + vertex -35.4904 -13.894 -0.1 + vertex -35.4904 -13.894 0 + endloop + endfacet + facet normal 0.997952 0.0639612 0 + outer loop + vertex -35.4904 -13.894 -0.1 + vertex -35.4754 -14.1281 0 + vertex -35.4754 -14.1281 -0.1 + endloop + endfacet + facet normal 0.957653 0.287925 0 + outer loop + vertex -35.4904 -13.894 0 + vertex -35.5189 -13.7992 -0.1 + vertex -35.5189 -13.7992 0 + endloop + endfacet + facet normal 0.957653 0.287925 0 + outer loop + vertex -35.5189 -13.7992 -0.1 + vertex -35.4904 -13.894 0 + vertex -35.4904 -13.894 -0.1 + endloop + endfacet + facet normal 0.882255 0.470771 0 + outer loop + vertex -35.5189 -13.7992 0 + vertex -35.5622 -13.718 -0.1 + vertex -35.5622 -13.718 0 + endloop + endfacet + facet normal 0.882255 0.470771 0 + outer loop + vertex -35.5622 -13.718 -0.1 + vertex -35.5189 -13.7992 0 + vertex -35.5189 -13.7992 -0.1 + endloop + endfacet + facet normal 0.758808 0.651314 0 + outer loop + vertex -35.5622 -13.718 0 + vertex -35.6209 -13.6496 -0.1 + vertex -35.6209 -13.6496 0 + endloop + endfacet + facet normal 0.758808 0.651314 0 + outer loop + vertex -35.6209 -13.6496 -0.1 + vertex -35.5622 -13.718 0 + vertex -35.5622 -13.718 -0.1 + endloop + endfacet + facet normal 0.603335 0.797487 -0 + outer loop + vertex -35.6209 -13.6496 -0.1 + vertex -35.6956 -13.593 0 + vertex -35.6209 -13.6496 0 + endloop + endfacet + facet normal 0.603335 0.797487 0 + outer loop + vertex -35.6956 -13.593 0 + vertex -35.6209 -13.6496 -0.1 + vertex -35.6956 -13.593 -0.1 + endloop + endfacet + facet normal 0.375678 0.92675 -0 + outer loop + vertex -35.6956 -13.593 -0.1 + vertex -35.8956 -13.512 0 + vertex -35.6956 -13.593 0 + endloop + endfacet + facet normal 0.375678 0.92675 0 + outer loop + vertex -35.8956 -13.512 0 + vertex -35.6956 -13.593 -0.1 + vertex -35.8956 -13.512 -0.1 + endloop + endfacet + facet normal 0.161053 0.986946 -0 + outer loop + vertex -35.8956 -13.512 -0.1 + vertex -36.1669 -13.4677 0 + vertex -35.8956 -13.512 0 + endloop + endfacet + facet normal 0.161053 0.986946 0 + outer loop + vertex -36.1669 -13.4677 0 + vertex -35.8956 -13.512 -0.1 + vertex -36.1669 -13.4677 -0.1 + endloop + endfacet + facet normal 0.0419804 0.999118 -0 + outer loop + vertex -36.1669 -13.4677 -0.1 + vertex -36.5145 -13.4531 0 + vertex -36.1669 -13.4677 0 + endloop + endfacet + facet normal 0.0419804 0.999118 0 + outer loop + vertex -36.5145 -13.4531 0 + vertex -36.1669 -13.4677 -0.1 + vertex -36.5145 -13.4531 -0.1 + endloop + endfacet + facet normal 0.0664354 0.997791 -0 + outer loop + vertex -36.5145 -13.4531 -0.1 + vertex -36.7305 -13.4387 0 + vertex -36.5145 -13.4531 0 + endloop + endfacet + facet normal 0.0664354 0.997791 0 + outer loop + vertex -36.7305 -13.4387 0 + vertex -36.5145 -13.4531 -0.1 + vertex -36.7305 -13.4387 -0.1 + endloop + endfacet + facet normal 0.199985 0.979799 -0 + outer loop + vertex -36.7305 -13.4387 -0.1 + vertex -36.9216 -13.3997 0 + vertex -36.7305 -13.4387 0 + endloop + endfacet + facet normal 0.199985 0.979799 0 + outer loop + vertex -36.9216 -13.3997 0 + vertex -36.7305 -13.4387 -0.1 + vertex -36.9216 -13.3997 -0.1 + endloop + endfacet + facet normal 0.346161 0.938175 -0 + outer loop + vertex -36.9216 -13.3997 -0.1 + vertex -37.0874 -13.3385 0 + vertex -36.9216 -13.3997 0 + endloop + endfacet + facet normal 0.346161 0.938175 0 + outer loop + vertex -37.0874 -13.3385 0 + vertex -36.9216 -13.3997 -0.1 + vertex -37.0874 -13.3385 -0.1 + endloop + endfacet + facet normal 0.49992 0.866072 -0 + outer loop + vertex -37.0874 -13.3385 -0.1 + vertex -37.2276 -13.2576 0 + vertex -37.0874 -13.3385 0 + endloop + endfacet + facet normal 0.49992 0.866072 0 + outer loop + vertex -37.2276 -13.2576 0 + vertex -37.0874 -13.3385 -0.1 + vertex -37.2276 -13.2576 -0.1 + endloop + endfacet + facet normal 0.652051 0.758175 -0 + outer loop + vertex -37.2276 -13.2576 -0.1 + vertex -37.3418 -13.1594 0 + vertex -37.2276 -13.2576 0 + endloop + endfacet + facet normal 0.652051 0.758175 0 + outer loop + vertex -37.3418 -13.1594 0 + vertex -37.2276 -13.2576 -0.1 + vertex -37.3418 -13.1594 -0.1 + endloop + endfacet + facet normal 0.789664 0.613539 0 + outer loop + vertex -37.3418 -13.1594 0 + vertex -37.4296 -13.0463 -0.1 + vertex -37.4296 -13.0463 0 + endloop + endfacet + facet normal 0.789664 0.613539 0 + outer loop + vertex -37.4296 -13.0463 -0.1 + vertex -37.3418 -13.1594 0 + vertex -37.3418 -13.1594 -0.1 + endloop + endfacet + facet normal 0.898957 0.438037 0 + outer loop + vertex -37.4296 -13.0463 0 + vertex -37.4908 -12.9209 -0.1 + vertex -37.4908 -12.9209 0 + endloop + endfacet + facet normal 0.898957 0.438037 0 + outer loop + vertex -37.4908 -12.9209 -0.1 + vertex -37.4296 -13.0463 0 + vertex -37.4296 -13.0463 -0.1 + endloop + endfacet + facet normal 0.969773 0.244009 0 + outer loop + vertex -37.4908 -12.9209 0 + vertex -37.5249 -12.7854 -0.1 + vertex -37.5249 -12.7854 0 + endloop + endfacet + facet normal 0.969773 0.244009 0 + outer loop + vertex -37.5249 -12.7854 -0.1 + vertex -37.4908 -12.9209 0 + vertex -37.4908 -12.9209 -0.1 + endloop + endfacet + facet normal 0.99892 0.0464614 0 + outer loop + vertex -37.5249 -12.7854 0 + vertex -37.5315 -12.6425 -0.1 + vertex -37.5315 -12.6425 0 + endloop + endfacet + facet normal 0.99892 0.0464614 0 + outer loop + vertex -37.5315 -12.6425 -0.1 + vertex -37.5249 -12.7854 0 + vertex -37.5249 -12.7854 -0.1 + endloop + endfacet + facet normal 0.989966 -0.141306 0 + outer loop + vertex -37.5315 -12.6425 0 + vertex -37.5104 -12.4945 -0.1 + vertex -37.5104 -12.4945 0 + endloop + endfacet + facet normal 0.989966 -0.141306 0 + outer loop + vertex -37.5104 -12.4945 -0.1 + vertex -37.5315 -12.6425 0 + vertex -37.5315 -12.6425 -0.1 + endloop + endfacet + facet normal 0.950483 -0.310777 0 + outer loop + vertex -37.5104 -12.4945 0 + vertex -37.4611 -12.3438 -0.1 + vertex -37.4611 -12.3438 0 + endloop + endfacet + facet normal 0.950483 -0.310777 0 + outer loop + vertex -37.4611 -12.3438 -0.1 + vertex -37.5104 -12.4945 0 + vertex -37.5104 -12.4945 -0.1 + endloop + endfacet + facet normal 0.888869 -0.458162 0 + outer loop + vertex -37.4611 -12.3438 0 + vertex -37.3834 -12.1929 -0.1 + vertex -37.3834 -12.1929 0 + endloop + endfacet + facet normal 0.888869 -0.458162 0 + outer loop + vertex -37.3834 -12.1929 -0.1 + vertex -37.4611 -12.3438 0 + vertex -37.4611 -12.3438 -0.1 + endloop + endfacet + facet normal 0.812527 -0.582923 0 + outer loop + vertex -37.3834 -12.1929 0 + vertex -37.2767 -12.0443 -0.1 + vertex -37.2767 -12.0443 0 + endloop + endfacet + facet normal 0.812527 -0.582923 0 + outer loop + vertex -37.2767 -12.0443 -0.1 + vertex -37.3834 -12.1929 0 + vertex -37.3834 -12.1929 -0.1 + endloop + endfacet + facet normal 0.727267 -0.686355 0 + outer loop + vertex -37.2767 -12.0443 0 + vertex -37.1409 -11.9004 -0.1 + vertex -37.1409 -11.9004 0 + endloop + endfacet + facet normal 0.727267 -0.686355 0 + outer loop + vertex -37.1409 -11.9004 -0.1 + vertex -37.2767 -12.0443 0 + vertex -37.2767 -12.0443 -0.1 + endloop + endfacet + facet normal 0.637301 -0.770615 0 + outer loop + vertex -37.1409 -11.9004 -0.1 + vertex -36.9755 -11.7636 0 + vertex -37.1409 -11.9004 0 + endloop + endfacet + facet normal 0.637301 -0.770615 0 + outer loop + vertex -36.9755 -11.7636 0 + vertex -37.1409 -11.9004 -0.1 + vertex -36.9755 -11.7636 -0.1 + endloop + endfacet + facet normal 0.545722 -0.837967 0 + outer loop + vertex -36.9755 -11.7636 -0.1 + vertex -36.7802 -11.6364 0 + vertex -36.9755 -11.7636 0 + endloop + endfacet + facet normal 0.545722 -0.837967 0 + outer loop + vertex -36.7802 -11.6364 0 + vertex -36.9755 -11.7636 -0.1 + vertex -36.7802 -11.6364 -0.1 + endloop + endfacet + facet normal 0.431805 -0.901967 0 + outer loop + vertex -36.7802 -11.6364 -0.1 + vertex -36.527 -11.5152 0 + vertex -36.7802 -11.6364 0 + endloop + endfacet + facet normal 0.431805 -0.901967 0 + outer loop + vertex -36.527 -11.5152 0 + vertex -36.7802 -11.6364 -0.1 + vertex -36.527 -11.5152 -0.1 + endloop + endfacet + facet normal 0.256105 -0.966649 0 + outer loop + vertex -36.527 -11.5152 -0.1 + vertex -36.1819 -11.4238 0 + vertex -36.527 -11.5152 0 + endloop + endfacet + facet normal 0.256105 -0.966649 0 + outer loop + vertex -36.1819 -11.4238 0 + vertex -36.527 -11.5152 -0.1 + vertex -36.1819 -11.4238 -0.1 + endloop + endfacet + facet normal 0.121259 -0.992621 0 + outer loop + vertex -36.1819 -11.4238 -0.1 + vertex -35.6555 -11.3595 0 + vertex -36.1819 -11.4238 0 + endloop + endfacet + facet normal 0.121259 -0.992621 0 + outer loop + vertex -35.6555 -11.3595 0 + vertex -36.1819 -11.4238 -0.1 + vertex -35.6555 -11.3595 -0.1 + endloop + endfacet + facet normal 0.0498988 -0.998754 0 + outer loop + vertex -35.6555 -11.3595 -0.1 + vertex -34.8583 -11.3197 0 + vertex -35.6555 -11.3595 0 + endloop + endfacet + facet normal 0.0498988 -0.998754 0 + outer loop + vertex -34.8583 -11.3197 0 + vertex -35.6555 -11.3595 -0.1 + vertex -34.8583 -11.3197 -0.1 + endloop + endfacet + facet normal 0.0155398 -0.999879 0 + outer loop + vertex -34.8583 -11.3197 -0.1 + vertex -33.7011 -11.3017 0 + vertex -34.8583 -11.3197 0 + endloop + endfacet + facet normal 0.0155398 -0.999879 0 + outer loop + vertex -33.7011 -11.3017 0 + vertex -34.8583 -11.3197 -0.1 + vertex -33.7011 -11.3017 -0.1 + endloop + endfacet + facet normal -0.000753226 -1 0 + outer loop + vertex -33.7011 -11.3017 -0.1 + vertex -32.0944 -11.3029 0 + vertex -33.7011 -11.3017 0 + endloop + endfacet + facet normal -0.000753226 -1 -0 + outer loop + vertex -32.0944 -11.3029 0 + vertex -33.7011 -11.3017 -0.1 + vertex -32.0944 -11.3029 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0792 -19.1571 -0.1 + vertex -11.6557 -19.6804 -0.1 + vertex -11.6899 -19.4898 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.302 -19.1333 -0.1 + vertex -11.6557 -19.6804 -0.1 + vertex -12.0792 -19.1571 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.9023 -19.2259 -0.1 + vertex -11.6899 -19.4898 -0.1 + vertex -11.7723 -19.3375 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.6557 -19.6804 -0.1 + vertex -12.302 -19.1333 -0.1 + vertex -11.6707 -19.9072 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.6899 -19.4898 -0.1 + vertex -11.9023 -19.2259 -0.1 + vertex -12.0792 -19.1571 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -12.6849 -19.1929 -0.1 + vertex -11.6707 -19.9072 -0.1 + vertex -12.302 -19.1333 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.7355 -20.1677 -0.1 + vertex -12.6849 -19.1929 -0.1 + vertex -11.851 -20.4599 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.6707 -19.9072 -0.1 + vertex -12.6849 -19.1929 -0.1 + vertex -11.7355 -20.1677 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.01943 -23.5295 -0.1 + vertex -8.48242 -23.1923 -0.1 + vertex -8.45645 -23.4267 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.06691 -19.2358 -0.1 + vertex -8.54451 -22.9989 -0.1 + vertex -8.48242 -23.1923 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.06691 -19.2358 -0.1 + vertex -8.64279 -22.8439 -0.1 + vertex -8.54451 -22.9989 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.94827 -22.6394 -0.1 + vertex -8.43701 -19.2929 -0.1 + vertex -8.77447 -19.378 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.06691 -19.2358 -0.1 + vertex -8.77736 -22.7249 -0.1 + vertex -8.64279 -22.8439 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.43701 -19.2929 -0.1 + vertex -8.94827 -22.6394 -0.1 + vertex -8.77736 -22.7249 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -9.10766 -19.4997 -0.1 + vertex -8.94827 -22.6394 -0.1 + vertex -8.77447 -19.378 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -9.46489 -19.667 -0.1 + vertex -8.94827 -22.6394 -0.1 + vertex -9.10766 -19.4997 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.94827 -22.6394 -0.1 + vertex -9.46489 -19.667 -0.1 + vertex -9.15561 -22.5851 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -9.87453 -19.8884 -0.1 + vertex -9.15561 -22.5851 -0.1 + vertex -9.46489 -19.667 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.15561 -22.5851 -0.1 + vertex -9.87453 -19.8884 -0.1 + vertex -9.39946 -22.5595 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -10.3649 -20.1728 -0.1 + vertex -9.39946 -22.5595 -0.1 + vertex -9.87453 -19.8884 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.39946 -22.5595 -0.1 + vertex -10.3649 -20.1728 -0.1 + vertex -9.67988 -22.56 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.67988 -22.56 -0.1 + vertex -10.3649 -20.1728 -0.1 + vertex -10.0796 -22.6123 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.5073 -20.829 -0.1 + vertex -10.0796 -22.6123 -0.1 + vertex -10.3649 -20.1728 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.0796 -22.6123 -0.1 + vertex -11.5073 -20.829 -0.1 + vertex -10.5344 -22.7271 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5344 -22.7271 -0.1 + vertex -11.5073 -20.829 -0.1 + vertex -10.9881 -22.8877 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.8784 -21.0286 -0.1 + vertex -10.9881 -22.8877 -0.1 + vertex -11.5073 -20.829 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -12.0427 -21.102 -0.1 + vertex -10.9881 -22.8877 -0.1 + vertex -11.8784 -21.0286 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.9881 -22.8877 -0.1 + vertex -12.0427 -21.102 -0.1 + vertex -11.3849 -23.0769 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.3849 -23.0769 -0.1 + vertex -12.0427 -21.102 -0.1 + vertex -11.9359 -23.4045 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.4007 -23.7203 -0.1 + vertex -12.0427 -21.102 -0.1 + vertex -12.0573 -21.0889 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.1989 -19.5967 -0.1 + vertex -12.0573 -21.0889 -0.1 + vertex -12.0594 -21.0513 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.3483 -19.3556 -0.1 + vertex -11.851 -20.4599 -0.1 + vertex -12.6849 -19.1929 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.851 -20.4599 -0.1 + vertex -13.3483 -19.3556 -0.1 + vertex -12.0288 -20.9134 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0288 -20.9134 -0.1 + vertex -13.3483 -19.3556 -0.1 + vertex -12.0594 -21.0513 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.1989 -19.5967 -0.1 + vertex -12.0594 -21.0513 -0.1 + vertex -13.3483 -19.3556 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0573 -21.0889 -0.1 + vertex -14.1989 -19.5967 -0.1 + vertex -15.1436 -19.8912 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0427 -21.102 -0.1 + vertex -12.4007 -23.7203 -0.1 + vertex -11.9359 -23.4045 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0573 -21.0889 -0.1 + vertex -15.1436 -19.8912 -0.1 + vertex -12.7941 -24.0414 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0573 -21.0889 -0.1 + vertex -12.7941 -24.0414 -0.1 + vertex -12.4007 -23.7203 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.2249 -22.8126 -0.1 + vertex -12.7941 -24.0414 -0.1 + vertex -15.1436 -19.8912 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.7941 -24.0414 -0.1 + vertex -17.2249 -22.8126 -0.1 + vertex -13.131 -24.3848 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -17.2226 -22.9371 -0.1 + vertex -13.131 -24.3848 -0.1 + vertex -17.2249 -22.8126 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.131 -24.3848 -0.1 + vertex -17.2226 -22.9371 -0.1 + vertex -13.4262 -24.7676 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.2873 -23.335 -0.1 + vertex -13.4262 -24.7676 -0.1 + vertex -17.2226 -22.9371 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.4084 -23.7485 -0.1 + vertex -13.6945 -25.2068 -0.1 + vertex -17.2873 -23.335 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.6656 -24.469 -0.1 + vertex -13.9508 -25.7195 -0.1 + vertex -17.4084 -23.7485 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.2578 -22.7276 -0.1 + vertex -15.1436 -19.8912 -0.1 + vertex -16.9393 -20.461 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.6945 -25.2068 -0.1 + vertex -17.4084 -23.7485 -0.1 + vertex -13.9508 -25.7195 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.9508 -25.7195 -0.1 + vertex -17.6656 -24.469 -0.1 + vertex -14.2098 -26.3227 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.4262 -24.7676 -0.1 + vertex -17.2873 -23.335 -0.1 + vertex -13.6945 -25.2068 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.1436 -19.8912 -0.1 + vertex -17.2578 -22.7276 -0.1 + vertex -17.2249 -22.8126 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9393 -20.461 -0.1 + vertex -17.3267 -22.6747 -0.1 + vertex -17.2578 -22.7276 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9393 -20.461 -0.1 + vertex -17.4374 -22.6462 -0.1 + vertex -17.3267 -22.6747 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.9865 -20.7653 -0.1 + vertex -17.4374 -22.6462 -0.1 + vertex -16.9393 -20.461 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4374 -22.6462 -0.1 + vertex -17.9865 -20.7653 -0.1 + vertex -17.8061 -22.6324 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.5788 -21.2283 -0.1 + vertex -17.8061 -22.6324 -0.1 + vertex -17.9865 -20.7653 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5053 -21.1105 -0.1 + vertex -17.9865 -20.7653 -0.1 + vertex -18.1109 -20.8023 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5053 -21.1105 -0.1 + vertex -18.1109 -20.8023 -0.1 + vertex -18.2248 -20.8552 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5053 -21.1105 -0.1 + vertex -18.2248 -20.8552 -0.1 + vertex -18.3284 -20.924 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.6967 -21.5139 -0.1 + vertex -17.8061 -22.6324 -0.1 + vertex -18.5788 -21.2283 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5053 -21.1105 -0.1 + vertex -18.3284 -20.924 -0.1 + vertex -18.4218 -21.0091 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.9865 -20.7653 -0.1 + vertex -18.5053 -21.1105 -0.1 + vertex -18.5788 -21.2283 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.8061 -22.6324 -0.1 + vertex -18.6967 -21.5139 -0.1 + vertex -18.1091 -22.6172 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.766 -21.7922 -0.1 + vertex -18.1091 -22.6172 -0.1 + vertex -18.6967 -21.5139 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.1091 -22.6172 -0.1 + vertex -18.766 -21.7922 -0.1 + vertex -18.3541 -22.5704 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.7869 -22.0269 -0.1 + vertex -18.3541 -22.5704 -0.1 + vertex -18.766 -21.7922 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.3541 -22.5704 -0.1 + vertex -18.7869 -22.0269 -0.1 + vertex -18.5429 -22.4899 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -18.7577 -22.2202 -0.1 + vertex -18.5429 -22.4899 -0.1 + vertex -18.7869 -22.0269 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5429 -22.4899 -0.1 + vertex -18.7577 -22.2202 -0.1 + vertex -18.6769 -22.3738 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -3.82849 -22.2203 -0.1 + vertex -3.84473 -21.6547 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -3.84473 -21.6547 -0.1 + vertex -3.87719 -21.3353 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -3.84589 -22.5177 -0.1 + vertex -3.82849 -22.2203 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.47107 -20.0532 -0.1 + vertex -3.87719 -21.3353 -0.1 + vertex -3.91934 -21.0662 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -3.88244 -22.8317 -0.1 + vertex -3.84589 -22.5177 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.29663 -20.2518 -0.1 + vertex -3.91934 -21.0662 -0.1 + vertex -3.97677 -20.8354 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -3.93975 -23.1672 -0.1 + vertex -3.88244 -22.8317 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.15983 -20.4402 -0.1 + vertex -3.97677 -20.8354 -0.1 + vertex -4.05507 -20.6308 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.97677 -20.8354 -0.1 + vertex -4.15983 -20.4402 -0.1 + vertex -4.29663 -20.2518 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -4.01943 -23.5295 -0.1 + vertex -3.93975 -23.1672 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.91934 -21.0662 -0.1 + vertex -4.29663 -20.2518 -0.1 + vertex -4.47107 -20.0532 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.68872 -19.8327 -0.1 + vertex -3.87719 -21.3353 -0.1 + vertex -4.47107 -20.0532 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.01943 -23.5295 -0.1 + vertex -8.45645 -23.4267 -0.1 + vertex -4.25232 -24.3543 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -3.87719 -21.3353 -0.1 + vertex -4.68872 -19.8327 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.14058 -19.1411 -0.1 + vertex -4.68872 -19.8327 -0.1 + vertex -4.93899 -19.592 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.46654 -23.7044 -0.1 + vertex -4.25232 -24.3543 -0.1 + vertex -8.45645 -23.4267 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.8145 -19.1562 -0.1 + vertex -4.93899 -19.592 -0.1 + vertex -5.14898 -19.4116 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.55901 -19.2012 -0.1 + vertex -5.14898 -19.4116 -0.1 + vertex -5.34642 -19.2839 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.14898 -19.4116 -0.1 + vertex -5.55901 -19.2012 -0.1 + vertex -5.8145 -19.1562 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.25232 -24.3543 -0.1 + vertex -8.46654 -23.7044 -0.1 + vertex -4.59396 -25.347 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.93899 -19.592 -0.1 + vertex -5.8145 -19.1562 -0.1 + vertex -6.14058 -19.1411 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -4.68872 -19.8327 -0.1 + vertex -6.14058 -19.1411 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.51259 -24.0278 -0.1 + vertex -4.59396 -25.347 -0.1 + vertex -8.46654 -23.7044 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -6.14058 -19.1411 -0.1 + vertex -7.11547 -19.1706 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -7.11547 -19.1706 -0.1 + vertex -7.63584 -19.198 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.59455 -24.3995 -0.1 + vertex -4.59396 -25.347 -0.1 + vertex -8.51259 -24.0278 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -7.63584 -19.198 -0.1 + vertex -8.06691 -19.2358 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.59396 -25.347 -0.1 + vertex -8.71232 -24.8218 -0.1 + vertex -5.05721 -26.548 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -9.05502 -25.8283 -0.1 + vertex -5.05721 -26.548 -0.1 + vertex -8.71232 -24.8218 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.77736 -22.7249 -0.1 + vertex -8.06691 -19.2358 -0.1 + vertex -8.43701 -19.2929 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.71232 -24.8218 -0.1 + vertex -4.59396 -25.347 -0.1 + vertex -8.59455 -24.3995 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.05721 -26.548 -0.1 + vertex -9.05502 -25.8283 -0.1 + vertex -5.65492 -27.9982 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -9.5401 -27.0667 -0.1 + vertex -5.65492 -27.9982 -0.1 + vertex -9.05502 -25.8283 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.65492 -27.9982 -0.1 + vertex -9.5401 -27.0667 -0.1 + vertex -6.39994 -29.738 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.5815 -32.143 -0.1 + vertex -6.39994 -29.738 -0.1 + vertex -9.5401 -27.0667 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.39994 -29.738 -0.1 + vertex -11.5815 -32.143 -0.1 + vertex -7.70823 -32.8163 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30266 -36.7536 -0.1 + vertex -7.30695 -36.9638 -0.1 + vertex -7.29619 -36.8569 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.32635 -36.6539 -0.1 + vertex -7.30695 -36.9638 -0.1 + vertex -7.30266 -36.7536 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.36727 -36.5579 -0.1 + vertex -7.30695 -36.9638 -0.1 + vertex -7.32635 -36.6539 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.50076 -36.3769 -0.1 + vertex -7.30695 -36.9638 -0.1 + vertex -7.36727 -36.5579 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30695 -36.9638 -0.1 + vertex -7.50076 -36.3769 -0.1 + vertex -7.38017 -37.1883 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.70312 -36.2106 -0.1 + vertex -7.38017 -37.1883 -0.1 + vertex -7.50076 -36.3769 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.38017 -37.1883 -0.1 + vertex -7.70312 -36.2106 -0.1 + vertex -7.52232 -37.4271 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.97432 -36.0592 -0.1 + vertex -7.52232 -37.4271 -0.1 + vertex -7.70312 -36.2106 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.52232 -37.4271 -0.1 + vertex -7.97432 -36.0592 -0.1 + vertex -7.73344 -37.6801 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.73344 -37.6801 -0.1 + vertex -7.97432 -36.0592 -0.1 + vertex -7.8903 -37.8311 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.30871 -38.0303 -0.1 + vertex -7.8903 -37.8311 -0.1 + vertex -7.97432 -36.0592 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.30871 -38.0303 -0.1 + vertex -7.97432 -36.0592 -0.1 + vertex -8.30497 -35.8814 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.8903 -37.8311 -0.1 + vertex -8.30871 -38.0303 -0.1 + vertex -8.0676 -37.9462 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.15585 -38.1249 -0.1 + vertex -8.30497 -35.8814 -0.1 + vertex -8.41808 -35.7975 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.15585 -38.1249 -0.1 + vertex -8.41808 -35.7975 -0.1 + vertex -8.49955 -35.7129 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.84865 -38.1451 -0.1 + vertex -8.49955 -35.7129 -0.1 + vertex -8.55176 -35.6244 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.84865 -38.1451 -0.1 + vertex -8.55176 -35.6244 -0.1 + vertex -8.57707 -35.529 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.30497 -35.8814 -0.1 + vertex -8.657 -38.0883 -0.1 + vertex -8.30871 -38.0303 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.6843 -34.4922 -0.1 + vertex -8.57707 -35.529 -0.1 + vertex -8.57785 -35.4236 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.70823 -32.8163 -0.1 + vertex -11.5815 -32.143 -0.1 + vertex -8.13453 -33.8652 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.9595 -33.0513 -0.1 + vertex -8.13453 -33.8652 -0.1 + vertex -11.5815 -32.143 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.13453 -33.8652 -0.1 + vertex -11.9595 -33.0513 -0.1 + vertex -8.32474 -34.384 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -12.3268 -33.8339 -0.1 + vertex -8.32474 -34.384 -0.1 + vertex -11.9595 -33.0513 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.32474 -34.384 -0.1 + vertex -12.3268 -33.8339 -0.1 + vertex -8.55649 -35.3052 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.55649 -35.3052 -0.1 + vertex -12.3268 -33.8339 -0.1 + vertex -8.57785 -35.4236 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.30497 -35.8814 -0.1 + vertex -9.15585 -38.1249 -0.1 + vertex -8.657 -38.0883 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -12.6843 -34.4922 -0.1 + vertex -8.57785 -35.4236 -0.1 + vertex -12.3268 -33.8339 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.49955 -35.7129 -0.1 + vertex -9.84865 -38.1451 -0.1 + vertex -9.15585 -38.1249 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.57707 -35.529 -0.1 + vertex -12.6843 -34.4922 -0.1 + vertex -9.84865 -38.1451 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.0331 -35.0276 -0.1 + vertex -9.84865 -38.1451 -0.1 + vertex -12.6843 -34.4922 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.84865 -38.1451 -0.1 + vertex -13.0331 -35.0276 -0.1 + vertex -11.9896 -38.1555 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.2045 -35.2497 -0.1 + vertex -11.9896 -38.1555 -0.1 + vertex -13.0331 -35.0276 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.3741 -35.4417 -0.1 + vertex -11.9896 -38.1555 -0.1 + vertex -13.2045 -35.2497 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.5421 -35.6036 -0.1 + vertex -11.9896 -38.1555 -0.1 + vertex -13.3741 -35.4417 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.7085 -35.7356 -0.1 + vertex -11.9896 -38.1555 -0.1 + vertex -13.5421 -35.6036 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.8736 -35.838 -0.1 + vertex -11.9896 -38.1555 -0.1 + vertex -13.7085 -35.7356 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.1677 -38.1469 -0.1 + vertex -13.8736 -35.838 -0.1 + vertex -14.0373 -35.911 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.8736 -35.838 -0.1 + vertex -14.1677 -38.1469 -0.1 + vertex -11.9896 -38.1555 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.1999 -35.9546 -0.1 + vertex -14.1677 -38.1469 -0.1 + vertex -14.0373 -35.911 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.3614 -35.9691 -0.1 + vertex -14.1677 -38.1469 -0.1 + vertex -14.1999 -35.9546 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.5979 -36.0176 -0.1 + vertex -14.3614 -35.9691 -0.1 + vertex -14.4713 -35.9816 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.3614 -35.9691 -0.1 + vertex -14.5979 -36.0176 -0.1 + vertex -14.1677 -38.1469 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.8831 -36.1495 -0.1 + vertex -14.1677 -38.1469 -0.1 + vertex -14.5979 -36.0176 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.1813 -36.3448 -0.1 + vertex -14.1677 -38.1469 -0.1 + vertex -14.8831 -36.1495 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.1677 -38.1469 -0.1 + vertex -15.1813 -36.3448 -0.1 + vertex -14.8486 -38.1282 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.4564 -36.5832 -0.1 + vertex -14.8486 -38.1282 -0.1 + vertex -15.1813 -36.3448 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.7439 -36.902 -0.1 + vertex -14.8486 -38.1282 -0.1 + vertex -15.4564 -36.5832 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.8486 -38.1282 -0.1 + vertex -15.7439 -36.902 -0.1 + vertex -15.316 -38.0928 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.8411 -37.0399 -0.1 + vertex -15.316 -38.0928 -0.1 + vertex -15.7439 -36.902 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.9096 -37.1689 -0.1 + vertex -15.316 -38.0928 -0.1 + vertex -15.8411 -37.0399 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.9604 -37.5428 -0.1 + vertex -15.316 -38.0928 -0.1 + vertex -15.9096 -37.1689 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.316 -38.0928 -0.1 + vertex -15.9604 -37.5428 -0.1 + vertex -15.614 -38.0352 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.614 -38.0352 -0.1 + vertex -15.8777 -37.8324 -0.1 + vertex -15.7132 -37.9965 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.7132 -37.9965 -0.1 + vertex -15.8777 -37.8324 -0.1 + vertex -15.7865 -37.9502 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -15.9316 -37.6764 -0.1 + vertex -15.614 -38.0352 -0.1 + vertex -15.9604 -37.5428 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.7865 -37.9502 -0.1 + vertex -15.8777 -37.8324 -0.1 + vertex -15.8396 -37.8957 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.9604 -37.5428 -0.1 + vertex -15.9096 -37.1689 -0.1 + vertex -15.9511 -37.293 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -15.8777 -37.8324 -0.1 + vertex -15.614 -38.0352 -0.1 + vertex -15.9316 -37.6764 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -15.9604 -37.5428 -0.1 + vertex -15.9511 -37.293 -0.1 + vertex -15.9675 -37.4163 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5311 -26.6889 -0.1 + vertex -14.2098 -26.3227 -0.1 + vertex -17.6656 -24.469 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.2098 -26.3227 -0.1 + vertex -18.5311 -26.6889 -0.1 + vertex -15.3777 -29.1914 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.7699 -29.7113 -0.1 + vertex -15.3777 -29.1914 -0.1 + vertex -18.5311 -26.6889 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.3777 -29.1914 -0.1 + vertex -19.7699 -29.7113 -0.1 + vertex -16.8163 -32.7116 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2682 -33.2523 -0.1 + vertex -16.8163 -32.7116 -0.1 + vertex -19.7699 -29.7113 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.8163 -32.7116 -0.1 + vertex -21.2682 -33.2523 -0.1 + vertex -17.1674 -33.591 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.1674 -33.591 -0.1 + vertex -21.2682 -33.2523 -0.1 + vertex -17.4329 -34.3072 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4329 -34.3072 -0.1 + vertex -21.2682 -33.2523 -0.1 + vertex -17.6153 -34.8741 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.6072 -34.0169 -0.1 + vertex -17.6153 -34.8741 -0.1 + vertex -21.2682 -33.2523 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.6153 -34.8741 -0.1 + vertex -21.6072 -34.0169 -0.1 + vertex -17.7168 -35.3062 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7168 -35.3062 -0.1 + vertex -21.6072 -34.0169 -0.1 + vertex -17.738 -35.4761 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.9074 -34.6287 -0.1 + vertex -17.738 -35.4761 -0.1 + vertex -21.6072 -34.0169 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7399 -35.6175 -0.1 + vertex -18.7028 -38.1359 -0.1 + vertex -18.0369 -38.1201 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.738 -35.4761 -0.1 + vertex -21.9074 -34.6287 -0.1 + vertex -17.7399 -35.6175 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -20.8109 -38.1301 -0.1 + vertex -17.7399 -35.6175 -0.1 + vertex -21.9074 -34.6287 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7399 -35.6175 -0.1 + vertex -20.8109 -38.1301 -0.1 + vertex -18.7028 -38.1359 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.1824 -35.1035 -0.1 + vertex -20.8109 -38.1301 -0.1 + vertex -21.9074 -34.6287 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.4463 -35.4568 -0.1 + vertex -20.8109 -38.1301 -0.1 + vertex -22.1824 -35.1035 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.5782 -35.5929 -0.1 + vertex -20.8109 -38.1301 -0.1 + vertex -22.4463 -35.4568 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.7126 -35.7044 -0.1 + vertex -20.8109 -38.1301 -0.1 + vertex -22.5782 -35.5929 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.8511 -35.7934 -0.1 + vertex -20.8109 -38.1301 -0.1 + vertex -22.7126 -35.7044 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.4866 -38.0828 -0.1 + vertex -22.8511 -35.7934 -0.1 + vertex -22.9953 -35.8619 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.4866 -38.0828 -0.1 + vertex -22.9953 -35.8619 -0.1 + vertex -23.1471 -35.9117 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.4866 -38.0828 -0.1 + vertex -23.1471 -35.9117 -0.1 + vertex -23.3082 -35.9449 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.8511 -35.7934 -0.1 + vertex -23.4866 -38.0828 -0.1 + vertex -20.8109 -38.1301 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -23.665 -35.9691 -0.1 + vertex -23.4866 -38.0828 -0.1 + vertex -23.3082 -35.9449 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -23.8593 -35.9891 -0.1 + vertex -23.4866 -38.0828 -0.1 + vertex -23.665 -35.9691 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.0497 -36.0458 -0.1 + vertex -23.4866 -38.0828 -0.1 + vertex -23.8593 -35.9891 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.2334 -36.1344 -0.1 + vertex -23.4866 -38.0828 -0.1 + vertex -24.0497 -36.0458 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.4077 -36.2501 -0.1 + vertex -23.4866 -38.0828 -0.1 + vertex -24.2334 -36.1344 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.57 -36.3881 -0.1 + vertex -23.4866 -38.0828 -0.1 + vertex -24.4077 -36.2501 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.4866 -38.0828 -0.1 + vertex -24.57 -36.3881 -0.1 + vertex -24.3782 -38.0456 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.7177 -36.5437 -0.1 + vertex -24.3782 -38.0456 -0.1 + vertex -24.57 -36.3881 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.8479 -36.7119 -0.1 + vertex -24.3782 -38.0456 -0.1 + vertex -24.7177 -36.5437 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.9582 -36.888 -0.1 + vertex -24.3782 -38.0456 -0.1 + vertex -24.8479 -36.7119 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.0457 -37.0673 -0.1 + vertex -24.3782 -38.0456 -0.1 + vertex -24.9582 -36.888 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.1078 -37.2448 -0.1 + vertex -24.3782 -38.0456 -0.1 + vertex -25.0457 -37.0673 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3782 -38.0456 -0.1 + vertex -25.1078 -37.2448 -0.1 + vertex -24.7978 -38.0047 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.1419 -37.4158 -0.1 + vertex -24.7978 -38.0047 -0.1 + vertex -25.1078 -37.2448 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.1453 -37.5754 -0.1 + vertex -24.7978 -38.0047 -0.1 + vertex -25.1419 -37.4158 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.7978 -38.0047 -0.1 + vertex -25.1453 -37.5754 -0.1 + vertex -24.9442 -37.9384 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -25.1152 -37.719 -0.1 + vertex -24.9442 -37.9384 -0.1 + vertex -25.1453 -37.5754 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.9442 -37.9384 -0.1 + vertex -25.1152 -37.719 -0.1 + vertex -25.0491 -37.8416 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.237 -36.6071 -0.1 + vertex -16.2485 -36.9225 -0.1 + vertex -16.2109 -36.752 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.3106 -36.4662 -0.1 + vertex -16.2485 -36.9225 -0.1 + vertex -16.237 -36.6071 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.4249 -36.334 -0.1 + vertex -16.2485 -36.9225 -0.1 + vertex -16.3106 -36.4662 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.2485 -36.9225 -0.1 + vertex -16.4249 -36.334 -0.1 + vertex -16.3508 -37.1428 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.5729 -36.2152 -0.1 + vertex -16.3508 -37.1428 -0.1 + vertex -16.4249 -36.334 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.7476 -36.1146 -0.1 + vertex -16.3508 -37.1428 -0.1 + vertex -16.5729 -36.2152 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.3508 -37.1428 -0.1 + vertex -16.7476 -36.1146 -0.1 + vertex -16.5023 -37.3844 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.942 -36.0369 -0.1 + vertex -16.5023 -37.3844 -0.1 + vertex -16.7476 -36.1146 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.1493 -35.9869 -0.1 + vertex -16.5023 -37.3844 -0.1 + vertex -16.942 -36.0369 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.5023 -37.3844 -0.1 + vertex -17.1493 -35.9869 -0.1 + vertex -16.6872 -37.6188 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.3625 -35.9691 -0.1 + vertex -16.6872 -37.6188 -0.1 + vertex -17.1493 -35.9869 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4702 -35.9608 -0.1 + vertex -16.6872 -37.6188 -0.1 + vertex -17.3625 -35.9691 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.6872 -37.6188 -0.1 + vertex -17.4702 -35.9608 -0.1 + vertex -16.8516 -37.795 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -17.2437 -38.0218 -0.1 + vertex -16.8516 -37.795 -0.1 + vertex -17.4702 -35.9608 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.8516 -37.795 -0.1 + vertex -17.2437 -38.0218 -0.1 + vertex -17.0213 -37.9274 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.5664 -38.0841 -0.1 + vertex -17.4702 -35.9608 -0.1 + vertex -17.5603 -35.9348 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4702 -35.9608 -0.1 + vertex -17.5664 -38.0841 -0.1 + vertex -17.2437 -38.0218 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.0369 -38.1201 -0.1 + vertex -17.5603 -35.9348 -0.1 + vertex -17.6327 -35.8892 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.0369 -38.1201 -0.1 + vertex -17.6327 -35.8892 -0.1 + vertex -17.6869 -35.8223 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.0369 -38.1201 -0.1 + vertex -17.6869 -35.8223 -0.1 + vertex -17.7228 -35.7323 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.0369 -38.1201 -0.1 + vertex -17.7228 -35.7323 -0.1 + vertex -17.7399 -35.6175 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.5603 -35.9348 -0.1 + vertex -18.0369 -38.1201 -0.1 + vertex -17.5664 -38.0841 -0.1 + endloop + endfacet + facet normal -0.362708 -0.931903 0 + outer loop + vertex -12.0792 -19.1571 -0.1 + vertex -11.9023 -19.2259 0 + vertex -12.0792 -19.1571 0 + endloop + endfacet + facet normal -0.362708 -0.931903 -0 + outer loop + vertex -11.9023 -19.2259 0 + vertex -12.0792 -19.1571 -0.1 + vertex -11.9023 -19.2259 -0.1 + endloop + endfacet + facet normal -0.651552 -0.758604 0 + outer loop + vertex -11.9023 -19.2259 -0.1 + vertex -11.7723 -19.3375 0 + vertex -11.9023 -19.2259 0 + endloop + endfacet + facet normal -0.651552 -0.758604 -0 + outer loop + vertex -11.7723 -19.3375 0 + vertex -11.9023 -19.2259 -0.1 + vertex -11.7723 -19.3375 -0.1 + endloop + endfacet + facet normal -0.879356 -0.476164 0 + outer loop + vertex -11.6899 -19.4898 -0.1 + vertex -11.7723 -19.3375 0 + vertex -11.7723 -19.3375 -0.1 + endloop + endfacet + facet normal -0.879356 -0.476164 0 + outer loop + vertex -11.7723 -19.3375 0 + vertex -11.6899 -19.4898 -0.1 + vertex -11.6899 -19.4898 0 + endloop + endfacet + facet normal -0.98435 -0.176224 0 + outer loop + vertex -11.6557 -19.6804 -0.1 + vertex -11.6899 -19.4898 0 + vertex -11.6899 -19.4898 -0.1 + endloop + endfacet + facet normal -0.98435 -0.176224 0 + outer loop + vertex -11.6899 -19.4898 0 + vertex -11.6557 -19.6804 -0.1 + vertex -11.6557 -19.6804 0 + endloop + endfacet + facet normal -0.997828 0.0658663 0 + outer loop + vertex -11.6707 -19.9072 -0.1 + vertex -11.6557 -19.6804 0 + vertex -11.6557 -19.6804 -0.1 + endloop + endfacet + facet normal -0.997828 0.0658663 0 + outer loop + vertex -11.6557 -19.6804 0 + vertex -11.6707 -19.9072 -0.1 + vertex -11.6707 -19.9072 0 + endloop + endfacet + facet normal -0.970423 0.241411 0 + outer loop + vertex -11.7355 -20.1677 -0.1 + vertex -11.6707 -19.9072 0 + vertex -11.6707 -19.9072 -0.1 + endloop + endfacet + facet normal -0.970423 0.241411 0 + outer loop + vertex -11.6707 -19.9072 0 + vertex -11.7355 -20.1677 -0.1 + vertex -11.7355 -20.1677 0 + endloop + endfacet + facet normal -0.930032 0.367479 0 + outer loop + vertex -11.851 -20.4599 -0.1 + vertex -11.7355 -20.1677 0 + vertex -11.7355 -20.1677 -0.1 + endloop + endfacet + facet normal -0.930032 0.367479 0 + outer loop + vertex -11.7355 -20.1677 0 + vertex -11.851 -20.4599 -0.1 + vertex -11.851 -20.4599 0 + endloop + endfacet + facet normal -0.930941 0.365169 0 + outer loop + vertex -12.0288 -20.9134 -0.1 + vertex -11.851 -20.4599 0 + vertex -11.851 -20.4599 -0.1 + endloop + endfacet + facet normal -0.930941 0.365169 0 + outer loop + vertex -11.851 -20.4599 0 + vertex -12.0288 -20.9134 -0.1 + vertex -12.0288 -20.9134 0 + endloop + endfacet + facet normal -0.976329 0.216289 0 + outer loop + vertex -12.0594 -21.0513 -0.1 + vertex -12.0288 -20.9134 0 + vertex -12.0288 -20.9134 -0.1 + endloop + endfacet + facet normal -0.976329 0.216289 0 + outer loop + vertex -12.0288 -20.9134 0 + vertex -12.0594 -21.0513 -0.1 + vertex -12.0594 -21.0513 0 + endloop + endfacet + facet normal -0.998491 -0.0549167 0 + outer loop + vertex -12.0573 -21.0889 -0.1 + vertex -12.0594 -21.0513 0 + vertex -12.0594 -21.0513 -0.1 + endloop + endfacet + facet normal -0.998491 -0.0549167 0 + outer loop + vertex -12.0594 -21.0513 0 + vertex -12.0573 -21.0889 -0.1 + vertex -12.0573 -21.0889 0 + endloop + endfacet + facet normal -0.666017 -0.745937 0 + outer loop + vertex -12.0573 -21.0889 -0.1 + vertex -12.0427 -21.102 0 + vertex -12.0573 -21.0889 0 + endloop + endfacet + facet normal -0.666017 -0.745937 -0 + outer loop + vertex -12.0427 -21.102 0 + vertex -12.0573 -21.0889 -0.1 + vertex -12.0427 -21.102 -0.1 + endloop + endfacet + facet normal 0.407619 -0.913152 0 + outer loop + vertex -12.0427 -21.102 -0.1 + vertex -11.8784 -21.0286 0 + vertex -12.0427 -21.102 0 + endloop + endfacet + facet normal 0.407619 -0.913152 0 + outer loop + vertex -11.8784 -21.0286 0 + vertex -12.0427 -21.102 -0.1 + vertex -11.8784 -21.0286 -0.1 + endloop + endfacet + facet normal 0.473772 -0.880648 0 + outer loop + vertex -11.8784 -21.0286 -0.1 + vertex -11.5073 -20.829 0 + vertex -11.8784 -21.0286 0 + endloop + endfacet + facet normal 0.473772 -0.880648 0 + outer loop + vertex -11.5073 -20.829 0 + vertex -11.8784 -21.0286 -0.1 + vertex -11.5073 -20.829 -0.1 + endloop + endfacet + facet normal 0.498101 -0.867119 0 + outer loop + vertex -11.5073 -20.829 -0.1 + vertex -10.3649 -20.1728 0 + vertex -11.5073 -20.829 0 + endloop + endfacet + facet normal 0.498101 -0.867119 0 + outer loop + vertex -10.3649 -20.1728 0 + vertex -11.5073 -20.829 -0.1 + vertex -10.3649 -20.1728 -0.1 + endloop + endfacet + facet normal 0.501647 -0.865072 0 + outer loop + vertex -10.3649 -20.1728 -0.1 + vertex -9.87453 -19.8884 0 + vertex -10.3649 -20.1728 0 + endloop + endfacet + facet normal 0.501647 -0.865072 0 + outer loop + vertex -9.87453 -19.8884 0 + vertex -10.3649 -20.1728 -0.1 + vertex -9.87453 -19.8884 -0.1 + endloop + endfacet + facet normal 0.475521 -0.879704 0 + outer loop + vertex -9.87453 -19.8884 -0.1 + vertex -9.46489 -19.667 0 + vertex -9.87453 -19.8884 0 + endloop + endfacet + facet normal 0.475521 -0.879704 0 + outer loop + vertex -9.46489 -19.667 0 + vertex -9.87453 -19.8884 -0.1 + vertex -9.46489 -19.667 -0.1 + endloop + endfacet + facet normal 0.423964 -0.905679 0 + outer loop + vertex -9.46489 -19.667 -0.1 + vertex -9.10766 -19.4997 0 + vertex -9.46489 -19.667 0 + endloop + endfacet + facet normal 0.423964 -0.905679 0 + outer loop + vertex -9.10766 -19.4997 0 + vertex -9.46489 -19.667 -0.1 + vertex -9.10766 -19.4997 -0.1 + endloop + endfacet + facet normal 0.343275 -0.939235 0 + outer loop + vertex -9.10766 -19.4997 -0.1 + vertex -8.77447 -19.378 0 + vertex -9.10766 -19.4997 0 + endloop + endfacet + facet normal 0.343275 -0.939235 0 + outer loop + vertex -8.77447 -19.378 0 + vertex -9.10766 -19.4997 -0.1 + vertex -8.77447 -19.378 -0.1 + endloop + endfacet + facet normal 0.244399 -0.969675 0 + outer loop + vertex -8.77447 -19.378 -0.1 + vertex -8.43701 -19.2929 0 + vertex -8.77447 -19.378 0 + endloop + endfacet + facet normal 0.244399 -0.969675 0 + outer loop + vertex -8.43701 -19.2929 0 + vertex -8.77447 -19.378 -0.1 + vertex -8.43701 -19.2929 -0.1 + endloop + endfacet + facet normal 0.152431 -0.988314 0 + outer loop + vertex -8.43701 -19.2929 -0.1 + vertex -8.06691 -19.2358 0 + vertex -8.43701 -19.2929 0 + endloop + endfacet + facet normal 0.152431 -0.988314 0 + outer loop + vertex -8.06691 -19.2358 0 + vertex -8.43701 -19.2929 -0.1 + vertex -8.06691 -19.2358 -0.1 + endloop + endfacet + facet normal 0.0874592 -0.996168 0 + outer loop + vertex -8.06691 -19.2358 -0.1 + vertex -7.63584 -19.198 0 + vertex -8.06691 -19.2358 0 + endloop + endfacet + facet normal 0.0874592 -0.996168 0 + outer loop + vertex -7.63584 -19.198 0 + vertex -8.06691 -19.2358 -0.1 + vertex -7.63584 -19.198 -0.1 + endloop + endfacet + facet normal 0.0524883 -0.998622 0 + outer loop + vertex -7.63584 -19.198 -0.1 + vertex -7.11547 -19.1706 0 + vertex -7.63584 -19.198 0 + endloop + endfacet + facet normal 0.0524883 -0.998622 0 + outer loop + vertex -7.11547 -19.1706 0 + vertex -7.63584 -19.198 -0.1 + vertex -7.11547 -19.1706 -0.1 + endloop + endfacet + facet normal 0.0303019 -0.999541 0 + outer loop + vertex -7.11547 -19.1706 -0.1 + vertex -6.14058 -19.1411 0 + vertex -7.11547 -19.1706 0 + endloop + endfacet + facet normal 0.0303019 -0.999541 0 + outer loop + vertex -6.14058 -19.1411 0 + vertex -7.11547 -19.1706 -0.1 + vertex -6.14058 -19.1411 -0.1 + endloop + endfacet + facet normal -0.0462057 -0.998932 0 + outer loop + vertex -6.14058 -19.1411 -0.1 + vertex -5.8145 -19.1562 0 + vertex -6.14058 -19.1411 0 + endloop + endfacet + facet normal -0.0462057 -0.998932 -0 + outer loop + vertex -5.8145 -19.1562 0 + vertex -6.14058 -19.1411 -0.1 + vertex -5.8145 -19.1562 -0.1 + endloop + endfacet + facet normal -0.173732 -0.984793 0 + outer loop + vertex -5.8145 -19.1562 -0.1 + vertex -5.55901 -19.2012 0 + vertex -5.8145 -19.1562 0 + endloop + endfacet + facet normal -0.173732 -0.984793 -0 + outer loop + vertex -5.55901 -19.2012 0 + vertex -5.8145 -19.1562 -0.1 + vertex -5.55901 -19.2012 -0.1 + endloop + endfacet + facet normal -0.362239 -0.932085 0 + outer loop + vertex -5.55901 -19.2012 -0.1 + vertex -5.34642 -19.2839 0 + vertex -5.55901 -19.2012 0 + endloop + endfacet + facet normal -0.362239 -0.932085 -0 + outer loop + vertex -5.34642 -19.2839 0 + vertex -5.55901 -19.2012 -0.1 + vertex -5.34642 -19.2839 -0.1 + endloop + endfacet + facet normal -0.543204 -0.8396 0 + outer loop + vertex -5.34642 -19.2839 -0.1 + vertex -5.14898 -19.4116 0 + vertex -5.34642 -19.2839 0 + endloop + endfacet + facet normal -0.543204 -0.8396 -0 + outer loop + vertex -5.14898 -19.4116 0 + vertex -5.34642 -19.2839 -0.1 + vertex -5.14898 -19.4116 -0.1 + endloop + endfacet + facet normal -0.651669 -0.758504 0 + outer loop + vertex -5.14898 -19.4116 -0.1 + vertex -4.93899 -19.592 0 + vertex -5.14898 -19.4116 0 + endloop + endfacet + facet normal -0.651669 -0.758504 -0 + outer loop + vertex -4.93899 -19.592 0 + vertex -5.14898 -19.4116 -0.1 + vertex -4.93899 -19.592 -0.1 + endloop + endfacet + facet normal -0.693118 -0.720824 0 + outer loop + vertex -4.93899 -19.592 -0.1 + vertex -4.68872 -19.8327 0 + vertex -4.93899 -19.592 0 + endloop + endfacet + facet normal -0.693118 -0.720824 -0 + outer loop + vertex -4.68872 -19.8327 0 + vertex -4.93899 -19.592 -0.1 + vertex -4.68872 -19.8327 -0.1 + endloop + endfacet + facet normal -0.711815 -0.702367 0 + outer loop + vertex -4.47107 -20.0532 -0.1 + vertex -4.68872 -19.8327 0 + vertex -4.68872 -19.8327 -0.1 + endloop + endfacet + facet normal -0.711815 -0.702367 0 + outer loop + vertex -4.68872 -19.8327 0 + vertex -4.47107 -20.0532 -0.1 + vertex -4.47107 -20.0532 0 + endloop + endfacet + facet normal -0.751184 -0.660092 0 + outer loop + vertex -4.29663 -20.2518 -0.1 + vertex -4.47107 -20.0532 0 + vertex -4.47107 -20.0532 -0.1 + endloop + endfacet + facet normal -0.751184 -0.660092 0 + outer loop + vertex -4.47107 -20.0532 0 + vertex -4.29663 -20.2518 -0.1 + vertex -4.29663 -20.2518 0 + endloop + endfacet + facet normal -0.80931 -0.587382 0 + outer loop + vertex -4.15983 -20.4402 -0.1 + vertex -4.29663 -20.2518 0 + vertex -4.29663 -20.2518 -0.1 + endloop + endfacet + facet normal -0.80931 -0.587382 0 + outer loop + vertex -4.29663 -20.2518 0 + vertex -4.15983 -20.4402 -0.1 + vertex -4.15983 -20.4402 0 + endloop + endfacet + facet normal -0.876288 -0.481787 0 + outer loop + vertex -4.05507 -20.6308 -0.1 + vertex -4.15983 -20.4402 0 + vertex -4.15983 -20.4402 -0.1 + endloop + endfacet + facet normal -0.876288 -0.481787 0 + outer loop + vertex -4.15983 -20.4402 0 + vertex -4.05507 -20.6308 -0.1 + vertex -4.05507 -20.6308 0 + endloop + endfacet + facet normal -0.93397 -0.357351 0 + outer loop + vertex -3.97677 -20.8354 -0.1 + vertex -4.05507 -20.6308 0 + vertex -4.05507 -20.6308 -0.1 + endloop + endfacet + facet normal -0.93397 -0.357351 0 + outer loop + vertex -4.05507 -20.6308 0 + vertex -3.97677 -20.8354 -0.1 + vertex -3.97677 -20.8354 0 + endloop + endfacet + facet normal -0.970412 -0.241456 0 + outer loop + vertex -3.91934 -21.0662 -0.1 + vertex -3.97677 -20.8354 0 + vertex -3.97677 -20.8354 -0.1 + endloop + endfacet + facet normal -0.970412 -0.241456 0 + outer loop + vertex -3.97677 -20.8354 0 + vertex -3.91934 -21.0662 -0.1 + vertex -3.91934 -21.0662 0 + endloop + endfacet + facet normal -0.987949 -0.154777 0 + outer loop + vertex -3.87719 -21.3353 -0.1 + vertex -3.91934 -21.0662 0 + vertex -3.91934 -21.0662 -0.1 + endloop + endfacet + facet normal -0.987949 -0.154777 0 + outer loop + vertex -3.91934 -21.0662 0 + vertex -3.87719 -21.3353 -0.1 + vertex -3.87719 -21.3353 0 + endloop + endfacet + facet normal -0.994874 -0.10112 0 + outer loop + vertex -3.84473 -21.6547 -0.1 + vertex -3.87719 -21.3353 0 + vertex -3.87719 -21.3353 -0.1 + endloop + endfacet + facet normal -0.994874 -0.10112 0 + outer loop + vertex -3.87719 -21.3353 0 + vertex -3.84473 -21.6547 -0.1 + vertex -3.84473 -21.6547 0 + endloop + endfacet + facet normal -0.999588 -0.0286991 0 + outer loop + vertex -3.82849 -22.2203 -0.1 + vertex -3.84473 -21.6547 0 + vertex -3.84473 -21.6547 -0.1 + endloop + endfacet + facet normal -0.999588 -0.0286991 0 + outer loop + vertex -3.84473 -21.6547 0 + vertex -3.82849 -22.2203 -0.1 + vertex -3.82849 -22.2203 0 + endloop + endfacet + facet normal -0.998294 0.058395 0 + outer loop + vertex -3.84589 -22.5177 -0.1 + vertex -3.82849 -22.2203 0 + vertex -3.82849 -22.2203 -0.1 + endloop + endfacet + facet normal -0.998294 0.058395 0 + outer loop + vertex -3.82849 -22.2203 0 + vertex -3.84589 -22.5177 -0.1 + vertex -3.84589 -22.5177 0 + endloop + endfacet + facet normal -0.99329 0.115647 0 + outer loop + vertex -3.88244 -22.8317 -0.1 + vertex -3.84589 -22.5177 0 + vertex -3.84589 -22.5177 -0.1 + endloop + endfacet + facet normal -0.99329 0.115647 0 + outer loop + vertex -3.84589 -22.5177 0 + vertex -3.88244 -22.8317 -0.1 + vertex -3.88244 -22.8317 0 + endloop + endfacet + facet normal -0.985725 0.168361 0 + outer loop + vertex -3.93975 -23.1672 -0.1 + vertex -3.88244 -22.8317 0 + vertex -3.88244 -22.8317 -0.1 + endloop + endfacet + facet normal -0.985725 0.168361 0 + outer loop + vertex -3.88244 -22.8317 0 + vertex -3.93975 -23.1672 -0.1 + vertex -3.93975 -23.1672 0 + endloop + endfacet + facet normal -0.976652 0.214827 0 + outer loop + vertex -4.01943 -23.5295 -0.1 + vertex -3.93975 -23.1672 0 + vertex -3.93975 -23.1672 -0.1 + endloop + endfacet + facet normal -0.976652 0.214827 0 + outer loop + vertex -3.93975 -23.1672 0 + vertex -4.01943 -23.5295 -0.1 + vertex -4.01943 -23.5295 0 + endloop + endfacet + facet normal -0.962379 0.27171 0 + outer loop + vertex -4.25232 -24.3543 -0.1 + vertex -4.01943 -23.5295 0 + vertex -4.01943 -23.5295 -0.1 + endloop + endfacet + facet normal -0.962379 0.27171 0 + outer loop + vertex -4.01943 -23.5295 0 + vertex -4.25232 -24.3543 -0.1 + vertex -4.25232 -24.3543 0 + endloop + endfacet + facet normal -0.945562 0.325441 0 + outer loop + vertex -4.59396 -25.347 -0.1 + vertex -4.25232 -24.3543 0 + vertex -4.25232 -24.3543 -0.1 + endloop + endfacet + facet normal -0.945562 0.325441 0 + outer loop + vertex -4.25232 -24.3543 0 + vertex -4.59396 -25.347 -0.1 + vertex -4.59396 -25.347 0 + endloop + endfacet + facet normal -0.933005 0.359863 0 + outer loop + vertex -5.05721 -26.548 -0.1 + vertex -4.59396 -25.347 0 + vertex -4.59396 -25.347 -0.1 + endloop + endfacet + facet normal -0.933005 0.359863 0 + outer loop + vertex -4.59396 -25.347 0 + vertex -5.05721 -26.548 -0.1 + vertex -5.05721 -26.548 0 + endloop + endfacet + facet normal -0.924544 0.381075 0 + outer loop + vertex -5.65492 -27.9982 -0.1 + vertex -5.05721 -26.548 0 + vertex -5.05721 -26.548 -0.1 + endloop + endfacet + facet normal -0.924544 0.381075 0 + outer loop + vertex -5.05721 -26.548 0 + vertex -5.65492 -27.9982 -0.1 + vertex -5.65492 -27.9982 0 + endloop + endfacet + facet normal -0.919267 0.393635 0 + outer loop + vertex -6.39994 -29.738 -0.1 + vertex -5.65492 -27.9982 0 + vertex -5.65492 -27.9982 -0.1 + endloop + endfacet + facet normal -0.919267 0.393635 0 + outer loop + vertex -5.65492 -27.9982 0 + vertex -6.39994 -29.738 -0.1 + vertex -6.39994 -29.738 0 + endloop + endfacet + facet normal -0.920331 0.391141 0 + outer loop + vertex -7.70823 -32.8163 -0.1 + vertex -6.39994 -29.738 0 + vertex -6.39994 -29.738 -0.1 + endloop + endfacet + facet normal -0.920331 0.391141 0 + outer loop + vertex -6.39994 -29.738 0 + vertex -7.70823 -32.8163 -0.1 + vertex -7.70823 -32.8163 0 + endloop + endfacet + facet normal -0.926406 0.376526 0 + outer loop + vertex -8.13453 -33.8652 -0.1 + vertex -7.70823 -32.8163 0 + vertex -7.70823 -32.8163 -0.1 + endloop + endfacet + facet normal -0.926406 0.376526 0 + outer loop + vertex -7.70823 -32.8163 0 + vertex -8.13453 -33.8652 -0.1 + vertex -8.13453 -33.8652 0 + endloop + endfacet + facet normal -0.938884 0.344234 0 + outer loop + vertex -8.32474 -34.384 -0.1 + vertex -8.13453 -33.8652 0 + vertex -8.13453 -33.8652 -0.1 + endloop + endfacet + facet normal -0.938884 0.344234 0 + outer loop + vertex -8.13453 -33.8652 0 + vertex -8.32474 -34.384 -0.1 + vertex -8.32474 -34.384 0 + endloop + endfacet + facet normal -0.969782 0.243972 0 + outer loop + vertex -8.55649 -35.3052 -0.1 + vertex -8.32474 -34.384 0 + vertex -8.32474 -34.384 -0.1 + endloop + endfacet + facet normal -0.969782 0.243972 0 + outer loop + vertex -8.32474 -34.384 0 + vertex -8.55649 -35.3052 -0.1 + vertex -8.55649 -35.3052 0 + endloop + endfacet + facet normal -0.98411 0.17756 0 + outer loop + vertex -8.57785 -35.4236 -0.1 + vertex -8.55649 -35.3052 0 + vertex -8.55649 -35.3052 -0.1 + endloop + endfacet + facet normal -0.98411 0.17756 0 + outer loop + vertex -8.55649 -35.3052 0 + vertex -8.57785 -35.4236 -0.1 + vertex -8.57785 -35.4236 0 + endloop + endfacet + facet normal -0.999972 -0.00745735 0 + outer loop + vertex -8.57707 -35.529 -0.1 + vertex -8.57785 -35.4236 0 + vertex -8.57785 -35.4236 -0.1 + endloop + endfacet + facet normal -0.999972 -0.00745735 0 + outer loop + vertex -8.57785 -35.4236 0 + vertex -8.57707 -35.529 -0.1 + vertex -8.57707 -35.529 0 + endloop + endfacet + facet normal -0.966564 -0.256425 0 + outer loop + vertex -8.55176 -35.6244 -0.1 + vertex -8.57707 -35.529 0 + vertex -8.57707 -35.529 -0.1 + endloop + endfacet + facet normal -0.966564 -0.256425 0 + outer loop + vertex -8.57707 -35.529 0 + vertex -8.55176 -35.6244 -0.1 + vertex -8.55176 -35.6244 0 + endloop + endfacet + facet normal -0.861289 -0.508115 0 + outer loop + vertex -8.49955 -35.7129 -0.1 + vertex -8.55176 -35.6244 0 + vertex -8.55176 -35.6244 -0.1 + endloop + endfacet + facet normal -0.861289 -0.508115 0 + outer loop + vertex -8.55176 -35.6244 0 + vertex -8.49955 -35.7129 -0.1 + vertex -8.49955 -35.7129 0 + endloop + endfacet + facet normal -0.720516 -0.693438 0 + outer loop + vertex -8.41808 -35.7975 -0.1 + vertex -8.49955 -35.7129 0 + vertex -8.49955 -35.7129 -0.1 + endloop + endfacet + facet normal -0.720516 -0.693438 0 + outer loop + vertex -8.49955 -35.7129 0 + vertex -8.41808 -35.7975 -0.1 + vertex -8.41808 -35.7975 0 + endloop + endfacet + facet normal -0.595759 -0.803164 0 + outer loop + vertex -8.41808 -35.7975 -0.1 + vertex -8.30497 -35.8814 0 + vertex -8.41808 -35.7975 0 + endloop + endfacet + facet normal -0.595759 -0.803164 -0 + outer loop + vertex -8.30497 -35.8814 0 + vertex -8.41808 -35.7975 -0.1 + vertex -8.30497 -35.8814 -0.1 + endloop + endfacet + facet normal -0.473656 -0.88071 0 + outer loop + vertex -8.30497 -35.8814 -0.1 + vertex -7.97432 -36.0592 0 + vertex -8.30497 -35.8814 0 + endloop + endfacet + facet normal -0.473656 -0.88071 -0 + outer loop + vertex -7.97432 -36.0592 0 + vertex -8.30497 -35.8814 -0.1 + vertex -7.97432 -36.0592 -0.1 + endloop + endfacet + facet normal -0.487345 -0.873209 0 + outer loop + vertex -7.97432 -36.0592 -0.1 + vertex -7.70312 -36.2106 0 + vertex -7.97432 -36.0592 0 + endloop + endfacet + facet normal -0.487345 -0.873209 -0 + outer loop + vertex -7.70312 -36.2106 0 + vertex -7.97432 -36.0592 -0.1 + vertex -7.70312 -36.2106 -0.1 + endloop + endfacet + facet normal -0.634834 -0.772648 0 + outer loop + vertex -7.70312 -36.2106 -0.1 + vertex -7.50076 -36.3769 0 + vertex -7.70312 -36.2106 0 + endloop + endfacet + facet normal -0.634834 -0.772648 -0 + outer loop + vertex -7.50076 -36.3769 0 + vertex -7.70312 -36.2106 -0.1 + vertex -7.50076 -36.3769 -0.1 + endloop + endfacet + facet normal -0.80484 -0.593492 0 + outer loop + vertex -7.36727 -36.5579 -0.1 + vertex -7.50076 -36.3769 0 + vertex -7.50076 -36.3769 -0.1 + endloop + endfacet + facet normal -0.80484 -0.593492 0 + outer loop + vertex -7.50076 -36.3769 0 + vertex -7.36727 -36.5579 -0.1 + vertex -7.36727 -36.5579 0 + endloop + endfacet + facet normal -0.919952 -0.39203 0 + outer loop + vertex -7.32635 -36.6539 -0.1 + vertex -7.36727 -36.5579 0 + vertex -7.36727 -36.5579 -0.1 + endloop + endfacet + facet normal -0.919952 -0.39203 0 + outer loop + vertex -7.36727 -36.5579 0 + vertex -7.32635 -36.6539 -0.1 + vertex -7.32635 -36.6539 0 + endloop + endfacet + facet normal -0.972883 -0.231299 0 + outer loop + vertex -7.30266 -36.7536 -0.1 + vertex -7.32635 -36.6539 0 + vertex -7.32635 -36.6539 -0.1 + endloop + endfacet + facet normal -0.972883 -0.231299 0 + outer loop + vertex -7.32635 -36.6539 0 + vertex -7.30266 -36.7536 -0.1 + vertex -7.30266 -36.7536 0 + endloop + endfacet + facet normal -0.998045 -0.0625022 0 + outer loop + vertex -7.29619 -36.8569 -0.1 + vertex -7.30266 -36.7536 0 + vertex -7.30266 -36.7536 -0.1 + endloop + endfacet + facet normal -0.998045 -0.0625022 0 + outer loop + vertex -7.30266 -36.7536 0 + vertex -7.29619 -36.8569 -0.1 + vertex -7.29619 -36.8569 0 + endloop + endfacet + facet normal -0.994972 0.100157 0 + outer loop + vertex -7.30695 -36.9638 -0.1 + vertex -7.29619 -36.8569 0 + vertex -7.29619 -36.8569 -0.1 + endloop + endfacet + facet normal -0.994972 0.100157 0 + outer loop + vertex -7.29619 -36.8569 0 + vertex -7.30695 -36.9638 -0.1 + vertex -7.30695 -36.9638 0 + endloop + endfacet + facet normal -0.950745 0.309974 0 + outer loop + vertex -7.38017 -37.1883 -0.1 + vertex -7.30695 -36.9638 0 + vertex -7.30695 -36.9638 -0.1 + endloop + endfacet + facet normal -0.950745 0.309974 0 + outer loop + vertex -7.30695 -36.9638 0 + vertex -7.38017 -37.1883 -0.1 + vertex -7.38017 -37.1883 0 + endloop + endfacet + facet normal -0.859288 0.511491 0 + outer loop + vertex -7.52232 -37.4271 -0.1 + vertex -7.38017 -37.1883 0 + vertex -7.38017 -37.1883 -0.1 + endloop + endfacet + facet normal -0.859288 0.511491 0 + outer loop + vertex -7.38017 -37.1883 0 + vertex -7.52232 -37.4271 -0.1 + vertex -7.52232 -37.4271 0 + endloop + endfacet + facet normal -0.767721 0.640785 0 + outer loop + vertex -7.73344 -37.6801 -0.1 + vertex -7.52232 -37.4271 0 + vertex -7.52232 -37.4271 -0.1 + endloop + endfacet + facet normal -0.767721 0.640785 0 + outer loop + vertex -7.52232 -37.4271 0 + vertex -7.73344 -37.6801 -0.1 + vertex -7.73344 -37.6801 0 + endloop + endfacet + facet normal -0.693467 0.720489 0 + outer loop + vertex -7.73344 -37.6801 -0.1 + vertex -7.8903 -37.8311 0 + vertex -7.73344 -37.6801 0 + endloop + endfacet + facet normal -0.693467 0.720489 0 + outer loop + vertex -7.8903 -37.8311 0 + vertex -7.73344 -37.6801 -0.1 + vertex -7.8903 -37.8311 -0.1 + endloop + endfacet + facet normal -0.544632 0.838675 0 + outer loop + vertex -7.8903 -37.8311 -0.1 + vertex -8.0676 -37.9462 0 + vertex -7.8903 -37.8311 0 + endloop + endfacet + facet normal -0.544632 0.838675 0 + outer loop + vertex -8.0676 -37.9462 0 + vertex -7.8903 -37.8311 -0.1 + vertex -8.0676 -37.9462 -0.1 + endloop + endfacet + facet normal -0.329452 0.944172 0 + outer loop + vertex -8.0676 -37.9462 -0.1 + vertex -8.30871 -38.0303 0 + vertex -8.0676 -37.9462 0 + endloop + endfacet + facet normal -0.329452 0.944172 0 + outer loop + vertex -8.30871 -38.0303 0 + vertex -8.0676 -37.9462 -0.1 + vertex -8.30871 -38.0303 -0.1 + endloop + endfacet + facet normal -0.164178 0.986431 0 + outer loop + vertex -8.30871 -38.0303 -0.1 + vertex -8.657 -38.0883 0 + vertex -8.30871 -38.0303 0 + endloop + endfacet + facet normal -0.164178 0.986431 0 + outer loop + vertex -8.657 -38.0883 0 + vertex -8.30871 -38.0303 -0.1 + vertex -8.657 -38.0883 -0.1 + endloop + endfacet + facet normal -0.0732736 0.997312 0 + outer loop + vertex -8.657 -38.0883 -0.1 + vertex -9.15585 -38.1249 0 + vertex -8.657 -38.0883 0 + endloop + endfacet + facet normal -0.0732736 0.997312 0 + outer loop + vertex -9.15585 -38.1249 0 + vertex -8.657 -38.0883 -0.1 + vertex -9.15585 -38.1249 -0.1 + endloop + endfacet + facet normal -0.0291211 0.999576 0 + outer loop + vertex -9.15585 -38.1249 -0.1 + vertex -9.84865 -38.1451 0 + vertex -9.15585 -38.1249 0 + endloop + endfacet + facet normal -0.0291211 0.999576 0 + outer loop + vertex -9.84865 -38.1451 0 + vertex -9.15585 -38.1249 -0.1 + vertex -9.84865 -38.1451 -0.1 + endloop + endfacet + facet normal -0.00482502 0.999988 0 + outer loop + vertex -9.84865 -38.1451 -0.1 + vertex -11.9896 -38.1555 0 + vertex -9.84865 -38.1451 0 + endloop + endfacet + facet normal -0.00482502 0.999988 0 + outer loop + vertex -11.9896 -38.1555 0 + vertex -9.84865 -38.1451 -0.1 + vertex -11.9896 -38.1555 -0.1 + endloop + endfacet + facet normal 0.0039213 0.999992 -0 + outer loop + vertex -11.9896 -38.1555 -0.1 + vertex -14.1677 -38.1469 0 + vertex -11.9896 -38.1555 0 + endloop + endfacet + facet normal 0.0039213 0.999992 0 + outer loop + vertex -14.1677 -38.1469 0 + vertex -11.9896 -38.1555 -0.1 + vertex -14.1677 -38.1469 -0.1 + endloop + endfacet + facet normal 0.0274602 0.999623 -0 + outer loop + vertex -14.1677 -38.1469 -0.1 + vertex -14.8486 -38.1282 0 + vertex -14.1677 -38.1469 0 + endloop + endfacet + facet normal 0.0274602 0.999623 0 + outer loop + vertex -14.8486 -38.1282 0 + vertex -14.1677 -38.1469 -0.1 + vertex -14.8486 -38.1282 -0.1 + endloop + endfacet + facet normal 0.0756421 0.997135 -0 + outer loop + vertex -14.8486 -38.1282 -0.1 + vertex -15.316 -38.0928 0 + vertex -14.8486 -38.1282 0 + endloop + endfacet + facet normal 0.0756421 0.997135 0 + outer loop + vertex -15.316 -38.0928 0 + vertex -14.8486 -38.1282 -0.1 + vertex -15.316 -38.0928 -0.1 + endloop + endfacet + facet normal 0.189644 0.981853 -0 + outer loop + vertex -15.316 -38.0928 -0.1 + vertex -15.614 -38.0352 0 + vertex -15.316 -38.0928 0 + endloop + endfacet + facet normal 0.189644 0.981853 0 + outer loop + vertex -15.614 -38.0352 0 + vertex -15.316 -38.0928 -0.1 + vertex -15.614 -38.0352 -0.1 + endloop + endfacet + facet normal 0.363705 0.931514 -0 + outer loop + vertex -15.614 -38.0352 -0.1 + vertex -15.7132 -37.9965 0 + vertex -15.614 -38.0352 0 + endloop + endfacet + facet normal 0.363705 0.931514 0 + outer loop + vertex -15.7132 -37.9965 0 + vertex -15.614 -38.0352 -0.1 + vertex -15.7132 -37.9965 -0.1 + endloop + endfacet + facet normal 0.533432 0.845843 -0 + outer loop + vertex -15.7132 -37.9965 -0.1 + vertex -15.7865 -37.9502 0 + vertex -15.7132 -37.9965 0 + endloop + endfacet + facet normal 0.533432 0.845843 0 + outer loop + vertex -15.7865 -37.9502 0 + vertex -15.7132 -37.9965 -0.1 + vertex -15.7865 -37.9502 -0.1 + endloop + endfacet + facet normal 0.71659 0.697495 0 + outer loop + vertex -15.7865 -37.9502 0 + vertex -15.8396 -37.8957 -0.1 + vertex -15.8396 -37.8957 0 + endloop + endfacet + facet normal 0.71659 0.697495 0 + outer loop + vertex -15.8396 -37.8957 -0.1 + vertex -15.7865 -37.9502 0 + vertex -15.7865 -37.9502 -0.1 + endloop + endfacet + facet normal 0.856476 0.516186 0 + outer loop + vertex -15.8396 -37.8957 0 + vertex -15.8777 -37.8324 -0.1 + vertex -15.8777 -37.8324 0 + endloop + endfacet + facet normal 0.856476 0.516186 0 + outer loop + vertex -15.8777 -37.8324 -0.1 + vertex -15.8396 -37.8957 0 + vertex -15.8396 -37.8957 -0.1 + endloop + endfacet + facet normal 0.945292 0.326225 0 + outer loop + vertex -15.8777 -37.8324 0 + vertex -15.9316 -37.6764 -0.1 + vertex -15.9316 -37.6764 0 + endloop + endfacet + facet normal 0.945292 0.326225 0 + outer loop + vertex -15.9316 -37.6764 -0.1 + vertex -15.8777 -37.8324 0 + vertex -15.8777 -37.8324 -0.1 + endloop + endfacet + facet normal 0.977576 0.210582 0 + outer loop + vertex -15.9316 -37.6764 0 + vertex -15.9604 -37.5428 -0.1 + vertex -15.9604 -37.5428 0 + endloop + endfacet + facet normal 0.977576 0.210582 0 + outer loop + vertex -15.9604 -37.5428 -0.1 + vertex -15.9316 -37.6764 0 + vertex -15.9316 -37.6764 -0.1 + endloop + endfacet + facet normal 0.998424 0.0561231 0 + outer loop + vertex -15.9604 -37.5428 0 + vertex -15.9675 -37.4163 -0.1 + vertex -15.9675 -37.4163 0 + endloop + endfacet + facet normal 0.998424 0.0561231 0 + outer loop + vertex -15.9675 -37.4163 -0.1 + vertex -15.9604 -37.5428 0 + vertex -15.9604 -37.5428 -0.1 + endloop + endfacet + facet normal 0.991334 -0.131364 0 + outer loop + vertex -15.9675 -37.4163 0 + vertex -15.9511 -37.293 -0.1 + vertex -15.9511 -37.293 0 + endloop + endfacet + facet normal 0.991334 -0.131364 0 + outer loop + vertex -15.9511 -37.293 -0.1 + vertex -15.9675 -37.4163 0 + vertex -15.9675 -37.4163 -0.1 + endloop + endfacet + facet normal 0.94832 -0.317316 0 + outer loop + vertex -15.9511 -37.293 0 + vertex -15.9096 -37.1689 -0.1 + vertex -15.9096 -37.1689 0 + endloop + endfacet + facet normal 0.94832 -0.317316 0 + outer loop + vertex -15.9096 -37.1689 -0.1 + vertex -15.9511 -37.293 0 + vertex -15.9511 -37.293 -0.1 + endloop + endfacet + facet normal 0.883259 -0.468885 0 + outer loop + vertex -15.9096 -37.1689 0 + vertex -15.8411 -37.0399 -0.1 + vertex -15.8411 -37.0399 0 + endloop + endfacet + facet normal 0.883259 -0.468885 0 + outer loop + vertex -15.8411 -37.0399 -0.1 + vertex -15.9096 -37.1689 0 + vertex -15.9096 -37.1689 -0.1 + endloop + endfacet + facet normal 0.817454 -0.575994 0 + outer loop + vertex -15.8411 -37.0399 0 + vertex -15.7439 -36.902 -0.1 + vertex -15.7439 -36.902 0 + endloop + endfacet + facet normal 0.817454 -0.575994 0 + outer loop + vertex -15.7439 -36.902 -0.1 + vertex -15.8411 -37.0399 0 + vertex -15.8411 -37.0399 -0.1 + endloop + endfacet + facet normal 0.742584 -0.669753 0 + outer loop + vertex -15.7439 -36.902 0 + vertex -15.4564 -36.5832 -0.1 + vertex -15.4564 -36.5832 0 + endloop + endfacet + facet normal 0.742584 -0.669753 0 + outer loop + vertex -15.4564 -36.5832 -0.1 + vertex -15.7439 -36.902 0 + vertex -15.7439 -36.902 -0.1 + endloop + endfacet + facet normal 0.654929 -0.755691 0 + outer loop + vertex -15.4564 -36.5832 -0.1 + vertex -15.1813 -36.3448 0 + vertex -15.4564 -36.5832 0 + endloop + endfacet + facet normal 0.654929 -0.755691 0 + outer loop + vertex -15.1813 -36.3448 0 + vertex -15.4564 -36.5832 -0.1 + vertex -15.1813 -36.3448 -0.1 + endloop + endfacet + facet normal 0.547883 -0.836555 0 + outer loop + vertex -15.1813 -36.3448 -0.1 + vertex -14.8831 -36.1495 0 + vertex -15.1813 -36.3448 0 + endloop + endfacet + facet normal 0.547883 -0.836555 0 + outer loop + vertex -14.8831 -36.1495 0 + vertex -15.1813 -36.3448 -0.1 + vertex -14.8831 -36.1495 -0.1 + endloop + endfacet + facet normal 0.419801 -0.907616 0 + outer loop + vertex -14.8831 -36.1495 -0.1 + vertex -14.5979 -36.0176 0 + vertex -14.8831 -36.1495 0 + endloop + endfacet + facet normal 0.419801 -0.907616 0 + outer loop + vertex -14.5979 -36.0176 0 + vertex -14.8831 -36.1495 -0.1 + vertex -14.5979 -36.0176 -0.1 + endloop + endfacet + facet normal 0.273076 -0.961992 0 + outer loop + vertex -14.5979 -36.0176 -0.1 + vertex -14.4713 -35.9816 0 + vertex -14.5979 -36.0176 0 + endloop + endfacet + facet normal 0.273076 -0.961992 0 + outer loop + vertex -14.4713 -35.9816 0 + vertex -14.5979 -36.0176 -0.1 + vertex -14.4713 -35.9816 -0.1 + endloop + endfacet + facet normal 0.113362 -0.993554 0 + outer loop + vertex -14.4713 -35.9816 -0.1 + vertex -14.3614 -35.9691 0 + vertex -14.4713 -35.9816 0 + endloop + endfacet + facet normal 0.113362 -0.993554 0 + outer loop + vertex -14.3614 -35.9691 0 + vertex -14.4713 -35.9816 -0.1 + vertex -14.3614 -35.9691 -0.1 + endloop + endfacet + facet normal 0.0894161 -0.995994 0 + outer loop + vertex -14.3614 -35.9691 -0.1 + vertex -14.1999 -35.9546 0 + vertex -14.3614 -35.9691 0 + endloop + endfacet + facet normal 0.0894161 -0.995994 0 + outer loop + vertex -14.1999 -35.9546 0 + vertex -14.3614 -35.9691 -0.1 + vertex -14.1999 -35.9546 -0.1 + endloop + endfacet + facet normal 0.259204 -0.965823 0 + outer loop + vertex -14.1999 -35.9546 -0.1 + vertex -14.0373 -35.911 0 + vertex -14.1999 -35.9546 0 + endloop + endfacet + facet normal 0.259204 -0.965823 0 + outer loop + vertex -14.0373 -35.911 0 + vertex -14.1999 -35.9546 -0.1 + vertex -14.0373 -35.911 -0.1 + endloop + endfacet + facet normal 0.406893 -0.913476 0 + outer loop + vertex -14.0373 -35.911 -0.1 + vertex -13.8736 -35.838 0 + vertex -14.0373 -35.911 0 + endloop + endfacet + facet normal 0.406893 -0.913476 0 + outer loop + vertex -13.8736 -35.838 0 + vertex -14.0373 -35.911 -0.1 + vertex -13.8736 -35.838 -0.1 + endloop + endfacet + facet normal 0.527319 -0.849667 0 + outer loop + vertex -13.8736 -35.838 -0.1 + vertex -13.7085 -35.7356 0 + vertex -13.8736 -35.838 0 + endloop + endfacet + facet normal 0.527319 -0.849667 0 + outer loop + vertex -13.7085 -35.7356 0 + vertex -13.8736 -35.838 -0.1 + vertex -13.7085 -35.7356 -0.1 + endloop + endfacet + facet normal 0.621601 -0.783334 0 + outer loop + vertex -13.7085 -35.7356 -0.1 + vertex -13.5421 -35.6036 0 + vertex -13.7085 -35.7356 0 + endloop + endfacet + facet normal 0.621601 -0.783334 0 + outer loop + vertex -13.5421 -35.6036 0 + vertex -13.7085 -35.7356 -0.1 + vertex -13.5421 -35.6036 -0.1 + endloop + endfacet + facet normal 0.693973 -0.720001 0 + outer loop + vertex -13.5421 -35.6036 -0.1 + vertex -13.3741 -35.4417 0 + vertex -13.5421 -35.6036 0 + endloop + endfacet + facet normal 0.693973 -0.720001 0 + outer loop + vertex -13.3741 -35.4417 0 + vertex -13.5421 -35.6036 -0.1 + vertex -13.3741 -35.4417 -0.1 + endloop + endfacet + facet normal 0.74925 -0.662287 0 + outer loop + vertex -13.3741 -35.4417 0 + vertex -13.2045 -35.2497 -0.1 + vertex -13.2045 -35.2497 0 + endloop + endfacet + facet normal 0.74925 -0.662287 0 + outer loop + vertex -13.2045 -35.2497 -0.1 + vertex -13.3741 -35.4417 0 + vertex -13.3741 -35.4417 -0.1 + endloop + endfacet + facet normal 0.791599 -0.611041 0 + outer loop + vertex -13.2045 -35.2497 0 + vertex -13.0331 -35.0276 -0.1 + vertex -13.0331 -35.0276 0 + endloop + endfacet + facet normal 0.791599 -0.611041 0 + outer loop + vertex -13.0331 -35.0276 -0.1 + vertex -13.2045 -35.2497 0 + vertex -13.2045 -35.2497 -0.1 + endloop + endfacet + facet normal 0.837921 -0.545792 0 + outer loop + vertex -13.0331 -35.0276 0 + vertex -12.6843 -34.4922 -0.1 + vertex -12.6843 -34.4922 0 + endloop + endfacet + facet normal 0.837921 -0.545792 0 + outer loop + vertex -12.6843 -34.4922 -0.1 + vertex -13.0331 -35.0276 0 + vertex -13.0331 -35.0276 -0.1 + endloop + endfacet + facet normal 0.878782 -0.477224 0 + outer loop + vertex -12.6843 -34.4922 0 + vertex -12.3268 -33.8339 -0.1 + vertex -12.3268 -33.8339 0 + endloop + endfacet + facet normal 0.878782 -0.477224 0 + outer loop + vertex -12.3268 -33.8339 -0.1 + vertex -12.6843 -34.4922 0 + vertex -12.6843 -34.4922 -0.1 + endloop + endfacet + facet normal 0.905274 -0.424829 0 + outer loop + vertex -12.3268 -33.8339 0 + vertex -11.9595 -33.0513 -0.1 + vertex -11.9595 -33.0513 0 + endloop + endfacet + facet normal 0.905274 -0.424829 0 + outer loop + vertex -11.9595 -33.0513 -0.1 + vertex -12.3268 -33.8339 0 + vertex -12.3268 -33.8339 -0.1 + endloop + endfacet + facet normal 0.923227 -0.384256 0 + outer loop + vertex -11.9595 -33.0513 0 + vertex -11.5815 -32.143 -0.1 + vertex -11.5815 -32.143 0 + endloop + endfacet + facet normal 0.923227 -0.384256 0 + outer loop + vertex -11.5815 -32.143 -0.1 + vertex -11.9595 -33.0513 0 + vertex -11.9595 -33.0513 -0.1 + endloop + endfacet + facet normal 0.927789 -0.373105 0 + outer loop + vertex -11.5815 -32.143 0 + vertex -9.5401 -27.0667 -0.1 + vertex -9.5401 -27.0667 0 + endloop + endfacet + facet normal 0.927789 -0.373105 0 + outer loop + vertex -9.5401 -27.0667 -0.1 + vertex -11.5815 -32.143 0 + vertex -11.5815 -32.143 -0.1 + endloop + endfacet + facet normal 0.931122 -0.364709 0 + outer loop + vertex -9.5401 -27.0667 0 + vertex -9.05502 -25.8283 -0.1 + vertex -9.05502 -25.8283 0 + endloop + endfacet + facet normal 0.931122 -0.364709 0 + outer loop + vertex -9.05502 -25.8283 -0.1 + vertex -9.5401 -27.0667 0 + vertex -9.5401 -27.0667 -0.1 + endloop + endfacet + facet normal 0.946626 -0.322334 0 + outer loop + vertex -9.05502 -25.8283 0 + vertex -8.71232 -24.8218 -0.1 + vertex -8.71232 -24.8218 0 + endloop + endfacet + facet normal 0.946626 -0.322334 0 + outer loop + vertex -8.71232 -24.8218 -0.1 + vertex -9.05502 -25.8283 0 + vertex -9.05502 -25.8283 -0.1 + endloop + endfacet + facet normal 0.963249 -0.26861 0 + outer loop + vertex -8.71232 -24.8218 0 + vertex -8.59455 -24.3995 -0.1 + vertex -8.59455 -24.3995 0 + endloop + endfacet + facet normal 0.963249 -0.26861 0 + outer loop + vertex -8.59455 -24.3995 -0.1 + vertex -8.71232 -24.8218 0 + vertex -8.71232 -24.8218 -0.1 + endloop + endfacet + facet normal 0.976543 -0.215323 0 + outer loop + vertex -8.59455 -24.3995 0 + vertex -8.51259 -24.0278 -0.1 + vertex -8.51259 -24.0278 0 + endloop + endfacet + facet normal 0.976543 -0.215323 0 + outer loop + vertex -8.51259 -24.0278 -0.1 + vertex -8.59455 -24.3995 0 + vertex -8.59455 -24.3995 -0.1 + endloop + endfacet + facet normal 0.990015 -0.140965 0 + outer loop + vertex -8.51259 -24.0278 0 + vertex -8.46654 -23.7044 -0.1 + vertex -8.46654 -23.7044 0 + endloop + endfacet + facet normal 0.990015 -0.140965 0 + outer loop + vertex -8.46654 -23.7044 -0.1 + vertex -8.51259 -24.0278 0 + vertex -8.51259 -24.0278 -0.1 + endloop + endfacet + facet normal 0.999341 -0.0362924 0 + outer loop + vertex -8.46654 -23.7044 0 + vertex -8.45645 -23.4267 -0.1 + vertex -8.45645 -23.4267 0 + endloop + endfacet + facet normal 0.999341 -0.0362924 0 + outer loop + vertex -8.45645 -23.4267 -0.1 + vertex -8.46654 -23.7044 0 + vertex -8.46654 -23.7044 -0.1 + endloop + endfacet + facet normal 0.993917 0.110127 0 + outer loop + vertex -8.45645 -23.4267 0 + vertex -8.48242 -23.1923 -0.1 + vertex -8.48242 -23.1923 0 + endloop + endfacet + facet normal 0.993917 0.110127 0 + outer loop + vertex -8.48242 -23.1923 -0.1 + vertex -8.45645 -23.4267 0 + vertex -8.45645 -23.4267 -0.1 + endloop + endfacet + facet normal 0.952162 0.305593 0 + outer loop + vertex -8.48242 -23.1923 0 + vertex -8.54451 -22.9989 -0.1 + vertex -8.54451 -22.9989 0 + endloop + endfacet + facet normal 0.952162 0.305593 0 + outer loop + vertex -8.54451 -22.9989 -0.1 + vertex -8.48242 -23.1923 0 + vertex -8.48242 -23.1923 -0.1 + endloop + endfacet + facet normal 0.844525 0.535516 0 + outer loop + vertex -8.54451 -22.9989 0 + vertex -8.64279 -22.8439 -0.1 + vertex -8.64279 -22.8439 0 + endloop + endfacet + facet normal 0.844525 0.535516 0 + outer loop + vertex -8.64279 -22.8439 -0.1 + vertex -8.54451 -22.9989 0 + vertex -8.54451 -22.9989 -0.1 + endloop + endfacet + facet normal 0.662463 0.749095 -0 + outer loop + vertex -8.64279 -22.8439 -0.1 + vertex -8.77736 -22.7249 0 + vertex -8.64279 -22.8439 0 + endloop + endfacet + facet normal 0.662463 0.749095 0 + outer loop + vertex -8.77736 -22.7249 0 + vertex -8.64279 -22.8439 -0.1 + vertex -8.77736 -22.7249 -0.1 + endloop + endfacet + facet normal 0.447148 0.89446 -0 + outer loop + vertex -8.77736 -22.7249 -0.1 + vertex -8.94827 -22.6394 0 + vertex -8.77736 -22.7249 0 + endloop + endfacet + facet normal 0.447148 0.89446 0 + outer loop + vertex -8.94827 -22.6394 0 + vertex -8.77736 -22.7249 -0.1 + vertex -8.94827 -22.6394 -0.1 + endloop + endfacet + facet normal 0.253452 0.967348 -0 + outer loop + vertex -8.94827 -22.6394 -0.1 + vertex -9.15561 -22.5851 0 + vertex -8.94827 -22.6394 0 + endloop + endfacet + facet normal 0.253452 0.967348 0 + outer loop + vertex -9.15561 -22.5851 0 + vertex -8.94827 -22.6394 -0.1 + vertex -9.15561 -22.5851 -0.1 + endloop + endfacet + facet normal 0.104613 0.994513 -0 + outer loop + vertex -9.15561 -22.5851 -0.1 + vertex -9.39946 -22.5595 0 + vertex -9.15561 -22.5851 0 + endloop + endfacet + facet normal 0.104613 0.994513 0 + outer loop + vertex -9.39946 -22.5595 0 + vertex -9.15561 -22.5851 -0.1 + vertex -9.39946 -22.5595 -0.1 + endloop + endfacet + facet normal -0.0020677 0.999998 0 + outer loop + vertex -9.39946 -22.5595 -0.1 + vertex -9.67988 -22.56 0 + vertex -9.39946 -22.5595 0 + endloop + endfacet + facet normal -0.0020677 0.999998 0 + outer loop + vertex -9.67988 -22.56 0 + vertex -9.39946 -22.5595 -0.1 + vertex -9.67988 -22.56 -0.1 + endloop + endfacet + facet normal -0.129535 0.991575 0 + outer loop + vertex -9.67988 -22.56 -0.1 + vertex -10.0796 -22.6123 0 + vertex -9.67988 -22.56 0 + endloop + endfacet + facet normal -0.129535 0.991575 0 + outer loop + vertex -10.0796 -22.6123 0 + vertex -9.67988 -22.56 -0.1 + vertex -10.0796 -22.6123 -0.1 + endloop + endfacet + facet normal -0.24491 0.969546 0 + outer loop + vertex -10.0796 -22.6123 -0.1 + vertex -10.5344 -22.7271 0 + vertex -10.0796 -22.6123 0 + endloop + endfacet + facet normal -0.24491 0.969546 0 + outer loop + vertex -10.5344 -22.7271 0 + vertex -10.0796 -22.6123 -0.1 + vertex -10.5344 -22.7271 -0.1 + endloop + endfacet + facet normal -0.333557 0.94273 0 + outer loop + vertex -10.5344 -22.7271 -0.1 + vertex -10.9881 -22.8877 0 + vertex -10.5344 -22.7271 0 + endloop + endfacet + facet normal -0.333557 0.94273 0 + outer loop + vertex -10.9881 -22.8877 0 + vertex -10.5344 -22.7271 -0.1 + vertex -10.9881 -22.8877 -0.1 + endloop + endfacet + facet normal -0.430494 0.902594 0 + outer loop + vertex -10.9881 -22.8877 -0.1 + vertex -11.3849 -23.0769 0 + vertex -10.9881 -22.8877 0 + endloop + endfacet + facet normal -0.430494 0.902594 0 + outer loop + vertex -11.3849 -23.0769 0 + vertex -10.9881 -22.8877 -0.1 + vertex -11.3849 -23.0769 -0.1 + endloop + endfacet + facet normal -0.511004 0.859578 0 + outer loop + vertex -11.3849 -23.0769 -0.1 + vertex -11.9359 -23.4045 0 + vertex -11.3849 -23.0769 0 + endloop + endfacet + facet normal -0.511004 0.859578 0 + outer loop + vertex -11.9359 -23.4045 0 + vertex -11.3849 -23.0769 -0.1 + vertex -11.9359 -23.4045 -0.1 + endloop + endfacet + facet normal -0.561997 0.827139 0 + outer loop + vertex -11.9359 -23.4045 -0.1 + vertex -12.4007 -23.7203 0 + vertex -11.9359 -23.4045 0 + endloop + endfacet + facet normal -0.561997 0.827139 0 + outer loop + vertex -12.4007 -23.7203 0 + vertex -11.9359 -23.4045 -0.1 + vertex -12.4007 -23.7203 -0.1 + endloop + endfacet + facet normal -0.632295 0.774728 0 + outer loop + vertex -12.4007 -23.7203 -0.1 + vertex -12.7941 -24.0414 0 + vertex -12.4007 -23.7203 0 + endloop + endfacet + facet normal -0.632295 0.774728 0 + outer loop + vertex -12.7941 -24.0414 0 + vertex -12.4007 -23.7203 -0.1 + vertex -12.7941 -24.0414 -0.1 + endloop + endfacet + facet normal -0.713871 0.700277 0 + outer loop + vertex -13.131 -24.3848 -0.1 + vertex -12.7941 -24.0414 0 + vertex -12.7941 -24.0414 -0.1 + endloop + endfacet + facet normal -0.713871 0.700277 0 + outer loop + vertex -12.7941 -24.0414 0 + vertex -13.131 -24.3848 -0.1 + vertex -13.131 -24.3848 0 + endloop + endfacet + facet normal -0.791901 0.61065 0 + outer loop + vertex -13.4262 -24.7676 -0.1 + vertex -13.131 -24.3848 0 + vertex -13.131 -24.3848 -0.1 + endloop + endfacet + facet normal -0.791901 0.61065 0 + outer loop + vertex -13.131 -24.3848 0 + vertex -13.4262 -24.7676 -0.1 + vertex -13.4262 -24.7676 0 + endloop + endfacet + facet normal -0.853364 0.521315 0 + outer loop + vertex -13.6945 -25.2068 -0.1 + vertex -13.4262 -24.7676 0 + vertex -13.4262 -24.7676 -0.1 + endloop + endfacet + facet normal -0.853364 0.521315 0 + outer loop + vertex -13.4262 -24.7676 0 + vertex -13.6945 -25.2068 -0.1 + vertex -13.6945 -25.2068 0 + endloop + endfacet + facet normal -0.894467 0.447134 0 + outer loop + vertex -13.9508 -25.7195 -0.1 + vertex -13.6945 -25.2068 0 + vertex -13.6945 -25.2068 -0.1 + endloop + endfacet + facet normal -0.894467 0.447134 0 + outer loop + vertex -13.6945 -25.2068 0 + vertex -13.9508 -25.7195 -0.1 + vertex -13.9508 -25.7195 0 + endloop + endfacet + facet normal -0.918824 0.394667 0 + outer loop + vertex -14.2098 -26.3227 -0.1 + vertex -13.9508 -25.7195 0 + vertex -13.9508 -25.7195 -0.1 + endloop + endfacet + facet normal -0.918824 0.394667 0 + outer loop + vertex -13.9508 -25.7195 0 + vertex -14.2098 -26.3227 -0.1 + vertex -14.2098 -26.3227 0 + endloop + endfacet + facet normal -0.926196 0.377042 0 + outer loop + vertex -15.3777 -29.1914 -0.1 + vertex -14.2098 -26.3227 0 + vertex -14.2098 -26.3227 -0.1 + endloop + endfacet + facet normal -0.926196 0.377042 0 + outer loop + vertex -14.2098 -26.3227 0 + vertex -15.3777 -29.1914 -0.1 + vertex -15.3777 -29.1914 0 + endloop + endfacet + facet normal -0.925675 0.37832 0 + outer loop + vertex -16.8163 -32.7116 -0.1 + vertex -15.3777 -29.1914 0 + vertex -15.3777 -29.1914 -0.1 + endloop + endfacet + facet normal -0.925675 0.37832 0 + outer loop + vertex -15.3777 -29.1914 0 + vertex -16.8163 -32.7116 -0.1 + vertex -16.8163 -32.7116 0 + endloop + endfacet + facet normal -0.928735 0.370745 0 + outer loop + vertex -17.1674 -33.591 -0.1 + vertex -16.8163 -32.7116 0 + vertex -16.8163 -32.7116 -0.1 + endloop + endfacet + facet normal -0.928735 0.370745 0 + outer loop + vertex -16.8163 -32.7116 0 + vertex -17.1674 -33.591 -0.1 + vertex -17.1674 -33.591 0 + endloop + endfacet + facet normal -0.937631 0.347632 0 + outer loop + vertex -17.4329 -34.3072 -0.1 + vertex -17.1674 -33.591 0 + vertex -17.1674 -33.591 -0.1 + endloop + endfacet + facet normal -0.937631 0.347632 0 + outer loop + vertex -17.1674 -33.591 0 + vertex -17.4329 -34.3072 -0.1 + vertex -17.4329 -34.3072 0 + endloop + endfacet + facet normal -0.951989 0.306132 0 + outer loop + vertex -17.6153 -34.8741 -0.1 + vertex -17.4329 -34.3072 0 + vertex -17.4329 -34.3072 -0.1 + endloop + endfacet + facet normal -0.951989 0.306132 0 + outer loop + vertex -17.4329 -34.3072 0 + vertex -17.6153 -34.8741 -0.1 + vertex -17.6153 -34.8741 0 + endloop + endfacet + facet normal -0.973485 0.228749 0 + outer loop + vertex -17.7168 -35.3062 -0.1 + vertex -17.6153 -34.8741 0 + vertex -17.6153 -34.8741 -0.1 + endloop + endfacet + facet normal -0.973485 0.228749 0 + outer loop + vertex -17.6153 -34.8741 0 + vertex -17.7168 -35.3062 -0.1 + vertex -17.7168 -35.3062 0 + endloop + endfacet + facet normal -0.992299 0.123865 0 + outer loop + vertex -17.738 -35.4761 -0.1 + vertex -17.7168 -35.3062 0 + vertex -17.7168 -35.3062 -0.1 + endloop + endfacet + facet normal -0.992299 0.123865 0 + outer loop + vertex -17.7168 -35.3062 0 + vertex -17.738 -35.4761 -0.1 + vertex -17.738 -35.4761 0 + endloop + endfacet + facet normal -0.99991 0.0134015 0 + outer loop + vertex -17.7399 -35.6175 -0.1 + vertex -17.738 -35.4761 0 + vertex -17.738 -35.4761 -0.1 + endloop + endfacet + facet normal -0.99991 0.0134015 0 + outer loop + vertex -17.738 -35.4761 0 + vertex -17.7399 -35.6175 -0.1 + vertex -17.7399 -35.6175 0 + endloop + endfacet + facet normal -0.989073 -0.147424 0 + outer loop + vertex -17.7228 -35.7323 -0.1 + vertex -17.7399 -35.6175 0 + vertex -17.7399 -35.6175 -0.1 + endloop + endfacet + facet normal -0.989073 -0.147424 0 + outer loop + vertex -17.7399 -35.6175 0 + vertex -17.7228 -35.7323 -0.1 + vertex -17.7228 -35.7323 0 + endloop + endfacet + facet normal -0.929053 -0.369947 0 + outer loop + vertex -17.6869 -35.8223 -0.1 + vertex -17.7228 -35.7323 0 + vertex -17.7228 -35.7323 -0.1 + endloop + endfacet + facet normal -0.929053 -0.369947 0 + outer loop + vertex -17.7228 -35.7323 0 + vertex -17.6869 -35.8223 -0.1 + vertex -17.6869 -35.8223 0 + endloop + endfacet + facet normal -0.776679 -0.629897 0 + outer loop + vertex -17.6327 -35.8892 -0.1 + vertex -17.6869 -35.8223 0 + vertex -17.6869 -35.8223 -0.1 + endloop + endfacet + facet normal -0.776679 -0.629897 0 + outer loop + vertex -17.6869 -35.8223 0 + vertex -17.6327 -35.8892 -0.1 + vertex -17.6327 -35.8892 0 + endloop + endfacet + facet normal -0.532937 -0.846155 0 + outer loop + vertex -17.6327 -35.8892 -0.1 + vertex -17.5603 -35.9348 0 + vertex -17.6327 -35.8892 0 + endloop + endfacet + facet normal -0.532937 -0.846155 -0 + outer loop + vertex -17.5603 -35.9348 0 + vertex -17.6327 -35.8892 -0.1 + vertex -17.5603 -35.9348 -0.1 + endloop + endfacet + facet normal -0.277484 -0.96073 0 + outer loop + vertex -17.5603 -35.9348 -0.1 + vertex -17.4702 -35.9608 0 + vertex -17.5603 -35.9348 0 + endloop + endfacet + facet normal -0.277484 -0.96073 -0 + outer loop + vertex -17.4702 -35.9608 0 + vertex -17.5603 -35.9348 -0.1 + vertex -17.4702 -35.9608 -0.1 + endloop + endfacet + facet normal -0.0767033 -0.997054 0 + outer loop + vertex -17.4702 -35.9608 -0.1 + vertex -17.3625 -35.9691 0 + vertex -17.4702 -35.9608 0 + endloop + endfacet + facet normal -0.0767033 -0.997054 -0 + outer loop + vertex -17.3625 -35.9691 0 + vertex -17.4702 -35.9608 -0.1 + vertex -17.3625 -35.9691 -0.1 + endloop + endfacet + facet normal -0.0829709 -0.996552 0 + outer loop + vertex -17.3625 -35.9691 -0.1 + vertex -17.1493 -35.9869 0 + vertex -17.3625 -35.9691 0 + endloop + endfacet + facet normal -0.0829709 -0.996552 -0 + outer loop + vertex -17.1493 -35.9869 0 + vertex -17.3625 -35.9691 -0.1 + vertex -17.1493 -35.9869 -0.1 + endloop + endfacet + facet normal -0.234852 -0.972031 0 + outer loop + vertex -17.1493 -35.9869 -0.1 + vertex -16.942 -36.0369 0 + vertex -17.1493 -35.9869 0 + endloop + endfacet + facet normal -0.234852 -0.972031 -0 + outer loop + vertex -16.942 -36.0369 0 + vertex -17.1493 -35.9869 -0.1 + vertex -16.942 -36.0369 -0.1 + endloop + endfacet + facet normal -0.371048 -0.928614 0 + outer loop + vertex -16.942 -36.0369 -0.1 + vertex -16.7476 -36.1146 0 + vertex -16.942 -36.0369 0 + endloop + endfacet + facet normal -0.371048 -0.928614 -0 + outer loop + vertex -16.7476 -36.1146 0 + vertex -16.942 -36.0369 -0.1 + vertex -16.7476 -36.1146 -0.1 + endloop + endfacet + facet normal -0.499006 -0.866599 0 + outer loop + vertex -16.7476 -36.1146 -0.1 + vertex -16.5729 -36.2152 0 + vertex -16.7476 -36.1146 0 + endloop + endfacet + facet normal -0.499006 -0.866599 -0 + outer loop + vertex -16.5729 -36.2152 0 + vertex -16.7476 -36.1146 -0.1 + vertex -16.5729 -36.2152 -0.1 + endloop + endfacet + facet normal -0.625925 -0.779883 0 + outer loop + vertex -16.5729 -36.2152 -0.1 + vertex -16.4249 -36.334 0 + vertex -16.5729 -36.2152 0 + endloop + endfacet + facet normal -0.625925 -0.779883 -0 + outer loop + vertex -16.4249 -36.334 0 + vertex -16.5729 -36.2152 -0.1 + vertex -16.4249 -36.334 -0.1 + endloop + endfacet + facet normal -0.756453 -0.654048 0 + outer loop + vertex -16.3106 -36.4662 -0.1 + vertex -16.4249 -36.334 0 + vertex -16.4249 -36.334 -0.1 + endloop + endfacet + facet normal -0.756453 -0.654048 0 + outer loop + vertex -16.4249 -36.334 0 + vertex -16.3106 -36.4662 -0.1 + vertex -16.3106 -36.4662 0 + endloop + endfacet + facet normal -0.886186 -0.46333 0 + outer loop + vertex -16.237 -36.6071 -0.1 + vertex -16.3106 -36.4662 0 + vertex -16.3106 -36.4662 -0.1 + endloop + endfacet + facet normal -0.886186 -0.46333 0 + outer loop + vertex -16.3106 -36.4662 0 + vertex -16.237 -36.6071 -0.1 + vertex -16.237 -36.6071 0 + endloop + endfacet + facet normal -0.984159 -0.177288 0 + outer loop + vertex -16.2109 -36.752 -0.1 + vertex -16.237 -36.6071 0 + vertex -16.237 -36.6071 -0.1 + endloop + endfacet + facet normal -0.984159 -0.177288 0 + outer loop + vertex -16.237 -36.6071 0 + vertex -16.2109 -36.752 -0.1 + vertex -16.2109 -36.752 0 + endloop + endfacet + facet normal -0.97657 0.215201 0 + outer loop + vertex -16.2485 -36.9225 -0.1 + vertex -16.2109 -36.752 0 + vertex -16.2109 -36.752 -0.1 + endloop + endfacet + facet normal -0.97657 0.215201 0 + outer loop + vertex -16.2109 -36.752 0 + vertex -16.2485 -36.9225 -0.1 + vertex -16.2485 -36.9225 0 + endloop + endfacet + facet normal -0.906917 0.42131 0 + outer loop + vertex -16.3508 -37.1428 -0.1 + vertex -16.2485 -36.9225 0 + vertex -16.2485 -36.9225 -0.1 + endloop + endfacet + facet normal -0.906917 0.42131 0 + outer loop + vertex -16.2485 -36.9225 0 + vertex -16.3508 -37.1428 -0.1 + vertex -16.3508 -37.1428 0 + endloop + endfacet + facet normal -0.847258 0.531182 0 + outer loop + vertex -16.5023 -37.3844 -0.1 + vertex -16.3508 -37.1428 0 + vertex -16.3508 -37.1428 -0.1 + endloop + endfacet + facet normal -0.847258 0.531182 0 + outer loop + vertex -16.3508 -37.1428 0 + vertex -16.5023 -37.3844 -0.1 + vertex -16.5023 -37.3844 0 + endloop + endfacet + facet normal -0.785088 0.619384 0 + outer loop + vertex -16.6872 -37.6188 -0.1 + vertex -16.5023 -37.3844 0 + vertex -16.5023 -37.3844 -0.1 + endloop + endfacet + facet normal -0.785088 0.619384 0 + outer loop + vertex -16.5023 -37.3844 0 + vertex -16.6872 -37.6188 -0.1 + vertex -16.6872 -37.6188 0 + endloop + endfacet + facet normal -0.731213 0.68215 0 + outer loop + vertex -16.8516 -37.795 -0.1 + vertex -16.6872 -37.6188 0 + vertex -16.6872 -37.6188 -0.1 + endloop + endfacet + facet normal -0.731213 0.68215 0 + outer loop + vertex -16.6872 -37.6188 0 + vertex -16.8516 -37.795 -0.1 + vertex -16.8516 -37.795 0 + endloop + endfacet + facet normal -0.615138 0.78842 0 + outer loop + vertex -16.8516 -37.795 -0.1 + vertex -17.0213 -37.9274 0 + vertex -16.8516 -37.795 0 + endloop + endfacet + facet normal -0.615138 0.78842 0 + outer loop + vertex -17.0213 -37.9274 0 + vertex -16.8516 -37.795 -0.1 + vertex -17.0213 -37.9274 -0.1 + endloop + endfacet + facet normal -0.390611 0.920556 0 + outer loop + vertex -17.0213 -37.9274 -0.1 + vertex -17.2437 -38.0218 0 + vertex -17.0213 -37.9274 0 + endloop + endfacet + facet normal -0.390611 0.920556 0 + outer loop + vertex -17.2437 -38.0218 0 + vertex -17.0213 -37.9274 -0.1 + vertex -17.2437 -38.0218 -0.1 + endloop + endfacet + facet normal -0.189492 0.981882 0 + outer loop + vertex -17.2437 -38.0218 -0.1 + vertex -17.5664 -38.0841 0 + vertex -17.2437 -38.0218 0 + endloop + endfacet + facet normal -0.189492 0.981882 0 + outer loop + vertex -17.5664 -38.0841 0 + vertex -17.2437 -38.0218 -0.1 + vertex -17.5664 -38.0841 -0.1 + endloop + endfacet + facet normal -0.0764443 0.997074 0 + outer loop + vertex -17.5664 -38.0841 -0.1 + vertex -18.0369 -38.1201 0 + vertex -17.5664 -38.0841 0 + endloop + endfacet + facet normal -0.0764443 0.997074 0 + outer loop + vertex -18.0369 -38.1201 0 + vertex -17.5664 -38.0841 -0.1 + vertex -18.0369 -38.1201 -0.1 + endloop + endfacet + facet normal -0.0236695 0.99972 0 + outer loop + vertex -18.0369 -38.1201 -0.1 + vertex -18.7028 -38.1359 0 + vertex -18.0369 -38.1201 0 + endloop + endfacet + facet normal -0.0236695 0.99972 0 + outer loop + vertex -18.7028 -38.1359 0 + vertex -18.0369 -38.1201 -0.1 + vertex -18.7028 -38.1359 -0.1 + endloop + endfacet + facet normal 0.00275597 0.999996 -0 + outer loop + vertex -18.7028 -38.1359 -0.1 + vertex -20.8109 -38.1301 0 + vertex -18.7028 -38.1359 0 + endloop + endfacet + facet normal 0.00275597 0.999996 0 + outer loop + vertex -20.8109 -38.1301 0 + vertex -18.7028 -38.1359 -0.1 + vertex -20.8109 -38.1301 -0.1 + endloop + endfacet + facet normal 0.0176671 0.999844 -0 + outer loop + vertex -20.8109 -38.1301 -0.1 + vertex -23.4866 -38.0828 0 + vertex -20.8109 -38.1301 0 + endloop + endfacet + facet normal 0.0176671 0.999844 0 + outer loop + vertex -23.4866 -38.0828 0 + vertex -20.8109 -38.1301 -0.1 + vertex -23.4866 -38.0828 -0.1 + endloop + endfacet + facet normal 0.0417305 0.999129 -0 + outer loop + vertex -23.4866 -38.0828 -0.1 + vertex -24.3782 -38.0456 0 + vertex -23.4866 -38.0828 0 + endloop + endfacet + facet normal 0.0417305 0.999129 0 + outer loop + vertex -24.3782 -38.0456 0 + vertex -23.4866 -38.0828 -0.1 + vertex -24.3782 -38.0456 -0.1 + endloop + endfacet + facet normal 0.0968237 0.995302 -0 + outer loop + vertex -24.3782 -38.0456 -0.1 + vertex -24.7978 -38.0047 0 + vertex -24.3782 -38.0456 0 + endloop + endfacet + facet normal 0.0968237 0.995302 0 + outer loop + vertex -24.7978 -38.0047 0 + vertex -24.3782 -38.0456 -0.1 + vertex -24.7978 -38.0047 -0.1 + endloop + endfacet + facet normal 0.412814 0.910815 -0 + outer loop + vertex -24.7978 -38.0047 -0.1 + vertex -24.9442 -37.9384 0 + vertex -24.7978 -38.0047 0 + endloop + endfacet + facet normal 0.412814 0.910815 0 + outer loop + vertex -24.9442 -37.9384 0 + vertex -24.7978 -38.0047 -0.1 + vertex -24.9442 -37.9384 -0.1 + endloop + endfacet + facet normal 0.678412 0.734682 -0 + outer loop + vertex -24.9442 -37.9384 -0.1 + vertex -25.0491 -37.8416 0 + vertex -24.9442 -37.9384 0 + endloop + endfacet + facet normal 0.678412 0.734682 0 + outer loop + vertex -25.0491 -37.8416 0 + vertex -24.9442 -37.9384 -0.1 + vertex -25.0491 -37.8416 -0.1 + endloop + endfacet + facet normal 0.880101 0.474787 0 + outer loop + vertex -25.0491 -37.8416 0 + vertex -25.1152 -37.719 -0.1 + vertex -25.1152 -37.719 0 + endloop + endfacet + facet normal 0.880101 0.474787 0 + outer loop + vertex -25.1152 -37.719 -0.1 + vertex -25.0491 -37.8416 0 + vertex -25.0491 -37.8416 -0.1 + endloop + endfacet + facet normal 0.978769 0.204965 0 + outer loop + vertex -25.1152 -37.719 0 + vertex -25.1453 -37.5754 -0.1 + vertex -25.1453 -37.5754 0 + endloop + endfacet + facet normal 0.978769 0.204965 0 + outer loop + vertex -25.1453 -37.5754 -0.1 + vertex -25.1152 -37.719 0 + vertex -25.1152 -37.719 -0.1 + endloop + endfacet + facet normal 0.99978 -0.0209726 0 + outer loop + vertex -25.1453 -37.5754 0 + vertex -25.1419 -37.4158 -0.1 + vertex -25.1419 -37.4158 0 + endloop + endfacet + facet normal 0.99978 -0.0209726 0 + outer loop + vertex -25.1419 -37.4158 -0.1 + vertex -25.1453 -37.5754 0 + vertex -25.1453 -37.5754 -0.1 + endloop + endfacet + facet normal 0.980708 -0.195479 0 + outer loop + vertex -25.1419 -37.4158 0 + vertex -25.1078 -37.2448 -0.1 + vertex -25.1078 -37.2448 0 + endloop + endfacet + facet normal 0.980708 -0.195479 0 + outer loop + vertex -25.1078 -37.2448 -0.1 + vertex -25.1419 -37.4158 0 + vertex -25.1419 -37.4158 -0.1 + endloop + endfacet + facet normal 0.94384 -0.330404 0 + outer loop + vertex -25.1078 -37.2448 0 + vertex -25.0457 -37.0673 -0.1 + vertex -25.0457 -37.0673 0 + endloop + endfacet + facet normal 0.94384 -0.330404 0 + outer loop + vertex -25.0457 -37.0673 -0.1 + vertex -25.1078 -37.2448 0 + vertex -25.1078 -37.2448 -0.1 + endloop + endfacet + facet normal 0.898573 -0.438825 0 + outer loop + vertex -25.0457 -37.0673 0 + vertex -24.9582 -36.888 -0.1 + vertex -24.9582 -36.888 0 + endloop + endfacet + facet normal 0.898573 -0.438825 0 + outer loop + vertex -24.9582 -36.888 -0.1 + vertex -25.0457 -37.0673 0 + vertex -25.0457 -37.0673 -0.1 + endloop + endfacet + facet normal 0.847669 -0.530525 0 + outer loop + vertex -24.9582 -36.888 0 + vertex -24.8479 -36.7119 -0.1 + vertex -24.8479 -36.7119 0 + endloop + endfacet + facet normal 0.847669 -0.530525 0 + outer loop + vertex -24.8479 -36.7119 -0.1 + vertex -24.9582 -36.888 0 + vertex -24.9582 -36.888 -0.1 + endloop + endfacet + facet normal 0.790663 -0.612252 0 + outer loop + vertex -24.8479 -36.7119 0 + vertex -24.7177 -36.5437 -0.1 + vertex -24.7177 -36.5437 0 + endloop + endfacet + facet normal 0.790663 -0.612252 0 + outer loop + vertex -24.7177 -36.5437 -0.1 + vertex -24.8479 -36.7119 0 + vertex -24.8479 -36.7119 -0.1 + endloop + endfacet + facet normal 0.7253 -0.688433 0 + outer loop + vertex -24.7177 -36.5437 0 + vertex -24.57 -36.3881 -0.1 + vertex -24.57 -36.3881 0 + endloop + endfacet + facet normal 0.7253 -0.688433 0 + outer loop + vertex -24.57 -36.3881 -0.1 + vertex -24.7177 -36.5437 0 + vertex -24.7177 -36.5437 -0.1 + endloop + endfacet + facet normal 0.647808 -0.761803 0 + outer loop + vertex -24.57 -36.3881 -0.1 + vertex -24.4077 -36.2501 0 + vertex -24.57 -36.3881 0 + endloop + endfacet + facet normal 0.647808 -0.761803 0 + outer loop + vertex -24.4077 -36.2501 0 + vertex -24.57 -36.3881 -0.1 + vertex -24.4077 -36.2501 -0.1 + endloop + endfacet + facet normal 0.553033 -0.833159 0 + outer loop + vertex -24.4077 -36.2501 -0.1 + vertex -24.2334 -36.1344 0 + vertex -24.4077 -36.2501 0 + endloop + endfacet + facet normal 0.553033 -0.833159 0 + outer loop + vertex -24.2334 -36.1344 0 + vertex -24.4077 -36.2501 -0.1 + vertex -24.2334 -36.1344 -0.1 + endloop + endfacet + facet normal 0.434505 -0.900669 0 + outer loop + vertex -24.2334 -36.1344 -0.1 + vertex -24.0497 -36.0458 0 + vertex -24.2334 -36.1344 0 + endloop + endfacet + facet normal 0.434505 -0.900669 0 + outer loop + vertex -24.0497 -36.0458 0 + vertex -24.2334 -36.1344 -0.1 + vertex -24.0497 -36.0458 -0.1 + endloop + endfacet + facet normal 0.285417 -0.958403 0 + outer loop + vertex -24.0497 -36.0458 -0.1 + vertex -23.8593 -35.9891 0 + vertex -24.0497 -36.0458 0 + endloop + endfacet + facet normal 0.285417 -0.958403 0 + outer loop + vertex -23.8593 -35.9891 0 + vertex -24.0497 -36.0458 -0.1 + vertex -23.8593 -35.9891 -0.1 + endloop + endfacet + facet normal 0.1022 -0.994764 0 + outer loop + vertex -23.8593 -35.9891 -0.1 + vertex -23.665 -35.9691 0 + vertex -23.8593 -35.9891 0 + endloop + endfacet + facet normal 0.1022 -0.994764 0 + outer loop + vertex -23.665 -35.9691 0 + vertex -23.8593 -35.9891 -0.1 + vertex -23.665 -35.9691 -0.1 + endloop + endfacet + facet normal 0.0676467 -0.997709 0 + outer loop + vertex -23.665 -35.9691 -0.1 + vertex -23.3082 -35.9449 0 + vertex -23.665 -35.9691 0 + endloop + endfacet + facet normal 0.0676467 -0.997709 0 + outer loop + vertex -23.3082 -35.9449 0 + vertex -23.665 -35.9691 -0.1 + vertex -23.3082 -35.9449 -0.1 + endloop + endfacet + facet normal 0.201749 -0.979437 0 + outer loop + vertex -23.3082 -35.9449 -0.1 + vertex -23.1471 -35.9117 0 + vertex -23.3082 -35.9449 0 + endloop + endfacet + facet normal 0.201749 -0.979437 0 + outer loop + vertex -23.1471 -35.9117 0 + vertex -23.3082 -35.9449 -0.1 + vertex -23.1471 -35.9117 -0.1 + endloop + endfacet + facet normal 0.311945 -0.9501 0 + outer loop + vertex -23.1471 -35.9117 -0.1 + vertex -22.9953 -35.8619 0 + vertex -23.1471 -35.9117 0 + endloop + endfacet + facet normal 0.311945 -0.9501 0 + outer loop + vertex -22.9953 -35.8619 0 + vertex -23.1471 -35.9117 -0.1 + vertex -22.9953 -35.8619 -0.1 + endloop + endfacet + facet normal 0.428709 -0.903443 0 + outer loop + vertex -22.9953 -35.8619 -0.1 + vertex -22.8511 -35.7934 0 + vertex -22.9953 -35.8619 0 + endloop + endfacet + facet normal 0.428709 -0.903443 0 + outer loop + vertex -22.8511 -35.7934 0 + vertex -22.9953 -35.8619 -0.1 + vertex -22.8511 -35.7934 -0.1 + endloop + endfacet + facet normal 0.540869 -0.841107 0 + outer loop + vertex -22.8511 -35.7934 -0.1 + vertex -22.7126 -35.7044 0 + vertex -22.8511 -35.7934 0 + endloop + endfacet + facet normal 0.540869 -0.841107 0 + outer loop + vertex -22.7126 -35.7044 0 + vertex -22.8511 -35.7934 -0.1 + vertex -22.7126 -35.7044 -0.1 + endloop + endfacet + facet normal 0.638801 -0.769372 0 + outer loop + vertex -22.7126 -35.7044 -0.1 + vertex -22.5782 -35.5929 0 + vertex -22.7126 -35.7044 0 + endloop + endfacet + facet normal 0.638801 -0.769372 0 + outer loop + vertex -22.5782 -35.5929 0 + vertex -22.7126 -35.7044 -0.1 + vertex -22.5782 -35.5929 -0.1 + endloop + endfacet + facet normal 0.717693 -0.69636 0 + outer loop + vertex -22.5782 -35.5929 0 + vertex -22.4463 -35.4568 -0.1 + vertex -22.4463 -35.4568 0 + endloop + endfacet + facet normal 0.717693 -0.69636 0 + outer loop + vertex -22.4463 -35.4568 -0.1 + vertex -22.5782 -35.5929 0 + vertex -22.5782 -35.5929 -0.1 + endloop + endfacet + facet normal 0.801318 -0.598238 0 + outer loop + vertex -22.4463 -35.4568 0 + vertex -22.1824 -35.1035 -0.1 + vertex -22.1824 -35.1035 0 + endloop + endfacet + facet normal 0.801318 -0.598238 0 + outer loop + vertex -22.1824 -35.1035 -0.1 + vertex -22.4463 -35.4568 0 + vertex -22.4463 -35.4568 -0.1 + endloop + endfacet + facet normal 0.865265 -0.501314 0 + outer loop + vertex -22.1824 -35.1035 0 + vertex -21.9074 -34.6287 -0.1 + vertex -21.9074 -34.6287 0 + endloop + endfacet + facet normal 0.865265 -0.501314 0 + outer loop + vertex -21.9074 -34.6287 -0.1 + vertex -22.1824 -35.1035 0 + vertex -22.1824 -35.1035 -0.1 + endloop + endfacet + facet normal 0.897795 -0.440414 0 + outer loop + vertex -21.9074 -34.6287 0 + vertex -21.6072 -34.0169 -0.1 + vertex -21.6072 -34.0169 0 + endloop + endfacet + facet normal 0.897795 -0.440414 0 + outer loop + vertex -21.6072 -34.0169 -0.1 + vertex -21.9074 -34.6287 0 + vertex -21.9074 -34.6287 -0.1 + endloop + endfacet + facet normal 0.914162 -0.405349 0 + outer loop + vertex -21.6072 -34.0169 0 + vertex -21.2682 -33.2523 -0.1 + vertex -21.2682 -33.2523 0 + endloop + endfacet + facet normal 0.914162 -0.405349 0 + outer loop + vertex -21.2682 -33.2523 -0.1 + vertex -21.6072 -34.0169 0 + vertex -21.6072 -34.0169 -0.1 + endloop + endfacet + facet normal 0.920953 -0.389675 0 + outer loop + vertex -21.2682 -33.2523 0 + vertex -19.7699 -29.7113 -0.1 + vertex -19.7699 -29.7113 0 + endloop + endfacet + facet normal 0.920953 -0.389675 0 + outer loop + vertex -19.7699 -29.7113 -0.1 + vertex -21.2682 -33.2523 0 + vertex -21.2682 -33.2523 -0.1 + endloop + endfacet + facet normal 0.925287 -0.379267 0 + outer loop + vertex -19.7699 -29.7113 0 + vertex -18.5311 -26.6889 -0.1 + vertex -18.5311 -26.6889 0 + endloop + endfacet + facet normal 0.925287 -0.379267 0 + outer loop + vertex -18.5311 -26.6889 -0.1 + vertex -19.7699 -29.7113 0 + vertex -19.7699 -29.7113 -0.1 + endloop + endfacet + facet normal 0.931695 -0.363243 0 + outer loop + vertex -18.5311 -26.6889 0 + vertex -17.6656 -24.469 -0.1 + vertex -17.6656 -24.469 0 + endloop + endfacet + facet normal 0.931695 -0.363243 0 + outer loop + vertex -17.6656 -24.469 -0.1 + vertex -18.5311 -26.6889 0 + vertex -18.5311 -26.6889 -0.1 + endloop + endfacet + facet normal 0.941797 -0.336183 0 + outer loop + vertex -17.6656 -24.469 0 + vertex -17.4084 -23.7485 -0.1 + vertex -17.4084 -23.7485 0 + endloop + endfacet + facet normal 0.941797 -0.336183 0 + outer loop + vertex -17.4084 -23.7485 -0.1 + vertex -17.6656 -24.469 0 + vertex -17.6656 -24.469 -0.1 + endloop + endfacet + facet normal 0.959662 -0.281158 0 + outer loop + vertex -17.4084 -23.7485 0 + vertex -17.2873 -23.335 -0.1 + vertex -17.2873 -23.335 0 + endloop + endfacet + facet normal 0.959662 -0.281158 0 + outer loop + vertex -17.2873 -23.335 -0.1 + vertex -17.4084 -23.7485 0 + vertex -17.4084 -23.7485 -0.1 + endloop + endfacet + facet normal 0.987024 -0.160575 0 + outer loop + vertex -17.2873 -23.335 0 + vertex -17.2226 -22.9371 -0.1 + vertex -17.2226 -22.9371 0 + endloop + endfacet + facet normal 0.987024 -0.160575 0 + outer loop + vertex -17.2226 -22.9371 -0.1 + vertex -17.2873 -23.335 0 + vertex -17.2873 -23.335 -0.1 + endloop + endfacet + facet normal 0.999826 0.0186517 0 + outer loop + vertex -17.2226 -22.9371 0 + vertex -17.2249 -22.8126 -0.1 + vertex -17.2249 -22.8126 0 + endloop + endfacet + facet normal 0.999826 0.0186517 0 + outer loop + vertex -17.2249 -22.8126 -0.1 + vertex -17.2226 -22.9371 0 + vertex -17.2226 -22.9371 -0.1 + endloop + endfacet + facet normal 0.932644 0.360799 0 + outer loop + vertex -17.2249 -22.8126 0 + vertex -17.2578 -22.7276 -0.1 + vertex -17.2578 -22.7276 0 + endloop + endfacet + facet normal 0.932644 0.360799 0 + outer loop + vertex -17.2578 -22.7276 -0.1 + vertex -17.2249 -22.8126 0 + vertex -17.2249 -22.8126 -0.1 + endloop + endfacet + facet normal 0.608972 0.793192 -0 + outer loop + vertex -17.2578 -22.7276 -0.1 + vertex -17.3267 -22.6747 0 + vertex -17.2578 -22.7276 0 + endloop + endfacet + facet normal 0.608972 0.793192 0 + outer loop + vertex -17.3267 -22.6747 0 + vertex -17.2578 -22.7276 -0.1 + vertex -17.3267 -22.6747 -0.1 + endloop + endfacet + facet normal 0.249366 0.968409 -0 + outer loop + vertex -17.3267 -22.6747 -0.1 + vertex -17.4374 -22.6462 0 + vertex -17.3267 -22.6747 0 + endloop + endfacet + facet normal 0.249366 0.968409 0 + outer loop + vertex -17.4374 -22.6462 0 + vertex -17.3267 -22.6747 -0.1 + vertex -17.4374 -22.6462 -0.1 + endloop + endfacet + facet normal 0.0372683 0.999305 -0 + outer loop + vertex -17.4374 -22.6462 -0.1 + vertex -17.8061 -22.6324 0 + vertex -17.4374 -22.6462 0 + endloop + endfacet + facet normal 0.0372683 0.999305 0 + outer loop + vertex -17.8061 -22.6324 0 + vertex -17.4374 -22.6462 -0.1 + vertex -17.8061 -22.6324 -0.1 + endloop + endfacet + facet normal 0.050033 0.998748 -0 + outer loop + vertex -17.8061 -22.6324 -0.1 + vertex -18.1091 -22.6172 0 + vertex -17.8061 -22.6324 0 + endloop + endfacet + facet normal 0.050033 0.998748 0 + outer loop + vertex -18.1091 -22.6172 0 + vertex -17.8061 -22.6324 -0.1 + vertex -18.1091 -22.6172 -0.1 + endloop + endfacet + facet normal 0.187734 0.98222 -0 + outer loop + vertex -18.1091 -22.6172 -0.1 + vertex -18.3541 -22.5704 0 + vertex -18.1091 -22.6172 0 + endloop + endfacet + facet normal 0.187734 0.98222 0 + outer loop + vertex -18.3541 -22.5704 0 + vertex -18.1091 -22.6172 -0.1 + vertex -18.3541 -22.5704 -0.1 + endloop + endfacet + facet normal 0.392235 0.919865 -0 + outer loop + vertex -18.3541 -22.5704 -0.1 + vertex -18.5429 -22.4899 0 + vertex -18.3541 -22.5704 0 + endloop + endfacet + facet normal 0.392235 0.919865 0 + outer loop + vertex -18.5429 -22.4899 0 + vertex -18.3541 -22.5704 -0.1 + vertex -18.5429 -22.4899 -0.1 + endloop + endfacet + facet normal 0.654816 0.755788 -0 + outer loop + vertex -18.5429 -22.4899 -0.1 + vertex -18.6769 -22.3738 0 + vertex -18.5429 -22.4899 0 + endloop + endfacet + facet normal 0.654816 0.755788 0 + outer loop + vertex -18.6769 -22.3738 0 + vertex -18.5429 -22.4899 -0.1 + vertex -18.6769 -22.3738 -0.1 + endloop + endfacet + facet normal 0.885096 0.465409 0 + outer loop + vertex -18.6769 -22.3738 0 + vertex -18.7577 -22.2202 -0.1 + vertex -18.7577 -22.2202 0 + endloop + endfacet + facet normal 0.885096 0.465409 0 + outer loop + vertex -18.7577 -22.2202 -0.1 + vertex -18.6769 -22.3738 0 + vertex -18.6769 -22.3738 -0.1 + endloop + endfacet + facet normal 0.988779 0.149383 0 + outer loop + vertex -18.7577 -22.2202 0 + vertex -18.7869 -22.0269 -0.1 + vertex -18.7869 -22.0269 0 + endloop + endfacet + facet normal 0.988779 0.149383 0 + outer loop + vertex -18.7869 -22.0269 -0.1 + vertex -18.7577 -22.2202 0 + vertex -18.7577 -22.2202 -0.1 + endloop + endfacet + facet normal 0.99608 -0.0884566 0 + outer loop + vertex -18.7869 -22.0269 0 + vertex -18.766 -21.7922 -0.1 + vertex -18.766 -21.7922 0 + endloop + endfacet + facet normal 0.99608 -0.0884566 0 + outer loop + vertex -18.766 -21.7922 -0.1 + vertex -18.7869 -22.0269 0 + vertex -18.7869 -22.0269 -0.1 + endloop + endfacet + facet normal 0.970344 -0.241728 0 + outer loop + vertex -18.766 -21.7922 0 + vertex -18.6967 -21.5139 -0.1 + vertex -18.6967 -21.5139 0 + endloop + endfacet + facet normal 0.970344 -0.241728 0 + outer loop + vertex -18.6967 -21.5139 -0.1 + vertex -18.766 -21.7922 0 + vertex -18.766 -21.7922 -0.1 + endloop + endfacet + facet normal 0.92433 -0.381593 0 + outer loop + vertex -18.6967 -21.5139 0 + vertex -18.5788 -21.2283 -0.1 + vertex -18.5788 -21.2283 0 + endloop + endfacet + facet normal 0.92433 -0.381593 0 + outer loop + vertex -18.5788 -21.2283 -0.1 + vertex -18.6967 -21.5139 0 + vertex -18.6967 -21.5139 -0.1 + endloop + endfacet + facet normal 0.848388 -0.529374 0 + outer loop + vertex -18.5788 -21.2283 0 + vertex -18.5053 -21.1105 -0.1 + vertex -18.5053 -21.1105 0 + endloop + endfacet + facet normal 0.848388 -0.529374 0 + outer loop + vertex -18.5053 -21.1105 -0.1 + vertex -18.5788 -21.2283 0 + vertex -18.5788 -21.2283 -0.1 + endloop + endfacet + facet normal 0.772185 -0.635398 0 + outer loop + vertex -18.5053 -21.1105 0 + vertex -18.4218 -21.0091 -0.1 + vertex -18.4218 -21.0091 0 + endloop + endfacet + facet normal 0.772185 -0.635398 0 + outer loop + vertex -18.4218 -21.0091 -0.1 + vertex -18.5053 -21.1105 0 + vertex -18.5053 -21.1105 -0.1 + endloop + endfacet + facet normal 0.673134 -0.739521 0 + outer loop + vertex -18.4218 -21.0091 -0.1 + vertex -18.3284 -20.924 0 + vertex -18.4218 -21.0091 0 + endloop + endfacet + facet normal 0.673134 -0.739521 0 + outer loop + vertex -18.3284 -20.924 0 + vertex -18.4218 -21.0091 -0.1 + vertex -18.3284 -20.924 -0.1 + endloop + endfacet + facet normal 0.553635 -0.832759 0 + outer loop + vertex -18.3284 -20.924 -0.1 + vertex -18.2248 -20.8552 0 + vertex -18.3284 -20.924 0 + endloop + endfacet + facet normal 0.553635 -0.832759 0 + outer loop + vertex -18.2248 -20.8552 0 + vertex -18.3284 -20.924 -0.1 + vertex -18.2248 -20.8552 -0.1 + endloop + endfacet + facet normal 0.4209 -0.907107 0 + outer loop + vertex -18.2248 -20.8552 -0.1 + vertex -18.1109 -20.8023 0 + vertex -18.2248 -20.8552 0 + endloop + endfacet + facet normal 0.4209 -0.907107 0 + outer loop + vertex -18.1109 -20.8023 0 + vertex -18.2248 -20.8552 -0.1 + vertex -18.1109 -20.8023 -0.1 + endloop + endfacet + facet normal 0.284987 -0.958531 0 + outer loop + vertex -18.1109 -20.8023 -0.1 + vertex -17.9865 -20.7653 0 + vertex -18.1109 -20.8023 0 + endloop + endfacet + facet normal 0.284987 -0.958531 0 + outer loop + vertex -17.9865 -20.7653 0 + vertex -18.1109 -20.8023 -0.1 + vertex -17.9865 -20.7653 -0.1 + endloop + endfacet + facet normal 0.279088 -0.960266 0 + outer loop + vertex -17.9865 -20.7653 -0.1 + vertex -16.9393 -20.461 0 + vertex -17.9865 -20.7653 0 + endloop + endfacet + facet normal 0.279088 -0.960266 0 + outer loop + vertex -16.9393 -20.461 0 + vertex -17.9865 -20.7653 -0.1 + vertex -16.9393 -20.461 -0.1 + endloop + endfacet + facet normal 0.302435 -0.95317 0 + outer loop + vertex -16.9393 -20.461 -0.1 + vertex -15.1436 -19.8912 0 + vertex -16.9393 -20.461 0 + endloop + endfacet + facet normal 0.302435 -0.95317 0 + outer loop + vertex -15.1436 -19.8912 0 + vertex -16.9393 -20.461 -0.1 + vertex -15.1436 -19.8912 -0.1 + endloop + endfacet + facet normal 0.297661 -0.954672 0 + outer loop + vertex -15.1436 -19.8912 -0.1 + vertex -14.1989 -19.5967 0 + vertex -15.1436 -19.8912 0 + endloop + endfacet + facet normal 0.297661 -0.954672 0 + outer loop + vertex -14.1989 -19.5967 0 + vertex -15.1436 -19.8912 -0.1 + vertex -14.1989 -19.5967 -0.1 + endloop + endfacet + facet normal 0.272658 -0.962111 0 + outer loop + vertex -14.1989 -19.5967 -0.1 + vertex -13.3483 -19.3556 0 + vertex -14.1989 -19.5967 0 + endloop + endfacet + facet normal 0.272658 -0.962111 0 + outer loop + vertex -13.3483 -19.3556 0 + vertex -14.1989 -19.5967 -0.1 + vertex -13.3483 -19.3556 -0.1 + endloop + endfacet + facet normal 0.238231 -0.971209 0 + outer loop + vertex -13.3483 -19.3556 -0.1 + vertex -12.6849 -19.1929 0 + vertex -13.3483 -19.3556 0 + endloop + endfacet + facet normal 0.238231 -0.971209 0 + outer loop + vertex -12.6849 -19.1929 0 + vertex -13.3483 -19.3556 -0.1 + vertex -12.6849 -19.1929 -0.1 + endloop + endfacet + facet normal 0.153595 -0.988134 0 + outer loop + vertex -12.6849 -19.1929 -0.1 + vertex -12.302 -19.1333 0 + vertex -12.6849 -19.1929 0 + endloop + endfacet + facet normal 0.153595 -0.988134 0 + outer loop + vertex -12.302 -19.1333 0 + vertex -12.6849 -19.1929 -0.1 + vertex -12.302 -19.1333 -0.1 + endloop + endfacet + facet normal -0.105808 -0.994387 0 + outer loop + vertex -12.302 -19.1333 -0.1 + vertex -12.0792 -19.1571 0 + vertex -12.302 -19.1333 0 + endloop + endfacet + facet normal -0.105808 -0.994387 -0 + outer loop + vertex -12.0792 -19.1571 0 + vertex -12.302 -19.1333 -0.1 + vertex -12.0792 -19.1571 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 35.6833 -25.6471 -0.1 + vertex 39.342 -26.9688 -0.1 + vertex 35.957 -24.8864 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 35.3422 -26.5156 -0.1 + vertex 39.342 -26.9688 -0.1 + vertex 35.6833 -25.6471 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 39.342 -26.9688 -0.1 + vertex 35.3422 -26.5156 -0.1 + vertex 38.2305 -29.6614 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 33.8561 -30.1753 -0.1 + vertex 38.2305 -29.6614 -0.1 + vertex 35.3422 -26.5156 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.2305 -29.6614 -0.1 + vertex 33.8561 -30.1753 -0.1 + vertex 37.444 -31.6395 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.3957 -19.1543 -0.1 + vertex 42.162 -19.859 -0.1 + vertex 42.1595 -19.6516 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.7426 -19.1572 -0.1 + vertex 42.1595 -19.6516 -0.1 + vertex 42.1149 -19.4743 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.162 -19.859 -0.1 + vertex 41.3957 -19.1543 -0.1 + vertex 42.1212 -20.0931 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.7426 -19.1572 -0.1 + vertex 42.1149 -19.4743 -0.1 + vertex 42.0297 -19.3306 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 41.156 -19.2119 -0.1 + vertex 42.1212 -20.0931 -0.1 + vertex 41.3957 -19.1543 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.1212 -20.0931 -0.1 + vertex 41.156 -19.2119 -0.1 + vertex 42.0356 -20.3507 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.7426 -19.1572 -0.1 + vertex 42.0297 -19.3306 -0.1 + vertex 41.9051 -19.2238 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.9233 -19.8512 -0.1 + vertex 47.9993 -20.1225 -0.1 + vertex 47.9745 -19.9807 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.9993 -20.1225 -0.1 + vertex 47.9233 -19.8512 -0.1 + vertex 47.9987 -20.2887 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.845 -19.7221 -0.1 + vertex 47.9987 -20.2887 -0.1 + vertex 47.9233 -19.8512 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.9987 -20.2887 -0.1 + vertex 47.845 -19.7221 -0.1 + vertex 47.9737 -20.4912 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.7384 -19.5813 -0.1 + vertex 47.9737 -20.4912 -0.1 + vertex 47.845 -19.7221 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.044 -19.1833 -0.1 + vertex 47.9737 -20.4912 -0.1 + vertex 47.7384 -19.5813 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.8289 -19.1548 -0.1 + vertex 47.9737 -20.4912 -0.1 + vertex 47.044 -19.1833 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.2257 -19.2263 -0.1 + vertex 47.7384 -19.5813 -0.1 + vertex 47.6302 -19.4614 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.274 -19.1343 -0.1 + vertex 47.8542 -21.0531 -0.1 + vertex 46.8289 -19.1548 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.2257 -19.2263 -0.1 + vertex 47.6302 -19.4614 -0.1 + vertex 47.5127 -19.3635 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.2257 -19.2263 -0.1 + vertex 47.5127 -19.3635 -0.1 + vertex 47.3799 -19.2858 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.9737 -20.4912 -0.1 + vertex 46.8289 -19.1548 -0.1 + vertex 47.8542 -21.0531 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.7384 -19.5813 -0.1 + vertex 47.2257 -19.2263 -0.1 + vertex 47.044 -19.1833 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.8542 -21.0531 -0.1 + vertex 46.274 -19.1343 -0.1 + vertex 47.7155 -21.5429 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 45.8151 -19.1475 -0.1 + vertex 47.7155 -21.5429 -0.1 + vertex 46.274 -19.1343 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.7155 -21.5429 -0.1 + vertex 45.8151 -19.1475 -0.1 + vertex 47.5422 -21.9981 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 45.391 -19.1898 -0.1 + vertex 47.5422 -21.9981 -0.1 + vertex 45.8151 -19.1475 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.5422 -21.9981 -0.1 + vertex 45.391 -19.1898 -0.1 + vertex 47.3383 -22.4165 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 44.9905 -19.265 -0.1 + vertex 47.3383 -22.4165 -0.1 + vertex 45.391 -19.1898 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 44.6026 -19.3768 -0.1 + vertex 47.3383 -22.4165 -0.1 + vertex 44.9905 -19.265 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.3383 -22.4165 -0.1 + vertex 44.6026 -19.3768 -0.1 + vertex 47.1074 -22.796 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 44.2162 -19.5289 -0.1 + vertex 47.1074 -22.796 -0.1 + vertex 44.6026 -19.3768 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.1074 -22.796 -0.1 + vertex 44.2162 -19.5289 -0.1 + vertex 46.8534 -23.1343 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.3873 -23.2523 -0.1 + vertex 46.8534 -23.1343 -0.1 + vertex 44.2162 -19.5289 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.8534 -23.1343 -0.1 + vertex 43.3873 -23.2523 -0.1 + vertex 46.5801 -23.4293 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.5801 -23.4293 -0.1 + vertex 43.3873 -23.2523 -0.1 + vertex 46.2914 -23.6786 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 43.6239 -23.5069 -0.1 + vertex 46.2914 -23.6786 -0.1 + vertex 43.3873 -23.2523 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.2914 -23.6786 -0.1 + vertex 43.6239 -23.5069 -0.1 + vertex 45.9909 -23.8802 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 43.8807 -23.7673 -0.1 + vertex 45.3703 -24.1311 -0.1 + vertex 43.6239 -23.5069 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.3703 -24.1311 -0.1 + vertex 43.8807 -23.7673 -0.1 + vertex 45.0576 -24.176 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.9909 -23.8802 -0.1 + vertex 43.6239 -23.5069 -0.1 + vertex 45.6826 -24.0317 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.0576 -24.176 -0.1 + vertex 43.8807 -23.7673 -0.1 + vertex 44.7485 -24.1643 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.7485 -24.1643 -0.1 + vertex 43.8807 -23.7673 -0.1 + vertex 44.4468 -24.0937 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.3873 -23.2523 -0.1 + vertex 44.2162 -19.5289 -0.1 + vertex 43.8201 -19.7253 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.4468 -24.0937 -0.1 + vertex 43.8807 -23.7673 -0.1 + vertex 44.1563 -23.9621 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.3873 -23.2523 -0.1 + vertex 43.8201 -19.7253 -0.1 + vertex 43.4033 -19.9696 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.6826 -24.0317 -0.1 + vertex 43.6239 -23.5069 -0.1 + vertex 45.3703 -24.1311 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.4033 -19.9696 -0.1 + vertex 43.1493 -23.0437 -0.1 + vertex 43.3873 -23.2523 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 42.9547 -20.2657 -0.1 + vertex 43.1493 -23.0437 -0.1 + vertex 43.4033 -19.9696 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.9547 -20.2657 -0.1 + vertex 42.9376 -22.9028 -0.1 + vertex 43.1493 -23.0437 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.9547 -20.2657 -0.1 + vertex 42.8503 -22.8644 -0.1 + vertex 42.9376 -22.9028 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 42.3117 -20.6924 -0.1 + vertex 42.8503 -22.8644 -0.1 + vertex 42.9547 -20.2657 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.8503 -22.8644 -0.1 + vertex 42.3117 -20.6924 -0.1 + vertex 42.7799 -22.851 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 42.1116 -20.8028 -0.1 + vertex 42.7799 -22.851 -0.1 + vertex 42.3117 -20.6924 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.7799 -22.851 -0.1 + vertex 42.1116 -20.8028 -0.1 + vertex 42.6968 -22.8729 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 41.9827 -20.8453 -0.1 + vertex 42.6968 -22.8729 -0.1 + vertex 42.1116 -20.8028 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.6968 -22.8729 -0.1 + vertex 41.9827 -20.8453 -0.1 + vertex 42.5728 -22.9356 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.9427 -20.8413 -0.1 + vertex 42.5728 -22.9356 -0.1 + vertex 41.9827 -20.8453 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.5728 -22.9356 -0.1 + vertex 41.9427 -20.8413 -0.1 + vertex 42.2267 -23.1657 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.7898 -23.5063 -0.1 + vertex 41.9427 -20.8413 -0.1 + vertex 41.9179 -20.8207 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.9427 -20.8413 -0.1 + vertex 41.7898 -23.5063 -0.1 + vertex 42.2267 -23.1657 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 39.5298 -19.7361 -0.1 + vertex 41.9179 -20.8207 -0.1 + vertex 41.9099 -20.7296 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.0356 -20.3507 -0.1 + vertex 41.156 -19.2119 -0.1 + vertex 41.9515 -20.5727 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.1595 -19.6516 -0.1 + vertex 41.7426 -19.1572 -0.1 + vertex 41.5436 -19.1343 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.1595 -19.6516 -0.1 + vertex 41.5436 -19.1343 -0.1 + vertex 41.3957 -19.1543 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 40.4513 -19.4233 -0.1 + vertex 41.9515 -20.5727 -0.1 + vertex 41.156 -19.2119 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.9515 -20.5727 -0.1 + vertex 40.4513 -19.4233 -0.1 + vertex 41.9099 -20.7296 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 39.5298 -19.7361 -0.1 + vertex 41.9099 -20.7296 -0.1 + vertex 40.4513 -19.4233 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.9179 -20.8207 -0.1 + vertex 39.5298 -19.7361 -0.1 + vertex 41.3103 -23.9223 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.9179 -20.8207 -0.1 + vertex 41.3103 -23.9223 -0.1 + vertex 41.7898 -23.5063 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 38.4916 -20.1181 -0.1 + vertex 41.3103 -23.9223 -0.1 + vertex 39.5298 -19.7361 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.3103 -23.9223 -0.1 + vertex 38.4916 -20.1181 -0.1 + vertex 40.922 -24.2835 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 40.922 -24.2835 -0.1 + vertex 38.4916 -20.1181 -0.1 + vertex 40.604 -24.6171 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.3539 -23.0402 -0.1 + vertex 40.604 -24.6171 -0.1 + vertex 38.4916 -20.1181 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 36.3671 -23.1585 -0.1 + vertex 40.604 -24.6171 -0.1 + vertex 36.3539 -23.0402 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 40.604 -24.6171 -0.1 + vertex 36.362 -23.3104 -0.1 + vertex 40.3218 -24.9877 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.2977 -23.7121 -0.1 + vertex 40.3218 -24.9877 -0.1 + vertex 36.362 -23.3104 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 40.3218 -24.9877 -0.1 + vertex 36.2977 -23.7121 -0.1 + vertex 40.0406 -25.46 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.3539 -23.0402 -0.1 + vertex 38.4916 -20.1181 -0.1 + vertex 37.4642 -20.5001 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.1622 -24.2394 -0.1 + vertex 40.0406 -25.46 -0.1 + vertex 36.2977 -23.7121 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 40.0406 -25.46 -0.1 + vertex 36.1622 -24.2394 -0.1 + vertex 39.7256 -26.0988 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.3224 -22.9562 -0.1 + vertex 37.4642 -20.5001 -0.1 + vertex 36.5724 -20.813 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 35.957 -24.8864 -0.1 + vertex 39.7256 -26.0988 -0.1 + vertex 36.1622 -24.2394 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 39.7256 -26.0988 -0.1 + vertex 35.957 -24.8864 -0.1 + vertex 39.342 -26.9688 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.362 -23.3104 -0.1 + vertex 40.604 -24.6171 -0.1 + vertex 36.3671 -23.1585 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.4642 -20.5001 -0.1 + vertex 36.3224 -22.9562 -0.1 + vertex 36.3539 -23.0402 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.5724 -20.813 -0.1 + vertex 36.2723 -22.9073 -0.1 + vertex 36.3224 -22.9562 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 35.9118 -21.0243 -0.1 + vertex 36.2723 -22.9073 -0.1 + vertex 36.5724 -20.813 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.2723 -22.9073 -0.1 + vertex 35.9118 -21.0243 -0.1 + vertex 36.2034 -22.8943 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 35.5778 -21.102 -0.1 + vertex 36.2034 -22.8943 -0.1 + vertex 35.9118 -21.0243 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.2034 -22.8943 -0.1 + vertex 35.5778 -21.102 -0.1 + vertex 36.1157 -22.9178 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.1157 -22.9178 -0.1 + vertex 35.5778 -21.102 -0.1 + vertex 35.9442 -22.9618 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.9442 -22.9618 -0.1 + vertex 35.5778 -21.102 -0.1 + vertex 35.7166 -22.9783 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 35.0706 -21.3217 -0.1 + vertex 35.7166 -22.9783 -0.1 + vertex 35.5778 -21.102 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.2304 -21.2043 -0.1 + vertex 35.5778 -21.102 -0.1 + vertex 35.4013 -21.1287 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.5778 -21.102 -0.1 + vertex 35.2304 -21.2043 -0.1 + vertex 35.0706 -21.3217 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 34.9274 -21.474 -0.1 + vertex 35.7166 -22.9783 -0.1 + vertex 35.0706 -21.3217 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.7166 -22.9783 -0.1 + vertex 34.9274 -21.474 -0.1 + vertex 35.4626 -22.9668 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 34.8063 -21.6543 -0.1 + vertex 35.4626 -22.9668 -0.1 + vertex 34.9274 -21.474 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 34.713 -21.8554 -0.1 + vertex 35.4626 -22.9668 -0.1 + vertex 34.8063 -21.6543 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.4626 -22.9668 -0.1 + vertex 34.713 -21.8554 -0.1 + vertex 35.2118 -22.9271 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 34.653 -22.0706 -0.1 + vertex 35.2118 -22.9271 -0.1 + vertex 34.713 -21.8554 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 34.6318 -22.2927 -0.1 + vertex 35.2118 -22.9271 -0.1 + vertex 34.653 -22.0706 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.2118 -22.9271 -0.1 + vertex 34.6318 -22.2927 -0.1 + vertex 34.9345 -22.8399 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 34.6385 -22.4262 -0.1 + vertex 34.9345 -22.8399 -0.1 + vertex 34.6318 -22.2927 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 34.6602 -22.54 -0.1 + vertex 34.9345 -22.8399 -0.1 + vertex 34.6385 -22.4262 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.9345 -22.8399 -0.1 + vertex 34.6602 -22.54 -0.1 + vertex 34.8338 -22.7839 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.8338 -22.7839 -0.1 + vertex 34.6602 -22.54 -0.1 + vertex 34.7558 -22.7166 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.7558 -22.7166 -0.1 + vertex 34.6602 -22.54 -0.1 + vertex 34.6986 -22.636 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.6954 -36.1853 -0.1 + vertex 38.1248 -36.8464 -0.1 + vertex 38.119 -36.6694 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.8576 -36.2498 -0.1 + vertex 38.119 -36.6694 -0.1 + vertex 38.0969 -36.5276 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.203 -36.0604 -0.1 + vertex 38.1248 -36.8464 -0.1 + vertex 37.6954 -36.1853 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.9736 -36.3241 -0.1 + vertex 38.0969 -36.5276 -0.1 + vertex 38.0509 -36.4146 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.1248 -36.8464 -0.1 + vertex 37.203 -36.0604 -0.1 + vertex 38.103 -37.2562 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.0969 -36.5276 -0.1 + vertex 37.9736 -36.3241 -0.1 + vertex 37.8576 -36.2498 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.119 -36.6694 -0.1 + vertex 37.8576 -36.2498 -0.1 + vertex 37.6954 -36.1853 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 37.3927 -37.9628 -0.1 + vertex 38.103 -37.2562 -0.1 + vertex 37.203 -36.0604 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 37.7849 -37.8018 -0.1 + vertex 38.0668 -37.4245 -0.1 + vertex 37.6132 -37.8903 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.0668 -37.4245 -0.1 + vertex 37.7849 -37.8018 -0.1 + vertex 38.0057 -37.5705 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.0057 -37.5705 -0.1 + vertex 37.7849 -37.8018 -0.1 + vertex 37.9137 -37.6957 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 37.6132 -37.8903 -0.1 + vertex 38.103 -37.2562 -0.1 + vertex 37.3927 -37.9628 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.103 -37.2562 -0.1 + vertex 37.6132 -37.8903 -0.1 + vertex 38.0668 -37.4245 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.203 -36.0604 -0.1 + vertex 37.1174 -38.0208 -0.1 + vertex 37.3927 -37.9628 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.203 -36.0604 -0.1 + vertex 36.7812 -38.066 -0.1 + vertex 37.1174 -38.0208 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.6812 -35.9318 -0.1 + vertex 36.7812 -38.066 -0.1 + vertex 37.203 -36.0604 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.9024 -38.1241 -0.1 + vertex 36.6812 -35.9318 -0.1 + vertex 36.5187 -35.8653 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.9024 -38.1241 -0.1 + vertex 36.5187 -35.8653 -0.1 + vertex 36.4089 -35.7834 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.7085 -38.1497 -0.1 + vertex 36.4089 -35.7834 -0.1 + vertex 36.3422 -35.6758 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.7085 -38.1497 -0.1 + vertex 36.3422 -35.6758 -0.1 + vertex 36.3089 -35.532 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.444 -31.6395 -0.1 + vertex 33.8561 -30.1753 -0.1 + vertex 36.8389 -33.2656 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 33.1139 -32.0001 -0.1 + vertex 36.8389 -33.2656 -0.1 + vertex 33.8561 -30.1753 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.6812 -35.9318 -0.1 + vertex 35.9024 -38.1241 -0.1 + vertex 36.7812 -38.066 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 32.0766 -34.3595 -0.1 + vertex 36.3089 -35.532 -0.1 + vertex 36.2992 -35.3418 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.8389 -33.2656 -0.1 + vertex 33.1139 -32.0001 -0.1 + vertex 36.4479 -34.448 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 32.5373 -33.371 -0.1 + vertex 36.4479 -34.448 -0.1 + vertex 33.1139 -32.0001 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.4479 -34.448 -0.1 + vertex 32.5373 -33.371 -0.1 + vertex 36.3428 -34.844 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.3428 -34.844 -0.1 + vertex 32.5373 -33.371 -0.1 + vertex 36.3035 -35.0946 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 32.0766 -34.3595 -0.1 + vertex 36.3035 -35.0946 -0.1 + vertex 32.5373 -33.371 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.3035 -35.0946 -0.1 + vertex 32.0766 -34.3595 -0.1 + vertex 36.2992 -35.3418 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.4089 -35.7834 -0.1 + vertex 34.7085 -38.1497 -0.1 + vertex 35.9024 -38.1241 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.3089 -35.532 -0.1 + vertex 32.0766 -34.3595 -0.1 + vertex 31.8743 -34.7329 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.3089 -35.532 -0.1 + vertex 31.8743 -34.7329 -0.1 + vertex 34.7085 -38.1497 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.7085 -38.1497 -0.1 + vertex 31.8743 -34.7329 -0.1 + vertex 33.1514 -38.1555 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 31.6824 -35.0376 -0.1 + vertex 33.1514 -38.1555 -0.1 + vertex 31.8743 -34.7329 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 31.4948 -35.2825 -0.1 + vertex 33.1514 -38.1555 -0.1 + vertex 31.6824 -35.0376 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 31.3052 -35.4767 -0.1 + vertex 33.1514 -38.1555 -0.1 + vertex 31.4948 -35.2825 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 31.1075 -35.6291 -0.1 + vertex 33.1514 -38.1555 -0.1 + vertex 31.3052 -35.4767 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 33.1514 -38.1555 -0.1 + vertex 31.1075 -35.6291 -0.1 + vertex 31.1824 -38.1409 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 30.8955 -35.7486 -0.1 + vertex 31.1824 -38.1409 -0.1 + vertex 31.1075 -35.6291 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 30.6629 -35.8443 -0.1 + vertex 31.1824 -38.1409 -0.1 + vertex 30.8955 -35.7486 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 30.4037 -35.9251 -0.1 + vertex 31.1824 -38.1409 -0.1 + vertex 30.6629 -35.8443 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.4037 -35.9251 -0.1 + vertex 29.8192 -38.0948 -0.1 + vertex 31.1824 -38.1409 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.7804 -36.0779 -0.1 + vertex 29.8192 -38.0948 -0.1 + vertex 30.4037 -35.9251 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.5705 -36.1356 -0.1 + vertex 29.8192 -38.0948 -0.1 + vertex 29.7804 -36.0779 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.3757 -36.2065 -0.1 + vertex 29.8192 -38.0948 -0.1 + vertex 29.5705 -36.1356 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.1966 -36.2895 -0.1 + vertex 29.8192 -38.0948 -0.1 + vertex 29.3757 -36.2065 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.8192 -38.0948 -0.1 + vertex 29.1966 -36.2895 -0.1 + vertex 29.3448 -38.0588 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.034 -36.3831 -0.1 + vertex 29.3448 -38.0588 -0.1 + vertex 29.1966 -36.2895 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.8888 -36.4863 -0.1 + vertex 29.3448 -38.0588 -0.1 + vertex 29.034 -36.3831 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.7617 -36.5978 -0.1 + vertex 29.3448 -38.0588 -0.1 + vertex 28.8888 -36.4863 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.6534 -36.7163 -0.1 + vertex 29.3448 -38.0588 -0.1 + vertex 28.7617 -36.5978 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.3448 -38.0588 -0.1 + vertex 28.6534 -36.7163 -0.1 + vertex 28.9979 -38.0135 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.5648 -36.8405 -0.1 + vertex 28.9979 -38.0135 -0.1 + vertex 28.6534 -36.7163 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.4965 -36.9693 -0.1 + vertex 28.9979 -38.0135 -0.1 + vertex 28.5648 -36.8405 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.4495 -37.1014 -0.1 + vertex 28.9979 -38.0135 -0.1 + vertex 28.4965 -36.9693 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.7706 -37.9584 -0.1 + vertex 28.5587 -37.7674 -0.1 + vertex 28.6548 -37.8931 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.4243 -37.2355 -0.1 + vertex 28.9979 -38.0135 -0.1 + vertex 28.4495 -37.1014 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.9979 -38.0135 -0.1 + vertex 28.5587 -37.7674 -0.1 + vertex 28.7706 -37.9584 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.4219 -37.3704 -0.1 + vertex 28.9979 -38.0135 -0.1 + vertex 28.4243 -37.2355 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 28.5587 -37.7674 -0.1 + vertex 28.9979 -38.0135 -0.1 + vertex 28.4883 -37.6376 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 28.4883 -37.6376 -0.1 + vertex 28.9979 -38.0135 -0.1 + vertex 28.443 -37.5048 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.9979 -38.0135 -0.1 + vertex 28.4219 -37.3704 -0.1 + vertex 28.443 -37.5048 -0.1 + endloop + endfacet + facet normal -0.131122 -0.991366 0 + outer loop + vertex 46.8289 -19.1548 -0.1 + vertex 47.044 -19.1833 0 + vertex 46.8289 -19.1548 0 + endloop + endfacet + facet normal -0.131122 -0.991366 -0 + outer loop + vertex 47.044 -19.1833 0 + vertex 46.8289 -19.1548 -0.1 + vertex 47.044 -19.1833 -0.1 + endloop + endfacet + facet normal -0.230596 -0.97305 0 + outer loop + vertex 47.044 -19.1833 -0.1 + vertex 47.2257 -19.2263 0 + vertex 47.044 -19.1833 0 + endloop + endfacet + facet normal -0.230596 -0.97305 -0 + outer loop + vertex 47.2257 -19.2263 0 + vertex 47.044 -19.1833 -0.1 + vertex 47.2257 -19.2263 -0.1 + endloop + endfacet + facet normal -0.359881 -0.932998 0 + outer loop + vertex 47.2257 -19.2263 -0.1 + vertex 47.3799 -19.2858 0 + vertex 47.2257 -19.2263 0 + endloop + endfacet + facet normal -0.359881 -0.932998 -0 + outer loop + vertex 47.3799 -19.2858 0 + vertex 47.2257 -19.2263 -0.1 + vertex 47.3799 -19.2858 -0.1 + endloop + endfacet + facet normal -0.505271 -0.862961 0 + outer loop + vertex 47.3799 -19.2858 -0.1 + vertex 47.5127 -19.3635 0 + vertex 47.3799 -19.2858 0 + endloop + endfacet + facet normal -0.505271 -0.862961 -0 + outer loop + vertex 47.5127 -19.3635 0 + vertex 47.3799 -19.2858 -0.1 + vertex 47.5127 -19.3635 -0.1 + endloop + endfacet + facet normal -0.640123 -0.768272 0 + outer loop + vertex 47.5127 -19.3635 -0.1 + vertex 47.6302 -19.4614 0 + vertex 47.5127 -19.3635 0 + endloop + endfacet + facet normal -0.640123 -0.768272 -0 + outer loop + vertex 47.6302 -19.4614 0 + vertex 47.5127 -19.3635 -0.1 + vertex 47.6302 -19.4614 -0.1 + endloop + endfacet + facet normal -0.742266 -0.670106 0 + outer loop + vertex 47.7384 -19.5813 -0.1 + vertex 47.6302 -19.4614 0 + vertex 47.6302 -19.4614 -0.1 + endloop + endfacet + facet normal -0.742266 -0.670106 0 + outer loop + vertex 47.6302 -19.4614 0 + vertex 47.7384 -19.5813 -0.1 + vertex 47.7384 -19.5813 0 + endloop + endfacet + facet normal -0.797332 -0.60354 0 + outer loop + vertex 47.845 -19.7221 -0.1 + vertex 47.7384 -19.5813 0 + vertex 47.7384 -19.5813 -0.1 + endloop + endfacet + facet normal -0.797332 -0.60354 0 + outer loop + vertex 47.7384 -19.5813 0 + vertex 47.845 -19.7221 -0.1 + vertex 47.845 -19.7221 0 + endloop + endfacet + facet normal -0.85488 -0.518827 0 + outer loop + vertex 47.9233 -19.8512 -0.1 + vertex 47.845 -19.7221 0 + vertex 47.845 -19.7221 -0.1 + endloop + endfacet + facet normal -0.85488 -0.518827 0 + outer loop + vertex 47.845 -19.7221 0 + vertex 47.9233 -19.8512 -0.1 + vertex 47.9233 -19.8512 0 + endloop + endfacet + facet normal -0.930142 -0.367201 0 + outer loop + vertex 47.9745 -19.9807 -0.1 + vertex 47.9233 -19.8512 0 + vertex 47.9233 -19.8512 -0.1 + endloop + endfacet + facet normal -0.930142 -0.367201 0 + outer loop + vertex 47.9233 -19.8512 0 + vertex 47.9745 -19.9807 -0.1 + vertex 47.9745 -19.9807 0 + endloop + endfacet + facet normal -0.985048 -0.172278 0 + outer loop + vertex 47.9993 -20.1225 -0.1 + vertex 47.9745 -19.9807 0 + vertex 47.9745 -19.9807 -0.1 + endloop + endfacet + facet normal -0.985048 -0.172278 0 + outer loop + vertex 47.9745 -19.9807 0 + vertex 47.9993 -20.1225 -0.1 + vertex 47.9993 -20.1225 0 + endloop + endfacet + facet normal -0.999994 0.0034209 0 + outer loop + vertex 47.9987 -20.2887 -0.1 + vertex 47.9993 -20.1225 0 + vertex 47.9993 -20.1225 -0.1 + endloop + endfacet + facet normal -0.999994 0.0034209 0 + outer loop + vertex 47.9993 -20.1225 0 + vertex 47.9987 -20.2887 -0.1 + vertex 47.9987 -20.2887 0 + endloop + endfacet + facet normal -0.992465 0.122526 0 + outer loop + vertex 47.9737 -20.4912 -0.1 + vertex 47.9987 -20.2887 0 + vertex 47.9987 -20.2887 -0.1 + endloop + endfacet + facet normal -0.992465 0.122526 0 + outer loop + vertex 47.9987 -20.2887 0 + vertex 47.9737 -20.4912 -0.1 + vertex 47.9737 -20.4912 0 + endloop + endfacet + facet normal -0.97813 0.207995 0 + outer loop + vertex 47.8542 -21.0531 -0.1 + vertex 47.9737 -20.4912 0 + vertex 47.9737 -20.4912 -0.1 + endloop + endfacet + facet normal -0.97813 0.207995 0 + outer loop + vertex 47.9737 -20.4912 0 + vertex 47.8542 -21.0531 -0.1 + vertex 47.8542 -21.0531 0 + endloop + endfacet + facet normal -0.962149 0.272524 0 + outer loop + vertex 47.7155 -21.5429 -0.1 + vertex 47.8542 -21.0531 0 + vertex 47.8542 -21.0531 -0.1 + endloop + endfacet + facet normal -0.962149 0.272524 0 + outer loop + vertex 47.8542 -21.0531 0 + vertex 47.7155 -21.5429 -0.1 + vertex 47.7155 -21.5429 0 + endloop + endfacet + facet normal -0.934598 0.355705 0 + outer loop + vertex 47.5422 -21.9981 -0.1 + vertex 47.7155 -21.5429 0 + vertex 47.7155 -21.5429 -0.1 + endloop + endfacet + facet normal -0.934598 0.355705 0 + outer loop + vertex 47.7155 -21.5429 0 + vertex 47.5422 -21.9981 -0.1 + vertex 47.5422 -21.9981 0 + endloop + endfacet + facet normal -0.898902 0.438149 0 + outer loop + vertex 47.3383 -22.4165 -0.1 + vertex 47.5422 -21.9981 0 + vertex 47.5422 -21.9981 -0.1 + endloop + endfacet + facet normal -0.898902 0.438149 0 + outer loop + vertex 47.5422 -21.9981 0 + vertex 47.3383 -22.4165 -0.1 + vertex 47.3383 -22.4165 0 + endloop + endfacet + facet normal -0.854314 0.519757 0 + outer loop + vertex 47.1074 -22.796 -0.1 + vertex 47.3383 -22.4165 0 + vertex 47.3383 -22.4165 -0.1 + endloop + endfacet + facet normal -0.854314 0.519757 0 + outer loop + vertex 47.3383 -22.4165 0 + vertex 47.1074 -22.796 -0.1 + vertex 47.1074 -22.796 0 + endloop + endfacet + facet normal -0.79973 0.600359 0 + outer loop + vertex 46.8534 -23.1343 -0.1 + vertex 47.1074 -22.796 0 + vertex 47.1074 -22.796 -0.1 + endloop + endfacet + facet normal -0.79973 0.600359 0 + outer loop + vertex 47.1074 -22.796 0 + vertex 46.8534 -23.1343 -0.1 + vertex 46.8534 -23.1343 0 + endloop + endfacet + facet normal -0.73354 0.679647 0 + outer loop + vertex 46.5801 -23.4293 -0.1 + vertex 46.8534 -23.1343 0 + vertex 46.8534 -23.1343 -0.1 + endloop + endfacet + facet normal -0.73354 0.679647 0 + outer loop + vertex 46.8534 -23.1343 0 + vertex 46.5801 -23.4293 -0.1 + vertex 46.5801 -23.4293 0 + endloop + endfacet + facet normal -0.653573 0.756863 0 + outer loop + vertex 46.5801 -23.4293 -0.1 + vertex 46.2914 -23.6786 0 + vertex 46.5801 -23.4293 0 + endloop + endfacet + facet normal -0.653573 0.756863 0 + outer loop + vertex 46.2914 -23.6786 0 + vertex 46.5801 -23.4293 -0.1 + vertex 46.2914 -23.6786 -0.1 + endloop + endfacet + facet normal -0.557126 0.830428 0 + outer loop + vertex 46.2914 -23.6786 -0.1 + vertex 45.9909 -23.8802 0 + vertex 46.2914 -23.6786 0 + endloop + endfacet + facet normal -0.557126 0.830428 0 + outer loop + vertex 45.9909 -23.8802 0 + vertex 46.2914 -23.6786 -0.1 + vertex 45.9909 -23.8802 -0.1 + endloop + endfacet + facet normal -0.441145 0.897436 0 + outer loop + vertex 45.9909 -23.8802 -0.1 + vertex 45.6826 -24.0317 0 + vertex 45.9909 -23.8802 0 + endloop + endfacet + facet normal -0.441145 0.897436 0 + outer loop + vertex 45.6826 -24.0317 0 + vertex 45.9909 -23.8802 -0.1 + vertex 45.6826 -24.0317 -0.1 + endloop + endfacet + facet normal -0.303061 0.952971 0 + outer loop + vertex 45.6826 -24.0317 -0.1 + vertex 45.3703 -24.1311 0 + vertex 45.6826 -24.0317 0 + endloop + endfacet + facet normal -0.303061 0.952971 0 + outer loop + vertex 45.3703 -24.1311 0 + vertex 45.6826 -24.0317 -0.1 + vertex 45.3703 -24.1311 -0.1 + endloop + endfacet + facet normal -0.142218 0.989835 0 + outer loop + vertex 45.3703 -24.1311 -0.1 + vertex 45.0576 -24.176 0 + vertex 45.3703 -24.1311 0 + endloop + endfacet + facet normal -0.142218 0.989835 0 + outer loop + vertex 45.0576 -24.176 0 + vertex 45.3703 -24.1311 -0.1 + vertex 45.0576 -24.176 -0.1 + endloop + endfacet + facet normal 0.0378695 0.999283 -0 + outer loop + vertex 45.0576 -24.176 -0.1 + vertex 44.7485 -24.1643 0 + vertex 45.0576 -24.176 0 + endloop + endfacet + facet normal 0.0378695 0.999283 0 + outer loop + vertex 44.7485 -24.1643 0 + vertex 45.0576 -24.176 -0.1 + vertex 44.7485 -24.1643 -0.1 + endloop + endfacet + facet normal 0.227696 0.973732 -0 + outer loop + vertex 44.7485 -24.1643 -0.1 + vertex 44.4468 -24.0937 0 + vertex 44.7485 -24.1643 0 + endloop + endfacet + facet normal 0.227696 0.973732 0 + outer loop + vertex 44.4468 -24.0937 0 + vertex 44.7485 -24.1643 -0.1 + vertex 44.4468 -24.0937 -0.1 + endloop + endfacet + facet normal 0.412594 0.910915 -0 + outer loop + vertex 44.4468 -24.0937 -0.1 + vertex 44.1563 -23.9621 0 + vertex 44.4468 -24.0937 0 + endloop + endfacet + facet normal 0.412594 0.910915 0 + outer loop + vertex 44.1563 -23.9621 0 + vertex 44.4468 -24.0937 -0.1 + vertex 44.1563 -23.9621 -0.1 + endloop + endfacet + facet normal 0.57736 0.81649 -0 + outer loop + vertex 44.1563 -23.9621 -0.1 + vertex 43.8807 -23.7673 0 + vertex 44.1563 -23.9621 0 + endloop + endfacet + facet normal 0.57736 0.81649 0 + outer loop + vertex 43.8807 -23.7673 0 + vertex 44.1563 -23.9621 -0.1 + vertex 43.8807 -23.7673 -0.1 + endloop + endfacet + facet normal 0.711931 0.70225 0 + outer loop + vertex 43.8807 -23.7673 0 + vertex 43.6239 -23.5069 -0.1 + vertex 43.6239 -23.5069 0 + endloop + endfacet + facet normal 0.711931 0.70225 0 + outer loop + vertex 43.6239 -23.5069 -0.1 + vertex 43.8807 -23.7673 0 + vertex 43.8807 -23.7673 -0.1 + endloop + endfacet + facet normal 0.732645 0.680611 0 + outer loop + vertex 43.6239 -23.5069 0 + vertex 43.3873 -23.2523 -0.1 + vertex 43.3873 -23.2523 0 + endloop + endfacet + facet normal 0.732645 0.680611 0 + outer loop + vertex 43.3873 -23.2523 -0.1 + vertex 43.6239 -23.5069 0 + vertex 43.6239 -23.5069 -0.1 + endloop + endfacet + facet normal 0.659068 0.752084 -0 + outer loop + vertex 43.3873 -23.2523 -0.1 + vertex 43.1493 -23.0437 0 + vertex 43.3873 -23.2523 0 + endloop + endfacet + facet normal 0.659068 0.752084 0 + outer loop + vertex 43.1493 -23.0437 0 + vertex 43.3873 -23.2523 -0.1 + vertex 43.1493 -23.0437 -0.1 + endloop + endfacet + facet normal 0.55411 0.832444 -0 + outer loop + vertex 43.1493 -23.0437 -0.1 + vertex 42.9376 -22.9028 0 + vertex 43.1493 -23.0437 0 + endloop + endfacet + facet normal 0.55411 0.832444 0 + outer loop + vertex 42.9376 -22.9028 0 + vertex 43.1493 -23.0437 -0.1 + vertex 42.9376 -22.9028 -0.1 + endloop + endfacet + facet normal 0.402192 0.915555 -0 + outer loop + vertex 42.9376 -22.9028 -0.1 + vertex 42.8503 -22.8644 0 + vertex 42.9376 -22.9028 0 + endloop + endfacet + facet normal 0.402192 0.915555 0 + outer loop + vertex 42.8503 -22.8644 0 + vertex 42.9376 -22.9028 -0.1 + vertex 42.8503 -22.8644 -0.1 + endloop + endfacet + facet normal 0.186876 0.982384 -0 + outer loop + vertex 42.8503 -22.8644 -0.1 + vertex 42.7799 -22.851 0 + vertex 42.8503 -22.8644 0 + endloop + endfacet + facet normal 0.186876 0.982384 0 + outer loop + vertex 42.7799 -22.851 0 + vertex 42.8503 -22.8644 -0.1 + vertex 42.7799 -22.851 -0.1 + endloop + endfacet + facet normal -0.254315 0.967121 0 + outer loop + vertex 42.7799 -22.851 -0.1 + vertex 42.6968 -22.8729 0 + vertex 42.7799 -22.851 0 + endloop + endfacet + facet normal -0.254315 0.967121 0 + outer loop + vertex 42.6968 -22.8729 0 + vertex 42.7799 -22.851 -0.1 + vertex 42.6968 -22.8729 -0.1 + endloop + endfacet + facet normal -0.451219 0.892413 0 + outer loop + vertex 42.6968 -22.8729 -0.1 + vertex 42.5728 -22.9356 0 + vertex 42.6968 -22.8729 0 + endloop + endfacet + facet normal -0.451219 0.892413 0 + outer loop + vertex 42.5728 -22.9356 0 + vertex 42.6968 -22.8729 -0.1 + vertex 42.5728 -22.9356 -0.1 + endloop + endfacet + facet normal -0.553713 0.832708 0 + outer loop + vertex 42.5728 -22.9356 -0.1 + vertex 42.2267 -23.1657 0 + vertex 42.5728 -22.9356 0 + endloop + endfacet + facet normal -0.553713 0.832708 0 + outer loop + vertex 42.2267 -23.1657 0 + vertex 42.5728 -22.9356 -0.1 + vertex 42.2267 -23.1657 -0.1 + endloop + endfacet + facet normal -0.614835 0.788656 0 + outer loop + vertex 42.2267 -23.1657 -0.1 + vertex 41.7898 -23.5063 0 + vertex 42.2267 -23.1657 0 + endloop + endfacet + facet normal -0.614835 0.788656 0 + outer loop + vertex 41.7898 -23.5063 0 + vertex 42.2267 -23.1657 -0.1 + vertex 41.7898 -23.5063 -0.1 + endloop + endfacet + facet normal -0.655263 0.755401 0 + outer loop + vertex 41.7898 -23.5063 -0.1 + vertex 41.3103 -23.9223 0 + vertex 41.7898 -23.5063 0 + endloop + endfacet + facet normal -0.655263 0.755401 0 + outer loop + vertex 41.3103 -23.9223 0 + vertex 41.7898 -23.5063 -0.1 + vertex 41.3103 -23.9223 -0.1 + endloop + endfacet + facet normal -0.681106 0.732185 0 + outer loop + vertex 41.3103 -23.9223 -0.1 + vertex 40.922 -24.2835 0 + vertex 41.3103 -23.9223 0 + endloop + endfacet + facet normal -0.681106 0.732185 0 + outer loop + vertex 40.922 -24.2835 0 + vertex 41.3103 -23.9223 -0.1 + vertex 40.922 -24.2835 -0.1 + endloop + endfacet + facet normal -0.723872 0.689934 0 + outer loop + vertex 40.604 -24.6171 -0.1 + vertex 40.922 -24.2835 0 + vertex 40.922 -24.2835 -0.1 + endloop + endfacet + facet normal -0.723872 0.689934 0 + outer loop + vertex 40.922 -24.2835 0 + vertex 40.604 -24.6171 -0.1 + vertex 40.604 -24.6171 0 + endloop + endfacet + facet normal -0.795563 0.60587 0 + outer loop + vertex 40.3218 -24.9877 -0.1 + vertex 40.604 -24.6171 0 + vertex 40.604 -24.6171 -0.1 + endloop + endfacet + facet normal -0.795563 0.60587 0 + outer loop + vertex 40.604 -24.6171 0 + vertex 40.3218 -24.9877 -0.1 + vertex 40.3218 -24.9877 0 + endloop + endfacet + facet normal -0.859211 0.511621 0 + outer loop + vertex 40.0406 -25.46 -0.1 + vertex 40.3218 -24.9877 0 + vertex 40.3218 -24.9877 -0.1 + endloop + endfacet + facet normal -0.859211 0.511621 0 + outer loop + vertex 40.3218 -24.9877 0 + vertex 40.0406 -25.46 -0.1 + vertex 40.0406 -25.46 0 + endloop + endfacet + facet normal -0.896877 0.442281 0 + outer loop + vertex 39.7256 -26.0988 -0.1 + vertex 40.0406 -25.46 0 + vertex 40.0406 -25.46 -0.1 + endloop + endfacet + facet normal -0.896877 0.442281 0 + outer loop + vertex 40.0406 -25.46 0 + vertex 39.7256 -26.0988 -0.1 + vertex 39.7256 -26.0988 0 + endloop + endfacet + facet normal -0.915036 0.403372 0 + outer loop + vertex 39.342 -26.9688 -0.1 + vertex 39.7256 -26.0988 0 + vertex 39.7256 -26.0988 -0.1 + endloop + endfacet + facet normal -0.915036 0.403372 0 + outer loop + vertex 39.7256 -26.0988 0 + vertex 39.342 -26.9688 -0.1 + vertex 39.342 -26.9688 0 + endloop + endfacet + facet normal -0.924339 0.381572 0 + outer loop + vertex 38.2305 -29.6614 -0.1 + vertex 39.342 -26.9688 0 + vertex 39.342 -26.9688 -0.1 + endloop + endfacet + facet normal -0.924339 0.381572 0 + outer loop + vertex 39.342 -26.9688 0 + vertex 38.2305 -29.6614 -0.1 + vertex 38.2305 -29.6614 0 + endloop + endfacet + facet normal -0.929232 0.369498 0 + outer loop + vertex 37.444 -31.6395 -0.1 + vertex 38.2305 -29.6614 0 + vertex 38.2305 -29.6614 -0.1 + endloop + endfacet + facet normal -0.929232 0.369498 0 + outer loop + vertex 38.2305 -29.6614 0 + vertex 37.444 -31.6395 -0.1 + vertex 37.444 -31.6395 0 + endloop + endfacet + facet normal -0.937221 0.348736 0 + outer loop + vertex 36.8389 -33.2656 -0.1 + vertex 37.444 -31.6395 0 + vertex 37.444 -31.6395 -0.1 + endloop + endfacet + facet normal -0.937221 0.348736 0 + outer loop + vertex 37.444 -31.6395 0 + vertex 36.8389 -33.2656 -0.1 + vertex 36.8389 -33.2656 0 + endloop + endfacet + facet normal -0.949427 0.313989 0 + outer loop + vertex 36.4479 -34.448 -0.1 + vertex 36.8389 -33.2656 0 + vertex 36.8389 -33.2656 -0.1 + endloop + endfacet + facet normal -0.949427 0.313989 0 + outer loop + vertex 36.8389 -33.2656 0 + vertex 36.4479 -34.448 -0.1 + vertex 36.4479 -34.448 0 + endloop + endfacet + facet normal -0.966574 0.256387 0 + outer loop + vertex 36.3428 -34.844 -0.1 + vertex 36.4479 -34.448 0 + vertex 36.4479 -34.448 -0.1 + endloop + endfacet + facet normal -0.966574 0.256387 0 + outer loop + vertex 36.4479 -34.448 0 + vertex 36.3428 -34.844 -0.1 + vertex 36.3428 -34.844 0 + endloop + endfacet + facet normal -0.987922 0.154951 0 + outer loop + vertex 36.3035 -35.0946 -0.1 + vertex 36.3428 -34.844 0 + vertex 36.3428 -34.844 -0.1 + endloop + endfacet + facet normal -0.987922 0.154951 0 + outer loop + vertex 36.3428 -34.844 0 + vertex 36.3035 -35.0946 -0.1 + vertex 36.3035 -35.0946 0 + endloop + endfacet + facet normal -0.999846 0.0175753 0 + outer loop + vertex 36.2992 -35.3418 -0.1 + vertex 36.3035 -35.0946 0 + vertex 36.3035 -35.0946 -0.1 + endloop + endfacet + facet normal -0.999846 0.0175753 0 + outer loop + vertex 36.3035 -35.0946 0 + vertex 36.2992 -35.3418 -0.1 + vertex 36.2992 -35.3418 0 + endloop + endfacet + facet normal -0.99871 -0.0507764 0 + outer loop + vertex 36.3089 -35.532 -0.1 + vertex 36.2992 -35.3418 0 + vertex 36.2992 -35.3418 -0.1 + endloop + endfacet + facet normal -0.99871 -0.0507764 0 + outer loop + vertex 36.2992 -35.3418 0 + vertex 36.3089 -35.532 -0.1 + vertex 36.3089 -35.532 0 + endloop + endfacet + facet normal -0.974112 -0.226068 0 + outer loop + vertex 36.3422 -35.6758 -0.1 + vertex 36.3089 -35.532 0 + vertex 36.3089 -35.532 -0.1 + endloop + endfacet + facet normal -0.974112 -0.226068 0 + outer loop + vertex 36.3089 -35.532 0 + vertex 36.3422 -35.6758 -0.1 + vertex 36.3422 -35.6758 0 + endloop + endfacet + facet normal -0.84992 -0.526911 0 + outer loop + vertex 36.4089 -35.7834 -0.1 + vertex 36.3422 -35.6758 0 + vertex 36.3422 -35.6758 -0.1 + endloop + endfacet + facet normal -0.84992 -0.526911 0 + outer loop + vertex 36.3422 -35.6758 0 + vertex 36.4089 -35.7834 -0.1 + vertex 36.4089 -35.7834 0 + endloop + endfacet + facet normal -0.59793 -0.801548 0 + outer loop + vertex 36.4089 -35.7834 -0.1 + vertex 36.5187 -35.8653 0 + vertex 36.4089 -35.7834 0 + endloop + endfacet + facet normal -0.59793 -0.801548 -0 + outer loop + vertex 36.5187 -35.8653 0 + vertex 36.4089 -35.7834 -0.1 + vertex 36.5187 -35.8653 -0.1 + endloop + endfacet + facet normal -0.37896 -0.925413 0 + outer loop + vertex 36.5187 -35.8653 -0.1 + vertex 36.6812 -35.9318 0 + vertex 36.5187 -35.8653 0 + endloop + endfacet + facet normal -0.37896 -0.925413 -0 + outer loop + vertex 36.6812 -35.9318 0 + vertex 36.5187 -35.8653 -0.1 + vertex 36.6812 -35.9318 -0.1 + endloop + endfacet + facet normal -0.239239 -0.970961 0 + outer loop + vertex 36.6812 -35.9318 -0.1 + vertex 37.203 -36.0604 0 + vertex 36.6812 -35.9318 0 + endloop + endfacet + facet normal -0.239239 -0.970961 -0 + outer loop + vertex 37.203 -36.0604 0 + vertex 36.6812 -35.9318 -0.1 + vertex 37.203 -36.0604 -0.1 + endloop + endfacet + facet normal -0.245847 -0.969309 0 + outer loop + vertex 37.203 -36.0604 -0.1 + vertex 37.6954 -36.1853 0 + vertex 37.203 -36.0604 0 + endloop + endfacet + facet normal -0.245847 -0.969309 -0 + outer loop + vertex 37.6954 -36.1853 0 + vertex 37.203 -36.0604 -0.1 + vertex 37.6954 -36.1853 -0.1 + endloop + endfacet + facet normal -0.369675 -0.929161 0 + outer loop + vertex 37.6954 -36.1853 -0.1 + vertex 37.8576 -36.2498 0 + vertex 37.6954 -36.1853 0 + endloop + endfacet + facet normal -0.369675 -0.929161 -0 + outer loop + vertex 37.8576 -36.2498 0 + vertex 37.6954 -36.1853 -0.1 + vertex 37.8576 -36.2498 -0.1 + endloop + endfacet + facet normal -0.539517 -0.841975 0 + outer loop + vertex 37.8576 -36.2498 -0.1 + vertex 37.9736 -36.3241 0 + vertex 37.8576 -36.2498 0 + endloop + endfacet + facet normal -0.539517 -0.841975 -0 + outer loop + vertex 37.9736 -36.3241 0 + vertex 37.8576 -36.2498 -0.1 + vertex 37.9736 -36.3241 -0.1 + endloop + endfacet + facet normal -0.760366 -0.649494 0 + outer loop + vertex 38.0509 -36.4146 -0.1 + vertex 37.9736 -36.3241 0 + vertex 37.9736 -36.3241 -0.1 + endloop + endfacet + facet normal -0.760366 -0.649494 0 + outer loop + vertex 37.9736 -36.3241 0 + vertex 38.0509 -36.4146 -0.1 + vertex 38.0509 -36.4146 0 + endloop + endfacet + facet normal -0.926147 -0.377163 0 + outer loop + vertex 38.0969 -36.5276 -0.1 + vertex 38.0509 -36.4146 0 + vertex 38.0509 -36.4146 -0.1 + endloop + endfacet + facet normal -0.926147 -0.377163 0 + outer loop + vertex 38.0509 -36.4146 0 + vertex 38.0969 -36.5276 -0.1 + vertex 38.0969 -36.5276 0 + endloop + endfacet + facet normal -0.988006 -0.154417 0 + outer loop + vertex 38.119 -36.6694 -0.1 + vertex 38.0969 -36.5276 0 + vertex 38.0969 -36.5276 -0.1 + endloop + endfacet + facet normal -0.988006 -0.154417 0 + outer loop + vertex 38.0969 -36.5276 0 + vertex 38.119 -36.6694 -0.1 + vertex 38.119 -36.6694 0 + endloop + endfacet + facet normal -0.999475 -0.0324031 0 + outer loop + vertex 38.1248 -36.8464 -0.1 + vertex 38.119 -36.6694 0 + vertex 38.119 -36.6694 -0.1 + endloop + endfacet + facet normal -0.999475 -0.0324031 0 + outer loop + vertex 38.119 -36.6694 0 + vertex 38.1248 -36.8464 -0.1 + vertex 38.1248 -36.8464 0 + endloop + endfacet + facet normal -0.99859 0.0530808 0 + outer loop + vertex 38.103 -37.2562 -0.1 + vertex 38.1248 -36.8464 0 + vertex 38.1248 -36.8464 -0.1 + endloop + endfacet + facet normal -0.99859 0.0530808 0 + outer loop + vertex 38.1248 -36.8464 0 + vertex 38.103 -37.2562 -0.1 + vertex 38.103 -37.2562 0 + endloop + endfacet + facet normal -0.977614 0.210405 0 + outer loop + vertex 38.0668 -37.4245 -0.1 + vertex 38.103 -37.2562 0 + vertex 38.103 -37.2562 -0.1 + endloop + endfacet + facet normal -0.977614 0.210405 0 + outer loop + vertex 38.103 -37.2562 0 + vertex 38.0668 -37.4245 -0.1 + vertex 38.0668 -37.4245 0 + endloop + endfacet + facet normal -0.922461 0.38609 0 + outer loop + vertex 38.0057 -37.5705 -0.1 + vertex 38.0668 -37.4245 0 + vertex 38.0668 -37.4245 -0.1 + endloop + endfacet + facet normal -0.922461 0.38609 0 + outer loop + vertex 38.0668 -37.4245 0 + vertex 38.0057 -37.5705 -0.1 + vertex 38.0057 -37.5705 0 + endloop + endfacet + facet normal -0.806037 0.591865 0 + outer loop + vertex 37.9137 -37.6957 -0.1 + vertex 38.0057 -37.5705 0 + vertex 38.0057 -37.5705 -0.1 + endloop + endfacet + facet normal -0.806037 0.591865 0 + outer loop + vertex 38.0057 -37.5705 0 + vertex 37.9137 -37.6957 -0.1 + vertex 37.9137 -37.6957 0 + endloop + endfacet + facet normal -0.635642 0.771984 0 + outer loop + vertex 37.9137 -37.6957 -0.1 + vertex 37.7849 -37.8018 0 + vertex 37.9137 -37.6957 0 + endloop + endfacet + facet normal -0.635642 0.771984 0 + outer loop + vertex 37.7849 -37.8018 0 + vertex 37.9137 -37.6957 -0.1 + vertex 37.7849 -37.8018 -0.1 + endloop + endfacet + facet normal -0.458146 0.888877 0 + outer loop + vertex 37.7849 -37.8018 -0.1 + vertex 37.6132 -37.8903 0 + vertex 37.7849 -37.8018 0 + endloop + endfacet + facet normal -0.458146 0.888877 0 + outer loop + vertex 37.6132 -37.8903 0 + vertex 37.7849 -37.8018 -0.1 + vertex 37.6132 -37.8903 -0.1 + endloop + endfacet + facet normal -0.312246 0.950001 0 + outer loop + vertex 37.6132 -37.8903 -0.1 + vertex 37.3927 -37.9628 0 + vertex 37.6132 -37.8903 0 + endloop + endfacet + facet normal -0.312246 0.950001 0 + outer loop + vertex 37.3927 -37.9628 0 + vertex 37.6132 -37.8903 -0.1 + vertex 37.3927 -37.9628 -0.1 + endloop + endfacet + facet normal -0.206263 0.978497 0 + outer loop + vertex 37.3927 -37.9628 -0.1 + vertex 37.1174 -38.0208 0 + vertex 37.3927 -37.9628 0 + endloop + endfacet + facet normal -0.206263 0.978497 0 + outer loop + vertex 37.1174 -38.0208 0 + vertex 37.3927 -37.9628 -0.1 + vertex 37.1174 -38.0208 -0.1 + endloop + endfacet + facet normal -0.133215 0.991087 0 + outer loop + vertex 37.1174 -38.0208 -0.1 + vertex 36.7812 -38.066 0 + vertex 37.1174 -38.0208 0 + endloop + endfacet + facet normal -0.133215 0.991087 0 + outer loop + vertex 36.7812 -38.066 0 + vertex 37.1174 -38.0208 -0.1 + vertex 36.7812 -38.066 -0.1 + endloop + endfacet + facet normal -0.0659814 0.997821 0 + outer loop + vertex 36.7812 -38.066 -0.1 + vertex 35.9024 -38.1241 0 + vertex 36.7812 -38.066 0 + endloop + endfacet + facet normal -0.0659814 0.997821 0 + outer loop + vertex 35.9024 -38.1241 0 + vertex 36.7812 -38.066 -0.1 + vertex 35.9024 -38.1241 -0.1 + endloop + endfacet + facet normal -0.0214493 0.99977 0 + outer loop + vertex 35.9024 -38.1241 -0.1 + vertex 34.7085 -38.1497 0 + vertex 35.9024 -38.1241 0 + endloop + endfacet + facet normal -0.0214493 0.99977 0 + outer loop + vertex 34.7085 -38.1497 0 + vertex 35.9024 -38.1241 -0.1 + vertex 34.7085 -38.1497 -0.1 + endloop + endfacet + facet normal -0.00368212 0.999993 0 + outer loop + vertex 34.7085 -38.1497 -0.1 + vertex 33.1514 -38.1555 0 + vertex 34.7085 -38.1497 0 + endloop + endfacet + facet normal -0.00368212 0.999993 0 + outer loop + vertex 33.1514 -38.1555 0 + vertex 34.7085 -38.1497 -0.1 + vertex 33.1514 -38.1555 -0.1 + endloop + endfacet + facet normal 0.00738333 0.999973 -0 + outer loop + vertex 33.1514 -38.1555 -0.1 + vertex 31.1824 -38.1409 0 + vertex 33.1514 -38.1555 0 + endloop + endfacet + facet normal 0.00738333 0.999973 0 + outer loop + vertex 31.1824 -38.1409 0 + vertex 33.1514 -38.1555 -0.1 + vertex 31.1824 -38.1409 -0.1 + endloop + endfacet + facet normal 0.0337924 0.999429 -0 + outer loop + vertex 31.1824 -38.1409 -0.1 + vertex 29.8192 -38.0948 0 + vertex 31.1824 -38.1409 0 + endloop + endfacet + facet normal 0.0337924 0.999429 0 + outer loop + vertex 29.8192 -38.0948 0 + vertex 31.1824 -38.1409 -0.1 + vertex 29.8192 -38.0948 -0.1 + endloop + endfacet + facet normal 0.0757553 0.997126 -0 + outer loop + vertex 29.8192 -38.0948 -0.1 + vertex 29.3448 -38.0588 0 + vertex 29.8192 -38.0948 0 + endloop + endfacet + facet normal 0.0757553 0.997126 0 + outer loop + vertex 29.3448 -38.0588 0 + vertex 29.8192 -38.0948 -0.1 + vertex 29.3448 -38.0588 -0.1 + endloop + endfacet + facet normal 0.129569 0.99157 -0 + outer loop + vertex 29.3448 -38.0588 -0.1 + vertex 28.9979 -38.0135 0 + vertex 29.3448 -38.0588 0 + endloop + endfacet + facet normal 0.129569 0.99157 0 + outer loop + vertex 28.9979 -38.0135 0 + vertex 29.3448 -38.0588 -0.1 + vertex 28.9979 -38.0135 -0.1 + endloop + endfacet + facet normal 0.235468 0.971882 -0 + outer loop + vertex 28.9979 -38.0135 -0.1 + vertex 28.7706 -37.9584 0 + vertex 28.9979 -38.0135 0 + endloop + endfacet + facet normal 0.235468 0.971882 0 + outer loop + vertex 28.7706 -37.9584 0 + vertex 28.9979 -38.0135 -0.1 + vertex 28.7706 -37.9584 -0.1 + endloop + endfacet + facet normal 0.491281 0.871001 -0 + outer loop + vertex 28.7706 -37.9584 -0.1 + vertex 28.6548 -37.8931 0 + vertex 28.7706 -37.9584 0 + endloop + endfacet + facet normal 0.491281 0.871001 0 + outer loop + vertex 28.6548 -37.8931 0 + vertex 28.7706 -37.9584 -0.1 + vertex 28.6548 -37.8931 -0.1 + endloop + endfacet + facet normal 0.794168 0.607698 0 + outer loop + vertex 28.6548 -37.8931 0 + vertex 28.5587 -37.7674 -0.1 + vertex 28.5587 -37.7674 0 + endloop + endfacet + facet normal 0.794168 0.607698 0 + outer loop + vertex 28.5587 -37.7674 -0.1 + vertex 28.6548 -37.8931 0 + vertex 28.6548 -37.8931 -0.1 + endloop + endfacet + facet normal 0.879213 0.47643 0 + outer loop + vertex 28.5587 -37.7674 0 + vertex 28.4883 -37.6376 -0.1 + vertex 28.4883 -37.6376 0 + endloop + endfacet + facet normal 0.879213 0.47643 0 + outer loop + vertex 28.4883 -37.6376 -0.1 + vertex 28.5587 -37.7674 0 + vertex 28.5587 -37.7674 -0.1 + endloop + endfacet + facet normal 0.946363 0.323104 0 + outer loop + vertex 28.4883 -37.6376 0 + vertex 28.443 -37.5048 -0.1 + vertex 28.443 -37.5048 0 + endloop + endfacet + facet normal 0.946363 0.323104 0 + outer loop + vertex 28.443 -37.5048 -0.1 + vertex 28.4883 -37.6376 0 + vertex 28.4883 -37.6376 -0.1 + endloop + endfacet + facet normal 0.987941 0.154833 0 + outer loop + vertex 28.443 -37.5048 0 + vertex 28.4219 -37.3704 -0.1 + vertex 28.4219 -37.3704 0 + endloop + endfacet + facet normal 0.987941 0.154833 0 + outer loop + vertex 28.4219 -37.3704 -0.1 + vertex 28.443 -37.5048 0 + vertex 28.443 -37.5048 -0.1 + endloop + endfacet + facet normal 0.99984 -0.0178826 0 + outer loop + vertex 28.4219 -37.3704 0 + vertex 28.4243 -37.2355 -0.1 + vertex 28.4243 -37.2355 0 + endloop + endfacet + facet normal 0.99984 -0.0178826 0 + outer loop + vertex 28.4243 -37.2355 -0.1 + vertex 28.4219 -37.3704 0 + vertex 28.4219 -37.3704 -0.1 + endloop + endfacet + facet normal 0.982895 -0.184165 0 + outer loop + vertex 28.4243 -37.2355 0 + vertex 28.4495 -37.1014 -0.1 + vertex 28.4495 -37.1014 0 + endloop + endfacet + facet normal 0.982895 -0.184165 0 + outer loop + vertex 28.4495 -37.1014 -0.1 + vertex 28.4243 -37.2355 0 + vertex 28.4243 -37.2355 -0.1 + endloop + endfacet + facet normal 0.941957 -0.335735 0 + outer loop + vertex 28.4495 -37.1014 0 + vertex 28.4965 -36.9693 -0.1 + vertex 28.4965 -36.9693 0 + endloop + endfacet + facet normal 0.941957 -0.335735 0 + outer loop + vertex 28.4965 -36.9693 -0.1 + vertex 28.4495 -37.1014 0 + vertex 28.4495 -37.1014 -0.1 + endloop + endfacet + facet normal 0.883597 -0.468248 0 + outer loop + vertex 28.4965 -36.9693 0 + vertex 28.5648 -36.8405 -0.1 + vertex 28.5648 -36.8405 0 + endloop + endfacet + facet normal 0.883597 -0.468248 0 + outer loop + vertex 28.5648 -36.8405 -0.1 + vertex 28.4965 -36.9693 0 + vertex 28.4965 -36.9693 -0.1 + endloop + endfacet + facet normal 0.814058 -0.580783 0 + outer loop + vertex 28.5648 -36.8405 0 + vertex 28.6534 -36.7163 -0.1 + vertex 28.6534 -36.7163 0 + endloop + endfacet + facet normal 0.814058 -0.580783 0 + outer loop + vertex 28.6534 -36.7163 -0.1 + vertex 28.5648 -36.8405 0 + vertex 28.5648 -36.8405 -0.1 + endloop + endfacet + facet normal 0.738176 -0.674608 0 + outer loop + vertex 28.6534 -36.7163 0 + vertex 28.7617 -36.5978 -0.1 + vertex 28.7617 -36.5978 0 + endloop + endfacet + facet normal 0.738176 -0.674608 0 + outer loop + vertex 28.7617 -36.5978 -0.1 + vertex 28.6534 -36.7163 0 + vertex 28.6534 -36.7163 -0.1 + endloop + endfacet + facet normal 0.659231 -0.75194 0 + outer loop + vertex 28.7617 -36.5978 -0.1 + vertex 28.8888 -36.4863 0 + vertex 28.7617 -36.5978 0 + endloop + endfacet + facet normal 0.659231 -0.75194 0 + outer loop + vertex 28.8888 -36.4863 0 + vertex 28.7617 -36.5978 -0.1 + vertex 28.8888 -36.4863 -0.1 + endloop + endfacet + facet normal 0.57926 -0.815143 0 + outer loop + vertex 28.8888 -36.4863 -0.1 + vertex 29.034 -36.3831 0 + vertex 28.8888 -36.4863 0 + endloop + endfacet + facet normal 0.57926 -0.815143 0 + outer loop + vertex 29.034 -36.3831 0 + vertex 28.8888 -36.4863 -0.1 + vertex 29.034 -36.3831 -0.1 + endloop + endfacet + facet normal 0.499403 -0.86637 0 + outer loop + vertex 29.034 -36.3831 -0.1 + vertex 29.1966 -36.2895 0 + vertex 29.034 -36.3831 0 + endloop + endfacet + facet normal 0.499403 -0.86637 0 + outer loop + vertex 29.1966 -36.2895 0 + vertex 29.034 -36.3831 -0.1 + vertex 29.1966 -36.2895 -0.1 + endloop + endfacet + facet normal 0.420274 -0.907397 0 + outer loop + vertex 29.1966 -36.2895 -0.1 + vertex 29.3757 -36.2065 0 + vertex 29.1966 -36.2895 0 + endloop + endfacet + facet normal 0.420274 -0.907397 0 + outer loop + vertex 29.3757 -36.2065 0 + vertex 29.1966 -36.2895 -0.1 + vertex 29.3757 -36.2065 -0.1 + endloop + endfacet + facet normal 0.34216 -0.939642 0 + outer loop + vertex 29.3757 -36.2065 -0.1 + vertex 29.5705 -36.1356 0 + vertex 29.3757 -36.2065 0 + endloop + endfacet + facet normal 0.34216 -0.939642 0 + outer loop + vertex 29.5705 -36.1356 0 + vertex 29.3757 -36.2065 -0.1 + vertex 29.5705 -36.1356 -0.1 + endloop + endfacet + facet normal 0.265166 -0.964203 0 + outer loop + vertex 29.5705 -36.1356 -0.1 + vertex 29.7804 -36.0779 0 + vertex 29.5705 -36.1356 0 + endloop + endfacet + facet normal 0.265166 -0.964203 0 + outer loop + vertex 29.7804 -36.0779 0 + vertex 29.5705 -36.1356 -0.1 + vertex 29.7804 -36.0779 -0.1 + endloop + endfacet + facet normal 0.237962 -0.971274 0 + outer loop + vertex 29.7804 -36.0779 -0.1 + vertex 30.4037 -35.9251 0 + vertex 29.7804 -36.0779 0 + endloop + endfacet + facet normal 0.237962 -0.971274 0 + outer loop + vertex 30.4037 -35.9251 0 + vertex 29.7804 -36.0779 -0.1 + vertex 30.4037 -35.9251 -0.1 + endloop + endfacet + facet normal 0.297523 -0.954715 0 + outer loop + vertex 30.4037 -35.9251 -0.1 + vertex 30.6629 -35.8443 0 + vertex 30.4037 -35.9251 0 + endloop + endfacet + facet normal 0.297523 -0.954715 0 + outer loop + vertex 30.6629 -35.8443 0 + vertex 30.4037 -35.9251 -0.1 + vertex 30.6629 -35.8443 -0.1 + endloop + endfacet + facet normal 0.380574 -0.92475 0 + outer loop + vertex 30.6629 -35.8443 -0.1 + vertex 30.8955 -35.7486 0 + vertex 30.6629 -35.8443 0 + endloop + endfacet + facet normal 0.380574 -0.92475 0 + outer loop + vertex 30.8955 -35.7486 0 + vertex 30.6629 -35.8443 -0.1 + vertex 30.8955 -35.7486 -0.1 + endloop + endfacet + facet normal 0.491191 -0.871052 0 + outer loop + vertex 30.8955 -35.7486 -0.1 + vertex 31.1075 -35.6291 0 + vertex 30.8955 -35.7486 0 + endloop + endfacet + facet normal 0.491191 -0.871052 0 + outer loop + vertex 31.1075 -35.6291 0 + vertex 30.8955 -35.7486 -0.1 + vertex 31.1075 -35.6291 -0.1 + endloop + endfacet + facet normal 0.610497 -0.792019 0 + outer loop + vertex 31.1075 -35.6291 -0.1 + vertex 31.3052 -35.4767 0 + vertex 31.1075 -35.6291 0 + endloop + endfacet + facet normal 0.610497 -0.792019 0 + outer loop + vertex 31.3052 -35.4767 0 + vertex 31.1075 -35.6291 -0.1 + vertex 31.3052 -35.4767 -0.1 + endloop + endfacet + facet normal 0.71556 -0.698551 0 + outer loop + vertex 31.3052 -35.4767 0 + vertex 31.4948 -35.2825 -0.1 + vertex 31.4948 -35.2825 0 + endloop + endfacet + facet normal 0.71556 -0.698551 0 + outer loop + vertex 31.4948 -35.2825 -0.1 + vertex 31.3052 -35.4767 0 + vertex 31.3052 -35.4767 -0.1 + endloop + endfacet + facet normal 0.793854 -0.608109 0 + outer loop + vertex 31.4948 -35.2825 0 + vertex 31.6824 -35.0376 -0.1 + vertex 31.6824 -35.0376 0 + endloop + endfacet + facet normal 0.793854 -0.608109 0 + outer loop + vertex 31.6824 -35.0376 -0.1 + vertex 31.4948 -35.2825 0 + vertex 31.4948 -35.2825 -0.1 + endloop + endfacet + facet normal 0.846168 -0.532916 0 + outer loop + vertex 31.6824 -35.0376 0 + vertex 31.8743 -34.7329 -0.1 + vertex 31.8743 -34.7329 0 + endloop + endfacet + facet normal 0.846168 -0.532916 0 + outer loop + vertex 31.8743 -34.7329 -0.1 + vertex 31.6824 -35.0376 0 + vertex 31.6824 -35.0376 -0.1 + endloop + endfacet + facet normal 0.879213 -0.47643 0 + outer loop + vertex 31.8743 -34.7329 0 + vertex 32.0766 -34.3595 -0.1 + vertex 32.0766 -34.3595 0 + endloop + endfacet + facet normal 0.879213 -0.47643 0 + outer loop + vertex 32.0766 -34.3595 -0.1 + vertex 31.8743 -34.7329 0 + vertex 31.8743 -34.7329 -0.1 + endloop + endfacet + facet normal 0.906414 -0.422389 0 + outer loop + vertex 32.0766 -34.3595 0 + vertex 32.5373 -33.371 -0.1 + vertex 32.5373 -33.371 0 + endloop + endfacet + facet normal 0.906414 -0.422389 0 + outer loop + vertex 32.5373 -33.371 -0.1 + vertex 32.0766 -34.3595 0 + vertex 32.0766 -34.3595 -0.1 + endloop + endfacet + facet normal 0.921762 -0.387755 0 + outer loop + vertex 32.5373 -33.371 0 + vertex 33.1139 -32.0001 -0.1 + vertex 33.1139 -32.0001 0 + endloop + endfacet + facet normal 0.921762 -0.387755 0 + outer loop + vertex 33.1139 -32.0001 -0.1 + vertex 32.5373 -33.371 0 + vertex 32.5373 -33.371 -0.1 + endloop + endfacet + facet normal 0.926317 -0.376745 0 + outer loop + vertex 33.1139 -32.0001 0 + vertex 33.8561 -30.1753 -0.1 + vertex 33.8561 -30.1753 0 + endloop + endfacet + facet normal 0.926317 -0.376745 0 + outer loop + vertex 33.8561 -30.1753 -0.1 + vertex 33.1139 -32.0001 0 + vertex 33.1139 -32.0001 -0.1 + endloop + endfacet + facet normal 0.926524 -0.376237 0 + outer loop + vertex 33.8561 -30.1753 0 + vertex 35.3422 -26.5156 -0.1 + vertex 35.3422 -26.5156 0 + endloop + endfacet + facet normal 0.926524 -0.376237 0 + outer loop + vertex 35.3422 -26.5156 -0.1 + vertex 33.8561 -30.1753 0 + vertex 33.8561 -30.1753 -0.1 + endloop + endfacet + facet normal 0.930815 -0.36549 0 + outer loop + vertex 35.3422 -26.5156 0 + vertex 35.6833 -25.6471 -0.1 + vertex 35.6833 -25.6471 0 + endloop + endfacet + facet normal 0.930815 -0.36549 0 + outer loop + vertex 35.6833 -25.6471 -0.1 + vertex 35.3422 -26.5156 0 + vertex 35.3422 -26.5156 -0.1 + endloop + endfacet + facet normal 0.940922 -0.338624 0 + outer loop + vertex 35.6833 -25.6471 0 + vertex 35.957 -24.8864 -0.1 + vertex 35.957 -24.8864 0 + endloop + endfacet + facet normal 0.940922 -0.338624 0 + outer loop + vertex 35.957 -24.8864 -0.1 + vertex 35.6833 -25.6471 0 + vertex 35.6833 -25.6471 -0.1 + endloop + endfacet + facet normal 0.953192 -0.302366 0 + outer loop + vertex 35.957 -24.8864 0 + vertex 36.1622 -24.2394 -0.1 + vertex 36.1622 -24.2394 0 + endloop + endfacet + facet normal 0.953192 -0.302366 0 + outer loop + vertex 36.1622 -24.2394 -0.1 + vertex 35.957 -24.8864 0 + vertex 35.957 -24.8864 -0.1 + endloop + endfacet + facet normal 0.968572 -0.248734 0 + outer loop + vertex 36.1622 -24.2394 0 + vertex 36.2977 -23.7121 -0.1 + vertex 36.2977 -23.7121 0 + endloop + endfacet + facet normal 0.968572 -0.248734 0 + outer loop + vertex 36.2977 -23.7121 -0.1 + vertex 36.1622 -24.2394 0 + vertex 36.1622 -24.2394 -0.1 + endloop + endfacet + facet normal 0.987422 -0.158107 0 + outer loop + vertex 36.2977 -23.7121 0 + vertex 36.362 -23.3104 -0.1 + vertex 36.362 -23.3104 0 + endloop + endfacet + facet normal 0.987422 -0.158107 0 + outer loop + vertex 36.362 -23.3104 -0.1 + vertex 36.2977 -23.7121 0 + vertex 36.2977 -23.7121 -0.1 + endloop + endfacet + facet normal 0.999436 -0.0335772 0 + outer loop + vertex 36.362 -23.3104 0 + vertex 36.3671 -23.1585 -0.1 + vertex 36.3671 -23.1585 0 + endloop + endfacet + facet normal 0.999436 -0.0335772 0 + outer loop + vertex 36.3671 -23.1585 -0.1 + vertex 36.362 -23.3104 0 + vertex 36.362 -23.3104 -0.1 + endloop + endfacet + facet normal 0.993888 0.110395 0 + outer loop + vertex 36.3671 -23.1585 0 + vertex 36.3539 -23.0402 -0.1 + vertex 36.3539 -23.0402 0 + endloop + endfacet + facet normal 0.993888 0.110395 0 + outer loop + vertex 36.3539 -23.0402 -0.1 + vertex 36.3671 -23.1585 0 + vertex 36.3671 -23.1585 -0.1 + endloop + endfacet + facet normal 0.93611 0.351708 0 + outer loop + vertex 36.3539 -23.0402 0 + vertex 36.3224 -22.9562 -0.1 + vertex 36.3224 -22.9562 0 + endloop + endfacet + facet normal 0.93611 0.351708 0 + outer loop + vertex 36.3224 -22.9562 -0.1 + vertex 36.3539 -23.0402 0 + vertex 36.3539 -23.0402 -0.1 + endloop + endfacet + facet normal 0.698293 0.715812 -0 + outer loop + vertex 36.3224 -22.9562 -0.1 + vertex 36.2723 -22.9073 0 + vertex 36.3224 -22.9562 0 + endloop + endfacet + facet normal 0.698293 0.715812 0 + outer loop + vertex 36.2723 -22.9073 0 + vertex 36.3224 -22.9562 -0.1 + vertex 36.2723 -22.9073 -0.1 + endloop + endfacet + facet normal 0.186395 0.982475 -0 + outer loop + vertex 36.2723 -22.9073 -0.1 + vertex 36.2034 -22.8943 0 + vertex 36.2723 -22.9073 0 + endloop + endfacet + facet normal 0.186395 0.982475 0 + outer loop + vertex 36.2034 -22.8943 0 + vertex 36.2723 -22.9073 -0.1 + vertex 36.2034 -22.8943 -0.1 + endloop + endfacet + facet normal -0.258789 0.965934 0 + outer loop + vertex 36.2034 -22.8943 -0.1 + vertex 36.1157 -22.9178 0 + vertex 36.2034 -22.8943 0 + endloop + endfacet + facet normal -0.258789 0.965934 0 + outer loop + vertex 36.1157 -22.9178 0 + vertex 36.2034 -22.8943 -0.1 + vertex 36.1157 -22.9178 -0.1 + endloop + endfacet + facet normal -0.248765 0.968564 0 + outer loop + vertex 36.1157 -22.9178 -0.1 + vertex 35.9442 -22.9618 0 + vertex 36.1157 -22.9178 0 + endloop + endfacet + facet normal -0.248765 0.968564 0 + outer loop + vertex 35.9442 -22.9618 0 + vertex 36.1157 -22.9178 -0.1 + vertex 35.9442 -22.9618 -0.1 + endloop + endfacet + facet normal -0.0720501 0.997401 0 + outer loop + vertex 35.9442 -22.9618 -0.1 + vertex 35.7166 -22.9783 0 + vertex 35.9442 -22.9618 0 + endloop + endfacet + facet normal -0.0720501 0.997401 0 + outer loop + vertex 35.7166 -22.9783 0 + vertex 35.9442 -22.9618 -0.1 + vertex 35.7166 -22.9783 -0.1 + endloop + endfacet + facet normal 0.0451334 0.998981 -0 + outer loop + vertex 35.7166 -22.9783 -0.1 + vertex 35.4626 -22.9668 0 + vertex 35.7166 -22.9783 0 + endloop + endfacet + facet normal 0.0451334 0.998981 0 + outer loop + vertex 35.4626 -22.9668 0 + vertex 35.7166 -22.9783 -0.1 + vertex 35.4626 -22.9668 -0.1 + endloop + endfacet + facet normal 0.156383 0.987697 -0 + outer loop + vertex 35.4626 -22.9668 -0.1 + vertex 35.2118 -22.9271 0 + vertex 35.4626 -22.9668 0 + endloop + endfacet + facet normal 0.156383 0.987697 0 + outer loop + vertex 35.2118 -22.9271 0 + vertex 35.4626 -22.9668 -0.1 + vertex 35.2118 -22.9271 -0.1 + endloop + endfacet + facet normal 0.299759 0.954015 -0 + outer loop + vertex 35.2118 -22.9271 -0.1 + vertex 34.9345 -22.8399 0 + vertex 35.2118 -22.9271 0 + endloop + endfacet + facet normal 0.299759 0.954015 0 + outer loop + vertex 34.9345 -22.8399 0 + vertex 35.2118 -22.9271 -0.1 + vertex 34.9345 -22.8399 -0.1 + endloop + endfacet + facet normal 0.486497 0.873682 -0 + outer loop + vertex 34.9345 -22.8399 -0.1 + vertex 34.8338 -22.7839 0 + vertex 34.9345 -22.8399 0 + endloop + endfacet + facet normal 0.486497 0.873682 0 + outer loop + vertex 34.8338 -22.7839 0 + vertex 34.9345 -22.8399 -0.1 + vertex 34.8338 -22.7839 -0.1 + endloop + endfacet + facet normal 0.653163 0.757217 -0 + outer loop + vertex 34.8338 -22.7839 -0.1 + vertex 34.7558 -22.7166 0 + vertex 34.8338 -22.7839 0 + endloop + endfacet + facet normal 0.653163 0.757217 0 + outer loop + vertex 34.7558 -22.7166 0 + vertex 34.8338 -22.7839 -0.1 + vertex 34.7558 -22.7166 -0.1 + endloop + endfacet + facet normal 0.815361 0.578952 0 + outer loop + vertex 34.7558 -22.7166 0 + vertex 34.6986 -22.636 -0.1 + vertex 34.6986 -22.636 0 + endloop + endfacet + facet normal 0.815361 0.578952 0 + outer loop + vertex 34.6986 -22.636 -0.1 + vertex 34.7558 -22.7166 0 + vertex 34.7558 -22.7166 -0.1 + endloop + endfacet + facet normal 0.928456 0.371442 0 + outer loop + vertex 34.6986 -22.636 0 + vertex 34.6602 -22.54 -0.1 + vertex 34.6602 -22.54 0 + endloop + endfacet + facet normal 0.928456 0.371442 0 + outer loop + vertex 34.6602 -22.54 -0.1 + vertex 34.6986 -22.636 0 + vertex 34.6986 -22.636 -0.1 + endloop + endfacet + facet normal 0.982392 0.186829 0 + outer loop + vertex 34.6602 -22.54 0 + vertex 34.6385 -22.4262 -0.1 + vertex 34.6385 -22.4262 0 + endloop + endfacet + facet normal 0.982392 0.186829 0 + outer loop + vertex 34.6385 -22.4262 -0.1 + vertex 34.6602 -22.54 0 + vertex 34.6602 -22.54 -0.1 + endloop + endfacet + facet normal 0.998716 0.050655 0 + outer loop + vertex 34.6385 -22.4262 0 + vertex 34.6318 -22.2927 -0.1 + vertex 34.6318 -22.2927 0 + endloop + endfacet + facet normal 0.998716 0.050655 0 + outer loop + vertex 34.6318 -22.2927 -0.1 + vertex 34.6385 -22.4262 0 + vertex 34.6385 -22.4262 -0.1 + endloop + endfacet + facet normal 0.995457 -0.0952108 0 + outer loop + vertex 34.6318 -22.2927 0 + vertex 34.653 -22.0706 -0.1 + vertex 34.653 -22.0706 0 + endloop + endfacet + facet normal 0.995457 -0.0952108 0 + outer loop + vertex 34.653 -22.0706 -0.1 + vertex 34.6318 -22.2927 0 + vertex 34.6318 -22.2927 -0.1 + endloop + endfacet + facet normal 0.963199 -0.268788 0 + outer loop + vertex 34.653 -22.0706 0 + vertex 34.713 -21.8554 -0.1 + vertex 34.713 -21.8554 0 + endloop + endfacet + facet normal 0.963199 -0.268788 0 + outer loop + vertex 34.713 -21.8554 -0.1 + vertex 34.653 -22.0706 0 + vertex 34.653 -22.0706 -0.1 + endloop + endfacet + facet normal 0.90719 -0.420722 0 + outer loop + vertex 34.713 -21.8554 0 + vertex 34.8063 -21.6543 -0.1 + vertex 34.8063 -21.6543 0 + endloop + endfacet + facet normal 0.90719 -0.420722 0 + outer loop + vertex 34.8063 -21.6543 -0.1 + vertex 34.713 -21.8554 0 + vertex 34.713 -21.8554 -0.1 + endloop + endfacet + facet normal 0.830216 -0.557442 0 + outer loop + vertex 34.8063 -21.6543 0 + vertex 34.9274 -21.474 -0.1 + vertex 34.9274 -21.474 0 + endloop + endfacet + facet normal 0.830216 -0.557442 0 + outer loop + vertex 34.9274 -21.474 -0.1 + vertex 34.8063 -21.6543 0 + vertex 34.8063 -21.6543 -0.1 + endloop + endfacet + facet normal 0.728585 -0.684956 0 + outer loop + vertex 34.9274 -21.474 0 + vertex 35.0706 -21.3217 -0.1 + vertex 35.0706 -21.3217 0 + endloop + endfacet + facet normal 0.728585 -0.684956 0 + outer loop + vertex 35.0706 -21.3217 -0.1 + vertex 34.9274 -21.474 0 + vertex 34.9274 -21.474 -0.1 + endloop + endfacet + facet normal 0.592071 -0.805886 0 + outer loop + vertex 35.0706 -21.3217 -0.1 + vertex 35.2304 -21.2043 0 + vertex 35.0706 -21.3217 0 + endloop + endfacet + facet normal 0.592071 -0.805886 0 + outer loop + vertex 35.2304 -21.2043 0 + vertex 35.0706 -21.3217 -0.1 + vertex 35.2304 -21.2043 -0.1 + endloop + endfacet + facet normal 0.404331 -0.914613 0 + outer loop + vertex 35.2304 -21.2043 -0.1 + vertex 35.4013 -21.1287 0 + vertex 35.2304 -21.2043 0 + endloop + endfacet + facet normal 0.404331 -0.914613 0 + outer loop + vertex 35.4013 -21.1287 0 + vertex 35.2304 -21.2043 -0.1 + vertex 35.4013 -21.1287 -0.1 + endloop + endfacet + facet normal 0.149785 -0.988719 0 + outer loop + vertex 35.4013 -21.1287 -0.1 + vertex 35.5778 -21.102 0 + vertex 35.4013 -21.1287 0 + endloop + endfacet + facet normal 0.149785 -0.988719 0 + outer loop + vertex 35.5778 -21.102 0 + vertex 35.4013 -21.1287 -0.1 + vertex 35.5778 -21.102 -0.1 + endloop + endfacet + facet normal 0.22645 -0.974023 0 + outer loop + vertex 35.5778 -21.102 -0.1 + vertex 35.9118 -21.0243 0 + vertex 35.5778 -21.102 0 + endloop + endfacet + facet normal 0.22645 -0.974023 0 + outer loop + vertex 35.9118 -21.0243 0 + vertex 35.5778 -21.102 -0.1 + vertex 35.9118 -21.0243 -0.1 + endloop + endfacet + facet normal 0.304725 -0.95244 0 + outer loop + vertex 35.9118 -21.0243 -0.1 + vertex 36.5724 -20.813 0 + vertex 35.9118 -21.0243 0 + endloop + endfacet + facet normal 0.304725 -0.95244 0 + outer loop + vertex 36.5724 -20.813 0 + vertex 35.9118 -21.0243 -0.1 + vertex 36.5724 -20.813 -0.1 + endloop + endfacet + facet normal 0.331013 -0.943626 0 + outer loop + vertex 36.5724 -20.813 -0.1 + vertex 37.4642 -20.5001 0 + vertex 36.5724 -20.813 0 + endloop + endfacet + facet normal 0.331013 -0.943626 0 + outer loop + vertex 37.4642 -20.5001 0 + vertex 36.5724 -20.813 -0.1 + vertex 37.4642 -20.5001 -0.1 + endloop + endfacet + facet normal 0.348531 -0.937297 0 + outer loop + vertex 37.4642 -20.5001 -0.1 + vertex 38.4916 -20.1181 0 + vertex 37.4642 -20.5001 0 + endloop + endfacet + facet normal 0.348531 -0.937297 0 + outer loop + vertex 38.4916 -20.1181 0 + vertex 37.4642 -20.5001 -0.1 + vertex 38.4916 -20.1181 -0.1 + endloop + endfacet + facet normal 0.345306 -0.93849 0 + outer loop + vertex 38.4916 -20.1181 -0.1 + vertex 39.5298 -19.7361 0 + vertex 38.4916 -20.1181 0 + endloop + endfacet + facet normal 0.345306 -0.93849 0 + outer loop + vertex 39.5298 -19.7361 0 + vertex 38.4916 -20.1181 -0.1 + vertex 39.5298 -19.7361 -0.1 + endloop + endfacet + facet normal 0.321461 -0.946923 0 + outer loop + vertex 39.5298 -19.7361 -0.1 + vertex 40.4513 -19.4233 0 + vertex 39.5298 -19.7361 0 + endloop + endfacet + facet normal 0.321461 -0.946923 0 + outer loop + vertex 40.4513 -19.4233 0 + vertex 39.5298 -19.7361 -0.1 + vertex 40.4513 -19.4233 -0.1 + endloop + endfacet + facet normal 0.28733 -0.957832 0 + outer loop + vertex 40.4513 -19.4233 -0.1 + vertex 41.156 -19.2119 0 + vertex 40.4513 -19.4233 0 + endloop + endfacet + facet normal 0.28733 -0.957832 0 + outer loop + vertex 41.156 -19.2119 0 + vertex 40.4513 -19.4233 -0.1 + vertex 41.156 -19.2119 -0.1 + endloop + endfacet + facet normal 0.23347 -0.972364 0 + outer loop + vertex 41.156 -19.2119 -0.1 + vertex 41.3957 -19.1543 0 + vertex 41.156 -19.2119 0 + endloop + endfacet + facet normal 0.23347 -0.972364 0 + outer loop + vertex 41.3957 -19.1543 0 + vertex 41.156 -19.2119 -0.1 + vertex 41.3957 -19.1543 -0.1 + endloop + endfacet + facet normal 0.13452 -0.990911 0 + outer loop + vertex 41.3957 -19.1543 -0.1 + vertex 41.5436 -19.1343 0 + vertex 41.3957 -19.1543 0 + endloop + endfacet + facet normal 0.13452 -0.990911 0 + outer loop + vertex 41.5436 -19.1343 0 + vertex 41.3957 -19.1543 -0.1 + vertex 41.5436 -19.1343 -0.1 + endloop + endfacet + facet normal -0.114485 -0.993425 0 + outer loop + vertex 41.5436 -19.1343 -0.1 + vertex 41.7426 -19.1572 0 + vertex 41.5436 -19.1343 0 + endloop + endfacet + facet normal -0.114485 -0.993425 -0 + outer loop + vertex 41.7426 -19.1572 0 + vertex 41.5436 -19.1343 -0.1 + vertex 41.7426 -19.1572 -0.1 + endloop + endfacet + facet normal -0.379137 -0.925341 0 + outer loop + vertex 41.7426 -19.1572 -0.1 + vertex 41.9051 -19.2238 0 + vertex 41.7426 -19.1572 0 + endloop + endfacet + facet normal -0.379137 -0.925341 -0 + outer loop + vertex 41.9051 -19.2238 0 + vertex 41.7426 -19.1572 -0.1 + vertex 41.9051 -19.2238 -0.1 + endloop + endfacet + facet normal -0.651079 -0.75901 0 + outer loop + vertex 41.9051 -19.2238 -0.1 + vertex 42.0297 -19.3306 0 + vertex 41.9051 -19.2238 0 + endloop + endfacet + facet normal -0.651079 -0.75901 -0 + outer loop + vertex 42.0297 -19.3306 0 + vertex 41.9051 -19.2238 -0.1 + vertex 42.0297 -19.3306 -0.1 + endloop + endfacet + facet normal -0.860116 -0.510098 0 + outer loop + vertex 42.1149 -19.4743 -0.1 + vertex 42.0297 -19.3306 0 + vertex 42.0297 -19.3306 -0.1 + endloop + endfacet + facet normal -0.860116 -0.510098 0 + outer loop + vertex 42.0297 -19.3306 0 + vertex 42.1149 -19.4743 -0.1 + vertex 42.1149 -19.4743 0 + endloop + endfacet + facet normal -0.969806 -0.243876 0 + outer loop + vertex 42.1595 -19.6516 -0.1 + vertex 42.1149 -19.4743 0 + vertex 42.1149 -19.4743 -0.1 + endloop + endfacet + facet normal -0.969806 -0.243876 0 + outer loop + vertex 42.1149 -19.4743 0 + vertex 42.1595 -19.6516 -0.1 + vertex 42.1595 -19.6516 0 + endloop + endfacet + facet normal -0.999925 -0.0122495 0 + outer loop + vertex 42.162 -19.859 -0.1 + vertex 42.1595 -19.6516 0 + vertex 42.1595 -19.6516 -0.1 + endloop + endfacet + facet normal -0.999925 -0.0122495 0 + outer loop + vertex 42.1595 -19.6516 0 + vertex 42.162 -19.859 -0.1 + vertex 42.162 -19.859 0 + endloop + endfacet + facet normal -0.985121 0.171861 0 + outer loop + vertex 42.1212 -20.0931 -0.1 + vertex 42.162 -19.859 0 + vertex 42.162 -19.859 -0.1 + endloop + endfacet + facet normal -0.985121 0.171861 0 + outer loop + vertex 42.162 -19.859 0 + vertex 42.1212 -20.0931 -0.1 + vertex 42.1212 -20.0931 0 + endloop + endfacet + facet normal -0.948956 0.315408 0 + outer loop + vertex 42.0356 -20.3507 -0.1 + vertex 42.1212 -20.0931 0 + vertex 42.1212 -20.0931 -0.1 + endloop + endfacet + facet normal -0.948956 0.315408 0 + outer loop + vertex 42.1212 -20.0931 0 + vertex 42.0356 -20.3507 -0.1 + vertex 42.0356 -20.3507 0 + endloop + endfacet + facet normal -0.935213 0.354086 0 + outer loop + vertex 41.9515 -20.5727 -0.1 + vertex 42.0356 -20.3507 0 + vertex 42.0356 -20.3507 -0.1 + endloop + endfacet + facet normal -0.935213 0.354086 0 + outer loop + vertex 42.0356 -20.3507 0 + vertex 41.9515 -20.5727 -0.1 + vertex 41.9515 -20.5727 0 + endloop + endfacet + facet normal -0.96654 0.256517 0 + outer loop + vertex 41.9099 -20.7296 -0.1 + vertex 41.9515 -20.5727 0 + vertex 41.9515 -20.5727 -0.1 + endloop + endfacet + facet normal -0.96654 0.256517 0 + outer loop + vertex 41.9515 -20.5727 0 + vertex 41.9099 -20.7296 -0.1 + vertex 41.9099 -20.7296 0 + endloop + endfacet + facet normal -0.996169 -0.0874488 0 + outer loop + vertex 41.9179 -20.8207 -0.1 + vertex 41.9099 -20.7296 0 + vertex 41.9099 -20.7296 -0.1 + endloop + endfacet + facet normal -0.996169 -0.0874488 0 + outer loop + vertex 41.9099 -20.7296 0 + vertex 41.9179 -20.8207 -0.1 + vertex 41.9179 -20.8207 0 + endloop + endfacet + facet normal -0.639023 -0.769188 0 + outer loop + vertex 41.9179 -20.8207 -0.1 + vertex 41.9427 -20.8413 0 + vertex 41.9179 -20.8207 0 + endloop + endfacet + facet normal -0.639023 -0.769188 -0 + outer loop + vertex 41.9427 -20.8413 0 + vertex 41.9179 -20.8207 -0.1 + vertex 41.9427 -20.8413 -0.1 + endloop + endfacet + facet normal -0.0984788 -0.995139 0 + outer loop + vertex 41.9427 -20.8413 -0.1 + vertex 41.9827 -20.8453 0 + vertex 41.9427 -20.8413 0 + endloop + endfacet + facet normal -0.0984788 -0.995139 -0 + outer loop + vertex 41.9827 -20.8453 0 + vertex 41.9427 -20.8413 -0.1 + vertex 41.9827 -20.8453 -0.1 + endloop + endfacet + facet normal 0.313279 -0.949661 0 + outer loop + vertex 41.9827 -20.8453 -0.1 + vertex 42.1116 -20.8028 0 + vertex 41.9827 -20.8453 0 + endloop + endfacet + facet normal 0.313279 -0.949661 0 + outer loop + vertex 42.1116 -20.8028 0 + vertex 41.9827 -20.8453 -0.1 + vertex 42.1116 -20.8028 -0.1 + endloop + endfacet + facet normal 0.482712 -0.875779 0 + outer loop + vertex 42.1116 -20.8028 -0.1 + vertex 42.3117 -20.6924 0 + vertex 42.1116 -20.8028 0 + endloop + endfacet + facet normal 0.482712 -0.875779 0 + outer loop + vertex 42.3117 -20.6924 0 + vertex 42.1116 -20.8028 -0.1 + vertex 42.3117 -20.6924 -0.1 + endloop + endfacet + facet normal 0.552983 -0.833193 0 + outer loop + vertex 42.3117 -20.6924 -0.1 + vertex 42.9547 -20.2657 0 + vertex 42.3117 -20.6924 0 + endloop + endfacet + facet normal 0.552983 -0.833193 0 + outer loop + vertex 42.9547 -20.2657 0 + vertex 42.3117 -20.6924 -0.1 + vertex 42.9547 -20.2657 -0.1 + endloop + endfacet + facet normal 0.550831 -0.834617 0 + outer loop + vertex 42.9547 -20.2657 -0.1 + vertex 43.4033 -19.9696 0 + vertex 42.9547 -20.2657 0 + endloop + endfacet + facet normal 0.550831 -0.834617 0 + outer loop + vertex 43.4033 -19.9696 0 + vertex 42.9547 -20.2657 -0.1 + vertex 43.4033 -19.9696 -0.1 + endloop + endfacet + facet normal 0.505722 -0.862696 0 + outer loop + vertex 43.4033 -19.9696 -0.1 + vertex 43.8201 -19.7253 0 + vertex 43.4033 -19.9696 0 + endloop + endfacet + facet normal 0.505722 -0.862696 0 + outer loop + vertex 43.8201 -19.7253 0 + vertex 43.4033 -19.9696 -0.1 + vertex 43.8201 -19.7253 -0.1 + endloop + endfacet + facet normal 0.444191 -0.895932 0 + outer loop + vertex 43.8201 -19.7253 -0.1 + vertex 44.2162 -19.5289 0 + vertex 43.8201 -19.7253 0 + endloop + endfacet + facet normal 0.444191 -0.895932 0 + outer loop + vertex 44.2162 -19.5289 0 + vertex 43.8201 -19.7253 -0.1 + vertex 44.2162 -19.5289 -0.1 + endloop + endfacet + facet normal 0.36641 -0.930454 0 + outer loop + vertex 44.2162 -19.5289 -0.1 + vertex 44.6026 -19.3768 0 + vertex 44.2162 -19.5289 0 + endloop + endfacet + facet normal 0.36641 -0.930454 0 + outer loop + vertex 44.6026 -19.3768 0 + vertex 44.2162 -19.5289 -0.1 + vertex 44.6026 -19.3768 -0.1 + endloop + endfacet + facet normal 0.276888 -0.960902 0 + outer loop + vertex 44.6026 -19.3768 -0.1 + vertex 44.9905 -19.265 0 + vertex 44.6026 -19.3768 0 + endloop + endfacet + facet normal 0.276888 -0.960902 0 + outer loop + vertex 44.9905 -19.265 0 + vertex 44.6026 -19.3768 -0.1 + vertex 44.9905 -19.265 -0.1 + endloop + endfacet + facet normal 0.184446 -0.982843 0 + outer loop + vertex 44.9905 -19.265 -0.1 + vertex 45.391 -19.1898 0 + vertex 44.9905 -19.265 0 + endloop + endfacet + facet normal 0.184446 -0.982843 0 + outer loop + vertex 45.391 -19.1898 0 + vertex 44.9905 -19.265 -0.1 + vertex 45.391 -19.1898 -0.1 + endloop + endfacet + facet normal 0.0992848 -0.995059 0 + outer loop + vertex 45.391 -19.1898 -0.1 + vertex 45.8151 -19.1475 0 + vertex 45.391 -19.1898 0 + endloop + endfacet + facet normal 0.0992848 -0.995059 0 + outer loop + vertex 45.8151 -19.1475 0 + vertex 45.391 -19.1898 -0.1 + vertex 45.8151 -19.1475 -0.1 + endloop + endfacet + facet normal 0.028896 -0.999582 0 + outer loop + vertex 45.8151 -19.1475 -0.1 + vertex 46.274 -19.1343 0 + vertex 45.8151 -19.1475 0 + endloop + endfacet + facet normal 0.028896 -0.999582 0 + outer loop + vertex 46.274 -19.1343 0 + vertex 45.8151 -19.1475 -0.1 + vertex 46.274 -19.1343 -0.1 + endloop + endfacet + facet normal -0.036999 -0.999315 0 + outer loop + vertex 46.274 -19.1343 -0.1 + vertex 46.8289 -19.1548 0 + vertex 46.274 -19.1343 0 + endloop + endfacet + facet normal -0.036999 -0.999315 -0 + outer loop + vertex 46.8289 -19.1548 0 + vertex 46.274 -19.1343 -0.1 + vertex 46.8289 -19.1548 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.1728 30.7024 -0.1 + vertex 12.3025 30.5214 -0.1 + vertex 12.291 30.606 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.1728 30.7024 -0.1 + vertex 12.291 30.606 -0.1 + vertex 12.2478 30.6663 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0661 30.7144 -0.1 + vertex 12.3025 30.5214 -0.1 + vertex 12.1728 30.7024 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3025 30.5214 -0.1 + vertex 12.0661 30.7144 -0.1 + vertex 12.2821 30.4122 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.9476 30.6899 -0.1 + vertex 12.2821 30.4122 -0.1 + vertex 12.0661 30.7144 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2821 30.4122 -0.1 + vertex 11.9476 30.6899 -0.1 + vertex 12.23 30.2784 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.7177 30.5077 -0.1 + vertex 12.23 30.2784 -0.1 + vertex 11.8311 30.6195 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.23 30.2784 -0.1 + vertex 11.9476 30.6899 -0.1 + vertex 11.8311 30.6195 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.6088 30.3591 -0.1 + vertex 12.23 30.2784 -0.1 + vertex 11.7177 30.5077 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.23 30.2784 -0.1 + vertex 11.6088 30.3591 -0.1 + vertex 12.0304 29.9363 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.5057 30.1782 -0.1 + vertex 12.0304 29.9363 -0.1 + vertex 11.6088 30.3591 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0304 29.9363 -0.1 + vertex 11.5057 30.1782 -0.1 + vertex 11.965 29.8184 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.965 29.8184 -0.1 + vertex 11.4096 29.9696 -0.1 + vertex 11.9082 29.6745 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.4096 29.9696 -0.1 + vertex 11.965 29.8184 -0.1 + vertex 11.5057 30.1782 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.6784 17.7808 -0.1 + vertex 26.0696 17.9605 -0.1 + vertex 26.0933 17.5963 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.2605 19.0904 -0.1 + vertex 26.0009 18.2942 -0.1 + vertex 26.0696 17.9605 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.5652 19.0574 -0.1 + vertex 26.1176 19.296 -0.1 + vertex 25.9541 19.4837 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.2605 19.0904 -0.1 + vertex 25.8914 18.5921 -0.1 + vertex 26.0009 18.2942 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.5652 19.0574 -0.1 + vertex 25.9541 19.4837 -0.1 + vertex 25.7697 19.6539 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.2605 19.0904 -0.1 + vertex 25.7448 18.8483 -0.1 + vertex 25.8914 18.5921 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.1176 19.296 -0.1 + vertex 25.5652 19.0574 -0.1 + vertex 25.7448 18.8483 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.3564 19.2137 -0.1 + vertex 25.7697 19.6539 -0.1 + vertex 25.5639 19.8069 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.7697 19.6539 -0.1 + vertex 25.3564 19.2137 -0.1 + vertex 25.5652 19.0574 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.1224 19.3115 -0.1 + vertex 25.5639 19.8069 -0.1 + vertex 25.3364 19.943 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.5639 19.8069 -0.1 + vertex 25.1224 19.3115 -0.1 + vertex 25.3564 19.2137 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.9972 19.3368 -0.1 + vertex 25.3364 19.943 -0.1 + vertex 25.087 20.0627 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.3364 19.943 -0.1 + vertex 24.9972 19.3368 -0.1 + vertex 25.1224 19.3115 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.087 20.0627 -0.1 + vertex 24.8672 19.3454 -0.1 + vertex 24.9972 19.3368 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.8151 20.1664 -0.1 + vertex 24.8672 19.3454 -0.1 + vertex 25.087 20.0627 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.8151 20.1664 -0.1 + vertex 24.6124 19.3722 -0.1 + vertex 24.8672 19.3454 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.5205 20.2543 -0.1 + vertex 24.6124 19.3722 -0.1 + vertex 24.8151 20.1664 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.5205 20.2543 -0.1 + vertex 24.2514 19.4451 -0.1 + vertex 24.6124 19.3722 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.2028 20.3268 -0.1 + vertex 24.2514 19.4451 -0.1 + vertex 24.5205 20.2543 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.8321 19.5531 -0.1 + vertex 24.2028 20.3268 -0.1 + vertex 23.8617 20.3844 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.2028 20.3268 -0.1 + vertex 23.8321 19.5531 -0.1 + vertex 24.2514 19.4451 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.4027 19.6849 -0.1 + vertex 23.8617 20.3844 -0.1 + vertex 23.4814 20.4643 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.8617 20.3844 -0.1 + vertex 23.4027 19.6849 -0.1 + vertex 23.8321 19.5531 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.9977 19.8472 -0.1 + vertex 23.4814 20.4643 -0.1 + vertex 23.1504 20.59 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.4814 20.4643 -0.1 + vertex 22.9977 19.8472 -0.1 + vertex 23.4027 19.6849 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.6486 20.047 -0.1 + vertex 23.1504 20.59 -0.1 + vertex 22.8668 20.7638 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.3515 20.2895 -0.1 + vertex 22.8668 20.7638 -0.1 + vertex 22.7421 20.8693 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.1504 20.59 -0.1 + vertex 22.6486 20.047 -0.1 + vertex 22.9977 19.8472 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.2213 20.4283 -0.1 + vertex 22.7421 20.8693 -0.1 + vertex 22.6286 20.9877 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.8989 20.9229 -0.1 + vertex 22.6286 20.9877 -0.1 + vertex 22.4341 21.2638 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.8668 20.7638 -0.1 + vertex 22.3515 20.2895 -0.1 + vertex 22.6486 20.047 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 21.7362 21.3239 -0.1 + vertex 22.4341 21.2638 -0.1 + vertex 22.2815 21.5943 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.7421 20.8693 -0.1 + vertex 22.2213 20.4283 -0.1 + vertex 22.3515 20.2895 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 21.6111 21.7881 -0.1 + vertex 22.2815 21.5943 -0.1 + vertex 22.1689 21.9813 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.6286 20.9877 -0.1 + vertex 22.1028 20.5797 -0.1 + vertex 22.2213 20.4283 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 21.5197 22.3204 -0.1 + vertex 22.1689 21.9813 -0.1 + vertex 22.0944 22.427 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 21.4205 22.8275 -0.1 + vertex 22.0944 22.427 -0.1 + vertex 21.9928 23.1034 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.3493 23.064 -0.1 + vertex 21.9928 23.1034 -0.1 + vertex 21.926 23.397 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.6286 20.9877 -0.1 + vertex 21.8989 20.9229 -0.1 + vertex 22.1028 20.5797 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.2635 23.2891 -0.1 + vertex 21.926 23.397 -0.1 + vertex 21.8437 23.6658 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.1632 23.503 -0.1 + vertex 21.8437 23.6658 -0.1 + vertex 21.7423 23.9135 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.4341 21.2638 -0.1 + vertex 21.7362 21.3239 -0.1 + vertex 21.8989 20.9229 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0482 23.7058 -0.1 + vertex 21.7423 23.9135 -0.1 + vertex 21.6182 24.144 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.2815 21.5943 -0.1 + vertex 21.6111 21.7881 -0.1 + vertex 21.7362 21.3239 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.1689 21.9813 -0.1 + vertex 21.5197 22.3204 -0.1 + vertex 21.6111 21.7881 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9184 23.8976 -0.1 + vertex 21.6182 24.144 -0.1 + vertex 21.4677 24.3609 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.0944 22.427 -0.1 + vertex 21.4205 22.8275 -0.1 + vertex 21.5197 22.3204 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.9928 23.1034 -0.1 + vertex 21.3493 23.064 -0.1 + vertex 21.4205 22.8275 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.7738 24.0784 -0.1 + vertex 21.4677 24.3609 -0.1 + vertex 21.2873 24.568 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.926 23.397 -0.1 + vertex 21.2635 23.2891 -0.1 + vertex 21.3493 23.064 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.8437 23.6658 -0.1 + vertex 21.1632 23.503 -0.1 + vertex 21.2635 23.2891 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.6143 24.2484 -0.1 + vertex 21.2873 24.568 -0.1 + vertex 21.0733 24.7691 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.7423 23.9135 -0.1 + vertex 21.0482 23.7058 -0.1 + vertex 21.1632 23.503 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.6182 24.144 -0.1 + vertex 20.9184 23.8976 -0.1 + vertex 21.0482 23.7058 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.4398 24.4076 -0.1 + vertex 21.0733 24.7691 -0.1 + vertex 20.8221 24.9679 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.4677 24.3609 -0.1 + vertex 20.7738 24.0784 -0.1 + vertex 20.9184 23.8976 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.2873 24.568 -0.1 + vertex 20.6143 24.2484 -0.1 + vertex 20.7738 24.0784 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2502 24.5562 -0.1 + vertex 20.8221 24.9679 -0.1 + vertex 20.53 25.168 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0733 24.7691 -0.1 + vertex 20.4398 24.4076 -0.1 + vertex 20.6143 24.2484 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.8221 24.9679 -0.1 + vertex 20.2502 24.5562 -0.1 + vertex 20.4398 24.4076 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0455 24.6942 -0.1 + vertex 20.53 25.168 -0.1 + vertex 20.1936 25.3734 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.53 25.168 -0.1 + vertex 20.0455 24.6942 -0.1 + vertex 20.2502 24.5562 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.1936 25.3734 -0.1 + vertex 19.5904 24.9388 -0.1 + vertex 20.0455 24.6942 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3729 25.8147 -0.1 + vertex 19.5904 24.9388 -0.1 + vertex 20.1936 25.3734 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3729 25.8147 -0.1 + vertex 19.0737 25.1422 -0.1 + vertex 19.5904 24.9388 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3729 25.8147 -0.1 + vertex 18.5685 25.3244 -0.1 + vertex 19.0737 25.1422 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.3311 26.3216 -0.1 + vertex 18.5685 25.3244 -0.1 + vertex 19.3729 25.8147 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.3311 26.3216 -0.1 + vertex 18.1033 25.5216 -0.1 + vertex 18.5685 25.3244 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.3311 26.3216 -0.1 + vertex 17.6707 25.7385 -0.1 + vertex 18.1033 25.5216 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6504 26.6607 -0.1 + vertex 17.6707 25.7385 -0.1 + vertex 18.3311 26.3216 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6504 26.6607 -0.1 + vertex 17.2631 25.98 -0.1 + vertex 17.6707 25.7385 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.873 26.2508 -0.1 + vertex 17.6504 26.6607 -0.1 + vertex 17.0889 26.9817 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6504 26.6607 -0.1 + vertex 16.873 26.2508 -0.1 + vertex 17.2631 25.98 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.4932 26.5558 -0.1 + vertex 17.0889 26.9817 -0.1 + vertex 16.6359 27.2959 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.0889 26.9817 -0.1 + vertex 16.4932 26.5558 -0.1 + vertex 16.873 26.2508 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.116 26.8997 -0.1 + vertex 16.6359 27.2959 -0.1 + vertex 16.4467 27.454 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.116 26.8997 -0.1 + vertex 16.4467 27.454 -0.1 + vertex 16.2806 27.6146 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.734 27.2872 -0.1 + vertex 16.2806 27.6146 -0.1 + vertex 16.1362 27.7792 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.6359 27.2959 -0.1 + vertex 16.116 26.8997 -0.1 + vertex 16.4932 26.5558 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.734 27.2872 -0.1 + vertex 16.1362 27.7792 -0.1 + vertex 16.0121 27.9491 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.344 27.7317 -0.1 + vertex 16.0121 27.9491 -0.1 + vertex 15.9071 28.1258 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2193 27.9155 -0.1 + vertex 15.9071 28.1258 -0.1 + vertex 15.8197 28.3106 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1337 28.0941 -0.1 + vertex 15.8197 28.3106 -0.1 + vertex 15.7487 28.5051 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.2806 27.6146 -0.1 + vertex 15.734 27.2872 -0.1 + vertex 16.116 26.8997 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0574 28.4965 -0.1 + vertex 15.7487 28.5051 -0.1 + vertex 15.6927 28.7106 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.0552 28.7509 -0.1 + vertex 15.6927 28.7106 -0.1 + vertex 15.6202 29.1601 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.1102 29.496 -0.1 + vertex 15.6202 29.1601 -0.1 + vertex 15.5622 29.5773 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.1701 29.8123 -0.1 + vertex 15.5622 29.5773 -0.1 + vertex 15.49 29.8698 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.2437 30.0088 -0.1 + vertex 15.49 29.8698 -0.1 + vertex 15.4091 30.0386 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.2838 30.0618 -0.1 + vertex 15.4091 30.0386 -0.1 + vertex 15.3672 30.0768 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6202 29.1601 -0.1 + vertex 15.0694 29.0611 -0.1 + vertex 15.0552 28.7509 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2838 30.0618 -0.1 + vertex 15.3672 30.0768 -0.1 + vertex 15.3252 30.0845 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.4091 30.0386 -0.1 + vertex 15.2838 30.0618 -0.1 + vertex 15.2437 30.0088 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.49 29.8698 -0.1 + vertex 15.2437 30.0088 -0.1 + vertex 15.1701 29.8123 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6927 28.7106 -0.1 + vertex 15.0552 28.7509 -0.1 + vertex 15.0574 28.4965 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.5622 29.5773 -0.1 + vertex 15.1701 29.8123 -0.1 + vertex 15.1102 29.496 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6202 29.1601 -0.1 + vertex 15.1102 29.496 -0.1 + vertex 15.0694 29.0611 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.0121 27.9491 -0.1 + vertex 15.344 27.7317 -0.1 + vertex 15.734 27.2872 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.7487 28.5051 -0.1 + vertex 15.0574 28.4965 -0.1 + vertex 15.0817 28.2827 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.9071 28.1258 -0.1 + vertex 15.2193 27.9155 -0.1 + vertex 15.344 27.7317 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.7487 28.5051 -0.1 + vertex 15.0817 28.2827 -0.1 + vertex 15.1337 28.0941 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.8197 28.3106 -0.1 + vertex 15.1337 28.0941 -0.1 + vertex 15.2193 27.9155 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.6024 10.7775 -0.1 + vertex 21.7259 8.22365 -0.1 + vertex 27.5775 10.2019 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 23.6083 4.95794 -0.1 + vertex 27.0158 7.30485 -0.1 + vertex 23.5351 5.37146 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 22.0631 7.89267 -0.1 + vertex 27.5775 10.2019 -0.1 + vertex 21.7259 8.22365 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.5397 9.70386 -0.1 + vertex 22.0631 7.89267 -0.1 + vertex 27.4871 9.26334 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 23.6192 4.7586 -0.1 + vertex 27.0158 7.30485 -0.1 + vertex 23.6083 4.95794 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.0158 7.30485 -0.1 + vertex 23.6192 4.7586 -0.1 + vertex 24.9074 2.59483 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 22.3621 7.54907 -0.1 + vertex 27.4871 9.26334 -0.1 + vertex 22.0631 7.89267 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.6129 4.5634 -0.1 + vertex 24.9074 2.59483 -0.1 + vertex 23.6192 4.7586 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.5494 4.18291 -0.1 + vertex 24.9074 2.59483 -0.1 + vertex 23.5897 4.3717 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4176 8.86037 -0.1 + vertex 22.3621 7.54907 -0.1 + vertex 27.3295 8.47496 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.4183 3.81156 -0.1 + vertex 24.9074 2.59483 -0.1 + vertex 23.5494 4.18291 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.22 3.44442 -0.1 + vertex 24.764 2.4559 -0.1 + vertex 23.4183 3.81156 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.9074 2.59483 -0.1 + vertex 23.4183 3.81156 -0.1 + vertex 24.764 2.4559 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.5897 4.3717 -0.1 + vertex 24.9074 2.59483 -0.1 + vertex 23.6129 4.5634 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.0158 7.30485 -0.1 + vertex 23.3929 5.8089 -0.1 + vertex 23.5351 5.37146 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3295 8.47496 -0.1 + vertex 22.3621 7.54907 -0.1 + vertex 27.2208 8.08714 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.0158 7.30485 -0.1 + vertex 23.1811 6.27516 -0.1 + vertex 23.3929 5.8089 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.0158 7.30485 -0.1 + vertex 22.8992 6.77518 -0.1 + vertex 23.1811 6.27516 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.1048 7.68143 -0.1 + vertex 22.8992 6.77518 -0.1 + vertex 27.0158 7.30485 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 22.8992 6.77518 -0.1 + vertex 27.1048 7.68143 -0.1 + vertex 22.6364 7.18064 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4871 9.26334 -0.1 + vertex 22.3621 7.54907 -0.1 + vertex 27.4176 8.86037 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2208 8.08714 -0.1 + vertex 22.6364 7.18064 -0.1 + vertex 27.1048 7.68143 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 22.6364 7.18064 -0.1 + vertex 27.2208 8.08714 -0.1 + vertex 22.3621 7.54907 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.3371 8.55423 -0.1 + vertex 22.2336 15.278 -0.1 + vertex 21.6737 15.039 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.5775 10.2019 -0.1 + vertex 22.0631 7.89267 -0.1 + vertex 27.5397 9.70386 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.8834 8.89663 -0.1 + vertex 21.6737 15.039 -0.1 + vertex 21.1771 14.8489 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.6737 15.039 -0.1 + vertex 20.8834 8.89663 -0.1 + vertex 21.3371 8.55423 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3513 9.26304 -0.1 + vertex 21.1771 14.8489 -0.1 + vertex 20.8452 14.735 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7274 9.66569 -0.1 + vertex 20.8452 14.735 -0.1 + vertex 20.5722 14.6577 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.1771 14.8489 -0.1 + vertex 20.3513 9.26304 -0.1 + vertex 20.8834 8.89663 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4723 9.81661 -0.1 + vertex 20.5722 14.6577 -0.1 + vertex 20.327 14.6203 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.2206 9.94402 -0.1 + vertex 20.327 14.6203 -0.1 + vertex 20.0785 14.6265 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.6964 10.137 -0.1 + vertex 20.0785 14.6265 -0.1 + vertex 19.7955 14.6797 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.8452 14.735 -0.1 + vertex 19.7274 9.66569 -0.1 + vertex 20.3513 9.26304 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.5722 14.6577 -0.1 + vertex 19.4723 9.81661 -0.1 + vertex 19.7274 9.66569 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4085 10.2069 -0.1 + vertex 19.7955 14.6797 -0.1 + vertex 19.4469 14.7833 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.327 14.6203 -0.1 + vertex 19.2206 9.94402 -0.1 + vertex 19.4723 9.81661 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0785 14.6265 -0.1 + vertex 18.9645 10.0501 -0.1 + vertex 19.2206 9.94402 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0785 14.6265 -0.1 + vertex 18.6964 10.137 -0.1 + vertex 18.9645 10.0501 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.093 10.2619 -0.1 + vertex 19.4469 14.7833 -0.1 + vertex 18.4281 15.1559 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7955 14.6797 -0.1 + vertex 18.4085 10.2069 -0.1 + vertex 18.6964 10.137 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4469 14.7833 -0.1 + vertex 18.093 10.2619 -0.1 + vertex 18.4085 10.2069 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.499 10.3797 -0.1 + vertex 18.4281 15.1559 -0.1 + vertex 17.448 15.5385 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4281 15.1559 -0.1 + vertex 17.3487 10.3363 -0.1 + vertex 18.093 10.2619 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.2187 10.3704 -0.1 + vertex 17.448 15.5385 -0.1 + vertex 16.6072 15.8977 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4281 15.1559 -0.1 + vertex 16.499 10.3797 -0.1 + vertex 17.3487 10.3363 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.448 15.5385 -0.1 + vertex 16.2187 10.3704 -0.1 + vertex 16.499 10.3797 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.6072 15.8977 -0.1 + vertex 16.005 10.3315 -0.1 + vertex 16.2187 10.3704 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.8738 16.2527 -0.1 + vertex 16.005 10.3315 -0.1 + vertex 16.6072 15.8977 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.8738 16.2527 -0.1 + vertex 15.8355 10.2563 -0.1 + vertex 16.005 10.3315 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2162 16.623 -0.1 + vertex 15.8355 10.2563 -0.1 + vertex 15.8738 16.2527 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.8355 10.2563 -0.1 + vertex 15.2162 16.623 -0.1 + vertex 15.6879 10.1383 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.4375 16.5104 -0.1 + vertex 15.6879 10.1383 -0.1 + vertex 15.2162 16.623 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6879 10.1383 -0.1 + vertex 10.4375 16.5104 -0.1 + vertex 15.5399 9.97068 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.5399 9.97068 -0.1 + vertex 10.4375 16.5104 -0.1 + vertex 15.369 9.74689 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 9.73318 16.1788 -0.1 + vertex 15.369 9.74689 -0.1 + vertex 10.4375 16.5104 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.369 9.74689 -0.1 + vertex 9.73318 16.1788 -0.1 + vertex 15.213 9.52982 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.213 9.52982 -0.1 + vertex 9.73318 16.1788 -0.1 + vertex 15.0942 9.33737 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 9.19116 15.9452 -0.1 + vertex 15.0942 9.33737 -0.1 + vertex 9.73318 16.1788 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 8.99158 15.8746 -0.1 + vertex 15.0942 9.33737 -0.1 + vertex 9.19116 15.9452 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.4375 16.5104 -0.1 + vertex 15.2162 16.623 -0.1 + vertex 14.6028 17.0277 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 24.4388 2.25734 -0.1 + vertex 24.764 2.4559 -0.1 + vertex 23.22 3.44442 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.764 2.4559 -0.1 + vertex 24.4388 2.25734 -0.1 + vertex 24.6285 2.34829 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.4388 2.25734 -0.1 + vertex 23.22 3.44442 -0.1 + vertex 24.2201 2.19262 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.2201 2.19262 -0.1 + vertex 23.22 3.44442 -0.1 + vertex 23.9975 2.16372 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.9975 2.16372 -0.1 + vertex 23.22 3.44442 -0.1 + vertex 23.7673 2.14309 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.0427 3.12896 -0.1 + vertex 23.7673 2.14309 -0.1 + vertex 23.22 3.44442 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.7673 2.14309 -0.1 + vertex 23.0427 3.12896 -0.1 + vertex 23.5277 2.10089 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.9115 2.82433 -0.1 + vertex 23.5277 2.10089 -0.1 + vertex 23.0427 3.12896 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.827 2.54396 -0.1 + vertex 23.5277 2.10089 -0.1 + vertex 22.9115 2.82433 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.5277 2.10089 -0.1 + vertex 22.827 2.54396 -0.1 + vertex 23.3072 2.04326 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.7901 2.30129 -0.1 + vertex 23.3072 2.04326 -0.1 + vertex 22.827 2.54396 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.3072 2.04326 -0.1 + vertex 22.7901 2.30129 -0.1 + vertex 23.0469 1.94283 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 22.8016 2.10976 -0.1 + vertex 23.0469 1.94283 -0.1 + vertex 22.7901 2.30129 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 22.8257 2.03737 -0.1 + vertex 23.0469 1.94283 -0.1 + vertex 22.8016 2.10976 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0469 1.94283 -0.1 + vertex 22.8257 2.03737 -0.1 + vertex 22.9727 1.93385 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 22.8622 1.9828 -0.1 + vertex 22.9727 1.93385 -0.1 + vertex 22.8257 2.03737 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.9727 1.93385 -0.1 + vertex 22.8622 1.9828 -0.1 + vertex 22.9112 1.94773 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4227 15.3534 -0.1 + vertex 24.3498 16.3417 -0.1 + vertex 27.4995 15.0808 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3198 15.5987 -0.1 + vertex 24.3498 16.3417 -0.1 + vertex 27.4227 15.3534 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4995 15.0808 -0.1 + vertex 24.3498 16.3417 -0.1 + vertex 27.5539 14.7505 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.3498 16.3417 -0.1 + vertex 27.3198 15.5987 -0.1 + vertex 24.659 16.5397 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.5539 14.7505 -0.1 + vertex 24.3498 16.3417 -0.1 + vertex 27.5896 14.3319 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.1872 15.8473 -0.1 + vertex 24.659 16.5397 -0.1 + vertex 27.3198 15.5987 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.9148 16.0975 -0.1 + vertex 27.5896 14.3319 -0.1 + vertex 24.3498 16.3417 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.659 16.5397 -0.1 + vertex 25.8187 16.7495 -0.1 + vertex 24.7548 16.6154 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.5896 14.3319 -0.1 + vertex 23.9148 16.0975 -0.1 + vertex 27.6103 13.7945 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.3919 15.8262 -0.1 + vertex 27.6103 13.7945 -0.1 + vertex 23.9148 16.0975 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.7548 16.6154 -0.1 + vertex 25.8187 16.7495 -0.1 + vertex 24.8049 16.6725 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.6103 13.7945 -0.1 + vertex 23.3919 15.8262 -0.1 + vertex 27.6211 12.2412 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.659 16.5397 -0.1 + vertex 27.1872 15.8473 -0.1 + vertex 25.8187 16.7495 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.2336 15.278 -0.1 + vertex 27.6211 12.2412 -0.1 + vertex 23.3919 15.8262 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.3371 8.55423 -0.1 + vertex 27.6211 12.2412 -0.1 + vertex 22.2336 15.278 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.8659 16.7424 -0.1 + vertex 27.1872 15.8473 -0.1 + vertex 27.0139 16.2113 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.6211 12.2412 -0.1 + vertex 21.3371 8.55423 -0.1 + vertex 27.6024 10.7775 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 21.7259 8.22365 -0.1 + vertex 27.6024 10.7775 -0.1 + vertex 21.3371 8.55423 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.0158 7.30485 -0.1 + vertex 24.9074 2.59483 -0.1 + vertex 26.9517 6.92758 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.1872 15.8473 -0.1 + vertex 25.8659 16.7424 -0.1 + vertex 25.8187 16.7495 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.8659 16.7424 -0.1 + vertex 27.0139 16.2113 -0.1 + vertex 26.8653 16.6367 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.8138 2.23679 -0.1 + vertex 26.9647 2.16551 -0.1 + vertex 26.9615 2.94949 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.4766 2.59351 -0.1 + vertex 26.9615 2.94949 -0.1 + vertex 26.9294 3.98634 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9647 2.16551 -0.1 + vertex 25.8138 2.23679 -0.1 + vertex 26.0094 1.96397 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.185 2.7087 -0.1 + vertex 26.9294 3.98634 -0.1 + vertex 26.8871 5.49316 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 26.3175 1.53367 -0.1 + vertex 26.9647 2.16551 -0.1 + vertex 26.0094 1.96397 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9517 6.92758 -0.1 + vertex 24.9074 2.59483 -0.1 + vertex 26.9103 6.51977 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9615 2.94949 -0.1 + vertex 25.6376 2.44612 -0.1 + vertex 25.8138 2.23679 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.9855 16.8461 -0.1 + vertex 26.8653 16.6367 -0.1 + vertex 26.7571 17.0706 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 26.4455 1.37999 -0.1 + vertex 26.9324 1.61996 -0.1 + vertex 26.3175 1.53367 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.0803 17.2678 -0.1 + vertex 26.7571 17.0706 -0.1 + vertex 26.7051 17.4601 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.0933 17.5963 -0.1 + vertex 26.7051 17.4601 -0.1 + vertex 26.6784 17.7808 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.8653 16.6367 -0.1 + vertex 25.9855 16.8461 -0.1 + vertex 25.9096 16.7563 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.0696 17.9605 -0.1 + vertex 26.6784 17.7808 -0.1 + vertex 26.6332 18.0815 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0696 17.9605 -0.1 + vertex 26.6332 18.0815 -0.1 + vertex 26.5691 18.3624 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7571 17.0706 -0.1 + vertex 26.0434 17.0172 -0.1 + vertex 25.9855 16.8461 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0696 17.9605 -0.1 + vertex 26.5691 18.3624 -0.1 + vertex 26.4859 18.624 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9324 1.61996 -0.1 + vertex 26.4455 1.37999 -0.1 + vertex 26.901 1.43209 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0696 17.9605 -0.1 + vertex 26.4859 18.624 -0.1 + vertex 26.3832 18.8665 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 26.5572 1.2697 -0.1 + vertex 26.901 1.43209 -0.1 + vertex 26.4455 1.37999 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0696 17.9605 -0.1 + vertex 26.3832 18.8665 -0.1 + vertex 26.2605 19.0904 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.7448 18.8483 -0.1 + vertex 26.2605 19.0904 -0.1 + vertex 26.1176 19.296 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7051 17.4601 -0.1 + vertex 26.0933 17.5963 -0.1 + vertex 26.0803 17.2678 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7571 17.0706 -0.1 + vertex 26.0803 17.2678 -0.1 + vertex 26.0434 17.0172 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 26.6535 1.20459 -0.1 + vertex 26.8581 1.29842 -0.1 + vertex 26.5572 1.2697 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.8581 1.29842 -0.1 + vertex 26.6535 1.20459 -0.1 + vertex 26.8032 1.21715 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.8032 1.21715 -0.1 + vertex 26.6535 1.20459 -0.1 + vertex 26.7352 1.18648 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.8659 16.7424 -0.1 + vertex 26.8653 16.6367 -0.1 + vertex 25.9096 16.7563 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9103 6.51977 -0.1 + vertex 24.9074 2.59483 -0.1 + vertex 26.8894 6.05157 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.7157 16.8274 -0.1 + vertex 24.8049 16.6725 -0.1 + vertex 25.8187 16.7495 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.901 1.43209 -0.1 + vertex 26.5572 1.2697 -0.1 + vertex 26.8581 1.29842 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.8049 16.6725 -0.1 + vertex 25.7157 16.8274 -0.1 + vertex 24.8294 16.7672 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9647 2.16551 -0.1 + vertex 26.3175 1.53367 -0.1 + vertex 26.9324 1.61996 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.8294 16.7672 -0.1 + vertex 25.7157 16.8274 -0.1 + vertex 25.6037 16.9917 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.8232 16.8925 -0.1 + vertex 25.6037 16.9917 -0.1 + vertex 25.4856 17.2443 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9615 2.94949 -0.1 + vertex 25.4766 2.59351 -0.1 + vertex 25.6376 2.44612 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.789 17.0321 -0.1 + vertex 25.4856 17.2443 -0.1 + vertex 25.3467 17.5167 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 25.0464 2.67962 -0.1 + vertex 26.8894 6.05157 -0.1 + vertex 24.9074 2.59483 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.7291 17.1695 -0.1 + vertex 25.3467 17.5167 -0.1 + vertex 25.2614 17.6336 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9294 3.98634 -0.1 + vertex 25.3271 2.68052 -0.1 + vertex 25.4766 2.59351 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6602 17.253 -0.1 + vertex 25.2614 17.6336 -0.1 + vertex 25.163 17.7384 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6602 17.253 -0.1 + vertex 25.163 17.7384 -0.1 + vertex 25.0501 17.8316 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9294 3.98634 -0.1 + vertex 25.185 2.7087 -0.1 + vertex 25.3271 2.68052 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6602 17.253 -0.1 + vertex 25.0501 17.8316 -0.1 + vertex 24.9207 17.9138 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.8871 5.49316 -0.1 + vertex 25.0464 2.67962 -0.1 + vertex 25.185 2.7087 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.8894 6.05157 -0.1 + vertex 25.0464 2.67962 -0.1 + vertex 26.8871 5.49316 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.6037 16.9917 -0.1 + vertex 24.8232 16.8925 -0.1 + vertex 24.8294 16.7672 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.4856 17.2443 -0.1 + vertex 24.789 17.0321 -0.1 + vertex 24.8232 16.8925 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.3467 17.5167 -0.1 + vertex 24.7291 17.1695 -0.1 + vertex 24.789 17.0321 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.2614 17.6336 -0.1 + vertex 24.6602 17.253 -0.1 + vertex 24.7291 17.1695 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.5483 17.3222 -0.1 + vertex 24.9207 17.9138 -0.1 + vertex 24.6059 18.0475 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.9207 17.9138 -0.1 + vertex 24.5483 17.3222 -0.1 + vertex 24.6602 17.253 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6059 18.0475 -0.1 + vertex 24.386 17.3783 -0.1 + vertex 24.5483 17.3222 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.166 17.4223 -0.1 + vertex 24.6059 18.0475 -0.1 + vertex 24.2049 18.1437 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6059 18.0475 -0.1 + vertex 24.166 17.4223 -0.1 + vertex 24.386 17.3783 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.7039 18.207 -0.1 + vertex 24.166 17.4223 -0.1 + vertex 24.2049 18.1437 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.7039 18.207 -0.1 + vertex 23.5226 17.4791 -0.1 + vertex 24.166 17.4223 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0891 18.2417 -0.1 + vertex 23.5226 17.4791 -0.1 + vertex 23.7039 18.207 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0891 18.2417 -0.1 + vertex 22.5588 17.5015 -0.1 + vertex 23.5226 17.4791 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.3468 18.2522 -0.1 + vertex 22.5588 17.5015 -0.1 + vertex 23.0891 18.2417 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.5679 18.2611 -0.1 + vertex 22.5588 17.5015 -0.1 + vertex 22.3468 18.2522 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.5679 18.2611 -0.1 + vertex 21.0506 17.5236 -0.1 + vertex 22.5588 17.5015 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9709 18.304 -0.1 + vertex 21.0506 17.5236 -0.1 + vertex 21.5679 18.2611 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.7319 18.3459 -0.1 + vertex 21.0506 17.5236 -0.1 + vertex 20.9709 18.304 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2276 17.5562 -0.1 + vertex 20.7319 18.3459 -0.1 + vertex 20.5281 18.4055 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0333 17.6179 -0.1 + vertex 20.5281 18.4055 -0.1 + vertex 20.3561 18.486 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.7319 18.3459 -0.1 + vertex 20.2276 17.5562 -0.1 + vertex 21.0506 17.5236 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6934 17.9694 -0.1 + vertex 20.3561 18.486 -0.1 + vertex 20.2124 18.5903 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.5281 18.4055 -0.1 + vertex 20.1284 17.5777 -0.1 + vertex 20.2276 17.5562 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5469 18.2611 -0.1 + vertex 20.2124 18.5903 -0.1 + vertex 20.0935 18.7216 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.5281 18.4055 -0.1 + vertex 20.0333 17.6179 -0.1 + vertex 20.1284 17.5777 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4153 18.6317 -0.1 + vertex 20.0935 18.7216 -0.1 + vertex 19.9962 18.8829 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3561 18.486 -0.1 + vertex 19.9424 17.6771 -0.1 + vertex 20.0333 17.6179 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4153 18.6317 -0.1 + vertex 19.9962 18.8829 -0.1 + vertex 19.9169 19.0772 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3561 18.486 -0.1 + vertex 19.8554 17.7553 -0.1 + vertex 19.9424 17.6771 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.2984 19.082 -0.1 + vertex 19.9169 19.0772 -0.1 + vertex 19.8522 19.3078 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.1956 19.6132 -0.1 + vertex 19.8522 19.3078 -0.1 + vertex 19.753 19.8896 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3561 18.486 -0.1 + vertex 19.6934 17.9694 -0.1 + vertex 19.8554 17.7553 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.1065 20.2262 -0.1 + vertex 19.753 19.8896 -0.1 + vertex 19.6713 20.6529 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.0081 20.8787 -0.1 + vertex 19.6713 20.6529 -0.1 + vertex 19.58 21.4118 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0935 18.7216 -0.1 + vertex 19.4153 18.6317 -0.1 + vertex 19.5469 18.2611 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 18.892 21.4494 -0.1 + vertex 19.58 21.4118 -0.1 + vertex 19.5238 21.6908 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.892 21.4494 -0.1 + vertex 19.5238 21.6908 -0.1 + vertex 19.4538 21.9215 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2124 18.5903 -0.1 + vertex 19.5469 18.2611 -0.1 + vertex 19.6934 17.9694 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.7726 21.8767 -0.1 + vertex 19.4538 21.9215 -0.1 + vertex 19.3646 22.1178 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.9169 19.0772 -0.1 + vertex 19.2984 19.082 -0.1 + vertex 19.4153 18.6317 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.7726 21.8767 -0.1 + vertex 19.3646 22.1178 -0.1 + vertex 19.2511 22.2936 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.8522 19.3078 -0.1 + vertex 19.1956 19.6132 -0.1 + vertex 19.2984 19.082 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.7163 22.0174 -0.1 + vertex 19.2511 22.2936 -0.1 + vertex 19.108 22.463 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.753 19.8896 -0.1 + vertex 19.1065 20.2262 -0.1 + vertex 19.1956 19.6132 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6713 20.6529 -0.1 + vertex 19.0081 20.8787 -0.1 + vertex 19.1065 20.2262 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.6646 22.0992 -0.1 + vertex 19.108 22.463 -0.1 + vertex 18.9302 22.6398 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.58 21.4118 -0.1 + vertex 18.892 21.4494 -0.1 + vertex 19.0081 20.8787 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4538 21.9215 -0.1 + vertex 18.7726 21.8767 -0.1 + vertex 18.892 21.4494 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.2511 22.2936 -0.1 + vertex 18.7163 22.0174 -0.1 + vertex 18.7726 21.8767 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.108 22.463 -0.1 + vertex 18.6646 22.0992 -0.1 + vertex 18.7163 22.0174 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4732 22.2317 -0.1 + vertex 18.9302 22.6398 -0.1 + vertex 18.6454 22.8797 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.9302 22.6398 -0.1 + vertex 18.4732 22.2317 -0.1 + vertex 18.6646 22.0992 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.127 22.4141 -0.1 + vertex 18.6454 22.8797 -0.1 + vertex 18.318 23.1114 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.6454 22.8797 -0.1 + vertex 18.127 22.4141 -0.1 + vertex 18.4732 22.2317 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6752 22.6222 -0.1 + vertex 18.318 23.1114 -0.1 + vertex 17.9883 23.3086 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6752 22.6222 -0.1 + vertex 17.9883 23.3086 -0.1 + vertex 17.6969 23.4449 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.318 23.1114 -0.1 + vertex 17.6752 22.6222 -0.1 + vertex 18.127 22.4141 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6969 23.4449 -0.1 + vertex 17.1667 22.8321 -0.1 + vertex 17.6752 22.6222 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.2809 23.9862 -0.1 + vertex 17.1667 22.8321 -0.1 + vertex 17.6969 23.4449 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.2809 23.9862 -0.1 + vertex 15.5173 23.4995 -0.1 + vertex 17.1667 22.8321 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1328 24.4531 -0.1 + vertex 15.5173 23.4995 -0.1 + vertex 16.2809 23.9862 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.0281 24.1527 -0.1 + vertex 15.1328 24.4531 -0.1 + vertex 14.2197 24.8651 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1328 24.4531 -0.1 + vertex 14.0281 24.1527 -0.1 + vertex 15.5173 23.4995 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.2197 24.8651 -0.1 + vertex 13.7923 24.2655 -0.1 + vertex 14.0281 24.1527 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.2197 24.8651 -0.1 + vertex 13.5553 24.3991 -0.1 + vertex 13.7923 24.2655 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.5086 25.2416 -0.1 + vertex 13.5553 24.3991 -0.1 + vertex 14.2197 24.8651 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.085 24.7212 -0.1 + vertex 13.5086 25.2416 -0.1 + vertex 13.2184 25.4225 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.5086 25.2416 -0.1 + vertex 13.085 24.7212 -0.1 + vertex 13.5553 24.3991 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.6316 25.1032 -0.1 + vertex 13.2184 25.4225 -0.1 + vertex 12.9664 25.6018 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.6316 25.1032 -0.1 + vertex 12.9664 25.6018 -0.1 + vertex 12.7484 25.782 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.2184 25.4225 -0.1 + vertex 12.6316 25.1032 -0.1 + vertex 13.085 24.7212 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2092 25.5292 -0.1 + vertex 12.7484 25.782 -0.1 + vertex 12.5603 25.9653 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2092 25.5292 -0.1 + vertex 12.5603 25.9653 -0.1 + vertex 12.3979 26.1543 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8324 25.9834 -0.1 + vertex 12.3979 26.1543 -0.1 + vertex 12.2572 26.3514 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.7484 25.782 -0.1 + vertex 12.2092 25.5292 -0.1 + vertex 12.6316 25.1032 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8324 25.9834 -0.1 + vertex 12.2572 26.3514 -0.1 + vertex 12.1339 26.5589 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5154 26.4501 -0.1 + vertex 12.1339 26.5589 -0.1 + vertex 12.0241 26.7794 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.3839 26.6832 -0.1 + vertex 12.0241 26.7794 -0.1 + vertex 11.903 27.1234 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3979 26.1543 -0.1 + vertex 11.8324 25.9834 -0.1 + vertex 12.2092 25.5292 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.1835 27.139 -0.1 + vertex 11.903 27.1234 -0.1 + vertex 11.8169 27.5343 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.0734 27.5937 -0.1 + vertex 11.8169 27.5343 -0.1 + vertex 11.7656 27.9858 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.0419 28.1143 -0.1 + vertex 11.7656 27.9858 -0.1 + vertex 11.7492 28.4518 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.2437 29.4873 -0.1 + vertex 11.9082 29.6745 -0.1 + vertex 11.4096 29.9696 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.9082 29.6745 -0.1 + vertex 11.2437 29.4873 -0.1 + vertex 11.8205 29.3224 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.7675 28.9061 -0.1 + vertex 11.1213 28.9486 -0.1 + vertex 11.7492 28.4518 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8205 29.3224 -0.1 + vertex 11.2437 29.4873 -0.1 + vertex 11.7675 28.9061 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.1213 28.9486 -0.1 + vertex 11.7675 28.9061 -0.1 + vertex 11.2437 29.4873 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.0528 28.3898 -0.1 + vertex 11.7492 28.4518 -0.1 + vertex 11.1213 28.9486 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.1339 26.5589 -0.1 + vertex 11.5154 26.4501 -0.1 + vertex 11.8324 25.9834 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.0419 28.1143 -0.1 + vertex 11.7492 28.4518 -0.1 + vertex 11.0528 28.3898 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0241 26.7794 -0.1 + vertex 11.3839 26.6832 -0.1 + vertex 11.5154 26.4501 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.7656 27.9858 -0.1 + vertex 11.0419 28.1143 -0.1 + vertex 11.0484 27.8474 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.903 27.1234 -0.1 + vertex 11.2726 26.9135 -0.1 + vertex 11.3839 26.6832 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.7656 27.9858 -0.1 + vertex 11.0484 27.8474 -0.1 + vertex 11.0734 27.5937 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.903 27.1234 -0.1 + vertex 11.1835 27.139 -0.1 + vertex 11.2726 26.9135 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8169 27.5343 -0.1 + vertex 11.1184 27.3577 -0.1 + vertex 11.1835 27.139 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8169 27.5343 -0.1 + vertex 11.0734 27.5937 -0.1 + vertex 11.1184 27.3577 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.5155 0.168137 -0.1 + vertex 21.1355 -0.658014 -0.1 + vertex 21.1316 -0.233279 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.8646 0.230347 -0.1 + vertex 21.1316 -0.233279 -0.1 + vertex 21.099 0.0745682 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9772 0.235111 -0.1 + vertex 21.099 0.0745682 -0.1 + vertex 21.0726 0.170561 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9772 0.235111 -0.1 + vertex 21.0726 0.170561 -0.1 + vertex 21.0399 0.220413 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.1316 -0.233279 -0.1 + vertex 20.8646 0.230347 -0.1 + vertex 20.5155 0.168137 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.1355 -0.658014 -0.1 + vertex 20.5155 0.168137 -0.1 + vertex 20.0432 0.0451876 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.099 0.0745682 -0.1 + vertex 20.9772 0.235111 -0.1 + vertex 20.8646 0.230347 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.1355 -0.658014 -0.1 + vertex 20.0432 0.0451876 -0.1 + vertex 21.1085 -1.15452 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.4982 -0.127099 -0.1 + vertex 21.1085 -1.15452 -0.1 + vertex 20.0432 0.0451876 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.1085 -1.15452 -0.1 + vertex 19.4982 -0.127099 -0.1 + vertex 21.0399 -1.71534 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0399 -1.71534 -0.1 + vertex 19.4982 -0.127099 -0.1 + vertex 20.9878 -1.96317 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 18.7502 -0.369046 -0.1 + vertex 20.9878 -1.96317 -0.1 + vertex 19.4982 -0.127099 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9878 -1.96317 -0.1 + vertex 18.7502 -0.369046 -0.1 + vertex 20.9199 -2.19366 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9199 -2.19366 -0.1 + vertex 18.7502 -0.369046 -0.1 + vertex 20.8331 -2.41014 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.8331 -2.41014 -0.1 + vertex 18.7502 -0.369046 -0.1 + vertex 20.7245 -2.61588 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.7245 -2.61588 -0.1 + vertex 18.7502 -0.369046 -0.1 + vertex 20.591 -2.8142 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.591 -2.8142 -0.1 + vertex 18.7502 -0.369046 -0.1 + vertex 20.4297 -3.0084 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.4297 -3.0084 -0.1 + vertex 18.7502 -0.369046 -0.1 + vertex 20.2374 -3.20177 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2374 -3.20177 -0.1 + vertex 18.7502 -0.369046 -0.1 + vertex 20.0112 -3.39762 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 18.4876 -0.435405 -0.1 + vertex 20.0112 -3.39762 -0.1 + vertex 18.7502 -0.369046 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0112 -3.39762 -0.1 + vertex 18.4876 -0.435405 -0.1 + vertex 19.4451 -3.80993 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 18.2791 -0.466914 -0.1 + vertex 19.4451 -3.80993 -0.1 + vertex 18.4876 -0.435405 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.1098 -0.464739 -0.1 + vertex 19.4451 -3.80993 -0.1 + vertex 18.2791 -0.466914 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4451 -3.80993 -0.1 + vertex 18.1098 -0.464739 -0.1 + vertex 18.7073 -4.27174 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.9646 -0.430052 -0.1 + vertex 18.7073 -4.27174 -0.1 + vertex 18.1098 -0.464739 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.7736 -4.80944 -0.1 + vertex 17.9646 -0.430052 -0.1 + vertex 17.8284 -0.36402 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.9646 -0.430052 -0.1 + vertex 17.7736 -4.80944 -0.1 + vertex 18.7073 -4.27174 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.3217 -2.5049 -0.1 + vertex 17.8284 -0.36402 -0.1 + vertex 17.6862 -0.267812 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.2572 -2.23644 -0.1 + vertex 17.6862 -0.267812 -0.1 + vertex 17.4918 -0.0873203 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.1524 -1.94488 -0.1 + vertex 17.4918 -0.0873203 -0.1 + vertex 17.2889 0.169637 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.008 -1.63155 -0.1 + vertex 17.2889 0.169637 -0.1 + vertex 17.0802 0.495742 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.8249 -1.29782 -0.1 + vertex 17.0802 0.495742 -0.1 + vertex 16.8681 0.883681 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.604 -0.945011 -0.1 + vertex 16.8681 0.883681 -0.1 + vertex 16.6551 1.32614 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.3463 -0.574481 -0.1 + vertex 16.6551 1.32614 -0.1 + vertex 16.4437 1.81579 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6862 -0.267812 -0.1 + vertex 14.2572 -2.23644 -0.1 + vertex 14.3217 -2.5049 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.7237 0.214368 -0.1 + vertex 16.4437 1.81579 -0.1 + vertex 16.2363 2.34533 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3607 0.629996 -0.1 + vertex 16.2363 2.34533 -0.1 + vertex 16.0356 2.90743 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5355 1.49693 -0.1 + vertex 16.0356 2.90743 -0.1 + vertex 15.6639 4.10009 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.8284 -0.36402 -0.1 + vertex 14.3217 -2.5049 -0.1 + vertex 14.3448 -2.7489 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5355 1.49693 -0.1 + vertex 15.6639 4.10009 -0.1 + vertex 15.498 4.716 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.5842 2.40247 -0.1 + vertex 15.498 4.716 -0.1 + vertex 15.3486 5.33522 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.5842 2.40247 -0.1 + vertex 15.3486 5.33522 -0.1 + vertex 15.2183 5.95043 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.61741 3.25086 -0.1 + vertex 15.2183 5.95043 -0.1 + vertex 15.1095 6.5543 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.29624 3.50894 -0.1 + vertex 15.1095 6.5543 -0.1 + vertex 15.0249 7.13954 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 14.3256 -2.96711 -0.1 + vertex 17.7736 -4.80944 -0.1 + vertex 14.3448 -2.7489 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.14614 3.60373 -0.1 + vertex 15.0249 7.13954 -0.1 + vertex 14.9668 7.69881 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.19732 4.25764 -0.1 + vertex 14.9668 7.69881 -0.1 + vertex 14.9212 8.45633 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0942 9.33737 -0.1 + vertex 8.99158 15.8746 -0.1 + vertex 15.0092 9.15168 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.7736 -4.80944 -0.1 + vertex 14.3256 -2.96711 -0.1 + vertex 16.3254 -5.59514 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 14.1768 -3.32005 -0.1 + vertex 16.3254 -5.59514 -0.1 + vertex 14.2634 -3.15818 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 14.2634 -3.15818 -0.1 + vertex 16.3254 -5.59514 -0.1 + vertex 14.3256 -2.96711 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.8284 -0.36402 -0.1 + vertex 14.3448 -2.7489 -0.1 + vertex 17.7736 -4.80944 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.4918 -0.0873203 -0.1 + vertex 14.1524 -1.94488 -0.1 + vertex 14.2572 -2.23644 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.2889 0.169637 -0.1 + vertex 14.008 -1.63155 -0.1 + vertex 14.1524 -1.94488 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.4375 16.5104 -0.1 + vertex 14.6028 17.0277 -0.1 + vertex 14.0017 17.4864 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.0802 0.495742 -0.1 + vertex 13.8249 -1.29782 -0.1 + vertex 14.008 -1.63155 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.8681 0.883681 -0.1 + vertex 13.604 -0.945011 -0.1 + vertex 13.8249 -1.29782 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.4375 16.5104 -0.1 + vertex 14.0017 17.4864 -0.1 + vertex 13.3813 18.0182 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.6551 1.32614 -0.1 + vertex 13.3463 -0.574481 -0.1 + vertex 13.604 -0.945011 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.4437 1.81579 -0.1 + vertex 13.0525 -0.187573 -0.1 + vertex 13.3463 -0.574481 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.4437 1.81579 -0.1 + vertex 12.7237 0.214368 -0.1 + vertex 13.0525 -0.187573 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.4375 16.5104 -0.1 + vertex 13.3813 18.0182 -0.1 + vertex 12.71 18.6425 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.2363 2.34533 -0.1 + vertex 12.3607 0.629996 -0.1 + vertex 12.7237 0.214368 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.4375 16.5104 -0.1 + vertex 12.71 18.6425 -0.1 + vertex 12.1494 19.1886 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.77546 17.1908 -0.1 + vertex 12.1494 19.1886 -0.1 + vertex 11.6914 19.6646 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 8.87708 15.8492 -0.1 + vertex 15.0092 9.15168 -0.1 + vertex 8.99158 15.8746 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.09841 17.8163 -0.1 + vertex 11.6914 19.6646 -0.1 + vertex 11.3113 20.1069 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.09841 17.8163 -0.1 + vertex 11.3113 20.1069 -0.1 + vertex 10.9846 20.5521 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.31493 18.4459 -0.1 + vertex 10.9846 20.5521 -0.1 + vertex 10.6869 21.0368 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.0356 2.90743 -0.1 + vertex 11.5355 1.49693 -0.1 + vertex 12.3607 0.629996 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.498 4.716 -0.1 + vertex 10.5842 2.40247 -0.1 + vertex 11.5355 1.49693 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.9444 18.7161 -0.1 + vertex 10.6869 21.0368 -0.1 + vertex 10.3935 21.5973 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.36805 19.075 -0.1 + vertex 10.3935 21.5973 -0.1 + vertex 10.0801 22.2703 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.1494 19.1886 -0.1 + vertex 9.77546 17.1908 -0.1 + vertex 10.4375 16.5104 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.21113 19.1268 -0.1 + vertex 10.0801 22.2703 -0.1 + vertex 9.72206 23.0922 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.6914 19.6646 -0.1 + vertex 9.46246 17.4938 -0.1 + vertex 9.77546 17.1908 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.21113 19.1268 -0.1 + vertex 9.72206 23.0922 -0.1 + vertex 9.38213 23.8626 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.6914 19.6646 -0.1 + vertex 9.09841 17.8163 -0.1 + vertex 9.46246 17.4938 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.76329 26.0408 -0.1 + vertex 9.38213 23.8626 -0.1 + vertex 9.08206 24.476 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.12606 25.9588 -0.1 + vertex 9.08206 24.476 -0.1 + vertex 8.80411 24.9522 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.55919 25.8755 -0.1 + vertex 8.80411 24.9522 -0.1 + vertex 8.6679 25.145 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.55919 25.8755 -0.1 + vertex 8.6679 25.145 -0.1 + vertex 8.53058 25.3107 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.55919 25.8755 -0.1 + vertex 8.53058 25.3107 -0.1 + vertex 8.38993 25.4519 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9846 20.5521 -0.1 + vertex 8.31493 18.4459 -0.1 + vertex 9.09841 17.8163 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.92584 25.7528 -0.1 + vertex 8.38993 25.4519 -0.1 + vertex 8.24373 25.571 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.92584 25.7528 -0.1 + vertex 8.24373 25.571 -0.1 + vertex 8.08977 25.6705 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.6869 21.0368 -0.1 + vertex 7.9444 18.7161 -0.1 + vertex 8.31493 18.4459 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.38993 25.4519 -0.1 + vertex 7.92584 25.7528 -0.1 + vertex 7.55919 25.8755 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.3935 21.5973 -0.1 + vertex 7.62063 18.9319 -0.1 + vertex 7.9444 18.7161 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.80411 24.9522 -0.1 + vertex 7.55919 25.8755 -0.1 + vertex 7.12606 25.9588 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.3935 21.5973 -0.1 + vertex 7.36805 19.075 -0.1 + vertex 7.62063 18.9319 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.0801 22.2703 -0.1 + vertex 7.21113 19.1268 -0.1 + vertex 7.36805 19.075 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.76329 26.0408 -0.1 + vertex 9.08206 24.476 -0.1 + vertex 7.12606 25.9588 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.38213 23.8626 -0.1 + vertex 6.76329 26.0408 -0.1 + vertex 7.21113 19.1268 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.21113 19.1268 -0.1 + vertex 6.76329 26.0408 -0.1 + vertex 7.15267 19.0966 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.41393 26.1795 -0.1 + vertex 7.15267 19.0966 -0.1 + vertex 6.76329 26.0408 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.07308 26.3793 -0.1 + vertex 7.15267 19.0966 -0.1 + vertex 6.41393 26.1795 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.816408 27.0884 -0.1 + vertex 7.15267 19.0966 -0.1 + vertex 6.07308 26.3793 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 1.92323 12.5289 -0.1 + vertex 7.1242 19.0144 -0.1 + vertex 1.90284 12.6291 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.734953 27.0776 -0.1 + vertex 7.15267 19.0966 -0.1 + vertex 0.816408 27.0884 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.870515 27.1101 -0.1 + vertex 6.07308 26.3793 -0.1 + vertex 5.73586 26.6445 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.870515 27.1101 -0.1 + vertex 5.73586 26.6445 -0.1 + vertex 5.39739 26.9794 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 6.22936 5.32709 -0.1 + vertex 7.1242 19.0144 -0.1 + vertex 1.92323 12.5289 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.870515 27.1101 -0.1 + vertex 5.39739 26.9794 -0.1 + vertex 5.05276 27.3884 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.908598 27.1645 -0.1 + vertex 5.05276 27.3884 -0.1 + vertex 4.69711 27.8759 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.944126 27.2693 -0.1 + vertex 4.69711 27.8759 -0.1 + vertex 4.32553 28.4461 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex 6.22936 5.32709 -0.1 + vertex 7.07462 4.9138 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.04514 28.0688 -0.1 + vertex 4.32553 28.4461 -0.1 + vertex 4.09087 28.8303 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.04514 28.0688 -0.1 + vertex 4.09087 28.8303 -0.1 + vertex 3.91157 29.1502 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.0601 28.6106 -0.1 + vertex 3.91157 29.1502 -0.1 + vertex 3.78021 29.4348 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.07949 29.2543 -0.1 + vertex 3.78021 29.4348 -0.1 + vertex 3.68937 29.7129 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.13903 29.8907 -0.1 + vertex 3.68937 29.7129 -0.1 + vertex 3.63162 30.0135 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.24074 30.5277 -0.1 + vertex 3.63162 30.0135 -0.1 + vertex 3.59957 30.3654 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.91748 12.4352 -0.1 + vertex 6.22936 5.32709 -0.1 + vertex 1.92323 12.5289 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.38662 31.173 -0.1 + vertex 3.59957 30.3654 -0.1 + vertex 3.58282 31.3388 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 14.0741 -3.47638 -0.1 + vertex 16.3254 -5.59514 -0.1 + vertex 14.1768 -3.32005 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.3254 -5.59514 -0.1 + vertex 14.0741 -3.47638 -0.1 + vertex 15.6549 -5.93433 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.8248 -3.7697 -0.1 + vertex 15.6549 -5.93433 -0.1 + vertex 14.0741 -3.47638 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6549 -5.93433 -0.1 + vertex 13.8248 -3.7697 -0.1 + vertex 15.0129 -6.23993 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.5249 -4.03275 -0.1 + vertex 15.0129 -6.23993 -0.1 + vertex 13.8248 -3.7697 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0129 -6.23993 -0.1 + vertex 13.5249 -4.03275 -0.1 + vertex 14.3941 -6.51356 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.1837 -4.26011 -0.1 + vertex 14.3941 -6.51356 -0.1 + vertex 13.5249 -4.03275 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.3941 -6.51356 -0.1 + vertex 13.1837 -4.26011 -0.1 + vertex 13.793 -6.75686 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.8106 -4.44636 -0.1 + vertex 13.793 -6.75686 -0.1 + vertex 13.1837 -4.26011 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.793 -6.75686 -0.1 + vertex 12.8106 -4.44636 -0.1 + vertex 13.2041 -6.97145 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.4149 -4.5861 -0.1 + vertex 13.2041 -6.97145 -0.1 + vertex 12.8106 -4.44636 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.2041 -6.97145 -0.1 + vertex 12.4149 -4.5861 -0.1 + vertex 12.6221 -7.15898 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.006 -4.67391 -0.1 + vertex 12.6221 -7.15898 -0.1 + vertex 12.4149 -4.5861 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.6221 -7.15898 -0.1 + vertex 12.006 -4.67391 -0.1 + vertex 12.0414 -7.32107 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.5931 -4.70438 -0.1 + vertex 12.0414 -7.32107 -0.1 + vertex 12.006 -4.67391 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5931 -4.70438 -0.1 + vertex 11.4568 -7.45935 -0.1 + vertex 12.0414 -7.32107 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.26 -4.69402 -0.1 + vertex 11.4568 -7.45935 -0.1 + vertex 11.5931 -4.70438 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9319 -4.66264 -0.1 + vertex 11.4568 -7.45935 -0.1 + vertex 11.26 -4.69402 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9319 -4.66264 -0.1 + vertex 10.8627 -7.57545 -0.1 + vertex 11.4568 -7.45935 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.608 -4.6098 -0.1 + vertex 10.8627 -7.57545 -0.1 + vertex 10.9319 -4.66264 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.2538 -7.67101 -0.1 + vertex 10.608 -4.6098 -0.1 + vertex 10.2875 -4.53506 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.608 -4.6098 -0.1 + vertex 10.2538 -7.67101 -0.1 + vertex 10.8627 -7.57545 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.62459 -7.74765 -0.1 + vertex 10.2875 -4.53506 -0.1 + vertex 9.96977 -4.43796 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.809 -5.75259 -0.1 + vertex 9.96977 -4.43796 -0.1 + vertex 9.65389 -4.31807 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.2875 -4.53506 -0.1 + vertex 9.62459 -7.74765 -0.1 + vertex 10.2538 -7.67101 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.809 -5.75259 -0.1 + vertex 9.65389 -4.31807 -0.1 + vertex 9.33912 -4.17495 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.809 -5.75259 -0.1 + vertex 9.33912 -4.17495 -0.1 + vertex 9.02468 -4.00814 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.96977 -4.43796 -0.1 + vertex 7.809 -5.75259 -0.1 + vertex 9.62459 -7.74765 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.809 -5.75259 -0.1 + vertex 9.02468 -4.00814 -0.1 + vertex 8.70978 -3.81721 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.04277 -4.97268 -0.1 + vertex 8.70978 -3.81721 -0.1 + vertex 8.39365 -3.60171 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.04277 -4.97268 -0.1 + vertex 8.39365 -3.60171 -0.1 + vertex 8.0755 -3.36119 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.62459 -7.74765 -0.1 + vertex 7.809 -5.75259 -0.1 + vertex 8.96966 -7.80701 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.809 -5.75259 -0.1 + vertex 7.56097 -7.88041 -0.1 + vertex 8.96966 -7.80701 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.2241 -5.88439 -0.1 + vertex 7.56097 -7.88041 -0.1 + vertex 7.809 -5.75259 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.87672 -5.95074 -0.1 + vertex 7.56097 -7.88041 -0.1 + vertex 7.2241 -5.88439 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.53505 -5.98957 -0.1 + vertex 7.56097 -7.88041 -0.1 + vertex 6.87672 -5.95074 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.04455 -7.91255 -0.1 + vertex 6.53505 -5.98957 -0.1 + vertex 6.18777 -5.99984 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.53505 -5.98957 -0.1 + vertex 6.04455 -7.91255 -0.1 + vertex 7.56097 -7.88041 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.82356 -5.98052 -0.1 + vertex 6.04455 -7.91255 -0.1 + vertex 6.18777 -5.99984 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.82356 -5.98052 -0.1 + vertex 5.49083 -7.9071 -0.1 + vertex 6.04455 -7.91255 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.4311 -5.93055 -0.1 + vertex 5.49083 -7.9071 -0.1 + vertex 5.82356 -5.98052 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.4311 -5.93055 -0.1 + vertex 5.0434 -7.88498 -0.1 + vertex 5.49083 -7.9071 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.99906 -5.84891 -0.1 + vertex 5.0434 -7.88498 -0.1 + vertex 5.4311 -5.93055 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.99906 -5.84891 -0.1 + vertex 4.67971 -7.84446 -0.1 + vertex 5.0434 -7.88498 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.11342 -7.70123 -0.1 + vertex 4.99906 -5.84891 -0.1 + vertex 4.51611 -5.73457 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.99906 -5.84891 -0.1 + vertex 4.37723 -7.78379 -0.1 + vertex 4.67971 -7.84446 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.99906 -5.84891 -0.1 + vertex 4.11342 -7.70123 -0.1 + vertex 4.37723 -7.78379 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.40104 -7.34622 -0.1 + vertex 4.51611 -5.73457 -0.1 + vertex 3.97093 -5.58648 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.51611 -5.73457 -0.1 + vertex 3.86574 -7.59505 -0.1 + vertex 4.11342 -7.70123 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.51611 -5.73457 -0.1 + vertex 3.40104 -7.34622 -0.1 + vertex 3.86574 -7.59505 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.71562 -6.94693 -0.1 + vertex 3.97093 -5.58648 -0.1 + vertex 3.25174 -5.37115 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.97093 -5.58648 -0.1 + vertex 2.71562 -6.94693 -0.1 + vertex 3.40104 -7.34622 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.534 -5.13555 -0.1 + vertex 2.71562 -6.94693 -0.1 + vertex 3.25174 -5.37115 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.05193 -5.91722 -0.1 + vertex 2.534 -5.13555 -0.1 + vertex 1.81816 -4.87986 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.05193 -5.91722 -0.1 + vertex 1.81816 -4.87986 -0.1 + vertex 1.10471 -4.60426 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.534 -5.13555 -0.1 + vertex 1.05193 -5.91722 -0.1 + vertex 2.71562 -6.94693 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.394112 -4.30895 -0.1 + vertex 1.05193 -5.91722 -0.1 + vertex 1.10471 -4.60426 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.694871 -4.82613 -0.1 + vertex 0.394112 -4.30895 -0.1 + vertex -0.313177 -3.99411 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.394112 -4.30895 -0.1 + vertex -0.694871 -4.82613 -0.1 + vertex 1.05193 -5.91722 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.01669 -3.65993 -0.1 + vertex -0.694871 -4.82613 -0.1 + vertex -0.313177 -3.99411 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.47177 -3.7788 -0.1 + vertex -1.01669 -3.65993 -0.1 + vertex -1.71595 -3.30659 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.47177 -3.7788 -0.1 + vertex -1.71595 -3.30659 -0.1 + vertex -2.32857 -3.00041 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.01669 -3.65993 -0.1 + vertex -2.47177 -3.7788 -0.1 + vertex -0.694871 -4.82613 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.32857 -3.00041 -0.1 + vertex -2.8551 -3.51984 -0.1 + vertex -2.47177 -3.7788 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.87688 -2.74967 -0.1 + vertex -2.8551 -3.51984 -0.1 + vertex -2.32857 -3.00041 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.87688 -2.74967 -0.1 + vertex -3.18232 -3.26618 -0.1 + vertex -2.8551 -3.51984 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.44099 -3.03042 -0.1 + vertex -2.87688 -2.74967 -0.1 + vertex -3.301 -2.58026 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.87688 -2.74967 -0.1 + vertex -3.44099 -3.03042 -0.1 + vertex -3.18232 -3.26618 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.61865 -2.82513 -0.1 + vertex -3.301 -2.58026 -0.1 + vertex -3.54104 -2.51804 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.301 -2.58026 -0.1 + vertex -3.61865 -2.82513 -0.1 + vertex -3.44099 -3.03042 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 -0.1 + vertex -3.54104 -2.51804 -0.1 + vertex -3.62666 -2.52788 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70601 -2.60189 -0.1 + vertex -3.62666 -2.52788 -0.1 + vertex -3.68113 -2.55635 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.54104 -2.51804 -0.1 + vertex -3.70285 -2.66292 -0.1 + vertex -3.61865 -2.82513 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.62666 -2.52788 -0.1 + vertex -3.70601 -2.60189 -0.1 + vertex -3.70285 -2.66292 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.5419 27.5737 -0.1 + vertex -21.2799 26.5937 -0.1 + vertex -21.2563 26.5576 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.7979 27.6578 -0.1 + vertex -21.3473 26.6332 -0.1 + vertex -21.2799 26.5937 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5951 26.7172 -0.1 + vertex -21.1001 27.7294 -0.1 + vertex -21.4599 27.7917 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.1001 27.7294 -0.1 + vertex -21.5951 26.7172 -0.1 + vertex -21.3473 26.6332 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.4599 27.7917 -0.1 + vertex -21.9618 26.7994 -0.1 + vertex -21.5951 26.7172 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.3975 27.9007 -0.1 + vertex -21.9618 26.7994 -0.1 + vertex -21.4599 27.7917 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.3975 27.9007 -0.1 + vertex -22.4095 26.8695 -0.1 + vertex -21.9618 26.7994 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.3975 27.9007 -0.1 + vertex -22.8078 26.9423 -0.1 + vertex -22.4095 26.8695 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.1232 27.9594 -0.1 + vertex -22.8078 26.9423 -0.1 + vertex -22.3975 27.9007 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.1232 27.9594 -0.1 + vertex -23.1972 27.0531 -0.1 + vertex -22.8078 26.9423 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.1232 27.9594 -0.1 + vertex -23.56 27.1917 -0.1 + vertex -23.1972 27.0531 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.7335 27.9892 -0.1 + vertex -23.56 27.1917 -0.1 + vertex -23.1232 27.9594 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.7335 27.9892 -0.1 + vertex -23.8785 27.3484 -0.1 + vertex -23.56 27.1917 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.7335 27.9892 -0.1 + vertex -24.1346 27.513 -0.1 + vertex -23.8785 27.3484 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.1643 27.9885 -0.1 + vertex -24.1346 27.513 -0.1 + vertex -23.7335 27.9892 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3632 27.7532 -0.1 + vertex -24.1643 27.9885 -0.1 + vertex -24.2923 27.9761 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.1643 27.9885 -0.1 + vertex -24.3107 27.6757 -0.1 + vertex -24.1346 27.513 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3858 27.8943 -0.1 + vertex -24.2923 27.9761 -0.1 + vertex -24.3515 27.9554 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.1643 27.9885 -0.1 + vertex -24.3632 27.7532 -0.1 + vertex -24.3107 27.6757 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.2923 27.9761 -0.1 + vertex -24.3858 27.8943 -0.1 + vertex -24.3889 27.8265 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.2923 27.9761 -0.1 + vertex -24.3889 27.8265 -0.1 + vertex -24.3632 27.7532 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.89877 27.2865 -0.1 + vertex -10.5394 24.4322 -0.1 + vertex -10.5349 24.4109 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.2816 27.5955 -0.1 + vertex -10.6591 24.5009 -0.1 + vertex -10.5394 24.4322 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.2816 27.5955 -0.1 + vertex -10.9077 24.5958 -0.1 + vertex -10.6591 24.5009 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.2816 27.5955 -0.1 + vertex -11.2625 24.7069 -0.1 + vertex -10.9077 24.5958 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.5342 27.7352 -0.1 + vertex -11.2625 24.7069 -0.1 + vertex -10.2816 27.5955 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.5342 27.7352 -0.1 + vertex -11.7825 24.8213 -0.1 + vertex -11.2625 24.7069 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.5342 27.7352 -0.1 + vertex -12.4277 24.907 -0.1 + vertex -11.7825 24.8213 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.6053 27.816 -0.1 + vertex -12.4277 24.907 -0.1 + vertex -11.5342 27.7352 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.6053 27.816 -0.1 + vertex -13.1566 24.9634 -0.1 + vertex -12.4277 24.907 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.5445 27.8374 -0.1 + vertex -13.1566 24.9634 -0.1 + vertex -12.6053 27.816 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.5445 27.8374 -0.1 + vertex -13.9275 24.99 -0.1 + vertex -13.1566 24.9634 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.4014 27.7989 -0.1 + vertex -13.9275 24.99 -0.1 + vertex -13.5445 27.8374 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.4014 27.7989 -0.1 + vertex -14.6988 24.986 -0.1 + vertex -13.9275 24.99 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.2259 27.7001 -0.1 + vertex -14.6988 24.986 -0.1 + vertex -14.4014 27.7989 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.2259 27.7001 -0.1 + vertex -15.4289 24.9511 -0.1 + vertex -14.6988 24.986 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.0674 27.5405 -0.1 + vertex -15.4289 24.9511 -0.1 + vertex -15.2259 27.7001 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.0674 27.5405 -0.1 + vertex -16.0762 24.8844 -0.1 + vertex -15.4289 24.9511 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.9758 27.3196 -0.1 + vertex -16.0762 24.8844 -0.1 + vertex -16.0674 27.5405 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.0762 24.8844 -0.1 + vertex -16.9758 27.3196 -0.1 + vertex -16.599 24.7853 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9758 27.3196 -0.1 + vertex -17.1707 24.6702 -0.1 + vertex -16.599 24.7853 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9758 27.3196 -0.1 + vertex -18.0818 24.5233 -0.1 + vertex -17.1707 24.6702 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.3233 26.703 -0.1 + vertex -18.0818 24.5233 -0.1 + vertex -16.9758 27.3196 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.0818 24.5233 -0.1 + vertex -19.3233 26.703 -0.1 + vertex -19.207 24.3637 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2669 26.4994 -0.1 + vertex -19.3233 26.703 -0.1 + vertex -19.9368 27.2141 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2563 26.5576 -0.1 + vertex -19.9368 27.2141 -0.1 + vertex -20.1227 27.3549 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2563 26.5576 -0.1 + vertex -20.1227 27.3549 -0.1 + vertex -20.3206 27.4738 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2997 26.4466 -0.1 + vertex -19.3233 26.703 -0.1 + vertex -21.2669 26.4994 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2563 26.5576 -0.1 + vertex -20.3206 27.4738 -0.1 + vertex -20.5419 27.5737 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2799 26.5937 -0.1 + vertex -20.5419 27.5737 -0.1 + vertex -20.7979 27.6578 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.3473 26.6332 -0.1 + vertex -20.7979 27.6578 -0.1 + vertex -21.1001 27.7294 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.9368 27.2141 -0.1 + vertex -21.2563 26.5576 -0.1 + vertex -21.2669 26.4994 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.3233 26.703 -0.1 + vertex -20.4207 24.2101 -0.1 + vertex -19.207 24.3637 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.3233 26.703 -0.1 + vertex -21.2997 26.4466 -0.1 + vertex -20.4207 24.2101 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.3558 26.3992 -0.1 + vertex -20.4207 24.2101 -0.1 + vertex -21.2997 26.4466 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.4368 26.3569 -0.1 + vertex -20.4207 24.2101 -0.1 + vertex -21.3558 26.3992 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.6785 26.2874 -0.1 + vertex -20.4207 24.2101 -0.1 + vertex -21.4368 26.3569 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.0356 26.2369 -0.1 + vertex -20.4207 24.2101 -0.1 + vertex -21.6785 26.2874 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.3692 23.8604 -0.1 + vertex -22.0356 26.2369 -0.1 + vertex -22.5186 26.2045 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.3692 23.8604 -0.1 + vertex -22.5186 26.2045 -0.1 + vertex -23.1385 26.1891 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.0356 26.2369 -0.1 + vertex -23.3692 23.8604 -0.1 + vertex -20.4207 24.2101 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.6523 24.0122 -0.1 + vertex -23.3692 23.8604 -0.1 + vertex -23.1385 26.1891 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.3692 23.8604 -0.1 + vertex -24.6523 24.0122 -0.1 + vertex -24.1455 19.0472 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.8316 26.205 -0.1 + vertex -24.6523 24.0122 -0.1 + vertex -23.1385 26.1891 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.8316 26.205 -0.1 + vertex -26.0107 24.2804 -0.1 + vertex -24.6523 24.0122 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.3751 26.2567 -0.1 + vertex -26.0107 24.2804 -0.1 + vertex -24.8316 26.205 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.3751 26.2567 -0.1 + vertex -26.5818 24.4056 -0.1 + vertex -26.0107 24.2804 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.1227 24.5501 -0.1 + vertex -26.3751 26.2567 -0.1 + vertex -26.9353 26.3003 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.3751 26.2567 -0.1 + vertex -27.1227 24.5501 -0.1 + vertex -26.5818 24.4056 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.636 24.7152 -0.1 + vertex -26.9353 26.3003 -0.1 + vertex -27.4097 26.3653 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.9353 26.3003 -0.1 + vertex -27.636 24.7152 -0.1 + vertex -27.1227 24.5501 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.1248 24.9019 -0.1 + vertex -27.4097 26.3653 -0.1 + vertex -27.8395 26.4592 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.4097 26.3653 -0.1 + vertex -28.1248 24.9019 -0.1 + vertex -27.636 24.7152 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.5919 25.1115 -0.1 + vertex -27.8395 26.4592 -0.1 + vertex -28.2663 26.5892 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.8395 26.4592 -0.1 + vertex -28.5919 25.1115 -0.1 + vertex -28.1248 24.9019 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.0402 25.3453 -0.1 + vertex -28.2663 26.5892 -0.1 + vertex -28.7314 26.7626 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2663 26.5892 -0.1 + vertex -29.0402 25.3453 -0.1 + vertex -28.5919 25.1115 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.4725 25.6043 -0.1 + vertex -28.7314 26.7626 -0.1 + vertex -29.2762 26.9865 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.7314 26.7626 -0.1 + vertex -29.4725 25.6043 -0.1 + vertex -29.0402 25.3453 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.2762 26.9865 -0.1 + vertex -29.8918 25.8898 -0.1 + vertex -29.4725 25.6043 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.0875 27.3102 -0.1 + vertex -29.8918 25.8898 -0.1 + vertex -29.2762 26.9865 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.0875 27.3102 -0.1 + vertex -30.6514 26.471 -0.1 + vertex -29.8918 25.8898 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.9143 26.7038 -0.1 + vertex -30.0875 27.3102 -0.1 + vertex -30.6543 27.4912 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.1043 26.9038 -0.1 + vertex -30.6543 27.4912 -0.1 + vertex -30.8579 27.5312 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.0875 27.3102 -0.1 + vertex -30.9143 26.7038 -0.1 + vertex -30.6514 26.471 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2248 27.0754 -0.1 + vertex -30.8579 27.5312 -0.1 + vertex -31.0145 27.539 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.6543 27.4912 -0.1 + vertex -31.1043 26.9038 -0.1 + vertex -30.9143 26.7038 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.272 27.3506 -0.1 + vertex -31.0145 27.539 -0.1 + vertex -31.1289 27.5158 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.272 27.3506 -0.1 + vertex -31.1289 27.5158 -0.1 + vertex -31.2059 27.4629 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.8579 27.5312 -0.1 + vertex -31.2248 27.0754 -0.1 + vertex -31.1043 26.9038 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.0145 27.539 -0.1 + vertex -31.272 27.3506 -0.1 + vertex -31.2795 27.2229 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.0145 27.539 -0.1 + vertex -31.2795 27.2229 -0.1 + vertex -31.2248 27.0754 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.22936 5.32709 -0.1 + vertex 1.91748 12.4352 -0.1 + vertex 5.27855 5.76024 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.32553 28.4461 -0.1 + vertex 1.00441 27.6053 -0.1 + vertex 0.944126 27.2693 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.60924 32.0876 -0.1 + vertex 1.57871 31.8344 -0.1 + vertex 3.58282 31.3388 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.69711 27.8759 -0.1 + vertex 0.944126 27.2693 -0.1 + vertex 0.908598 27.1645 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.38662 31.173 -0.1 + vertex 3.58282 31.3388 -0.1 + vertex 1.57871 31.8344 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex 1.85843 12.7398 -0.1 + vertex 1.90284 12.6291 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.59957 30.3654 -0.1 + vertex 1.38662 31.173 -0.1 + vertex 1.24074 30.5277 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.32553 28.4461 -0.1 + vertex 1.04514 28.0688 -0.1 + vertex 1.00441 27.6053 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.63162 30.0135 -0.1 + vertex 1.24074 30.5277 -0.1 + vertex 1.13903 29.8907 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.68937 29.7129 -0.1 + vertex 1.13903 29.8907 -0.1 + vertex 1.07949 29.2543 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.78021 29.4348 -0.1 + vertex 1.07949 29.2543 -0.1 + vertex 1.0601 28.6106 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.91157 29.1502 -0.1 + vertex 1.0601 28.6106 -0.1 + vertex 1.04514 28.0688 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.05276 27.3884 -0.1 + vertex 0.908598 27.1645 -0.1 + vertex 0.870515 27.1101 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex 1.7147 12.9716 -0.1 + vertex 1.85843 12.7398 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.07308 26.3793 -0.1 + vertex 0.870515 27.1101 -0.1 + vertex 0.816408 27.0884 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex 1.51175 13.1874 -0.1 + vertex 1.7147 12.9716 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex 1.25015 13.3869 -0.1 + vertex 1.51175 13.1874 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex 0.930489 13.5702 -0.1 + vertex 1.25015 13.3869 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.15267 19.0966 -0.1 + vertex 0.734953 27.0776 -0.1 + vertex 7.1242 19.0144 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.371032 14.021 -0.1 + vertex 7.1242 19.0144 -0.1 + vertex 0.734953 27.0776 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex 0.55335 13.737 -0.1 + vertex 0.930489 13.5702 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.917111 14.138 -0.1 + vertex 0.734953 27.0776 -0.1 + vertex 0.505992 27.0868 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.51834 14.2381 -0.1 + vertex 0.505992 27.0868 -0.1 + vertex 0.215611 27.1342 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex 0.119316 13.8873 -0.1 + vertex 0.55335 13.737 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.17413 14.3212 -0.1 + vertex 0.215611 27.1342 -0.1 + vertex -0.104203 27.2162 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex -0.371032 14.021 -0.1 + vertex 0.119316 13.8873 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.8839 14.3873 -0.1 + vertex -0.104203 27.2162 -0.1 + vertex -0.438314 27.347 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.54439 27.3597 -0.1 + vertex -0.438314 27.347 -0.1 + vertex -0.7749 27.5359 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.734953 27.0776 -0.1 + vertex -0.917111 14.138 -0.1 + vertex -0.371032 14.021 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.54439 27.3597 -0.1 + vertex -0.7749 27.5359 -0.1 + vertex -1.11256 27.7809 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.44763 27.4571 -0.1 + vertex -1.11256 27.7809 -0.1 + vertex -1.44988 28.0795 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.505992 27.0868 -0.1 + vertex -1.51834 14.2381 -0.1 + vertex -0.917111 14.138 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.44763 27.4571 -0.1 + vertex -1.44988 28.0795 -0.1 + vertex -1.78547 28.4297 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.37156 27.6173 -0.1 + vertex -1.78547 28.4297 -0.1 + vertex -2.11792 28.8291 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.215611 27.1342 -0.1 + vertex -2.17413 14.3212 -0.1 + vertex -1.51834 14.2381 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.31368 27.8729 -0.1 + vertex -2.11792 28.8291 -0.1 + vertex -2.44583 29.2754 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.27149 28.2565 -0.1 + vertex -2.44583 29.2754 -0.1 + vertex -2.7678 29.7664 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.11256 27.7809 -0.1 + vertex -6.44763 27.4571 -0.1 + vertex -6.54439 27.3597 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.24249 28.8007 -0.1 + vertex -2.7678 29.7664 -0.1 + vertex -3.08241 30.2998 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.22417 29.538 -0.1 + vertex -3.08241 30.2998 -0.1 + vertex -3.38828 30.8734 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.438314 27.347 -0.1 + vertex -6.54439 27.3597 -0.1 + vertex -3.64708 14.4362 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.22417 29.538 -0.1 + vertex -3.38828 30.8734 -0.1 + vertex -3.68399 31.485 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.20957 31.7226 -0.1 + vertex -3.68399 31.485 -0.1 + vertex -3.96814 32.1322 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.20957 31.7226 -0.1 + vertex -3.96814 32.1322 -0.1 + vertex -4.23933 32.8128 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.78547 28.4297 -0.1 + vertex -6.37156 27.6173 -0.1 + vertex -6.44763 27.4571 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.19415 33.3563 -0.1 + vertex -4.23933 32.8128 -0.1 + vertex -4.49616 33.5245 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.19415 33.3563 -0.1 + vertex -4.49616 33.5245 -0.1 + vertex -4.73722 34.2652 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.15766 34.7516 -0.1 + vertex -4.73722 34.2652 -0.1 + vertex -4.96111 35.0324 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.15766 34.7516 -0.1 + vertex -4.96111 35.0324 -0.1 + vertex -5.11886 35.5644 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.10555 35.7605 -0.1 + vertex -5.11886 35.5644 -0.1 + vertex -5.26884 35.9859 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.7678 29.7664 -0.1 + vertex -6.24249 28.8007 -0.1 + vertex -6.27149 28.2565 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.07534 36.0738 -0.1 + vertex -5.26884 35.9859 -0.1 + vertex -5.41174 36.2975 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.92579 36.4611 -0.1 + vertex -5.41174 36.2975 -0.1 + vertex -5.54821 36.5001 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.86569 36.5344 -0.1 + vertex -5.54821 36.5001 -0.1 + vertex -5.61425 36.5608 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.80457 36.5812 -0.1 + vertex -5.61425 36.5608 -0.1 + vertex -5.67893 36.5944 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.80457 36.5812 -0.1 + vertex -5.67893 36.5944 -0.1 + vertex -5.74234 36.6012 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.61425 36.5608 -0.1 + vertex -5.80457 36.5812 -0.1 + vertex -5.86569 36.5344 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.54821 36.5001 -0.1 + vertex -5.86569 36.5344 -0.1 + vertex -5.92579 36.4611 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.41174 36.2975 -0.1 + vertex -5.92579 36.4611 -0.1 + vertex -6.04327 36.2349 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.41174 36.2975 -0.1 + vertex -6.04327 36.2349 -0.1 + vertex -6.07534 36.0738 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.26884 35.9859 -0.1 + vertex -6.07534 36.0738 -0.1 + vertex -6.10555 35.7605 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.11886 35.5644 -0.1 + vertex -6.10555 35.7605 -0.1 + vertex -6.15766 34.7516 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.73722 34.2652 -0.1 + vertex -6.15766 34.7516 -0.1 + vertex -6.19415 33.3563 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.23933 32.8128 -0.1 + vertex -6.19415 33.3563 -0.1 + vertex -6.20957 31.7226 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.68399 31.485 -0.1 + vertex -6.20957 31.7226 -0.1 + vertex -6.22417 29.538 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.08241 30.2998 -0.1 + vertex -6.22417 29.538 -0.1 + vertex -6.24249 28.8007 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.44583 29.2754 -0.1 + vertex -6.27149 28.2565 -0.1 + vertex -6.31368 27.8729 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.11792 28.8291 -0.1 + vertex -6.31368 27.8729 -0.1 + vertex -6.37156 27.6173 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.104203 27.2162 -0.1 + vertex -2.8839 14.3873 -0.1 + vertex -2.17413 14.3212 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.438314 27.347 -0.1 + vertex -3.64708 14.4362 -0.1 + vertex -2.8839 14.3873 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.65192 27.3056 -0.1 + vertex -3.64708 14.4362 -0.1 + vertex -6.54439 27.3597 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.64708 14.4362 -0.1 + vertex -6.65192 27.3056 -0.1 + vertex -4.46307 14.4678 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -10.904 19.9248 -0.1 + vertex -4.46307 14.4678 -0.1 + vertex -6.65192 27.3056 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.46307 14.4678 -0.1 + vertex -10.904 19.9248 -0.1 + vertex -5.33129 14.482 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.904 19.9248 -0.1 + vertex -6.65192 27.3056 -0.1 + vertex -6.80178 27.2682 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5349 24.4109 -0.1 + vertex -6.80178 27.2682 -0.1 + vertex -6.99768 27.2475 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.33129 14.482 -0.1 + vertex -10.904 19.9248 -0.1 + vertex -6.25117 14.4787 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5349 24.4109 -0.1 + vertex -6.99768 27.2475 -0.1 + vertex -7.24334 27.2437 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5349 24.4109 -0.1 + vertex -7.24334 27.2437 -0.1 + vertex -7.89877 27.2865 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5394 24.4322 -0.1 + vertex -7.89877 27.2865 -0.1 + vertex -8.79778 27.3973 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.80178 27.2682 -0.1 + vertex -10.5349 24.4109 -0.1 + vertex -10.904 19.9248 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.25117 14.4787 -0.1 + vertex -10.9261 19.832 -0.1 + vertex -7.22211 14.4578 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5394 24.4322 -0.1 + vertex -8.79778 27.3973 -0.1 + vertex -10.2816 27.5955 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -10.9261 19.832 -0.1 + vertex -6.25117 14.4787 -0.1 + vertex -10.904 19.9248 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.0035 20.0644 -0.1 + vertex -10.5349 24.4109 -0.1 + vertex -10.5711 24.4 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -10.9948 19.7221 -0.1 + vertex -7.22211 14.4578 -0.1 + vertex -10.9261 19.832 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.22211 14.4578 -0.1 + vertex -10.9948 19.7221 -0.1 + vertex -9.25643 14.3812 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5349 24.4109 -0.1 + vertex -10.9294 20.0018 -0.1 + vertex -10.904 19.9248 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5349 24.4109 -0.1 + vertex -11.0035 20.0644 -0.1 + vertex -10.9294 20.0018 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5711 24.4 -0.1 + vertex -11.1271 20.114 -0.1 + vertex -11.0035 20.0644 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5711 24.4 -0.1 + vertex -11.3013 20.1521 -0.1 + vertex -11.1271 20.114 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5711 24.4 -0.1 + vertex -11.5271 20.1801 -0.1 + vertex -11.3013 20.1521 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5711 24.4 -0.1 + vertex -12.1376 20.2112 -0.1 + vertex -11.5271 20.1801 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.1612 23.8467 -0.1 + vertex -12.1376 20.2112 -0.1 + vertex -10.5711 24.4 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.1376 20.2112 -0.1 + vertex -14.1612 23.8467 -0.1 + vertex -12.9665 20.2187 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.9665 20.2187 -0.1 + vertex -14.1612 23.8467 -0.1 + vertex -13.9037 20.2008 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.1612 23.8467 -0.1 + vertex -14.8461 20.153 -0.1 + vertex -13.9037 20.2008 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.0412 23.3999 -0.1 + vertex -14.8461 20.153 -0.1 + vertex -14.1612 23.8467 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.8461 20.153 -0.1 + vertex -17.0412 23.3999 -0.1 + vertex -15.684 20.0825 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.684 20.0825 -0.1 + vertex -17.0412 23.3999 -0.1 + vertex -16.3079 19.9967 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.0412 23.3999 -0.1 + vertex -17.2235 19.8332 -0.1 + vertex -16.3079 19.9967 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.3158 23.0662 -0.1 + vertex -17.2235 19.8332 -0.1 + vertex -17.0412 23.3999 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.2235 19.8332 -0.1 + vertex -19.3158 23.0662 -0.1 + vertex -18.1791 19.6811 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.3158 23.0662 -0.1 + vertex -20.1671 19.4139 -0.1 + vertex -18.1791 19.6811 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.7318 22.8633 -0.1 + vertex -20.1671 19.4139 -0.1 + vertex -19.3158 23.0662 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.5474 22.7309 -0.1 + vertex -20.1671 19.4139 -0.1 + vertex -20.7318 22.8633 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.1849 19.2007 -0.1 + vertex -21.5474 22.7309 -0.1 + vertex -21.6404 22.7266 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.1849 19.2007 -0.1 + vertex -21.6404 22.7266 -0.1 + vertex -21.755 22.7463 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.1849 19.2007 -0.1 + vertex -21.755 22.7463 -0.1 + vertex -22.0315 22.8497 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5474 22.7309 -0.1 + vertex -22.1849 19.2007 -0.1 + vertex -20.1671 19.4139 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.3422 23.0246 -0.1 + vertex -22.1849 19.2007 -0.1 + vertex -22.0315 22.8497 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.1455 19.0472 -0.1 + vertex -22.3422 23.0246 -0.1 + vertex -22.6524 23.2546 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.1455 19.0472 -0.1 + vertex -22.6524 23.2546 -0.1 + vertex -23.3692 23.8604 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.3422 23.0246 -0.1 + vertex -24.1455 19.0472 -0.1 + vertex -22.1849 19.2007 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.10332 38.557 -0.1 + vertex 5.26494 38.4452 -0.1 + vertex 5.23504 38.5484 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.26494 38.4452 -0.1 + vertex 5.01738 38.4749 -0.1 + vertex 5.25596 38.2865 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.10332 38.557 -0.1 + vertex 5.23504 38.5484 -0.1 + vertex 5.20457 38.5758 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.10332 38.557 -0.1 + vertex 5.20457 38.5758 -0.1 + vertex 5.16325 38.5852 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.26494 38.4452 -0.1 + vertex 5.10332 38.557 -0.1 + vertex 5.01738 38.4749 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.25596 38.2865 -0.1 + vertex 5.01738 38.4749 -0.1 + vertex 5.21112 38.083 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.77727 38.1658 -0.1 + vertex 5.21112 38.083 -0.1 + vertex 5.01738 38.4749 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.21112 38.083 -0.1 + vertex 4.77727 38.1658 -0.1 + vertex 5.13345 37.8458 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.13345 37.8458 -0.1 + vertex 4.77727 38.1658 -0.1 + vertex 5.02596 37.5856 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.46246 37.6912 -0.1 + vertex 5.02596 37.5856 -0.1 + vertex 4.77727 38.1658 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.02596 37.5856 -0.1 + vertex 4.46246 37.6912 -0.1 + vertex 4.89167 37.3134 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.89167 37.3134 -0.1 + vertex 4.46246 37.6912 -0.1 + vertex 4.73361 37.0399 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.09252 37.0842 -0.1 + vertex 4.73361 37.0399 -0.1 + vertex 4.46246 37.6912 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.73361 37.0399 -0.1 + vertex 4.09252 37.0842 -0.1 + vertex 4.62814 36.8484 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.62814 36.8484 -0.1 + vertex 4.09252 37.0842 -0.1 + vertex 4.52293 36.6141 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.68699 36.3778 -0.1 + vertex 4.52293 36.6141 -0.1 + vertex 4.09252 37.0842 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.52293 36.6141 -0.1 + vertex 3.68699 36.3778 -0.1 + vertex 4.31688 36.0346 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.26543 35.6052 -0.1 + vertex 4.31688 36.0346 -0.1 + vertex 3.68699 36.3778 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.31688 36.0346 -0.1 + vertex 3.26543 35.6052 -0.1 + vertex 4.1227 35.3375 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.1227 35.3375 -0.1 + vertex 3.26543 35.6052 -0.1 + vertex 3.94762 34.5584 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.84738 34.7996 -0.1 + vertex 3.94762 34.5584 -0.1 + vertex 3.26543 35.6052 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.94762 34.5584 -0.1 + vertex 2.84738 34.7996 -0.1 + vertex 3.79886 33.7332 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.4524 33.9939 -0.1 + vertex 3.79886 33.7332 -0.1 + vertex 2.84738 34.7996 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.79886 33.7332 -0.1 + vertex 2.4524 33.9939 -0.1 + vertex 3.68366 32.8976 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.10958 33.2371 -0.1 + vertex 3.68366 32.8976 -0.1 + vertex 2.4524 33.9939 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.68366 32.8976 -0.1 + vertex 2.10958 33.2371 -0.1 + vertex 3.60924 32.0876 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.81903 32.5199 -0.1 + vertex 3.60924 32.0876 -0.1 + vertex 2.10958 33.2371 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.27855 5.76024 -0.1 + vertex 1.91748 12.4352 -0.1 + vertex 4.285 6.1855 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.57871 31.8344 -0.1 + vertex 3.60924 32.0876 -0.1 + vertex 1.81903 32.5199 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.88346 12.344 -0.1 + vertex 4.285 6.1855 -0.1 + vertex 1.91748 12.4352 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.285 6.1855 -0.1 + vertex 1.88346 12.344 -0.1 + vertex 3.31149 6.57517 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.81906 12.2515 -0.1 + vertex 3.31149 6.57517 -0.1 + vertex 1.88346 12.344 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.72214 12.1537 -0.1 + vertex 3.31149 6.57517 -0.1 + vertex 1.81906 12.2515 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.31149 6.57517 -0.1 + vertex 1.72214 12.1537 -0.1 + vertex 2.42084 6.9015 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.42228 11.926 -0.1 + vertex 2.42084 6.9015 -0.1 + vertex 1.72214 12.1537 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.42084 6.9015 -0.1 + vertex 1.42228 11.926 -0.1 + vertex 1.67583 7.13679 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.986004 11.656 -0.1 + vertex 1.67583 7.13679 -0.1 + vertex 1.42228 11.926 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.67583 7.13679 -0.1 + vertex 0.986004 11.656 -0.1 + vertex 1.30727 7.25861 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.986004 11.656 -0.1 + vertex 0.855811 7.43981 -0.1 + vertex 1.30727 7.25861 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.546849 11.4454 -0.1 + vertex 0.855811 7.43981 -0.1 + vertex 0.986004 11.656 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.23691 7.94665 -0.1 + vertex 0.546849 11.4454 -0.1 + vertex 0.0942225 11.293 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.546849 11.4454 -0.1 + vertex -0.23691 7.94665 -0.1 + vertex 0.855811 7.43981 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.382462 11.1972 -0.1 + vertex -0.23691 7.94665 -0.1 + vertex 0.0942225 11.293 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.48458 8.58988 -0.1 + vertex -0.382462 11.1972 -0.1 + vertex -0.893798 11.1566 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.48458 8.58988 -0.1 + vertex -0.893798 11.1566 -0.1 + vertex -1.45038 11.1697 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.382462 11.1972 -0.1 + vertex -1.48458 8.58988 -0.1 + vertex -0.23691 7.94665 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.76946 9.30203 -0.1 + vertex -1.45038 11.1697 -0.1 + vertex -2.06279 11.235 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.76946 9.30203 -0.1 + vertex -2.06279 11.235 -0.1 + vertex -2.74162 11.3511 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.45038 11.1697 -0.1 + vertex -2.76946 9.30203 -0.1 + vertex -1.48458 8.58988 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.97378 10.0157 -0.1 + vertex -2.74162 11.3511 -0.1 + vertex -3.43924 11.4799 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.74162 11.3511 -0.1 + vertex -3.97378 10.0157 -0.1 + vertex -2.76946 9.30203 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.06319 11.5774 -0.1 + vertex -3.97378 10.0157 -0.1 + vertex -3.43924 11.4799 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.9798 10.6633 -0.1 + vertex -4.06319 11.5774 -0.1 + vertex -4.60751 11.6434 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.06319 11.5774 -0.1 + vertex -4.9798 10.6633 -0.1 + vertex -3.97378 10.0157 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.06624 11.6776 -0.1 + vertex -4.9798 10.6633 -0.1 + vertex -4.60751 11.6434 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.06624 11.6776 -0.1 + vertex -5.37165 10.9414 -0.1 + vertex -4.9798 10.6633 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.4334 11.6797 -0.1 + vertex -5.37165 10.9414 -0.1 + vertex -5.06624 11.6776 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.4334 11.6797 -0.1 + vertex -5.66976 11.1776 -0.1 + vertex -5.37165 10.9414 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.70304 11.6495 -0.1 + vertex -5.66976 11.1776 -0.1 + vertex -5.4334 11.6797 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.85942 11.3636 -0.1 + vertex -5.70304 11.6495 -0.1 + vertex -5.79943 11.6221 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.70304 11.6495 -0.1 + vertex -5.85942 11.3636 -0.1 + vertex -5.66976 11.1776 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.8692 11.5867 -0.1 + vertex -5.85942 11.3636 -0.1 + vertex -5.79943 11.6221 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.8692 11.5867 -0.1 + vertex -5.90899 11.4352 -0.1 + vertex -5.85942 11.3636 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.91161 11.5429 -0.1 + vertex -5.90899 11.4352 -0.1 + vertex -5.8692 11.5867 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.90899 11.4352 -0.1 + vertex -5.91161 11.5429 -0.1 + vertex -5.92592 11.491 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.51759 -4.36865 -0.1 + vertex 8.0755 -3.36119 -0.1 + vertex 7.75455 -3.09522 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.2523 -4.01644 -0.1 + vertex 7.75455 -3.09522 -0.1 + vertex 7.10115 -2.48513 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.70978 -3.81721 -0.1 + vertex 7.04277 -4.97268 -0.1 + vertex 7.809 -5.75259 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.0755 -3.36119 -0.1 + vertex 6.78219 -4.68956 -0.1 + vertex 7.04277 -4.97268 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.0755 -3.36119 -0.1 + vertex 6.51759 -4.36865 -0.1 + vertex 6.78219 -4.68956 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.48552 -2.8367 -0.1 + vertex 7.10115 -2.48513 -0.1 + vertex 6.42718 -1.76788 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.75455 -3.09522 -0.1 + vertex 6.2523 -4.01644 -0.1 + vertex 6.51759 -4.36865 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.10115 -2.48513 -0.1 + vertex 5.98964 -3.63939 -0.1 + vertex 6.2523 -4.01644 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.03179 -2.01239 -0.1 + vertex 6.42718 -1.76788 -0.1 + vertex 5.79491 -1.04264 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.10115 -2.48513 -0.1 + vertex 5.48552 -2.8367 -0.1 + vertex 5.98964 -3.63939 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.65505 -1.21825 -0.1 + vertex 5.79491 -1.04264 -0.1 + vertex 5.24358 -0.384283 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.42718 -1.76788 -0.1 + vertex 5.03179 -2.01239 -0.1 + vertex 5.48552 -2.8367 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.38188 -0.506111 -0.1 + vertex 5.24358 -0.384283 -0.1 + vertex 4.83246 0.134689 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.79491 -1.04264 -0.1 + vertex 4.65505 -1.21825 -0.1 + vertex 5.03179 -2.01239 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.23886 0.0722368 -0.1 + vertex 4.83246 0.134689 -0.1 + vertex 4.62083 0.441773 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.24358 -0.384283 -0.1 + vertex 4.50386 -0.848697 -0.1 + vertex 4.65505 -1.21825 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.25257 0.464986 -0.1 + vertex 4.62083 0.441773 -0.1 + vertex 4.49221 0.674515 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.33872 0.684191 -0.1 + vertex 4.49221 0.674515 -0.1 + vertex 4.44662 0.733548 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.3737 0.738144 -0.1 + vertex 4.44662 0.733548 -0.1 + vertex 4.40839 0.754677 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.24358 -0.384283 -0.1 + vertex 4.38188 -0.506111 -0.1 + vertex 4.50386 -0.848697 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.44662 0.733548 -0.1 + vertex 4.3737 0.738144 -0.1 + vertex 4.33872 0.684191 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.49221 0.674515 -0.1 + vertex 4.33872 0.684191 -0.1 + vertex 4.25257 0.464986 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.83246 0.134689 -0.1 + vertex 4.29244 -0.196974 -0.1 + vertex 4.38188 -0.506111 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.62083 0.441773 -0.1 + vertex 4.25257 0.464986 -0.1 + vertex 4.22446 0.295049 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.83246 0.134689 -0.1 + vertex 4.23886 0.0722368 -0.1 + vertex 4.29244 -0.196974 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.62083 0.441773 -0.1 + vertex 4.22446 0.295049 -0.1 + vertex 4.23886 0.0722368 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0092 9.15168 -0.1 + vertex 8.87708 15.8492 -0.1 + vertex 14.9543 8.95485 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2183 5.95043 -0.1 + vertex 9.61741 3.25086 -0.1 + vertex 10.5842 2.40247 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1095 6.5543 -0.1 + vertex 9.29624 3.50894 -0.1 + vertex 9.61741 3.25086 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 14.9543 8.95485 -0.1 + vertex 8.87708 15.8492 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0249 7.13954 -0.1 + vertex 9.14614 3.60373 -0.1 + vertex 9.29624 3.50894 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9668 7.69881 -0.1 + vertex 8.19732 4.25764 -0.1 + vertex 8.81858 3.79581 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9543 8.95485 -0.1 + vertex 7.07462 4.9138 -0.1 + vertex 14.9262 8.72903 -0.1 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 7.75154 4.54807 -0.1 + vertex 14.9262 8.72903 -0.1 + vertex 7.07462 4.9138 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 8.87708 15.8492 -0.1 + vertex 8.83337 15.875 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.14614 3.60373 -0.1 + vertex 8.81858 3.79581 -0.1 + vertex 9.03464 3.65533 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 8.83337 15.875 -0.1 + vertex 8.76553 15.9481 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 8.76553 15.9481 -0.1 + vertex 8.57086 16.213 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9668 7.69881 -0.1 + vertex 8.81858 3.79581 -0.1 + vertex 9.14614 3.60373 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 8.57086 16.213 -0.1 + vertex 8.03973 17.0592 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9212 8.45633 -0.1 + vertex 8.00725 4.39171 -0.1 + vertex 8.19732 4.25764 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9212 8.45633 -0.1 + vertex 7.75154 4.54807 -0.1 + vertex 8.00725 4.39171 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 8.03973 17.0592 -0.1 + vertex 7.49889 18.0241 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 7.49889 18.0241 -0.1 + vertex 7.29207 18.4374 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 7.29207 18.4374 -0.1 + vertex 7.16351 18.7442 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 7.16351 18.7442 -0.1 + vertex 7.1273 18.8927 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9262 8.72903 -0.1 + vertex 7.75154 4.54807 -0.1 + vertex 14.9212 8.45633 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 7.1273 18.8927 -0.1 + vertex 7.1242 19.0144 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.1091 19.5935 -0.1 + vertex -9.25643 14.3812 -0.1 + vertex -10.9948 19.7221 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.4702 19.2748 -0.1 + vertex -9.25643 14.3812 -0.1 + vertex -11.1091 19.5935 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.25643 14.3812 -0.1 + vertex -11.4702 19.2748 -0.1 + vertex -9.98725 14.3241 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -12.0016 18.8648 -0.1 + vertex -9.98725 14.3241 -0.1 + vertex -11.4702 19.2748 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.98725 14.3241 -0.1 + vertex -12.0016 18.8648 -0.1 + vertex -10.6249 14.238 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.6249 14.238 -0.1 + vertex -12.0016 18.8648 -0.1 + vertex -11.2428 14.1101 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.8225 17.5152 -0.1 + vertex -11.2428 14.1101 -0.1 + vertex -12.0016 18.8648 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.2428 14.1101 -0.1 + vertex -13.8225 17.5152 -0.1 + vertex -11.9142 13.9281 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.9142 13.9281 -0.1 + vertex -13.8225 17.5152 -0.1 + vertex -12.7125 13.6795 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.4648 17.0612 -0.1 + vertex -12.7125 13.6795 -0.1 + vertex -13.8225 17.5152 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.9972 16.7116 -0.1 + vertex -12.7125 13.6795 -0.1 + vertex -14.4648 17.0612 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.7125 13.6795 -0.1 + vertex -14.9972 16.7116 -0.1 + vertex -13.7109 13.3517 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.4716 16.4339 -0.1 + vertex -13.7109 13.3517 -0.1 + vertex -14.9972 16.7116 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.7109 13.3517 -0.1 + vertex -15.4716 16.4339 -0.1 + vertex -14.949 12.9624 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.9397 16.1961 -0.1 + vertex -14.949 12.9624 -0.1 + vertex -15.4716 16.4339 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.4531 15.9659 -0.1 + vertex -14.949 12.9624 -0.1 + vertex -15.9397 16.1961 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.949 12.9624 -0.1 + vertex -16.4531 15.9659 -0.1 + vertex -16.0795 12.6436 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.0637 15.711 -0.1 + vertex -16.0795 12.6436 -0.1 + vertex -16.4531 15.9659 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.0795 12.6436 -0.1 + vertex -17.0637 15.711 -0.1 + vertex -16.9775 12.4282 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.4061 15.1884 -0.1 + vertex -16.9775 12.4282 -0.1 + vertex -17.0637 15.711 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9775 12.4282 -0.1 + vertex -18.4061 15.1884 -0.1 + vertex -17.3003 12.3696 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.3003 12.3696 -0.1 + vertex -18.4061 15.1884 -0.1 + vertex -17.5181 12.3491 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.5181 12.3491 -0.1 + vertex -18.4061 15.1884 -0.1 + vertex -17.9556 12.3221 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.4061 15.1884 -0.1 + vertex -18.5728 12.2484 -0.1 + vertex -17.9556 12.3221 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.7213 14.7364 -0.1 + vertex -18.5728 12.2484 -0.1 + vertex -18.4061 15.1884 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5728 12.2484 -0.1 + vertex -19.7213 14.7364 -0.1 + vertex -19.2876 12.1394 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.7213 14.7364 -0.1 + vertex -20.0181 12.0063 -0.1 + vertex -19.2876 12.1394 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.0167 14.3533 -0.1 + vertex -20.0181 12.0063 -0.1 + vertex -19.7213 14.7364 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.0181 12.0063 -0.1 + vertex -21.0167 14.3533 -0.1 + vertex -20.4772 11.9313 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.0167 14.3533 -0.1 + vertex -21.0446 11.8651 -0.1 + vertex -20.4772 11.9313 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.3001 14.0374 -0.1 + vertex -21.0446 11.8651 -0.1 + vertex -21.0167 14.3533 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.3001 14.0374 -0.1 + vertex -22.4311 11.7593 -0.1 + vertex -21.0446 11.8651 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -23.579 13.787 -0.1 + vertex -22.4311 11.7593 -0.1 + vertex -22.3001 14.0374 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.579 13.787 -0.1 + vertex -24.031 11.6901 -0.1 + vertex -22.4311 11.7593 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.8613 13.6003 -0.1 + vertex -24.031 11.6901 -0.1 + vertex -23.579 13.787 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.8613 13.6003 -0.1 + vertex -25.698 11.6586 -0.1 + vertex -24.031 11.6901 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.1544 13.4758 -0.1 + vertex -25.698 11.6586 -0.1 + vertex -24.8613 13.6003 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.1544 13.4758 -0.1 + vertex -27.2855 11.6658 -0.1 + vertex -25.698 11.6586 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.4661 13.4117 -0.1 + vertex -27.2855 11.6658 -0.1 + vertex -26.1544 13.4758 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.4661 13.4117 -0.1 + vertex -28.647 11.7129 -0.1 + vertex -27.2855 11.6658 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -29.0548 13.353 -0.1 + vertex -28.647 11.7129 -0.1 + vertex -27.4661 13.4117 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.0548 13.353 -0.1 + vertex -29.1973 11.7518 -0.1 + vertex -28.647 11.7129 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -29.5683 13.309 -0.1 + vertex -29.1973 11.7518 -0.1 + vertex -29.0548 13.353 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.5683 13.309 -0.1 + vertex -29.6362 11.801 -0.1 + vertex -29.1973 11.7518 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3556 12.4664 -0.1 + vertex -29.5683 13.309 -0.1 + vertex -29.9294 13.2465 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.5683 13.309 -0.1 + vertex -30.2975 12.2549 -0.1 + vertex -29.6362 11.801 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.6362 11.801 -0.1 + vertex -30.2975 12.2549 -0.1 + vertex -29.9453 11.8607 -0.1 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -30.2115 12.0683 -0.1 + vertex -29.9453 11.8607 -0.1 + vertex -30.2975 12.2549 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.377 12.6783 -0.1 + vertex -29.9294 13.2465 -0.1 + vertex -30.1646 13.1588 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.9453 11.8607 -0.1 + vertex -30.2115 12.0683 -0.1 + vertex -30.0456 11.8946 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3621 12.8813 -0.1 + vertex -30.1646 13.1588 -0.1 + vertex -30.2432 13.1034 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.0456 11.8946 -0.1 + vertex -30.2115 12.0683 -0.1 + vertex -30.1065 11.9311 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3387 12.9655 -0.1 + vertex -30.2432 13.1034 -0.1 + vertex -30.3001 13.0393 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.2432 13.1034 -0.1 + vertex -30.3387 12.9655 -0.1 + vertex -30.3621 12.8813 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.5683 13.309 -0.1 + vertex -30.3556 12.4664 -0.1 + vertex -30.2975 12.2549 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1646 13.1588 -0.1 + vertex -30.3621 12.8813 -0.1 + vertex -30.377 12.6783 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.9294 13.2465 -0.1 + vertex -30.377 12.6783 -0.1 + vertex -30.3556 12.4664 -0.1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.053 23.8437 -0.1 + vertex -24.1455 19.0472 -0.1 + vertex -24.6523 24.0122 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.1455 19.0472 -0.1 + vertex -26.053 23.8437 -0.1 + vertex -25.9619 18.9589 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.3394 21.9725 -0.1 + vertex -26.053 23.8437 -0.1 + vertex -26.7338 23.7794 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.053 23.8437 -0.1 + vertex -28.3394 21.9725 -0.1 + vertex -25.9619 18.9589 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.3394 21.9725 -0.1 + vertex -26.7338 23.7794 -0.1 + vertex -27.3569 23.7586 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.9619 18.9589 -0.1 + vertex -28.3394 21.9725 -0.1 + vertex -26.7887 18.9409 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.3394 21.9725 -0.1 + vertex -27.3569 23.7586 -0.1 + vertex -27.9279 23.7822 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.7887 18.9409 -0.1 + vertex -28.3394 21.9725 -0.1 + vertex -27.5469 18.9414 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.5469 18.9414 -0.1 + vertex -28.3394 21.9725 -0.1 + vertex -28.2256 18.9609 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.0186 22.3563 -0.1 + vertex -27.9279 23.7822 -0.1 + vertex -28.4524 23.8513 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.4321 22.5993 -0.1 + vertex -28.4524 23.8513 -0.1 + vertex -28.9359 23.9669 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.9279 23.7822 -0.1 + vertex -29.0186 22.3563 -0.1 + vertex -28.3394 21.9725 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.7937 22.8325 -0.1 + vertex -28.9359 23.9669 -0.1 + vertex -29.384 24.13 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.4524 23.8513 -0.1 + vertex -29.4321 22.5993 -0.1 + vertex -29.0186 22.3563 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.9359 23.9669 -0.1 + vertex -29.7937 22.8325 -0.1 + vertex -29.4321 22.5993 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3761 23.2826 -0.1 + vertex -29.384 24.13 -0.1 + vertex -29.8023 24.3416 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.384 24.13 -0.1 + vertex -30.1071 23.0591 -0.1 + vertex -29.7937 22.8325 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.7957 23.7338 -0.1 + vertex -29.8023 24.3416 -0.1 + vertex -30.1964 24.6027 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.384 24.13 -0.1 + vertex -30.3761 23.2826 -0.1 + vertex -30.1071 23.0591 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.0826 24.213 -0.1 + vertex -30.1964 24.6027 -0.1 + vertex -30.5308 24.8328 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.8023 24.3416 -0.1 + vertex -30.6044 23.5064 -0.1 + vertex -30.3761 23.2826 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.8023 24.3416 -0.1 + vertex -30.7957 23.7338 -0.1 + vertex -30.6044 23.5064 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2103 24.5339 -0.1 + vertex -30.5308 24.8328 -0.1 + vertex -30.8055 24.9813 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1964 24.6027 -0.1 + vertex -30.9539 23.9682 -0.1 + vertex -30.7957 23.7338 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2656 24.779 -0.1 + vertex -30.8055 24.9813 -0.1 + vertex -31.0185 25.0493 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1964 24.6027 -0.1 + vertex -31.0826 24.213 -0.1 + vertex -30.9539 23.9682 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2668 24.8727 -0.1 + vertex -31.0185 25.0493 -0.1 + vertex -31.1012 25.0533 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2507 24.9472 -0.1 + vertex -31.1012 25.0533 -0.1 + vertex -31.1676 25.0376 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.5308 24.8328 -0.1 + vertex -31.2103 24.5339 -0.1 + vertex -31.0826 24.213 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2507 24.9472 -0.1 + vertex -31.1676 25.0376 -0.1 + vertex -31.2175 25.0021 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.1012 25.0533 -0.1 + vertex -31.2507 24.9472 -0.1 + vertex -31.2668 24.8727 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.8055 24.9813 -0.1 + vertex -31.2656 24.779 -0.1 + vertex -31.2103 24.5339 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.0185 25.0493 -0.1 + vertex -31.2668 24.8727 -0.1 + vertex -31.2656 24.779 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.3394 21.9725 -0.1 + vertex -28.8137 19.0002 -0.1 + vertex -28.2256 18.9609 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.3394 21.9725 -0.1 + vertex -29.3006 19.0599 -0.1 + vertex -28.8137 19.0002 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.3394 21.9725 -0.1 + vertex -29.6752 19.1409 -0.1 + vertex -29.3006 19.0599 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.0859 22.0525 -0.1 + vertex -29.6752 19.1409 -0.1 + vertex -28.3394 21.9725 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.5811 19.4165 -0.1 + vertex -30.0859 22.0525 -0.1 + vertex -30.5728 22.0884 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.0859 22.0525 -0.1 + vertex -30.5811 19.4165 -0.1 + vertex -29.6752 19.1409 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.4466 19.7034 -0.1 + vertex -30.5728 22.0884 -0.1 + vertex -31.074 22.1513 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.5728 22.0884 -0.1 + vertex -31.4466 19.7034 -0.1 + vertex -30.5811 19.4165 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.271 20.0012 -0.1 + vertex -31.074 22.1513 -0.1 + vertex -31.5861 22.2399 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.271 20.0012 -0.1 + vertex -31.5861 22.2399 -0.1 + vertex -32.1061 22.3529 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.074 22.1513 -0.1 + vertex -32.271 20.0012 -0.1 + vertex -31.4466 19.7034 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.0533 20.3093 -0.1 + vertex -32.1061 22.3529 -0.1 + vertex -32.6306 22.489 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.1061 22.3529 -0.1 + vertex -33.0533 20.3093 -0.1 + vertex -32.271 20.0012 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.7926 20.6272 -0.1 + vertex -32.6306 22.489 -0.1 + vertex -33.1564 22.6469 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.4881 20.9542 -0.1 + vertex -33.1564 22.6469 -0.1 + vertex -33.6803 22.8253 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.6306 22.489 -0.1 + vertex -33.7926 20.6272 -0.1 + vertex -33.0533 20.3093 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.4881 20.9542 -0.1 + vertex -33.6803 22.8253 -0.1 + vertex -34.199 23.023 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.1564 22.6469 -0.1 + vertex -34.4881 20.9542 -0.1 + vertex -33.7926 20.6272 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.1386 21.2899 -0.1 + vertex -34.199 23.023 -0.1 + vertex -34.7094 23.2385 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.199 23.023 -0.1 + vertex -35.1386 21.2899 -0.1 + vertex -34.4881 20.9542 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.7435 21.6336 -0.1 + vertex -34.7094 23.2385 -0.1 + vertex -35.2082 23.4707 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.3017 21.985 -0.1 + vertex -35.2082 23.4707 -0.1 + vertex -35.6921 23.7183 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.7094 23.2385 -0.1 + vertex -35.7435 21.6336 -0.1 + vertex -35.1386 21.2899 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.8124 22.3433 -0.1 + vertex -35.6921 23.7183 -0.1 + vertex -36.1579 23.9798 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.2082 23.4707 -0.1 + vertex -36.3017 21.985 -0.1 + vertex -35.7435 21.6336 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.2746 22.7082 -0.1 + vertex -36.1579 23.9798 -0.1 + vertex -36.6025 24.2541 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.6921 23.7183 -0.1 + vertex -36.8124 22.3433 -0.1 + vertex -36.3017 21.985 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.6874 23.0789 -0.1 + vertex -36.6025 24.2541 -0.1 + vertex -37.0225 24.5398 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.1579 23.9798 -0.1 + vertex -37.2746 22.7082 -0.1 + vertex -36.8124 22.3433 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.3611 23.836 -0.1 + vertex -37.0225 24.5398 -0.1 + vertex -37.4147 24.8357 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.6025 24.2541 -0.1 + vertex -37.6874 23.0789 -0.1 + vertex -37.2746 22.7082 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.6203 24.2212 -0.1 + vertex -37.4147 24.8357 -0.1 + vertex -37.776 25.1404 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.0225 24.5398 -0.1 + vertex -38.0499 23.455 -0.1 + vertex -37.6874 23.0789 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.8265 24.6102 -0.1 + vertex -37.776 25.1404 -0.1 + vertex -38.2113 25.5018 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.0225 24.5398 -0.1 + vertex -38.3611 23.836 -0.1 + vertex -38.0499 23.455 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.0227 25.0923 -0.1 + vertex -38.2113 25.5018 -0.1 + vertex -38.5664 25.7376 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.4147 24.8357 -0.1 + vertex -38.6203 24.2212 -0.1 + vertex -38.3611 23.836 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.1186 25.4589 -0.1 + vertex -38.5664 25.7376 -0.1 + vertex -38.7129 25.8089 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.776 25.1404 -0.1 + vertex -38.8265 24.6102 -0.1 + vertex -38.6203 24.2212 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.13 25.5984 -0.1 + vertex -38.7129 25.8089 -0.1 + vertex -38.8381 25.8495 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.1175 25.7085 -0.1 + vertex -38.8381 25.8495 -0.1 + vertex -38.9416 25.8595 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.2113 25.5018 -0.1 + vertex -39.0227 25.0923 -0.1 + vertex -38.8265 24.6102 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.0817 25.7888 -0.1 + vertex -38.9416 25.8595 -0.1 + vertex -39.0229 25.8392 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.9416 25.8595 -0.1 + vertex -39.0817 25.7888 -0.1 + vertex -39.1175 25.7085 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.8381 25.8495 -0.1 + vertex -39.1175 25.7085 -0.1 + vertex -39.13 25.5984 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.5664 25.7376 -0.1 + vertex -39.1186 25.4589 -0.1 + vertex -39.0227 25.0923 -0.1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.7129 25.8089 -0.1 + vertex -39.13 25.5984 -0.1 + vertex -39.1186 25.4589 -0.1 + endloop + endfacet + facet normal -0.668491 -0.74372 0 + outer loop + vertex 5.20457 38.5758 -0.1 + vertex 5.23504 38.5484 0 + vertex 5.20457 38.5758 0 + endloop + endfacet + facet normal -0.668491 -0.74372 -0 + outer loop + vertex 5.23504 38.5484 0 + vertex 5.20457 38.5758 -0.1 + vertex 5.23504 38.5484 -0.1 + endloop + endfacet + facet normal -0.96052 -0.278211 0 + outer loop + vertex 5.26494 38.4452 -0.1 + vertex 5.23504 38.5484 0 + vertex 5.23504 38.5484 -0.1 + endloop + endfacet + facet normal -0.96052 -0.278211 0 + outer loop + vertex 5.23504 38.5484 0 + vertex 5.26494 38.4452 -0.1 + vertex 5.26494 38.4452 0 + endloop + endfacet + facet normal -0.998404 0.0564745 0 + outer loop + vertex 5.25596 38.2865 -0.1 + vertex 5.26494 38.4452 0 + vertex 5.26494 38.4452 -0.1 + endloop + endfacet + facet normal -0.998404 0.0564745 0 + outer loop + vertex 5.26494 38.4452 0 + vertex 5.25596 38.2865 -0.1 + vertex 5.25596 38.2865 0 + endloop + endfacet + facet normal -0.976561 0.215243 0 + outer loop + vertex 5.21112 38.083 -0.1 + vertex 5.25596 38.2865 0 + vertex 5.25596 38.2865 -0.1 + endloop + endfacet + facet normal -0.976561 0.215243 0 + outer loop + vertex 5.25596 38.2865 0 + vertex 5.21112 38.083 -0.1 + vertex 5.21112 38.083 0 + endloop + endfacet + facet normal -0.950355 0.311168 0 + outer loop + vertex 5.13345 37.8458 -0.1 + vertex 5.21112 38.083 0 + vertex 5.21112 38.083 -0.1 + endloop + endfacet + facet normal -0.950355 0.311168 0 + outer loop + vertex 5.21112 38.083 0 + vertex 5.13345 37.8458 -0.1 + vertex 5.13345 37.8458 0 + endloop + endfacet + facet normal -0.924228 0.381841 0 + outer loop + vertex 5.02596 37.5856 -0.1 + vertex 5.13345 37.8458 0 + vertex 5.13345 37.8458 -0.1 + endloop + endfacet + facet normal -0.924228 0.381841 0 + outer loop + vertex 5.13345 37.8458 0 + vertex 5.02596 37.5856 -0.1 + vertex 5.02596 37.5856 0 + endloop + endfacet + facet normal -0.896839 0.442358 0 + outer loop + vertex 4.89167 37.3134 -0.1 + vertex 5.02596 37.5856 0 + vertex 5.02596 37.5856 -0.1 + endloop + endfacet + facet normal -0.896839 0.442358 0 + outer loop + vertex 5.02596 37.5856 0 + vertex 4.89167 37.3134 -0.1 + vertex 4.89167 37.3134 0 + endloop + endfacet + facet normal -0.865785 0.500416 0 + outer loop + vertex 4.73361 37.0399 -0.1 + vertex 4.89167 37.3134 0 + vertex 4.89167 37.3134 -0.1 + endloop + endfacet + facet normal -0.865785 0.500416 0 + outer loop + vertex 4.89167 37.3134 0 + vertex 4.73361 37.0399 -0.1 + vertex 4.73361 37.0399 0 + endloop + endfacet + facet normal -0.875928 0.482442 0 + outer loop + vertex 4.62814 36.8484 -0.1 + vertex 4.73361 37.0399 0 + vertex 4.73361 37.0399 -0.1 + endloop + endfacet + facet normal -0.875928 0.482442 0 + outer loop + vertex 4.73361 37.0399 0 + vertex 4.62814 36.8484 -0.1 + vertex 4.62814 36.8484 0 + endloop + endfacet + facet normal -0.912281 0.409566 0 + outer loop + vertex 4.52293 36.6141 -0.1 + vertex 4.62814 36.8484 0 + vertex 4.62814 36.8484 -0.1 + endloop + endfacet + facet normal -0.912281 0.409566 0 + outer loop + vertex 4.62814 36.8484 0 + vertex 4.52293 36.6141 -0.1 + vertex 4.52293 36.6141 0 + endloop + endfacet + facet normal -0.942197 0.335061 0 + outer loop + vertex 4.31688 36.0346 -0.1 + vertex 4.52293 36.6141 0 + vertex 4.52293 36.6141 -0.1 + endloop + endfacet + facet normal -0.942197 0.335061 0 + outer loop + vertex 4.52293 36.6141 0 + vertex 4.31688 36.0346 -0.1 + vertex 4.31688 36.0346 0 + endloop + endfacet + facet normal -0.963331 0.268317 0 + outer loop + vertex 4.1227 35.3375 -0.1 + vertex 4.31688 36.0346 0 + vertex 4.31688 36.0346 -0.1 + endloop + endfacet + facet normal -0.963331 0.268317 0 + outer loop + vertex 4.31688 36.0346 0 + vertex 4.1227 35.3375 -0.1 + vertex 4.1227 35.3375 0 + endloop + endfacet + facet normal -0.975667 0.219257 0 + outer loop + vertex 3.94762 34.5584 -0.1 + vertex 4.1227 35.3375 0 + vertex 4.1227 35.3375 -0.1 + endloop + endfacet + facet normal -0.975667 0.219257 0 + outer loop + vertex 4.1227 35.3375 0 + vertex 3.94762 34.5584 -0.1 + vertex 3.94762 34.5584 0 + endloop + endfacet + facet normal -0.984138 0.177404 0 + outer loop + vertex 3.79886 33.7332 -0.1 + vertex 3.94762 34.5584 0 + vertex 3.94762 34.5584 -0.1 + endloop + endfacet + facet normal -0.984138 0.177404 0 + outer loop + vertex 3.94762 34.5584 0 + vertex 3.79886 33.7332 -0.1 + vertex 3.79886 33.7332 0 + endloop + endfacet + facet normal -0.990628 0.136587 0 + outer loop + vertex 3.68366 32.8976 -0.1 + vertex 3.79886 33.7332 0 + vertex 3.79886 33.7332 -0.1 + endloop + endfacet + facet normal -0.990628 0.136587 0 + outer loop + vertex 3.79886 33.7332 0 + vertex 3.68366 32.8976 -0.1 + vertex 3.68366 32.8976 0 + endloop + endfacet + facet normal -0.995806 0.0914898 0 + outer loop + vertex 3.60924 32.0876 -0.1 + vertex 3.68366 32.8976 0 + vertex 3.68366 32.8976 -0.1 + endloop + endfacet + facet normal -0.995806 0.0914898 0 + outer loop + vertex 3.68366 32.8976 0 + vertex 3.60924 32.0876 -0.1 + vertex 3.60924 32.0876 0 + endloop + endfacet + facet normal -0.999378 0.0352546 0 + outer loop + vertex 3.58282 31.3388 -0.1 + vertex 3.60924 32.0876 0 + vertex 3.60924 32.0876 -0.1 + endloop + endfacet + facet normal -0.999378 0.0352546 0 + outer loop + vertex 3.60924 32.0876 0 + vertex 3.58282 31.3388 -0.1 + vertex 3.58282 31.3388 0 + endloop + endfacet + facet normal -0.999852 -0.0171991 0 + outer loop + vertex 3.59957 30.3654 -0.1 + vertex 3.58282 31.3388 0 + vertex 3.58282 31.3388 -0.1 + endloop + endfacet + facet normal -0.999852 -0.0171991 0 + outer loop + vertex 3.58282 31.3388 0 + vertex 3.59957 30.3654 -0.1 + vertex 3.59957 30.3654 0 + endloop + endfacet + facet normal -0.995876 -0.0907198 0 + outer loop + vertex 3.63162 30.0135 -0.1 + vertex 3.59957 30.3654 0 + vertex 3.59957 30.3654 -0.1 + endloop + endfacet + facet normal -0.995876 -0.0907198 0 + outer loop + vertex 3.59957 30.3654 0 + vertex 3.63162 30.0135 -0.1 + vertex 3.63162 30.0135 0 + endloop + endfacet + facet normal -0.982044 -0.188652 0 + outer loop + vertex 3.68937 29.7129 -0.1 + vertex 3.63162 30.0135 0 + vertex 3.63162 30.0135 -0.1 + endloop + endfacet + facet normal -0.982044 -0.188652 0 + outer loop + vertex 3.63162 30.0135 0 + vertex 3.68937 29.7129 -0.1 + vertex 3.68937 29.7129 0 + endloop + endfacet + facet normal -0.950581 -0.310477 0 + outer loop + vertex 3.78021 29.4348 -0.1 + vertex 3.68937 29.7129 0 + vertex 3.68937 29.7129 -0.1 + endloop + endfacet + facet normal -0.950581 -0.310477 0 + outer loop + vertex 3.68937 29.7129 0 + vertex 3.78021 29.4348 -0.1 + vertex 3.78021 29.4348 0 + endloop + endfacet + facet normal -0.907937 -0.419107 0 + outer loop + vertex 3.91157 29.1502 -0.1 + vertex 3.78021 29.4348 0 + vertex 3.78021 29.4348 -0.1 + endloop + endfacet + facet normal -0.907937 -0.419107 0 + outer loop + vertex 3.78021 29.4348 0 + vertex 3.91157 29.1502 -0.1 + vertex 3.91157 29.1502 0 + endloop + endfacet + facet normal -0.872337 -0.488905 0 + outer loop + vertex 4.09087 28.8303 -0.1 + vertex 3.91157 29.1502 0 + vertex 3.91157 29.1502 -0.1 + endloop + endfacet + facet normal -0.872337 -0.488905 0 + outer loop + vertex 3.91157 29.1502 0 + vertex 4.09087 28.8303 -0.1 + vertex 4.09087 28.8303 0 + endloop + endfacet + facet normal -0.853386 -0.52128 0 + outer loop + vertex 4.32553 28.4461 -0.1 + vertex 4.09087 28.8303 0 + vertex 4.09087 28.8303 -0.1 + endloop + endfacet + facet normal -0.853386 -0.52128 0 + outer loop + vertex 4.09087 28.8303 0 + vertex 4.32553 28.4461 -0.1 + vertex 4.32553 28.4461 0 + endloop + endfacet + facet normal -0.837817 -0.545951 0 + outer loop + vertex 4.69711 27.8759 -0.1 + vertex 4.32553 28.4461 0 + vertex 4.32553 28.4461 -0.1 + endloop + endfacet + facet normal -0.837817 -0.545951 0 + outer loop + vertex 4.32553 28.4461 0 + vertex 4.69711 27.8759 -0.1 + vertex 4.69711 27.8759 0 + endloop + endfacet + facet normal -0.807831 -0.589415 0 + outer loop + vertex 5.05276 27.3884 -0.1 + vertex 4.69711 27.8759 0 + vertex 4.69711 27.8759 -0.1 + endloop + endfacet + facet normal -0.807831 -0.589415 0 + outer loop + vertex 4.69711 27.8759 0 + vertex 5.05276 27.3884 -0.1 + vertex 5.05276 27.3884 0 + endloop + endfacet + facet normal -0.764742 -0.644337 0 + outer loop + vertex 5.39739 26.9794 -0.1 + vertex 5.05276 27.3884 0 + vertex 5.05276 27.3884 -0.1 + endloop + endfacet + facet normal -0.764742 -0.644337 0 + outer loop + vertex 5.05276 27.3884 0 + vertex 5.39739 26.9794 -0.1 + vertex 5.39739 26.9794 0 + endloop + endfacet + facet normal -0.703379 -0.710815 0 + outer loop + vertex 5.39739 26.9794 -0.1 + vertex 5.73586 26.6445 0 + vertex 5.39739 26.9794 0 + endloop + endfacet + facet normal -0.703379 -0.710815 -0 + outer loop + vertex 5.73586 26.6445 0 + vertex 5.39739 26.9794 -0.1 + vertex 5.73586 26.6445 -0.1 + endloop + endfacet + facet normal -0.618154 -0.786057 0 + outer loop + vertex 5.73586 26.6445 -0.1 + vertex 6.07308 26.3793 0 + vertex 5.73586 26.6445 0 + endloop + endfacet + facet normal -0.618154 -0.786057 -0 + outer loop + vertex 6.07308 26.3793 0 + vertex 5.73586 26.6445 -0.1 + vertex 6.07308 26.3793 -0.1 + endloop + endfacet + facet normal -0.505671 -0.862726 0 + outer loop + vertex 6.07308 26.3793 -0.1 + vertex 6.41393 26.1795 0 + vertex 6.07308 26.3793 0 + endloop + endfacet + facet normal -0.505671 -0.862726 -0 + outer loop + vertex 6.41393 26.1795 0 + vertex 6.07308 26.3793 -0.1 + vertex 6.41393 26.1795 -0.1 + endloop + endfacet + facet normal -0.369033 -0.929416 0 + outer loop + vertex 6.41393 26.1795 -0.1 + vertex 6.76329 26.0408 0 + vertex 6.41393 26.1795 0 + endloop + endfacet + facet normal -0.369033 -0.929416 -0 + outer loop + vertex 6.76329 26.0408 0 + vertex 6.41393 26.1795 -0.1 + vertex 6.76329 26.0408 -0.1 + endloop + endfacet + facet normal -0.220456 -0.975397 0 + outer loop + vertex 6.76329 26.0408 -0.1 + vertex 7.12606 25.9588 0 + vertex 6.76329 26.0408 0 + endloop + endfacet + facet normal -0.220456 -0.975397 -0 + outer loop + vertex 7.12606 25.9588 0 + vertex 6.76329 26.0408 -0.1 + vertex 7.12606 25.9588 -0.1 + endloop + endfacet + facet normal -0.188841 -0.982008 0 + outer loop + vertex 7.12606 25.9588 -0.1 + vertex 7.55919 25.8755 0 + vertex 7.12606 25.9588 0 + endloop + endfacet + facet normal -0.188841 -0.982008 -0 + outer loop + vertex 7.55919 25.8755 0 + vertex 7.12606 25.9588 -0.1 + vertex 7.55919 25.8755 -0.1 + endloop + endfacet + facet normal -0.317419 -0.948285 0 + outer loop + vertex 7.55919 25.8755 -0.1 + vertex 7.92584 25.7528 0 + vertex 7.55919 25.8755 0 + endloop + endfacet + facet normal -0.317419 -0.948285 -0 + outer loop + vertex 7.92584 25.7528 0 + vertex 7.55919 25.8755 -0.1 + vertex 7.92584 25.7528 -0.1 + endloop + endfacet + facet normal -0.448547 -0.893759 0 + outer loop + vertex 7.92584 25.7528 -0.1 + vertex 8.08977 25.6705 0 + vertex 7.92584 25.7528 0 + endloop + endfacet + facet normal -0.448547 -0.893759 -0 + outer loop + vertex 8.08977 25.6705 0 + vertex 7.92584 25.7528 -0.1 + vertex 8.08977 25.6705 -0.1 + endloop + endfacet + facet normal -0.542679 -0.83994 0 + outer loop + vertex 8.08977 25.6705 -0.1 + vertex 8.24373 25.571 0 + vertex 8.08977 25.6705 0 + endloop + endfacet + facet normal -0.542679 -0.83994 -0 + outer loop + vertex 8.24373 25.571 0 + vertex 8.08977 25.6705 -0.1 + vertex 8.24373 25.571 -0.1 + endloop + endfacet + facet normal -0.63165 -0.775254 0 + outer loop + vertex 8.24373 25.571 -0.1 + vertex 8.38993 25.4519 0 + vertex 8.24373 25.571 0 + endloop + endfacet + facet normal -0.63165 -0.775254 -0 + outer loop + vertex 8.38993 25.4519 0 + vertex 8.24373 25.571 -0.1 + vertex 8.38993 25.4519 -0.1 + endloop + endfacet + facet normal -0.708493 -0.705718 0 + outer loop + vertex 8.53058 25.3107 -0.1 + vertex 8.38993 25.4519 0 + vertex 8.38993 25.4519 -0.1 + endloop + endfacet + facet normal -0.708493 -0.705718 0 + outer loop + vertex 8.38993 25.4519 0 + vertex 8.53058 25.3107 -0.1 + vertex 8.53058 25.3107 0 + endloop + endfacet + facet normal -0.770043 -0.637991 0 + outer loop + vertex 8.6679 25.145 -0.1 + vertex 8.53058 25.3107 0 + vertex 8.53058 25.3107 -0.1 + endloop + endfacet + facet normal -0.770043 -0.637991 0 + outer loop + vertex 8.53058 25.3107 0 + vertex 8.6679 25.145 -0.1 + vertex 8.6679 25.145 0 + endloop + endfacet + facet normal -0.816637 -0.577152 0 + outer loop + vertex 8.80411 24.9522 -0.1 + vertex 8.6679 25.145 0 + vertex 8.6679 25.145 -0.1 + endloop + endfacet + facet normal -0.816637 -0.577152 0 + outer loop + vertex 8.6679 25.145 0 + vertex 8.80411 24.9522 -0.1 + vertex 8.80411 24.9522 0 + endloop + endfacet + facet normal -0.863652 -0.504088 0 + outer loop + vertex 9.08206 24.476 -0.1 + vertex 8.80411 24.9522 0 + vertex 8.80411 24.9522 -0.1 + endloop + endfacet + facet normal -0.863652 -0.504088 0 + outer loop + vertex 8.80411 24.9522 0 + vertex 9.08206 24.476 -0.1 + vertex 9.08206 24.476 0 + endloop + endfacet + facet normal -0.8983 -0.439382 0 + outer loop + vertex 9.38213 23.8626 -0.1 + vertex 9.08206 24.476 0 + vertex 9.08206 24.476 -0.1 + endloop + endfacet + facet normal -0.8983 -0.439382 0 + outer loop + vertex 9.08206 24.476 0 + vertex 9.38213 23.8626 -0.1 + vertex 9.38213 23.8626 0 + endloop + endfacet + facet normal -0.914889 -0.403706 0 + outer loop + vertex 9.72206 23.0922 -0.1 + vertex 9.38213 23.8626 0 + vertex 9.38213 23.8626 -0.1 + endloop + endfacet + facet normal -0.914889 -0.403706 0 + outer loop + vertex 9.38213 23.8626 0 + vertex 9.72206 23.0922 -0.1 + vertex 9.72206 23.0922 0 + endloop + endfacet + facet normal -0.916786 -0.399379 0 + outer loop + vertex 10.0801 22.2703 -0.1 + vertex 9.72206 23.0922 0 + vertex 9.72206 23.0922 -0.1 + endloop + endfacet + facet normal -0.916786 -0.399379 0 + outer loop + vertex 9.72206 23.0922 0 + vertex 10.0801 22.2703 -0.1 + vertex 10.0801 22.2703 0 + endloop + endfacet + facet normal -0.906506 -0.422192 0 + outer loop + vertex 10.3935 21.5973 -0.1 + vertex 10.0801 22.2703 0 + vertex 10.0801 22.2703 -0.1 + endloop + endfacet + facet normal -0.906506 -0.422192 0 + outer loop + vertex 10.0801 22.2703 0 + vertex 10.3935 21.5973 -0.1 + vertex 10.3935 21.5973 0 + endloop + endfacet + facet normal -0.886025 -0.463638 0 + outer loop + vertex 10.6869 21.0368 -0.1 + vertex 10.3935 21.5973 0 + vertex 10.3935 21.5973 -0.1 + endloop + endfacet + facet normal -0.886025 -0.463638 0 + outer loop + vertex 10.3935 21.5973 0 + vertex 10.6869 21.0368 -0.1 + vertex 10.6869 21.0368 0 + endloop + endfacet + facet normal -0.852053 -0.523456 0 + outer loop + vertex 10.9846 20.5521 -0.1 + vertex 10.6869 21.0368 0 + vertex 10.6869 21.0368 -0.1 + endloop + endfacet + facet normal -0.852053 -0.523456 0 + outer loop + vertex 10.6869 21.0368 0 + vertex 10.9846 20.5521 -0.1 + vertex 10.9846 20.5521 0 + endloop + endfacet + facet normal -0.806267 -0.591552 0 + outer loop + vertex 11.3113 20.1069 -0.1 + vertex 10.9846 20.5521 0 + vertex 10.9846 20.5521 -0.1 + endloop + endfacet + facet normal -0.806267 -0.591552 0 + outer loop + vertex 10.9846 20.5521 0 + vertex 11.3113 20.1069 -0.1 + vertex 11.3113 20.1069 0 + endloop + endfacet + facet normal -0.758443 -0.65174 0 + outer loop + vertex 11.6914 19.6646 -0.1 + vertex 11.3113 20.1069 0 + vertex 11.3113 20.1069 -0.1 + endloop + endfacet + facet normal -0.758443 -0.65174 0 + outer loop + vertex 11.3113 20.1069 0 + vertex 11.6914 19.6646 -0.1 + vertex 11.6914 19.6646 0 + endloop + endfacet + facet normal -0.720518 -0.693437 0 + outer loop + vertex 12.1494 19.1886 -0.1 + vertex 11.6914 19.6646 0 + vertex 11.6914 19.6646 -0.1 + endloop + endfacet + facet normal -0.720518 -0.693437 0 + outer loop + vertex 11.6914 19.6646 0 + vertex 12.1494 19.1886 -0.1 + vertex 12.1494 19.1886 0 + endloop + endfacet + facet normal -0.697808 -0.716285 0 + outer loop + vertex 12.1494 19.1886 -0.1 + vertex 12.71 18.6425 0 + vertex 12.1494 19.1886 0 + endloop + endfacet + facet normal -0.697808 -0.716285 -0 + outer loop + vertex 12.71 18.6425 0 + vertex 12.1494 19.1886 -0.1 + vertex 12.71 18.6425 -0.1 + endloop + endfacet + facet normal -0.680991 -0.732292 0 + outer loop + vertex 12.71 18.6425 -0.1 + vertex 13.3813 18.0182 0 + vertex 12.71 18.6425 0 + endloop + endfacet + facet normal -0.680991 -0.732292 -0 + outer loop + vertex 13.3813 18.0182 0 + vertex 12.71 18.6425 -0.1 + vertex 13.3813 18.0182 -0.1 + endloop + endfacet + facet normal -0.650845 -0.759211 0 + outer loop + vertex 13.3813 18.0182 -0.1 + vertex 14.0017 17.4864 0 + vertex 13.3813 18.0182 0 + endloop + endfacet + facet normal -0.650845 -0.759211 -0 + outer loop + vertex 14.0017 17.4864 0 + vertex 13.3813 18.0182 -0.1 + vertex 14.0017 17.4864 -0.1 + endloop + endfacet + facet normal -0.606609 -0.795001 0 + outer loop + vertex 14.0017 17.4864 -0.1 + vertex 14.6028 17.0277 0 + vertex 14.0017 17.4864 0 + endloop + endfacet + facet normal -0.606609 -0.795001 -0 + outer loop + vertex 14.6028 17.0277 0 + vertex 14.0017 17.4864 -0.1 + vertex 14.6028 17.0277 -0.1 + endloop + endfacet + facet normal -0.550734 -0.834681 0 + outer loop + vertex 14.6028 17.0277 -0.1 + vertex 15.2162 16.623 0 + vertex 14.6028 17.0277 0 + endloop + endfacet + facet normal -0.550734 -0.834681 -0 + outer loop + vertex 15.2162 16.623 0 + vertex 14.6028 17.0277 -0.1 + vertex 15.2162 16.623 -0.1 + endloop + endfacet + facet normal -0.490625 -0.871371 0 + outer loop + vertex 15.2162 16.623 -0.1 + vertex 15.8738 16.2527 0 + vertex 15.2162 16.623 0 + endloop + endfacet + facet normal -0.490625 -0.871371 -0 + outer loop + vertex 15.8738 16.2527 0 + vertex 15.2162 16.623 -0.1 + vertex 15.8738 16.2527 -0.1 + endloop + endfacet + facet normal -0.435747 -0.900069 0 + outer loop + vertex 15.8738 16.2527 -0.1 + vertex 16.6072 15.8977 0 + vertex 15.8738 16.2527 0 + endloop + endfacet + facet normal -0.435747 -0.900069 -0 + outer loop + vertex 16.6072 15.8977 0 + vertex 15.8738 16.2527 -0.1 + vertex 16.6072 15.8977 -0.1 + endloop + endfacet + facet normal -0.392812 -0.919619 0 + outer loop + vertex 16.6072 15.8977 -0.1 + vertex 17.448 15.5385 0 + vertex 16.6072 15.8977 0 + endloop + endfacet + facet normal -0.392812 -0.919619 -0 + outer loop + vertex 17.448 15.5385 0 + vertex 16.6072 15.8977 -0.1 + vertex 17.448 15.5385 -0.1 + endloop + endfacet + facet normal -0.36368 -0.931524 0 + outer loop + vertex 17.448 15.5385 -0.1 + vertex 18.4281 15.1559 0 + vertex 17.448 15.5385 0 + endloop + endfacet + facet normal -0.36368 -0.931524 -0 + outer loop + vertex 18.4281 15.1559 0 + vertex 17.448 15.5385 -0.1 + vertex 18.4281 15.1559 -0.1 + endloop + endfacet + facet normal -0.343445 -0.939173 0 + outer loop + vertex 18.4281 15.1559 -0.1 + vertex 19.4469 14.7833 0 + vertex 18.4281 15.1559 0 + endloop + endfacet + facet normal -0.343445 -0.939173 -0 + outer loop + vertex 19.4469 14.7833 0 + vertex 18.4281 15.1559 -0.1 + vertex 19.4469 14.7833 -0.1 + endloop + endfacet + facet normal -0.28492 -0.958551 0 + outer loop + vertex 19.4469 14.7833 -0.1 + vertex 19.7955 14.6797 0 + vertex 19.4469 14.7833 0 + endloop + endfacet + facet normal -0.28492 -0.958551 -0 + outer loop + vertex 19.7955 14.6797 0 + vertex 19.4469 14.7833 -0.1 + vertex 19.7955 14.6797 -0.1 + endloop + endfacet + facet normal -0.184649 -0.982804 0 + outer loop + vertex 19.7955 14.6797 -0.1 + vertex 20.0785 14.6265 0 + vertex 19.7955 14.6797 0 + endloop + endfacet + facet normal -0.184649 -0.982804 -0 + outer loop + vertex 20.0785 14.6265 0 + vertex 19.7955 14.6797 -0.1 + vertex 20.0785 14.6265 -0.1 + endloop + endfacet + facet normal -0.024894 -0.99969 0 + outer loop + vertex 20.0785 14.6265 -0.1 + vertex 20.327 14.6203 0 + vertex 20.0785 14.6265 0 + endloop + endfacet + facet normal -0.024894 -0.99969 -0 + outer loop + vertex 20.327 14.6203 0 + vertex 20.0785 14.6265 -0.1 + vertex 20.327 14.6203 -0.1 + endloop + endfacet + facet normal 0.150471 -0.988614 0 + outer loop + vertex 20.327 14.6203 -0.1 + vertex 20.5722 14.6577 0 + vertex 20.327 14.6203 0 + endloop + endfacet + facet normal 0.150471 -0.988614 0 + outer loop + vertex 20.5722 14.6577 0 + vertex 20.327 14.6203 -0.1 + vertex 20.5722 14.6577 -0.1 + endloop + endfacet + facet normal 0.272592 -0.96213 0 + outer loop + vertex 20.5722 14.6577 -0.1 + vertex 20.8452 14.735 0 + vertex 20.5722 14.6577 0 + endloop + endfacet + facet normal 0.272592 -0.96213 0 + outer loop + vertex 20.8452 14.735 0 + vertex 20.5722 14.6577 -0.1 + vertex 20.8452 14.735 -0.1 + endloop + endfacet + facet normal 0.32454 -0.945872 0 + outer loop + vertex 20.8452 14.735 -0.1 + vertex 21.1771 14.8489 0 + vertex 20.8452 14.735 0 + endloop + endfacet + facet normal 0.32454 -0.945872 0 + outer loop + vertex 21.1771 14.8489 0 + vertex 20.8452 14.735 -0.1 + vertex 21.1771 14.8489 -0.1 + endloop + endfacet + facet normal 0.357547 -0.933895 0 + outer loop + vertex 21.1771 14.8489 -0.1 + vertex 21.6737 15.039 0 + vertex 21.1771 14.8489 0 + endloop + endfacet + facet normal 0.357547 -0.933895 0 + outer loop + vertex 21.6737 15.039 0 + vertex 21.1771 14.8489 -0.1 + vertex 21.6737 15.039 -0.1 + endloop + endfacet + facet normal 0.392507 -0.919749 0 + outer loop + vertex 21.6737 15.039 -0.1 + vertex 22.2336 15.278 0 + vertex 21.6737 15.039 0 + endloop + endfacet + facet normal 0.392507 -0.919749 0 + outer loop + vertex 22.2336 15.278 0 + vertex 21.6737 15.039 -0.1 + vertex 22.2336 15.278 -0.1 + endloop + endfacet + facet normal 0.427814 -0.903867 0 + outer loop + vertex 22.2336 15.278 -0.1 + vertex 23.3919 15.8262 0 + vertex 22.2336 15.278 0 + endloop + endfacet + facet normal 0.427814 -0.903867 0 + outer loop + vertex 23.3919 15.8262 0 + vertex 22.2336 15.278 -0.1 + vertex 23.3919 15.8262 -0.1 + endloop + endfacet + facet normal 0.460603 -0.887606 0 + outer loop + vertex 23.3919 15.8262 -0.1 + vertex 23.9148 16.0975 0 + vertex 23.3919 15.8262 0 + endloop + endfacet + facet normal 0.460603 -0.887606 0 + outer loop + vertex 23.9148 16.0975 0 + vertex 23.3919 15.8262 -0.1 + vertex 23.9148 16.0975 -0.1 + endloop + endfacet + facet normal 0.489467 -0.872022 0 + outer loop + vertex 23.9148 16.0975 -0.1 + vertex 24.3498 16.3417 0 + vertex 23.9148 16.0975 0 + endloop + endfacet + facet normal 0.489467 -0.872022 0 + outer loop + vertex 24.3498 16.3417 0 + vertex 23.9148 16.0975 -0.1 + vertex 24.3498 16.3417 -0.1 + endloop + endfacet + facet normal 0.539107 -0.842237 0 + outer loop + vertex 24.3498 16.3417 -0.1 + vertex 24.659 16.5397 0 + vertex 24.3498 16.3417 0 + endloop + endfacet + facet normal 0.539107 -0.842237 0 + outer loop + vertex 24.659 16.5397 0 + vertex 24.3498 16.3417 -0.1 + vertex 24.659 16.5397 -0.1 + endloop + endfacet + facet normal 0.620549 -0.784168 0 + outer loop + vertex 24.659 16.5397 -0.1 + vertex 24.7548 16.6154 0 + vertex 24.659 16.5397 0 + endloop + endfacet + facet normal 0.620549 -0.784168 0 + outer loop + vertex 24.7548 16.6154 0 + vertex 24.659 16.5397 -0.1 + vertex 24.7548 16.6154 -0.1 + endloop + endfacet + facet normal 0.751376 -0.659874 0 + outer loop + vertex 24.7548 16.6154 0 + vertex 24.8049 16.6725 -0.1 + vertex 24.8049 16.6725 0 + endloop + endfacet + facet normal 0.751376 -0.659874 0 + outer loop + vertex 24.8049 16.6725 -0.1 + vertex 24.7548 16.6154 0 + vertex 24.7548 16.6154 -0.1 + endloop + endfacet + facet normal 0.968195 -0.250195 0 + outer loop + vertex 24.8049 16.6725 0 + vertex 24.8294 16.7672 -0.1 + vertex 24.8294 16.7672 0 + endloop + endfacet + facet normal 0.968195 -0.250195 0 + outer loop + vertex 24.8294 16.7672 -0.1 + vertex 24.8049 16.6725 0 + vertex 24.8049 16.6725 -0.1 + endloop + endfacet + facet normal 0.998807 0.0488365 0 + outer loop + vertex 24.8294 16.7672 0 + vertex 24.8232 16.8925 -0.1 + vertex 24.8232 16.8925 0 + endloop + endfacet + facet normal 0.998807 0.0488365 0 + outer loop + vertex 24.8232 16.8925 -0.1 + vertex 24.8294 16.7672 0 + vertex 24.8294 16.7672 -0.1 + endloop + endfacet + facet normal 0.971162 0.23842 0 + outer loop + vertex 24.8232 16.8925 0 + vertex 24.789 17.0321 -0.1 + vertex 24.789 17.0321 0 + endloop + endfacet + facet normal 0.971162 0.23842 0 + outer loop + vertex 24.789 17.0321 -0.1 + vertex 24.8232 16.8925 0 + vertex 24.8232 16.8925 -0.1 + endloop + endfacet + facet normal 0.916748 0.399467 0 + outer loop + vertex 24.789 17.0321 0 + vertex 24.7291 17.1695 -0.1 + vertex 24.7291 17.1695 0 + endloop + endfacet + facet normal 0.916748 0.399467 0 + outer loop + vertex 24.7291 17.1695 -0.1 + vertex 24.789 17.0321 0 + vertex 24.789 17.0321 -0.1 + endloop + endfacet + facet normal 0.771083 0.636734 0 + outer loop + vertex 24.7291 17.1695 0 + vertex 24.6602 17.253 -0.1 + vertex 24.6602 17.253 0 + endloop + endfacet + facet normal 0.771083 0.636734 0 + outer loop + vertex 24.6602 17.253 -0.1 + vertex 24.7291 17.1695 0 + vertex 24.7291 17.1695 -0.1 + endloop + endfacet + facet normal 0.526106 0.850419 -0 + outer loop + vertex 24.6602 17.253 -0.1 + vertex 24.5483 17.3222 0 + vertex 24.6602 17.253 0 + endloop + endfacet + facet normal 0.526106 0.850419 0 + outer loop + vertex 24.5483 17.3222 0 + vertex 24.6602 17.253 -0.1 + vertex 24.5483 17.3222 -0.1 + endloop + endfacet + facet normal 0.326655 0.945144 -0 + outer loop + vertex 24.5483 17.3222 -0.1 + vertex 24.386 17.3783 0 + vertex 24.5483 17.3222 0 + endloop + endfacet + facet normal 0.326655 0.945144 0 + outer loop + vertex 24.386 17.3783 0 + vertex 24.5483 17.3222 -0.1 + vertex 24.386 17.3783 -0.1 + endloop + endfacet + facet normal 0.19643 0.980518 -0 + outer loop + vertex 24.386 17.3783 -0.1 + vertex 24.166 17.4223 0 + vertex 24.386 17.3783 0 + endloop + endfacet + facet normal 0.19643 0.980518 0 + outer loop + vertex 24.166 17.4223 0 + vertex 24.386 17.3783 -0.1 + vertex 24.166 17.4223 -0.1 + endloop + endfacet + facet normal 0.0878721 0.996132 -0 + outer loop + vertex 24.166 17.4223 -0.1 + vertex 23.5226 17.4791 0 + vertex 24.166 17.4223 0 + endloop + endfacet + facet normal 0.0878721 0.996132 0 + outer loop + vertex 23.5226 17.4791 0 + vertex 24.166 17.4223 -0.1 + vertex 23.5226 17.4791 -0.1 + endloop + endfacet + facet normal 0.0232768 0.999729 -0 + outer loop + vertex 23.5226 17.4791 -0.1 + vertex 22.5588 17.5015 0 + vertex 23.5226 17.4791 0 + endloop + endfacet + facet normal 0.0232768 0.999729 0 + outer loop + vertex 22.5588 17.5015 0 + vertex 23.5226 17.4791 -0.1 + vertex 22.5588 17.5015 -0.1 + endloop + endfacet + facet normal 0.0146144 0.999893 -0 + outer loop + vertex 22.5588 17.5015 -0.1 + vertex 21.0506 17.5236 0 + vertex 22.5588 17.5015 0 + endloop + endfacet + facet normal 0.0146144 0.999893 0 + outer loop + vertex 21.0506 17.5236 0 + vertex 22.5588 17.5015 -0.1 + vertex 21.0506 17.5236 -0.1 + endloop + endfacet + facet normal 0.0395978 0.999216 -0 + outer loop + vertex 21.0506 17.5236 -0.1 + vertex 20.2276 17.5562 0 + vertex 21.0506 17.5236 0 + endloop + endfacet + facet normal 0.0395978 0.999216 0 + outer loop + vertex 20.2276 17.5562 0 + vertex 21.0506 17.5236 -0.1 + vertex 20.2276 17.5562 -0.1 + endloop + endfacet + facet normal 0.211618 0.977352 -0 + outer loop + vertex 20.2276 17.5562 -0.1 + vertex 20.1284 17.5777 0 + vertex 20.2276 17.5562 0 + endloop + endfacet + facet normal 0.211618 0.977352 0 + outer loop + vertex 20.1284 17.5777 0 + vertex 20.2276 17.5562 -0.1 + vertex 20.1284 17.5777 -0.1 + endloop + endfacet + facet normal 0.390006 0.920812 -0 + outer loop + vertex 20.1284 17.5777 -0.1 + vertex 20.0333 17.6179 0 + vertex 20.1284 17.5777 0 + endloop + endfacet + facet normal 0.390006 0.920812 0 + outer loop + vertex 20.0333 17.6179 0 + vertex 20.1284 17.5777 -0.1 + vertex 20.0333 17.6179 -0.1 + endloop + endfacet + facet normal 0.545234 0.838284 -0 + outer loop + vertex 20.0333 17.6179 -0.1 + vertex 19.9424 17.6771 0 + vertex 20.0333 17.6179 0 + endloop + endfacet + facet normal 0.545234 0.838284 0 + outer loop + vertex 19.9424 17.6771 0 + vertex 20.0333 17.6179 -0.1 + vertex 19.9424 17.6771 -0.1 + endloop + endfacet + facet normal 0.668778 0.743462 -0 + outer loop + vertex 19.9424 17.6771 -0.1 + vertex 19.8554 17.7553 0 + vertex 19.9424 17.6771 0 + endloop + endfacet + facet normal 0.668778 0.743462 0 + outer loop + vertex 19.8554 17.7553 0 + vertex 19.9424 17.6771 -0.1 + vertex 19.8554 17.7553 -0.1 + endloop + endfacet + facet normal 0.797362 0.603501 0 + outer loop + vertex 19.8554 17.7553 0 + vertex 19.6934 17.9694 -0.1 + vertex 19.6934 17.9694 0 + endloop + endfacet + facet normal 0.797362 0.603501 0 + outer loop + vertex 19.6934 17.9694 -0.1 + vertex 19.8554 17.7553 0 + vertex 19.8554 17.7553 -0.1 + endloop + endfacet + facet normal 0.893603 0.448858 0 + outer loop + vertex 19.6934 17.9694 0 + vertex 19.5469 18.2611 -0.1 + vertex 19.5469 18.2611 0 + endloop + endfacet + facet normal 0.893603 0.448858 0 + outer loop + vertex 19.5469 18.2611 -0.1 + vertex 19.6934 17.9694 0 + vertex 19.6934 17.9694 -0.1 + endloop + endfacet + facet normal 0.942385 0.33453 0 + outer loop + vertex 19.5469 18.2611 0 + vertex 19.4153 18.6317 -0.1 + vertex 19.4153 18.6317 0 + endloop + endfacet + facet normal 0.942385 0.33453 0 + outer loop + vertex 19.4153 18.6317 -0.1 + vertex 19.5469 18.2611 0 + vertex 19.5469 18.2611 -0.1 + endloop + endfacet + facet normal 0.967894 0.251357 0 + outer loop + vertex 19.4153 18.6317 0 + vertex 19.2984 19.082 -0.1 + vertex 19.2984 19.082 0 + endloop + endfacet + facet normal 0.967894 0.251357 0 + outer loop + vertex 19.2984 19.082 -0.1 + vertex 19.4153 18.6317 0 + vertex 19.4153 18.6317 -0.1 + endloop + endfacet + facet normal 0.981784 0.190002 0 + outer loop + vertex 19.2984 19.082 0 + vertex 19.1956 19.6132 -0.1 + vertex 19.1956 19.6132 0 + endloop + endfacet + facet normal 0.981784 0.190002 0 + outer loop + vertex 19.1956 19.6132 -0.1 + vertex 19.2984 19.082 0 + vertex 19.2984 19.082 -0.1 + endloop + endfacet + facet normal 0.989607 0.143797 0 + outer loop + vertex 19.1956 19.6132 0 + vertex 19.1065 20.2262 -0.1 + vertex 19.1065 20.2262 0 + endloop + endfacet + facet normal 0.989607 0.143797 0 + outer loop + vertex 19.1065 20.2262 -0.1 + vertex 19.1956 19.6132 0 + vertex 19.1956 19.6132 -0.1 + endloop + endfacet + facet normal 0.988819 0.149121 0 + outer loop + vertex 19.1065 20.2262 0 + vertex 19.0081 20.8787 -0.1 + vertex 19.0081 20.8787 0 + endloop + endfacet + facet normal 0.988819 0.149121 0 + outer loop + vertex 19.0081 20.8787 -0.1 + vertex 19.1065 20.2262 0 + vertex 19.1065 20.2262 -0.1 + endloop + endfacet + facet normal 0.979919 0.199398 0 + outer loop + vertex 19.0081 20.8787 0 + vertex 18.892 21.4494 -0.1 + vertex 18.892 21.4494 0 + endloop + endfacet + facet normal 0.979919 0.199398 0 + outer loop + vertex 18.892 21.4494 -0.1 + vertex 19.0081 20.8787 0 + vertex 19.0081 20.8787 -0.1 + endloop + endfacet + facet normal 0.963148 0.268972 0 + outer loop + vertex 18.892 21.4494 0 + vertex 18.7726 21.8767 -0.1 + vertex 18.7726 21.8767 0 + endloop + endfacet + facet normal 0.963148 0.268972 0 + outer loop + vertex 18.7726 21.8767 -0.1 + vertex 18.892 21.4494 0 + vertex 18.892 21.4494 -0.1 + endloop + endfacet + facet normal 0.928333 0.371749 0 + outer loop + vertex 18.7726 21.8767 0 + vertex 18.7163 22.0174 -0.1 + vertex 18.7163 22.0174 0 + endloop + endfacet + facet normal 0.928333 0.371749 0 + outer loop + vertex 18.7163 22.0174 -0.1 + vertex 18.7726 21.8767 0 + vertex 18.7726 21.8767 -0.1 + endloop + endfacet + facet normal 0.845312 0.534273 0 + outer loop + vertex 18.7163 22.0174 0 + vertex 18.6646 22.0992 -0.1 + vertex 18.6646 22.0992 0 + endloop + endfacet + facet normal 0.845312 0.534273 0 + outer loop + vertex 18.6646 22.0992 -0.1 + vertex 18.7163 22.0174 0 + vertex 18.7163 22.0174 -0.1 + endloop + endfacet + facet normal 0.569342 0.822101 -0 + outer loop + vertex 18.6646 22.0992 -0.1 + vertex 18.4732 22.2317 0 + vertex 18.6646 22.0992 0 + endloop + endfacet + facet normal 0.569342 0.822101 0 + outer loop + vertex 18.4732 22.2317 0 + vertex 18.6646 22.0992 -0.1 + vertex 18.4732 22.2317 -0.1 + endloop + endfacet + facet normal 0.466042 0.884763 -0 + outer loop + vertex 18.4732 22.2317 -0.1 + vertex 18.127 22.4141 0 + vertex 18.4732 22.2317 0 + endloop + endfacet + facet normal 0.466042 0.884763 0 + outer loop + vertex 18.127 22.4141 0 + vertex 18.4732 22.2317 -0.1 + vertex 18.127 22.4141 -0.1 + endloop + endfacet + facet normal 0.418359 0.908282 -0 + outer loop + vertex 18.127 22.4141 -0.1 + vertex 17.6752 22.6222 0 + vertex 18.127 22.4141 0 + endloop + endfacet + facet normal 0.418359 0.908282 0 + outer loop + vertex 17.6752 22.6222 0 + vertex 18.127 22.4141 -0.1 + vertex 17.6752 22.6222 -0.1 + endloop + endfacet + facet normal 0.381566 0.924342 -0 + outer loop + vertex 17.6752 22.6222 -0.1 + vertex 17.1667 22.8321 0 + vertex 17.6752 22.6222 0 + endloop + endfacet + facet normal 0.381566 0.924342 0 + outer loop + vertex 17.1667 22.8321 0 + vertex 17.6752 22.6222 -0.1 + vertex 17.1667 22.8321 -0.1 + endloop + endfacet + facet normal 0.375086 0.92699 -0 + outer loop + vertex 17.1667 22.8321 -0.1 + vertex 15.5173 23.4995 0 + vertex 17.1667 22.8321 0 + endloop + endfacet + facet normal 0.375086 0.92699 0 + outer loop + vertex 15.5173 23.4995 0 + vertex 17.1667 22.8321 -0.1 + vertex 15.5173 23.4995 -0.1 + endloop + endfacet + facet normal 0.401684 0.915778 -0 + outer loop + vertex 15.5173 23.4995 -0.1 + vertex 14.0281 24.1527 0 + vertex 15.5173 23.4995 0 + endloop + endfacet + facet normal 0.401684 0.915778 0 + outer loop + vertex 14.0281 24.1527 0 + vertex 15.5173 23.4995 -0.1 + vertex 14.0281 24.1527 -0.1 + endloop + endfacet + facet normal 0.431504 0.902111 -0 + outer loop + vertex 14.0281 24.1527 -0.1 + vertex 13.7923 24.2655 0 + vertex 14.0281 24.1527 0 + endloop + endfacet + facet normal 0.431504 0.902111 0 + outer loop + vertex 13.7923 24.2655 0 + vertex 14.0281 24.1527 -0.1 + vertex 13.7923 24.2655 -0.1 + endloop + endfacet + facet normal 0.491302 0.870989 -0 + outer loop + vertex 13.7923 24.2655 -0.1 + vertex 13.5553 24.3991 0 + vertex 13.7923 24.2655 0 + endloop + endfacet + facet normal 0.491302 0.870989 0 + outer loop + vertex 13.5553 24.3991 0 + vertex 13.7923 24.2655 -0.1 + vertex 13.5553 24.3991 -0.1 + endloop + endfacet + facet normal 0.565064 0.825047 -0 + outer loop + vertex 13.5553 24.3991 -0.1 + vertex 13.085 24.7212 0 + vertex 13.5553 24.3991 0 + endloop + endfacet + facet normal 0.565064 0.825047 0 + outer loop + vertex 13.085 24.7212 0 + vertex 13.5553 24.3991 -0.1 + vertex 13.085 24.7212 -0.1 + endloop + endfacet + facet normal 0.644201 0.764857 -0 + outer loop + vertex 13.085 24.7212 -0.1 + vertex 12.6316 25.1032 0 + vertex 13.085 24.7212 0 + endloop + endfacet + facet normal 0.644201 0.764857 0 + outer loop + vertex 12.6316 25.1032 0 + vertex 13.085 24.7212 -0.1 + vertex 12.6316 25.1032 -0.1 + endloop + endfacet + facet normal 0.710157 0.704043 0 + outer loop + vertex 12.6316 25.1032 0 + vertex 12.2092 25.5292 -0.1 + vertex 12.2092 25.5292 0 + endloop + endfacet + facet normal 0.710157 0.704043 0 + outer loop + vertex 12.2092 25.5292 -0.1 + vertex 12.6316 25.1032 0 + vertex 12.6316 25.1032 -0.1 + endloop + endfacet + facet normal 0.769647 0.63847 0 + outer loop + vertex 12.2092 25.5292 0 + vertex 11.8324 25.9834 -0.1 + vertex 11.8324 25.9834 0 + endloop + endfacet + facet normal 0.769647 0.63847 0 + outer loop + vertex 11.8324 25.9834 -0.1 + vertex 12.2092 25.5292 0 + vertex 12.2092 25.5292 -0.1 + endloop + endfacet + facet normal 0.827234 0.561857 0 + outer loop + vertex 11.8324 25.9834 0 + vertex 11.5154 26.4501 -0.1 + vertex 11.5154 26.4501 0 + endloop + endfacet + facet normal 0.827234 0.561857 0 + outer loop + vertex 11.5154 26.4501 -0.1 + vertex 11.8324 25.9834 0 + vertex 11.8324 25.9834 -0.1 + endloop + endfacet + facet normal 0.870844 0.491559 0 + outer loop + vertex 11.5154 26.4501 0 + vertex 11.3839 26.6832 -0.1 + vertex 11.3839 26.6832 0 + endloop + endfacet + facet normal 0.870844 0.491559 0 + outer loop + vertex 11.3839 26.6832 -0.1 + vertex 11.5154 26.4501 0 + vertex 11.5154 26.4501 -0.1 + endloop + endfacet + facet normal 0.900452 0.434955 0 + outer loop + vertex 11.3839 26.6832 0 + vertex 11.2726 26.9135 -0.1 + vertex 11.2726 26.9135 0 + endloop + endfacet + facet normal 0.900452 0.434955 0 + outer loop + vertex 11.2726 26.9135 -0.1 + vertex 11.3839 26.6832 0 + vertex 11.3839 26.6832 -0.1 + endloop + endfacet + facet normal 0.930028 0.367488 0 + outer loop + vertex 11.2726 26.9135 0 + vertex 11.1835 27.139 -0.1 + vertex 11.1835 27.139 0 + endloop + endfacet + facet normal 0.930028 0.367488 0 + outer loop + vertex 11.1835 27.139 -0.1 + vertex 11.2726 26.9135 0 + vertex 11.2726 26.9135 -0.1 + endloop + endfacet + facet normal 0.958361 0.28556 0 + outer loop + vertex 11.1835 27.139 0 + vertex 11.1184 27.3577 -0.1 + vertex 11.1184 27.3577 0 + endloop + endfacet + facet normal 0.958361 0.28556 0 + outer loop + vertex 11.1184 27.3577 -0.1 + vertex 11.1835 27.139 0 + vertex 11.1835 27.139 -0.1 + endloop + endfacet + facet normal 0.982358 0.187011 0 + outer loop + vertex 11.1184 27.3577 0 + vertex 11.0734 27.5937 -0.1 + vertex 11.0734 27.5937 0 + endloop + endfacet + facet normal 0.982358 0.187011 0 + outer loop + vertex 11.0734 27.5937 -0.1 + vertex 11.1184 27.3577 0 + vertex 11.1184 27.3577 -0.1 + endloop + endfacet + facet normal 0.995162 0.0982451 0 + outer loop + vertex 11.0734 27.5937 0 + vertex 11.0484 27.8474 -0.1 + vertex 11.0484 27.8474 0 + endloop + endfacet + facet normal 0.995162 0.0982451 0 + outer loop + vertex 11.0484 27.8474 -0.1 + vertex 11.0734 27.5937 0 + vertex 11.0734 27.5937 -0.1 + endloop + endfacet + facet normal 0.999708 0.0241697 0 + outer loop + vertex 11.0484 27.8474 0 + vertex 11.0419 28.1143 -0.1 + vertex 11.0419 28.1143 0 + endloop + endfacet + facet normal 0.999708 0.0241697 0 + outer loop + vertex 11.0419 28.1143 -0.1 + vertex 11.0484 27.8474 0 + vertex 11.0484 27.8474 -0.1 + endloop + endfacet + facet normal 0.999225 -0.0393733 0 + outer loop + vertex 11.0419 28.1143 0 + vertex 11.0528 28.3898 -0.1 + vertex 11.0528 28.3898 0 + endloop + endfacet + facet normal 0.999225 -0.0393733 0 + outer loop + vertex 11.0528 28.3898 -0.1 + vertex 11.0419 28.1143 0 + vertex 11.0419 28.1143 -0.1 + endloop + endfacet + facet normal 0.992566 -0.121707 0 + outer loop + vertex 11.0528 28.3898 0 + vertex 11.1213 28.9486 -0.1 + vertex 11.1213 28.9486 0 + endloop + endfacet + facet normal 0.992566 -0.121707 0 + outer loop + vertex 11.1213 28.9486 -0.1 + vertex 11.0528 28.3898 0 + vertex 11.0528 28.3898 -0.1 + endloop + endfacet + facet normal 0.975165 -0.221479 0 + outer loop + vertex 11.1213 28.9486 0 + vertex 11.2437 29.4873 -0.1 + vertex 11.2437 29.4873 0 + endloop + endfacet + facet normal 0.975165 -0.221479 0 + outer loop + vertex 11.2437 29.4873 -0.1 + vertex 11.1213 28.9486 0 + vertex 11.1213 28.9486 -0.1 + endloop + endfacet + facet normal 0.94561 -0.325304 0 + outer loop + vertex 11.2437 29.4873 0 + vertex 11.4096 29.9696 -0.1 + vertex 11.4096 29.9696 0 + endloop + endfacet + facet normal 0.94561 -0.325304 0 + outer loop + vertex 11.4096 29.9696 -0.1 + vertex 11.2437 29.4873 0 + vertex 11.2437 29.4873 -0.1 + endloop + endfacet + facet normal 0.908293 -0.418334 0 + outer loop + vertex 11.4096 29.9696 0 + vertex 11.5057 30.1782 -0.1 + vertex 11.5057 30.1782 0 + endloop + endfacet + facet normal 0.908293 -0.418334 0 + outer loop + vertex 11.5057 30.1782 -0.1 + vertex 11.4096 29.9696 0 + vertex 11.4096 29.9696 -0.1 + endloop + endfacet + facet normal 0.868734 -0.495279 0 + outer loop + vertex 11.5057 30.1782 0 + vertex 11.6088 30.3591 -0.1 + vertex 11.6088 30.3591 0 + endloop + endfacet + facet normal 0.868734 -0.495279 0 + outer loop + vertex 11.6088 30.3591 -0.1 + vertex 11.5057 30.1782 0 + vertex 11.5057 30.1782 -0.1 + endloop + endfacet + facet normal 0.806643 -0.59104 0 + outer loop + vertex 11.6088 30.3591 0 + vertex 11.7177 30.5077 -0.1 + vertex 11.7177 30.5077 0 + endloop + endfacet + facet normal 0.806643 -0.59104 0 + outer loop + vertex 11.7177 30.5077 -0.1 + vertex 11.6088 30.3591 0 + vertex 11.6088 30.3591 -0.1 + endloop + endfacet + facet normal 0.702105 -0.712073 0 + outer loop + vertex 11.7177 30.5077 -0.1 + vertex 11.8311 30.6195 0 + vertex 11.7177 30.5077 0 + endloop + endfacet + facet normal 0.702105 -0.712073 0 + outer loop + vertex 11.8311 30.6195 0 + vertex 11.7177 30.5077 -0.1 + vertex 11.8311 30.6195 -0.1 + endloop + endfacet + facet normal 0.51702 -0.855973 0 + outer loop + vertex 11.8311 30.6195 -0.1 + vertex 11.9476 30.6899 0 + vertex 11.8311 30.6195 0 + endloop + endfacet + facet normal 0.51702 -0.855973 0 + outer loop + vertex 11.9476 30.6899 0 + vertex 11.8311 30.6195 -0.1 + vertex 11.9476 30.6899 -0.1 + endloop + endfacet + facet normal 0.202357 -0.979312 0 + outer loop + vertex 11.9476 30.6899 -0.1 + vertex 12.0661 30.7144 0 + vertex 11.9476 30.6899 0 + endloop + endfacet + facet normal 0.202357 -0.979312 0 + outer loop + vertex 12.0661 30.7144 0 + vertex 11.9476 30.6899 -0.1 + vertex 12.0661 30.7144 -0.1 + endloop + endfacet + facet normal -0.111663 -0.993746 0 + outer loop + vertex 12.0661 30.7144 -0.1 + vertex 12.1728 30.7024 0 + vertex 12.0661 30.7144 0 + endloop + endfacet + facet normal -0.111663 -0.993746 -0 + outer loop + vertex 12.1728 30.7024 0 + vertex 12.0661 30.7144 -0.1 + vertex 12.1728 30.7024 -0.1 + endloop + endfacet + facet normal -0.43355 -0.90113 0 + outer loop + vertex 12.1728 30.7024 -0.1 + vertex 12.2478 30.6663 0 + vertex 12.1728 30.7024 0 + endloop + endfacet + facet normal -0.43355 -0.90113 -0 + outer loop + vertex 12.2478 30.6663 0 + vertex 12.1728 30.7024 -0.1 + vertex 12.2478 30.6663 -0.1 + endloop + endfacet + facet normal -0.812799 -0.582545 0 + outer loop + vertex 12.291 30.606 -0.1 + vertex 12.2478 30.6663 0 + vertex 12.2478 30.6663 -0.1 + endloop + endfacet + facet normal -0.812799 -0.582545 0 + outer loop + vertex 12.2478 30.6663 0 + vertex 12.291 30.606 -0.1 + vertex 12.291 30.606 0 + endloop + endfacet + facet normal -0.990983 -0.133984 0 + outer loop + vertex 12.3025 30.5214 -0.1 + vertex 12.291 30.606 0 + vertex 12.291 30.606 -0.1 + endloop + endfacet + facet normal -0.990983 -0.133984 0 + outer loop + vertex 12.291 30.606 0 + vertex 12.3025 30.5214 -0.1 + vertex 12.3025 30.5214 0 + endloop + endfacet + facet normal -0.983093 0.183105 0 + outer loop + vertex 12.2821 30.4122 -0.1 + vertex 12.3025 30.5214 0 + vertex 12.3025 30.5214 -0.1 + endloop + endfacet + facet normal -0.983093 0.183105 0 + outer loop + vertex 12.3025 30.5214 0 + vertex 12.2821 30.4122 -0.1 + vertex 12.2821 30.4122 0 + endloop + endfacet + facet normal -0.931822 0.362917 0 + outer loop + vertex 12.23 30.2784 -0.1 + vertex 12.2821 30.4122 0 + vertex 12.2821 30.4122 -0.1 + endloop + endfacet + facet normal -0.931822 0.362917 0 + outer loop + vertex 12.2821 30.4122 0 + vertex 12.23 30.2784 -0.1 + vertex 12.23 30.2784 0 + endloop + endfacet + facet normal -0.863735 0.503946 0 + outer loop + vertex 12.0304 29.9363 -0.1 + vertex 12.23 30.2784 0 + vertex 12.23 30.2784 -0.1 + endloop + endfacet + facet normal -0.863735 0.503946 0 + outer loop + vertex 12.23 30.2784 0 + vertex 12.0304 29.9363 -0.1 + vertex 12.0304 29.9363 0 + endloop + endfacet + facet normal -0.874405 0.485196 0 + outer loop + vertex 11.965 29.8184 -0.1 + vertex 12.0304 29.9363 0 + vertex 12.0304 29.9363 -0.1 + endloop + endfacet + facet normal -0.874405 0.485196 0 + outer loop + vertex 12.0304 29.9363 0 + vertex 11.965 29.8184 -0.1 + vertex 11.965 29.8184 0 + endloop + endfacet + facet normal -0.930071 0.367381 0 + outer loop + vertex 11.9082 29.6745 -0.1 + vertex 11.965 29.8184 0 + vertex 11.965 29.8184 -0.1 + endloop + endfacet + facet normal -0.930071 0.367381 0 + outer loop + vertex 11.965 29.8184 0 + vertex 11.9082 29.6745 -0.1 + vertex 11.9082 29.6745 0 + endloop + endfacet + facet normal -0.970384 0.241567 0 + outer loop + vertex 11.8205 29.3224 -0.1 + vertex 11.9082 29.6745 0 + vertex 11.9082 29.6745 -0.1 + endloop + endfacet + facet normal -0.970384 0.241567 0 + outer loop + vertex 11.9082 29.6745 0 + vertex 11.8205 29.3224 -0.1 + vertex 11.8205 29.3224 0 + endloop + endfacet + facet normal -0.99199 0.126319 0 + outer loop + vertex 11.7675 28.9061 -0.1 + vertex 11.8205 29.3224 0 + vertex 11.8205 29.3224 -0.1 + endloop + endfacet + facet normal -0.99199 0.126319 0 + outer loop + vertex 11.8205 29.3224 0 + vertex 11.7675 28.9061 -0.1 + vertex 11.7675 28.9061 0 + endloop + endfacet + facet normal -0.999189 0.0402694 0 + outer loop + vertex 11.7492 28.4518 -0.1 + vertex 11.7675 28.9061 0 + vertex 11.7675 28.9061 -0.1 + endloop + endfacet + facet normal -0.999189 0.0402694 0 + outer loop + vertex 11.7675 28.9061 0 + vertex 11.7492 28.4518 -0.1 + vertex 11.7492 28.4518 0 + endloop + endfacet + facet normal -0.999377 -0.0352801 0 + outer loop + vertex 11.7656 27.9858 -0.1 + vertex 11.7492 28.4518 0 + vertex 11.7492 28.4518 -0.1 + endloop + endfacet + facet normal -0.999377 -0.0352801 0 + outer loop + vertex 11.7492 28.4518 0 + vertex 11.7656 27.9858 -0.1 + vertex 11.7656 27.9858 0 + endloop + endfacet + facet normal -0.993617 -0.112806 0 + outer loop + vertex 11.8169 27.5343 -0.1 + vertex 11.7656 27.9858 0 + vertex 11.7656 27.9858 -0.1 + endloop + endfacet + facet normal -0.993617 -0.112806 0 + outer loop + vertex 11.7656 27.9858 0 + vertex 11.8169 27.5343 -0.1 + vertex 11.8169 27.5343 0 + endloop + endfacet + facet normal -0.978727 -0.205168 0 + outer loop + vertex 11.903 27.1234 -0.1 + vertex 11.8169 27.5343 0 + vertex 11.8169 27.5343 -0.1 + endloop + endfacet + facet normal -0.978727 -0.205168 0 + outer loop + vertex 11.8169 27.5343 0 + vertex 11.903 27.1234 -0.1 + vertex 11.903 27.1234 0 + endloop + endfacet + facet normal -0.943297 -0.331951 0 + outer loop + vertex 12.0241 26.7794 -0.1 + vertex 11.903 27.1234 0 + vertex 11.903 27.1234 -0.1 + endloop + endfacet + facet normal -0.943297 -0.331951 0 + outer loop + vertex 11.903 27.1234 0 + vertex 12.0241 26.7794 -0.1 + vertex 12.0241 26.7794 0 + endloop + endfacet + facet normal -0.895057 -0.445953 0 + outer loop + vertex 12.1339 26.5589 -0.1 + vertex 12.0241 26.7794 0 + vertex 12.0241 26.7794 -0.1 + endloop + endfacet + facet normal -0.895057 -0.445953 0 + outer loop + vertex 12.0241 26.7794 0 + vertex 12.1339 26.5589 -0.1 + vertex 12.1339 26.5589 0 + endloop + endfacet + facet normal -0.859859 -0.510531 0 + outer loop + vertex 12.2572 26.3514 -0.1 + vertex 12.1339 26.5589 0 + vertex 12.1339 26.5589 -0.1 + endloop + endfacet + facet normal -0.859859 -0.510531 0 + outer loop + vertex 12.1339 26.5589 0 + vertex 12.2572 26.3514 -0.1 + vertex 12.2572 26.3514 0 + endloop + endfacet + facet normal -0.813765 -0.581194 0 + outer loop + vertex 12.3979 26.1543 -0.1 + vertex 12.2572 26.3514 0 + vertex 12.2572 26.3514 -0.1 + endloop + endfacet + facet normal -0.813765 -0.581194 0 + outer loop + vertex 12.2572 26.3514 0 + vertex 12.3979 26.1543 -0.1 + vertex 12.3979 26.1543 0 + endloop + endfacet + facet normal -0.758497 -0.651676 0 + outer loop + vertex 12.5603 25.9653 -0.1 + vertex 12.3979 26.1543 0 + vertex 12.3979 26.1543 -0.1 + endloop + endfacet + facet normal -0.758497 -0.651676 0 + outer loop + vertex 12.3979 26.1543 0 + vertex 12.5603 25.9653 -0.1 + vertex 12.5603 25.9653 0 + endloop + endfacet + facet normal -0.697934 -0.716162 0 + outer loop + vertex 12.5603 25.9653 -0.1 + vertex 12.7484 25.782 0 + vertex 12.5603 25.9653 0 + endloop + endfacet + facet normal -0.697934 -0.716162 -0 + outer loop + vertex 12.7484 25.782 0 + vertex 12.5603 25.9653 -0.1 + vertex 12.7484 25.782 -0.1 + endloop + endfacet + facet normal -0.636928 -0.770923 0 + outer loop + vertex 12.7484 25.782 -0.1 + vertex 12.9664 25.6018 0 + vertex 12.7484 25.782 0 + endloop + endfacet + facet normal -0.636928 -0.770923 -0 + outer loop + vertex 12.9664 25.6018 0 + vertex 12.7484 25.782 -0.1 + vertex 12.9664 25.6018 -0.1 + endloop + endfacet + facet normal -0.579754 -0.814791 0 + outer loop + vertex 12.9664 25.6018 -0.1 + vertex 13.2184 25.4225 0 + vertex 12.9664 25.6018 0 + endloop + endfacet + facet normal -0.579754 -0.814791 -0 + outer loop + vertex 13.2184 25.4225 0 + vertex 12.9664 25.6018 -0.1 + vertex 13.2184 25.4225 -0.1 + endloop + endfacet + facet normal -0.529164 -0.84852 0 + outer loop + vertex 13.2184 25.4225 -0.1 + vertex 13.5086 25.2416 0 + vertex 13.2184 25.4225 0 + endloop + endfacet + facet normal -0.529164 -0.84852 -0 + outer loop + vertex 13.5086 25.2416 0 + vertex 13.2184 25.4225 -0.1 + vertex 13.5086 25.2416 -0.1 + endloop + endfacet + facet normal -0.467835 -0.883816 0 + outer loop + vertex 13.5086 25.2416 -0.1 + vertex 14.2197 24.8651 0 + vertex 13.5086 25.2416 0 + endloop + endfacet + facet normal -0.467835 -0.883816 -0 + outer loop + vertex 14.2197 24.8651 0 + vertex 13.5086 25.2416 -0.1 + vertex 14.2197 24.8651 -0.1 + endloop + endfacet + facet normal -0.411276 -0.911511 0 + outer loop + vertex 14.2197 24.8651 -0.1 + vertex 15.1328 24.4531 0 + vertex 14.2197 24.8651 0 + endloop + endfacet + facet normal -0.411276 -0.911511 -0 + outer loop + vertex 15.1328 24.4531 0 + vertex 14.2197 24.8651 -0.1 + vertex 15.1328 24.4531 -0.1 + endloop + endfacet + facet normal -0.376758 -0.926312 0 + outer loop + vertex 15.1328 24.4531 -0.1 + vertex 16.2809 23.9862 0 + vertex 15.1328 24.4531 0 + endloop + endfacet + facet normal -0.376758 -0.926312 -0 + outer loop + vertex 16.2809 23.9862 0 + vertex 15.1328 24.4531 -0.1 + vertex 16.2809 23.9862 -0.1 + endloop + endfacet + facet normal -0.357069 -0.934078 0 + outer loop + vertex 16.2809 23.9862 -0.1 + vertex 17.6969 23.4449 0 + vertex 16.2809 23.9862 0 + endloop + endfacet + facet normal -0.357069 -0.934078 -0 + outer loop + vertex 17.6969 23.4449 0 + vertex 16.2809 23.9862 -0.1 + vertex 17.6969 23.4449 -0.1 + endloop + endfacet + facet normal -0.423576 -0.90586 0 + outer loop + vertex 17.6969 23.4449 -0.1 + vertex 17.9883 23.3086 0 + vertex 17.6969 23.4449 0 + endloop + endfacet + facet normal -0.423576 -0.90586 -0 + outer loop + vertex 17.9883 23.3086 0 + vertex 17.6969 23.4449 -0.1 + vertex 17.9883 23.3086 -0.1 + endloop + endfacet + facet normal -0.513377 -0.858163 0 + outer loop + vertex 17.9883 23.3086 -0.1 + vertex 18.318 23.1114 0 + vertex 17.9883 23.3086 0 + endloop + endfacet + facet normal -0.513377 -0.858163 -0 + outer loop + vertex 18.318 23.1114 0 + vertex 17.9883 23.3086 -0.1 + vertex 18.318 23.1114 -0.1 + endloop + endfacet + facet normal -0.57768 -0.816263 0 + outer loop + vertex 18.318 23.1114 -0.1 + vertex 18.6454 22.8797 0 + vertex 18.318 23.1114 0 + endloop + endfacet + facet normal -0.57768 -0.816263 -0 + outer loop + vertex 18.6454 22.8797 0 + vertex 18.318 23.1114 -0.1 + vertex 18.6454 22.8797 -0.1 + endloop + endfacet + facet normal -0.644197 -0.76486 0 + outer loop + vertex 18.6454 22.8797 -0.1 + vertex 18.9302 22.6398 0 + vertex 18.6454 22.8797 0 + endloop + endfacet + facet normal -0.644197 -0.76486 -0 + outer loop + vertex 18.9302 22.6398 0 + vertex 18.6454 22.8797 -0.1 + vertex 18.9302 22.6398 -0.1 + endloop + endfacet + facet normal -0.705164 -0.709044 0 + outer loop + vertex 18.9302 22.6398 -0.1 + vertex 19.108 22.463 0 + vertex 18.9302 22.6398 0 + endloop + endfacet + facet normal -0.705164 -0.709044 -0 + outer loop + vertex 19.108 22.463 0 + vertex 18.9302 22.6398 -0.1 + vertex 19.108 22.463 -0.1 + endloop + endfacet + facet normal -0.763943 -0.645283 0 + outer loop + vertex 19.2511 22.2936 -0.1 + vertex 19.108 22.463 0 + vertex 19.108 22.463 -0.1 + endloop + endfacet + facet normal -0.763943 -0.645283 0 + outer loop + vertex 19.108 22.463 0 + vertex 19.2511 22.2936 -0.1 + vertex 19.2511 22.2936 0 + endloop + endfacet + facet normal -0.840155 -0.542346 0 + outer loop + vertex 19.3646 22.1178 -0.1 + vertex 19.2511 22.2936 0 + vertex 19.2511 22.2936 -0.1 + endloop + endfacet + facet normal -0.840155 -0.542346 0 + outer loop + vertex 19.2511 22.2936 0 + vertex 19.3646 22.1178 -0.1 + vertex 19.3646 22.1178 0 + endloop + endfacet + facet normal -0.910423 -0.413678 0 + outer loop + vertex 19.4538 21.9215 -0.1 + vertex 19.3646 22.1178 0 + vertex 19.3646 22.1178 -0.1 + endloop + endfacet + facet normal -0.910423 -0.413678 0 + outer loop + vertex 19.3646 22.1178 0 + vertex 19.4538 21.9215 -0.1 + vertex 19.4538 21.9215 0 + endloop + endfacet + facet normal -0.956843 -0.290607 0 + outer loop + vertex 19.5238 21.6908 -0.1 + vertex 19.4538 21.9215 0 + vertex 19.4538 21.9215 -0.1 + endloop + endfacet + facet normal -0.956843 -0.290607 0 + outer loop + vertex 19.4538 21.9215 0 + vertex 19.5238 21.6908 -0.1 + vertex 19.5238 21.6908 0 + endloop + endfacet + facet normal -0.980355 -0.19724 0 + outer loop + vertex 19.58 21.4118 -0.1 + vertex 19.5238 21.6908 0 + vertex 19.5238 21.6908 -0.1 + endloop + endfacet + facet normal -0.980355 -0.19724 0 + outer loop + vertex 19.5238 21.6908 0 + vertex 19.58 21.4118 -0.1 + vertex 19.58 21.4118 0 + endloop + endfacet + facet normal -0.992839 -0.119457 0 + outer loop + vertex 19.6713 20.6529 -0.1 + vertex 19.58 21.4118 0 + vertex 19.58 21.4118 -0.1 + endloop + endfacet + facet normal -0.992839 -0.119457 0 + outer loop + vertex 19.58 21.4118 0 + vertex 19.6713 20.6529 -0.1 + vertex 19.6713 20.6529 0 + endloop + endfacet + facet normal -0.994314 -0.106485 0 + outer loop + vertex 19.753 19.8896 -0.1 + vertex 19.6713 20.6529 0 + vertex 19.6713 20.6529 -0.1 + endloop + endfacet + facet normal -0.994314 -0.106485 0 + outer loop + vertex 19.6713 20.6529 0 + vertex 19.753 19.8896 -0.1 + vertex 19.753 19.8896 0 + endloop + endfacet + facet normal -0.985782 -0.168027 0 + outer loop + vertex 19.8522 19.3078 -0.1 + vertex 19.753 19.8896 0 + vertex 19.753 19.8896 -0.1 + endloop + endfacet + facet normal -0.985782 -0.168027 0 + outer loop + vertex 19.753 19.8896 0 + vertex 19.8522 19.3078 -0.1 + vertex 19.8522 19.3078 0 + endloop + endfacet + facet normal -0.962825 -0.270127 0 + outer loop + vertex 19.9169 19.0772 -0.1 + vertex 19.8522 19.3078 0 + vertex 19.8522 19.3078 -0.1 + endloop + endfacet + facet normal -0.962825 -0.270127 0 + outer loop + vertex 19.8522 19.3078 0 + vertex 19.9169 19.0772 -0.1 + vertex 19.9169 19.0772 0 + endloop + endfacet + facet normal -0.925898 -0.377775 0 + outer loop + vertex 19.9962 18.8829 -0.1 + vertex 19.9169 19.0772 0 + vertex 19.9169 19.0772 -0.1 + endloop + endfacet + facet normal -0.925898 -0.377775 0 + outer loop + vertex 19.9169 19.0772 0 + vertex 19.9962 18.8829 -0.1 + vertex 19.9962 18.8829 0 + endloop + endfacet + facet normal -0.85612 -0.516776 0 + outer loop + vertex 20.0935 18.7216 -0.1 + vertex 19.9962 18.8829 0 + vertex 19.9962 18.8829 -0.1 + endloop + endfacet + facet normal -0.85612 -0.516776 0 + outer loop + vertex 19.9962 18.8829 0 + vertex 20.0935 18.7216 -0.1 + vertex 20.0935 18.7216 0 + endloop + endfacet + facet normal -0.741357 -0.67111 0 + outer loop + vertex 20.2124 18.5903 -0.1 + vertex 20.0935 18.7216 0 + vertex 20.0935 18.7216 -0.1 + endloop + endfacet + facet normal -0.741357 -0.67111 0 + outer loop + vertex 20.0935 18.7216 0 + vertex 20.2124 18.5903 -0.1 + vertex 20.2124 18.5903 0 + endloop + endfacet + facet normal -0.587422 -0.809281 0 + outer loop + vertex 20.2124 18.5903 -0.1 + vertex 20.3561 18.486 0 + vertex 20.2124 18.5903 0 + endloop + endfacet + facet normal -0.587422 -0.809281 -0 + outer loop + vertex 20.3561 18.486 0 + vertex 20.2124 18.5903 -0.1 + vertex 20.3561 18.486 -0.1 + endloop + endfacet + facet normal -0.423563 -0.905867 0 + outer loop + vertex 20.3561 18.486 -0.1 + vertex 20.5281 18.4055 0 + vertex 20.3561 18.486 0 + endloop + endfacet + facet normal -0.423563 -0.905867 -0 + outer loop + vertex 20.5281 18.4055 0 + vertex 20.3561 18.486 -0.1 + vertex 20.5281 18.4055 -0.1 + endloop + endfacet + facet normal -0.280888 -0.95974 0 + outer loop + vertex 20.5281 18.4055 -0.1 + vertex 20.7319 18.3459 0 + vertex 20.5281 18.4055 0 + endloop + endfacet + facet normal -0.280888 -0.95974 -0 + outer loop + vertex 20.7319 18.3459 0 + vertex 20.5281 18.4055 -0.1 + vertex 20.7319 18.3459 -0.1 + endloop + endfacet + facet normal -0.172751 -0.984966 0 + outer loop + vertex 20.7319 18.3459 -0.1 + vertex 20.9709 18.304 0 + vertex 20.7319 18.3459 0 + endloop + endfacet + facet normal -0.172751 -0.984966 -0 + outer loop + vertex 20.9709 18.304 0 + vertex 20.7319 18.3459 -0.1 + vertex 20.9709 18.304 -0.1 + endloop + endfacet + facet normal -0.0716809 -0.997428 0 + outer loop + vertex 20.9709 18.304 -0.1 + vertex 21.5679 18.2611 0 + vertex 20.9709 18.304 0 + endloop + endfacet + facet normal -0.0716809 -0.997428 -0 + outer loop + vertex 21.5679 18.2611 0 + vertex 20.9709 18.304 -0.1 + vertex 21.5679 18.2611 -0.1 + endloop + endfacet + facet normal -0.0113554 -0.999936 0 + outer loop + vertex 21.5679 18.2611 -0.1 + vertex 22.3468 18.2522 0 + vertex 21.5679 18.2611 0 + endloop + endfacet + facet normal -0.0113554 -0.999936 -0 + outer loop + vertex 22.3468 18.2522 0 + vertex 21.5679 18.2611 -0.1 + vertex 22.3468 18.2522 -0.1 + endloop + endfacet + facet normal -0.0142554 -0.999898 0 + outer loop + vertex 22.3468 18.2522 -0.1 + vertex 23.0891 18.2417 0 + vertex 22.3468 18.2522 0 + endloop + endfacet + facet normal -0.0142554 -0.999898 -0 + outer loop + vertex 23.0891 18.2417 0 + vertex 22.3468 18.2522 -0.1 + vertex 23.0891 18.2417 -0.1 + endloop + endfacet + facet normal -0.0563557 -0.998411 0 + outer loop + vertex 23.0891 18.2417 -0.1 + vertex 23.7039 18.207 0 + vertex 23.0891 18.2417 0 + endloop + endfacet + facet normal -0.0563557 -0.998411 -0 + outer loop + vertex 23.7039 18.207 0 + vertex 23.0891 18.2417 -0.1 + vertex 23.7039 18.207 -0.1 + endloop + endfacet + facet normal -0.125256 -0.992124 0 + outer loop + vertex 23.7039 18.207 -0.1 + vertex 24.2049 18.1437 0 + vertex 23.7039 18.207 0 + endloop + endfacet + facet normal -0.125256 -0.992124 -0 + outer loop + vertex 24.2049 18.1437 0 + vertex 23.7039 18.207 -0.1 + vertex 24.2049 18.1437 -0.1 + endloop + endfacet + facet normal -0.233347 -0.972393 0 + outer loop + vertex 24.2049 18.1437 -0.1 + vertex 24.6059 18.0475 0 + vertex 24.2049 18.1437 0 + endloop + endfacet + facet normal -0.233347 -0.972393 -0 + outer loop + vertex 24.6059 18.0475 0 + vertex 24.2049 18.1437 -0.1 + vertex 24.6059 18.0475 -0.1 + endloop + endfacet + facet normal -0.390765 -0.920491 0 + outer loop + vertex 24.6059 18.0475 -0.1 + vertex 24.9207 17.9138 0 + vertex 24.6059 18.0475 0 + endloop + endfacet + facet normal -0.390765 -0.920491 -0 + outer loop + vertex 24.9207 17.9138 0 + vertex 24.6059 18.0475 -0.1 + vertex 24.9207 17.9138 -0.1 + endloop + endfacet + facet normal -0.536417 -0.843953 0 + outer loop + vertex 24.9207 17.9138 -0.1 + vertex 25.0501 17.8316 0 + vertex 24.9207 17.9138 0 + endloop + endfacet + facet normal -0.536417 -0.843953 -0 + outer loop + vertex 25.0501 17.8316 0 + vertex 24.9207 17.9138 -0.1 + vertex 25.0501 17.8316 -0.1 + endloop + endfacet + facet normal -0.636483 -0.77129 0 + outer loop + vertex 25.0501 17.8316 -0.1 + vertex 25.163 17.7384 0 + vertex 25.0501 17.8316 0 + endloop + endfacet + facet normal -0.636483 -0.77129 -0 + outer loop + vertex 25.163 17.7384 0 + vertex 25.0501 17.8316 -0.1 + vertex 25.163 17.7384 -0.1 + endloop + endfacet + facet normal -0.729305 -0.684189 0 + outer loop + vertex 25.2614 17.6336 -0.1 + vertex 25.163 17.7384 0 + vertex 25.163 17.7384 -0.1 + endloop + endfacet + facet normal -0.729305 -0.684189 0 + outer loop + vertex 25.163 17.7384 0 + vertex 25.2614 17.6336 -0.1 + vertex 25.2614 17.6336 0 + endloop + endfacet + facet normal -0.807579 -0.589759 0 + outer loop + vertex 25.3467 17.5167 -0.1 + vertex 25.2614 17.6336 0 + vertex 25.2614 17.6336 -0.1 + endloop + endfacet + facet normal -0.807579 -0.589759 0 + outer loop + vertex 25.2614 17.6336 0 + vertex 25.3467 17.5167 -0.1 + vertex 25.3467 17.5167 0 + endloop + endfacet + facet normal -0.890947 -0.454107 0 + outer loop + vertex 25.4856 17.2443 -0.1 + vertex 25.3467 17.5167 0 + vertex 25.3467 17.5167 -0.1 + endloop + endfacet + facet normal -0.890947 -0.454107 0 + outer loop + vertex 25.3467 17.5167 0 + vertex 25.4856 17.2443 -0.1 + vertex 25.4856 17.2443 0 + endloop + endfacet + facet normal -0.905796 -0.423714 0 + outer loop + vertex 25.6037 16.9917 -0.1 + vertex 25.4856 17.2443 0 + vertex 25.4856 17.2443 -0.1 + endloop + endfacet + facet normal -0.905796 -0.423714 0 + outer loop + vertex 25.4856 17.2443 0 + vertex 25.6037 16.9917 -0.1 + vertex 25.6037 16.9917 0 + endloop + endfacet + facet normal -0.826293 -0.563241 0 + outer loop + vertex 25.7157 16.8274 -0.1 + vertex 25.6037 16.9917 0 + vertex 25.6037 16.9917 -0.1 + endloop + endfacet + facet normal -0.826293 -0.563241 0 + outer loop + vertex 25.6037 16.9917 0 + vertex 25.7157 16.8274 -0.1 + vertex 25.7157 16.8274 0 + endloop + endfacet + facet normal -0.603414 -0.797428 0 + outer loop + vertex 25.7157 16.8274 -0.1 + vertex 25.8187 16.7495 0 + vertex 25.7157 16.8274 0 + endloop + endfacet + facet normal -0.603414 -0.797428 -0 + outer loop + vertex 25.8187 16.7495 0 + vertex 25.7157 16.8274 -0.1 + vertex 25.8187 16.7495 -0.1 + endloop + endfacet + facet normal -0.148413 -0.988925 0 + outer loop + vertex 25.8187 16.7495 -0.1 + vertex 25.8659 16.7424 0 + vertex 25.8187 16.7495 0 + endloop + endfacet + facet normal -0.148413 -0.988925 -0 + outer loop + vertex 25.8659 16.7424 0 + vertex 25.8187 16.7495 -0.1 + vertex 25.8659 16.7424 -0.1 + endloop + endfacet + facet normal 0.302537 -0.953138 0 + outer loop + vertex 25.8659 16.7424 -0.1 + vertex 25.9096 16.7563 0 + vertex 25.8659 16.7424 0 + endloop + endfacet + facet normal 0.302537 -0.953138 0 + outer loop + vertex 25.9096 16.7563 0 + vertex 25.8659 16.7424 -0.1 + vertex 25.9096 16.7563 -0.1 + endloop + endfacet + facet normal 0.763836 -0.645411 0 + outer loop + vertex 25.9096 16.7563 0 + vertex 25.9855 16.8461 -0.1 + vertex 25.9855 16.8461 0 + endloop + endfacet + facet normal 0.763836 -0.645411 0 + outer loop + vertex 25.9855 16.8461 -0.1 + vertex 25.9096 16.7563 0 + vertex 25.9096 16.7563 -0.1 + endloop + endfacet + facet normal 0.947245 -0.320511 0 + outer loop + vertex 25.9855 16.8461 0 + vertex 26.0434 17.0172 -0.1 + vertex 26.0434 17.0172 0 + endloop + endfacet + facet normal 0.947245 -0.320511 0 + outer loop + vertex 26.0434 17.0172 -0.1 + vertex 25.9855 16.8461 0 + vertex 25.9855 16.8461 -0.1 + endloop + endfacet + facet normal 0.989326 -0.145716 0 + outer loop + vertex 26.0434 17.0172 0 + vertex 26.0803 17.2678 -0.1 + vertex 26.0803 17.2678 0 + endloop + endfacet + facet normal 0.989326 -0.145716 0 + outer loop + vertex 26.0803 17.2678 -0.1 + vertex 26.0434 17.0172 0 + vertex 26.0434 17.0172 -0.1 + endloop + endfacet + facet normal 0.999222 -0.0394472 0 + outer loop + vertex 26.0803 17.2678 0 + vertex 26.0933 17.5963 -0.1 + vertex 26.0933 17.5963 0 + endloop + endfacet + facet normal 0.999222 -0.0394472 0 + outer loop + vertex 26.0933 17.5963 -0.1 + vertex 26.0803 17.2678 0 + vertex 26.0803 17.2678 -0.1 + endloop + endfacet + facet normal 0.99788 0.0650754 0 + outer loop + vertex 26.0933 17.5963 0 + vertex 26.0696 17.9605 -0.1 + vertex 26.0696 17.9605 0 + endloop + endfacet + facet normal 0.99788 0.0650754 0 + outer loop + vertex 26.0696 17.9605 -0.1 + vertex 26.0933 17.5963 0 + vertex 26.0933 17.5963 -0.1 + endloop + endfacet + facet normal 0.979516 0.201364 0 + outer loop + vertex 26.0696 17.9605 0 + vertex 26.0009 18.2942 -0.1 + vertex 26.0009 18.2942 0 + endloop + endfacet + facet normal 0.979516 0.201364 0 + outer loop + vertex 26.0009 18.2942 -0.1 + vertex 26.0696 17.9605 0 + vertex 26.0696 17.9605 -0.1 + endloop + endfacet + facet normal 0.938515 0.345238 0 + outer loop + vertex 26.0009 18.2942 0 + vertex 25.8914 18.5921 -0.1 + vertex 25.8914 18.5921 0 + endloop + endfacet + facet normal 0.938515 0.345238 0 + outer loop + vertex 25.8914 18.5921 -0.1 + vertex 26.0009 18.2942 0 + vertex 26.0009 18.2942 -0.1 + endloop + endfacet + facet normal 0.86805 0.496476 0 + outer loop + vertex 25.8914 18.5921 0 + vertex 25.7448 18.8483 -0.1 + vertex 25.7448 18.8483 0 + endloop + endfacet + facet normal 0.86805 0.496476 0 + outer loop + vertex 25.7448 18.8483 -0.1 + vertex 25.8914 18.5921 0 + vertex 25.8914 18.5921 -0.1 + endloop + endfacet + facet normal 0.758477 0.651699 0 + outer loop + vertex 25.7448 18.8483 0 + vertex 25.5652 19.0574 -0.1 + vertex 25.5652 19.0574 0 + endloop + endfacet + facet normal 0.758477 0.651699 0 + outer loop + vertex 25.5652 19.0574 -0.1 + vertex 25.7448 18.8483 0 + vertex 25.7448 18.8483 -0.1 + endloop + endfacet + facet normal 0.599251 0.800561 -0 + outer loop + vertex 25.5652 19.0574 -0.1 + vertex 25.3564 19.2137 0 + vertex 25.5652 19.0574 0 + endloop + endfacet + facet normal 0.599251 0.800561 0 + outer loop + vertex 25.3564 19.2137 0 + vertex 25.5652 19.0574 -0.1 + vertex 25.3564 19.2137 -0.1 + endloop + endfacet + facet normal 0.385907 0.922538 -0 + outer loop + vertex 25.3564 19.2137 -0.1 + vertex 25.1224 19.3115 0 + vertex 25.3564 19.2137 0 + endloop + endfacet + facet normal 0.385907 0.922538 0 + outer loop + vertex 25.1224 19.3115 0 + vertex 25.3564 19.2137 -0.1 + vertex 25.1224 19.3115 -0.1 + endloop + endfacet + facet normal 0.197951 0.980212 -0 + outer loop + vertex 25.1224 19.3115 -0.1 + vertex 24.9972 19.3368 0 + vertex 25.1224 19.3115 0 + endloop + endfacet + facet normal 0.197951 0.980212 0 + outer loop + vertex 24.9972 19.3368 0 + vertex 25.1224 19.3115 -0.1 + vertex 24.9972 19.3368 -0.1 + endloop + endfacet + facet normal 0.0658711 0.997828 -0 + outer loop + vertex 24.9972 19.3368 -0.1 + vertex 24.8672 19.3454 0 + vertex 24.9972 19.3368 0 + endloop + endfacet + facet normal 0.0658711 0.997828 0 + outer loop + vertex 24.8672 19.3454 0 + vertex 24.9972 19.3368 -0.1 + vertex 24.8672 19.3454 -0.1 + endloop + endfacet + facet normal 0.104566 0.994518 -0 + outer loop + vertex 24.8672 19.3454 -0.1 + vertex 24.6124 19.3722 0 + vertex 24.8672 19.3454 0 + endloop + endfacet + facet normal 0.104566 0.994518 0 + outer loop + vertex 24.6124 19.3722 0 + vertex 24.8672 19.3454 -0.1 + vertex 24.6124 19.3722 -0.1 + endloop + endfacet + facet normal 0.198003 0.980201 -0 + outer loop + vertex 24.6124 19.3722 -0.1 + vertex 24.2514 19.4451 0 + vertex 24.6124 19.3722 0 + endloop + endfacet + facet normal 0.198003 0.980201 0 + outer loop + vertex 24.2514 19.4451 0 + vertex 24.6124 19.3722 -0.1 + vertex 24.2514 19.4451 -0.1 + endloop + endfacet + facet normal 0.249312 0.968423 -0 + outer loop + vertex 24.2514 19.4451 -0.1 + vertex 23.8321 19.5531 0 + vertex 24.2514 19.4451 0 + endloop + endfacet + facet normal 0.249312 0.968423 0 + outer loop + vertex 23.8321 19.5531 0 + vertex 24.2514 19.4451 -0.1 + vertex 23.8321 19.5531 -0.1 + endloop + endfacet + facet normal 0.293412 0.955986 -0 + outer loop + vertex 23.8321 19.5531 -0.1 + vertex 23.4027 19.6849 0 + vertex 23.8321 19.5531 0 + endloop + endfacet + facet normal 0.293412 0.955986 0 + outer loop + vertex 23.4027 19.6849 0 + vertex 23.8321 19.5531 -0.1 + vertex 23.4027 19.6849 -0.1 + endloop + endfacet + facet normal 0.372015 0.928227 -0 + outer loop + vertex 23.4027 19.6849 -0.1 + vertex 22.9977 19.8472 0 + vertex 23.4027 19.6849 0 + endloop + endfacet + facet normal 0.372015 0.928227 0 + outer loop + vertex 22.9977 19.8472 0 + vertex 23.4027 19.6849 -0.1 + vertex 22.9977 19.8472 -0.1 + endloop + endfacet + facet normal 0.496703 0.86792 -0 + outer loop + vertex 22.9977 19.8472 -0.1 + vertex 22.6486 20.047 0 + vertex 22.9977 19.8472 0 + endloop + endfacet + facet normal 0.496703 0.86792 0 + outer loop + vertex 22.6486 20.047 0 + vertex 22.9977 19.8472 -0.1 + vertex 22.6486 20.047 -0.1 + endloop + endfacet + facet normal 0.63232 0.774707 -0 + outer loop + vertex 22.6486 20.047 -0.1 + vertex 22.3515 20.2895 0 + vertex 22.6486 20.047 0 + endloop + endfacet + facet normal 0.63232 0.774707 0 + outer loop + vertex 22.3515 20.2895 0 + vertex 22.6486 20.047 -0.1 + vertex 22.3515 20.2895 -0.1 + endloop + endfacet + facet normal 0.72955 0.683927 0 + outer loop + vertex 22.3515 20.2895 0 + vertex 22.2213 20.4283 -0.1 + vertex 22.2213 20.4283 0 + endloop + endfacet + facet normal 0.72955 0.683927 0 + outer loop + vertex 22.2213 20.4283 -0.1 + vertex 22.3515 20.2895 0 + vertex 22.3515 20.2895 -0.1 + endloop + endfacet + facet normal 0.787511 0.616301 0 + outer loop + vertex 22.2213 20.4283 0 + vertex 22.1028 20.5797 -0.1 + vertex 22.1028 20.5797 0 + endloop + endfacet + facet normal 0.787511 0.616301 0 + outer loop + vertex 22.1028 20.5797 -0.1 + vertex 22.2213 20.4283 0 + vertex 22.2213 20.4283 -0.1 + endloop + endfacet + facet normal 0.859714 0.510776 0 + outer loop + vertex 22.1028 20.5797 0 + vertex 21.8989 20.9229 -0.1 + vertex 21.8989 20.9229 0 + endloop + endfacet + facet normal 0.859714 0.510776 0 + outer loop + vertex 21.8989 20.9229 -0.1 + vertex 22.1028 20.5797 0 + vertex 22.1028 20.5797 -0.1 + endloop + endfacet + facet normal 0.926661 0.375897 0 + outer loop + vertex 21.8989 20.9229 0 + vertex 21.7362 21.3239 -0.1 + vertex 21.7362 21.3239 0 + endloop + endfacet + facet normal 0.926661 0.375897 0 + outer loop + vertex 21.7362 21.3239 -0.1 + vertex 21.8989 20.9229 0 + vertex 21.8989 20.9229 -0.1 + endloop + endfacet + facet normal 0.965497 0.260414 0 + outer loop + vertex 21.7362 21.3239 0 + vertex 21.6111 21.7881 -0.1 + vertex 21.6111 21.7881 0 + endloop + endfacet + facet normal 0.965497 0.260414 0 + outer loop + vertex 21.6111 21.7881 -0.1 + vertex 21.7362 21.3239 0 + vertex 21.7362 21.3239 -0.1 + endloop + endfacet + facet normal 0.985599 0.169101 0 + outer loop + vertex 21.6111 21.7881 0 + vertex 21.5197 22.3204 -0.1 + vertex 21.5197 22.3204 0 + endloop + endfacet + facet normal 0.985599 0.169101 0 + outer loop + vertex 21.5197 22.3204 -0.1 + vertex 21.6111 21.7881 0 + vertex 21.6111 21.7881 -0.1 + endloop + endfacet + facet normal 0.981389 0.192031 0 + outer loop + vertex 21.5197 22.3204 0 + vertex 21.4205 22.8275 -0.1 + vertex 21.4205 22.8275 0 + endloop + endfacet + facet normal 0.981389 0.192031 0 + outer loop + vertex 21.4205 22.8275 -0.1 + vertex 21.5197 22.3204 0 + vertex 21.5197 22.3204 -0.1 + endloop + endfacet + facet normal 0.957484 0.288485 0 + outer loop + vertex 21.4205 22.8275 0 + vertex 21.3493 23.064 -0.1 + vertex 21.3493 23.064 0 + endloop + endfacet + facet normal 0.957484 0.288485 0 + outer loop + vertex 21.3493 23.064 -0.1 + vertex 21.4205 22.8275 0 + vertex 21.4205 22.8275 -0.1 + endloop + endfacet + facet normal 0.934507 0.355946 0 + outer loop + vertex 21.3493 23.064 0 + vertex 21.2635 23.2891 -0.1 + vertex 21.2635 23.2891 0 + endloop + endfacet + facet normal 0.934507 0.355946 0 + outer loop + vertex 21.2635 23.2891 -0.1 + vertex 21.3493 23.064 0 + vertex 21.3493 23.064 -0.1 + endloop + endfacet + facet normal 0.905346 0.424674 0 + outer loop + vertex 21.2635 23.2891 0 + vertex 21.1632 23.503 -0.1 + vertex 21.1632 23.503 0 + endloop + endfacet + facet normal 0.905346 0.424674 0 + outer loop + vertex 21.1632 23.503 -0.1 + vertex 21.2635 23.2891 0 + vertex 21.2635 23.2891 -0.1 + endloop + endfacet + facet normal 0.869841 0.493332 0 + outer loop + vertex 21.1632 23.503 0 + vertex 21.0482 23.7058 -0.1 + vertex 21.0482 23.7058 0 + endloop + endfacet + facet normal 0.869841 0.493332 0 + outer loop + vertex 21.0482 23.7058 -0.1 + vertex 21.1632 23.503 0 + vertex 21.1632 23.503 -0.1 + endloop + endfacet + facet normal 0.828197 0.560437 0 + outer loop + vertex 21.0482 23.7058 0 + vertex 20.9184 23.8976 -0.1 + vertex 20.9184 23.8976 0 + endloop + endfacet + facet normal 0.828197 0.560437 0 + outer loop + vertex 20.9184 23.8976 -0.1 + vertex 21.0482 23.7058 0 + vertex 21.0482 23.7058 -0.1 + endloop + endfacet + facet normal 0.781014 0.624513 0 + outer loop + vertex 20.9184 23.8976 0 + vertex 20.7738 24.0784 -0.1 + vertex 20.7738 24.0784 0 + endloop + endfacet + facet normal 0.781014 0.624513 0 + outer loop + vertex 20.7738 24.0784 -0.1 + vertex 20.9184 23.8976 0 + vertex 20.9184 23.8976 -0.1 + endloop + endfacet + facet normal 0.729218 0.684281 0 + outer loop + vertex 20.7738 24.0784 0 + vertex 20.6143 24.2484 -0.1 + vertex 20.6143 24.2484 0 + endloop + endfacet + facet normal 0.729218 0.684281 0 + outer loop + vertex 20.6143 24.2484 -0.1 + vertex 20.7738 24.0784 0 + vertex 20.7738 24.0784 -0.1 + endloop + endfacet + facet normal 0.674059 0.738677 -0 + outer loop + vertex 20.6143 24.2484 -0.1 + vertex 20.4398 24.4076 0 + vertex 20.6143 24.2484 0 + endloop + endfacet + facet normal 0.674059 0.738677 0 + outer loop + vertex 20.4398 24.4076 0 + vertex 20.6143 24.2484 -0.1 + vertex 20.4398 24.4076 -0.1 + endloop + endfacet + facet normal 0.616853 0.787078 -0 + outer loop + vertex 20.4398 24.4076 -0.1 + vertex 20.2502 24.5562 0 + vertex 20.4398 24.4076 0 + endloop + endfacet + facet normal 0.616853 0.787078 0 + outer loop + vertex 20.2502 24.5562 0 + vertex 20.4398 24.4076 -0.1 + vertex 20.2502 24.5562 -0.1 + endloop + endfacet + facet normal 0.558944 0.829206 -0 + outer loop + vertex 20.2502 24.5562 -0.1 + vertex 20.0455 24.6942 0 + vertex 20.2502 24.5562 0 + endloop + endfacet + facet normal 0.558944 0.829206 0 + outer loop + vertex 20.0455 24.6942 0 + vertex 20.2502 24.5562 -0.1 + vertex 20.0455 24.6942 -0.1 + endloop + endfacet + facet normal 0.473385 0.880855 -0 + outer loop + vertex 20.0455 24.6942 -0.1 + vertex 19.5904 24.9388 0 + vertex 20.0455 24.6942 0 + endloop + endfacet + facet normal 0.473385 0.880855 0 + outer loop + vertex 19.5904 24.9388 0 + vertex 20.0455 24.6942 -0.1 + vertex 19.5904 24.9388 -0.1 + endloop + endfacet + facet normal 0.366293 0.930499 -0 + outer loop + vertex 19.5904 24.9388 -0.1 + vertex 19.0737 25.1422 0 + vertex 19.5904 24.9388 0 + endloop + endfacet + facet normal 0.366293 0.930499 0 + outer loop + vertex 19.0737 25.1422 0 + vertex 19.5904 24.9388 -0.1 + vertex 19.0737 25.1422 -0.1 + endloop + endfacet + facet normal 0.339314 0.940673 -0 + outer loop + vertex 19.0737 25.1422 -0.1 + vertex 18.5685 25.3244 0 + vertex 19.0737 25.1422 0 + endloop + endfacet + facet normal 0.339314 0.940673 0 + outer loop + vertex 18.5685 25.3244 0 + vertex 19.0737 25.1422 -0.1 + vertex 18.5685 25.3244 -0.1 + endloop + endfacet + facet normal 0.390266 0.920702 -0 + outer loop + vertex 18.5685 25.3244 -0.1 + vertex 18.1033 25.5216 0 + vertex 18.5685 25.3244 0 + endloop + endfacet + facet normal 0.390266 0.920702 0 + outer loop + vertex 18.1033 25.5216 0 + vertex 18.5685 25.3244 -0.1 + vertex 18.1033 25.5216 -0.1 + endloop + endfacet + facet normal 0.448214 0.893926 -0 + outer loop + vertex 18.1033 25.5216 -0.1 + vertex 17.6707 25.7385 0 + vertex 18.1033 25.5216 0 + endloop + endfacet + facet normal 0.448214 0.893926 0 + outer loop + vertex 17.6707 25.7385 0 + vertex 18.1033 25.5216 -0.1 + vertex 17.6707 25.7385 -0.1 + endloop + endfacet + facet normal 0.509711 0.860346 -0 + outer loop + vertex 17.6707 25.7385 -0.1 + vertex 17.2631 25.98 0 + vertex 17.6707 25.7385 0 + endloop + endfacet + facet normal 0.509711 0.860346 0 + outer loop + vertex 17.2631 25.98 0 + vertex 17.6707 25.7385 -0.1 + vertex 17.2631 25.98 -0.1 + endloop + endfacet + facet normal 0.570375 0.821384 -0 + outer loop + vertex 17.2631 25.98 -0.1 + vertex 16.873 26.2508 0 + vertex 17.2631 25.98 0 + endloop + endfacet + facet normal 0.570375 0.821384 0 + outer loop + vertex 16.873 26.2508 0 + vertex 17.2631 25.98 -0.1 + vertex 16.873 26.2508 -0.1 + endloop + endfacet + facet normal 0.626027 0.779801 -0 + outer loop + vertex 16.873 26.2508 -0.1 + vertex 16.4932 26.5558 0 + vertex 16.873 26.2508 0 + endloop + endfacet + facet normal 0.626027 0.779801 0 + outer loop + vertex 16.4932 26.5558 0 + vertex 16.873 26.2508 -0.1 + vertex 16.4932 26.5558 -0.1 + endloop + endfacet + facet normal 0.673725 0.738983 -0 + outer loop + vertex 16.4932 26.5558 -0.1 + vertex 16.116 26.8997 0 + vertex 16.4932 26.5558 0 + endloop + endfacet + facet normal 0.673725 0.738983 0 + outer loop + vertex 16.116 26.8997 0 + vertex 16.4932 26.5558 -0.1 + vertex 16.116 26.8997 -0.1 + endloop + endfacet + facet normal 0.71226 0.701916 0 + outer loop + vertex 16.116 26.8997 0 + vertex 15.734 27.2872 -0.1 + vertex 15.734 27.2872 0 + endloop + endfacet + facet normal 0.71226 0.701916 0 + outer loop + vertex 15.734 27.2872 -0.1 + vertex 16.116 26.8997 0 + vertex 16.116 26.8997 -0.1 + endloop + endfacet + facet normal 0.751608 0.65961 0 + outer loop + vertex 15.734 27.2872 0 + vertex 15.344 27.7317 -0.1 + vertex 15.344 27.7317 0 + endloop + endfacet + facet normal 0.751608 0.65961 0 + outer loop + vertex 15.344 27.7317 -0.1 + vertex 15.734 27.2872 0 + vertex 15.734 27.2872 -0.1 + endloop + endfacet + facet normal 0.827441 0.561552 0 + outer loop + vertex 15.344 27.7317 0 + vertex 15.2193 27.9155 -0.1 + vertex 15.2193 27.9155 0 + endloop + endfacet + facet normal 0.827441 0.561552 0 + outer loop + vertex 15.2193 27.9155 -0.1 + vertex 15.344 27.7317 0 + vertex 15.344 27.7317 -0.1 + endloop + endfacet + facet normal 0.901872 0.432003 0 + outer loop + vertex 15.2193 27.9155 0 + vertex 15.1337 28.0941 -0.1 + vertex 15.1337 28.0941 0 + endloop + endfacet + facet normal 0.901872 0.432003 0 + outer loop + vertex 15.1337 28.0941 -0.1 + vertex 15.2193 27.9155 0 + vertex 15.2193 27.9155 -0.1 + endloop + endfacet + facet normal 0.963972 0.266005 0 + outer loop + vertex 15.1337 28.0941 0 + vertex 15.0817 28.2827 -0.1 + vertex 15.0817 28.2827 0 + endloop + endfacet + facet normal 0.963972 0.266005 0 + outer loop + vertex 15.0817 28.2827 -0.1 + vertex 15.1337 28.0941 0 + vertex 15.1337 28.0941 -0.1 + endloop + endfacet + facet normal 0.993628 0.112714 0 + outer loop + vertex 15.0817 28.2827 0 + vertex 15.0574 28.4965 -0.1 + vertex 15.0574 28.4965 0 + endloop + endfacet + facet normal 0.993628 0.112714 0 + outer loop + vertex 15.0574 28.4965 -0.1 + vertex 15.0817 28.2827 0 + vertex 15.0817 28.2827 -0.1 + endloop + endfacet + facet normal 0.999963 0.00862244 0 + outer loop + vertex 15.0574 28.4965 0 + vertex 15.0552 28.7509 -0.1 + vertex 15.0552 28.7509 0 + endloop + endfacet + facet normal 0.999963 0.00862244 0 + outer loop + vertex 15.0552 28.7509 -0.1 + vertex 15.0574 28.4965 0 + vertex 15.0574 28.4965 -0.1 + endloop + endfacet + facet normal 0.99896 -0.0455854 0 + outer loop + vertex 15.0552 28.7509 0 + vertex 15.0694 29.0611 -0.1 + vertex 15.0694 29.0611 0 + endloop + endfacet + facet normal 0.99896 -0.0455854 0 + outer loop + vertex 15.0694 29.0611 -0.1 + vertex 15.0552 28.7509 0 + vertex 15.0552 28.7509 -0.1 + endloop + endfacet + facet normal 0.995626 -0.0934289 0 + outer loop + vertex 15.0694 29.0611 0 + vertex 15.1102 29.496 -0.1 + vertex 15.1102 29.496 0 + endloop + endfacet + facet normal 0.995626 -0.0934289 0 + outer loop + vertex 15.1102 29.496 -0.1 + vertex 15.0694 29.0611 0 + vertex 15.0694 29.0611 -0.1 + endloop + endfacet + facet normal 0.982507 -0.186226 0 + outer loop + vertex 15.1102 29.496 0 + vertex 15.1701 29.8123 -0.1 + vertex 15.1701 29.8123 0 + endloop + endfacet + facet normal 0.982507 -0.186226 0 + outer loop + vertex 15.1701 29.8123 -0.1 + vertex 15.1102 29.496 0 + vertex 15.1102 29.496 -0.1 + endloop + endfacet + facet normal 0.936612 -0.350368 0 + outer loop + vertex 15.1701 29.8123 0 + vertex 15.2437 30.0088 -0.1 + vertex 15.2437 30.0088 0 + endloop + endfacet + facet normal 0.936612 -0.350368 0 + outer loop + vertex 15.2437 30.0088 -0.1 + vertex 15.1701 29.8123 0 + vertex 15.1701 29.8123 -0.1 + endloop + endfacet + facet normal 0.797615 -0.603167 0 + outer loop + vertex 15.2437 30.0088 0 + vertex 15.2838 30.0618 -0.1 + vertex 15.2838 30.0618 0 + endloop + endfacet + facet normal 0.797615 -0.603167 0 + outer loop + vertex 15.2838 30.0618 -0.1 + vertex 15.2437 30.0088 0 + vertex 15.2437 30.0088 -0.1 + endloop + endfacet + facet normal 0.48104 -0.876698 0 + outer loop + vertex 15.2838 30.0618 -0.1 + vertex 15.3252 30.0845 0 + vertex 15.2838 30.0618 0 + endloop + endfacet + facet normal 0.48104 -0.876698 0 + outer loop + vertex 15.3252 30.0845 0 + vertex 15.2838 30.0618 -0.1 + vertex 15.3252 30.0845 -0.1 + endloop + endfacet + facet normal -0.180566 -0.983563 0 + outer loop + vertex 15.3252 30.0845 -0.1 + vertex 15.3672 30.0768 0 + vertex 15.3252 30.0845 0 + endloop + endfacet + facet normal -0.180566 -0.983563 -0 + outer loop + vertex 15.3672 30.0768 0 + vertex 15.3252 30.0845 -0.1 + vertex 15.3672 30.0768 -0.1 + endloop + endfacet + facet normal -0.674079 -0.738659 0 + outer loop + vertex 15.3672 30.0768 -0.1 + vertex 15.4091 30.0386 0 + vertex 15.3672 30.0768 0 + endloop + endfacet + facet normal -0.674079 -0.738659 -0 + outer loop + vertex 15.4091 30.0386 0 + vertex 15.3672 30.0768 -0.1 + vertex 15.4091 30.0386 -0.1 + endloop + endfacet + facet normal -0.901794 -0.432166 0 + outer loop + vertex 15.49 29.8698 -0.1 + vertex 15.4091 30.0386 0 + vertex 15.4091 30.0386 -0.1 + endloop + endfacet + facet normal -0.901794 -0.432166 0 + outer loop + vertex 15.4091 30.0386 0 + vertex 15.49 29.8698 -0.1 + vertex 15.49 29.8698 0 + endloop + endfacet + facet normal -0.970859 -0.239653 0 + outer loop + vertex 15.5622 29.5773 -0.1 + vertex 15.49 29.8698 0 + vertex 15.49 29.8698 -0.1 + endloop + endfacet + facet normal -0.970859 -0.239653 0 + outer loop + vertex 15.49 29.8698 0 + vertex 15.5622 29.5773 -0.1 + vertex 15.5622 29.5773 0 + endloop + endfacet + facet normal -0.990483 -0.137635 0 + outer loop + vertex 15.6202 29.1601 -0.1 + vertex 15.5622 29.5773 0 + vertex 15.5622 29.5773 -0.1 + endloop + endfacet + facet normal -0.990483 -0.137635 0 + outer loop + vertex 15.5622 29.5773 0 + vertex 15.6202 29.1601 -0.1 + vertex 15.6202 29.1601 0 + endloop + endfacet + facet normal -0.987242 -0.159229 0 + outer loop + vertex 15.6927 28.7106 -0.1 + vertex 15.6202 29.1601 0 + vertex 15.6202 29.1601 -0.1 + endloop + endfacet + facet normal -0.987242 -0.159229 0 + outer loop + vertex 15.6202 29.1601 0 + vertex 15.6927 28.7106 -0.1 + vertex 15.6927 28.7106 0 + endloop + endfacet + facet normal -0.964764 -0.263116 0 + outer loop + vertex 15.7487 28.5051 -0.1 + vertex 15.6927 28.7106 0 + vertex 15.6927 28.7106 -0.1 + endloop + endfacet + facet normal -0.964764 -0.263116 0 + outer loop + vertex 15.6927 28.7106 0 + vertex 15.7487 28.5051 -0.1 + vertex 15.7487 28.5051 0 + endloop + endfacet + facet normal -0.93932 -0.343042 0 + outer loop + vertex 15.8197 28.3106 -0.1 + vertex 15.7487 28.5051 0 + vertex 15.7487 28.5051 -0.1 + endloop + endfacet + facet normal -0.93932 -0.343042 0 + outer loop + vertex 15.7487 28.5051 0 + vertex 15.8197 28.3106 -0.1 + vertex 15.8197 28.3106 0 + endloop + endfacet + facet normal -0.904159 -0.427196 0 + outer loop + vertex 15.9071 28.1258 -0.1 + vertex 15.8197 28.3106 0 + vertex 15.8197 28.3106 -0.1 + endloop + endfacet + facet normal -0.904159 -0.427196 0 + outer loop + vertex 15.8197 28.3106 0 + vertex 15.9071 28.1258 -0.1 + vertex 15.9071 28.1258 0 + endloop + endfacet + facet normal -0.859613 -0.510945 0 + outer loop + vertex 16.0121 27.9491 -0.1 + vertex 15.9071 28.1258 0 + vertex 15.9071 28.1258 -0.1 + endloop + endfacet + facet normal -0.859613 -0.510945 0 + outer loop + vertex 15.9071 28.1258 0 + vertex 16.0121 27.9491 -0.1 + vertex 16.0121 27.9491 0 + endloop + endfacet + facet normal -0.807674 -0.589629 0 + outer loop + vertex 16.1362 27.7792 -0.1 + vertex 16.0121 27.9491 0 + vertex 16.0121 27.9491 -0.1 + endloop + endfacet + facet normal -0.807674 -0.589629 0 + outer loop + vertex 16.0121 27.9491 0 + vertex 16.1362 27.7792 -0.1 + vertex 16.1362 27.7792 0 + endloop + endfacet + facet normal -0.751613 -0.659605 0 + outer loop + vertex 16.2806 27.6146 -0.1 + vertex 16.1362 27.7792 0 + vertex 16.1362 27.7792 -0.1 + endloop + endfacet + facet normal -0.751613 -0.659605 0 + outer loop + vertex 16.1362 27.7792 0 + vertex 16.2806 27.6146 -0.1 + vertex 16.2806 27.6146 0 + endloop + endfacet + facet normal -0.695067 -0.718945 0 + outer loop + vertex 16.2806 27.6146 -0.1 + vertex 16.4467 27.454 0 + vertex 16.2806 27.6146 0 + endloop + endfacet + facet normal -0.695067 -0.718945 -0 + outer loop + vertex 16.4467 27.454 0 + vertex 16.2806 27.6146 -0.1 + vertex 16.4467 27.454 -0.1 + endloop + endfacet + facet normal -0.641168 -0.767401 0 + outer loop + vertex 16.4467 27.454 -0.1 + vertex 16.6359 27.2959 0 + vertex 16.4467 27.454 0 + endloop + endfacet + facet normal -0.641168 -0.767401 -0 + outer loop + vertex 16.6359 27.2959 0 + vertex 16.4467 27.454 -0.1 + vertex 16.6359 27.2959 -0.1 + endloop + endfacet + facet normal -0.569935 -0.82169 0 + outer loop + vertex 16.6359 27.2959 -0.1 + vertex 17.0889 26.9817 0 + vertex 16.6359 27.2959 0 + endloop + endfacet + facet normal -0.569935 -0.82169 -0 + outer loop + vertex 17.0889 26.9817 0 + vertex 16.6359 27.2959 -0.1 + vertex 17.0889 26.9817 -0.1 + endloop + endfacet + facet normal -0.496343 -0.868126 0 + outer loop + vertex 17.0889 26.9817 -0.1 + vertex 17.6504 26.6607 0 + vertex 17.0889 26.9817 0 + endloop + endfacet + facet normal -0.496343 -0.868126 -0 + outer loop + vertex 17.6504 26.6607 0 + vertex 17.0889 26.9817 -0.1 + vertex 17.6504 26.6607 -0.1 + endloop + endfacet + facet normal -0.4459 -0.895083 0 + outer loop + vertex 17.6504 26.6607 -0.1 + vertex 18.3311 26.3216 0 + vertex 17.6504 26.6607 0 + endloop + endfacet + facet normal -0.4459 -0.895083 -0 + outer loop + vertex 18.3311 26.3216 0 + vertex 17.6504 26.6607 -0.1 + vertex 18.3311 26.3216 -0.1 + endloop + endfacet + facet normal -0.437511 -0.899213 0 + outer loop + vertex 18.3311 26.3216 -0.1 + vertex 19.3729 25.8147 0 + vertex 18.3311 26.3216 0 + endloop + endfacet + facet normal -0.437511 -0.899213 -0 + outer loop + vertex 19.3729 25.8147 0 + vertex 18.3311 26.3216 -0.1 + vertex 19.3729 25.8147 -0.1 + endloop + endfacet + facet normal -0.473558 -0.880763 0 + outer loop + vertex 19.3729 25.8147 -0.1 + vertex 20.1936 25.3734 0 + vertex 19.3729 25.8147 0 + endloop + endfacet + facet normal -0.473558 -0.880763 -0 + outer loop + vertex 20.1936 25.3734 0 + vertex 19.3729 25.8147 -0.1 + vertex 20.1936 25.3734 -0.1 + endloop + endfacet + facet normal -0.521003 -0.853555 0 + outer loop + vertex 20.1936 25.3734 -0.1 + vertex 20.53 25.168 0 + vertex 20.1936 25.3734 0 + endloop + endfacet + facet normal -0.521003 -0.853555 -0 + outer loop + vertex 20.53 25.168 0 + vertex 20.1936 25.3734 -0.1 + vertex 20.53 25.168 -0.1 + endloop + endfacet + facet normal -0.565431 -0.824796 0 + outer loop + vertex 20.53 25.168 -0.1 + vertex 20.8221 24.9679 0 + vertex 20.53 25.168 0 + endloop + endfacet + facet normal -0.565431 -0.824796 -0 + outer loop + vertex 20.8221 24.9679 0 + vertex 20.53 25.168 -0.1 + vertex 20.8221 24.9679 -0.1 + endloop + endfacet + facet normal -0.620484 -0.784219 0 + outer loop + vertex 20.8221 24.9679 -0.1 + vertex 21.0733 24.7691 0 + vertex 20.8221 24.9679 0 + endloop + endfacet + facet normal -0.620484 -0.784219 -0 + outer loop + vertex 21.0733 24.7691 0 + vertex 20.8221 24.9679 -0.1 + vertex 21.0733 24.7691 -0.1 + endloop + endfacet + facet normal -0.684731 -0.728796 0 + outer loop + vertex 21.0733 24.7691 -0.1 + vertex 21.2873 24.568 0 + vertex 21.0733 24.7691 0 + endloop + endfacet + facet normal -0.684731 -0.728796 -0 + outer loop + vertex 21.2873 24.568 0 + vertex 21.0733 24.7691 -0.1 + vertex 21.2873 24.568 -0.1 + endloop + endfacet + facet normal -0.754027 -0.656843 0 + outer loop + vertex 21.4677 24.3609 -0.1 + vertex 21.2873 24.568 0 + vertex 21.2873 24.568 -0.1 + endloop + endfacet + facet normal -0.754027 -0.656843 0 + outer loop + vertex 21.2873 24.568 0 + vertex 21.4677 24.3609 -0.1 + vertex 21.4677 24.3609 0 + endloop + endfacet + facet normal -0.821674 -0.569958 0 + outer loop + vertex 21.6182 24.144 -0.1 + vertex 21.4677 24.3609 0 + vertex 21.4677 24.3609 -0.1 + endloop + endfacet + facet normal -0.821674 -0.569958 0 + outer loop + vertex 21.4677 24.3609 0 + vertex 21.6182 24.144 -0.1 + vertex 21.6182 24.144 0 + endloop + endfacet + facet normal -0.880428 -0.47418 0 + outer loop + vertex 21.7423 23.9135 -0.1 + vertex 21.6182 24.144 0 + vertex 21.6182 24.144 -0.1 + endloop + endfacet + facet normal -0.880428 -0.47418 0 + outer loop + vertex 21.6182 24.144 0 + vertex 21.7423 23.9135 -0.1 + vertex 21.7423 23.9135 0 + endloop + endfacet + facet normal -0.925485 -0.378785 0 + outer loop + vertex 21.8437 23.6658 -0.1 + vertex 21.7423 23.9135 0 + vertex 21.7423 23.9135 -0.1 + endloop + endfacet + facet normal -0.925485 -0.378785 0 + outer loop + vertex 21.7423 23.9135 0 + vertex 21.8437 23.6658 -0.1 + vertex 21.8437 23.6658 0 + endloop + endfacet + facet normal -0.956187 -0.292757 0 + outer loop + vertex 21.926 23.397 -0.1 + vertex 21.8437 23.6658 0 + vertex 21.8437 23.6658 -0.1 + endloop + endfacet + facet normal -0.956187 -0.292757 0 + outer loop + vertex 21.8437 23.6658 0 + vertex 21.926 23.397 -0.1 + vertex 21.926 23.397 0 + endloop + endfacet + facet normal -0.975069 -0.221901 0 + outer loop + vertex 21.9928 23.1034 -0.1 + vertex 21.926 23.397 0 + vertex 21.926 23.397 -0.1 + endloop + endfacet + facet normal -0.975069 -0.221901 0 + outer loop + vertex 21.926 23.397 0 + vertex 21.9928 23.1034 -0.1 + vertex 21.9928 23.1034 0 + endloop + endfacet + facet normal -0.988902 -0.14857 0 + outer loop + vertex 22.0944 22.427 -0.1 + vertex 21.9928 23.1034 0 + vertex 21.9928 23.1034 -0.1 + endloop + endfacet + facet normal -0.988902 -0.14857 0 + outer loop + vertex 21.9928 23.1034 0 + vertex 22.0944 22.427 -0.1 + vertex 22.0944 22.427 0 + endloop + endfacet + facet normal -0.986323 -0.164825 0 + outer loop + vertex 22.1689 21.9813 -0.1 + vertex 22.0944 22.427 0 + vertex 22.0944 22.427 -0.1 + endloop + endfacet + facet normal -0.986323 -0.164825 0 + outer loop + vertex 22.0944 22.427 0 + vertex 22.1689 21.9813 -0.1 + vertex 22.1689 21.9813 0 + endloop + endfacet + facet normal -0.960165 -0.279433 0 + outer loop + vertex 22.2815 21.5943 -0.1 + vertex 22.1689 21.9813 0 + vertex 22.1689 21.9813 -0.1 + endloop + endfacet + facet normal -0.960165 -0.279433 0 + outer loop + vertex 22.1689 21.9813 0 + vertex 22.2815 21.5943 -0.1 + vertex 22.2815 21.5943 0 + endloop + endfacet + facet normal -0.907871 -0.41925 0 + outer loop + vertex 22.4341 21.2638 -0.1 + vertex 22.2815 21.5943 0 + vertex 22.2815 21.5943 -0.1 + endloop + endfacet + facet normal -0.907871 -0.41925 0 + outer loop + vertex 22.2815 21.5943 0 + vertex 22.4341 21.2638 -0.1 + vertex 22.4341 21.2638 0 + endloop + endfacet + facet normal -0.817597 -0.575791 0 + outer loop + vertex 22.6286 20.9877 -0.1 + vertex 22.4341 21.2638 0 + vertex 22.4341 21.2638 -0.1 + endloop + endfacet + facet normal -0.817597 -0.575791 0 + outer loop + vertex 22.4341 21.2638 0 + vertex 22.6286 20.9877 -0.1 + vertex 22.6286 20.9877 0 + endloop + endfacet + facet normal -0.721714 -0.692192 0 + outer loop + vertex 22.7421 20.8693 -0.1 + vertex 22.6286 20.9877 0 + vertex 22.6286 20.9877 -0.1 + endloop + endfacet + facet normal -0.721714 -0.692192 0 + outer loop + vertex 22.6286 20.9877 0 + vertex 22.7421 20.8693 -0.1 + vertex 22.7421 20.8693 0 + endloop + endfacet + facet normal -0.646202 -0.763167 0 + outer loop + vertex 22.7421 20.8693 -0.1 + vertex 22.8668 20.7638 0 + vertex 22.7421 20.8693 0 + endloop + endfacet + facet normal -0.646202 -0.763167 -0 + outer loop + vertex 22.8668 20.7638 0 + vertex 22.7421 20.8693 -0.1 + vertex 22.8668 20.7638 -0.1 + endloop + endfacet + facet normal -0.522339 -0.852738 0 + outer loop + vertex 22.8668 20.7638 -0.1 + vertex 23.1504 20.59 0 + vertex 22.8668 20.7638 0 + endloop + endfacet + facet normal -0.522339 -0.852738 -0 + outer loop + vertex 23.1504 20.59 0 + vertex 22.8668 20.7638 -0.1 + vertex 23.1504 20.59 -0.1 + endloop + endfacet + facet normal -0.355133 -0.934816 0 + outer loop + vertex 23.1504 20.59 -0.1 + vertex 23.4814 20.4643 0 + vertex 23.1504 20.59 0 + endloop + endfacet + facet normal -0.355133 -0.934816 -0 + outer loop + vertex 23.4814 20.4643 0 + vertex 23.1504 20.59 -0.1 + vertex 23.4814 20.4643 -0.1 + endloop + endfacet + facet normal -0.205594 -0.978637 0 + outer loop + vertex 23.4814 20.4643 -0.1 + vertex 23.8617 20.3844 0 + vertex 23.4814 20.4643 0 + endloop + endfacet + facet normal -0.205594 -0.978637 -0 + outer loop + vertex 23.8617 20.3844 0 + vertex 23.4814 20.4643 -0.1 + vertex 23.8617 20.3844 -0.1 + endloop + endfacet + facet normal -0.166383 -0.986061 0 + outer loop + vertex 23.8617 20.3844 -0.1 + vertex 24.2028 20.3268 0 + vertex 23.8617 20.3844 0 + endloop + endfacet + facet normal -0.166383 -0.986061 -0 + outer loop + vertex 24.2028 20.3268 0 + vertex 23.8617 20.3844 -0.1 + vertex 24.2028 20.3268 -0.1 + endloop + endfacet + facet normal -0.222634 -0.974902 0 + outer loop + vertex 24.2028 20.3268 -0.1 + vertex 24.5205 20.2543 0 + vertex 24.2028 20.3268 0 + endloop + endfacet + facet normal -0.222634 -0.974902 -0 + outer loop + vertex 24.5205 20.2543 0 + vertex 24.2028 20.3268 -0.1 + vertex 24.5205 20.2543 -0.1 + endloop + endfacet + facet normal -0.285939 -0.958248 0 + outer loop + vertex 24.5205 20.2543 -0.1 + vertex 24.8151 20.1664 0 + vertex 24.5205 20.2543 0 + endloop + endfacet + facet normal -0.285939 -0.958248 -0 + outer loop + vertex 24.8151 20.1664 0 + vertex 24.5205 20.2543 -0.1 + vertex 24.8151 20.1664 -0.1 + endloop + endfacet + facet normal -0.356177 -0.934419 0 + outer loop + vertex 24.8151 20.1664 -0.1 + vertex 25.087 20.0627 0 + vertex 24.8151 20.1664 0 + endloop + endfacet + facet normal -0.356177 -0.934419 -0 + outer loop + vertex 25.087 20.0627 0 + vertex 24.8151 20.1664 -0.1 + vertex 25.087 20.0627 -0.1 + endloop + endfacet + facet normal -0.432613 -0.90158 0 + outer loop + vertex 25.087 20.0627 -0.1 + vertex 25.3364 19.943 0 + vertex 25.087 20.0627 0 + endloop + endfacet + facet normal -0.432613 -0.90158 -0 + outer loop + vertex 25.3364 19.943 0 + vertex 25.087 20.0627 -0.1 + vertex 25.3364 19.943 -0.1 + endloop + endfacet + facet normal -0.513641 -0.858005 0 + outer loop + vertex 25.3364 19.943 -0.1 + vertex 25.5639 19.8069 0 + vertex 25.3364 19.943 0 + endloop + endfacet + facet normal -0.513641 -0.858005 -0 + outer loop + vertex 25.5639 19.8069 0 + vertex 25.3364 19.943 -0.1 + vertex 25.5639 19.8069 -0.1 + endloop + endfacet + facet normal -0.59661 -0.802531 0 + outer loop + vertex 25.5639 19.8069 -0.1 + vertex 25.7697 19.6539 0 + vertex 25.5639 19.8069 0 + endloop + endfacet + facet normal -0.59661 -0.802531 -0 + outer loop + vertex 25.7697 19.6539 0 + vertex 25.5639 19.8069 -0.1 + vertex 25.7697 19.6539 -0.1 + endloop + endfacet + facet normal -0.678036 -0.735029 0 + outer loop + vertex 25.7697 19.6539 -0.1 + vertex 25.9541 19.4837 0 + vertex 25.7697 19.6539 0 + endloop + endfacet + facet normal -0.678036 -0.735029 -0 + outer loop + vertex 25.9541 19.4837 0 + vertex 25.7697 19.6539 -0.1 + vertex 25.9541 19.4837 -0.1 + endloop + endfacet + facet normal -0.75405 -0.656818 0 + outer loop + vertex 26.1176 19.296 -0.1 + vertex 25.9541 19.4837 0 + vertex 25.9541 19.4837 -0.1 + endloop + endfacet + facet normal -0.75405 -0.656818 0 + outer loop + vertex 25.9541 19.4837 0 + vertex 26.1176 19.296 -0.1 + vertex 26.1176 19.296 0 + endloop + endfacet + facet normal -0.821173 -0.570679 0 + outer loop + vertex 26.2605 19.0904 -0.1 + vertex 26.1176 19.296 0 + vertex 26.1176 19.296 -0.1 + endloop + endfacet + facet normal -0.821173 -0.570679 0 + outer loop + vertex 26.1176 19.296 0 + vertex 26.2605 19.0904 -0.1 + vertex 26.2605 19.0904 0 + endloop + endfacet + facet normal -0.877038 -0.480422 0 + outer loop + vertex 26.3832 18.8665 -0.1 + vertex 26.2605 19.0904 0 + vertex 26.2605 19.0904 -0.1 + endloop + endfacet + facet normal -0.877038 -0.480422 0 + outer loop + vertex 26.2605 19.0904 0 + vertex 26.3832 18.8665 -0.1 + vertex 26.3832 18.8665 0 + endloop + endfacet + facet normal -0.920777 -0.390089 0 + outer loop + vertex 26.4859 18.624 -0.1 + vertex 26.3832 18.8665 0 + vertex 26.3832 18.8665 -0.1 + endloop + endfacet + facet normal -0.920777 -0.390089 0 + outer loop + vertex 26.3832 18.8665 0 + vertex 26.4859 18.624 -0.1 + vertex 26.4859 18.624 0 + endloop + endfacet + facet normal -0.952936 -0.30317 0 + outer loop + vertex 26.5691 18.3624 -0.1 + vertex 26.4859 18.624 0 + vertex 26.4859 18.624 -0.1 + endloop + endfacet + facet normal -0.952936 -0.30317 0 + outer loop + vertex 26.4859 18.624 0 + vertex 26.5691 18.3624 -0.1 + vertex 26.5691 18.3624 0 + endloop + endfacet + facet normal -0.974998 -0.222215 0 + outer loop + vertex 26.6332 18.0815 -0.1 + vertex 26.5691 18.3624 0 + vertex 26.5691 18.3624 -0.1 + endloop + endfacet + facet normal -0.974998 -0.222215 0 + outer loop + vertex 26.5691 18.3624 0 + vertex 26.6332 18.0815 -0.1 + vertex 26.6332 18.0815 0 + endloop + endfacet + facet normal -0.98889 -0.148648 0 + outer loop + vertex 26.6784 17.7808 -0.1 + vertex 26.6332 18.0815 0 + vertex 26.6332 18.0815 -0.1 + endloop + endfacet + facet normal -0.98889 -0.148648 0 + outer loop + vertex 26.6332 18.0815 0 + vertex 26.6784 17.7808 -0.1 + vertex 26.6784 17.7808 0 + endloop + endfacet + facet normal -0.996548 -0.083019 0 + outer loop + vertex 26.7051 17.4601 -0.1 + vertex 26.6784 17.7808 0 + vertex 26.6784 17.7808 -0.1 + endloop + endfacet + facet normal -0.996548 -0.083019 0 + outer loop + vertex 26.6784 17.7808 0 + vertex 26.7051 17.4601 -0.1 + vertex 26.7051 17.4601 0 + endloop + endfacet + facet normal -0.991209 -0.132303 0 + outer loop + vertex 26.7571 17.0706 -0.1 + vertex 26.7051 17.4601 0 + vertex 26.7051 17.4601 -0.1 + endloop + endfacet + facet normal -0.991209 -0.132303 0 + outer loop + vertex 26.7051 17.4601 0 + vertex 26.7571 17.0706 -0.1 + vertex 26.7571 17.0706 0 + endloop + endfacet + facet normal -0.970274 -0.242008 0 + outer loop + vertex 26.8653 16.6367 -0.1 + vertex 26.7571 17.0706 0 + vertex 26.7571 17.0706 -0.1 + endloop + endfacet + facet normal -0.970274 -0.242008 0 + outer loop + vertex 26.7571 17.0706 0 + vertex 26.8653 16.6367 -0.1 + vertex 26.8653 16.6367 0 + endloop + endfacet + facet normal -0.944031 -0.329856 0 + outer loop + vertex 27.0139 16.2113 -0.1 + vertex 26.8653 16.6367 0 + vertex 26.8653 16.6367 -0.1 + endloop + endfacet + facet normal -0.944031 -0.329856 0 + outer loop + vertex 26.8653 16.6367 0 + vertex 27.0139 16.2113 -0.1 + vertex 27.0139 16.2113 0 + endloop + endfacet + facet normal -0.902944 -0.429757 0 + outer loop + vertex 27.1872 15.8473 -0.1 + vertex 27.0139 16.2113 0 + vertex 27.0139 16.2113 -0.1 + endloop + endfacet + facet normal -0.902944 -0.429757 0 + outer loop + vertex 27.0139 16.2113 0 + vertex 27.1872 15.8473 -0.1 + vertex 27.1872 15.8473 0 + endloop + endfacet + facet normal -0.882286 -0.470713 0 + outer loop + vertex 27.3198 15.5987 -0.1 + vertex 27.1872 15.8473 0 + vertex 27.1872 15.8473 -0.1 + endloop + endfacet + facet normal -0.882286 -0.470713 0 + outer loop + vertex 27.1872 15.8473 0 + vertex 27.3198 15.5987 -0.1 + vertex 27.3198 15.5987 0 + endloop + endfacet + facet normal -0.922173 -0.386777 0 + outer loop + vertex 27.4227 15.3534 -0.1 + vertex 27.3198 15.5987 0 + vertex 27.3198 15.5987 -0.1 + endloop + endfacet + facet normal -0.922173 -0.386777 0 + outer loop + vertex 27.3198 15.5987 0 + vertex 27.4227 15.3534 -0.1 + vertex 27.4227 15.3534 0 + endloop + endfacet + facet normal -0.962502 -0.271275 0 + outer loop + vertex 27.4995 15.0808 -0.1 + vertex 27.4227 15.3534 0 + vertex 27.4227 15.3534 -0.1 + endloop + endfacet + facet normal -0.962502 -0.271275 0 + outer loop + vertex 27.4227 15.3534 0 + vertex 27.4995 15.0808 -0.1 + vertex 27.4995 15.0808 0 + endloop + endfacet + facet normal -0.986697 -0.162567 0 + outer loop + vertex 27.5539 14.7505 -0.1 + vertex 27.4995 15.0808 0 + vertex 27.4995 15.0808 -0.1 + endloop + endfacet + facet normal -0.986697 -0.162567 0 + outer loop + vertex 27.4995 15.0808 0 + vertex 27.5539 14.7505 -0.1 + vertex 27.5539 14.7505 0 + endloop + endfacet + facet normal -0.996383 -0.0849723 0 + outer loop + vertex 27.5896 14.3319 -0.1 + vertex 27.5539 14.7505 0 + vertex 27.5539 14.7505 -0.1 + endloop + endfacet + facet normal -0.996383 -0.0849723 0 + outer loop + vertex 27.5539 14.7505 0 + vertex 27.5896 14.3319 -0.1 + vertex 27.5896 14.3319 0 + endloop + endfacet + facet normal -0.999262 -0.0383987 0 + outer loop + vertex 27.6103 13.7945 -0.1 + vertex 27.5896 14.3319 0 + vertex 27.5896 14.3319 -0.1 + endloop + endfacet + facet normal -0.999262 -0.0383987 0 + outer loop + vertex 27.5896 14.3319 0 + vertex 27.6103 13.7945 -0.1 + vertex 27.6103 13.7945 0 + endloop + endfacet + facet normal -0.999976 -0.0069841 0 + outer loop + vertex 27.6211 12.2412 -0.1 + vertex 27.6103 13.7945 0 + vertex 27.6103 13.7945 -0.1 + endloop + endfacet + facet normal -0.999976 -0.0069841 0 + outer loop + vertex 27.6103 13.7945 0 + vertex 27.6211 12.2412 -0.1 + vertex 27.6211 12.2412 0 + endloop + endfacet + facet normal -0.999918 0.0127851 0 + outer loop + vertex 27.6024 10.7775 -0.1 + vertex 27.6211 12.2412 0 + vertex 27.6211 12.2412 -0.1 + endloop + endfacet + facet normal -0.999918 0.0127851 0 + outer loop + vertex 27.6211 12.2412 0 + vertex 27.6024 10.7775 -0.1 + vertex 27.6024 10.7775 0 + endloop + endfacet + facet normal -0.999067 0.0431942 0 + outer loop + vertex 27.5775 10.2019 -0.1 + vertex 27.6024 10.7775 0 + vertex 27.6024 10.7775 -0.1 + endloop + endfacet + facet normal -0.999067 0.0431942 0 + outer loop + vertex 27.6024 10.7775 0 + vertex 27.5775 10.2019 -0.1 + vertex 27.5775 10.2019 0 + endloop + endfacet + facet normal -0.997132 0.0756876 0 + outer loop + vertex 27.5397 9.70386 -0.1 + vertex 27.5775 10.2019 0 + vertex 27.5775 10.2019 -0.1 + endloop + endfacet + facet normal -0.997132 0.0756876 0 + outer loop + vertex 27.5775 10.2019 0 + vertex 27.5397 9.70386 -0.1 + vertex 27.5397 9.70386 0 + endloop + endfacet + facet normal -0.992933 0.118678 0 + outer loop + vertex 27.4871 9.26334 -0.1 + vertex 27.5397 9.70386 0 + vertex 27.5397 9.70386 -0.1 + endloop + endfacet + facet normal -0.992933 0.118678 0 + outer loop + vertex 27.5397 9.70386 0 + vertex 27.4871 9.26334 -0.1 + vertex 27.4871 9.26334 0 + endloop + endfacet + facet normal -0.985483 0.169774 0 + outer loop + vertex 27.4176 8.86037 -0.1 + vertex 27.4871 9.26334 0 + vertex 27.4871 9.26334 -0.1 + endloop + endfacet + facet normal -0.985483 0.169774 0 + outer loop + vertex 27.4871 9.26334 0 + vertex 27.4176 8.86037 -0.1 + vertex 27.4176 8.86037 0 + endloop + endfacet + facet normal -0.974842 0.222899 0 + outer loop + vertex 27.3295 8.47496 -0.1 + vertex 27.4176 8.86037 0 + vertex 27.4176 8.86037 -0.1 + endloop + endfacet + facet normal -0.974842 0.222899 0 + outer loop + vertex 27.4176 8.86037 0 + vertex 27.3295 8.47496 -0.1 + vertex 27.3295 8.47496 0 + endloop + endfacet + facet normal -0.962864 0.269986 0 + outer loop + vertex 27.2208 8.08714 -0.1 + vertex 27.3295 8.47496 0 + vertex 27.3295 8.47496 -0.1 + endloop + endfacet + facet normal -0.962864 0.269986 0 + outer loop + vertex 27.3295 8.47496 0 + vertex 27.2208 8.08714 -0.1 + vertex 27.2208 8.08714 0 + endloop + endfacet + facet normal -0.961499 0.274809 0 + outer loop + vertex 27.1048 7.68143 -0.1 + vertex 27.2208 8.08714 0 + vertex 27.2208 8.08714 -0.1 + endloop + endfacet + facet normal -0.961499 0.274809 0 + outer loop + vertex 27.2208 8.08714 0 + vertex 27.1048 7.68143 -0.1 + vertex 27.1048 7.68143 0 + endloop + endfacet + facet normal -0.973193 0.229988 0 + outer loop + vertex 27.0158 7.30485 -0.1 + vertex 27.1048 7.68143 0 + vertex 27.1048 7.68143 -0.1 + endloop + endfacet + facet normal -0.973193 0.229988 0 + outer loop + vertex 27.1048 7.68143 0 + vertex 27.0158 7.30485 -0.1 + vertex 27.0158 7.30485 0 + endloop + endfacet + facet normal -0.985852 0.167619 0 + outer loop + vertex 26.9517 6.92758 -0.1 + vertex 27.0158 7.30485 0 + vertex 27.0158 7.30485 -0.1 + endloop + endfacet + facet normal -0.985852 0.167619 0 + outer loop + vertex 27.0158 7.30485 0 + vertex 26.9517 6.92758 -0.1 + vertex 26.9517 6.92758 0 + endloop + endfacet + facet normal -0.994881 0.101051 0 + outer loop + vertex 26.9103 6.51977 -0.1 + vertex 26.9517 6.92758 0 + vertex 26.9517 6.92758 -0.1 + endloop + endfacet + facet normal -0.994881 0.101051 0 + outer loop + vertex 26.9517 6.92758 0 + vertex 26.9103 6.51977 -0.1 + vertex 26.9103 6.51977 0 + endloop + endfacet + facet normal -0.999013 0.0444183 0 + outer loop + vertex 26.8894 6.05157 -0.1 + vertex 26.9103 6.51977 0 + vertex 26.9103 6.51977 -0.1 + endloop + endfacet + facet normal -0.999013 0.0444183 0 + outer loop + vertex 26.9103 6.51977 0 + vertex 26.8894 6.05157 -0.1 + vertex 26.8894 6.05157 0 + endloop + endfacet + facet normal -0.999991 0.00417733 0 + outer loop + vertex 26.8871 5.49316 -0.1 + vertex 26.8894 6.05157 0 + vertex 26.8894 6.05157 -0.1 + endloop + endfacet + facet normal -0.999991 0.00417733 0 + outer loop + vertex 26.8894 6.05157 0 + vertex 26.8871 5.49316 -0.1 + vertex 26.8871 5.49316 0 + endloop + endfacet + facet normal -0.999606 -0.0280683 0 + outer loop + vertex 26.9294 3.98634 -0.1 + vertex 26.8871 5.49316 0 + vertex 26.8871 5.49316 -0.1 + endloop + endfacet + facet normal -0.999606 -0.0280683 0 + outer loop + vertex 26.8871 5.49316 0 + vertex 26.9294 3.98634 -0.1 + vertex 26.9294 3.98634 0 + endloop + endfacet + facet normal -0.999521 -0.0309525 0 + outer loop + vertex 26.9615 2.94949 -0.1 + vertex 26.9294 3.98634 0 + vertex 26.9294 3.98634 -0.1 + endloop + endfacet + facet normal -0.999521 -0.0309525 0 + outer loop + vertex 26.9294 3.98634 0 + vertex 26.9615 2.94949 -0.1 + vertex 26.9615 2.94949 0 + endloop + endfacet + facet normal -0.999992 -0.00407505 0 + outer loop + vertex 26.9647 2.16551 -0.1 + vertex 26.9615 2.94949 0 + vertex 26.9615 2.94949 -0.1 + endloop + endfacet + facet normal -0.999992 -0.00407505 0 + outer loop + vertex 26.9615 2.94949 0 + vertex 26.9647 2.16551 -0.1 + vertex 26.9647 2.16551 0 + endloop + endfacet + facet normal -0.998255 0.0590558 0 + outer loop + vertex 26.9324 1.61996 -0.1 + vertex 26.9647 2.16551 0 + vertex 26.9647 2.16551 -0.1 + endloop + endfacet + facet normal -0.998255 0.0590558 0 + outer loop + vertex 26.9647 2.16551 0 + vertex 26.9324 1.61996 -0.1 + vertex 26.9324 1.61996 0 + endloop + endfacet + facet normal -0.986243 0.165303 0 + outer loop + vertex 26.901 1.43209 -0.1 + vertex 26.9324 1.61996 0 + vertex 26.9324 1.61996 -0.1 + endloop + endfacet + facet normal -0.986243 0.165303 0 + outer loop + vertex 26.9324 1.61996 0 + vertex 26.901 1.43209 -0.1 + vertex 26.901 1.43209 0 + endloop + endfacet + facet normal -0.952336 0.30505 0 + outer loop + vertex 26.8581 1.29842 -0.1 + vertex 26.901 1.43209 0 + vertex 26.901 1.43209 -0.1 + endloop + endfacet + facet normal -0.952336 0.30505 0 + outer loop + vertex 26.901 1.43209 0 + vertex 26.8581 1.29842 -0.1 + vertex 26.8581 1.29842 0 + endloop + endfacet + facet normal -0.828352 0.560208 0 + outer loop + vertex 26.8032 1.21715 -0.1 + vertex 26.8581 1.29842 0 + vertex 26.8581 1.29842 -0.1 + endloop + endfacet + facet normal -0.828352 0.560208 0 + outer loop + vertex 26.8581 1.29842 0 + vertex 26.8032 1.21715 -0.1 + vertex 26.8032 1.21715 0 + endloop + endfacet + facet normal -0.411544 0.91139 0 + outer loop + vertex 26.8032 1.21715 -0.1 + vertex 26.7352 1.18648 0 + vertex 26.8032 1.21715 0 + endloop + endfacet + facet normal -0.411544 0.91139 0 + outer loop + vertex 26.7352 1.18648 0 + vertex 26.8032 1.21715 -0.1 + vertex 26.7352 1.18648 -0.1 + endloop + endfacet + facet normal 0.216454 0.976293 -0 + outer loop + vertex 26.7352 1.18648 -0.1 + vertex 26.6535 1.20459 0 + vertex 26.7352 1.18648 0 + endloop + endfacet + facet normal 0.216454 0.976293 0 + outer loop + vertex 26.6535 1.20459 0 + vertex 26.7352 1.18648 -0.1 + vertex 26.6535 1.20459 -0.1 + endloop + endfacet + facet normal 0.559991 0.828498 -0 + outer loop + vertex 26.6535 1.20459 -0.1 + vertex 26.5572 1.2697 0 + vertex 26.6535 1.20459 0 + endloop + endfacet + facet normal 0.559991 0.828498 0 + outer loop + vertex 26.5572 1.2697 0 + vertex 26.6535 1.20459 -0.1 + vertex 26.5572 1.2697 -0.1 + endloop + endfacet + facet normal 0.702452 0.711731 -0 + outer loop + vertex 26.5572 1.2697 -0.1 + vertex 26.4455 1.37999 0 + vertex 26.5572 1.2697 0 + endloop + endfacet + facet normal 0.702452 0.711731 0 + outer loop + vertex 26.4455 1.37999 0 + vertex 26.5572 1.2697 -0.1 + vertex 26.4455 1.37999 -0.1 + endloop + endfacet + facet normal 0.76838 0.639993 0 + outer loop + vertex 26.4455 1.37999 0 + vertex 26.3175 1.53367 -0.1 + vertex 26.3175 1.53367 0 + endloop + endfacet + facet normal 0.76838 0.639993 0 + outer loop + vertex 26.3175 1.53367 -0.1 + vertex 26.4455 1.37999 0 + vertex 26.4455 1.37999 -0.1 + endloop + endfacet + facet normal 0.813139 0.58207 0 + outer loop + vertex 26.3175 1.53367 0 + vertex 26.0094 1.96397 -0.1 + vertex 26.0094 1.96397 0 + endloop + endfacet + facet normal 0.813139 0.58207 0 + outer loop + vertex 26.0094 1.96397 -0.1 + vertex 26.3175 1.53367 0 + vertex 26.3175 1.53367 -0.1 + endloop + endfacet + facet normal 0.812733 0.582636 0 + outer loop + vertex 26.0094 1.96397 0 + vertex 25.8138 2.23679 -0.1 + vertex 25.8138 2.23679 0 + endloop + endfacet + facet normal 0.812733 0.582636 0 + outer loop + vertex 25.8138 2.23679 -0.1 + vertex 26.0094 1.96397 0 + vertex 26.0094 1.96397 -0.1 + endloop + endfacet + facet normal 0.76488 0.644173 0 + outer loop + vertex 25.8138 2.23679 0 + vertex 25.6376 2.44612 -0.1 + vertex 25.6376 2.44612 0 + endloop + endfacet + facet normal 0.76488 0.644173 0 + outer loop + vertex 25.6376 2.44612 -0.1 + vertex 25.8138 2.23679 0 + vertex 25.8138 2.23679 -0.1 + endloop + endfacet + facet normal 0.675362 0.737487 -0 + outer loop + vertex 25.6376 2.44612 -0.1 + vertex 25.4766 2.59351 0 + vertex 25.6376 2.44612 0 + endloop + endfacet + facet normal 0.675362 0.737487 0 + outer loop + vertex 25.4766 2.59351 0 + vertex 25.6376 2.44612 -0.1 + vertex 25.4766 2.59351 -0.1 + endloop + endfacet + facet normal 0.502892 0.86435 -0 + outer loop + vertex 25.4766 2.59351 -0.1 + vertex 25.3271 2.68052 0 + vertex 25.4766 2.59351 0 + endloop + endfacet + facet normal 0.502892 0.86435 0 + outer loop + vertex 25.3271 2.68052 0 + vertex 25.4766 2.59351 -0.1 + vertex 25.3271 2.68052 -0.1 + endloop + endfacet + facet normal 0.194571 0.980889 -0 + outer loop + vertex 25.3271 2.68052 -0.1 + vertex 25.185 2.7087 0 + vertex 25.3271 2.68052 0 + endloop + endfacet + facet normal 0.194571 0.980889 0 + outer loop + vertex 25.185 2.7087 0 + vertex 25.3271 2.68052 -0.1 + vertex 25.185 2.7087 -0.1 + endloop + endfacet + facet normal -0.205381 0.978682 0 + outer loop + vertex 25.185 2.7087 -0.1 + vertex 25.0464 2.67962 0 + vertex 25.185 2.7087 0 + endloop + endfacet + facet normal -0.205381 0.978682 0 + outer loop + vertex 25.0464 2.67962 0 + vertex 25.185 2.7087 -0.1 + vertex 25.0464 2.67962 -0.1 + endloop + endfacet + facet normal -0.520731 0.853721 0 + outer loop + vertex 25.0464 2.67962 -0.1 + vertex 24.9074 2.59483 0 + vertex 25.0464 2.67962 0 + endloop + endfacet + facet normal -0.520731 0.853721 0 + outer loop + vertex 24.9074 2.59483 0 + vertex 25.0464 2.67962 -0.1 + vertex 24.9074 2.59483 -0.1 + endloop + endfacet + facet normal -0.695882 0.718157 0 + outer loop + vertex 24.9074 2.59483 -0.1 + vertex 24.764 2.4559 0 + vertex 24.9074 2.59483 0 + endloop + endfacet + facet normal -0.695882 0.718157 0 + outer loop + vertex 24.764 2.4559 0 + vertex 24.9074 2.59483 -0.1 + vertex 24.764 2.4559 -0.1 + endloop + endfacet + facet normal -0.621809 0.783169 0 + outer loop + vertex 24.764 2.4559 -0.1 + vertex 24.6285 2.34829 0 + vertex 24.764 2.4559 0 + endloop + endfacet + facet normal -0.621809 0.783169 0 + outer loop + vertex 24.6285 2.34829 0 + vertex 24.764 2.4559 -0.1 + vertex 24.6285 2.34829 -0.1 + endloop + endfacet + facet normal -0.432349 0.901706 0 + outer loop + vertex 24.6285 2.34829 -0.1 + vertex 24.4388 2.25734 0 + vertex 24.6285 2.34829 0 + endloop + endfacet + facet normal -0.432349 0.901706 0 + outer loop + vertex 24.4388 2.25734 0 + vertex 24.6285 2.34829 -0.1 + vertex 24.4388 2.25734 -0.1 + endloop + endfacet + facet normal -0.283745 0.9589 0 + outer loop + vertex 24.4388 2.25734 -0.1 + vertex 24.2201 2.19262 0 + vertex 24.4388 2.25734 0 + endloop + endfacet + facet normal -0.283745 0.9589 0 + outer loop + vertex 24.2201 2.19262 0 + vertex 24.4388 2.25734 -0.1 + vertex 24.2201 2.19262 -0.1 + endloop + endfacet + facet normal -0.128745 0.991678 0 + outer loop + vertex 24.2201 2.19262 -0.1 + vertex 23.9975 2.16372 0 + vertex 24.2201 2.19262 0 + endloop + endfacet + facet normal -0.128745 0.991678 0 + outer loop + vertex 23.9975 2.16372 0 + vertex 24.2201 2.19262 -0.1 + vertex 23.9975 2.16372 -0.1 + endloop + endfacet + facet normal -0.0892316 0.996011 0 + outer loop + vertex 23.9975 2.16372 -0.1 + vertex 23.7673 2.14309 0 + vertex 23.9975 2.16372 0 + endloop + endfacet + facet normal -0.0892316 0.996011 0 + outer loop + vertex 23.7673 2.14309 0 + vertex 23.9975 2.16372 -0.1 + vertex 23.7673 2.14309 -0.1 + endloop + endfacet + facet normal -0.173492 0.984835 0 + outer loop + vertex 23.7673 2.14309 -0.1 + vertex 23.5277 2.10089 0 + vertex 23.7673 2.14309 0 + endloop + endfacet + facet normal -0.173492 0.984835 0 + outer loop + vertex 23.5277 2.10089 0 + vertex 23.7673 2.14309 -0.1 + vertex 23.5277 2.10089 -0.1 + endloop + endfacet + facet normal -0.252811 0.967516 0 + outer loop + vertex 23.5277 2.10089 -0.1 + vertex 23.3072 2.04326 0 + vertex 23.5277 2.10089 0 + endloop + endfacet + facet normal -0.252811 0.967516 0 + outer loop + vertex 23.3072 2.04326 0 + vertex 23.5277 2.10089 -0.1 + vertex 23.3072 2.04326 -0.1 + endloop + endfacet + facet normal -0.360079 0.932922 0 + outer loop + vertex 23.3072 2.04326 -0.1 + vertex 23.0469 1.94283 0 + vertex 23.3072 2.04326 0 + endloop + endfacet + facet normal -0.360079 0.932922 0 + outer loop + vertex 23.0469 1.94283 0 + vertex 23.3072 2.04326 -0.1 + vertex 23.0469 1.94283 -0.1 + endloop + endfacet + facet normal -0.120091 0.992763 0 + outer loop + vertex 23.0469 1.94283 -0.1 + vertex 22.9727 1.93385 0 + vertex 23.0469 1.94283 0 + endloop + endfacet + facet normal -0.120091 0.992763 0 + outer loop + vertex 22.9727 1.93385 0 + vertex 23.0469 1.94283 -0.1 + vertex 22.9727 1.93385 -0.1 + endloop + endfacet + facet normal 0.220007 0.975498 -0 + outer loop + vertex 22.9727 1.93385 -0.1 + vertex 22.9112 1.94773 0 + vertex 22.9727 1.93385 0 + endloop + endfacet + facet normal 0.220007 0.975498 0 + outer loop + vertex 22.9112 1.94773 0 + vertex 22.9727 1.93385 -0.1 + vertex 22.9112 1.94773 -0.1 + endloop + endfacet + facet normal 0.582178 0.813061 -0 + outer loop + vertex 22.9112 1.94773 -0.1 + vertex 22.8622 1.9828 0 + vertex 22.9112 1.94773 0 + endloop + endfacet + facet normal 0.582178 0.813061 0 + outer loop + vertex 22.8622 1.9828 0 + vertex 22.9112 1.94773 -0.1 + vertex 22.8622 1.9828 -0.1 + endloop + endfacet + facet normal 0.831256 0.55589 0 + outer loop + vertex 22.8622 1.9828 0 + vertex 22.8257 2.03737 -0.1 + vertex 22.8257 2.03737 0 + endloop + endfacet + facet normal 0.831256 0.55589 0 + outer loop + vertex 22.8257 2.03737 -0.1 + vertex 22.8622 1.9828 0 + vertex 22.8622 1.9828 -0.1 + endloop + endfacet + facet normal 0.948775 0.315953 0 + outer loop + vertex 22.8257 2.03737 0 + vertex 22.8016 2.10976 -0.1 + vertex 22.8016 2.10976 0 + endloop + endfacet + facet normal 0.948775 0.315953 0 + outer loop + vertex 22.8016 2.10976 -0.1 + vertex 22.8257 2.03737 0 + vertex 22.8257 2.03737 -0.1 + endloop + endfacet + facet normal 0.998216 0.059713 0 + outer loop + vertex 22.8016 2.10976 0 + vertex 22.7901 2.30129 -0.1 + vertex 22.7901 2.30129 0 + endloop + endfacet + facet normal 0.998216 0.059713 0 + outer loop + vertex 22.7901 2.30129 -0.1 + vertex 22.8016 2.10976 0 + vertex 22.8016 2.10976 -0.1 + endloop + endfacet + facet normal 0.988638 -0.150314 0 + outer loop + vertex 22.7901 2.30129 0 + vertex 22.827 2.54396 -0.1 + vertex 22.827 2.54396 0 + endloop + endfacet + facet normal 0.988638 -0.150314 0 + outer loop + vertex 22.827 2.54396 -0.1 + vertex 22.7901 2.30129 0 + vertex 22.7901 2.30129 -0.1 + endloop + endfacet + facet normal 0.957496 -0.288446 0 + outer loop + vertex 22.827 2.54396 0 + vertex 22.9115 2.82433 -0.1 + vertex 22.9115 2.82433 0 + endloop + endfacet + facet normal 0.957496 -0.288446 0 + outer loop + vertex 22.9115 2.82433 -0.1 + vertex 22.827 2.54396 0 + vertex 22.827 2.54396 -0.1 + endloop + endfacet + facet normal 0.918399 -0.395656 0 + outer loop + vertex 22.9115 2.82433 0 + vertex 23.0427 3.12896 -0.1 + vertex 23.0427 3.12896 0 + endloop + endfacet + facet normal 0.918399 -0.395656 0 + outer loop + vertex 23.0427 3.12896 -0.1 + vertex 22.9115 2.82433 0 + vertex 22.9115 2.82433 -0.1 + endloop + endfacet + facet normal 0.87183 -0.489809 0 + outer loop + vertex 23.0427 3.12896 0 + vertex 23.22 3.44442 -0.1 + vertex 23.22 3.44442 0 + endloop + endfacet + facet normal 0.87183 -0.489809 0 + outer loop + vertex 23.22 3.44442 -0.1 + vertex 23.0427 3.12896 0 + vertex 23.0427 3.12896 -0.1 + endloop + endfacet + facet normal 0.879841 -0.475268 0 + outer loop + vertex 23.22 3.44442 0 + vertex 23.4183 3.81156 -0.1 + vertex 23.4183 3.81156 0 + endloop + endfacet + facet normal 0.879841 -0.475268 0 + outer loop + vertex 23.4183 3.81156 -0.1 + vertex 23.22 3.44442 0 + vertex 23.22 3.44442 -0.1 + endloop + endfacet + facet normal 0.942923 -0.33301 0 + outer loop + vertex 23.4183 3.81156 0 + vertex 23.5494 4.18291 -0.1 + vertex 23.5494 4.18291 0 + endloop + endfacet + facet normal 0.942923 -0.33301 0 + outer loop + vertex 23.5494 4.18291 -0.1 + vertex 23.4183 3.81156 0 + vertex 23.4183 3.81156 -0.1 + endloop + endfacet + facet normal 0.978031 -0.208457 0 + outer loop + vertex 23.5494 4.18291 0 + vertex 23.5897 4.3717 -0.1 + vertex 23.5897 4.3717 0 + endloop + endfacet + facet normal 0.978031 -0.208457 0 + outer loop + vertex 23.5897 4.3717 -0.1 + vertex 23.5494 4.18291 0 + vertex 23.5494 4.18291 -0.1 + endloop + endfacet + facet normal 0.992713 -0.120506 0 + outer loop + vertex 23.5897 4.3717 0 + vertex 23.6129 4.5634 -0.1 + vertex 23.6129 4.5634 0 + endloop + endfacet + facet normal 0.992713 -0.120506 0 + outer loop + vertex 23.6129 4.5634 -0.1 + vertex 23.5897 4.3717 0 + vertex 23.5897 4.3717 -0.1 + endloop + endfacet + facet normal 0.99949 -0.0319444 0 + outer loop + vertex 23.6129 4.5634 0 + vertex 23.6192 4.7586 -0.1 + vertex 23.6192 4.7586 0 + endloop + endfacet + facet normal 0.99949 -0.0319444 0 + outer loop + vertex 23.6192 4.7586 -0.1 + vertex 23.6129 4.5634 0 + vertex 23.6129 4.5634 -0.1 + endloop + endfacet + facet normal 0.998522 0.054345 0 + outer loop + vertex 23.6192 4.7586 0 + vertex 23.6083 4.95794 -0.1 + vertex 23.6083 4.95794 0 + endloop + endfacet + facet normal 0.998522 0.054345 0 + outer loop + vertex 23.6083 4.95794 -0.1 + vertex 23.6192 4.7586 0 + vertex 23.6192 4.7586 -0.1 + endloop + endfacet + facet normal 0.984692 0.174301 0 + outer loop + vertex 23.6083 4.95794 0 + vertex 23.5351 5.37146 -0.1 + vertex 23.5351 5.37146 0 + endloop + endfacet + facet normal 0.984692 0.174301 0 + outer loop + vertex 23.5351 5.37146 -0.1 + vertex 23.6083 4.95794 0 + vertex 23.6083 4.95794 -0.1 + endloop + endfacet + facet normal 0.95097 0.309282 0 + outer loop + vertex 23.5351 5.37146 0 + vertex 23.3929 5.8089 -0.1 + vertex 23.3929 5.8089 0 + endloop + endfacet + facet normal 0.95097 0.309282 0 + outer loop + vertex 23.3929 5.8089 -0.1 + vertex 23.5351 5.37146 0 + vertex 23.5351 5.37146 -0.1 + endloop + endfacet + facet normal 0.910464 0.413588 0 + outer loop + vertex 23.3929 5.8089 0 + vertex 23.1811 6.27516 -0.1 + vertex 23.1811 6.27516 0 + endloop + endfacet + facet normal 0.910464 0.413588 0 + outer loop + vertex 23.1811 6.27516 -0.1 + vertex 23.3929 5.8089 0 + vertex 23.3929 5.8089 -0.1 + endloop + endfacet + facet normal 0.871161 0.490997 0 + outer loop + vertex 23.1811 6.27516 0 + vertex 22.8992 6.77518 -0.1 + vertex 22.8992 6.77518 0 + endloop + endfacet + facet normal 0.871161 0.490997 0 + outer loop + vertex 22.8992 6.77518 -0.1 + vertex 23.1811 6.27516 0 + vertex 23.1811 6.27516 -0.1 + endloop + endfacet + facet normal 0.839072 0.54402 0 + outer loop + vertex 22.8992 6.77518 0 + vertex 22.6364 7.18064 -0.1 + vertex 22.6364 7.18064 0 + endloop + endfacet + facet normal 0.839072 0.54402 0 + outer loop + vertex 22.6364 7.18064 -0.1 + vertex 22.8992 6.77518 0 + vertex 22.8992 6.77518 -0.1 + endloop + endfacet + facet normal 0.802153 0.597118 0 + outer loop + vertex 22.6364 7.18064 0 + vertex 22.3621 7.54907 -0.1 + vertex 22.3621 7.54907 0 + endloop + endfacet + facet normal 0.802153 0.597118 0 + outer loop + vertex 22.3621 7.54907 -0.1 + vertex 22.6364 7.18064 0 + vertex 22.6364 7.18064 -0.1 + endloop + endfacet + facet normal 0.754344 0.65648 0 + outer loop + vertex 22.3621 7.54907 0 + vertex 22.0631 7.89267 -0.1 + vertex 22.0631 7.89267 0 + endloop + endfacet + facet normal 0.754344 0.65648 0 + outer loop + vertex 22.0631 7.89267 -0.1 + vertex 22.3621 7.54907 0 + vertex 22.3621 7.54907 -0.1 + endloop + endfacet + facet normal 0.700509 0.713644 -0 + outer loop + vertex 22.0631 7.89267 -0.1 + vertex 21.7259 8.22365 0 + vertex 22.0631 7.89267 0 + endloop + endfacet + facet normal 0.700509 0.713644 0 + outer loop + vertex 21.7259 8.22365 0 + vertex 22.0631 7.89267 -0.1 + vertex 21.7259 8.22365 -0.1 + endloop + endfacet + facet normal 0.647802 0.761808 -0 + outer loop + vertex 21.7259 8.22365 -0.1 + vertex 21.3371 8.55423 0 + vertex 21.7259 8.22365 0 + endloop + endfacet + facet normal 0.647802 0.761808 0 + outer loop + vertex 21.3371 8.55423 0 + vertex 21.7259 8.22365 -0.1 + vertex 21.3371 8.55423 -0.1 + endloop + endfacet + facet normal 0.602358 0.798226 -0 + outer loop + vertex 21.3371 8.55423 -0.1 + vertex 20.8834 8.89663 0 + vertex 21.3371 8.55423 0 + endloop + endfacet + facet normal 0.602358 0.798226 0 + outer loop + vertex 20.8834 8.89663 0 + vertex 21.3371 8.55423 -0.1 + vertex 20.8834 8.89663 -0.1 + endloop + endfacet + facet normal 0.567155 0.823611 -0 + outer loop + vertex 20.8834 8.89663 -0.1 + vertex 20.3513 9.26304 0 + vertex 20.8834 8.89663 0 + endloop + endfacet + facet normal 0.567155 0.823611 0 + outer loop + vertex 20.3513 9.26304 0 + vertex 20.8834 8.89663 -0.1 + vertex 20.3513 9.26304 -0.1 + endloop + endfacet + facet normal 0.542271 0.840203 -0 + outer loop + vertex 20.3513 9.26304 -0.1 + vertex 19.7274 9.66569 0 + vertex 20.3513 9.26304 0 + endloop + endfacet + facet normal 0.542271 0.840203 0 + outer loop + vertex 19.7274 9.66569 0 + vertex 20.3513 9.26304 -0.1 + vertex 19.7274 9.66569 -0.1 + endloop + endfacet + facet normal 0.509213 0.86064 -0 + outer loop + vertex 19.7274 9.66569 -0.1 + vertex 19.4723 9.81661 0 + vertex 19.7274 9.66569 0 + endloop + endfacet + facet normal 0.509213 0.86064 0 + outer loop + vertex 19.4723 9.81661 0 + vertex 19.7274 9.66569 -0.1 + vertex 19.4723 9.81661 -0.1 + endloop + endfacet + facet normal 0.451586 0.892227 -0 + outer loop + vertex 19.4723 9.81661 -0.1 + vertex 19.2206 9.94402 0 + vertex 19.4723 9.81661 0 + endloop + endfacet + facet normal 0.451586 0.892227 0 + outer loop + vertex 19.2206 9.94402 0 + vertex 19.4723 9.81661 -0.1 + vertex 19.2206 9.94402 -0.1 + endloop + endfacet + facet normal 0.382649 0.923894 -0 + outer loop + vertex 19.2206 9.94402 -0.1 + vertex 18.9645 10.0501 0 + vertex 19.2206 9.94402 0 + endloop + endfacet + facet normal 0.382649 0.923894 0 + outer loop + vertex 18.9645 10.0501 0 + vertex 19.2206 9.94402 -0.1 + vertex 18.9645 10.0501 -0.1 + endloop + endfacet + facet normal 0.308251 0.951305 -0 + outer loop + vertex 18.9645 10.0501 -0.1 + vertex 18.6964 10.137 0 + vertex 18.9645 10.0501 0 + endloop + endfacet + facet normal 0.308251 0.951305 0 + outer loop + vertex 18.6964 10.137 0 + vertex 18.9645 10.0501 -0.1 + vertex 18.6964 10.137 -0.1 + endloop + endfacet + facet normal 0.235891 0.971779 -0 + outer loop + vertex 18.6964 10.137 -0.1 + vertex 18.4085 10.2069 0 + vertex 18.6964 10.137 0 + endloop + endfacet + facet normal 0.235891 0.971779 0 + outer loop + vertex 18.4085 10.2069 0 + vertex 18.6964 10.137 -0.1 + vertex 18.4085 10.2069 -0.1 + endloop + endfacet + facet normal 0.172 0.985097 -0 + outer loop + vertex 18.4085 10.2069 -0.1 + vertex 18.093 10.2619 0 + vertex 18.4085 10.2069 0 + endloop + endfacet + facet normal 0.172 0.985097 0 + outer loop + vertex 18.093 10.2619 0 + vertex 18.4085 10.2069 -0.1 + vertex 18.093 10.2619 -0.1 + endloop + endfacet + facet normal 0.0994696 0.995041 -0 + outer loop + vertex 18.093 10.2619 -0.1 + vertex 17.3487 10.3363 0 + vertex 18.093 10.2619 0 + endloop + endfacet + facet normal 0.0994696 0.995041 0 + outer loop + vertex 17.3487 10.3363 0 + vertex 18.093 10.2619 -0.1 + vertex 17.3487 10.3363 -0.1 + endloop + endfacet + facet normal 0.0510048 0.998698 -0 + outer loop + vertex 17.3487 10.3363 -0.1 + vertex 16.499 10.3797 0 + vertex 17.3487 10.3363 0 + endloop + endfacet + facet normal 0.0510048 0.998698 0 + outer loop + vertex 16.499 10.3797 0 + vertex 17.3487 10.3363 -0.1 + vertex 16.499 10.3797 -0.1 + endloop + endfacet + facet normal -0.0333465 0.999444 0 + outer loop + vertex 16.499 10.3797 -0.1 + vertex 16.2187 10.3704 0 + vertex 16.499 10.3797 0 + endloop + endfacet + facet normal -0.0333465 0.999444 0 + outer loop + vertex 16.2187 10.3704 0 + vertex 16.499 10.3797 -0.1 + vertex 16.2187 10.3704 -0.1 + endloop + endfacet + facet normal -0.179208 0.983811 0 + outer loop + vertex 16.2187 10.3704 -0.1 + vertex 16.005 10.3315 0 + vertex 16.2187 10.3704 0 + endloop + endfacet + facet normal -0.179208 0.983811 0 + outer loop + vertex 16.005 10.3315 0 + vertex 16.2187 10.3704 -0.1 + vertex 16.005 10.3315 -0.1 + endloop + endfacet + facet normal -0.405411 0.914135 0 + outer loop + vertex 16.005 10.3315 -0.1 + vertex 15.8355 10.2563 0 + vertex 16.005 10.3315 0 + endloop + endfacet + facet normal -0.405411 0.914135 0 + outer loop + vertex 15.8355 10.2563 0 + vertex 16.005 10.3315 -0.1 + vertex 15.8355 10.2563 -0.1 + endloop + endfacet + facet normal -0.624597 0.780947 0 + outer loop + vertex 15.8355 10.2563 -0.1 + vertex 15.6879 10.1383 0 + vertex 15.8355 10.2563 0 + endloop + endfacet + facet normal -0.624597 0.780947 0 + outer loop + vertex 15.6879 10.1383 0 + vertex 15.8355 10.2563 -0.1 + vertex 15.6879 10.1383 -0.1 + endloop + endfacet + facet normal -0.749396 0.662122 0 + outer loop + vertex 15.5399 9.97068 -0.1 + vertex 15.6879 10.1383 0 + vertex 15.6879 10.1383 -0.1 + endloop + endfacet + facet normal -0.749396 0.662122 0 + outer loop + vertex 15.6879 10.1383 0 + vertex 15.5399 9.97068 -0.1 + vertex 15.5399 9.97068 0 + endloop + endfacet + facet normal -0.794739 0.606951 0 + outer loop + vertex 15.369 9.74689 -0.1 + vertex 15.5399 9.97068 0 + vertex 15.5399 9.97068 -0.1 + endloop + endfacet + facet normal -0.794739 0.606951 0 + outer loop + vertex 15.5399 9.97068 0 + vertex 15.369 9.74689 -0.1 + vertex 15.369 9.74689 0 + endloop + endfacet + facet normal -0.812079 0.583548 0 + outer loop + vertex 15.213 9.52982 -0.1 + vertex 15.369 9.74689 0 + vertex 15.369 9.74689 -0.1 + endloop + endfacet + facet normal -0.812079 0.583548 0 + outer loop + vertex 15.369 9.74689 0 + vertex 15.213 9.52982 -0.1 + vertex 15.213 9.52982 0 + endloop + endfacet + facet normal -0.851006 0.525156 0 + outer loop + vertex 15.0942 9.33737 -0.1 + vertex 15.213 9.52982 0 + vertex 15.213 9.52982 -0.1 + endloop + endfacet + facet normal -0.851006 0.525156 0 + outer loop + vertex 15.213 9.52982 0 + vertex 15.0942 9.33737 -0.1 + vertex 15.0942 9.33737 0 + endloop + endfacet + facet normal -0.909184 0.416395 0 + outer loop + vertex 15.0092 9.15168 -0.1 + vertex 15.0942 9.33737 0 + vertex 15.0942 9.33737 -0.1 + endloop + endfacet + facet normal -0.909184 0.416395 0 + outer loop + vertex 15.0942 9.33737 0 + vertex 15.0092 9.15168 -0.1 + vertex 15.0092 9.15168 0 + endloop + endfacet + facet normal -0.963304 0.268412 0 + outer loop + vertex 14.9543 8.95485 -0.1 + vertex 15.0092 9.15168 0 + vertex 15.0092 9.15168 -0.1 + endloop + endfacet + facet normal -0.963304 0.268412 0 + outer loop + vertex 15.0092 9.15168 0 + vertex 14.9543 8.95485 -0.1 + vertex 14.9543 8.95485 0 + endloop + endfacet + facet normal -0.99232 0.1237 0 + outer loop + vertex 14.9262 8.72903 -0.1 + vertex 14.9543 8.95485 0 + vertex 14.9543 8.95485 -0.1 + endloop + endfacet + facet normal -0.99232 0.1237 0 + outer loop + vertex 14.9543 8.95485 0 + vertex 14.9262 8.72903 -0.1 + vertex 14.9262 8.72903 0 + endloop + endfacet + facet normal -0.999834 0.0182102 0 + outer loop + vertex 14.9212 8.45633 -0.1 + vertex 14.9262 8.72903 0 + vertex 14.9262 8.72903 -0.1 + endloop + endfacet + facet normal -0.999834 0.0182102 0 + outer loop + vertex 14.9262 8.72903 0 + vertex 14.9212 8.45633 -0.1 + vertex 14.9212 8.45633 0 + endloop + endfacet + facet normal -0.998195 -0.0600559 0 + outer loop + vertex 14.9668 7.69881 -0.1 + vertex 14.9212 8.45633 0 + vertex 14.9212 8.45633 -0.1 + endloop + endfacet + facet normal -0.998195 -0.0600559 0 + outer loop + vertex 14.9212 8.45633 0 + vertex 14.9668 7.69881 -0.1 + vertex 14.9668 7.69881 0 + endloop + endfacet + facet normal -0.99465 -0.103302 0 + outer loop + vertex 15.0249 7.13954 -0.1 + vertex 14.9668 7.69881 0 + vertex 14.9668 7.69881 -0.1 + endloop + endfacet + facet normal -0.99465 -0.103302 0 + outer loop + vertex 14.9668 7.69881 0 + vertex 15.0249 7.13954 -0.1 + vertex 15.0249 7.13954 0 + endloop + endfacet + facet normal -0.989699 -0.143163 0 + outer loop + vertex 15.1095 6.5543 -0.1 + vertex 15.0249 7.13954 0 + vertex 15.0249 7.13954 -0.1 + endloop + endfacet + facet normal -0.989699 -0.143163 0 + outer loop + vertex 15.0249 7.13954 0 + vertex 15.1095 6.5543 -0.1 + vertex 15.1095 6.5543 0 + endloop + endfacet + facet normal -0.984174 -0.177204 0 + outer loop + vertex 15.2183 5.95043 -0.1 + vertex 15.1095 6.5543 0 + vertex 15.1095 6.5543 -0.1 + endloop + endfacet + facet normal -0.984174 -0.177204 0 + outer loop + vertex 15.1095 6.5543 0 + vertex 15.2183 5.95043 -0.1 + vertex 15.2183 5.95043 0 + endloop + endfacet + facet normal -0.978296 -0.207212 0 + outer loop + vertex 15.3486 5.33522 -0.1 + vertex 15.2183 5.95043 0 + vertex 15.2183 5.95043 -0.1 + endloop + endfacet + facet normal -0.978296 -0.207212 0 + outer loop + vertex 15.2183 5.95043 0 + vertex 15.3486 5.33522 -0.1 + vertex 15.3486 5.33522 0 + endloop + endfacet + facet normal -0.972111 -0.23452 0 + outer loop + vertex 15.498 4.716 -0.1 + vertex 15.3486 5.33522 0 + vertex 15.3486 5.33522 -0.1 + endloop + endfacet + facet normal -0.972111 -0.23452 0 + outer loop + vertex 15.3486 5.33522 0 + vertex 15.498 4.716 -0.1 + vertex 15.498 4.716 0 + endloop + endfacet + facet normal -0.965559 -0.260185 0 + outer loop + vertex 15.6639 4.10009 -0.1 + vertex 15.498 4.716 0 + vertex 15.498 4.716 -0.1 + endloop + endfacet + facet normal -0.965559 -0.260185 0 + outer loop + vertex 15.498 4.716 0 + vertex 15.6639 4.10009 -0.1 + vertex 15.6639 4.10009 0 + endloop + endfacet + facet normal -0.95471 -0.297537 0 + outer loop + vertex 16.0356 2.90743 -0.1 + vertex 15.6639 4.10009 0 + vertex 15.6639 4.10009 -0.1 + endloop + endfacet + facet normal -0.95471 -0.297537 0 + outer loop + vertex 15.6639 4.10009 0 + vertex 16.0356 2.90743 -0.1 + vertex 16.0356 2.90743 0 + endloop + endfacet + facet normal -0.941754 -0.336302 0 + outer loop + vertex 16.2363 2.34533 -0.1 + vertex 16.0356 2.90743 0 + vertex 16.0356 2.90743 -0.1 + endloop + endfacet + facet normal -0.941754 -0.336302 0 + outer loop + vertex 16.0356 2.90743 0 + vertex 16.2363 2.34533 -0.1 + vertex 16.2363 2.34533 0 + endloop + endfacet + facet normal -0.931176 -0.364571 0 + outer loop + vertex 16.4437 1.81579 -0.1 + vertex 16.2363 2.34533 0 + vertex 16.2363 2.34533 -0.1 + endloop + endfacet + facet normal -0.931176 -0.364571 0 + outer loop + vertex 16.2363 2.34533 0 + vertex 16.4437 1.81579 -0.1 + vertex 16.4437 1.81579 0 + endloop + endfacet + facet normal -0.91808 -0.396396 0 + outer loop + vertex 16.6551 1.32614 -0.1 + vertex 16.4437 1.81579 0 + vertex 16.4437 1.81579 -0.1 + endloop + endfacet + facet normal -0.91808 -0.396396 0 + outer loop + vertex 16.4437 1.81579 0 + vertex 16.6551 1.32614 -0.1 + vertex 16.6551 1.32614 0 + endloop + endfacet + facet normal -0.901015 -0.433787 0 + outer loop + vertex 16.8681 0.883681 -0.1 + vertex 16.6551 1.32614 0 + vertex 16.6551 1.32614 -0.1 + endloop + endfacet + facet normal -0.901015 -0.433787 0 + outer loop + vertex 16.6551 1.32614 0 + vertex 16.8681 0.883681 -0.1 + vertex 16.8681 0.883681 0 + endloop + endfacet + facet normal -0.877409 -0.479744 0 + outer loop + vertex 17.0802 0.495742 -0.1 + vertex 16.8681 0.883681 0 + vertex 16.8681 0.883681 -0.1 + endloop + endfacet + facet normal -0.877409 -0.479744 0 + outer loop + vertex 16.8681 0.883681 0 + vertex 17.0802 0.495742 -0.1 + vertex 17.0802 0.495742 0 + endloop + endfacet + facet normal -0.842258 -0.539075 0 + outer loop + vertex 17.2889 0.169637 -0.1 + vertex 17.0802 0.495742 0 + vertex 17.0802 0.495742 -0.1 + endloop + endfacet + facet normal -0.842258 -0.539075 0 + outer loop + vertex 17.0802 0.495742 0 + vertex 17.2889 0.169637 -0.1 + vertex 17.2889 0.169637 0 + endloop + endfacet + facet normal -0.784932 -0.619582 0 + outer loop + vertex 17.4918 -0.0873203 -0.1 + vertex 17.2889 0.169637 0 + vertex 17.2889 0.169637 -0.1 + endloop + endfacet + facet normal -0.784932 -0.619582 0 + outer loop + vertex 17.2889 0.169637 0 + vertex 17.4918 -0.0873203 -0.1 + vertex 17.4918 -0.0873203 0 + endloop + endfacet + facet normal -0.680344 -0.732893 0 + outer loop + vertex 17.4918 -0.0873203 -0.1 + vertex 17.6862 -0.267812 0 + vertex 17.4918 -0.0873203 0 + endloop + endfacet + facet normal -0.680344 -0.732893 -0 + outer loop + vertex 17.6862 -0.267812 0 + vertex 17.4918 -0.0873203 -0.1 + vertex 17.6862 -0.267812 -0.1 + endloop + endfacet + facet normal -0.560342 -0.828261 0 + outer loop + vertex 17.6862 -0.267812 -0.1 + vertex 17.8284 -0.36402 0 + vertex 17.6862 -0.267812 0 + endloop + endfacet + facet normal -0.560342 -0.828261 -0 + outer loop + vertex 17.8284 -0.36402 0 + vertex 17.6862 -0.267812 -0.1 + vertex 17.8284 -0.36402 -0.1 + endloop + endfacet + facet normal -0.436276 -0.899813 0 + outer loop + vertex 17.8284 -0.36402 -0.1 + vertex 17.9646 -0.430052 0 + vertex 17.8284 -0.36402 0 + endloop + endfacet + facet normal -0.436276 -0.899813 -0 + outer loop + vertex 17.9646 -0.430052 0 + vertex 17.8284 -0.36402 -0.1 + vertex 17.9646 -0.430052 -0.1 + endloop + endfacet + facet normal -0.23232 -0.972639 0 + outer loop + vertex 17.9646 -0.430052 -0.1 + vertex 18.1098 -0.464739 0 + vertex 17.9646 -0.430052 0 + endloop + endfacet + facet normal -0.23232 -0.972639 -0 + outer loop + vertex 18.1098 -0.464739 0 + vertex 17.9646 -0.430052 -0.1 + vertex 18.1098 -0.464739 -0.1 + endloop + endfacet + facet normal -0.0128436 -0.999918 0 + outer loop + vertex 18.1098 -0.464739 -0.1 + vertex 18.2791 -0.466914 0 + vertex 18.1098 -0.464739 0 + endloop + endfacet + facet normal -0.0128436 -0.999918 -0 + outer loop + vertex 18.2791 -0.466914 0 + vertex 18.1098 -0.464739 -0.1 + vertex 18.2791 -0.466914 -0.1 + endloop + endfacet + facet normal 0.149466 -0.988767 0 + outer loop + vertex 18.2791 -0.466914 -0.1 + vertex 18.4876 -0.435405 0 + vertex 18.2791 -0.466914 0 + endloop + endfacet + facet normal 0.149466 -0.988767 0 + outer loop + vertex 18.4876 -0.435405 0 + vertex 18.2791 -0.466914 -0.1 + vertex 18.4876 -0.435405 -0.1 + endloop + endfacet + facet normal 0.244974 -0.96953 0 + outer loop + vertex 18.4876 -0.435405 -0.1 + vertex 18.7502 -0.369046 0 + vertex 18.4876 -0.435405 0 + endloop + endfacet + facet normal 0.244974 -0.96953 0 + outer loop + vertex 18.7502 -0.369046 0 + vertex 18.4876 -0.435405 -0.1 + vertex 18.7502 -0.369046 -0.1 + endloop + endfacet + facet normal 0.307753 -0.951466 0 + outer loop + vertex 18.7502 -0.369046 -0.1 + vertex 19.4982 -0.127099 0 + vertex 18.7502 -0.369046 0 + endloop + endfacet + facet normal 0.307753 -0.951466 0 + outer loop + vertex 19.4982 -0.127099 0 + vertex 18.7502 -0.369046 -0.1 + vertex 19.4982 -0.127099 -0.1 + endloop + endfacet + facet normal 0.301432 -0.953488 0 + outer loop + vertex 19.4982 -0.127099 -0.1 + vertex 20.0432 0.0451876 0 + vertex 19.4982 -0.127099 0 + endloop + endfacet + facet normal 0.301432 -0.953488 0 + outer loop + vertex 20.0432 0.0451876 0 + vertex 19.4982 -0.127099 -0.1 + vertex 20.0432 0.0451876 -0.1 + endloop + endfacet + facet normal 0.251907 -0.967752 0 + outer loop + vertex 20.0432 0.0451876 -0.1 + vertex 20.5155 0.168137 0 + vertex 20.0432 0.0451876 0 + endloop + endfacet + facet normal 0.251907 -0.967752 0 + outer loop + vertex 20.5155 0.168137 0 + vertex 20.0432 0.0451876 -0.1 + vertex 20.5155 0.168137 -0.1 + endloop + endfacet + facet normal 0.175432 -0.984492 0 + outer loop + vertex 20.5155 0.168137 -0.1 + vertex 20.8646 0.230347 0 + vertex 20.5155 0.168137 0 + endloop + endfacet + facet normal 0.175432 -0.984492 0 + outer loop + vertex 20.8646 0.230347 0 + vertex 20.5155 0.168137 -0.1 + vertex 20.8646 0.230347 -0.1 + endloop + endfacet + facet normal 0.0422921 -0.999105 0 + outer loop + vertex 20.8646 0.230347 -0.1 + vertex 20.9772 0.235111 0 + vertex 20.8646 0.230347 0 + endloop + endfacet + facet normal 0.0422921 -0.999105 0 + outer loop + vertex 20.9772 0.235111 0 + vertex 20.8646 0.230347 -0.1 + vertex 20.9772 0.235111 -0.1 + endloop + endfacet + facet normal -0.228021 -0.973656 0 + outer loop + vertex 20.9772 0.235111 -0.1 + vertex 21.0399 0.220413 0 + vertex 20.9772 0.235111 0 + endloop + endfacet + facet normal -0.228021 -0.973656 -0 + outer loop + vertex 21.0399 0.220413 0 + vertex 20.9772 0.235111 -0.1 + vertex 21.0399 0.220413 -0.1 + endloop + endfacet + facet normal -0.836215 -0.548402 0 + outer loop + vertex 21.0726 0.170561 -0.1 + vertex 21.0399 0.220413 0 + vertex 21.0399 0.220413 -0.1 + endloop + endfacet + facet normal -0.836215 -0.548402 0 + outer loop + vertex 21.0399 0.220413 0 + vertex 21.0726 0.170561 -0.1 + vertex 21.0726 0.170561 0 + endloop + endfacet + facet normal -0.964289 -0.264852 0 + outer loop + vertex 21.099 0.0745682 -0.1 + vertex 21.0726 0.170561 0 + vertex 21.0726 0.170561 -0.1 + endloop + endfacet + facet normal -0.964289 -0.264852 0 + outer loop + vertex 21.0726 0.170561 0 + vertex 21.099 0.0745682 -0.1 + vertex 21.099 0.0745682 0 + endloop + endfacet + facet normal -0.994432 -0.105376 0 + outer loop + vertex 21.1316 -0.233279 -0.1 + vertex 21.099 0.0745682 0 + vertex 21.099 0.0745682 -0.1 + endloop + endfacet + facet normal -0.994432 -0.105376 0 + outer loop + vertex 21.099 0.0745682 0 + vertex 21.1316 -0.233279 -0.1 + vertex 21.1316 -0.233279 0 + endloop + endfacet + facet normal -0.999957 -0.00925488 0 + outer loop + vertex 21.1355 -0.658014 -0.1 + vertex 21.1316 -0.233279 0 + vertex 21.1316 -0.233279 -0.1 + endloop + endfacet + facet normal -0.999957 -0.00925488 0 + outer loop + vertex 21.1316 -0.233279 0 + vertex 21.1355 -0.658014 -0.1 + vertex 21.1355 -0.658014 0 + endloop + endfacet + facet normal -0.998524 0.0543158 0 + outer loop + vertex 21.1085 -1.15452 -0.1 + vertex 21.1355 -0.658014 0 + vertex 21.1355 -0.658014 -0.1 + endloop + endfacet + facet normal -0.998524 0.0543158 0 + outer loop + vertex 21.1355 -0.658014 0 + vertex 21.1085 -1.15452 -0.1 + vertex 21.1085 -1.15452 0 + endloop + endfacet + facet normal -0.992587 0.121535 0 + outer loop + vertex 21.0399 -1.71534 -0.1 + vertex 21.1085 -1.15452 0 + vertex 21.1085 -1.15452 -0.1 + endloop + endfacet + facet normal -0.992587 0.121535 0 + outer loop + vertex 21.1085 -1.15452 0 + vertex 21.0399 -1.71534 -0.1 + vertex 21.0399 -1.71534 0 + endloop + endfacet + facet normal -0.978633 0.205615 0 + outer loop + vertex 20.9878 -1.96317 -0.1 + vertex 21.0399 -1.71534 0 + vertex 21.0399 -1.71534 -0.1 + endloop + endfacet + facet normal -0.978633 0.205615 0 + outer loop + vertex 21.0399 -1.71534 0 + vertex 20.9878 -1.96317 -0.1 + vertex 20.9878 -1.96317 0 + endloop + endfacet + facet normal -0.959237 0.282603 0 + outer loop + vertex 20.9199 -2.19366 -0.1 + vertex 20.9878 -1.96317 0 + vertex 20.9878 -1.96317 -0.1 + endloop + endfacet + facet normal -0.959237 0.282603 0 + outer loop + vertex 20.9878 -1.96317 0 + vertex 20.9199 -2.19366 -0.1 + vertex 20.9199 -2.19366 0 + endloop + endfacet + facet normal -0.92823 0.372008 0 + outer loop + vertex 20.8331 -2.41014 -0.1 + vertex 20.9199 -2.19366 0 + vertex 20.9199 -2.19366 -0.1 + endloop + endfacet + facet normal -0.92823 0.372008 0 + outer loop + vertex 20.9199 -2.19366 0 + vertex 20.8331 -2.41014 -0.1 + vertex 20.8331 -2.41014 0 + endloop + endfacet + facet normal -0.884337 0.46685 0 + outer loop + vertex 20.7245 -2.61588 -0.1 + vertex 20.8331 -2.41014 0 + vertex 20.8331 -2.41014 -0.1 + endloop + endfacet + facet normal -0.884337 0.46685 0 + outer loop + vertex 20.8331 -2.41014 0 + vertex 20.7245 -2.61588 -0.1 + vertex 20.7245 -2.61588 0 + endloop + endfacet + facet normal -0.829583 0.558383 0 + outer loop + vertex 20.591 -2.8142 -0.1 + vertex 20.7245 -2.61588 0 + vertex 20.7245 -2.61588 -0.1 + endloop + endfacet + facet normal -0.829583 0.558383 0 + outer loop + vertex 20.7245 -2.61588 0 + vertex 20.591 -2.8142 -0.1 + vertex 20.591 -2.8142 0 + endloop + endfacet + facet normal -0.769117 0.639107 0 + outer loop + vertex 20.4297 -3.0084 -0.1 + vertex 20.591 -2.8142 0 + vertex 20.591 -2.8142 -0.1 + endloop + endfacet + facet normal -0.769117 0.639107 0 + outer loop + vertex 20.591 -2.8142 0 + vertex 20.4297 -3.0084 -0.1 + vertex 20.4297 -3.0084 0 + endloop + endfacet + facet normal -0.709135 0.705072 0 + outer loop + vertex 20.2374 -3.20177 -0.1 + vertex 20.4297 -3.0084 0 + vertex 20.4297 -3.0084 -0.1 + endloop + endfacet + facet normal -0.709135 0.705072 0 + outer loop + vertex 20.4297 -3.0084 0 + vertex 20.2374 -3.20177 -0.1 + vertex 20.2374 -3.20177 0 + endloop + endfacet + facet normal -0.654612 0.755965 0 + outer loop + vertex 20.2374 -3.20177 -0.1 + vertex 20.0112 -3.39762 0 + vertex 20.2374 -3.20177 0 + endloop + endfacet + facet normal -0.654612 0.755965 0 + outer loop + vertex 20.0112 -3.39762 0 + vertex 20.2374 -3.20177 -0.1 + vertex 20.0112 -3.39762 -0.1 + endloop + endfacet + facet normal -0.588742 0.808321 0 + outer loop + vertex 20.0112 -3.39762 -0.1 + vertex 19.4451 -3.80993 0 + vertex 20.0112 -3.39762 0 + endloop + endfacet + facet normal -0.588742 0.808321 0 + outer loop + vertex 19.4451 -3.80993 0 + vertex 20.0112 -3.39762 -0.1 + vertex 19.4451 -3.80993 -0.1 + endloop + endfacet + facet normal -0.530543 0.847658 0 + outer loop + vertex 19.4451 -3.80993 -0.1 + vertex 18.7073 -4.27174 0 + vertex 19.4451 -3.80993 0 + endloop + endfacet + facet normal -0.530543 0.847658 0 + outer loop + vertex 18.7073 -4.27174 0 + vertex 19.4451 -3.80993 -0.1 + vertex 18.7073 -4.27174 -0.1 + endloop + endfacet + facet normal -0.499058 0.866569 0 + outer loop + vertex 18.7073 -4.27174 -0.1 + vertex 17.7736 -4.80944 0 + vertex 18.7073 -4.27174 0 + endloop + endfacet + facet normal -0.499058 0.866569 0 + outer loop + vertex 17.7736 -4.80944 0 + vertex 18.7073 -4.27174 -0.1 + vertex 17.7736 -4.80944 -0.1 + endloop + endfacet + facet normal -0.476856 0.878981 0 + outer loop + vertex 17.7736 -4.80944 -0.1 + vertex 16.3254 -5.59514 0 + vertex 17.7736 -4.80944 0 + endloop + endfacet + facet normal -0.476856 0.878981 0 + outer loop + vertex 16.3254 -5.59514 0 + vertex 17.7736 -4.80944 -0.1 + vertex 16.3254 -5.59514 -0.1 + endloop + endfacet + facet normal -0.451418 0.892312 0 + outer loop + vertex 16.3254 -5.59514 -0.1 + vertex 15.6549 -5.93433 0 + vertex 16.3254 -5.59514 0 + endloop + endfacet + facet normal -0.451418 0.892312 0 + outer loop + vertex 15.6549 -5.93433 0 + vertex 16.3254 -5.59514 -0.1 + vertex 15.6549 -5.93433 -0.1 + endloop + endfacet + facet normal -0.429833 0.902908 0 + outer loop + vertex 15.6549 -5.93433 -0.1 + vertex 15.0129 -6.23993 0 + vertex 15.6549 -5.93433 0 + endloop + endfacet + facet normal -0.429833 0.902908 0 + outer loop + vertex 15.0129 -6.23993 0 + vertex 15.6549 -5.93433 -0.1 + vertex 15.0129 -6.23993 -0.1 + endloop + endfacet + facet normal -0.404408 0.914579 0 + outer loop + vertex 15.0129 -6.23993 -0.1 + vertex 14.3941 -6.51356 0 + vertex 15.0129 -6.23993 0 + endloop + endfacet + facet normal -0.404408 0.914579 0 + outer loop + vertex 14.3941 -6.51356 0 + vertex 15.0129 -6.23993 -0.1 + vertex 14.3941 -6.51356 -0.1 + endloop + endfacet + facet normal -0.375168 0.926957 0 + outer loop + vertex 14.3941 -6.51356 -0.1 + vertex 13.793 -6.75686 0 + vertex 14.3941 -6.51356 0 + endloop + endfacet + facet normal -0.375168 0.926957 0 + outer loop + vertex 13.793 -6.75686 0 + vertex 14.3941 -6.51356 -0.1 + vertex 13.793 -6.75686 -0.1 + endloop + endfacet + facet normal -0.342394 0.939557 0 + outer loop + vertex 13.793 -6.75686 -0.1 + vertex 13.2041 -6.97145 0 + vertex 13.793 -6.75686 0 + endloop + endfacet + facet normal -0.342394 0.939557 0 + outer loop + vertex 13.2041 -6.97145 0 + vertex 13.793 -6.75686 -0.1 + vertex 13.2041 -6.97145 -0.1 + endloop + endfacet + facet normal -0.306665 0.951818 0 + outer loop + vertex 13.2041 -6.97145 -0.1 + vertex 12.6221 -7.15898 0 + vertex 13.2041 -6.97145 0 + endloop + endfacet + facet normal -0.306665 0.951818 0 + outer loop + vertex 12.6221 -7.15898 0 + vertex 13.2041 -6.97145 -0.1 + vertex 12.6221 -7.15898 -0.1 + endloop + endfacet + facet normal -0.268881 0.963173 0 + outer loop + vertex 12.6221 -7.15898 -0.1 + vertex 12.0414 -7.32107 0 + vertex 12.6221 -7.15898 0 + endloop + endfacet + facet normal -0.268881 0.963173 0 + outer loop + vertex 12.0414 -7.32107 0 + vertex 12.6221 -7.15898 -0.1 + vertex 12.0414 -7.32107 -0.1 + endloop + endfacet + facet normal -0.230173 0.97315 0 + outer loop + vertex 12.0414 -7.32107 -0.1 + vertex 11.4568 -7.45935 0 + vertex 12.0414 -7.32107 0 + endloop + endfacet + facet normal -0.230173 0.97315 0 + outer loop + vertex 11.4568 -7.45935 0 + vertex 12.0414 -7.32107 -0.1 + vertex 11.4568 -7.45935 -0.1 + endloop + endfacet + facet normal -0.191808 0.981433 0 + outer loop + vertex 11.4568 -7.45935 -0.1 + vertex 10.8627 -7.57545 0 + vertex 11.4568 -7.45935 0 + endloop + endfacet + facet normal -0.191808 0.981433 0 + outer loop + vertex 10.8627 -7.57545 0 + vertex 11.4568 -7.45935 -0.1 + vertex 10.8627 -7.57545 -0.1 + endloop + endfacet + facet normal -0.155029 0.98791 0 + outer loop + vertex 10.8627 -7.57545 -0.1 + vertex 10.2538 -7.67101 0 + vertex 10.8627 -7.57545 0 + endloop + endfacet + facet normal -0.155029 0.98791 0 + outer loop + vertex 10.2538 -7.67101 0 + vertex 10.8627 -7.57545 -0.1 + vertex 10.2538 -7.67101 -0.1 + endloop + endfacet + facet normal -0.120913 0.992663 0 + outer loop + vertex 10.2538 -7.67101 -0.1 + vertex 9.62459 -7.74765 0 + vertex 10.2538 -7.67101 0 + endloop + endfacet + facet normal -0.120913 0.992663 0 + outer loop + vertex 9.62459 -7.74765 0 + vertex 10.2538 -7.67101 -0.1 + vertex 9.62459 -7.74765 -0.1 + endloop + endfacet + facet normal -0.0902671 0.995918 0 + outer loop + vertex 9.62459 -7.74765 -0.1 + vertex 8.96966 -7.80701 0 + vertex 9.62459 -7.74765 0 + endloop + endfacet + facet normal -0.0902671 0.995918 0 + outer loop + vertex 8.96966 -7.80701 0 + vertex 9.62459 -7.74765 -0.1 + vertex 8.96966 -7.80701 -0.1 + endloop + endfacet + facet normal -0.0520328 0.998645 0 + outer loop + vertex 8.96966 -7.80701 -0.1 + vertex 7.56097 -7.88041 0 + vertex 8.96966 -7.80701 0 + endloop + endfacet + facet normal -0.0520328 0.998645 0 + outer loop + vertex 7.56097 -7.88041 0 + vertex 8.96966 -7.80701 -0.1 + vertex 7.56097 -7.88041 -0.1 + endloop + endfacet + facet normal -0.0211888 0.999775 0 + outer loop + vertex 7.56097 -7.88041 -0.1 + vertex 6.04455 -7.91255 0 + vertex 7.56097 -7.88041 0 + endloop + endfacet + facet normal -0.0211888 0.999775 0 + outer loop + vertex 6.04455 -7.91255 0 + vertex 7.56097 -7.88041 -0.1 + vertex 6.04455 -7.91255 -0.1 + endloop + endfacet + facet normal 0.00984088 0.999952 -0 + outer loop + vertex 6.04455 -7.91255 -0.1 + vertex 5.49083 -7.9071 0 + vertex 6.04455 -7.91255 0 + endloop + endfacet + facet normal 0.00984088 0.999952 0 + outer loop + vertex 5.49083 -7.9071 0 + vertex 6.04455 -7.91255 -0.1 + vertex 5.49083 -7.9071 -0.1 + endloop + endfacet + facet normal 0.0493656 0.998781 -0 + outer loop + vertex 5.49083 -7.9071 -0.1 + vertex 5.0434 -7.88498 0 + vertex 5.49083 -7.9071 0 + endloop + endfacet + facet normal 0.0493656 0.998781 0 + outer loop + vertex 5.0434 -7.88498 0 + vertex 5.49083 -7.9071 -0.1 + vertex 5.0434 -7.88498 -0.1 + endloop + endfacet + facet normal 0.110735 0.99385 -0 + outer loop + vertex 5.0434 -7.88498 -0.1 + vertex 4.67971 -7.84446 0 + vertex 5.0434 -7.88498 0 + endloop + endfacet + facet normal 0.110735 0.99385 0 + outer loop + vertex 4.67971 -7.84446 0 + vertex 5.0434 -7.88498 -0.1 + vertex 4.67971 -7.84446 -0.1 + endloop + endfacet + facet normal 0.196653 0.980473 -0 + outer loop + vertex 4.67971 -7.84446 -0.1 + vertex 4.37723 -7.78379 0 + vertex 4.67971 -7.84446 0 + endloop + endfacet + facet normal 0.196653 0.980473 0 + outer loop + vertex 4.37723 -7.78379 0 + vertex 4.67971 -7.84446 -0.1 + vertex 4.37723 -7.78379 -0.1 + endloop + endfacet + facet normal 0.298658 0.95436 -0 + outer loop + vertex 4.37723 -7.78379 -0.1 + vertex 4.11342 -7.70123 0 + vertex 4.37723 -7.78379 0 + endloop + endfacet + facet normal 0.298658 0.95436 0 + outer loop + vertex 4.11342 -7.70123 0 + vertex 4.37723 -7.78379 -0.1 + vertex 4.11342 -7.70123 -0.1 + endloop + endfacet + facet normal 0.39403 0.919098 -0 + outer loop + vertex 4.11342 -7.70123 -0.1 + vertex 3.86574 -7.59505 0 + vertex 4.11342 -7.70123 0 + endloop + endfacet + facet normal 0.39403 0.919098 0 + outer loop + vertex 3.86574 -7.59505 0 + vertex 4.11342 -7.70123 -0.1 + vertex 3.86574 -7.59505 -0.1 + endloop + endfacet + facet normal 0.472054 0.88157 -0 + outer loop + vertex 3.86574 -7.59505 -0.1 + vertex 3.40104 -7.34622 0 + vertex 3.86574 -7.59505 0 + endloop + endfacet + facet normal 0.472054 0.88157 0 + outer loop + vertex 3.40104 -7.34622 0 + vertex 3.86574 -7.59505 -0.1 + vertex 3.40104 -7.34622 -0.1 + endloop + endfacet + facet normal 0.50336 0.864077 -0 + outer loop + vertex 3.40104 -7.34622 -0.1 + vertex 2.71562 -6.94693 0 + vertex 3.40104 -7.34622 0 + endloop + endfacet + facet normal 0.50336 0.864077 0 + outer loop + vertex 2.71562 -6.94693 0 + vertex 3.40104 -7.34622 -0.1 + vertex 2.71562 -6.94693 -0.1 + endloop + endfacet + facet normal 0.526285 0.850308 -0 + outer loop + vertex 2.71562 -6.94693 -0.1 + vertex 1.05193 -5.91722 0 + vertex 2.71562 -6.94693 0 + endloop + endfacet + facet normal 0.526285 0.850308 0 + outer loop + vertex 1.05193 -5.91722 0 + vertex 2.71562 -6.94693 -0.1 + vertex 1.05193 -5.91722 -0.1 + endloop + endfacet + facet normal 0.529768 0.848143 -0 + outer loop + vertex 1.05193 -5.91722 -0.1 + vertex -0.694871 -4.82613 0 + vertex 1.05193 -5.91722 0 + endloop + endfacet + facet normal 0.529768 0.848143 0 + outer loop + vertex -0.694871 -4.82613 0 + vertex 1.05193 -5.91722 -0.1 + vertex -0.694871 -4.82613 -0.1 + endloop + endfacet + facet normal 0.507777 0.861489 -0 + outer loop + vertex -0.694871 -4.82613 -0.1 + vertex -2.47177 -3.7788 0 + vertex -0.694871 -4.82613 0 + endloop + endfacet + facet normal 0.507777 0.861489 0 + outer loop + vertex -2.47177 -3.7788 0 + vertex -0.694871 -4.82613 -0.1 + vertex -2.47177 -3.7788 -0.1 + endloop + endfacet + facet normal 0.55979 0.828634 -0 + outer loop + vertex -2.47177 -3.7788 -0.1 + vertex -2.8551 -3.51984 0 + vertex -2.47177 -3.7788 0 + endloop + endfacet + facet normal 0.55979 0.828634 0 + outer loop + vertex -2.8551 -3.51984 0 + vertex -2.47177 -3.7788 -0.1 + vertex -2.8551 -3.51984 -0.1 + endloop + endfacet + facet normal 0.612658 0.790348 -0 + outer loop + vertex -2.8551 -3.51984 -0.1 + vertex -3.18232 -3.26618 0 + vertex -2.8551 -3.51984 0 + endloop + endfacet + facet normal 0.612658 0.790348 0 + outer loop + vertex -3.18232 -3.26618 0 + vertex -2.8551 -3.51984 -0.1 + vertex -3.18232 -3.26618 -0.1 + endloop + endfacet + facet normal 0.673628 0.73907 -0 + outer loop + vertex -3.18232 -3.26618 -0.1 + vertex -3.44099 -3.03042 0 + vertex -3.18232 -3.26618 0 + endloop + endfacet + facet normal 0.673628 0.73907 0 + outer loop + vertex -3.44099 -3.03042 0 + vertex -3.18232 -3.26618 -0.1 + vertex -3.44099 -3.03042 -0.1 + endloop + endfacet + facet normal 0.756151 0.654397 0 + outer loop + vertex -3.44099 -3.03042 0 + vertex -3.61865 -2.82513 -0.1 + vertex -3.61865 -2.82513 0 + endloop + endfacet + facet normal 0.756151 0.654397 0 + outer loop + vertex -3.61865 -2.82513 -0.1 + vertex -3.44099 -3.03042 0 + vertex -3.44099 -3.03042 -0.1 + endloop + endfacet + facet normal 0.887562 0.460688 0 + outer loop + vertex -3.61865 -2.82513 0 + vertex -3.70285 -2.66292 -0.1 + vertex -3.70285 -2.66292 0 + endloop + endfacet + facet normal 0.887562 0.460688 0 + outer loop + vertex -3.70285 -2.66292 -0.1 + vertex -3.61865 -2.82513 0 + vertex -3.61865 -2.82513 -0.1 + endloop + endfacet + facet normal 0.998663 0.0516973 0 + outer loop + vertex -3.70285 -2.66292 0 + vertex -3.70601 -2.60189 -0.1 + vertex -3.70601 -2.60189 0 + endloop + endfacet + facet normal 0.998663 0.0516973 0 + outer loop + vertex -3.70601 -2.60189 -0.1 + vertex -3.70285 -2.66292 0 + vertex -3.70285 -2.66292 -0.1 + endloop + endfacet + facet normal 0.877591 -0.479411 0 + outer loop + vertex -3.70601 -2.60189 0 + vertex -3.68113 -2.55635 -0.1 + vertex -3.68113 -2.55635 0 + endloop + endfacet + facet normal 0.877591 -0.479411 0 + outer loop + vertex -3.68113 -2.55635 -0.1 + vertex -3.70601 -2.60189 0 + vertex -3.70601 -2.60189 -0.1 + endloop + endfacet + facet normal 0.463305 -0.886199 0 + outer loop + vertex -3.68113 -2.55635 -0.1 + vertex -3.62666 -2.52788 0 + vertex -3.68113 -2.55635 0 + endloop + endfacet + facet normal 0.463305 -0.886199 0 + outer loop + vertex -3.62666 -2.52788 0 + vertex -3.68113 -2.55635 -0.1 + vertex -3.62666 -2.52788 -0.1 + endloop + endfacet + facet normal 0.114199 -0.993458 0 + outer loop + vertex -3.62666 -2.52788 -0.1 + vertex -3.54104 -2.51804 0 + vertex -3.62666 -2.52788 0 + endloop + endfacet + facet normal 0.114199 -0.993458 0 + outer loop + vertex -3.54104 -2.51804 0 + vertex -3.62666 -2.52788 -0.1 + vertex -3.54104 -2.51804 -0.1 + endloop + endfacet + facet normal -0.250917 -0.968009 0 + outer loop + vertex -3.54104 -2.51804 -0.1 + vertex -3.301 -2.58026 0 + vertex -3.54104 -2.51804 0 + endloop + endfacet + facet normal -0.250917 -0.968009 -0 + outer loop + vertex -3.301 -2.58026 0 + vertex -3.54104 -2.51804 -0.1 + vertex -3.301 -2.58026 -0.1 + endloop + endfacet + facet normal -0.37095 -0.928653 0 + outer loop + vertex -3.301 -2.58026 -0.1 + vertex -2.87688 -2.74967 0 + vertex -3.301 -2.58026 0 + endloop + endfacet + facet normal -0.37095 -0.928653 -0 + outer loop + vertex -2.87688 -2.74967 0 + vertex -3.301 -2.58026 -0.1 + vertex -2.87688 -2.74967 -0.1 + endloop + endfacet + facet normal -0.415868 -0.909425 0 + outer loop + vertex -2.87688 -2.74967 -0.1 + vertex -2.32857 -3.00041 0 + vertex -2.87688 -2.74967 0 + endloop + endfacet + facet normal -0.415868 -0.909425 -0 + outer loop + vertex -2.32857 -3.00041 0 + vertex -2.87688 -2.74967 -0.1 + vertex -2.32857 -3.00041 -0.1 + endloop + endfacet + facet normal -0.447064 -0.894502 0 + outer loop + vertex -2.32857 -3.00041 -0.1 + vertex -1.71595 -3.30659 0 + vertex -2.32857 -3.00041 0 + endloop + endfacet + facet normal -0.447064 -0.894502 -0 + outer loop + vertex -1.71595 -3.30659 0 + vertex -2.32857 -3.00041 -0.1 + vertex -1.71595 -3.30659 -0.1 + endloop + endfacet + facet normal -0.450995 -0.892526 0 + outer loop + vertex -1.71595 -3.30659 -0.1 + vertex -1.01669 -3.65993 0 + vertex -1.71595 -3.30659 0 + endloop + endfacet + facet normal -0.450995 -0.892526 -0 + outer loop + vertex -1.01669 -3.65993 0 + vertex -1.71595 -3.30659 -0.1 + vertex -1.01669 -3.65993 -0.1 + endloop + endfacet + facet normal -0.429074 -0.903269 0 + outer loop + vertex -1.01669 -3.65993 -0.1 + vertex -0.313177 -3.99411 0 + vertex -1.01669 -3.65993 0 + endloop + endfacet + facet normal -0.429074 -0.903269 -0 + outer loop + vertex -0.313177 -3.99411 0 + vertex -1.01669 -3.65993 -0.1 + vertex -0.313177 -3.99411 -0.1 + endloop + endfacet + facet normal -0.406667 -0.913576 0 + outer loop + vertex -0.313177 -3.99411 -0.1 + vertex 0.394112 -4.30895 0 + vertex -0.313177 -3.99411 0 + endloop + endfacet + facet normal -0.406667 -0.913576 -0 + outer loop + vertex 0.394112 -4.30895 0 + vertex -0.313177 -3.99411 -0.1 + vertex 0.394112 -4.30895 -0.1 + endloop + endfacet + facet normal -0.383759 -0.923433 0 + outer loop + vertex 0.394112 -4.30895 -0.1 + vertex 1.10471 -4.60426 0 + vertex 0.394112 -4.30895 0 + endloop + endfacet + facet normal -0.383759 -0.923433 -0 + outer loop + vertex 1.10471 -4.60426 0 + vertex 0.394112 -4.30895 -0.1 + vertex 1.10471 -4.60426 -0.1 + endloop + endfacet + facet normal -0.360336 -0.932823 0 + outer loop + vertex 1.10471 -4.60426 -0.1 + vertex 1.81816 -4.87986 0 + vertex 1.10471 -4.60426 0 + endloop + endfacet + facet normal -0.360336 -0.932823 -0 + outer loop + vertex 1.81816 -4.87986 0 + vertex 1.10471 -4.60426 -0.1 + vertex 1.81816 -4.87986 -0.1 + endloop + endfacet + facet normal -0.33638 -0.941726 0 + outer loop + vertex 1.81816 -4.87986 -0.1 + vertex 2.534 -5.13555 0 + vertex 1.81816 -4.87986 0 + endloop + endfacet + facet normal -0.33638 -0.941726 -0 + outer loop + vertex 2.534 -5.13555 0 + vertex 1.81816 -4.87986 -0.1 + vertex 2.534 -5.13555 -0.1 + endloop + endfacet + facet normal -0.311879 -0.950122 0 + outer loop + vertex 2.534 -5.13555 -0.1 + vertex 3.25174 -5.37115 0 + vertex 2.534 -5.13555 0 + endloop + endfacet + facet normal -0.311879 -0.950122 -0 + outer loop + vertex 3.25174 -5.37115 0 + vertex 2.534 -5.13555 -0.1 + vertex 3.25174 -5.37115 -0.1 + endloop + endfacet + facet normal -0.286817 -0.957985 0 + outer loop + vertex 3.25174 -5.37115 -0.1 + vertex 3.97093 -5.58648 0 + vertex 3.25174 -5.37115 0 + endloop + endfacet + facet normal -0.286817 -0.957985 -0 + outer loop + vertex 3.97093 -5.58648 0 + vertex 3.25174 -5.37115 -0.1 + vertex 3.97093 -5.58648 -0.1 + endloop + endfacet + facet normal -0.262141 -0.965029 0 + outer loop + vertex 3.97093 -5.58648 -0.1 + vertex 4.51611 -5.73457 0 + vertex 3.97093 -5.58648 0 + endloop + endfacet + facet normal -0.262141 -0.965029 -0 + outer loop + vertex 4.51611 -5.73457 0 + vertex 3.97093 -5.58648 -0.1 + vertex 4.51611 -5.73457 -0.1 + endloop + endfacet + facet normal -0.230397 -0.973097 0 + outer loop + vertex 4.51611 -5.73457 -0.1 + vertex 4.99906 -5.84891 0 + vertex 4.51611 -5.73457 0 + endloop + endfacet + facet normal -0.230397 -0.973097 -0 + outer loop + vertex 4.99906 -5.84891 0 + vertex 4.51611 -5.73457 -0.1 + vertex 4.99906 -5.84891 -0.1 + endloop + endfacet + facet normal -0.18567 -0.982612 0 + outer loop + vertex 4.99906 -5.84891 -0.1 + vertex 5.4311 -5.93055 0 + vertex 4.99906 -5.84891 0 + endloop + endfacet + facet normal -0.18567 -0.982612 -0 + outer loop + vertex 5.4311 -5.93055 0 + vertex 4.99906 -5.84891 -0.1 + vertex 5.4311 -5.93055 -0.1 + endloop + endfacet + facet normal -0.126289 -0.991994 0 + outer loop + vertex 5.4311 -5.93055 -0.1 + vertex 5.82356 -5.98052 0 + vertex 5.4311 -5.93055 0 + endloop + endfacet + facet normal -0.126289 -0.991994 -0 + outer loop + vertex 5.82356 -5.98052 0 + vertex 5.4311 -5.93055 -0.1 + vertex 5.82356 -5.98052 -0.1 + endloop + endfacet + facet normal -0.0529968 -0.998595 0 + outer loop + vertex 5.82356 -5.98052 -0.1 + vertex 6.18777 -5.99984 0 + vertex 5.82356 -5.98052 0 + endloop + endfacet + facet normal -0.0529968 -0.998595 -0 + outer loop + vertex 6.18777 -5.99984 0 + vertex 5.82356 -5.98052 -0.1 + vertex 6.18777 -5.99984 -0.1 + endloop + endfacet + facet normal 0.0295577 -0.999563 0 + outer loop + vertex 6.18777 -5.99984 -0.1 + vertex 6.53505 -5.98957 0 + vertex 6.18777 -5.99984 0 + endloop + endfacet + facet normal 0.0295577 -0.999563 0 + outer loop + vertex 6.53505 -5.98957 0 + vertex 6.18777 -5.99984 -0.1 + vertex 6.53505 -5.98957 -0.1 + endloop + endfacet + facet normal 0.112922 -0.993604 0 + outer loop + vertex 6.53505 -5.98957 -0.1 + vertex 6.87672 -5.95074 0 + vertex 6.53505 -5.98957 0 + endloop + endfacet + facet normal 0.112922 -0.993604 0 + outer loop + vertex 6.87672 -5.95074 0 + vertex 6.53505 -5.98957 -0.1 + vertex 6.87672 -5.95074 -0.1 + endloop + endfacet + facet normal 0.18762 -0.982242 0 + outer loop + vertex 6.87672 -5.95074 -0.1 + vertex 7.2241 -5.88439 0 + vertex 6.87672 -5.95074 0 + endloop + endfacet + facet normal 0.18762 -0.982242 0 + outer loop + vertex 7.2241 -5.88439 0 + vertex 6.87672 -5.95074 -0.1 + vertex 7.2241 -5.88439 -0.1 + endloop + endfacet + facet normal 0.21982 -0.975541 0 + outer loop + vertex 7.2241 -5.88439 -0.1 + vertex 7.809 -5.75259 0 + vertex 7.2241 -5.88439 0 + endloop + endfacet + facet normal 0.21982 -0.975541 0 + outer loop + vertex 7.809 -5.75259 0 + vertex 7.2241 -5.88439 -0.1 + vertex 7.809 -5.75259 -0.1 + endloop + endfacet + facet normal 0.71334 0.700818 0 + outer loop + vertex 7.809 -5.75259 0 + vertex 7.04277 -4.97268 -0.1 + vertex 7.04277 -4.97268 0 + endloop + endfacet + facet normal 0.71334 0.700818 0 + outer loop + vertex 7.04277 -4.97268 -0.1 + vertex 7.809 -5.75259 0 + vertex 7.809 -5.75259 -0.1 + endloop + endfacet + facet normal 0.735784 0.677216 0 + outer loop + vertex 7.04277 -4.97268 0 + vertex 6.78219 -4.68956 -0.1 + vertex 6.78219 -4.68956 0 + endloop + endfacet + facet normal 0.735784 0.677216 0 + outer loop + vertex 6.78219 -4.68956 -0.1 + vertex 7.04277 -4.97268 0 + vertex 7.04277 -4.97268 -0.1 + endloop + endfacet + facet normal 0.771549 0.636169 0 + outer loop + vertex 6.78219 -4.68956 0 + vertex 6.51759 -4.36865 -0.1 + vertex 6.51759 -4.36865 0 + endloop + endfacet + facet normal 0.771549 0.636169 0 + outer loop + vertex 6.51759 -4.36865 -0.1 + vertex 6.78219 -4.68956 0 + vertex 6.78219 -4.68956 -0.1 + endloop + endfacet + facet normal 0.79877 0.601637 0 + outer loop + vertex 6.51759 -4.36865 0 + vertex 6.2523 -4.01644 -0.1 + vertex 6.2523 -4.01644 0 + endloop + endfacet + facet normal 0.79877 0.601637 0 + outer loop + vertex 6.2523 -4.01644 -0.1 + vertex 6.51759 -4.36865 0 + vertex 6.51759 -4.36865 -0.1 + endloop + endfacet + facet normal 0.820534 0.571597 0 + outer loop + vertex 6.2523 -4.01644 0 + vertex 5.98964 -3.63939 -0.1 + vertex 5.98964 -3.63939 0 + endloop + endfacet + facet normal 0.820534 0.571597 0 + outer loop + vertex 5.98964 -3.63939 -0.1 + vertex 6.2523 -4.01644 0 + vertex 6.2523 -4.01644 -0.1 + endloop + endfacet + facet normal 0.846837 0.531853 0 + outer loop + vertex 5.98964 -3.63939 0 + vertex 5.48552 -2.8367 -0.1 + vertex 5.48552 -2.8367 0 + endloop + endfacet + facet normal 0.846837 0.531853 0 + outer loop + vertex 5.48552 -2.8367 -0.1 + vertex 5.98964 -3.63939 0 + vertex 5.98964 -3.63939 -0.1 + endloop + endfacet + facet normal 0.876057 0.482207 0 + outer loop + vertex 5.48552 -2.8367 0 + vertex 5.03179 -2.01239 -0.1 + vertex 5.03179 -2.01239 0 + endloop + endfacet + facet normal 0.876057 0.482207 0 + outer loop + vertex 5.03179 -2.01239 -0.1 + vertex 5.48552 -2.8367 0 + vertex 5.48552 -2.8367 -0.1 + endloop + endfacet + facet normal 0.903486 0.428618 0 + outer loop + vertex 5.03179 -2.01239 0 + vertex 4.65505 -1.21825 -0.1 + vertex 4.65505 -1.21825 0 + endloop + endfacet + facet normal 0.903486 0.428618 0 + outer loop + vertex 4.65505 -1.21825 -0.1 + vertex 5.03179 -2.01239 0 + vertex 5.03179 -2.01239 -0.1 + endloop + endfacet + facet normal 0.925537 0.378657 0 + outer loop + vertex 4.65505 -1.21825 0 + vertex 4.50386 -0.848697 -0.1 + vertex 4.50386 -0.848697 0 + endloop + endfacet + facet normal 0.925537 0.378657 0 + outer loop + vertex 4.50386 -0.848697 -0.1 + vertex 4.65505 -1.21825 0 + vertex 4.65505 -1.21825 -0.1 + endloop + endfacet + facet normal 0.942067 0.335426 0 + outer loop + vertex 4.50386 -0.848697 0 + vertex 4.38188 -0.506111 -0.1 + vertex 4.38188 -0.506111 0 + endloop + endfacet + facet normal 0.942067 0.335426 0 + outer loop + vertex 4.38188 -0.506111 -0.1 + vertex 4.50386 -0.848697 0 + vertex 4.50386 -0.848697 -0.1 + endloop + endfacet + facet normal 0.960602 0.277927 0 + outer loop + vertex 4.38188 -0.506111 0 + vertex 4.29244 -0.196974 -0.1 + vertex 4.29244 -0.196974 0 + endloop + endfacet + facet normal 0.960602 0.277927 0 + outer loop + vertex 4.29244 -0.196974 -0.1 + vertex 4.38188 -0.506111 0 + vertex 4.38188 -0.506111 -0.1 + endloop + endfacet + facet normal 0.980763 0.1952 0 + outer loop + vertex 4.29244 -0.196974 0 + vertex 4.23886 0.0722368 -0.1 + vertex 4.23886 0.0722368 0 + endloop + endfacet + facet normal 0.980763 0.1952 0 + outer loop + vertex 4.23886 0.0722368 -0.1 + vertex 4.29244 -0.196974 0 + vertex 4.29244 -0.196974 -0.1 + endloop + endfacet + facet normal 0.997919 0.0644811 0 + outer loop + vertex 4.23886 0.0722368 0 + vertex 4.22446 0.295049 -0.1 + vertex 4.22446 0.295049 0 + endloop + endfacet + facet normal 0.997919 0.0644811 0 + outer loop + vertex 4.22446 0.295049 -0.1 + vertex 4.23886 0.0722368 0 + vertex 4.23886 0.0722368 -0.1 + endloop + endfacet + facet normal 0.986595 -0.163189 0 + outer loop + vertex 4.22446 0.295049 0 + vertex 4.25257 0.464986 -0.1 + vertex 4.25257 0.464986 0 + endloop + endfacet + facet normal 0.986595 -0.163189 0 + outer loop + vertex 4.25257 0.464986 -0.1 + vertex 4.22446 0.295049 0 + vertex 4.22446 0.295049 -0.1 + endloop + endfacet + facet normal 0.930706 -0.365767 0 + outer loop + vertex 4.25257 0.464986 0 + vertex 4.33872 0.684191 -0.1 + vertex 4.33872 0.684191 0 + endloop + endfacet + facet normal 0.930706 -0.365767 0 + outer loop + vertex 4.33872 0.684191 -0.1 + vertex 4.25257 0.464986 0 + vertex 4.25257 0.464986 -0.1 + endloop + endfacet + facet normal 0.83908 -0.544009 0 + outer loop + vertex 4.33872 0.684191 0 + vertex 4.3737 0.738144 -0.1 + vertex 4.3737 0.738144 0 + endloop + endfacet + facet normal 0.83908 -0.544009 0 + outer loop + vertex 4.3737 0.738144 -0.1 + vertex 4.33872 0.684191 0 + vertex 4.33872 0.684191 -0.1 + endloop + endfacet + facet normal 0.430226 -0.902721 0 + outer loop + vertex 4.3737 0.738144 -0.1 + vertex 4.40839 0.754677 0 + vertex 4.3737 0.738144 0 + endloop + endfacet + facet normal 0.430226 -0.902721 0 + outer loop + vertex 4.40839 0.754677 0 + vertex 4.3737 0.738144 -0.1 + vertex 4.40839 0.754677 -0.1 + endloop + endfacet + facet normal -0.483736 -0.875214 0 + outer loop + vertex 4.40839 0.754677 -0.1 + vertex 4.44662 0.733548 0 + vertex 4.40839 0.754677 0 + endloop + endfacet + facet normal -0.483736 -0.875214 -0 + outer loop + vertex 4.44662 0.733548 0 + vertex 4.40839 0.754677 -0.1 + vertex 4.44662 0.733548 -0.1 + endloop + endfacet + facet normal -0.791399 -0.6113 0 + outer loop + vertex 4.49221 0.674515 -0.1 + vertex 4.44662 0.733548 0 + vertex 4.44662 0.733548 -0.1 + endloop + endfacet + facet normal -0.791399 -0.6113 0 + outer loop + vertex 4.44662 0.733548 0 + vertex 4.49221 0.674515 -0.1 + vertex 4.49221 0.674515 0 + endloop + endfacet + facet normal -0.875249 -0.483672 0 + outer loop + vertex 4.62083 0.441773 -0.1 + vertex 4.49221 0.674515 0 + vertex 4.49221 0.674515 -0.1 + endloop + endfacet + facet normal -0.875249 -0.483672 0 + outer loop + vertex 4.49221 0.674515 0 + vertex 4.62083 0.441773 -0.1 + vertex 4.62083 0.441773 0 + endloop + endfacet + facet normal -0.8234 -0.567461 0 + outer loop + vertex 4.83246 0.134689 -0.1 + vertex 4.62083 0.441773 0 + vertex 4.62083 0.441773 -0.1 + endloop + endfacet + facet normal -0.8234 -0.567461 0 + outer loop + vertex 4.62083 0.441773 0 + vertex 4.83246 0.134689 -0.1 + vertex 4.83246 0.134689 0 + endloop + endfacet + facet normal -0.783851 -0.620949 0 + outer loop + vertex 5.24358 -0.384283 -0.1 + vertex 4.83246 0.134689 0 + vertex 4.83246 0.134689 -0.1 + endloop + endfacet + facet normal -0.783851 -0.620949 0 + outer loop + vertex 4.83246 0.134689 0 + vertex 5.24358 -0.384283 -0.1 + vertex 5.24358 -0.384283 0 + endloop + endfacet + facet normal -0.766673 -0.642037 0 + outer loop + vertex 5.79491 -1.04264 -0.1 + vertex 5.24358 -0.384283 0 + vertex 5.24358 -0.384283 -0.1 + endloop + endfacet + facet normal -0.766673 -0.642037 0 + outer loop + vertex 5.24358 -0.384283 0 + vertex 5.79491 -1.04264 -0.1 + vertex 5.79491 -1.04264 0 + endloop + endfacet + facet normal -0.753766 -0.657143 0 + outer loop + vertex 6.42718 -1.76788 -0.1 + vertex 5.79491 -1.04264 0 + vertex 5.79491 -1.04264 -0.1 + endloop + endfacet + facet normal -0.753766 -0.657143 0 + outer loop + vertex 5.79491 -1.04264 0 + vertex 6.42718 -1.76788 -0.1 + vertex 6.42718 -1.76788 0 + endloop + endfacet + facet normal -0.728754 -0.684775 0 + outer loop + vertex 7.10115 -2.48513 -0.1 + vertex 6.42718 -1.76788 0 + vertex 6.42718 -1.76788 -0.1 + endloop + endfacet + facet normal -0.728754 -0.684775 0 + outer loop + vertex 6.42718 -1.76788 0 + vertex 7.10115 -2.48513 -0.1 + vertex 7.10115 -2.48513 0 + endloop + endfacet + facet normal -0.682466 -0.730918 0 + outer loop + vertex 7.10115 -2.48513 -0.1 + vertex 7.75455 -3.09522 0 + vertex 7.10115 -2.48513 0 + endloop + endfacet + facet normal -0.682466 -0.730918 -0 + outer loop + vertex 7.75455 -3.09522 0 + vertex 7.10115 -2.48513 -0.1 + vertex 7.75455 -3.09522 -0.1 + endloop + endfacet + facet normal -0.638085 -0.769966 0 + outer loop + vertex 7.75455 -3.09522 -0.1 + vertex 8.0755 -3.36119 0 + vertex 7.75455 -3.09522 0 + endloop + endfacet + facet normal -0.638085 -0.769966 -0 + outer loop + vertex 8.0755 -3.36119 0 + vertex 7.75455 -3.09522 -0.1 + vertex 8.0755 -3.36119 -0.1 + endloop + endfacet + facet normal -0.60305 -0.797703 0 + outer loop + vertex 8.0755 -3.36119 -0.1 + vertex 8.39365 -3.60171 0 + vertex 8.0755 -3.36119 0 + endloop + endfacet + facet normal -0.60305 -0.797703 -0 + outer loop + vertex 8.39365 -3.60171 0 + vertex 8.0755 -3.36119 -0.1 + vertex 8.39365 -3.60171 -0.1 + endloop + endfacet + facet normal -0.563259 -0.826281 0 + outer loop + vertex 8.39365 -3.60171 -0.1 + vertex 8.70978 -3.81721 0 + vertex 8.39365 -3.60171 0 + endloop + endfacet + facet normal -0.563259 -0.826281 -0 + outer loop + vertex 8.70978 -3.81721 0 + vertex 8.39365 -3.60171 -0.1 + vertex 8.70978 -3.81721 -0.1 + endloop + endfacet + facet normal -0.518472 -0.855094 0 + outer loop + vertex 8.70978 -3.81721 -0.1 + vertex 9.02468 -4.00814 0 + vertex 8.70978 -3.81721 0 + endloop + endfacet + facet normal -0.518472 -0.855094 -0 + outer loop + vertex 9.02468 -4.00814 0 + vertex 8.70978 -3.81721 -0.1 + vertex 9.02468 -4.00814 -0.1 + endloop + endfacet + facet normal -0.468624 -0.883398 0 + outer loop + vertex 9.02468 -4.00814 -0.1 + vertex 9.33912 -4.17495 0 + vertex 9.02468 -4.00814 0 + endloop + endfacet + facet normal -0.468624 -0.883398 -0 + outer loop + vertex 9.33912 -4.17495 0 + vertex 9.02468 -4.00814 -0.1 + vertex 9.33912 -4.17495 -0.1 + endloop + endfacet + facet normal -0.413918 -0.910314 0 + outer loop + vertex 9.33912 -4.17495 -0.1 + vertex 9.65389 -4.31807 0 + vertex 9.33912 -4.17495 0 + endloop + endfacet + facet normal -0.413918 -0.910314 -0 + outer loop + vertex 9.65389 -4.31807 0 + vertex 9.33912 -4.17495 -0.1 + vertex 9.65389 -4.31807 -0.1 + endloop + endfacet + facet normal -0.354841 -0.934927 0 + outer loop + vertex 9.65389 -4.31807 -0.1 + vertex 9.96977 -4.43796 0 + vertex 9.65389 -4.31807 0 + endloop + endfacet + facet normal -0.354841 -0.934927 -0 + outer loop + vertex 9.96977 -4.43796 0 + vertex 9.65389 -4.31807 -0.1 + vertex 9.96977 -4.43796 -0.1 + endloop + endfacet + facet normal -0.292213 -0.956353 0 + outer loop + vertex 9.96977 -4.43796 -0.1 + vertex 10.2875 -4.53506 0 + vertex 9.96977 -4.43796 0 + endloop + endfacet + facet normal -0.292213 -0.956353 -0 + outer loop + vertex 10.2875 -4.53506 0 + vertex 9.96977 -4.43796 -0.1 + vertex 10.2875 -4.53506 -0.1 + endloop + endfacet + facet normal -0.227161 -0.973857 0 + outer loop + vertex 10.2875 -4.53506 -0.1 + vertex 10.608 -4.6098 0 + vertex 10.2875 -4.53506 0 + endloop + endfacet + facet normal -0.227161 -0.973857 -0 + outer loop + vertex 10.608 -4.6098 0 + vertex 10.2875 -4.53506 -0.1 + vertex 10.608 -4.6098 -0.1 + endloop + endfacet + facet normal -0.161011 -0.986953 0 + outer loop + vertex 10.608 -4.6098 -0.1 + vertex 10.9319 -4.66264 0 + vertex 10.608 -4.6098 0 + endloop + endfacet + facet normal -0.161011 -0.986953 -0 + outer loop + vertex 10.9319 -4.66264 0 + vertex 10.608 -4.6098 -0.1 + vertex 10.9319 -4.66264 -0.1 + endloop + endfacet + facet normal -0.0951962 -0.995459 0 + outer loop + vertex 10.9319 -4.66264 -0.1 + vertex 11.26 -4.69402 0 + vertex 10.9319 -4.66264 0 + endloop + endfacet + facet normal -0.0951962 -0.995459 -0 + outer loop + vertex 11.26 -4.69402 0 + vertex 10.9319 -4.66264 -0.1 + vertex 11.26 -4.69402 -0.1 + endloop + endfacet + facet normal -0.0310839 -0.999517 0 + outer loop + vertex 11.26 -4.69402 -0.1 + vertex 11.5931 -4.70438 0 + vertex 11.26 -4.69402 0 + endloop + endfacet + facet normal -0.0310839 -0.999517 -0 + outer loop + vertex 11.5931 -4.70438 0 + vertex 11.26 -4.69402 -0.1 + vertex 11.5931 -4.70438 -0.1 + endloop + endfacet + facet normal 0.0736121 -0.997287 0 + outer loop + vertex 11.5931 -4.70438 -0.1 + vertex 12.006 -4.67391 0 + vertex 11.5931 -4.70438 0 + endloop + endfacet + facet normal 0.0736121 -0.997287 0 + outer loop + vertex 12.006 -4.67391 0 + vertex 11.5931 -4.70438 -0.1 + vertex 12.006 -4.67391 -0.1 + endloop + endfacet + facet normal 0.209942 -0.977714 0 + outer loop + vertex 12.006 -4.67391 -0.1 + vertex 12.4149 -4.5861 0 + vertex 12.006 -4.67391 0 + endloop + endfacet + facet normal 0.209942 -0.977714 0 + outer loop + vertex 12.4149 -4.5861 0 + vertex 12.006 -4.67391 -0.1 + vertex 12.4149 -4.5861 -0.1 + endloop + endfacet + facet normal 0.332988 -0.942931 0 + outer loop + vertex 12.4149 -4.5861 -0.1 + vertex 12.8106 -4.44636 0 + vertex 12.4149 -4.5861 0 + endloop + endfacet + facet normal 0.332988 -0.942931 0 + outer loop + vertex 12.8106 -4.44636 0 + vertex 12.4149 -4.5861 -0.1 + vertex 12.8106 -4.44636 -0.1 + endloop + endfacet + facet normal 0.44663 -0.894719 0 + outer loop + vertex 12.8106 -4.44636 -0.1 + vertex 13.1837 -4.26011 0 + vertex 12.8106 -4.44636 0 + endloop + endfacet + facet normal 0.44663 -0.894719 0 + outer loop + vertex 13.1837 -4.26011 0 + vertex 12.8106 -4.44636 -0.1 + vertex 13.1837 -4.26011 -0.1 + endloop + endfacet + facet normal 0.554537 -0.832159 0 + outer loop + vertex 13.1837 -4.26011 -0.1 + vertex 13.5249 -4.03275 0 + vertex 13.1837 -4.26011 0 + endloop + endfacet + facet normal 0.554537 -0.832159 0 + outer loop + vertex 13.5249 -4.03275 0 + vertex 13.1837 -4.26011 -0.1 + vertex 13.5249 -4.03275 -0.1 + endloop + endfacet + facet normal 0.65941 -0.751784 0 + outer loop + vertex 13.5249 -4.03275 -0.1 + vertex 13.8248 -3.7697 0 + vertex 13.5249 -4.03275 0 + endloop + endfacet + facet normal 0.65941 -0.751784 0 + outer loop + vertex 13.8248 -3.7697 0 + vertex 13.5249 -4.03275 -0.1 + vertex 13.8248 -3.7697 -0.1 + endloop + endfacet + facet normal 0.762012 -0.647563 0 + outer loop + vertex 13.8248 -3.7697 0 + vertex 14.0741 -3.47638 -0.1 + vertex 14.0741 -3.47638 0 + endloop + endfacet + facet normal 0.762012 -0.647563 0 + outer loop + vertex 14.0741 -3.47638 -0.1 + vertex 13.8248 -3.7697 0 + vertex 13.8248 -3.7697 -0.1 + endloop + endfacet + facet normal 0.835702 -0.549183 0 + outer loop + vertex 14.0741 -3.47638 0 + vertex 14.1768 -3.32005 -0.1 + vertex 14.1768 -3.32005 0 + endloop + endfacet + facet normal 0.835702 -0.549183 0 + outer loop + vertex 14.1768 -3.32005 -0.1 + vertex 14.0741 -3.47638 0 + vertex 14.0741 -3.47638 -0.1 + endloop + endfacet + facet normal 0.88181 -0.471605 0 + outer loop + vertex 14.1768 -3.32005 0 + vertex 14.2634 -3.15818 -0.1 + vertex 14.2634 -3.15818 0 + endloop + endfacet + facet normal 0.88181 -0.471605 0 + outer loop + vertex 14.2634 -3.15818 -0.1 + vertex 14.1768 -3.32005 0 + vertex 14.1768 -3.32005 -0.1 + endloop + endfacet + facet normal 0.950814 -0.309764 0 + outer loop + vertex 14.2634 -3.15818 0 + vertex 14.3256 -2.96711 -0.1 + vertex 14.3256 -2.96711 0 + endloop + endfacet + facet normal 0.950814 -0.309764 0 + outer loop + vertex 14.3256 -2.96711 -0.1 + vertex 14.2634 -3.15818 0 + vertex 14.2634 -3.15818 -0.1 + endloop + endfacet + facet normal 0.996178 -0.0873495 0 + outer loop + vertex 14.3256 -2.96711 0 + vertex 14.3448 -2.7489 -0.1 + vertex 14.3448 -2.7489 0 + endloop + endfacet + facet normal 0.996178 -0.0873495 0 + outer loop + vertex 14.3448 -2.7489 -0.1 + vertex 14.3256 -2.96711 0 + vertex 14.3256 -2.96711 -0.1 + endloop + endfacet + facet normal 0.995552 0.0942095 0 + outer loop + vertex 14.3448 -2.7489 0 + vertex 14.3217 -2.5049 -0.1 + vertex 14.3217 -2.5049 0 + endloop + endfacet + facet normal 0.995552 0.0942095 0 + outer loop + vertex 14.3217 -2.5049 -0.1 + vertex 14.3448 -2.7489 0 + vertex 14.3448 -2.7489 -0.1 + endloop + endfacet + facet normal 0.972391 0.233358 0 + outer loop + vertex 14.3217 -2.5049 0 + vertex 14.2572 -2.23644 -0.1 + vertex 14.2572 -2.23644 0 + endloop + endfacet + facet normal 0.972391 0.233358 0 + outer loop + vertex 14.2572 -2.23644 -0.1 + vertex 14.3217 -2.5049 0 + vertex 14.3217 -2.5049 -0.1 + endloop + endfacet + facet normal 0.940985 0.338449 0 + outer loop + vertex 14.2572 -2.23644 0 + vertex 14.1524 -1.94488 -0.1 + vertex 14.1524 -1.94488 0 + endloop + endfacet + facet normal 0.940985 0.338449 0 + outer loop + vertex 14.1524 -1.94488 -0.1 + vertex 14.2572 -2.23644 0 + vertex 14.2572 -2.23644 -0.1 + endloop + endfacet + facet normal 0.908169 0.418604 0 + outer loop + vertex 14.1524 -1.94488 0 + vertex 14.008 -1.63155 -0.1 + vertex 14.008 -1.63155 0 + endloop + endfacet + facet normal 0.908169 0.418604 0 + outer loop + vertex 14.008 -1.63155 -0.1 + vertex 14.1524 -1.94488 0 + vertex 14.1524 -1.94488 -0.1 + endloop + endfacet + facet normal 0.876739 0.480967 0 + outer loop + vertex 14.008 -1.63155 0 + vertex 13.8249 -1.29782 -0.1 + vertex 13.8249 -1.29782 0 + endloop + endfacet + facet normal 0.876739 0.480967 0 + outer loop + vertex 13.8249 -1.29782 -0.1 + vertex 14.008 -1.63155 0 + vertex 14.008 -1.63155 -0.1 + endloop + endfacet + facet normal 0.847618 0.530607 0 + outer loop + vertex 13.8249 -1.29782 0 + vertex 13.604 -0.945011 -0.1 + vertex 13.604 -0.945011 0 + endloop + endfacet + facet normal 0.847618 0.530607 0 + outer loop + vertex 13.604 -0.945011 -0.1 + vertex 13.8249 -1.29782 0 + vertex 13.8249 -1.29782 -0.1 + endloop + endfacet + facet normal 0.820927 0.571033 0 + outer loop + vertex 13.604 -0.945011 0 + vertex 13.3463 -0.574481 -0.1 + vertex 13.3463 -0.574481 0 + endloop + endfacet + facet normal 0.820927 0.571033 0 + outer loop + vertex 13.3463 -0.574481 -0.1 + vertex 13.604 -0.945011 0 + vertex 13.604 -0.945011 -0.1 + endloop + endfacet + facet normal 0.796478 0.604667 0 + outer loop + vertex 13.3463 -0.574481 0 + vertex 13.0525 -0.187573 -0.1 + vertex 13.0525 -0.187573 0 + endloop + endfacet + facet normal 0.796478 0.604667 0 + outer loop + vertex 13.0525 -0.187573 -0.1 + vertex 13.3463 -0.574481 0 + vertex 13.3463 -0.574481 -0.1 + endloop + endfacet + facet normal 0.773983 0.633206 0 + outer loop + vertex 13.0525 -0.187573 0 + vertex 12.7237 0.214368 -0.1 + vertex 12.7237 0.214368 0 + endloop + endfacet + facet normal 0.773983 0.633206 0 + outer loop + vertex 12.7237 0.214368 -0.1 + vertex 13.0525 -0.187573 0 + vertex 13.0525 -0.187573 -0.1 + endloop + endfacet + facet normal 0.753142 0.657858 0 + outer loop + vertex 12.7237 0.214368 0 + vertex 12.3607 0.629996 -0.1 + vertex 12.3607 0.629996 0 + endloop + endfacet + facet normal 0.753142 0.657858 0 + outer loop + vertex 12.3607 0.629996 -0.1 + vertex 12.7237 0.214368 0 + vertex 12.7237 0.214368 -0.1 + endloop + endfacet + facet normal 0.724343 0.68944 0 + outer loop + vertex 12.3607 0.629996 0 + vertex 11.5355 1.49693 -0.1 + vertex 11.5355 1.49693 0 + endloop + endfacet + facet normal 0.724343 0.68944 0 + outer loop + vertex 11.5355 1.49693 -0.1 + vertex 12.3607 0.629996 0 + vertex 12.3607 0.629996 -0.1 + endloop + endfacet + facet normal 0.689461 0.724323 -0 + outer loop + vertex 11.5355 1.49693 -0.1 + vertex 10.5842 2.40247 0 + vertex 11.5355 1.49693 0 + endloop + endfacet + facet normal 0.689461 0.724323 0 + outer loop + vertex 10.5842 2.40247 0 + vertex 11.5355 1.49693 -0.1 + vertex 10.5842 2.40247 -0.1 + endloop + endfacet + facet normal 0.659589 0.751627 -0 + outer loop + vertex 10.5842 2.40247 -0.1 + vertex 9.61741 3.25086 0 + vertex 10.5842 2.40247 0 + endloop + endfacet + facet normal 0.659589 0.751627 0 + outer loop + vertex 9.61741 3.25086 0 + vertex 10.5842 2.40247 -0.1 + vertex 9.61741 3.25086 -0.1 + endloop + endfacet + facet normal 0.626395 0.779506 -0 + outer loop + vertex 9.61741 3.25086 -0.1 + vertex 9.29624 3.50894 0 + vertex 9.61741 3.25086 0 + endloop + endfacet + facet normal 0.626395 0.779506 0 + outer loop + vertex 9.29624 3.50894 0 + vertex 9.61741 3.25086 -0.1 + vertex 9.29624 3.50894 -0.1 + endloop + endfacet + facet normal 0.533935 0.845526 -0 + outer loop + vertex 9.29624 3.50894 -0.1 + vertex 9.14614 3.60373 0 + vertex 9.29624 3.50894 0 + endloop + endfacet + facet normal 0.533935 0.845526 0 + outer loop + vertex 9.14614 3.60373 0 + vertex 9.29624 3.50894 -0.1 + vertex 9.14614 3.60373 -0.1 + endloop + endfacet + facet normal 0.419972 0.907537 -0 + outer loop + vertex 9.14614 3.60373 -0.1 + vertex 9.03464 3.65533 0 + vertex 9.14614 3.60373 0 + endloop + endfacet + facet normal 0.419972 0.907537 0 + outer loop + vertex 9.03464 3.65533 0 + vertex 9.14614 3.60373 -0.1 + vertex 9.03464 3.65533 -0.1 + endloop + endfacet + facet normal 0.545127 0.838353 -0 + outer loop + vertex 9.03464 3.65533 -0.1 + vertex 8.81858 3.79581 0 + vertex 9.03464 3.65533 0 + endloop + endfacet + facet normal 0.545127 0.838353 0 + outer loop + vertex 8.81858 3.79581 0 + vertex 9.03464 3.65533 -0.1 + vertex 8.81858 3.79581 -0.1 + endloop + endfacet + facet normal 0.596587 0.802549 -0 + outer loop + vertex 8.81858 3.79581 -0.1 + vertex 8.19732 4.25764 0 + vertex 8.81858 3.79581 0 + endloop + endfacet + facet normal 0.596587 0.802549 0 + outer loop + vertex 8.19732 4.25764 0 + vertex 8.81858 3.79581 -0.1 + vertex 8.19732 4.25764 -0.1 + endloop + endfacet + facet normal 0.576403 0.817166 -0 + outer loop + vertex 8.19732 4.25764 -0.1 + vertex 8.00725 4.39171 0 + vertex 8.19732 4.25764 0 + endloop + endfacet + facet normal 0.576403 0.817166 0 + outer loop + vertex 8.00725 4.39171 0 + vertex 8.19732 4.25764 -0.1 + vertex 8.00725 4.39171 -0.1 + endloop + endfacet + facet normal 0.52168 0.853141 -0 + outer loop + vertex 8.00725 4.39171 -0.1 + vertex 7.75154 4.54807 0 + vertex 8.00725 4.39171 0 + endloop + endfacet + facet normal 0.52168 0.853141 0 + outer loop + vertex 7.75154 4.54807 0 + vertex 8.00725 4.39171 -0.1 + vertex 7.75154 4.54807 -0.1 + endloop + endfacet + facet normal 0.475339 0.879803 -0 + outer loop + vertex 7.75154 4.54807 -0.1 + vertex 7.07462 4.9138 0 + vertex 7.75154 4.54807 0 + endloop + endfacet + facet normal 0.475339 0.879803 0 + outer loop + vertex 7.07462 4.9138 0 + vertex 7.75154 4.54807 -0.1 + vertex 7.07462 4.9138 -0.1 + endloop + endfacet + facet normal 0.439259 0.89836 -0 + outer loop + vertex 7.07462 4.9138 -0.1 + vertex 6.22936 5.32709 0 + vertex 7.07462 4.9138 0 + endloop + endfacet + facet normal 0.439259 0.89836 0 + outer loop + vertex 6.22936 5.32709 0 + vertex 7.07462 4.9138 -0.1 + vertex 6.22936 5.32709 -0.1 + endloop + endfacet + facet normal 0.414563 0.910021 -0 + outer loop + vertex 6.22936 5.32709 -0.1 + vertex 5.27855 5.76024 0 + vertex 6.22936 5.32709 0 + endloop + endfacet + facet normal 0.414563 0.910021 0 + outer loop + vertex 5.27855 5.76024 0 + vertex 6.22936 5.32709 -0.1 + vertex 5.27855 5.76024 -0.1 + endloop + endfacet + facet normal 0.393495 0.919327 -0 + outer loop + vertex 5.27855 5.76024 -0.1 + vertex 4.285 6.1855 0 + vertex 5.27855 5.76024 0 + endloop + endfacet + facet normal 0.393495 0.919327 0 + outer loop + vertex 4.285 6.1855 0 + vertex 5.27855 5.76024 -0.1 + vertex 4.285 6.1855 -0.1 + endloop + endfacet + facet normal 0.371607 0.92839 -0 + outer loop + vertex 4.285 6.1855 -0.1 + vertex 3.31149 6.57517 0 + vertex 4.285 6.1855 0 + endloop + endfacet + facet normal 0.371607 0.92839 0 + outer loop + vertex 3.31149 6.57517 0 + vertex 4.285 6.1855 -0.1 + vertex 3.31149 6.57517 -0.1 + endloop + endfacet + facet normal 0.344035 0.938957 -0 + outer loop + vertex 3.31149 6.57517 -0.1 + vertex 2.42084 6.9015 0 + vertex 3.31149 6.57517 0 + endloop + endfacet + facet normal 0.344035 0.938957 0 + outer loop + vertex 2.42084 6.9015 0 + vertex 3.31149 6.57517 -0.1 + vertex 2.42084 6.9015 -0.1 + endloop + endfacet + facet normal 0.301156 0.953575 -0 + outer loop + vertex 2.42084 6.9015 -0.1 + vertex 1.67583 7.13679 0 + vertex 2.42084 6.9015 0 + endloop + endfacet + facet normal 0.301156 0.953575 0 + outer loop + vertex 1.67583 7.13679 0 + vertex 2.42084 6.9015 -0.1 + vertex 1.67583 7.13679 -0.1 + endloop + endfacet + facet normal 0.313822 0.949482 -0 + outer loop + vertex 1.67583 7.13679 -0.1 + vertex 1.30727 7.25861 0 + vertex 1.67583 7.13679 0 + endloop + endfacet + facet normal 0.313822 0.949482 0 + outer loop + vertex 1.30727 7.25861 0 + vertex 1.67583 7.13679 -0.1 + vertex 1.30727 7.25861 -0.1 + endloop + endfacet + facet normal 0.372489 0.928036 -0 + outer loop + vertex 1.30727 7.25861 -0.1 + vertex 0.855811 7.43981 0 + vertex 1.30727 7.25861 0 + endloop + endfacet + facet normal 0.372489 0.928036 0 + outer loop + vertex 0.855811 7.43981 0 + vertex 1.30727 7.25861 -0.1 + vertex 0.855811 7.43981 -0.1 + endloop + endfacet + facet normal 0.420776 0.907164 -0 + outer loop + vertex 0.855811 7.43981 -0.1 + vertex -0.23691 7.94665 0 + vertex 0.855811 7.43981 0 + endloop + endfacet + facet normal 0.420776 0.907164 0 + outer loop + vertex -0.23691 7.94665 0 + vertex 0.855811 7.43981 -0.1 + vertex -0.23691 7.94665 -0.1 + endloop + endfacet + facet normal 0.458228 0.888835 -0 + outer loop + vertex -0.23691 7.94665 -0.1 + vertex -1.48458 8.58988 0 + vertex -0.23691 7.94665 0 + endloop + endfacet + facet normal 0.458228 0.888835 0 + outer loop + vertex -1.48458 8.58988 0 + vertex -0.23691 7.94665 -0.1 + vertex -1.48458 8.58988 -0.1 + endloop + endfacet + facet normal 0.484776 0.874638 -0 + outer loop + vertex -1.48458 8.58988 -0.1 + vertex -2.76946 9.30203 0 + vertex -1.48458 8.58988 0 + endloop + endfacet + facet normal 0.484776 0.874638 0 + outer loop + vertex -2.76946 9.30203 0 + vertex -1.48458 8.58988 -0.1 + vertex -2.76946 9.30203 -0.1 + endloop + endfacet + facet normal 0.509783 0.860303 -0 + outer loop + vertex -2.76946 9.30203 -0.1 + vertex -3.97378 10.0157 0 + vertex -2.76946 9.30203 0 + endloop + endfacet + facet normal 0.509783 0.860303 0 + outer loop + vertex -3.97378 10.0157 0 + vertex -2.76946 9.30203 -0.1 + vertex -3.97378 10.0157 -0.1 + endloop + endfacet + facet normal 0.541316 0.840819 -0 + outer loop + vertex -3.97378 10.0157 -0.1 + vertex -4.9798 10.6633 0 + vertex -3.97378 10.0157 0 + endloop + endfacet + facet normal 0.541316 0.840819 0 + outer loop + vertex -4.9798 10.6633 0 + vertex -3.97378 10.0157 -0.1 + vertex -4.9798 10.6633 -0.1 + endloop + endfacet + facet normal 0.578658 0.81557 -0 + outer loop + vertex -4.9798 10.6633 -0.1 + vertex -5.37165 10.9414 0 + vertex -4.9798 10.6633 0 + endloop + endfacet + facet normal 0.578658 0.81557 0 + outer loop + vertex -5.37165 10.9414 0 + vertex -4.9798 10.6633 -0.1 + vertex -5.37165 10.9414 -0.1 + endloop + endfacet + facet normal 0.621078 0.783749 -0 + outer loop + vertex -5.37165 10.9414 -0.1 + vertex -5.66976 11.1776 0 + vertex -5.37165 10.9414 0 + endloop + endfacet + facet normal 0.621078 0.783749 0 + outer loop + vertex -5.66976 11.1776 0 + vertex -5.37165 10.9414 -0.1 + vertex -5.66976 11.1776 -0.1 + endloop + endfacet + facet normal 0.700224 0.713923 -0 + outer loop + vertex -5.66976 11.1776 -0.1 + vertex -5.85942 11.3636 0 + vertex -5.66976 11.1776 0 + endloop + endfacet + facet normal 0.700224 0.713923 0 + outer loop + vertex -5.85942 11.3636 0 + vertex -5.66976 11.1776 -0.1 + vertex -5.85942 11.3636 -0.1 + endloop + endfacet + facet normal 0.822029 0.569446 0 + outer loop + vertex -5.85942 11.3636 0 + vertex -5.90899 11.4352 -0.1 + vertex -5.90899 11.4352 0 + endloop + endfacet + facet normal 0.822029 0.569446 0 + outer loop + vertex -5.90899 11.4352 -0.1 + vertex -5.85942 11.3636 0 + vertex -5.85942 11.3636 -0.1 + endloop + endfacet + facet normal 0.95697 0.290185 0 + outer loop + vertex -5.90899 11.4352 0 + vertex -5.92592 11.491 -0.1 + vertex -5.92592 11.491 0 + endloop + endfacet + facet normal 0.95697 0.290185 0 + outer loop + vertex -5.92592 11.491 -0.1 + vertex -5.90899 11.4352 0 + vertex -5.90899 11.4352 -0.1 + endloop + endfacet + facet normal 0.964129 -0.265435 0 + outer loop + vertex -5.92592 11.491 0 + vertex -5.91161 11.5429 -0.1 + vertex -5.91161 11.5429 0 + endloop + endfacet + facet normal 0.964129 -0.265435 0 + outer loop + vertex -5.91161 11.5429 -0.1 + vertex -5.92592 11.491 0 + vertex -5.92592 11.491 -0.1 + endloop + endfacet + facet normal 0.717664 -0.69639 0 + outer loop + vertex -5.91161 11.5429 0 + vertex -5.8692 11.5867 -0.1 + vertex -5.8692 11.5867 0 + endloop + endfacet + facet normal 0.717664 -0.69639 0 + outer loop + vertex -5.8692 11.5867 -0.1 + vertex -5.91161 11.5429 0 + vertex -5.91161 11.5429 -0.1 + endloop + endfacet + facet normal 0.453397 -0.891309 0 + outer loop + vertex -5.8692 11.5867 -0.1 + vertex -5.79943 11.6221 0 + vertex -5.8692 11.5867 0 + endloop + endfacet + facet normal 0.453397 -0.891309 0 + outer loop + vertex -5.79943 11.6221 0 + vertex -5.8692 11.5867 -0.1 + vertex -5.79943 11.6221 -0.1 + endloop + endfacet + facet normal 0.272626 -0.96212 0 + outer loop + vertex -5.79943 11.6221 -0.1 + vertex -5.70304 11.6495 0 + vertex -5.79943 11.6221 0 + endloop + endfacet + facet normal 0.272626 -0.96212 0 + outer loop + vertex -5.70304 11.6495 0 + vertex -5.79943 11.6221 -0.1 + vertex -5.70304 11.6495 -0.1 + endloop + endfacet + facet normal 0.111359 -0.99378 0 + outer loop + vertex -5.70304 11.6495 -0.1 + vertex -5.4334 11.6797 0 + vertex -5.70304 11.6495 0 + endloop + endfacet + facet normal 0.111359 -0.99378 0 + outer loop + vertex -5.4334 11.6797 0 + vertex -5.70304 11.6495 -0.1 + vertex -5.4334 11.6797 -0.1 + endloop + endfacet + facet normal -0.00575054 -0.999983 0 + outer loop + vertex -5.4334 11.6797 -0.1 + vertex -5.06624 11.6776 0 + vertex -5.4334 11.6797 0 + endloop + endfacet + facet normal -0.00575054 -0.999983 -0 + outer loop + vertex -5.06624 11.6776 0 + vertex -5.4334 11.6797 -0.1 + vertex -5.06624 11.6776 -0.1 + endloop + endfacet + facet normal -0.0742941 -0.997236 0 + outer loop + vertex -5.06624 11.6776 -0.1 + vertex -4.60751 11.6434 0 + vertex -5.06624 11.6776 0 + endloop + endfacet + facet normal -0.0742941 -0.997236 -0 + outer loop + vertex -4.60751 11.6434 0 + vertex -5.06624 11.6776 -0.1 + vertex -4.60751 11.6434 -0.1 + endloop + endfacet + facet normal -0.120331 -0.992734 0 + outer loop + vertex -4.60751 11.6434 -0.1 + vertex -4.06319 11.5774 0 + vertex -4.60751 11.6434 0 + endloop + endfacet + facet normal -0.120331 -0.992734 -0 + outer loop + vertex -4.06319 11.5774 0 + vertex -4.60751 11.6434 -0.1 + vertex -4.06319 11.5774 -0.1 + endloop + endfacet + facet normal -0.154416 -0.988006 0 + outer loop + vertex -4.06319 11.5774 -0.1 + vertex -3.43924 11.4799 0 + vertex -4.06319 11.5774 0 + endloop + endfacet + facet normal -0.154416 -0.988006 -0 + outer loop + vertex -3.43924 11.4799 0 + vertex -4.06319 11.5774 -0.1 + vertex -3.43924 11.4799 -0.1 + endloop + endfacet + facet normal -0.181553 -0.983381 0 + outer loop + vertex -3.43924 11.4799 -0.1 + vertex -2.74162 11.3511 0 + vertex -3.43924 11.4799 0 + endloop + endfacet + facet normal -0.181553 -0.983381 -0 + outer loop + vertex -2.74162 11.3511 0 + vertex -3.43924 11.4799 -0.1 + vertex -2.74162 11.3511 -0.1 + endloop + endfacet + facet normal -0.168602 -0.985684 0 + outer loop + vertex -2.74162 11.3511 -0.1 + vertex -2.06279 11.235 0 + vertex -2.74162 11.3511 0 + endloop + endfacet + facet normal -0.168602 -0.985684 -0 + outer loop + vertex -2.06279 11.235 0 + vertex -2.74162 11.3511 -0.1 + vertex -2.06279 11.235 -0.1 + endloop + endfacet + facet normal -0.106074 -0.994358 0 + outer loop + vertex -2.06279 11.235 -0.1 + vertex -1.45038 11.1697 0 + vertex -2.06279 11.235 0 + endloop + endfacet + facet normal -0.106074 -0.994358 -0 + outer loop + vertex -1.45038 11.1697 0 + vertex -2.06279 11.235 -0.1 + vertex -1.45038 11.1697 -0.1 + endloop + endfacet + facet normal -0.0235022 -0.999724 0 + outer loop + vertex -1.45038 11.1697 -0.1 + vertex -0.893798 11.1566 0 + vertex -1.45038 11.1697 0 + endloop + endfacet + facet normal -0.0235022 -0.999724 -0 + outer loop + vertex -0.893798 11.1566 0 + vertex -1.45038 11.1697 -0.1 + vertex -0.893798 11.1566 -0.1 + endloop + endfacet + facet normal 0.0792039 -0.996858 0 + outer loop + vertex -0.893798 11.1566 -0.1 + vertex -0.382462 11.1972 0 + vertex -0.893798 11.1566 0 + endloop + endfacet + facet normal 0.0792039 -0.996858 0 + outer loop + vertex -0.382462 11.1972 0 + vertex -0.893798 11.1566 -0.1 + vertex -0.382462 11.1972 -0.1 + endloop + endfacet + facet normal 0.197027 -0.980398 0 + outer loop + vertex -0.382462 11.1972 -0.1 + vertex 0.0942225 11.293 0 + vertex -0.382462 11.1972 0 + endloop + endfacet + facet normal 0.197027 -0.980398 0 + outer loop + vertex 0.0942225 11.293 0 + vertex -0.382462 11.1972 -0.1 + vertex 0.0942225 11.293 -0.1 + endloop + endfacet + facet normal 0.319159 -0.947701 0 + outer loop + vertex 0.0942225 11.293 -0.1 + vertex 0.546849 11.4454 0 + vertex 0.0942225 11.293 0 + endloop + endfacet + facet normal 0.319159 -0.947701 0 + outer loop + vertex 0.546849 11.4454 0 + vertex 0.0942225 11.293 -0.1 + vertex 0.546849 11.4454 -0.1 + endloop + endfacet + facet normal 0.432288 -0.901736 0 + outer loop + vertex 0.546849 11.4454 -0.1 + vertex 0.986004 11.656 0 + vertex 0.546849 11.4454 0 + endloop + endfacet + facet normal 0.432288 -0.901736 0 + outer loop + vertex 0.986004 11.656 0 + vertex 0.546849 11.4454 -0.1 + vertex 0.986004 11.656 -0.1 + endloop + endfacet + facet normal 0.52637 -0.850255 0 + outer loop + vertex 0.986004 11.656 -0.1 + vertex 1.42228 11.926 0 + vertex 0.986004 11.656 0 + endloop + endfacet + facet normal 0.52637 -0.850255 0 + outer loop + vertex 1.42228 11.926 0 + vertex 0.986004 11.656 -0.1 + vertex 1.42228 11.926 -0.1 + endloop + endfacet + facet normal 0.604613 -0.796519 0 + outer loop + vertex 1.42228 11.926 -0.1 + vertex 1.72214 12.1537 0 + vertex 1.42228 11.926 0 + endloop + endfacet + facet normal 0.604613 -0.796519 0 + outer loop + vertex 1.72214 12.1537 0 + vertex 1.42228 11.926 -0.1 + vertex 1.72214 12.1537 -0.1 + endloop + endfacet + facet normal 0.710535 -0.703661 0 + outer loop + vertex 1.72214 12.1537 0 + vertex 1.81906 12.2515 -0.1 + vertex 1.81906 12.2515 0 + endloop + endfacet + facet normal 0.710535 -0.703661 0 + outer loop + vertex 1.81906 12.2515 -0.1 + vertex 1.72214 12.1537 0 + vertex 1.72214 12.1537 -0.1 + endloop + endfacet + facet normal 0.820717 -0.571334 0 + outer loop + vertex 1.81906 12.2515 0 + vertex 1.88346 12.344 -0.1 + vertex 1.88346 12.344 0 + endloop + endfacet + facet normal 0.820717 -0.571334 0 + outer loop + vertex 1.88346 12.344 -0.1 + vertex 1.81906 12.2515 0 + vertex 1.81906 12.2515 -0.1 + endloop + endfacet + facet normal 0.936854 -0.349721 0 + outer loop + vertex 1.88346 12.344 0 + vertex 1.91748 12.4352 -0.1 + vertex 1.91748 12.4352 0 + endloop + endfacet + facet normal 0.936854 -0.349721 0 + outer loop + vertex 1.91748 12.4352 -0.1 + vertex 1.88346 12.344 0 + vertex 1.88346 12.344 -0.1 + endloop + endfacet + facet normal 0.998121 -0.0612747 0 + outer loop + vertex 1.91748 12.4352 0 + vertex 1.92323 12.5289 -0.1 + vertex 1.92323 12.5289 0 + endloop + endfacet + facet normal 0.998121 -0.0612747 0 + outer loop + vertex 1.92323 12.5289 -0.1 + vertex 1.91748 12.4352 0 + vertex 1.91748 12.4352 -0.1 + endloop + endfacet + facet normal 0.979928 0.199352 0 + outer loop + vertex 1.92323 12.5289 0 + vertex 1.90284 12.6291 -0.1 + vertex 1.90284 12.6291 0 + endloop + endfacet + facet normal 0.979928 0.199352 0 + outer loop + vertex 1.90284 12.6291 -0.1 + vertex 1.92323 12.5289 0 + vertex 1.92323 12.5289 -0.1 + endloop + endfacet + facet normal 0.928124 0.372271 0 + outer loop + vertex 1.90284 12.6291 0 + vertex 1.85843 12.7398 -0.1 + vertex 1.85843 12.7398 0 + endloop + endfacet + facet normal 0.928124 0.372271 0 + outer loop + vertex 1.85843 12.7398 -0.1 + vertex 1.90284 12.6291 0 + vertex 1.90284 12.6291 -0.1 + endloop + endfacet + facet normal 0.849902 0.526941 0 + outer loop + vertex 1.85843 12.7398 0 + vertex 1.7147 12.9716 -0.1 + vertex 1.7147 12.9716 0 + endloop + endfacet + facet normal 0.849902 0.526941 0 + outer loop + vertex 1.7147 12.9716 -0.1 + vertex 1.85843 12.7398 0 + vertex 1.85843 12.7398 -0.1 + endloop + endfacet + facet normal 0.728356 0.685198 0 + outer loop + vertex 1.7147 12.9716 0 + vertex 1.51175 13.1874 -0.1 + vertex 1.51175 13.1874 0 + endloop + endfacet + facet normal 0.728356 0.685198 0 + outer loop + vertex 1.51175 13.1874 -0.1 + vertex 1.7147 12.9716 0 + vertex 1.7147 12.9716 -0.1 + endloop + endfacet + facet normal 0.606497 0.795086 -0 + outer loop + vertex 1.51175 13.1874 -0.1 + vertex 1.25015 13.3869 0 + vertex 1.51175 13.1874 0 + endloop + endfacet + facet normal 0.606497 0.795086 0 + outer loop + vertex 1.25015 13.3869 0 + vertex 1.51175 13.1874 -0.1 + vertex 1.25015 13.3869 -0.1 + endloop + endfacet + facet normal 0.497341 0.867555 -0 + outer loop + vertex 1.25015 13.3869 -0.1 + vertex 0.930489 13.5702 0 + vertex 1.25015 13.3869 0 + endloop + endfacet + facet normal 0.497341 0.867555 0 + outer loop + vertex 0.930489 13.5702 0 + vertex 1.25015 13.3869 -0.1 + vertex 0.930489 13.5702 -0.1 + endloop + endfacet + facet normal 0.404567 0.914508 -0 + outer loop + vertex 0.930489 13.5702 -0.1 + vertex 0.55335 13.737 0 + vertex 0.930489 13.5702 0 + endloop + endfacet + facet normal 0.404567 0.914508 0 + outer loop + vertex 0.55335 13.737 0 + vertex 0.930489 13.5702 -0.1 + vertex 0.55335 13.737 -0.1 + endloop + endfacet + facet normal 0.327265 0.944933 -0 + outer loop + vertex 0.55335 13.737 -0.1 + vertex 0.119316 13.8873 0 + vertex 0.55335 13.737 0 + endloop + endfacet + facet normal 0.327265 0.944933 0 + outer loop + vertex 0.119316 13.8873 0 + vertex 0.55335 13.737 -0.1 + vertex 0.119316 13.8873 -0.1 + endloop + endfacet + facet normal 0.263047 0.964783 -0 + outer loop + vertex 0.119316 13.8873 -0.1 + vertex -0.371032 14.021 0 + vertex 0.119316 13.8873 0 + endloop + endfacet + facet normal 0.263047 0.964783 0 + outer loop + vertex -0.371032 14.021 0 + vertex 0.119316 13.8873 -0.1 + vertex -0.371032 14.021 -0.1 + endloop + endfacet + facet normal 0.209418 0.977826 -0 + outer loop + vertex -0.371032 14.021 -0.1 + vertex -0.917111 14.138 0 + vertex -0.371032 14.021 0 + endloop + endfacet + facet normal 0.209418 0.977826 0 + outer loop + vertex -0.917111 14.138 0 + vertex -0.371032 14.021 -0.1 + vertex -0.917111 14.138 -0.1 + endloop + endfacet + facet normal 0.164236 0.986421 -0 + outer loop + vertex -0.917111 14.138 -0.1 + vertex -1.51834 14.2381 0 + vertex -0.917111 14.138 0 + endloop + endfacet + facet normal 0.164236 0.986421 0 + outer loop + vertex -1.51834 14.2381 0 + vertex -0.917111 14.138 -0.1 + vertex -1.51834 14.2381 -0.1 + endloop + endfacet + facet normal 0.125776 0.992059 -0 + outer loop + vertex -1.51834 14.2381 -0.1 + vertex -2.17413 14.3212 0 + vertex -1.51834 14.2381 0 + endloop + endfacet + facet normal 0.125776 0.992059 0 + outer loop + vertex -2.17413 14.3212 0 + vertex -1.51834 14.2381 -0.1 + vertex -2.17413 14.3212 -0.1 + endloop + endfacet + facet normal 0.0926874 0.995695 -0 + outer loop + vertex -2.17413 14.3212 -0.1 + vertex -2.8839 14.3873 0 + vertex -2.17413 14.3212 0 + endloop + endfacet + facet normal 0.0926874 0.995695 0 + outer loop + vertex -2.8839 14.3873 0 + vertex -2.17413 14.3212 -0.1 + vertex -2.8839 14.3873 -0.1 + endloop + endfacet + facet normal 0.0639318 0.997954 -0 + outer loop + vertex -2.8839 14.3873 -0.1 + vertex -3.64708 14.4362 0 + vertex -2.8839 14.3873 0 + endloop + endfacet + facet normal 0.0639318 0.997954 0 + outer loop + vertex -3.64708 14.4362 0 + vertex -2.8839 14.3873 -0.1 + vertex -3.64708 14.4362 -0.1 + endloop + endfacet + facet normal 0.0386969 0.999251 -0 + outer loop + vertex -3.64708 14.4362 -0.1 + vertex -4.46307 14.4678 0 + vertex -3.64708 14.4362 0 + endloop + endfacet + facet normal 0.0386969 0.999251 0 + outer loop + vertex -4.46307 14.4678 0 + vertex -3.64708 14.4362 -0.1 + vertex -4.46307 14.4678 -0.1 + endloop + endfacet + facet normal 0.0163522 0.999866 -0 + outer loop + vertex -4.46307 14.4678 -0.1 + vertex -5.33129 14.482 0 + vertex -4.46307 14.4678 0 + endloop + endfacet + facet normal 0.0163522 0.999866 0 + outer loop + vertex -5.33129 14.482 0 + vertex -4.46307 14.4678 -0.1 + vertex -5.33129 14.482 -0.1 + endloop + endfacet + facet normal -0.00360162 0.999994 0 + outer loop + vertex -5.33129 14.482 -0.1 + vertex -6.25117 14.4787 0 + vertex -5.33129 14.482 0 + endloop + endfacet + facet normal -0.00360162 0.999994 0 + outer loop + vertex -6.25117 14.4787 0 + vertex -5.33129 14.482 -0.1 + vertex -6.25117 14.4787 -0.1 + endloop + endfacet + facet normal -0.0215556 0.999768 0 + outer loop + vertex -6.25117 14.4787 -0.1 + vertex -7.22211 14.4578 0 + vertex -6.25117 14.4787 0 + endloop + endfacet + facet normal -0.0215556 0.999768 0 + outer loop + vertex -7.22211 14.4578 0 + vertex -6.25117 14.4787 -0.1 + vertex -7.22211 14.4578 -0.1 + endloop + endfacet + facet normal -0.0376222 0.999292 0 + outer loop + vertex -7.22211 14.4578 -0.1 + vertex -9.25643 14.3812 0 + vertex -7.22211 14.4578 0 + endloop + endfacet + facet normal -0.0376222 0.999292 0 + outer loop + vertex -9.25643 14.3812 0 + vertex -7.22211 14.4578 -0.1 + vertex -9.25643 14.3812 -0.1 + endloop + endfacet + facet normal -0.0777977 0.996969 0 + outer loop + vertex -9.25643 14.3812 -0.1 + vertex -9.98725 14.3241 0 + vertex -9.25643 14.3812 0 + endloop + endfacet + facet normal -0.0777977 0.996969 0 + outer loop + vertex -9.98725 14.3241 0 + vertex -9.25643 14.3812 -0.1 + vertex -9.98725 14.3241 -0.1 + endloop + endfacet + facet normal -0.133926 0.990991 0 + outer loop + vertex -9.98725 14.3241 -0.1 + vertex -10.6249 14.238 0 + vertex -9.98725 14.3241 0 + endloop + endfacet + facet normal -0.133926 0.990991 0 + outer loop + vertex -10.6249 14.238 0 + vertex -9.98725 14.3241 -0.1 + vertex -10.6249 14.238 -0.1 + endloop + endfacet + facet normal -0.202593 0.979263 0 + outer loop + vertex -10.6249 14.238 -0.1 + vertex -11.2428 14.1101 0 + vertex -10.6249 14.238 0 + endloop + endfacet + facet normal -0.202593 0.979263 0 + outer loop + vertex -11.2428 14.1101 0 + vertex -10.6249 14.238 -0.1 + vertex -11.2428 14.1101 -0.1 + endloop + endfacet + facet normal -0.261603 0.965176 0 + outer loop + vertex -11.2428 14.1101 -0.1 + vertex -11.9142 13.9281 0 + vertex -11.2428 14.1101 0 + endloop + endfacet + facet normal -0.261603 0.965176 0 + outer loop + vertex -11.9142 13.9281 0 + vertex -11.2428 14.1101 -0.1 + vertex -11.9142 13.9281 -0.1 + endloop + endfacet + facet normal -0.297369 0.954762 0 + outer loop + vertex -11.9142 13.9281 -0.1 + vertex -12.7125 13.6795 0 + vertex -11.9142 13.9281 0 + endloop + endfacet + facet normal -0.297369 0.954762 0 + outer loop + vertex -12.7125 13.6795 0 + vertex -11.9142 13.9281 -0.1 + vertex -12.7125 13.6795 -0.1 + endloop + endfacet + facet normal -0.311908 0.950112 0 + outer loop + vertex -12.7125 13.6795 -0.1 + vertex -13.7109 13.3517 0 + vertex -12.7125 13.6795 0 + endloop + endfacet + facet normal -0.311908 0.950112 0 + outer loop + vertex -13.7109 13.3517 0 + vertex -12.7125 13.6795 -0.1 + vertex -13.7109 13.3517 -0.1 + endloop + endfacet + facet normal -0.299976 0.953947 0 + outer loop + vertex -13.7109 13.3517 -0.1 + vertex -14.949 12.9624 0 + vertex -13.7109 13.3517 0 + endloop + endfacet + facet normal -0.299976 0.953947 0 + outer loop + vertex -14.949 12.9624 0 + vertex -13.7109 13.3517 -0.1 + vertex -14.949 12.9624 -0.1 + endloop + endfacet + facet normal -0.271422 0.96246 0 + outer loop + vertex -14.949 12.9624 -0.1 + vertex -16.0795 12.6436 0 + vertex -14.949 12.9624 0 + endloop + endfacet + facet normal -0.271422 0.96246 0 + outer loop + vertex -16.0795 12.6436 0 + vertex -14.949 12.9624 -0.1 + vertex -16.0795 12.6436 -0.1 + endloop + endfacet + facet normal -0.233252 0.972416 0 + outer loop + vertex -16.0795 12.6436 -0.1 + vertex -16.9775 12.4282 0 + vertex -16.0795 12.6436 0 + endloop + endfacet + facet normal -0.233252 0.972416 0 + outer loop + vertex -16.9775 12.4282 0 + vertex -16.0795 12.6436 -0.1 + vertex -16.9775 12.4282 -0.1 + endloop + endfacet + facet normal -0.178763 0.983892 0 + outer loop + vertex -16.9775 12.4282 -0.1 + vertex -17.3003 12.3696 0 + vertex -16.9775 12.4282 0 + endloop + endfacet + facet normal -0.178763 0.983892 0 + outer loop + vertex -17.3003 12.3696 0 + vertex -16.9775 12.4282 -0.1 + vertex -17.3003 12.3696 -0.1 + endloop + endfacet + facet normal -0.0935268 0.995617 0 + outer loop + vertex -17.3003 12.3696 -0.1 + vertex -17.5181 12.3491 0 + vertex -17.3003 12.3696 0 + endloop + endfacet + facet normal -0.0935268 0.995617 0 + outer loop + vertex -17.5181 12.3491 0 + vertex -17.3003 12.3696 -0.1 + vertex -17.5181 12.3491 -0.1 + endloop + endfacet + facet normal -0.0617051 0.998094 0 + outer loop + vertex -17.5181 12.3491 -0.1 + vertex -17.9556 12.3221 0 + vertex -17.5181 12.3491 0 + endloop + endfacet + facet normal -0.0617051 0.998094 0 + outer loop + vertex -17.9556 12.3221 0 + vertex -17.5181 12.3491 -0.1 + vertex -17.9556 12.3221 -0.1 + endloop + endfacet + facet normal -0.11848 0.992956 0 + outer loop + vertex -17.9556 12.3221 -0.1 + vertex -18.5728 12.2484 0 + vertex -17.9556 12.3221 0 + endloop + endfacet + facet normal -0.11848 0.992956 0 + outer loop + vertex -18.5728 12.2484 0 + vertex -17.9556 12.3221 -0.1 + vertex -18.5728 12.2484 -0.1 + endloop + endfacet + facet normal -0.150729 0.988575 0 + outer loop + vertex -18.5728 12.2484 -0.1 + vertex -19.2876 12.1394 0 + vertex -18.5728 12.2484 0 + endloop + endfacet + facet normal -0.150729 0.988575 0 + outer loop + vertex -19.2876 12.1394 0 + vertex -18.5728 12.2484 -0.1 + vertex -19.2876 12.1394 -0.1 + endloop + endfacet + facet normal -0.179254 0.983803 0 + outer loop + vertex -19.2876 12.1394 -0.1 + vertex -20.0181 12.0063 0 + vertex -19.2876 12.1394 0 + endloop + endfacet + facet normal -0.179254 0.983803 0 + outer loop + vertex -20.0181 12.0063 0 + vertex -19.2876 12.1394 -0.1 + vertex -20.0181 12.0063 -0.1 + endloop + endfacet + facet normal -0.161235 0.986916 0 + outer loop + vertex -20.0181 12.0063 -0.1 + vertex -20.4772 11.9313 0 + vertex -20.0181 12.0063 0 + endloop + endfacet + facet normal -0.161235 0.986916 0 + outer loop + vertex -20.4772 11.9313 0 + vertex -20.0181 12.0063 -0.1 + vertex -20.4772 11.9313 -0.1 + endloop + endfacet + facet normal -0.116007 0.993248 0 + outer loop + vertex -20.4772 11.9313 -0.1 + vertex -21.0446 11.8651 0 + vertex -20.4772 11.9313 0 + endloop + endfacet + facet normal -0.116007 0.993248 0 + outer loop + vertex -21.0446 11.8651 0 + vertex -20.4772 11.9313 -0.1 + vertex -21.0446 11.8651 -0.1 + endloop + endfacet + facet normal -0.076075 0.997102 0 + outer loop + vertex -21.0446 11.8651 -0.1 + vertex -22.4311 11.7593 0 + vertex -21.0446 11.8651 0 + endloop + endfacet + facet normal -0.076075 0.997102 0 + outer loop + vertex -22.4311 11.7593 0 + vertex -21.0446 11.8651 -0.1 + vertex -22.4311 11.7593 -0.1 + endloop + endfacet + facet normal -0.0432101 0.999066 0 + outer loop + vertex -22.4311 11.7593 -0.1 + vertex -24.031 11.6901 0 + vertex -22.4311 11.7593 0 + endloop + endfacet + facet normal -0.0432101 0.999066 0 + outer loop + vertex -24.031 11.6901 0 + vertex -22.4311 11.7593 -0.1 + vertex -24.031 11.6901 -0.1 + endloop + endfacet + facet normal -0.0189053 0.999821 0 + outer loop + vertex -24.031 11.6901 -0.1 + vertex -25.698 11.6586 0 + vertex -24.031 11.6901 0 + endloop + endfacet + facet normal -0.0189053 0.999821 0 + outer loop + vertex -25.698 11.6586 0 + vertex -24.031 11.6901 -0.1 + vertex -25.698 11.6586 -0.1 + endloop + endfacet + facet normal 0.00456618 0.99999 -0 + outer loop + vertex -25.698 11.6586 -0.1 + vertex -27.2855 11.6658 0 + vertex -25.698 11.6586 0 + endloop + endfacet + facet normal 0.00456618 0.99999 0 + outer loop + vertex -27.2855 11.6658 0 + vertex -25.698 11.6586 -0.1 + vertex -27.2855 11.6658 -0.1 + endloop + endfacet + facet normal 0.034581 0.999402 -0 + outer loop + vertex -27.2855 11.6658 -0.1 + vertex -28.647 11.7129 0 + vertex -27.2855 11.6658 0 + endloop + endfacet + facet normal 0.034581 0.999402 0 + outer loop + vertex -28.647 11.7129 0 + vertex -27.2855 11.6658 -0.1 + vertex -28.647 11.7129 -0.1 + endloop + endfacet + facet normal 0.0704155 0.997518 -0 + outer loop + vertex -28.647 11.7129 -0.1 + vertex -29.1973 11.7518 0 + vertex -28.647 11.7129 0 + endloop + endfacet + facet normal 0.0704155 0.997518 0 + outer loop + vertex -29.1973 11.7518 0 + vertex -28.647 11.7129 -0.1 + vertex -29.1973 11.7518 -0.1 + endloop + endfacet + facet normal 0.111453 0.99377 -0 + outer loop + vertex -29.1973 11.7518 -0.1 + vertex -29.6362 11.801 0 + vertex -29.1973 11.7518 0 + endloop + endfacet + facet normal 0.111453 0.99377 0 + outer loop + vertex -29.6362 11.801 0 + vertex -29.1973 11.7518 -0.1 + vertex -29.6362 11.801 -0.1 + endloop + endfacet + facet normal 0.189706 0.981841 -0 + outer loop + vertex -29.6362 11.801 -0.1 + vertex -29.9453 11.8607 0 + vertex -29.6362 11.801 0 + endloop + endfacet + facet normal 0.189706 0.981841 0 + outer loop + vertex -29.9453 11.8607 0 + vertex -29.6362 11.801 -0.1 + vertex -29.9453 11.8607 -0.1 + endloop + endfacet + facet normal 0.320034 0.947406 -0 + outer loop + vertex -29.9453 11.8607 -0.1 + vertex -30.0456 11.8946 0 + vertex -29.9453 11.8607 0 + endloop + endfacet + facet normal 0.320034 0.947406 0 + outer loop + vertex -30.0456 11.8946 0 + vertex -29.9453 11.8607 -0.1 + vertex -30.0456 11.8946 -0.1 + endloop + endfacet + facet normal 0.514271 0.857628 -0 + outer loop + vertex -30.0456 11.8946 -0.1 + vertex -30.1065 11.9311 0 + vertex -30.0456 11.8946 0 + endloop + endfacet + facet normal 0.514271 0.857628 0 + outer loop + vertex -30.1065 11.9311 0 + vertex -30.0456 11.8946 -0.1 + vertex -30.1065 11.9311 -0.1 + endloop + endfacet + facet normal 0.794078 0.607816 0 + outer loop + vertex -30.1065 11.9311 0 + vertex -30.2115 12.0683 -0.1 + vertex -30.2115 12.0683 0 + endloop + endfacet + facet normal 0.794078 0.607816 0 + outer loop + vertex -30.2115 12.0683 -0.1 + vertex -30.1065 11.9311 0 + vertex -30.1065 11.9311 -0.1 + endloop + endfacet + facet normal 0.908198 0.418541 0 + outer loop + vertex -30.2115 12.0683 0 + vertex -30.2975 12.2549 -0.1 + vertex -30.2975 12.2549 0 + endloop + endfacet + facet normal 0.908198 0.418541 0 + outer loop + vertex -30.2975 12.2549 -0.1 + vertex -30.2115 12.0683 0 + vertex -30.2115 12.0683 -0.1 + endloop + endfacet + facet normal 0.964271 0.264918 0 + outer loop + vertex -30.2975 12.2549 0 + vertex -30.3556 12.4664 -0.1 + vertex -30.3556 12.4664 0 + endloop + endfacet + facet normal 0.964271 0.264918 0 + outer loop + vertex -30.3556 12.4664 -0.1 + vertex -30.2975 12.2549 0 + vertex -30.2975 12.2549 -0.1 + endloop + endfacet + facet normal 0.994966 0.10021 0 + outer loop + vertex -30.3556 12.4664 0 + vertex -30.377 12.6783 -0.1 + vertex -30.377 12.6783 0 + endloop + endfacet + facet normal 0.994966 0.10021 0 + outer loop + vertex -30.377 12.6783 -0.1 + vertex -30.3556 12.4664 0 + vertex -30.3556 12.4664 -0.1 + endloop + endfacet + facet normal 0.99734 -0.0728833 0 + outer loop + vertex -30.377 12.6783 0 + vertex -30.3621 12.8813 -0.1 + vertex -30.3621 12.8813 0 + endloop + endfacet + facet normal 0.99734 -0.0728833 0 + outer loop + vertex -30.3621 12.8813 -0.1 + vertex -30.377 12.6783 0 + vertex -30.377 12.6783 -0.1 + endloop + endfacet + facet normal 0.963268 -0.268541 0 + outer loop + vertex -30.3621 12.8813 0 + vertex -30.3387 12.9655 -0.1 + vertex -30.3387 12.9655 0 + endloop + endfacet + facet normal 0.963268 -0.268541 0 + outer loop + vertex -30.3387 12.9655 -0.1 + vertex -30.3621 12.8813 0 + vertex -30.3621 12.8813 -0.1 + endloop + endfacet + facet normal 0.886257 -0.463194 0 + outer loop + vertex -30.3387 12.9655 0 + vertex -30.3001 13.0393 -0.1 + vertex -30.3001 13.0393 0 + endloop + endfacet + facet normal 0.886257 -0.463194 0 + outer loop + vertex -30.3001 13.0393 -0.1 + vertex -30.3387 12.9655 0 + vertex -30.3387 12.9655 -0.1 + endloop + endfacet + facet normal 0.748065 -0.663625 0 + outer loop + vertex -30.3001 13.0393 0 + vertex -30.2432 13.1034 -0.1 + vertex -30.2432 13.1034 0 + endloop + endfacet + facet normal 0.748065 -0.663625 0 + outer loop + vertex -30.2432 13.1034 -0.1 + vertex -30.3001 13.0393 0 + vertex -30.3001 13.0393 -0.1 + endloop + endfacet + facet normal 0.576127 -0.81736 0 + outer loop + vertex -30.2432 13.1034 -0.1 + vertex -30.1646 13.1588 0 + vertex -30.2432 13.1034 0 + endloop + endfacet + facet normal 0.576127 -0.81736 0 + outer loop + vertex -30.1646 13.1588 0 + vertex -30.2432 13.1034 -0.1 + vertex -30.1646 13.1588 -0.1 + endloop + endfacet + facet normal 0.349457 -0.936953 0 + outer loop + vertex -30.1646 13.1588 -0.1 + vertex -29.9294 13.2465 0 + vertex -30.1646 13.1588 0 + endloop + endfacet + facet normal 0.349457 -0.936953 0 + outer loop + vertex -29.9294 13.2465 0 + vertex -30.1646 13.1588 -0.1 + vertex -29.9294 13.2465 -0.1 + endloop + endfacet + facet normal 0.170605 -0.985339 0 + outer loop + vertex -29.9294 13.2465 -0.1 + vertex -29.5683 13.309 0 + vertex -29.9294 13.2465 0 + endloop + endfacet + facet normal 0.170605 -0.985339 0 + outer loop + vertex -29.5683 13.309 0 + vertex -29.9294 13.2465 -0.1 + vertex -29.5683 13.309 -0.1 + endloop + endfacet + facet normal 0.0853267 -0.996353 0 + outer loop + vertex -29.5683 13.309 -0.1 + vertex -29.0548 13.353 0 + vertex -29.5683 13.309 0 + endloop + endfacet + facet normal 0.0853267 -0.996353 0 + outer loop + vertex -29.0548 13.353 0 + vertex -29.5683 13.309 -0.1 + vertex -29.0548 13.353 -0.1 + endloop + endfacet + facet normal 0.0369327 -0.999318 0 + outer loop + vertex -29.0548 13.353 -0.1 + vertex -27.4661 13.4117 0 + vertex -29.0548 13.353 0 + endloop + endfacet + facet normal 0.0369327 -0.999318 0 + outer loop + vertex -27.4661 13.4117 0 + vertex -29.0548 13.353 -0.1 + vertex -27.4661 13.4117 -0.1 + endloop + endfacet + facet normal 0.0488074 -0.998808 0 + outer loop + vertex -27.4661 13.4117 -0.1 + vertex -26.1544 13.4758 0 + vertex -27.4661 13.4117 0 + endloop + endfacet + facet normal 0.0488074 -0.998808 0 + outer loop + vertex -26.1544 13.4758 0 + vertex -27.4661 13.4117 -0.1 + vertex -26.1544 13.4758 -0.1 + endloop + endfacet + facet normal 0.0958463 -0.995396 0 + outer loop + vertex -26.1544 13.4758 -0.1 + vertex -24.8613 13.6003 0 + vertex -26.1544 13.4758 0 + endloop + endfacet + facet normal 0.0958463 -0.995396 0 + outer loop + vertex -24.8613 13.6003 0 + vertex -26.1544 13.4758 -0.1 + vertex -24.8613 13.6003 -0.1 + endloop + endfacet + facet normal 0.144031 -0.989573 0 + outer loop + vertex -24.8613 13.6003 -0.1 + vertex -23.579 13.787 0 + vertex -24.8613 13.6003 0 + endloop + endfacet + facet normal 0.144031 -0.989573 0 + outer loop + vertex -23.579 13.787 0 + vertex -24.8613 13.6003 -0.1 + vertex -23.579 13.787 -0.1 + endloop + endfacet + facet normal 0.192155 -0.981365 0 + outer loop + vertex -23.579 13.787 -0.1 + vertex -22.3001 14.0374 0 + vertex -23.579 13.787 0 + endloop + endfacet + facet normal 0.192155 -0.981365 0 + outer loop + vertex -22.3001 14.0374 0 + vertex -23.579 13.787 -0.1 + vertex -22.3001 14.0374 -0.1 + endloop + endfacet + facet normal 0.239032 -0.971012 0 + outer loop + vertex -22.3001 14.0374 -0.1 + vertex -21.0167 14.3533 0 + vertex -22.3001 14.0374 0 + endloop + endfacet + facet normal 0.239032 -0.971012 0 + outer loop + vertex -21.0167 14.3533 0 + vertex -22.3001 14.0374 -0.1 + vertex -21.0167 14.3533 -0.1 + endloop + endfacet + facet normal 0.283599 -0.958943 0 + outer loop + vertex -21.0167 14.3533 -0.1 + vertex -19.7213 14.7364 0 + vertex -21.0167 14.3533 0 + endloop + endfacet + facet normal 0.283599 -0.958943 0 + outer loop + vertex -19.7213 14.7364 0 + vertex -21.0167 14.3533 -0.1 + vertex -19.7213 14.7364 -0.1 + endloop + endfacet + facet normal 0.325025 -0.945706 0 + outer loop + vertex -19.7213 14.7364 -0.1 + vertex -18.4061 15.1884 0 + vertex -19.7213 14.7364 0 + endloop + endfacet + facet normal 0.325025 -0.945706 0 + outer loop + vertex -18.4061 15.1884 0 + vertex -19.7213 14.7364 -0.1 + vertex -18.4061 15.1884 -0.1 + endloop + endfacet + facet normal 0.362736 -0.931892 0 + outer loop + vertex -18.4061 15.1884 -0.1 + vertex -17.0637 15.711 0 + vertex -18.4061 15.1884 0 + endloop + endfacet + facet normal 0.362736 -0.931892 0 + outer loop + vertex -17.0637 15.711 0 + vertex -18.4061 15.1884 -0.1 + vertex -17.0637 15.711 -0.1 + endloop + endfacet + facet normal 0.385262 -0.922807 0 + outer loop + vertex -17.0637 15.711 -0.1 + vertex -16.4531 15.9659 0 + vertex -17.0637 15.711 0 + endloop + endfacet + facet normal 0.385262 -0.922807 0 + outer loop + vertex -16.4531 15.9659 0 + vertex -17.0637 15.711 -0.1 + vertex -16.4531 15.9659 -0.1 + endloop + endfacet + facet normal 0.409178 -0.912454 0 + outer loop + vertex -16.4531 15.9659 -0.1 + vertex -15.9397 16.1961 0 + vertex -16.4531 15.9659 0 + endloop + endfacet + facet normal 0.409178 -0.912454 0 + outer loop + vertex -15.9397 16.1961 0 + vertex -16.4531 15.9659 -0.1 + vertex -15.9397 16.1961 -0.1 + endloop + endfacet + facet normal 0.452989 -0.891516 0 + outer loop + vertex -15.9397 16.1961 -0.1 + vertex -15.4716 16.4339 0 + vertex -15.9397 16.1961 0 + endloop + endfacet + facet normal 0.452989 -0.891516 0 + outer loop + vertex -15.4716 16.4339 0 + vertex -15.9397 16.1961 -0.1 + vertex -15.4716 16.4339 -0.1 + endloop + endfacet + facet normal 0.505092 -0.863065 0 + outer loop + vertex -15.4716 16.4339 -0.1 + vertex -14.9972 16.7116 0 + vertex -15.4716 16.4339 0 + endloop + endfacet + facet normal 0.505092 -0.863065 0 + outer loop + vertex -14.9972 16.7116 0 + vertex -15.4716 16.4339 -0.1 + vertex -14.9972 16.7116 -0.1 + endloop + endfacet + facet normal 0.548914 -0.835879 0 + outer loop + vertex -14.9972 16.7116 -0.1 + vertex -14.4648 17.0612 0 + vertex -14.9972 16.7116 0 + endloop + endfacet + facet normal 0.548914 -0.835879 0 + outer loop + vertex -14.4648 17.0612 0 + vertex -14.9972 16.7116 -0.1 + vertex -14.4648 17.0612 -0.1 + endloop + endfacet + facet normal 0.577162 -0.81663 0 + outer loop + vertex -14.4648 17.0612 -0.1 + vertex -13.8225 17.5152 0 + vertex -14.4648 17.0612 0 + endloop + endfacet + facet normal 0.577162 -0.81663 0 + outer loop + vertex -13.8225 17.5152 0 + vertex -14.4648 17.0612 -0.1 + vertex -13.8225 17.5152 -0.1 + endloop + endfacet + facet normal 0.595448 -0.803394 0 + outer loop + vertex -13.8225 17.5152 -0.1 + vertex -12.0016 18.8648 0 + vertex -13.8225 17.5152 0 + endloop + endfacet + facet normal 0.595448 -0.803394 0 + outer loop + vertex -12.0016 18.8648 0 + vertex -13.8225 17.5152 -0.1 + vertex -12.0016 18.8648 -0.1 + endloop + endfacet + facet normal 0.610957 -0.791663 0 + outer loop + vertex -12.0016 18.8648 -0.1 + vertex -11.4702 19.2748 0 + vertex -12.0016 18.8648 0 + endloop + endfacet + facet normal 0.610957 -0.791663 0 + outer loop + vertex -11.4702 19.2748 0 + vertex -12.0016 18.8648 -0.1 + vertex -11.4702 19.2748 -0.1 + endloop + endfacet + facet normal 0.661597 -0.749859 0 + outer loop + vertex -11.4702 19.2748 -0.1 + vertex -11.1091 19.5935 0 + vertex -11.4702 19.2748 0 + endloop + endfacet + facet normal 0.661597 -0.749859 0 + outer loop + vertex -11.1091 19.5935 0 + vertex -11.4702 19.2748 -0.1 + vertex -11.1091 19.5935 -0.1 + endloop + endfacet + facet normal 0.747538 -0.664219 0 + outer loop + vertex -11.1091 19.5935 0 + vertex -10.9948 19.7221 -0.1 + vertex -10.9948 19.7221 0 + endloop + endfacet + facet normal 0.747538 -0.664219 0 + outer loop + vertex -10.9948 19.7221 -0.1 + vertex -11.1091 19.5935 0 + vertex -11.1091 19.5935 -0.1 + endloop + endfacet + facet normal 0.848145 -0.529765 0 + outer loop + vertex -10.9948 19.7221 0 + vertex -10.9261 19.832 -0.1 + vertex -10.9261 19.832 0 + endloop + endfacet + facet normal 0.848145 -0.529765 0 + outer loop + vertex -10.9261 19.832 -0.1 + vertex -10.9948 19.7221 0 + vertex -10.9948 19.7221 -0.1 + endloop + endfacet + facet normal 0.972725 -0.231962 0 + outer loop + vertex -10.9261 19.832 0 + vertex -10.904 19.9248 -0.1 + vertex -10.904 19.9248 0 + endloop + endfacet + facet normal 0.972725 -0.231962 0 + outer loop + vertex -10.904 19.9248 -0.1 + vertex -10.9261 19.832 0 + vertex -10.9261 19.832 -0.1 + endloop + endfacet + facet normal 0.949443 0.31394 0 + outer loop + vertex -10.904 19.9248 0 + vertex -10.9294 20.0018 -0.1 + vertex -10.9294 20.0018 0 + endloop + endfacet + facet normal 0.949443 0.31394 0 + outer loop + vertex -10.9294 20.0018 -0.1 + vertex -10.904 19.9248 0 + vertex -10.904 19.9248 -0.1 + endloop + endfacet + facet normal 0.645708 0.763585 -0 + outer loop + vertex -10.9294 20.0018 -0.1 + vertex -11.0035 20.0644 0 + vertex -10.9294 20.0018 0 + endloop + endfacet + facet normal 0.645708 0.763585 0 + outer loop + vertex -11.0035 20.0644 0 + vertex -10.9294 20.0018 -0.1 + vertex -11.0035 20.0644 -0.1 + endloop + endfacet + facet normal 0.372622 0.927983 -0 + outer loop + vertex -11.0035 20.0644 -0.1 + vertex -11.1271 20.114 0 + vertex -11.0035 20.0644 0 + endloop + endfacet + facet normal 0.372622 0.927983 0 + outer loop + vertex -11.1271 20.114 0 + vertex -11.0035 20.0644 -0.1 + vertex -11.1271 20.114 -0.1 + endloop + endfacet + facet normal 0.213569 0.976928 -0 + outer loop + vertex -11.1271 20.114 -0.1 + vertex -11.3013 20.1521 0 + vertex -11.1271 20.114 0 + endloop + endfacet + facet normal 0.213569 0.976928 0 + outer loop + vertex -11.3013 20.1521 0 + vertex -11.1271 20.114 -0.1 + vertex -11.3013 20.1521 -0.1 + endloop + endfacet + facet normal 0.122812 0.99243 -0 + outer loop + vertex -11.3013 20.1521 -0.1 + vertex -11.5271 20.1801 0 + vertex -11.3013 20.1521 0 + endloop + endfacet + facet normal 0.122812 0.99243 0 + outer loop + vertex -11.5271 20.1801 0 + vertex -11.3013 20.1521 -0.1 + vertex -11.5271 20.1801 -0.1 + endloop + endfacet + facet normal 0.050903 0.998704 -0 + outer loop + vertex -11.5271 20.1801 -0.1 + vertex -12.1376 20.2112 0 + vertex -11.5271 20.1801 0 + endloop + endfacet + facet normal 0.050903 0.998704 0 + outer loop + vertex -12.1376 20.2112 0 + vertex -11.5271 20.1801 -0.1 + vertex -12.1376 20.2112 -0.1 + endloop + endfacet + facet normal 0.00904467 0.999959 -0 + outer loop + vertex -12.1376 20.2112 -0.1 + vertex -12.9665 20.2187 0 + vertex -12.1376 20.2112 0 + endloop + endfacet + facet normal 0.00904467 0.999959 0 + outer loop + vertex -12.9665 20.2187 0 + vertex -12.1376 20.2112 -0.1 + vertex -12.9665 20.2187 -0.1 + endloop + endfacet + facet normal -0.0191031 0.999818 0 + outer loop + vertex -12.9665 20.2187 -0.1 + vertex -13.9037 20.2008 0 + vertex -12.9665 20.2187 0 + endloop + endfacet + facet normal -0.0191031 0.999818 0 + outer loop + vertex -13.9037 20.2008 0 + vertex -12.9665 20.2187 -0.1 + vertex -13.9037 20.2008 -0.1 + endloop + endfacet + facet normal -0.0506696 0.998715 0 + outer loop + vertex -13.9037 20.2008 -0.1 + vertex -14.8461 20.153 0 + vertex -13.9037 20.2008 0 + endloop + endfacet + facet normal -0.0506696 0.998715 0 + outer loop + vertex -14.8461 20.153 0 + vertex -13.9037 20.2008 -0.1 + vertex -14.8461 20.153 -0.1 + endloop + endfacet + facet normal -0.0837631 0.996486 0 + outer loop + vertex -14.8461 20.153 -0.1 + vertex -15.684 20.0825 0 + vertex -14.8461 20.153 0 + endloop + endfacet + facet normal -0.0837631 0.996486 0 + outer loop + vertex -15.684 20.0825 0 + vertex -14.8461 20.153 -0.1 + vertex -15.684 20.0825 -0.1 + endloop + endfacet + facet normal -0.136213 0.99068 0 + outer loop + vertex -15.684 20.0825 -0.1 + vertex -16.3079 19.9967 0 + vertex -15.684 20.0825 0 + endloop + endfacet + facet normal -0.136213 0.99068 0 + outer loop + vertex -16.3079 19.9967 0 + vertex -15.684 20.0825 -0.1 + vertex -16.3079 19.9967 -0.1 + endloop + endfacet + facet normal -0.175854 0.984416 0 + outer loop + vertex -16.3079 19.9967 -0.1 + vertex -17.2235 19.8332 0 + vertex -16.3079 19.9967 0 + endloop + endfacet + facet normal -0.175854 0.984416 0 + outer loop + vertex -17.2235 19.8332 0 + vertex -16.3079 19.9967 -0.1 + vertex -17.2235 19.8332 -0.1 + endloop + endfacet + facet normal -0.15721 0.987565 0 + outer loop + vertex -17.2235 19.8332 -0.1 + vertex -18.1791 19.6811 0 + vertex -17.2235 19.8332 0 + endloop + endfacet + facet normal -0.15721 0.987565 0 + outer loop + vertex -18.1791 19.6811 0 + vertex -17.2235 19.8332 -0.1 + vertex -18.1791 19.6811 -0.1 + endloop + endfacet + facet normal -0.133206 0.991088 0 + outer loop + vertex -18.1791 19.6811 -0.1 + vertex -20.1671 19.4139 0 + vertex -18.1791 19.6811 0 + endloop + endfacet + facet normal -0.133206 0.991088 0 + outer loop + vertex -20.1671 19.4139 0 + vertex -18.1791 19.6811 -0.1 + vertex -20.1671 19.4139 -0.1 + endloop + endfacet + facet normal -0.105044 0.994468 0 + outer loop + vertex -20.1671 19.4139 -0.1 + vertex -22.1849 19.2007 0 + vertex -20.1671 19.4139 0 + endloop + endfacet + facet normal -0.105044 0.994468 0 + outer loop + vertex -22.1849 19.2007 0 + vertex -20.1671 19.4139 -0.1 + vertex -22.1849 19.2007 -0.1 + endloop + endfacet + facet normal -0.0780607 0.996949 0 + outer loop + vertex -22.1849 19.2007 -0.1 + vertex -24.1455 19.0472 0 + vertex -22.1849 19.2007 0 + endloop + endfacet + facet normal -0.0780607 0.996949 0 + outer loop + vertex -24.1455 19.0472 0 + vertex -22.1849 19.2007 -0.1 + vertex -24.1455 19.0472 -0.1 + endloop + endfacet + facet normal -0.0485635 0.99882 0 + outer loop + vertex -24.1455 19.0472 -0.1 + vertex -25.9619 18.9589 0 + vertex -24.1455 19.0472 0 + endloop + endfacet + facet normal -0.0485635 0.99882 0 + outer loop + vertex -25.9619 18.9589 0 + vertex -24.1455 19.0472 -0.1 + vertex -25.9619 18.9589 -0.1 + endloop + endfacet + facet normal -0.0217214 0.999764 0 + outer loop + vertex -25.9619 18.9589 -0.1 + vertex -26.7887 18.9409 0 + vertex -25.9619 18.9589 0 + endloop + endfacet + facet normal -0.0217214 0.999764 0 + outer loop + vertex -26.7887 18.9409 0 + vertex -25.9619 18.9589 -0.1 + vertex -26.7887 18.9409 -0.1 + endloop + endfacet + facet normal 0.000558472 1 -0 + outer loop + vertex -26.7887 18.9409 -0.1 + vertex -27.5469 18.9414 0 + vertex -26.7887 18.9409 0 + endloop + endfacet + facet normal 0.000558472 1 0 + outer loop + vertex -27.5469 18.9414 0 + vertex -26.7887 18.9409 -0.1 + vertex -27.5469 18.9414 -0.1 + endloop + endfacet + facet normal 0.0287379 0.999587 -0 + outer loop + vertex -27.5469 18.9414 -0.1 + vertex -28.2256 18.9609 0 + vertex -27.5469 18.9414 0 + endloop + endfacet + facet normal 0.0287379 0.999587 0 + outer loop + vertex -28.2256 18.9609 0 + vertex -27.5469 18.9414 -0.1 + vertex -28.2256 18.9609 -0.1 + endloop + endfacet + facet normal 0.0666534 0.997776 -0 + outer loop + vertex -28.2256 18.9609 -0.1 + vertex -28.8137 19.0002 0 + vertex -28.2256 18.9609 0 + endloop + endfacet + facet normal 0.0666534 0.997776 0 + outer loop + vertex -28.8137 19.0002 0 + vertex -28.2256 18.9609 -0.1 + vertex -28.8137 19.0002 -0.1 + endloop + endfacet + facet normal 0.121854 0.992548 -0 + outer loop + vertex -28.8137 19.0002 -0.1 + vertex -29.3006 19.0599 0 + vertex -28.8137 19.0002 0 + endloop + endfacet + facet normal 0.121854 0.992548 0 + outer loop + vertex -29.3006 19.0599 0 + vertex -28.8137 19.0002 -0.1 + vertex -29.3006 19.0599 -0.1 + endloop + endfacet + facet normal 0.211179 0.977447 -0 + outer loop + vertex -29.3006 19.0599 -0.1 + vertex -29.6752 19.1409 0 + vertex -29.3006 19.0599 0 + endloop + endfacet + facet normal 0.211179 0.977447 0 + outer loop + vertex -29.6752 19.1409 0 + vertex -29.3006 19.0599 -0.1 + vertex -29.6752 19.1409 -0.1 + endloop + endfacet + facet normal 0.291073 0.956701 -0 + outer loop + vertex -29.6752 19.1409 -0.1 + vertex -30.5811 19.4165 0 + vertex -29.6752 19.1409 0 + endloop + endfacet + facet normal 0.291073 0.956701 0 + outer loop + vertex -30.5811 19.4165 0 + vertex -29.6752 19.1409 -0.1 + vertex -30.5811 19.4165 -0.1 + endloop + endfacet + facet normal 0.314696 0.949192 -0 + outer loop + vertex -30.5811 19.4165 -0.1 + vertex -31.4466 19.7034 0 + vertex -30.5811 19.4165 0 + endloop + endfacet + facet normal 0.314696 0.949192 0 + outer loop + vertex -31.4466 19.7034 0 + vertex -30.5811 19.4165 -0.1 + vertex -31.4466 19.7034 -0.1 + endloop + endfacet + facet normal 0.339748 0.940516 -0 + outer loop + vertex -31.4466 19.7034 -0.1 + vertex -32.271 20.0012 0 + vertex -31.4466 19.7034 0 + endloop + endfacet + facet normal 0.339748 0.940516 0 + outer loop + vertex -32.271 20.0012 0 + vertex -31.4466 19.7034 -0.1 + vertex -32.271 20.0012 -0.1 + endloop + endfacet + facet normal 0.366429 0.930446 -0 + outer loop + vertex -32.271 20.0012 -0.1 + vertex -33.0533 20.3093 0 + vertex -32.271 20.0012 0 + endloop + endfacet + facet normal 0.366429 0.930446 0 + outer loop + vertex -33.0533 20.3093 0 + vertex -32.271 20.0012 -0.1 + vertex -33.0533 20.3093 -0.1 + endloop + endfacet + facet normal 0.394948 0.918703 -0 + outer loop + vertex -33.0533 20.3093 -0.1 + vertex -33.7926 20.6272 0 + vertex -33.0533 20.3093 0 + endloop + endfacet + facet normal 0.394948 0.918703 0 + outer loop + vertex -33.7926 20.6272 0 + vertex -33.0533 20.3093 -0.1 + vertex -33.7926 20.6272 -0.1 + endloop + endfacet + facet normal 0.425556 0.904932 -0 + outer loop + vertex -33.7926 20.6272 -0.1 + vertex -34.4881 20.9542 0 + vertex -33.7926 20.6272 0 + endloop + endfacet + facet normal 0.425556 0.904932 0 + outer loop + vertex -34.4881 20.9542 0 + vertex -33.7926 20.6272 -0.1 + vertex -34.4881 20.9542 -0.1 + endloop + endfacet + facet normal 0.458522 0.888683 -0 + outer loop + vertex -34.4881 20.9542 -0.1 + vertex -35.1386 21.2899 0 + vertex -34.4881 20.9542 0 + endloop + endfacet + facet normal 0.458522 0.888683 0 + outer loop + vertex -35.1386 21.2899 0 + vertex -34.4881 20.9542 -0.1 + vertex -35.1386 21.2899 -0.1 + endloop + endfacet + facet normal 0.494132 0.869387 -0 + outer loop + vertex -35.1386 21.2899 -0.1 + vertex -35.7435 21.6336 0 + vertex -35.1386 21.2899 0 + endloop + endfacet + facet normal 0.494132 0.869387 0 + outer loop + vertex -35.7435 21.6336 0 + vertex -35.1386 21.2899 -0.1 + vertex -35.7435 21.6336 -0.1 + endloop + endfacet + facet normal 0.532679 0.846317 -0 + outer loop + vertex -35.7435 21.6336 -0.1 + vertex -36.3017 21.985 0 + vertex -35.7435 21.6336 0 + endloop + endfacet + facet normal 0.532679 0.846317 0 + outer loop + vertex -36.3017 21.985 0 + vertex -35.7435 21.6336 -0.1 + vertex -36.3017 21.985 -0.1 + endloop + endfacet + facet normal 0.574426 0.818556 -0 + outer loop + vertex -36.3017 21.985 -0.1 + vertex -36.8124 22.3433 0 + vertex -36.3017 21.985 0 + endloop + endfacet + facet normal 0.574426 0.818556 0 + outer loop + vertex -36.8124 22.3433 0 + vertex -36.3017 21.985 -0.1 + vertex -36.8124 22.3433 -0.1 + endloop + endfacet + facet normal 0.619583 0.784931 -0 + outer loop + vertex -36.8124 22.3433 -0.1 + vertex -37.2746 22.7082 0 + vertex -36.8124 22.3433 0 + endloop + endfacet + facet normal 0.619583 0.784931 0 + outer loop + vertex -37.2746 22.7082 0 + vertex -36.8124 22.3433 -0.1 + vertex -37.2746 22.7082 -0.1 + endloop + endfacet + facet normal 0.668193 0.743988 -0 + outer loop + vertex -37.2746 22.7082 -0.1 + vertex -37.6874 23.0789 0 + vertex -37.2746 22.7082 0 + endloop + endfacet + facet normal 0.668193 0.743988 0 + outer loop + vertex -37.6874 23.0789 0 + vertex -37.2746 22.7082 -0.1 + vertex -37.6874 23.0789 -0.1 + endloop + endfacet + facet normal 0.720024 0.69395 0 + outer loop + vertex -37.6874 23.0789 0 + vertex -38.0499 23.455 -0.1 + vertex -38.0499 23.455 0 + endloop + endfacet + facet normal 0.720024 0.69395 0 + outer loop + vertex -38.0499 23.455 -0.1 + vertex -37.6874 23.0789 0 + vertex -37.6874 23.0789 -0.1 + endloop + endfacet + facet normal 0.774355 0.632751 0 + outer loop + vertex -38.0499 23.455 0 + vertex -38.3611 23.836 -0.1 + vertex -38.3611 23.836 0 + endloop + endfacet + facet normal 0.774355 0.632751 0 + outer loop + vertex -38.3611 23.836 -0.1 + vertex -38.0499 23.455 0 + vertex -38.0499 23.455 -0.1 + endloop + endfacet + facet normal 0.829712 0.558192 0 + outer loop + vertex -38.3611 23.836 0 + vertex -38.6203 24.2212 -0.1 + vertex -38.6203 24.2212 0 + endloop + endfacet + facet normal 0.829712 0.558192 0 + outer loop + vertex -38.6203 24.2212 -0.1 + vertex -38.3611 23.836 0 + vertex -38.3611 23.836 -0.1 + endloop + endfacet + facet normal 0.883596 0.468251 0 + outer loop + vertex -38.6203 24.2212 0 + vertex -38.8265 24.6102 -0.1 + vertex -38.8265 24.6102 0 + endloop + endfacet + facet normal 0.883596 0.468251 0 + outer loop + vertex -38.8265 24.6102 -0.1 + vertex -38.6203 24.2212 0 + vertex -38.6203 24.2212 -0.1 + endloop + endfacet + facet normal 0.926216 0.376994 0 + outer loop + vertex -38.8265 24.6102 0 + vertex -39.0227 25.0923 -0.1 + vertex -39.0227 25.0923 0 + endloop + endfacet + facet normal 0.926216 0.376994 0 + outer loop + vertex -39.0227 25.0923 -0.1 + vertex -38.8265 24.6102 0 + vertex -38.8265 24.6102 -0.1 + endloop + endfacet + facet normal 0.967451 0.253059 0 + outer loop + vertex -39.0227 25.0923 0 + vertex -39.1186 25.4589 -0.1 + vertex -39.1186 25.4589 0 + endloop + endfacet + facet normal 0.967451 0.253059 0 + outer loop + vertex -39.1186 25.4589 -0.1 + vertex -39.0227 25.0923 0 + vertex -39.0227 25.0923 -0.1 + endloop + endfacet + facet normal 0.996684 0.0813708 0 + outer loop + vertex -39.1186 25.4589 0 + vertex -39.13 25.5984 -0.1 + vertex -39.13 25.5984 0 + endloop + endfacet + facet normal 0.996684 0.0813708 0 + outer loop + vertex -39.13 25.5984 -0.1 + vertex -39.1186 25.4589 0 + vertex -39.1186 25.4589 -0.1 + endloop + endfacet + facet normal 0.993685 -0.112203 0 + outer loop + vertex -39.13 25.5984 0 + vertex -39.1175 25.7085 -0.1 + vertex -39.1175 25.7085 0 + endloop + endfacet + facet normal 0.993685 -0.112203 0 + outer loop + vertex -39.1175 25.7085 -0.1 + vertex -39.13 25.5984 0 + vertex -39.13 25.5984 -0.1 + endloop + endfacet + facet normal 0.913337 -0.407205 0 + outer loop + vertex -39.1175 25.7085 0 + vertex -39.0817 25.7888 -0.1 + vertex -39.0817 25.7888 0 + endloop + endfacet + facet normal 0.913337 -0.407205 0 + outer loop + vertex -39.0817 25.7888 -0.1 + vertex -39.1175 25.7085 0 + vertex -39.1175 25.7085 -0.1 + endloop + endfacet + facet normal 0.651025 -0.759057 0 + outer loop + vertex -39.0817 25.7888 -0.1 + vertex -39.0229 25.8392 0 + vertex -39.0817 25.7888 0 + endloop + endfacet + facet normal 0.651025 -0.759057 0 + outer loop + vertex -39.0229 25.8392 0 + vertex -39.0817 25.7888 -0.1 + vertex -39.0229 25.8392 -0.1 + endloop + endfacet + facet normal 0.24215 -0.970239 0 + outer loop + vertex -39.0229 25.8392 -0.1 + vertex -38.9416 25.8595 0 + vertex -39.0229 25.8392 0 + endloop + endfacet + facet normal 0.24215 -0.970239 0 + outer loop + vertex -38.9416 25.8595 0 + vertex -39.0229 25.8392 -0.1 + vertex -38.9416 25.8595 -0.1 + endloop + endfacet + facet normal -0.0965024 -0.995333 0 + outer loop + vertex -38.9416 25.8595 -0.1 + vertex -38.8381 25.8495 0 + vertex -38.9416 25.8595 0 + endloop + endfacet + facet normal -0.0965024 -0.995333 -0 + outer loop + vertex -38.8381 25.8495 0 + vertex -38.9416 25.8595 -0.1 + vertex -38.8381 25.8495 -0.1 + endloop + endfacet + facet normal -0.308343 -0.951275 0 + outer loop + vertex -38.8381 25.8495 -0.1 + vertex -38.7129 25.8089 0 + vertex -38.8381 25.8495 0 + endloop + endfacet + facet normal -0.308343 -0.951275 -0 + outer loop + vertex -38.7129 25.8089 0 + vertex -38.8381 25.8495 -0.1 + vertex -38.7129 25.8089 -0.1 + endloop + endfacet + facet normal -0.437843 -0.899052 0 + outer loop + vertex -38.7129 25.8089 -0.1 + vertex -38.5664 25.7376 0 + vertex -38.7129 25.8089 0 + endloop + endfacet + facet normal -0.437843 -0.899052 -0 + outer loop + vertex -38.5664 25.7376 0 + vertex -38.7129 25.8089 -0.1 + vertex -38.5664 25.7376 -0.1 + endloop + endfacet + facet normal -0.553117 -0.833103 0 + outer loop + vertex -38.5664 25.7376 -0.1 + vertex -38.2113 25.5018 0 + vertex -38.5664 25.7376 0 + endloop + endfacet + facet normal -0.553117 -0.833103 -0 + outer loop + vertex -38.2113 25.5018 0 + vertex -38.5664 25.7376 -0.1 + vertex -38.2113 25.5018 -0.1 + endloop + endfacet + facet normal -0.638761 -0.769405 0 + outer loop + vertex -38.2113 25.5018 -0.1 + vertex -37.776 25.1404 0 + vertex -38.2113 25.5018 0 + endloop + endfacet + facet normal -0.638761 -0.769405 -0 + outer loop + vertex -37.776 25.1404 0 + vertex -38.2113 25.5018 -0.1 + vertex -37.776 25.1404 -0.1 + endloop + endfacet + facet normal -0.64475 -0.764393 0 + outer loop + vertex -37.776 25.1404 -0.1 + vertex -37.4147 24.8357 0 + vertex -37.776 25.1404 0 + endloop + endfacet + facet normal -0.64475 -0.764393 -0 + outer loop + vertex -37.4147 24.8357 0 + vertex -37.776 25.1404 -0.1 + vertex -37.4147 24.8357 -0.1 + endloop + endfacet + facet normal -0.602189 -0.798353 0 + outer loop + vertex -37.4147 24.8357 -0.1 + vertex -37.0225 24.5398 0 + vertex -37.4147 24.8357 0 + endloop + endfacet + facet normal -0.602189 -0.798353 -0 + outer loop + vertex -37.0225 24.5398 0 + vertex -37.4147 24.8357 -0.1 + vertex -37.0225 24.5398 -0.1 + endloop + endfacet + facet normal -0.562472 -0.826816 0 + outer loop + vertex -37.0225 24.5398 -0.1 + vertex -36.6025 24.2541 0 + vertex -37.0225 24.5398 0 + endloop + endfacet + facet normal -0.562472 -0.826816 -0 + outer loop + vertex -36.6025 24.2541 0 + vertex -37.0225 24.5398 -0.1 + vertex -36.6025 24.2541 -0.1 + endloop + endfacet + facet normal -0.525102 -0.851039 0 + outer loop + vertex -36.6025 24.2541 -0.1 + vertex -36.1579 23.9798 0 + vertex -36.6025 24.2541 0 + endloop + endfacet + facet normal -0.525102 -0.851039 -0 + outer loop + vertex -36.1579 23.9798 0 + vertex -36.6025 24.2541 -0.1 + vertex -36.1579 23.9798 -0.1 + endloop + endfacet + facet normal -0.489575 -0.871961 0 + outer loop + vertex -36.1579 23.9798 -0.1 + vertex -35.6921 23.7183 0 + vertex -36.1579 23.9798 0 + endloop + endfacet + facet normal -0.489575 -0.871961 -0 + outer loop + vertex -35.6921 23.7183 0 + vertex -36.1579 23.9798 -0.1 + vertex -35.6921 23.7183 -0.1 + endloop + endfacet + facet normal -0.455389 -0.890292 0 + outer loop + vertex -35.6921 23.7183 -0.1 + vertex -35.2082 23.4707 0 + vertex -35.6921 23.7183 0 + endloop + endfacet + facet normal -0.455389 -0.890292 -0 + outer loop + vertex -35.2082 23.4707 0 + vertex -35.6921 23.7183 -0.1 + vertex -35.2082 23.4707 -0.1 + endloop + endfacet + facet normal -0.422055 -0.90657 0 + outer loop + vertex -35.2082 23.4707 -0.1 + vertex -34.7094 23.2385 0 + vertex -35.2082 23.4707 0 + endloop + endfacet + facet normal -0.422055 -0.90657 -0 + outer loop + vertex -34.7094 23.2385 0 + vertex -35.2082 23.4707 -0.1 + vertex -34.7094 23.2385 -0.1 + endloop + endfacet + facet normal -0.389101 -0.921195 0 + outer loop + vertex -34.7094 23.2385 -0.1 + vertex -34.199 23.023 0 + vertex -34.7094 23.2385 0 + endloop + endfacet + facet normal -0.389101 -0.921195 -0 + outer loop + vertex -34.199 23.023 0 + vertex -34.7094 23.2385 -0.1 + vertex -34.199 23.023 -0.1 + endloop + endfacet + facet normal -0.356052 -0.934466 0 + outer loop + vertex -34.199 23.023 -0.1 + vertex -33.6803 22.8253 0 + vertex -34.199 23.023 0 + endloop + endfacet + facet normal -0.356052 -0.934466 -0 + outer loop + vertex -33.6803 22.8253 0 + vertex -34.199 23.023 -0.1 + vertex -33.6803 22.8253 -0.1 + endloop + endfacet + facet normal -0.3224 -0.946604 0 + outer loop + vertex -33.6803 22.8253 -0.1 + vertex -33.1564 22.6469 0 + vertex -33.6803 22.8253 0 + endloop + endfacet + facet normal -0.3224 -0.946604 -0 + outer loop + vertex -33.1564 22.6469 0 + vertex -33.6803 22.8253 -0.1 + vertex -33.1564 22.6469 -0.1 + endloop + endfacet + facet normal -0.287637 -0.95774 0 + outer loop + vertex -33.1564 22.6469 -0.1 + vertex -32.6306 22.489 0 + vertex -33.1564 22.6469 0 + endloop + endfacet + facet normal -0.287637 -0.95774 -0 + outer loop + vertex -32.6306 22.489 0 + vertex -33.1564 22.6469 -0.1 + vertex -32.6306 22.489 -0.1 + endloop + endfacet + facet normal -0.251171 -0.967943 0 + outer loop + vertex -32.6306 22.489 -0.1 + vertex -32.1061 22.3529 0 + vertex -32.6306 22.489 0 + endloop + endfacet + facet normal -0.251171 -0.967943 -0 + outer loop + vertex -32.1061 22.3529 0 + vertex -32.6306 22.489 -0.1 + vertex -32.1061 22.3529 -0.1 + endloop + endfacet + facet normal -0.212348 -0.977194 0 + outer loop + vertex -32.1061 22.3529 -0.1 + vertex -31.5861 22.2399 0 + vertex -32.1061 22.3529 0 + endloop + endfacet + facet normal -0.212348 -0.977194 -0 + outer loop + vertex -31.5861 22.2399 0 + vertex -32.1061 22.3529 -0.1 + vertex -31.5861 22.2399 -0.1 + endloop + endfacet + facet normal -0.170418 -0.985372 0 + outer loop + vertex -31.5861 22.2399 -0.1 + vertex -31.074 22.1513 0 + vertex -31.5861 22.2399 0 + endloop + endfacet + facet normal -0.170418 -0.985372 -0 + outer loop + vertex -31.074 22.1513 0 + vertex -31.5861 22.2399 -0.1 + vertex -31.074 22.1513 -0.1 + endloop + endfacet + facet normal -0.124476 -0.992223 0 + outer loop + vertex -31.074 22.1513 -0.1 + vertex -30.5728 22.0884 0 + vertex -31.074 22.1513 0 + endloop + endfacet + facet normal -0.124476 -0.992223 -0 + outer loop + vertex -30.5728 22.0884 0 + vertex -31.074 22.1513 -0.1 + vertex -30.5728 22.0884 -0.1 + endloop + endfacet + facet normal -0.0734593 -0.997298 0 + outer loop + vertex -30.5728 22.0884 -0.1 + vertex -30.0859 22.0525 0 + vertex -30.5728 22.0884 0 + endloop + endfacet + facet normal -0.0734593 -0.997298 -0 + outer loop + vertex -30.0859 22.0525 0 + vertex -30.5728 22.0884 -0.1 + vertex -30.0859 22.0525 -0.1 + endloop + endfacet + facet normal -0.0457633 -0.998952 0 + outer loop + vertex -30.0859 22.0525 -0.1 + vertex -28.3394 21.9725 0 + vertex -30.0859 22.0525 0 + endloop + endfacet + facet normal -0.0457633 -0.998952 -0 + outer loop + vertex -28.3394 21.9725 0 + vertex -30.0859 22.0525 -0.1 + vertex -28.3394 21.9725 -0.1 + endloop + endfacet + facet normal 0.491953 0.870622 -0 + outer loop + vertex -28.3394 21.9725 -0.1 + vertex -29.0186 22.3563 0 + vertex -28.3394 21.9725 0 + endloop + endfacet + facet normal 0.491953 0.870622 0 + outer loop + vertex -29.0186 22.3563 0 + vertex -28.3394 21.9725 -0.1 + vertex -29.0186 22.3563 -0.1 + endloop + endfacet + facet normal 0.506614 0.862173 -0 + outer loop + vertex -29.0186 22.3563 -0.1 + vertex -29.4321 22.5993 0 + vertex -29.0186 22.3563 0 + endloop + endfacet + facet normal 0.506614 0.862173 0 + outer loop + vertex -29.4321 22.5993 0 + vertex -29.0186 22.3563 -0.1 + vertex -29.4321 22.5993 -0.1 + endloop + endfacet + facet normal 0.54186 0.840469 -0 + outer loop + vertex -29.4321 22.5993 -0.1 + vertex -29.7937 22.8325 0 + vertex -29.4321 22.5993 0 + endloop + endfacet + facet normal 0.54186 0.840469 0 + outer loop + vertex -29.7937 22.8325 0 + vertex -29.4321 22.5993 -0.1 + vertex -29.7937 22.8325 -0.1 + endloop + endfacet + facet normal 0.585975 0.810329 -0 + outer loop + vertex -29.7937 22.8325 -0.1 + vertex -30.1071 23.0591 0 + vertex -29.7937 22.8325 0 + endloop + endfacet + facet normal 0.585975 0.810329 0 + outer loop + vertex -30.1071 23.0591 0 + vertex -29.7937 22.8325 -0.1 + vertex -30.1071 23.0591 -0.1 + endloop + endfacet + facet normal 0.639127 0.769101 -0 + outer loop + vertex -30.1071 23.0591 -0.1 + vertex -30.3761 23.2826 0 + vertex -30.1071 23.0591 0 + endloop + endfacet + facet normal 0.639127 0.769101 0 + outer loop + vertex -30.3761 23.2826 0 + vertex -30.1071 23.0591 -0.1 + vertex -30.3761 23.2826 -0.1 + endloop + endfacet + facet normal 0.700019 0.714124 -0 + outer loop + vertex -30.3761 23.2826 -0.1 + vertex -30.6044 23.5064 0 + vertex -30.3761 23.2826 0 + endloop + endfacet + facet normal 0.700019 0.714124 0 + outer loop + vertex -30.6044 23.5064 0 + vertex -30.3761 23.2826 -0.1 + vertex -30.6044 23.5064 -0.1 + endloop + endfacet + facet normal 0.765169 0.643829 0 + outer loop + vertex -30.6044 23.5064 0 + vertex -30.7957 23.7338 -0.1 + vertex -30.7957 23.7338 0 + endloop + endfacet + facet normal 0.765169 0.643829 0 + outer loop + vertex -30.7957 23.7338 -0.1 + vertex -30.6044 23.5064 0 + vertex -30.6044 23.5064 -0.1 + endloop + endfacet + facet normal 0.828969 0.559295 0 + outer loop + vertex -30.7957 23.7338 0 + vertex -30.9539 23.9682 -0.1 + vertex -30.9539 23.9682 0 + endloop + endfacet + facet normal 0.828969 0.559295 0 + outer loop + vertex -30.9539 23.9682 -0.1 + vertex -30.7957 23.7338 0 + vertex -30.7957 23.7338 -0.1 + endloop + endfacet + facet normal 0.885091 0.465418 0 + outer loop + vertex -30.9539 23.9682 0 + vertex -31.0826 24.213 -0.1 + vertex -31.0826 24.213 0 + endloop + endfacet + facet normal 0.885091 0.465418 0 + outer loop + vertex -31.0826 24.213 -0.1 + vertex -30.9539 23.9682 0 + vertex -30.9539 23.9682 -0.1 + endloop + endfacet + facet normal 0.929158 0.369682 0 + outer loop + vertex -31.0826 24.213 0 + vertex -31.2103 24.5339 -0.1 + vertex -31.2103 24.5339 0 + endloop + endfacet + facet normal 0.929158 0.369682 0 + outer loop + vertex -31.2103 24.5339 -0.1 + vertex -31.0826 24.213 0 + vertex -31.0826 24.213 -0.1 + endloop + endfacet + facet normal 0.975453 0.220208 0 + outer loop + vertex -31.2103 24.5339 0 + vertex -31.2656 24.779 -0.1 + vertex -31.2656 24.779 0 + endloop + endfacet + facet normal 0.975453 0.220208 0 + outer loop + vertex -31.2656 24.779 -0.1 + vertex -31.2103 24.5339 0 + vertex -31.2103 24.5339 -0.1 + endloop + endfacet + facet normal 0.99992 0.0126114 0 + outer loop + vertex -31.2656 24.779 0 + vertex -31.2668 24.8727 -0.1 + vertex -31.2668 24.8727 0 + endloop + endfacet + facet normal 0.99992 0.0126114 0 + outer loop + vertex -31.2668 24.8727 -0.1 + vertex -31.2656 24.779 0 + vertex -31.2656 24.779 -0.1 + endloop + endfacet + facet normal 0.977346 -0.211648 0 + outer loop + vertex -31.2668 24.8727 0 + vertex -31.2507 24.9472 -0.1 + vertex -31.2507 24.9472 0 + endloop + endfacet + facet normal 0.977346 -0.211648 0 + outer loop + vertex -31.2507 24.9472 -0.1 + vertex -31.2668 24.8727 0 + vertex -31.2668 24.8727 -0.1 + endloop + endfacet + facet normal 0.856395 -0.516321 0 + outer loop + vertex -31.2507 24.9472 0 + vertex -31.2175 25.0021 -0.1 + vertex -31.2175 25.0021 0 + endloop + endfacet + facet normal 0.856395 -0.516321 0 + outer loop + vertex -31.2175 25.0021 -0.1 + vertex -31.2507 24.9472 0 + vertex -31.2507 24.9472 -0.1 + endloop + endfacet + facet normal 0.578733 -0.815517 0 + outer loop + vertex -31.2175 25.0021 -0.1 + vertex -31.1676 25.0376 0 + vertex -31.2175 25.0021 0 + endloop + endfacet + facet normal 0.578733 -0.815517 0 + outer loop + vertex -31.1676 25.0376 0 + vertex -31.2175 25.0021 -0.1 + vertex -31.1676 25.0376 -0.1 + endloop + endfacet + facet normal 0.230651 -0.973037 0 + outer loop + vertex -31.1676 25.0376 -0.1 + vertex -31.1012 25.0533 0 + vertex -31.1676 25.0376 0 + endloop + endfacet + facet normal 0.230651 -0.973037 0 + outer loop + vertex -31.1012 25.0533 0 + vertex -31.1676 25.0376 -0.1 + vertex -31.1012 25.0533 -0.1 + endloop + endfacet + facet normal -0.0489514 -0.998801 0 + outer loop + vertex -31.1012 25.0533 -0.1 + vertex -31.0185 25.0493 0 + vertex -31.1012 25.0533 0 + endloop + endfacet + facet normal -0.0489514 -0.998801 -0 + outer loop + vertex -31.0185 25.0493 0 + vertex -31.1012 25.0533 -0.1 + vertex -31.0185 25.0493 -0.1 + endloop + endfacet + facet normal -0.303972 -0.952681 0 + outer loop + vertex -31.0185 25.0493 -0.1 + vertex -30.8055 24.9813 0 + vertex -31.0185 25.0493 0 + endloop + endfacet + facet normal -0.303972 -0.952681 -0 + outer loop + vertex -30.8055 24.9813 0 + vertex -31.0185 25.0493 -0.1 + vertex -30.8055 24.9813 -0.1 + endloop + endfacet + facet normal -0.475595 -0.879664 0 + outer loop + vertex -30.8055 24.9813 -0.1 + vertex -30.5308 24.8328 0 + vertex -30.8055 24.9813 0 + endloop + endfacet + facet normal -0.475595 -0.879664 -0 + outer loop + vertex -30.5308 24.8328 0 + vertex -30.8055 24.9813 -0.1 + vertex -30.5308 24.8328 -0.1 + endloop + endfacet + facet normal -0.566807 -0.82385 0 + outer loop + vertex -30.5308 24.8328 -0.1 + vertex -30.1964 24.6027 0 + vertex -30.5308 24.8328 0 + endloop + endfacet + facet normal -0.566807 -0.82385 -0 + outer loop + vertex -30.1964 24.6027 0 + vertex -30.5308 24.8328 -0.1 + vertex -30.1964 24.6027 -0.1 + endloop + endfacet + facet normal -0.552424 -0.833564 0 + outer loop + vertex -30.1964 24.6027 -0.1 + vertex -29.8023 24.3416 0 + vertex -30.1964 24.6027 0 + endloop + endfacet + facet normal -0.552424 -0.833564 -0 + outer loop + vertex -29.8023 24.3416 0 + vertex -30.1964 24.6027 -0.1 + vertex -29.8023 24.3416 -0.1 + endloop + endfacet + facet normal -0.451398 -0.892323 0 + outer loop + vertex -29.8023 24.3416 -0.1 + vertex -29.384 24.13 0 + vertex -29.8023 24.3416 0 + endloop + endfacet + facet normal -0.451398 -0.892323 -0 + outer loop + vertex -29.384 24.13 0 + vertex -29.8023 24.3416 -0.1 + vertex -29.384 24.13 -0.1 + endloop + endfacet + facet normal -0.34198 -0.939707 0 + outer loop + vertex -29.384 24.13 -0.1 + vertex -28.9359 23.9669 0 + vertex -29.384 24.13 0 + endloop + endfacet + facet normal -0.34198 -0.939707 -0 + outer loop + vertex -28.9359 23.9669 0 + vertex -29.384 24.13 -0.1 + vertex -28.9359 23.9669 -0.1 + endloop + endfacet + facet normal -0.232476 -0.972602 0 + outer loop + vertex -28.9359 23.9669 -0.1 + vertex -28.4524 23.8513 0 + vertex -28.9359 23.9669 0 + endloop + endfacet + facet normal -0.232476 -0.972602 -0 + outer loop + vertex -28.4524 23.8513 0 + vertex -28.9359 23.9669 -0.1 + vertex -28.4524 23.8513 -0.1 + endloop + endfacet + facet normal -0.130593 -0.991436 0 + outer loop + vertex -28.4524 23.8513 -0.1 + vertex -27.9279 23.7822 0 + vertex -28.4524 23.8513 0 + endloop + endfacet + facet normal -0.130593 -0.991436 -0 + outer loop + vertex -27.9279 23.7822 0 + vertex -28.4524 23.8513 -0.1 + vertex -27.9279 23.7822 -0.1 + endloop + endfacet + facet normal -0.0413274 -0.999146 0 + outer loop + vertex -27.9279 23.7822 -0.1 + vertex -27.3569 23.7586 0 + vertex -27.9279 23.7822 0 + endloop + endfacet + facet normal -0.0413274 -0.999146 -0 + outer loop + vertex -27.3569 23.7586 0 + vertex -27.9279 23.7822 -0.1 + vertex -27.3569 23.7586 -0.1 + endloop + endfacet + facet normal 0.0333972 -0.999442 0 + outer loop + vertex -27.3569 23.7586 -0.1 + vertex -26.7338 23.7794 0 + vertex -27.3569 23.7586 0 + endloop + endfacet + facet normal 0.0333972 -0.999442 0 + outer loop + vertex -26.7338 23.7794 0 + vertex -27.3569 23.7586 -0.1 + vertex -26.7338 23.7794 -0.1 + endloop + endfacet + facet normal 0.0939488 -0.995577 0 + outer loop + vertex -26.7338 23.7794 -0.1 + vertex -26.053 23.8437 0 + vertex -26.7338 23.7794 0 + endloop + endfacet + facet normal 0.0939488 -0.995577 0 + outer loop + vertex -26.053 23.8437 0 + vertex -26.7338 23.7794 -0.1 + vertex -26.053 23.8437 -0.1 + endloop + endfacet + facet normal 0.119464 -0.992839 0 + outer loop + vertex -26.053 23.8437 -0.1 + vertex -24.6523 24.0122 0 + vertex -26.053 23.8437 0 + endloop + endfacet + facet normal 0.119464 -0.992839 0 + outer loop + vertex -24.6523 24.0122 0 + vertex -26.053 23.8437 -0.1 + vertex -24.6523 24.0122 -0.1 + endloop + endfacet + facet normal 0.193693 0.981062 -0 + outer loop + vertex -24.6523 24.0122 -0.1 + vertex -26.0107 24.2804 0 + vertex -24.6523 24.0122 0 + endloop + endfacet + facet normal 0.193693 0.981062 0 + outer loop + vertex -26.0107 24.2804 0 + vertex -24.6523 24.0122 -0.1 + vertex -26.0107 24.2804 -0.1 + endloop + endfacet + facet normal 0.214134 0.976804 -0 + outer loop + vertex -26.0107 24.2804 -0.1 + vertex -26.5818 24.4056 0 + vertex -26.0107 24.2804 0 + endloop + endfacet + facet normal 0.214134 0.976804 0 + outer loop + vertex -26.5818 24.4056 0 + vertex -26.0107 24.2804 -0.1 + vertex -26.5818 24.4056 -0.1 + endloop + endfacet + facet normal 0.258173 0.966099 -0 + outer loop + vertex -26.5818 24.4056 -0.1 + vertex -27.1227 24.5501 0 + vertex -26.5818 24.4056 0 + endloop + endfacet + facet normal 0.258173 0.966099 0 + outer loop + vertex -27.1227 24.5501 0 + vertex -26.5818 24.4056 -0.1 + vertex -27.1227 24.5501 -0.1 + endloop + endfacet + facet normal 0.306051 0.952015 -0 + outer loop + vertex -27.1227 24.5501 -0.1 + vertex -27.636 24.7152 0 + vertex -27.1227 24.5501 0 + endloop + endfacet + facet normal 0.306051 0.952015 0 + outer loop + vertex -27.636 24.7152 0 + vertex -27.1227 24.5501 -0.1 + vertex -27.636 24.7152 -0.1 + endloop + endfacet + facet normal 0.356888 0.934147 -0 + outer loop + vertex -27.636 24.7152 -0.1 + vertex -28.1248 24.9019 0 + vertex -27.636 24.7152 0 + endloop + endfacet + facet normal 0.356888 0.934147 0 + outer loop + vertex -28.1248 24.9019 0 + vertex -27.636 24.7152 -0.1 + vertex -28.1248 24.9019 -0.1 + endloop + endfacet + facet normal 0.409468 0.912325 -0 + outer loop + vertex -28.1248 24.9019 -0.1 + vertex -28.5919 25.1115 0 + vertex -28.1248 24.9019 0 + endloop + endfacet + facet normal 0.409468 0.912325 0 + outer loop + vertex -28.5919 25.1115 0 + vertex -28.1248 24.9019 -0.1 + vertex -28.5919 25.1115 -0.1 + endloop + endfacet + facet normal 0.462329 0.886708 -0 + outer loop + vertex -28.5919 25.1115 -0.1 + vertex -29.0402 25.3453 0 + vertex -28.5919 25.1115 0 + endloop + endfacet + facet normal 0.462329 0.886708 0 + outer loop + vertex -29.0402 25.3453 0 + vertex -28.5919 25.1115 -0.1 + vertex -29.0402 25.3453 -0.1 + endloop + endfacet + facet normal 0.51393 0.857832 -0 + outer loop + vertex -29.0402 25.3453 -0.1 + vertex -29.4725 25.6043 0 + vertex -29.0402 25.3453 0 + endloop + endfacet + facet normal 0.51393 0.857832 0 + outer loop + vertex -29.4725 25.6043 0 + vertex -29.0402 25.3453 -0.1 + vertex -29.4725 25.6043 -0.1 + endloop + endfacet + facet normal 0.562822 0.826578 -0 + outer loop + vertex -29.4725 25.6043 -0.1 + vertex -29.8918 25.8898 0 + vertex -29.4725 25.6043 0 + endloop + endfacet + facet normal 0.562822 0.826578 0 + outer loop + vertex -29.8918 25.8898 0 + vertex -29.4725 25.6043 -0.1 + vertex -29.8918 25.8898 -0.1 + endloop + endfacet + facet normal 0.607723 0.794149 -0 + outer loop + vertex -29.8918 25.8898 -0.1 + vertex -30.6514 26.471 0 + vertex -29.8918 25.8898 0 + endloop + endfacet + facet normal 0.607723 0.794149 0 + outer loop + vertex -30.6514 26.471 0 + vertex -29.8918 25.8898 -0.1 + vertex -30.6514 26.471 -0.1 + endloop + endfacet + facet normal 0.662833 0.748767 -0 + outer loop + vertex -30.6514 26.471 -0.1 + vertex -30.9143 26.7038 0 + vertex -30.6514 26.471 0 + endloop + endfacet + facet normal 0.662833 0.748767 0 + outer loop + vertex -30.9143 26.7038 0 + vertex -30.6514 26.471 -0.1 + vertex -30.9143 26.7038 -0.1 + endloop + endfacet + facet normal 0.725171 0.688569 0 + outer loop + vertex -30.9143 26.7038 0 + vertex -31.1043 26.9038 -0.1 + vertex -31.1043 26.9038 0 + endloop + endfacet + facet normal 0.725171 0.688569 0 + outer loop + vertex -31.1043 26.9038 -0.1 + vertex -30.9143 26.7038 0 + vertex -30.9143 26.7038 -0.1 + endloop + endfacet + facet normal 0.818345 0.574727 0 + outer loop + vertex -31.1043 26.9038 0 + vertex -31.2248 27.0754 -0.1 + vertex -31.2248 27.0754 0 + endloop + endfacet + facet normal 0.818345 0.574727 0 + outer loop + vertex -31.2248 27.0754 -0.1 + vertex -31.1043 26.9038 0 + vertex -31.1043 26.9038 -0.1 + endloop + endfacet + facet normal 0.937593 0.347734 0 + outer loop + vertex -31.2248 27.0754 0 + vertex -31.2795 27.2229 -0.1 + vertex -31.2795 27.2229 0 + endloop + endfacet + facet normal 0.937593 0.347734 0 + outer loop + vertex -31.2795 27.2229 -0.1 + vertex -31.2248 27.0754 0 + vertex -31.2248 27.0754 -0.1 + endloop + endfacet + facet normal 0.99829 -0.0584589 0 + outer loop + vertex -31.2795 27.2229 0 + vertex -31.272 27.3506 -0.1 + vertex -31.272 27.3506 0 + endloop + endfacet + facet normal 0.99829 -0.0584589 0 + outer loop + vertex -31.272 27.3506 -0.1 + vertex -31.2795 27.2229 0 + vertex -31.2795 27.2229 -0.1 + endloop + endfacet + facet normal 0.861994 -0.506918 0 + outer loop + vertex -31.272 27.3506 0 + vertex -31.2059 27.4629 -0.1 + vertex -31.2059 27.4629 0 + endloop + endfacet + facet normal 0.861994 -0.506918 0 + outer loop + vertex -31.2059 27.4629 -0.1 + vertex -31.272 27.3506 0 + vertex -31.272 27.3506 -0.1 + endloop + endfacet + facet normal 0.566536 -0.824037 0 + outer loop + vertex -31.2059 27.4629 -0.1 + vertex -31.1289 27.5158 0 + vertex -31.2059 27.4629 0 + endloop + endfacet + facet normal 0.566536 -0.824037 0 + outer loop + vertex -31.1289 27.5158 0 + vertex -31.2059 27.4629 -0.1 + vertex -31.1289 27.5158 -0.1 + endloop + endfacet + facet normal 0.198224 -0.980157 0 + outer loop + vertex -31.1289 27.5158 -0.1 + vertex -31.0145 27.539 0 + vertex -31.1289 27.5158 0 + endloop + endfacet + facet normal 0.198224 -0.980157 0 + outer loop + vertex -31.0145 27.539 0 + vertex -31.1289 27.5158 -0.1 + vertex -31.0145 27.539 -0.1 + endloop + endfacet + facet normal -0.0498903 -0.998755 0 + outer loop + vertex -31.0145 27.539 -0.1 + vertex -30.8579 27.5312 0 + vertex -31.0145 27.539 0 + endloop + endfacet + facet normal -0.0498903 -0.998755 -0 + outer loop + vertex -30.8579 27.5312 0 + vertex -31.0145 27.539 -0.1 + vertex -30.8579 27.5312 -0.1 + endloop + endfacet + facet normal -0.192665 -0.981265 0 + outer loop + vertex -30.8579 27.5312 -0.1 + vertex -30.6543 27.4912 0 + vertex -30.8579 27.5312 0 + endloop + endfacet + facet normal -0.192665 -0.981265 -0 + outer loop + vertex -30.6543 27.4912 0 + vertex -30.8579 27.5312 -0.1 + vertex -30.6543 27.4912 -0.1 + endloop + endfacet + facet normal -0.304248 -0.952593 0 + outer loop + vertex -30.6543 27.4912 -0.1 + vertex -30.0875 27.3102 0 + vertex -30.6543 27.4912 0 + endloop + endfacet + facet normal -0.304248 -0.952593 -0 + outer loop + vertex -30.0875 27.3102 0 + vertex -30.6543 27.4912 -0.1 + vertex -30.0875 27.3102 -0.1 + endloop + endfacet + facet normal -0.370492 -0.928836 0 + outer loop + vertex -30.0875 27.3102 -0.1 + vertex -29.2762 26.9865 0 + vertex -30.0875 27.3102 0 + endloop + endfacet + facet normal -0.370492 -0.928836 -0 + outer loop + vertex -29.2762 26.9865 0 + vertex -30.0875 27.3102 -0.1 + vertex -29.2762 26.9865 -0.1 + endloop + endfacet + facet normal -0.380261 -0.924879 0 + outer loop + vertex -29.2762 26.9865 -0.1 + vertex -28.7314 26.7626 0 + vertex -29.2762 26.9865 0 + endloop + endfacet + facet normal -0.380261 -0.924879 -0 + outer loop + vertex -28.7314 26.7626 0 + vertex -29.2762 26.9865 -0.1 + vertex -28.7314 26.7626 -0.1 + endloop + endfacet + facet normal -0.349246 -0.937031 0 + outer loop + vertex -28.7314 26.7626 -0.1 + vertex -28.2663 26.5892 0 + vertex -28.7314 26.7626 0 + endloop + endfacet + facet normal -0.349246 -0.937031 -0 + outer loop + vertex -28.2663 26.5892 0 + vertex -28.7314 26.7626 -0.1 + vertex -28.2663 26.5892 -0.1 + endloop + endfacet + facet normal -0.29135 -0.956616 0 + outer loop + vertex -28.2663 26.5892 -0.1 + vertex -27.8395 26.4592 0 + vertex -28.2663 26.5892 0 + endloop + endfacet + facet normal -0.29135 -0.956616 -0 + outer loop + vertex -27.8395 26.4592 0 + vertex -28.2663 26.5892 -0.1 + vertex -27.8395 26.4592 -0.1 + endloop + endfacet + facet normal -0.213404 -0.976964 0 + outer loop + vertex -27.8395 26.4592 -0.1 + vertex -27.4097 26.3653 0 + vertex -27.8395 26.4592 0 + endloop + endfacet + facet normal -0.213404 -0.976964 -0 + outer loop + vertex -27.4097 26.3653 0 + vertex -27.8395 26.4592 -0.1 + vertex -27.4097 26.3653 -0.1 + endloop + endfacet + facet normal -0.13595 -0.990716 0 + outer loop + vertex -27.4097 26.3653 -0.1 + vertex -26.9353 26.3003 0 + vertex -27.4097 26.3653 0 + endloop + endfacet + facet normal -0.13595 -0.990716 -0 + outer loop + vertex -26.9353 26.3003 0 + vertex -27.4097 26.3653 -0.1 + vertex -26.9353 26.3003 -0.1 + endloop + endfacet + facet normal -0.077531 -0.99699 0 + outer loop + vertex -26.9353 26.3003 -0.1 + vertex -26.3751 26.2567 0 + vertex -26.9353 26.3003 0 + endloop + endfacet + facet normal -0.077531 -0.99699 -0 + outer loop + vertex -26.3751 26.2567 0 + vertex -26.9353 26.3003 -0.1 + vertex -26.3751 26.2567 -0.1 + endloop + endfacet + facet normal -0.0334453 -0.999441 0 + outer loop + vertex -26.3751 26.2567 -0.1 + vertex -24.8316 26.205 0 + vertex -26.3751 26.2567 0 + endloop + endfacet + facet normal -0.0334453 -0.999441 -0 + outer loop + vertex -24.8316 26.205 0 + vertex -26.3751 26.2567 -0.1 + vertex -24.8316 26.205 -0.1 + endloop + endfacet + facet normal -0.00940958 -0.999956 0 + outer loop + vertex -24.8316 26.205 -0.1 + vertex -23.1385 26.1891 0 + vertex -24.8316 26.205 0 + endloop + endfacet + facet normal -0.00940958 -0.999956 -0 + outer loop + vertex -23.1385 26.1891 0 + vertex -24.8316 26.205 -0.1 + vertex -23.1385 26.1891 -0.1 + endloop + endfacet + facet normal 0.0248422 -0.999691 0 + outer loop + vertex -23.1385 26.1891 -0.1 + vertex -22.5186 26.2045 0 + vertex -23.1385 26.1891 0 + endloop + endfacet + facet normal 0.0248422 -0.999691 0 + outer loop + vertex -22.5186 26.2045 0 + vertex -23.1385 26.1891 -0.1 + vertex -22.5186 26.2045 -0.1 + endloop + endfacet + facet normal 0.066912 -0.997759 0 + outer loop + vertex -22.5186 26.2045 -0.1 + vertex -22.0356 26.2369 0 + vertex -22.5186 26.2045 0 + endloop + endfacet + facet normal 0.066912 -0.997759 0 + outer loop + vertex -22.0356 26.2369 0 + vertex -22.5186 26.2045 -0.1 + vertex -22.0356 26.2369 -0.1 + endloop + endfacet + facet normal 0.139914 -0.990164 0 + outer loop + vertex -22.0356 26.2369 -0.1 + vertex -21.6785 26.2874 0 + vertex -22.0356 26.2369 0 + endloop + endfacet + facet normal 0.139914 -0.990164 0 + outer loop + vertex -21.6785 26.2874 0 + vertex -22.0356 26.2369 -0.1 + vertex -21.6785 26.2874 -0.1 + endloop + endfacet + facet normal 0.276553 -0.960999 0 + outer loop + vertex -21.6785 26.2874 -0.1 + vertex -21.4368 26.3569 0 + vertex -21.6785 26.2874 0 + endloop + endfacet + facet normal 0.276553 -0.960999 0 + outer loop + vertex -21.4368 26.3569 0 + vertex -21.6785 26.2874 -0.1 + vertex -21.4368 26.3569 -0.1 + endloop + endfacet + facet normal 0.462821 -0.886452 0 + outer loop + vertex -21.4368 26.3569 -0.1 + vertex -21.3558 26.3992 0 + vertex -21.4368 26.3569 0 + endloop + endfacet + facet normal 0.462821 -0.886452 0 + outer loop + vertex -21.3558 26.3992 0 + vertex -21.4368 26.3569 -0.1 + vertex -21.3558 26.3992 -0.1 + endloop + endfacet + facet normal 0.645311 -0.76392 0 + outer loop + vertex -21.3558 26.3992 -0.1 + vertex -21.2997 26.4466 0 + vertex -21.3558 26.3992 0 + endloop + endfacet + facet normal 0.645311 -0.76392 0 + outer loop + vertex -21.2997 26.4466 0 + vertex -21.3558 26.3992 -0.1 + vertex -21.2997 26.4466 -0.1 + endloop + endfacet + facet normal 0.84984 -0.527041 0 + outer loop + vertex -21.2997 26.4466 0 + vertex -21.2669 26.4994 -0.1 + vertex -21.2669 26.4994 0 + endloop + endfacet + facet normal 0.84984 -0.527041 0 + outer loop + vertex -21.2669 26.4994 -0.1 + vertex -21.2997 26.4466 0 + vertex -21.2997 26.4466 -0.1 + endloop + endfacet + facet normal 0.98379 -0.179322 0 + outer loop + vertex -21.2669 26.4994 0 + vertex -21.2563 26.5576 -0.1 + vertex -21.2563 26.5576 0 + endloop + endfacet + facet normal 0.98379 -0.179322 0 + outer loop + vertex -21.2563 26.5576 -0.1 + vertex -21.2669 26.4994 0 + vertex -21.2669 26.4994 -0.1 + endloop + endfacet + facet normal 0.837844 0.54591 0 + outer loop + vertex -21.2563 26.5576 0 + vertex -21.2799 26.5937 -0.1 + vertex -21.2799 26.5937 0 + endloop + endfacet + facet normal 0.837844 0.54591 0 + outer loop + vertex -21.2799 26.5937 -0.1 + vertex -21.2563 26.5576 0 + vertex -21.2563 26.5576 -0.1 + endloop + endfacet + facet normal 0.505324 0.86293 -0 + outer loop + vertex -21.2799 26.5937 -0.1 + vertex -21.3473 26.6332 0 + vertex -21.2799 26.5937 0 + endloop + endfacet + facet normal 0.505324 0.86293 0 + outer loop + vertex -21.3473 26.6332 0 + vertex -21.2799 26.5937 -0.1 + vertex -21.3473 26.6332 -0.1 + endloop + endfacet + facet normal 0.321132 0.947035 -0 + outer loop + vertex -21.3473 26.6332 -0.1 + vertex -21.5951 26.7172 0 + vertex -21.3473 26.6332 0 + endloop + endfacet + facet normal 0.321132 0.947035 0 + outer loop + vertex -21.5951 26.7172 0 + vertex -21.3473 26.6332 -0.1 + vertex -21.5951 26.7172 -0.1 + endloop + endfacet + facet normal 0.218663 0.9758 -0 + outer loop + vertex -21.5951 26.7172 -0.1 + vertex -21.9618 26.7994 0 + vertex -21.5951 26.7172 0 + endloop + endfacet + facet normal 0.218663 0.9758 0 + outer loop + vertex -21.9618 26.7994 0 + vertex -21.5951 26.7172 -0.1 + vertex -21.9618 26.7994 -0.1 + endloop + endfacet + facet normal 0.154639 0.987971 -0 + outer loop + vertex -21.9618 26.7994 -0.1 + vertex -22.4095 26.8695 0 + vertex -21.9618 26.7994 0 + endloop + endfacet + facet normal 0.154639 0.987971 0 + outer loop + vertex -22.4095 26.8695 0 + vertex -21.9618 26.7994 -0.1 + vertex -22.4095 26.8695 -0.1 + endloop + endfacet + facet normal 0.17991 0.983683 -0 + outer loop + vertex -22.4095 26.8695 -0.1 + vertex -22.8078 26.9423 0 + vertex -22.4095 26.8695 0 + endloop + endfacet + facet normal 0.17991 0.983683 0 + outer loop + vertex -22.8078 26.9423 0 + vertex -22.4095 26.8695 -0.1 + vertex -22.8078 26.9423 -0.1 + endloop + endfacet + facet normal 0.273496 0.961873 -0 + outer loop + vertex -22.8078 26.9423 -0.1 + vertex -23.1972 27.0531 0 + vertex -22.8078 26.9423 0 + endloop + endfacet + facet normal 0.273496 0.961873 0 + outer loop + vertex -23.1972 27.0531 0 + vertex -22.8078 26.9423 -0.1 + vertex -23.1972 27.0531 -0.1 + endloop + endfacet + facet normal 0.356994 0.934107 -0 + outer loop + vertex -23.1972 27.0531 -0.1 + vertex -23.56 27.1917 0 + vertex -23.1972 27.0531 0 + endloop + endfacet + facet normal 0.356994 0.934107 0 + outer loop + vertex -23.56 27.1917 0 + vertex -23.1972 27.0531 -0.1 + vertex -23.56 27.1917 -0.1 + endloop + endfacet + facet normal 0.441429 0.897296 -0 + outer loop + vertex -23.56 27.1917 -0.1 + vertex -23.8785 27.3484 0 + vertex -23.56 27.1917 0 + endloop + endfacet + facet normal 0.441429 0.897296 0 + outer loop + vertex -23.8785 27.3484 0 + vertex -23.56 27.1917 -0.1 + vertex -23.8785 27.3484 -0.1 + endloop + endfacet + facet normal 0.540697 0.841217 -0 + outer loop + vertex -23.8785 27.3484 -0.1 + vertex -24.1346 27.513 0 + vertex -23.8785 27.3484 0 + endloop + endfacet + facet normal 0.540697 0.841217 0 + outer loop + vertex -24.1346 27.513 0 + vertex -23.8785 27.3484 -0.1 + vertex -24.1346 27.513 -0.1 + endloop + endfacet + facet normal 0.678607 0.734501 -0 + outer loop + vertex -24.1346 27.513 -0.1 + vertex -24.3107 27.6757 0 + vertex -24.1346 27.513 0 + endloop + endfacet + facet normal 0.678607 0.734501 0 + outer loop + vertex -24.3107 27.6757 0 + vertex -24.1346 27.513 -0.1 + vertex -24.3107 27.6757 -0.1 + endloop + endfacet + facet normal 0.828129 0.560537 0 + outer loop + vertex -24.3107 27.6757 0 + vertex -24.3632 27.7532 -0.1 + vertex -24.3632 27.7532 0 + endloop + endfacet + facet normal 0.828129 0.560537 0 + outer loop + vertex -24.3632 27.7532 -0.1 + vertex -24.3107 27.6757 0 + vertex -24.3107 27.6757 -0.1 + endloop + endfacet + facet normal 0.943401 0.331655 0 + outer loop + vertex -24.3632 27.7532 0 + vertex -24.3889 27.8265 -0.1 + vertex -24.3889 27.8265 0 + endloop + endfacet + facet normal 0.943401 0.331655 0 + outer loop + vertex -24.3889 27.8265 -0.1 + vertex -24.3632 27.7532 0 + vertex -24.3632 27.7532 -0.1 + endloop + endfacet + facet normal 0.998917 -0.0465292 0 + outer loop + vertex -24.3889 27.8265 0 + vertex -24.3858 27.8943 -0.1 + vertex -24.3858 27.8943 0 + endloop + endfacet + facet normal 0.998917 -0.0465292 0 + outer loop + vertex -24.3858 27.8943 -0.1 + vertex -24.3889 27.8265 0 + vertex -24.3889 27.8265 -0.1 + endloop + endfacet + facet normal 0.871924 -0.489641 0 + outer loop + vertex -24.3858 27.8943 0 + vertex -24.3515 27.9554 -0.1 + vertex -24.3515 27.9554 0 + endloop + endfacet + facet normal 0.871924 -0.489641 0 + outer loop + vertex -24.3515 27.9554 -0.1 + vertex -24.3858 27.8943 0 + vertex -24.3858 27.8943 -0.1 + endloop + endfacet + facet normal 0.330372 -0.943851 0 + outer loop + vertex -24.3515 27.9554 -0.1 + vertex -24.2923 27.9761 0 + vertex -24.3515 27.9554 0 + endloop + endfacet + facet normal 0.330372 -0.943851 0 + outer loop + vertex -24.2923 27.9761 0 + vertex -24.3515 27.9554 -0.1 + vertex -24.2923 27.9761 -0.1 + endloop + endfacet + facet normal 0.0962711 -0.995355 0 + outer loop + vertex -24.2923 27.9761 -0.1 + vertex -24.1643 27.9885 0 + vertex -24.2923 27.9761 0 + endloop + endfacet + facet normal 0.0962711 -0.995355 0 + outer loop + vertex -24.1643 27.9885 0 + vertex -24.2923 27.9761 -0.1 + vertex -24.1643 27.9885 -0.1 + endloop + endfacet + facet normal 0.00166914 -0.999999 0 + outer loop + vertex -24.1643 27.9885 -0.1 + vertex -23.7335 27.9892 0 + vertex -24.1643 27.9885 0 + endloop + endfacet + facet normal 0.00166914 -0.999999 0 + outer loop + vertex -23.7335 27.9892 0 + vertex -24.1643 27.9885 -0.1 + vertex -23.7335 27.9892 -0.1 + endloop + endfacet + facet normal -0.048866 -0.998805 0 + outer loop + vertex -23.7335 27.9892 -0.1 + vertex -23.1232 27.9594 0 + vertex -23.7335 27.9892 0 + endloop + endfacet + facet normal -0.048866 -0.998805 -0 + outer loop + vertex -23.1232 27.9594 0 + vertex -23.7335 27.9892 -0.1 + vertex -23.1232 27.9594 -0.1 + endloop + endfacet + facet normal -0.0805478 -0.996751 0 + outer loop + vertex -23.1232 27.9594 -0.1 + vertex -22.3975 27.9007 0 + vertex -23.1232 27.9594 0 + endloop + endfacet + facet normal -0.0805478 -0.996751 -0 + outer loop + vertex -22.3975 27.9007 0 + vertex -23.1232 27.9594 -0.1 + vertex -22.3975 27.9007 -0.1 + endloop + endfacet + facet normal -0.115526 -0.993304 0 + outer loop + vertex -22.3975 27.9007 -0.1 + vertex -21.4599 27.7917 0 + vertex -22.3975 27.9007 0 + endloop + endfacet + facet normal -0.115526 -0.993304 -0 + outer loop + vertex -21.4599 27.7917 0 + vertex -22.3975 27.9007 -0.1 + vertex -21.4599 27.7917 -0.1 + endloop + endfacet + facet normal -0.170472 -0.985363 0 + outer loop + vertex -21.4599 27.7917 -0.1 + vertex -21.1001 27.7294 0 + vertex -21.4599 27.7917 0 + endloop + endfacet + facet normal -0.170472 -0.985363 -0 + outer loop + vertex -21.1001 27.7294 0 + vertex -21.4599 27.7917 -0.1 + vertex -21.1001 27.7294 -0.1 + endloop + endfacet + facet normal -0.23059 -0.973051 0 + outer loop + vertex -21.1001 27.7294 -0.1 + vertex -20.7979 27.6578 0 + vertex -21.1001 27.7294 0 + endloop + endfacet + facet normal -0.23059 -0.973051 -0 + outer loop + vertex -20.7979 27.6578 0 + vertex -21.1001 27.7294 -0.1 + vertex -20.7979 27.6578 -0.1 + endloop + endfacet + facet normal -0.312278 -0.949991 0 + outer loop + vertex -20.7979 27.6578 -0.1 + vertex -20.5419 27.5737 0 + vertex -20.7979 27.6578 0 + endloop + endfacet + facet normal -0.312278 -0.949991 -0 + outer loop + vertex -20.5419 27.5737 0 + vertex -20.7979 27.6578 -0.1 + vertex -20.5419 27.5737 -0.1 + endloop + endfacet + facet normal -0.411473 -0.911422 0 + outer loop + vertex -20.5419 27.5737 -0.1 + vertex -20.3206 27.4738 0 + vertex -20.5419 27.5737 0 + endloop + endfacet + facet normal -0.411473 -0.911422 -0 + outer loop + vertex -20.3206 27.4738 0 + vertex -20.5419 27.5737 -0.1 + vertex -20.3206 27.4738 -0.1 + endloop + endfacet + facet normal -0.51473 -0.857352 0 + outer loop + vertex -20.3206 27.4738 -0.1 + vertex -20.1227 27.3549 0 + vertex -20.3206 27.4738 0 + endloop + endfacet + facet normal -0.51473 -0.857352 -0 + outer loop + vertex -20.1227 27.3549 0 + vertex -20.3206 27.4738 -0.1 + vertex -20.1227 27.3549 -0.1 + endloop + endfacet + facet normal -0.604059 -0.79694 0 + outer loop + vertex -20.1227 27.3549 -0.1 + vertex -19.9368 27.2141 0 + vertex -20.1227 27.3549 0 + endloop + endfacet + facet normal -0.604059 -0.79694 -0 + outer loop + vertex -19.9368 27.2141 0 + vertex -20.1227 27.3549 -0.1 + vertex -19.9368 27.2141 -0.1 + endloop + endfacet + facet normal -0.64002 -0.768358 0 + outer loop + vertex -19.9368 27.2141 -0.1 + vertex -19.3233 26.703 0 + vertex -19.9368 27.2141 0 + endloop + endfacet + facet normal -0.64002 -0.768358 -0 + outer loop + vertex -19.3233 26.703 0 + vertex -19.9368 27.2141 -0.1 + vertex -19.3233 26.703 -0.1 + endloop + endfacet + facet normal 0.254038 -0.967194 0 + outer loop + vertex -19.3233 26.703 -0.1 + vertex -16.9758 27.3196 0 + vertex -19.3233 26.703 0 + endloop + endfacet + facet normal 0.254038 -0.967194 0 + outer loop + vertex -16.9758 27.3196 0 + vertex -19.3233 26.703 -0.1 + vertex -16.9758 27.3196 -0.1 + endloop + endfacet + facet normal 0.236306 -0.971679 0 + outer loop + vertex -16.9758 27.3196 -0.1 + vertex -16.0674 27.5405 0 + vertex -16.9758 27.3196 0 + endloop + endfacet + facet normal 0.236306 -0.971679 0 + outer loop + vertex -16.0674 27.5405 0 + vertex -16.9758 27.3196 -0.1 + vertex -16.0674 27.5405 -0.1 + endloop + endfacet + facet normal 0.186349 -0.982484 0 + outer loop + vertex -16.0674 27.5405 -0.1 + vertex -15.2259 27.7001 0 + vertex -16.0674 27.5405 0 + endloop + endfacet + facet normal 0.186349 -0.982484 0 + outer loop + vertex -15.2259 27.7001 0 + vertex -16.0674 27.5405 -0.1 + vertex -15.2259 27.7001 -0.1 + endloop + endfacet + facet normal 0.119004 -0.992894 0 + outer loop + vertex -15.2259 27.7001 -0.1 + vertex -14.4014 27.7989 0 + vertex -15.2259 27.7001 0 + endloop + endfacet + facet normal 0.119004 -0.992894 0 + outer loop + vertex -14.4014 27.7989 0 + vertex -15.2259 27.7001 -0.1 + vertex -14.4014 27.7989 -0.1 + endloop + endfacet + facet normal 0.0448493 -0.998994 0 + outer loop + vertex -14.4014 27.7989 -0.1 + vertex -13.5445 27.8374 0 + vertex -14.4014 27.7989 0 + endloop + endfacet + facet normal 0.0448493 -0.998994 0 + outer loop + vertex -13.5445 27.8374 0 + vertex -14.4014 27.7989 -0.1 + vertex -13.5445 27.8374 -0.1 + endloop + endfacet + facet normal -0.0227723 -0.999741 0 + outer loop + vertex -13.5445 27.8374 -0.1 + vertex -12.6053 27.816 0 + vertex -13.5445 27.8374 0 + endloop + endfacet + facet normal -0.0227723 -0.999741 -0 + outer loop + vertex -12.6053 27.816 0 + vertex -13.5445 27.8374 -0.1 + vertex -12.6053 27.816 -0.1 + endloop + endfacet + facet normal -0.0752121 -0.997168 0 + outer loop + vertex -12.6053 27.816 -0.1 + vertex -11.5342 27.7352 0 + vertex -12.6053 27.816 0 + endloop + endfacet + facet normal -0.0752121 -0.997168 -0 + outer loop + vertex -11.5342 27.7352 0 + vertex -12.6053 27.816 -0.1 + vertex -11.5342 27.7352 -0.1 + endloop + endfacet + facet normal -0.110844 -0.993838 0 + outer loop + vertex -11.5342 27.7352 -0.1 + vertex -10.2816 27.5955 0 + vertex -11.5342 27.7352 0 + endloop + endfacet + facet normal -0.110844 -0.993838 -0 + outer loop + vertex -10.2816 27.5955 0 + vertex -11.5342 27.7352 -0.1 + vertex -10.2816 27.5955 -0.1 + endloop + endfacet + facet normal -0.132367 -0.991201 0 + outer loop + vertex -10.2816 27.5955 -0.1 + vertex -8.79778 27.3973 0 + vertex -10.2816 27.5955 0 + endloop + endfacet + facet normal -0.132367 -0.991201 -0 + outer loop + vertex -8.79778 27.3973 0 + vertex -10.2816 27.5955 -0.1 + vertex -8.79778 27.3973 -0.1 + endloop + endfacet + facet normal -0.122316 -0.992491 0 + outer loop + vertex -8.79778 27.3973 -0.1 + vertex -7.89877 27.2865 0 + vertex -8.79778 27.3973 0 + endloop + endfacet + facet normal -0.122316 -0.992491 -0 + outer loop + vertex -7.89877 27.2865 0 + vertex -8.79778 27.3973 -0.1 + vertex -7.89877 27.2865 -0.1 + endloop + endfacet + facet normal -0.0652699 -0.997868 0 + outer loop + vertex -7.89877 27.2865 -0.1 + vertex -7.24334 27.2437 0 + vertex -7.89877 27.2865 0 + endloop + endfacet + facet normal -0.0652699 -0.997868 -0 + outer loop + vertex -7.24334 27.2437 0 + vertex -7.89877 27.2865 -0.1 + vertex -7.24334 27.2437 -0.1 + endloop + endfacet + facet normal 0.0157984 -0.999875 0 + outer loop + vertex -7.24334 27.2437 -0.1 + vertex -6.99768 27.2475 0 + vertex -7.24334 27.2437 0 + endloop + endfacet + facet normal 0.0157984 -0.999875 0 + outer loop + vertex -6.99768 27.2475 0 + vertex -7.24334 27.2437 -0.1 + vertex -6.99768 27.2475 -0.1 + endloop + endfacet + facet normal 0.104958 -0.994477 0 + outer loop + vertex -6.99768 27.2475 -0.1 + vertex -6.80178 27.2682 0 + vertex -6.99768 27.2475 0 + endloop + endfacet + facet normal 0.104958 -0.994477 0 + outer loop + vertex -6.80178 27.2682 0 + vertex -6.99768 27.2475 -0.1 + vertex -6.80178 27.2682 -0.1 + endloop + endfacet + facet normal 0.242196 -0.970227 0 + outer loop + vertex -6.80178 27.2682 -0.1 + vertex -6.65192 27.3056 0 + vertex -6.80178 27.2682 0 + endloop + endfacet + facet normal 0.242196 -0.970227 0 + outer loop + vertex -6.65192 27.3056 0 + vertex -6.80178 27.2682 -0.1 + vertex -6.65192 27.3056 -0.1 + endloop + endfacet + facet normal 0.449315 -0.893373 0 + outer loop + vertex -6.65192 27.3056 -0.1 + vertex -6.54439 27.3597 0 + vertex -6.65192 27.3056 0 + endloop + endfacet + facet normal 0.449315 -0.893373 0 + outer loop + vertex -6.54439 27.3597 0 + vertex -6.65192 27.3056 -0.1 + vertex -6.54439 27.3597 -0.1 + endloop + endfacet + facet normal 0.709468 -0.704738 0 + outer loop + vertex -6.54439 27.3597 0 + vertex -6.44763 27.4571 -0.1 + vertex -6.44763 27.4571 0 + endloop + endfacet + facet normal 0.709468 -0.704738 0 + outer loop + vertex -6.44763 27.4571 -0.1 + vertex -6.54439 27.3597 0 + vertex -6.54439 27.3597 -0.1 + endloop + endfacet + facet normal 0.90334 -0.428926 0 + outer loop + vertex -6.44763 27.4571 0 + vertex -6.37156 27.6173 -0.1 + vertex -6.37156 27.6173 0 + endloop + endfacet + facet normal 0.90334 -0.428926 0 + outer loop + vertex -6.37156 27.6173 -0.1 + vertex -6.44763 27.4571 0 + vertex -6.44763 27.4571 -0.1 + endloop + endfacet + facet normal 0.975305 -0.220862 0 + outer loop + vertex -6.37156 27.6173 0 + vertex -6.31368 27.8729 -0.1 + vertex -6.31368 27.8729 0 + endloop + endfacet + facet normal 0.975305 -0.220862 0 + outer loop + vertex -6.31368 27.8729 -0.1 + vertex -6.37156 27.6173 0 + vertex -6.37156 27.6173 -0.1 + endloop + endfacet + facet normal 0.994005 -0.109334 0 + outer loop + vertex -6.31368 27.8729 0 + vertex -6.27149 28.2565 -0.1 + vertex -6.27149 28.2565 0 + endloop + endfacet + facet normal 0.994005 -0.109334 0 + outer loop + vertex -6.27149 28.2565 -0.1 + vertex -6.31368 27.8729 0 + vertex -6.31368 27.8729 -0.1 + endloop + endfacet + facet normal 0.998582 -0.0532268 0 + outer loop + vertex -6.27149 28.2565 0 + vertex -6.24249 28.8007 -0.1 + vertex -6.24249 28.8007 0 + endloop + endfacet + facet normal 0.998582 -0.0532268 0 + outer loop + vertex -6.24249 28.8007 -0.1 + vertex -6.27149 28.2565 0 + vertex -6.27149 28.2565 -0.1 + endloop + endfacet + facet normal 0.999691 -0.0248385 0 + outer loop + vertex -6.24249 28.8007 0 + vertex -6.22417 29.538 -0.1 + vertex -6.22417 29.538 0 + endloop + endfacet + facet normal 0.999691 -0.0248385 0 + outer loop + vertex -6.22417 29.538 -0.1 + vertex -6.24249 28.8007 0 + vertex -6.24249 28.8007 -0.1 + endloop + endfacet + facet normal 0.999978 -0.00667916 0 + outer loop + vertex -6.22417 29.538 0 + vertex -6.20957 31.7226 -0.1 + vertex -6.20957 31.7226 0 + endloop + endfacet + facet normal 0.999978 -0.00667916 0 + outer loop + vertex -6.20957 31.7226 -0.1 + vertex -6.22417 29.538 0 + vertex -6.22417 29.538 -0.1 + endloop + endfacet + facet normal 0.999955 -0.00944041 0 + outer loop + vertex -6.20957 31.7226 0 + vertex -6.19415 33.3563 -0.1 + vertex -6.19415 33.3563 0 + endloop + endfacet + facet normal 0.999955 -0.00944041 0 + outer loop + vertex -6.19415 33.3563 -0.1 + vertex -6.20957 31.7226 0 + vertex -6.20957 31.7226 -0.1 + endloop + endfacet + facet normal 0.999658 -0.0261462 0 + outer loop + vertex -6.19415 33.3563 0 + vertex -6.15766 34.7516 -0.1 + vertex -6.15766 34.7516 0 + endloop + endfacet + facet normal 0.999658 -0.0261462 0 + outer loop + vertex -6.15766 34.7516 -0.1 + vertex -6.19415 33.3563 0 + vertex -6.19415 33.3563 -0.1 + endloop + endfacet + facet normal 0.998669 -0.0515827 0 + outer loop + vertex -6.15766 34.7516 0 + vertex -6.10555 35.7605 -0.1 + vertex -6.10555 35.7605 0 + endloop + endfacet + facet normal 0.998669 -0.0515827 0 + outer loop + vertex -6.10555 35.7605 -0.1 + vertex -6.15766 34.7516 0 + vertex -6.15766 34.7516 -0.1 + endloop + endfacet + facet normal 0.995383 -0.0959818 0 + outer loop + vertex -6.10555 35.7605 0 + vertex -6.07534 36.0738 -0.1 + vertex -6.07534 36.0738 0 + endloop + endfacet + facet normal 0.995383 -0.0959818 0 + outer loop + vertex -6.07534 36.0738 -0.1 + vertex -6.10555 35.7605 0 + vertex -6.10555 35.7605 -0.1 + endloop + endfacet + facet normal 0.980771 -0.195161 0 + outer loop + vertex -6.07534 36.0738 0 + vertex -6.04327 36.2349 -0.1 + vertex -6.04327 36.2349 0 + endloop + endfacet + facet normal 0.980771 -0.195161 0 + outer loop + vertex -6.04327 36.2349 -0.1 + vertex -6.07534 36.0738 0 + vertex -6.07534 36.0738 -0.1 + endloop + endfacet + facet normal 0.887411 -0.460979 0 + outer loop + vertex -6.04327 36.2349 0 + vertex -5.92579 36.4611 -0.1 + vertex -5.92579 36.4611 0 + endloop + endfacet + facet normal 0.887411 -0.460979 0 + outer loop + vertex -5.92579 36.4611 -0.1 + vertex -6.04327 36.2349 0 + vertex -6.04327 36.2349 -0.1 + endloop + endfacet + facet normal 0.77348 -0.633821 0 + outer loop + vertex -5.92579 36.4611 0 + vertex -5.86569 36.5344 -0.1 + vertex -5.86569 36.5344 0 + endloop + endfacet + facet normal 0.77348 -0.633821 0 + outer loop + vertex -5.86569 36.5344 -0.1 + vertex -5.92579 36.4611 0 + vertex -5.92579 36.4611 -0.1 + endloop + endfacet + facet normal 0.607425 -0.794377 0 + outer loop + vertex -5.86569 36.5344 -0.1 + vertex -5.80457 36.5812 0 + vertex -5.86569 36.5344 0 + endloop + endfacet + facet normal 0.607425 -0.794377 0 + outer loop + vertex -5.80457 36.5812 0 + vertex -5.86569 36.5344 -0.1 + vertex -5.80457 36.5812 -0.1 + endloop + endfacet + facet normal 0.306429 -0.951894 0 + outer loop + vertex -5.80457 36.5812 -0.1 + vertex -5.74234 36.6012 0 + vertex -5.80457 36.5812 0 + endloop + endfacet + facet normal 0.306429 -0.951894 0 + outer loop + vertex -5.74234 36.6012 0 + vertex -5.80457 36.5812 -0.1 + vertex -5.74234 36.6012 -0.1 + endloop + endfacet + facet normal -0.106116 -0.994354 0 + outer loop + vertex -5.74234 36.6012 -0.1 + vertex -5.67893 36.5944 0 + vertex -5.74234 36.6012 0 + endloop + endfacet + facet normal -0.106116 -0.994354 -0 + outer loop + vertex -5.67893 36.5944 0 + vertex -5.74234 36.6012 -0.1 + vertex -5.67893 36.5944 -0.1 + endloop + endfacet + facet normal -0.461592 -0.887092 0 + outer loop + vertex -5.67893 36.5944 -0.1 + vertex -5.61425 36.5608 0 + vertex -5.67893 36.5944 0 + endloop + endfacet + facet normal -0.461592 -0.887092 -0 + outer loop + vertex -5.61425 36.5608 0 + vertex -5.67893 36.5944 -0.1 + vertex -5.61425 36.5608 -0.1 + endloop + endfacet + facet normal -0.67638 -0.736553 0 + outer loop + vertex -5.61425 36.5608 -0.1 + vertex -5.54821 36.5001 0 + vertex -5.61425 36.5608 0 + endloop + endfacet + facet normal -0.67638 -0.736553 -0 + outer loop + vertex -5.54821 36.5001 0 + vertex -5.61425 36.5608 -0.1 + vertex -5.54821 36.5001 -0.1 + endloop + endfacet + facet normal -0.829388 -0.558673 0 + outer loop + vertex -5.41174 36.2975 -0.1 + vertex -5.54821 36.5001 0 + vertex -5.54821 36.5001 -0.1 + endloop + endfacet + facet normal -0.829388 -0.558673 0 + outer loop + vertex -5.54821 36.5001 0 + vertex -5.41174 36.2975 -0.1 + vertex -5.41174 36.2975 0 + endloop + endfacet + facet normal -0.909006 -0.416783 0 + outer loop + vertex -5.26884 35.9859 -0.1 + vertex -5.41174 36.2975 0 + vertex -5.41174 36.2975 -0.1 + endloop + endfacet + facet normal -0.909006 -0.416783 0 + outer loop + vertex -5.41174 36.2975 0 + vertex -5.26884 35.9859 -0.1 + vertex -5.26884 35.9859 0 + endloop + endfacet + facet normal -0.942118 -0.335281 0 + outer loop + vertex -5.11886 35.5644 -0.1 + vertex -5.26884 35.9859 0 + vertex -5.26884 35.9859 -0.1 + endloop + endfacet + facet normal -0.942118 -0.335281 0 + outer loop + vertex -5.26884 35.9859 0 + vertex -5.11886 35.5644 -0.1 + vertex -5.11886 35.5644 0 + endloop + endfacet + facet normal -0.958738 -0.28429 0 + outer loop + vertex -4.96111 35.0324 -0.1 + vertex -5.11886 35.5644 0 + vertex -5.11886 35.5644 -0.1 + endloop + endfacet + facet normal -0.958738 -0.28429 0 + outer loop + vertex -5.11886 35.5644 0 + vertex -4.96111 35.0324 -0.1 + vertex -4.96111 35.0324 0 + endloop + endfacet + facet normal -0.959965 -0.280118 0 + outer loop + vertex -4.73722 34.2652 -0.1 + vertex -4.96111 35.0324 0 + vertex -4.96111 35.0324 -0.1 + endloop + endfacet + facet normal -0.959965 -0.280118 0 + outer loop + vertex -4.96111 35.0324 0 + vertex -4.73722 34.2652 -0.1 + vertex -4.73722 34.2652 0 + endloop + endfacet + facet normal -0.950901 -0.309494 0 + outer loop + vertex -4.49616 33.5245 -0.1 + vertex -4.73722 34.2652 0 + vertex -4.73722 34.2652 -0.1 + endloop + endfacet + facet normal -0.950901 -0.309494 0 + outer loop + vertex -4.73722 34.2652 0 + vertex -4.49616 33.5245 -0.1 + vertex -4.49616 33.5245 0 + endloop + endfacet + facet normal -0.940636 -0.339418 0 + outer loop + vertex -4.23933 32.8128 -0.1 + vertex -4.49616 33.5245 0 + vertex -4.49616 33.5245 -0.1 + endloop + endfacet + facet normal -0.940636 -0.339418 0 + outer loop + vertex -4.49616 33.5245 0 + vertex -4.23933 32.8128 -0.1 + vertex -4.23933 32.8128 0 + endloop + endfacet + facet normal -0.928971 -0.370153 0 + outer loop + vertex -3.96814 32.1322 -0.1 + vertex -4.23933 32.8128 0 + vertex -4.23933 32.8128 -0.1 + endloop + endfacet + facet normal -0.928971 -0.370153 0 + outer loop + vertex -4.23933 32.8128 0 + vertex -3.96814 32.1322 -0.1 + vertex -3.96814 32.1322 0 + endloop + endfacet + facet normal -0.915636 -0.402008 0 + outer loop + vertex -3.68399 31.485 -0.1 + vertex -3.96814 32.1322 0 + vertex -3.96814 32.1322 -0.1 + endloop + endfacet + facet normal -0.915636 -0.402008 0 + outer loop + vertex -3.96814 32.1322 0 + vertex -3.68399 31.485 -0.1 + vertex -3.68399 31.485 0 + endloop + endfacet + facet normal -0.900273 -0.435326 0 + outer loop + vertex -3.38828 30.8734 -0.1 + vertex -3.68399 31.485 0 + vertex -3.68399 31.485 -0.1 + endloop + endfacet + facet normal -0.900273 -0.435326 0 + outer loop + vertex -3.68399 31.485 0 + vertex -3.38828 30.8734 -0.1 + vertex -3.38828 30.8734 0 + endloop + endfacet + facet normal -0.882395 -0.47051 0 + outer loop + vertex -3.08241 30.2998 -0.1 + vertex -3.38828 30.8734 0 + vertex -3.38828 30.8734 -0.1 + endloop + endfacet + facet normal -0.882395 -0.47051 0 + outer loop + vertex -3.38828 30.8734 0 + vertex -3.08241 30.2998 -0.1 + vertex -3.08241 30.2998 0 + endloop + endfacet + facet normal -0.861349 -0.508014 0 + outer loop + vertex -2.7678 29.7664 -0.1 + vertex -3.08241 30.2998 0 + vertex -3.08241 30.2998 -0.1 + endloop + endfacet + facet normal -0.861349 -0.508014 0 + outer loop + vertex -3.08241 30.2998 0 + vertex -2.7678 29.7664 -0.1 + vertex -2.7678 29.7664 0 + endloop + endfacet + facet normal -0.83625 -0.548349 0 + outer loop + vertex -2.44583 29.2754 -0.1 + vertex -2.7678 29.7664 0 + vertex -2.7678 29.7664 -0.1 + endloop + endfacet + facet normal -0.83625 -0.548349 0 + outer loop + vertex -2.7678 29.7664 0 + vertex -2.44583 29.2754 -0.1 + vertex -2.44583 29.2754 0 + endloop + endfacet + facet normal -0.805875 -0.592086 0 + outer loop + vertex -2.11792 28.8291 -0.1 + vertex -2.44583 29.2754 0 + vertex -2.44583 29.2754 -0.1 + endloop + endfacet + facet normal -0.805875 -0.592086 0 + outer loop + vertex -2.44583 29.2754 0 + vertex -2.11792 28.8291 -0.1 + vertex -2.11792 28.8291 0 + endloop + endfacet + facet normal -0.768548 -0.639792 0 + outer loop + vertex -1.78547 28.4297 -0.1 + vertex -2.11792 28.8291 0 + vertex -2.11792 28.8291 -0.1 + endloop + endfacet + facet normal -0.768548 -0.639792 0 + outer loop + vertex -2.11792 28.8291 0 + vertex -1.78547 28.4297 -0.1 + vertex -1.78547 28.4297 0 + endloop + endfacet + facet normal -0.721954 -0.691941 0 + outer loop + vertex -1.44988 28.0795 -0.1 + vertex -1.78547 28.4297 0 + vertex -1.78547 28.4297 -0.1 + endloop + endfacet + facet normal -0.721954 -0.691941 0 + outer loop + vertex -1.78547 28.4297 0 + vertex -1.44988 28.0795 -0.1 + vertex -1.44988 28.0795 0 + endloop + endfacet + facet normal -0.662916 -0.748694 0 + outer loop + vertex -1.44988 28.0795 -0.1 + vertex -1.11256 27.7809 0 + vertex -1.44988 28.0795 0 + endloop + endfacet + facet normal -0.662916 -0.748694 -0 + outer loop + vertex -1.11256 27.7809 0 + vertex -1.44988 28.0795 -0.1 + vertex -1.11256 27.7809 -0.1 + endloop + endfacet + facet normal -0.5872 -0.809442 0 + outer loop + vertex -1.11256 27.7809 -0.1 + vertex -0.7749 27.5359 0 + vertex -1.11256 27.7809 0 + endloop + endfacet + facet normal -0.5872 -0.809442 -0 + outer loop + vertex -0.7749 27.5359 0 + vertex -1.11256 27.7809 -0.1 + vertex -0.7749 27.5359 -0.1 + endloop + endfacet + facet normal -0.48954 -0.871981 0 + outer loop + vertex -0.7749 27.5359 -0.1 + vertex -0.438314 27.347 0 + vertex -0.7749 27.5359 0 + endloop + endfacet + facet normal -0.48954 -0.871981 -0 + outer loop + vertex -0.438314 27.347 0 + vertex -0.7749 27.5359 -0.1 + vertex -0.438314 27.347 -0.1 + endloop + endfacet + facet normal -0.364353 -0.931261 0 + outer loop + vertex -0.438314 27.347 -0.1 + vertex -0.104203 27.2162 0 + vertex -0.438314 27.347 0 + endloop + endfacet + facet normal -0.364353 -0.931261 -0 + outer loop + vertex -0.104203 27.2162 0 + vertex -0.438314 27.347 -0.1 + vertex -0.104203 27.2162 -0.1 + endloop + endfacet + facet normal -0.248562 -0.968616 0 + outer loop + vertex -0.104203 27.2162 -0.1 + vertex 0.215611 27.1342 0 + vertex -0.104203 27.2162 0 + endloop + endfacet + facet normal -0.248562 -0.968616 -0 + outer loop + vertex 0.215611 27.1342 0 + vertex -0.104203 27.2162 -0.1 + vertex 0.215611 27.1342 -0.1 + endloop + endfacet + facet normal -0.161031 -0.986949 0 + outer loop + vertex 0.215611 27.1342 -0.1 + vertex 0.505992 27.0868 0 + vertex 0.215611 27.1342 0 + endloop + endfacet + facet normal -0.161031 -0.986949 -0 + outer loop + vertex 0.505992 27.0868 0 + vertex 0.215611 27.1342 -0.1 + vertex 0.505992 27.0868 -0.1 + endloop + endfacet + facet normal -0.0401535 -0.999194 0 + outer loop + vertex 0.505992 27.0868 -0.1 + vertex 0.734953 27.0776 0 + vertex 0.505992 27.0868 0 + endloop + endfacet + facet normal -0.0401535 -0.999194 -0 + outer loop + vertex 0.734953 27.0776 0 + vertex 0.505992 27.0868 -0.1 + vertex 0.734953 27.0776 -0.1 + endloop + endfacet + facet normal 0.1315 -0.991316 0 + outer loop + vertex 0.734953 27.0776 -0.1 + vertex 0.816408 27.0884 0 + vertex 0.734953 27.0776 0 + endloop + endfacet + facet normal 0.1315 -0.991316 0 + outer loop + vertex 0.816408 27.0884 0 + vertex 0.734953 27.0776 -0.1 + vertex 0.816408 27.0884 -0.1 + endloop + endfacet + facet normal 0.371587 -0.928398 0 + outer loop + vertex 0.816408 27.0884 -0.1 + vertex 0.870515 27.1101 0 + vertex 0.816408 27.0884 0 + endloop + endfacet + facet normal 0.371587 -0.928398 0 + outer loop + vertex 0.870515 27.1101 0 + vertex 0.816408 27.0884 -0.1 + vertex 0.870515 27.1101 -0.1 + endloop + endfacet + facet normal 0.819454 -0.573145 0 + outer loop + vertex 0.870515 27.1101 0 + vertex 0.908598 27.1645 -0.1 + vertex 0.908598 27.1645 0 + endloop + endfacet + facet normal 0.819454 -0.573145 0 + outer loop + vertex 0.908598 27.1645 -0.1 + vertex 0.870515 27.1101 0 + vertex 0.870515 27.1101 -0.1 + endloop + endfacet + facet normal 0.947054 -0.321074 0 + outer loop + vertex 0.908598 27.1645 0 + vertex 0.944126 27.2693 -0.1 + vertex 0.944126 27.2693 0 + endloop + endfacet + facet normal 0.947054 -0.321074 0 + outer loop + vertex 0.944126 27.2693 -0.1 + vertex 0.908598 27.1645 0 + vertex 0.908598 27.1645 -0.1 + endloop + endfacet + facet normal 0.984285 -0.17659 0 + outer loop + vertex 0.944126 27.2693 0 + vertex 1.00441 27.6053 -0.1 + vertex 1.00441 27.6053 0 + endloop + endfacet + facet normal 0.984285 -0.17659 0 + outer loop + vertex 1.00441 27.6053 -0.1 + vertex 0.944126 27.2693 0 + vertex 0.944126 27.2693 -0.1 + endloop + endfacet + facet normal 0.996161 -0.0875344 0 + outer loop + vertex 1.00441 27.6053 0 + vertex 1.04514 28.0688 -0.1 + vertex 1.04514 28.0688 0 + endloop + endfacet + facet normal 0.996161 -0.0875344 0 + outer loop + vertex 1.04514 28.0688 -0.1 + vertex 1.00441 27.6053 0 + vertex 1.00441 27.6053 -0.1 + endloop + endfacet + facet normal 0.999619 -0.0276007 0 + outer loop + vertex 1.04514 28.0688 0 + vertex 1.0601 28.6106 -0.1 + vertex 1.0601 28.6106 0 + endloop + endfacet + facet normal 0.999619 -0.0276007 0 + outer loop + vertex 1.0601 28.6106 -0.1 + vertex 1.04514 28.0688 0 + vertex 1.04514 28.0688 -0.1 + endloop + endfacet + facet normal 0.999546 -0.0301211 0 + outer loop + vertex 1.0601 28.6106 0 + vertex 1.07949 29.2543 -0.1 + vertex 1.07949 29.2543 0 + endloop + endfacet + facet normal 0.999546 -0.0301211 0 + outer loop + vertex 1.07949 29.2543 -0.1 + vertex 1.0601 28.6106 0 + vertex 1.0601 28.6106 -0.1 + endloop + endfacet + facet normal 0.995652 -0.0931476 0 + outer loop + vertex 1.07949 29.2543 0 + vertex 1.13903 29.8907 -0.1 + vertex 1.13903 29.8907 0 + endloop + endfacet + facet normal 0.995652 -0.0931476 0 + outer loop + vertex 1.13903 29.8907 -0.1 + vertex 1.07949 29.2543 0 + vertex 1.07949 29.2543 -0.1 + endloop + endfacet + facet normal 0.987491 -0.157674 0 + outer loop + vertex 1.13903 29.8907 0 + vertex 1.24074 30.5277 -0.1 + vertex 1.24074 30.5277 0 + endloop + endfacet + facet normal 0.987491 -0.157674 0 + outer loop + vertex 1.24074 30.5277 -0.1 + vertex 1.13903 29.8907 0 + vertex 1.13903 29.8907 -0.1 + endloop + endfacet + facet normal 0.975385 -0.220507 0 + outer loop + vertex 1.24074 30.5277 0 + vertex 1.38662 31.173 -0.1 + vertex 1.38662 31.173 0 + endloop + endfacet + facet normal 0.975385 -0.220507 0 + outer loop + vertex 1.38662 31.173 -0.1 + vertex 1.24074 30.5277 0 + vertex 1.24074 30.5277 -0.1 + endloop + endfacet + facet normal 0.960327 -0.278878 0 + outer loop + vertex 1.38662 31.173 0 + vertex 1.57871 31.8344 -0.1 + vertex 1.57871 31.8344 0 + endloop + endfacet + facet normal 0.960327 -0.278878 0 + outer loop + vertex 1.57871 31.8344 -0.1 + vertex 1.38662 31.173 0 + vertex 1.38662 31.173 -0.1 + endloop + endfacet + facet normal 0.943682 -0.330853 0 + outer loop + vertex 1.57871 31.8344 0 + vertex 1.81903 32.5199 -0.1 + vertex 1.81903 32.5199 0 + endloop + endfacet + facet normal 0.943682 -0.330853 0 + outer loop + vertex 1.81903 32.5199 -0.1 + vertex 1.57871 31.8344 0 + vertex 1.57871 31.8344 -0.1 + endloop + endfacet + facet normal 0.926833 -0.375474 0 + outer loop + vertex 1.81903 32.5199 0 + vertex 2.10958 33.2371 -0.1 + vertex 2.10958 33.2371 0 + endloop + endfacet + facet normal 0.926833 -0.375474 0 + outer loop + vertex 2.10958 33.2371 -0.1 + vertex 1.81903 32.5199 0 + vertex 1.81903 32.5199 -0.1 + endloop + endfacet + facet normal 0.910903 -0.412619 0 + outer loop + vertex 2.10958 33.2371 0 + vertex 2.4524 33.9939 -0.1 + vertex 2.4524 33.9939 0 + endloop + endfacet + facet normal 0.910903 -0.412619 0 + outer loop + vertex 2.4524 33.9939 -0.1 + vertex 2.10958 33.2371 0 + vertex 2.10958 33.2371 -0.1 + endloop + endfacet + facet normal 0.897899 -0.440202 0 + outer loop + vertex 2.4524 33.9939 0 + vertex 2.84738 34.7996 -0.1 + vertex 2.84738 34.7996 0 + endloop + endfacet + facet normal 0.897899 -0.440202 0 + outer loop + vertex 2.84738 34.7996 -0.1 + vertex 2.4524 33.9939 0 + vertex 2.4524 33.9939 -0.1 + endloop + endfacet + facet normal 0.887623 -0.460571 0 + outer loop + vertex 2.84738 34.7996 0 + vertex 3.26543 35.6052 -0.1 + vertex 3.26543 35.6052 0 + endloop + endfacet + facet normal 0.887623 -0.460571 0 + outer loop + vertex 3.26543 35.6052 -0.1 + vertex 2.84738 34.7996 0 + vertex 2.84738 34.7996 -0.1 + endloop + endfacet + facet normal 0.877821 -0.478989 0 + outer loop + vertex 3.26543 35.6052 0 + vertex 3.68699 36.3778 -0.1 + vertex 3.68699 36.3778 0 + endloop + endfacet + facet normal 0.877821 -0.478989 0 + outer loop + vertex 3.68699 36.3778 -0.1 + vertex 3.26543 35.6052 0 + vertex 3.26543 35.6052 -0.1 + endloop + endfacet + facet normal 0.867241 -0.497888 0 + outer loop + vertex 3.68699 36.3778 0 + vertex 4.09252 37.0842 -0.1 + vertex 4.09252 37.0842 0 + endloop + endfacet + facet normal 0.867241 -0.497888 0 + outer loop + vertex 4.09252 37.0842 -0.1 + vertex 3.68699 36.3778 0 + vertex 3.68699 36.3778 -0.1 + endloop + endfacet + facet normal 0.853923 -0.520399 0 + outer loop + vertex 4.09252 37.0842 0 + vertex 4.46246 37.6912 -0.1 + vertex 4.46246 37.6912 0 + endloop + endfacet + facet normal 0.853923 -0.520399 0 + outer loop + vertex 4.46246 37.6912 -0.1 + vertex 4.09252 37.0842 0 + vertex 4.09252 37.0842 -0.1 + endloop + endfacet + facet normal 0.833342 -0.552757 0 + outer loop + vertex 4.46246 37.6912 0 + vertex 4.77727 38.1658 -0.1 + vertex 4.77727 38.1658 0 + endloop + endfacet + facet normal 0.833342 -0.552757 0 + outer loop + vertex 4.77727 38.1658 -0.1 + vertex 4.46246 37.6912 0 + vertex 4.46246 37.6912 -0.1 + endloop + endfacet + facet normal 0.789667 -0.613535 0 + outer loop + vertex 4.77727 38.1658 0 + vertex 5.01738 38.4749 -0.1 + vertex 5.01738 38.4749 0 + endloop + endfacet + facet normal 0.789667 -0.613535 0 + outer loop + vertex 5.01738 38.4749 -0.1 + vertex 4.77727 38.1658 0 + vertex 4.77727 38.1658 -0.1 + endloop + endfacet + facet normal 0.690746 -0.723097 0 + outer loop + vertex 5.01738 38.4749 -0.1 + vertex 5.10332 38.557 0 + vertex 5.01738 38.4749 0 + endloop + endfacet + facet normal 0.690746 -0.723097 0 + outer loop + vertex 5.10332 38.557 0 + vertex 5.01738 38.4749 -0.1 + vertex 5.10332 38.557 -0.1 + endloop + endfacet + facet normal 0.426773 -0.904359 0 + outer loop + vertex 5.10332 38.557 -0.1 + vertex 5.16325 38.5852 0 + vertex 5.10332 38.557 0 + endloop + endfacet + facet normal 0.426773 -0.904359 0 + outer loop + vertex 5.16325 38.5852 0 + vertex 5.10332 38.557 -0.1 + vertex 5.16325 38.5852 -0.1 + endloop + endfacet + facet normal -0.22248 -0.974937 0 + outer loop + vertex 5.16325 38.5852 -0.1 + vertex 5.20457 38.5758 0 + vertex 5.16325 38.5852 0 + endloop + endfacet + facet normal -0.22248 -0.974937 -0 + outer loop + vertex 5.20457 38.5758 0 + vertex 5.16325 38.5852 -0.1 + vertex 5.20457 38.5758 -0.1 + endloop + endfacet + facet normal -0.944948 0.327219 0 + outer loop + vertex 7.1242 19.0144 -0.1 + vertex 7.15267 19.0966 0 + vertex 7.15267 19.0966 -0.1 + endloop + endfacet + facet normal -0.944948 0.327219 0 + outer loop + vertex 7.15267 19.0966 0 + vertex 7.1242 19.0144 -0.1 + vertex 7.1242 19.0144 0 + endloop + endfacet + facet normal -0.999677 -0.0254292 0 + outer loop + vertex 7.1273 18.8927 -0.1 + vertex 7.1242 19.0144 0 + vertex 7.1242 19.0144 -0.1 + endloop + endfacet + facet normal -0.999677 -0.0254292 0 + outer loop + vertex 7.1242 19.0144 0 + vertex 7.1273 18.8927 -0.1 + vertex 7.1273 18.8927 0 + endloop + endfacet + facet normal -0.971548 -0.236844 0 + outer loop + vertex 7.16351 18.7442 -0.1 + vertex 7.1273 18.8927 0 + vertex 7.1273 18.8927 -0.1 + endloop + endfacet + facet normal -0.971548 -0.236844 0 + outer loop + vertex 7.1273 18.8927 0 + vertex 7.16351 18.7442 -0.1 + vertex 7.16351 18.7442 0 + endloop + endfacet + facet normal -0.922269 -0.38655 0 + outer loop + vertex 7.29207 18.4374 -0.1 + vertex 7.16351 18.7442 0 + vertex 7.16351 18.7442 -0.1 + endloop + endfacet + facet normal -0.922269 -0.38655 0 + outer loop + vertex 7.16351 18.7442 0 + vertex 7.29207 18.4374 -0.1 + vertex 7.29207 18.4374 0 + endloop + endfacet + facet normal -0.894309 -0.44745 0 + outer loop + vertex 7.49889 18.0241 -0.1 + vertex 7.29207 18.4374 0 + vertex 7.29207 18.4374 -0.1 + endloop + endfacet + facet normal -0.894309 -0.44745 0 + outer loop + vertex 7.29207 18.4374 0 + vertex 7.49889 18.0241 -0.1 + vertex 7.49889 18.0241 0 + endloop + endfacet + facet normal -0.872312 -0.488949 0 + outer loop + vertex 8.03973 17.0592 -0.1 + vertex 7.49889 18.0241 0 + vertex 7.49889 18.0241 -0.1 + endloop + endfacet + facet normal -0.872312 -0.488949 0 + outer loop + vertex 7.49889 18.0241 0 + vertex 8.03973 17.0592 -0.1 + vertex 8.03973 17.0592 0 + endloop + endfacet + facet normal -0.84697 -0.53164 0 + outer loop + vertex 8.57086 16.213 -0.1 + vertex 8.03973 17.0592 0 + vertex 8.03973 17.0592 -0.1 + endloop + endfacet + facet normal -0.84697 -0.53164 0 + outer loop + vertex 8.03973 17.0592 0 + vertex 8.57086 16.213 -0.1 + vertex 8.57086 16.213 0 + endloop + endfacet + facet normal -0.805848 -0.592122 0 + outer loop + vertex 8.76553 15.9481 -0.1 + vertex 8.57086 16.213 0 + vertex 8.57086 16.213 -0.1 + endloop + endfacet + facet normal -0.805848 -0.592122 0 + outer loop + vertex 8.57086 16.213 0 + vertex 8.76553 15.9481 -0.1 + vertex 8.76553 15.9481 0 + endloop + endfacet + facet normal -0.732738 -0.680511 0 + outer loop + vertex 8.83337 15.875 -0.1 + vertex 8.76553 15.9481 0 + vertex 8.76553 15.9481 -0.1 + endloop + endfacet + facet normal -0.732738 -0.680511 0 + outer loop + vertex 8.76553 15.9481 0 + vertex 8.83337 15.875 -0.1 + vertex 8.83337 15.875 0 + endloop + endfacet + facet normal -0.509392 -0.860535 0 + outer loop + vertex 8.83337 15.875 -0.1 + vertex 8.87708 15.8492 0 + vertex 8.83337 15.875 0 + endloop + endfacet + facet normal -0.509392 -0.860535 -0 + outer loop + vertex 8.87708 15.8492 0 + vertex 8.83337 15.875 -0.1 + vertex 8.87708 15.8492 -0.1 + endloop + endfacet + facet normal 0.216566 -0.976268 0 + outer loop + vertex 8.87708 15.8492 -0.1 + vertex 8.99158 15.8746 0 + vertex 8.87708 15.8492 0 + endloop + endfacet + facet normal 0.216566 -0.976268 0 + outer loop + vertex 8.99158 15.8746 0 + vertex 8.87708 15.8492 -0.1 + vertex 8.99158 15.8746 -0.1 + endloop + endfacet + facet normal 0.333607 -0.942712 0 + outer loop + vertex 8.99158 15.8746 -0.1 + vertex 9.19116 15.9452 0 + vertex 8.99158 15.8746 0 + endloop + endfacet + facet normal 0.333607 -0.942712 0 + outer loop + vertex 9.19116 15.9452 0 + vertex 8.99158 15.8746 -0.1 + vertex 9.19116 15.9452 -0.1 + endloop + endfacet + facet normal 0.395815 -0.91833 0 + outer loop + vertex 9.19116 15.9452 -0.1 + vertex 9.73318 16.1788 0 + vertex 9.19116 15.9452 0 + endloop + endfacet + facet normal 0.395815 -0.91833 0 + outer loop + vertex 9.73318 16.1788 0 + vertex 9.19116 15.9452 -0.1 + vertex 9.73318 16.1788 -0.1 + endloop + endfacet + facet normal 0.425917 -0.904762 0 + outer loop + vertex 9.73318 16.1788 -0.1 + vertex 10.4375 16.5104 0 + vertex 9.73318 16.1788 0 + endloop + endfacet + facet normal 0.425917 -0.904762 0 + outer loop + vertex 10.4375 16.5104 0 + vertex 9.73318 16.1788 -0.1 + vertex 10.4375 16.5104 -0.1 + endloop + endfacet + facet normal 0.716732 0.697349 0 + outer loop + vertex 10.4375 16.5104 0 + vertex 9.77546 17.1908 -0.1 + vertex 9.77546 17.1908 0 + endloop + endfacet + facet normal 0.716732 0.697349 0 + outer loop + vertex 9.77546 17.1908 -0.1 + vertex 10.4375 16.5104 0 + vertex 10.4375 16.5104 -0.1 + endloop + endfacet + facet normal 0.695522 0.718505 -0 + outer loop + vertex 9.77546 17.1908 -0.1 + vertex 9.46246 17.4938 0 + vertex 9.77546 17.1908 0 + endloop + endfacet + facet normal 0.695522 0.718505 0 + outer loop + vertex 9.46246 17.4938 0 + vertex 9.77546 17.1908 -0.1 + vertex 9.46246 17.4938 -0.1 + endloop + endfacet + facet normal 0.663067 0.74856 -0 + outer loop + vertex 9.46246 17.4938 -0.1 + vertex 9.09841 17.8163 0 + vertex 9.46246 17.4938 0 + endloop + endfacet + facet normal 0.663067 0.74856 0 + outer loop + vertex 9.09841 17.8163 0 + vertex 9.46246 17.4938 -0.1 + vertex 9.09841 17.8163 -0.1 + endloop + endfacet + facet normal 0.6264 0.779502 -0 + outer loop + vertex 9.09841 17.8163 -0.1 + vertex 8.31493 18.4459 0 + vertex 9.09841 17.8163 0 + endloop + endfacet + facet normal 0.6264 0.779502 0 + outer loop + vertex 8.31493 18.4459 0 + vertex 9.09841 17.8163 -0.1 + vertex 8.31493 18.4459 -0.1 + endloop + endfacet + facet normal 0.58921 0.80798 -0 + outer loop + vertex 8.31493 18.4459 -0.1 + vertex 7.9444 18.7161 0 + vertex 8.31493 18.4459 0 + endloop + endfacet + facet normal 0.58921 0.80798 0 + outer loop + vertex 7.9444 18.7161 0 + vertex 8.31493 18.4459 -0.1 + vertex 7.9444 18.7161 -0.1 + endloop + endfacet + facet normal 0.554709 0.832044 -0 + outer loop + vertex 7.9444 18.7161 -0.1 + vertex 7.62063 18.9319 0 + vertex 7.9444 18.7161 0 + endloop + endfacet + facet normal 0.554709 0.832044 0 + outer loop + vertex 7.62063 18.9319 0 + vertex 7.9444 18.7161 -0.1 + vertex 7.62063 18.9319 -0.1 + endloop + endfacet + facet normal 0.492817 0.870133 -0 + outer loop + vertex 7.62063 18.9319 -0.1 + vertex 7.36805 19.075 0 + vertex 7.62063 18.9319 0 + endloop + endfacet + facet normal 0.492817 0.870133 0 + outer loop + vertex 7.36805 19.075 0 + vertex 7.62063 18.9319 -0.1 + vertex 7.36805 19.075 -0.1 + endloop + endfacet + facet normal 0.313373 0.94963 -0 + outer loop + vertex 7.36805 19.075 -0.1 + vertex 7.21113 19.1268 0 + vertex 7.36805 19.075 0 + endloop + endfacet + facet normal 0.313373 0.94963 0 + outer loop + vertex 7.21113 19.1268 0 + vertex 7.36805 19.075 -0.1 + vertex 7.21113 19.1268 -0.1 + endloop + endfacet + facet normal -0.458832 0.888523 0 + outer loop + vertex 7.21113 19.1268 -0.1 + vertex 7.15267 19.0966 0 + vertex 7.21113 19.1268 0 + endloop + endfacet + facet normal -0.458832 0.888523 0 + outer loop + vertex 7.15267 19.0966 0 + vertex 7.21113 19.1268 -0.1 + vertex 7.15267 19.0966 -0.1 + endloop + endfacet + facet normal -0.0478819 0.998853 0 + outer loop + vertex -14.6988 24.986 -0.1 + vertex -15.4289 24.9511 0 + vertex -14.6988 24.986 0 + endloop + endfacet + facet normal -0.0478819 0.998853 0 + outer loop + vertex -15.4289 24.9511 0 + vertex -14.6988 24.986 -0.1 + vertex -15.4289 24.9511 -0.1 + endloop + endfacet + facet normal -0.102501 0.994733 0 + outer loop + vertex -15.4289 24.9511 -0.1 + vertex -16.0762 24.8844 0 + vertex -15.4289 24.9511 0 + endloop + endfacet + facet normal -0.102501 0.994733 0 + outer loop + vertex -16.0762 24.8844 0 + vertex -15.4289 24.9511 -0.1 + vertex -16.0762 24.8844 -0.1 + endloop + endfacet + facet normal -0.186067 0.982537 0 + outer loop + vertex -16.0762 24.8844 -0.1 + vertex -16.599 24.7853 0 + vertex -16.0762 24.8844 0 + endloop + endfacet + facet normal -0.186067 0.982537 0 + outer loop + vertex -16.599 24.7853 0 + vertex -16.0762 24.8844 -0.1 + vertex -16.599 24.7853 -0.1 + endloop + endfacet + facet normal -0.197458 0.980311 0 + outer loop + vertex -16.599 24.7853 -0.1 + vertex -17.1707 24.6702 0 + vertex -16.599 24.7853 0 + endloop + endfacet + facet normal -0.197458 0.980311 0 + outer loop + vertex -17.1707 24.6702 0 + vertex -16.599 24.7853 -0.1 + vertex -17.1707 24.6702 -0.1 + endloop + endfacet + facet normal -0.159115 0.98726 0 + outer loop + vertex -17.1707 24.6702 -0.1 + vertex -18.0818 24.5233 0 + vertex -17.1707 24.6702 0 + endloop + endfacet + facet normal -0.159115 0.98726 0 + outer loop + vertex -18.0818 24.5233 0 + vertex -17.1707 24.6702 -0.1 + vertex -18.0818 24.5233 -0.1 + endloop + endfacet + facet normal -0.140489 0.990082 0 + outer loop + vertex -18.0818 24.5233 -0.1 + vertex -19.207 24.3637 0 + vertex -18.0818 24.5233 0 + endloop + endfacet + facet normal -0.140489 0.990082 0 + outer loop + vertex -19.207 24.3637 0 + vertex -18.0818 24.5233 -0.1 + vertex -19.207 24.3637 -0.1 + endloop + endfacet + facet normal -0.125539 0.992089 0 + outer loop + vertex -19.207 24.3637 -0.1 + vertex -20.4207 24.2101 0 + vertex -19.207 24.3637 0 + endloop + endfacet + facet normal -0.125539 0.992089 0 + outer loop + vertex -20.4207 24.2101 0 + vertex -19.207 24.3637 -0.1 + vertex -20.4207 24.2101 -0.1 + endloop + endfacet + facet normal -0.117788 0.993039 0 + outer loop + vertex -20.4207 24.2101 -0.1 + vertex -23.3692 23.8604 0 + vertex -20.4207 24.2101 0 + endloop + endfacet + facet normal -0.117788 0.993039 0 + outer loop + vertex -23.3692 23.8604 0 + vertex -20.4207 24.2101 -0.1 + vertex -23.3692 23.8604 -0.1 + endloop + endfacet + facet normal -0.645441 -0.76381 0 + outer loop + vertex -23.3692 23.8604 -0.1 + vertex -22.6524 23.2546 0 + vertex -23.3692 23.8604 0 + endloop + endfacet + facet normal -0.645441 -0.76381 -0 + outer loop + vertex -22.6524 23.2546 0 + vertex -23.3692 23.8604 -0.1 + vertex -22.6524 23.2546 -0.1 + endloop + endfacet + facet normal -0.595678 -0.803224 0 + outer loop + vertex -22.6524 23.2546 -0.1 + vertex -22.3422 23.0246 0 + vertex -22.6524 23.2546 0 + endloop + endfacet + facet normal -0.595678 -0.803224 -0 + outer loop + vertex -22.3422 23.0246 0 + vertex -22.6524 23.2546 -0.1 + vertex -22.3422 23.0246 -0.1 + endloop + endfacet + facet normal -0.490603 -0.871383 0 + outer loop + vertex -22.3422 23.0246 -0.1 + vertex -22.0315 22.8497 0 + vertex -22.3422 23.0246 0 + endloop + endfacet + facet normal -0.490603 -0.871383 -0 + outer loop + vertex -22.0315 22.8497 0 + vertex -22.3422 23.0246 -0.1 + vertex -22.0315 22.8497 -0.1 + endloop + endfacet + facet normal -0.350196 -0.936677 0 + outer loop + vertex -22.0315 22.8497 -0.1 + vertex -21.755 22.7463 0 + vertex -22.0315 22.8497 0 + endloop + endfacet + facet normal -0.350196 -0.936677 -0 + outer loop + vertex -21.755 22.7463 0 + vertex -22.0315 22.8497 -0.1 + vertex -21.755 22.7463 -0.1 + endloop + endfacet + facet normal -0.169545 -0.985522 0 + outer loop + vertex -21.755 22.7463 -0.1 + vertex -21.6404 22.7266 0 + vertex -21.755 22.7463 0 + endloop + endfacet + facet normal -0.169545 -0.985522 -0 + outer loop + vertex -21.6404 22.7266 0 + vertex -21.755 22.7463 -0.1 + vertex -21.6404 22.7266 -0.1 + endloop + endfacet + facet normal 0.0467747 -0.998905 0 + outer loop + vertex -21.6404 22.7266 -0.1 + vertex -21.5474 22.7309 0 + vertex -21.6404 22.7266 0 + endloop + endfacet + facet normal 0.0467747 -0.998905 0 + outer loop + vertex -21.5474 22.7309 0 + vertex -21.6404 22.7266 -0.1 + vertex -21.5474 22.7309 -0.1 + endloop + endfacet + facet normal 0.160131 -0.987096 0 + outer loop + vertex -21.5474 22.7309 -0.1 + vertex -20.7318 22.8633 0 + vertex -21.5474 22.7309 0 + endloop + endfacet + facet normal 0.160131 -0.987096 0 + outer loop + vertex -20.7318 22.8633 0 + vertex -21.5474 22.7309 -0.1 + vertex -20.7318 22.8633 -0.1 + endloop + endfacet + facet normal 0.141843 -0.989889 0 + outer loop + vertex -20.7318 22.8633 -0.1 + vertex -19.3158 23.0662 0 + vertex -20.7318 22.8633 0 + endloop + endfacet + facet normal 0.141843 -0.989889 0 + outer loop + vertex -19.3158 23.0662 0 + vertex -20.7318 22.8633 -0.1 + vertex -19.3158 23.0662 -0.1 + endloop + endfacet + facet normal 0.145154 -0.989409 0 + outer loop + vertex -19.3158 23.0662 -0.1 + vertex -17.0412 23.3999 0 + vertex -19.3158 23.0662 0 + endloop + endfacet + facet normal 0.145154 -0.989409 0 + outer loop + vertex -17.0412 23.3999 0 + vertex -19.3158 23.0662 -0.1 + vertex -17.0412 23.3999 -0.1 + endloop + endfacet + facet normal 0.153306 -0.988179 0 + outer loop + vertex -17.0412 23.3999 -0.1 + vertex -14.1612 23.8467 0 + vertex -17.0412 23.3999 0 + endloop + endfacet + facet normal 0.153306 -0.988179 0 + outer loop + vertex -14.1612 23.8467 0 + vertex -17.0412 23.3999 -0.1 + vertex -14.1612 23.8467 -0.1 + endloop + endfacet + facet normal 0.152324 -0.988331 0 + outer loop + vertex -14.1612 23.8467 -0.1 + vertex -10.5711 24.4 0 + vertex -14.1612 23.8467 0 + endloop + endfacet + facet normal 0.152324 -0.988331 0 + outer loop + vertex -10.5711 24.4 0 + vertex -14.1612 23.8467 -0.1 + vertex -10.5711 24.4 -0.1 + endloop + endfacet + facet normal 0.28937 -0.957217 0 + outer loop + vertex -10.5711 24.4 -0.1 + vertex -10.5349 24.4109 0 + vertex -10.5711 24.4 0 + endloop + endfacet + facet normal 0.28937 -0.957217 0 + outer loop + vertex -10.5349 24.4109 0 + vertex -10.5711 24.4 -0.1 + vertex -10.5349 24.4109 -0.1 + endloop + endfacet + facet normal 0.978613 0.20571 0 + outer loop + vertex -10.5349 24.4109 0 + vertex -10.5394 24.4322 -0.1 + vertex -10.5394 24.4322 0 + endloop + endfacet + facet normal 0.978613 0.20571 0 + outer loop + vertex -10.5394 24.4322 -0.1 + vertex -10.5349 24.4109 0 + vertex -10.5349 24.4109 -0.1 + endloop + endfacet + facet normal 0.497201 0.867635 -0 + outer loop + vertex -10.5394 24.4322 -0.1 + vertex -10.6591 24.5009 0 + vertex -10.5394 24.4322 0 + endloop + endfacet + facet normal 0.497201 0.867635 0 + outer loop + vertex -10.6591 24.5009 0 + vertex -10.5394 24.4322 -0.1 + vertex -10.6591 24.5009 -0.1 + endloop + endfacet + facet normal 0.356744 0.934202 -0 + outer loop + vertex -10.6591 24.5009 -0.1 + vertex -10.9077 24.5958 0 + vertex -10.6591 24.5009 0 + endloop + endfacet + facet normal 0.356744 0.934202 0 + outer loop + vertex -10.9077 24.5958 0 + vertex -10.6591 24.5009 -0.1 + vertex -10.9077 24.5958 -0.1 + endloop + endfacet + facet normal 0.299009 0.95425 -0 + outer loop + vertex -10.9077 24.5958 -0.1 + vertex -11.2625 24.7069 0 + vertex -10.9077 24.5958 0 + endloop + endfacet + facet normal 0.299009 0.95425 0 + outer loop + vertex -11.2625 24.7069 0 + vertex -10.9077 24.5958 -0.1 + vertex -11.2625 24.7069 -0.1 + endloop + endfacet + facet normal 0.214726 0.976674 -0 + outer loop + vertex -11.2625 24.7069 -0.1 + vertex -11.7825 24.8213 0 + vertex -11.2625 24.7069 0 + endloop + endfacet + facet normal 0.214726 0.976674 0 + outer loop + vertex -11.7825 24.8213 0 + vertex -11.2625 24.7069 -0.1 + vertex -11.7825 24.8213 -0.1 + endloop + endfacet + facet normal 0.131639 0.991298 -0 + outer loop + vertex -11.7825 24.8213 -0.1 + vertex -12.4277 24.907 0 + vertex -11.7825 24.8213 0 + endloop + endfacet + facet normal 0.131639 0.991298 0 + outer loop + vertex -12.4277 24.907 0 + vertex -11.7825 24.8213 -0.1 + vertex -12.4277 24.907 -0.1 + endloop + endfacet + facet normal 0.0771921 0.997016 -0 + outer loop + vertex -12.4277 24.907 -0.1 + vertex -13.1566 24.9634 0 + vertex -12.4277 24.907 0 + endloop + endfacet + facet normal 0.0771921 0.997016 0 + outer loop + vertex -13.1566 24.9634 0 + vertex -12.4277 24.907 -0.1 + vertex -13.1566 24.9634 -0.1 + endloop + endfacet + facet normal 0.0344425 0.999407 -0 + outer loop + vertex -13.1566 24.9634 -0.1 + vertex -13.9275 24.99 0 + vertex -13.1566 24.9634 0 + endloop + endfacet + facet normal 0.0344425 0.999407 0 + outer loop + vertex -13.9275 24.99 0 + vertex -13.1566 24.9634 -0.1 + vertex -13.9275 24.99 -0.1 + endloop + endfacet + facet normal -0.00506693 0.999987 0 + outer loop + vertex -13.9275 24.99 -0.1 + vertex -14.6988 24.986 0 + vertex -13.9275 24.99 0 + endloop + endfacet + facet normal -0.00506693 0.999987 0 + outer loop + vertex -14.6988 24.986 0 + vertex -13.9275 24.99 -0.1 + vertex -14.6988 24.986 -0.1 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -110 -110 -3 + vertex -110 110 0 + vertex -110 110 -3 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -110 110 0 + vertex -110 -110 -3 + vertex -110 -110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.0919 -25.8829 0 + vertex -27.8988 -26.2055 0 + vertex -27.9236 -26.0946 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.8988 -26.2055 0 + vertex -28.2888 -25.7968 0 + vertex -27.8924 -26.5154 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.0919 -25.8829 0 + vertex -27.9236 -26.0946 0 + vertex -27.9636 -26.0069 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.0919 -25.8829 0 + vertex -27.9636 -26.0069 0 + vertex -28.0195 -25.9379 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.8988 -26.2055 0 + vertex -28.0919 -25.8829 0 + vertex -28.2888 -25.7968 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.5596 -25.7117 0 + vertex -27.8924 -26.5154 0 + vertex -28.2888 -25.7968 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.8924 -26.5154 0 + vertex -28.5596 -25.7117 0 + vertex -27.9393 -26.9734 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.7678 -25.6646 0 + vertex -27.9393 -26.9734 0 + vertex -28.5596 -25.7117 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.9103 -14.3386 0 + vertex -21.5729 -16.4428 0 + vertex -21.5693 -15.5508 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.1296 -14.5577 0 + vertex -21.5693 -15.5508 0 + vertex -21.5879 -15.2616 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.8956 -13.512 0 + vertex -35.4754 -14.1281 0 + vertex -35.4904 -13.894 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.6956 -13.593 0 + vertex -35.4904 -13.894 0 + vertex -35.5189 -13.7992 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.6956 -13.593 0 + vertex -35.5189 -13.7992 0 + vertex -35.5622 -13.718 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.1669 -13.4677 0 + vertex -35.4754 -14.1281 0 + vertex -35.8956 -13.512 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.6956 -13.593 0 + vertex -35.5622 -13.718 0 + vertex -35.6209 -13.6496 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.4904 -13.894 0 + vertex -35.6956 -13.593 0 + vertex -35.8956 -13.512 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.4754 -14.1281 0 + vertex -36.1669 -13.4677 0 + vertex -35.5123 -14.4274 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.5145 -13.4531 0 + vertex -35.5123 -14.4274 0 + vertex -36.1669 -13.4677 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.5123 -14.4274 0 + vertex -36.5145 -13.4531 0 + vertex -35.5964 -14.799 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.7305 -13.4387 0 + vertex -35.5964 -14.799 0 + vertex -36.5145 -13.4531 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.5964 -14.799 0 + vertex -36.7305 -13.4387 0 + vertex -35.7796 -15.3934 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.9216 -13.3997 0 + vertex -35.7796 -15.3934 0 + vertex -36.7305 -13.4387 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.0874 -13.3385 0 + vertex -35.7796 -15.3934 0 + vertex -36.9216 -13.3997 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.7796 -15.3934 0 + vertex -37.0874 -13.3385 0 + vertex -36.0907 -16.2655 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.2276 -13.2576 0 + vertex -36.0907 -16.2655 0 + vertex -37.0874 -13.3385 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.0907 -16.2655 0 + vertex -37.2276 -13.2576 0 + vertex -36.5163 -17.3821 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.3418 -13.1594 0 + vertex -36.5163 -17.3821 0 + vertex -37.2276 -13.2576 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.4296 -13.0463 0 + vertex -36.5163 -17.3821 0 + vertex -37.3418 -13.1594 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.5163 -17.3821 0 + vertex -37.4296 -13.0463 0 + vertex -37.0431 -18.7102 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.4908 -12.9209 0 + vertex -37.0431 -18.7102 0 + vertex -37.4296 -13.0463 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.3469 -21.8682 0 + vertex -37.4908 -12.9209 0 + vertex -37.5249 -12.7854 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.3834 -12.1929 0 + vertex -38.6203 24.2212 0 + vertex -37.4611 -12.3438 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.4908 -12.9209 0 + vertex -38.3469 -21.8682 0 + vertex -37.0431 -18.7102 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.8955 -25.4747 0 + vertex -37.5249 -12.7854 0 + vertex -37.5315 -12.6425 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.8265 24.6102 0 + vertex -37.4611 -12.3438 0 + vertex -38.6203 24.2212 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.4611 -12.3438 0 + vertex -38.8265 24.6102 0 + vertex -37.5104 -12.4945 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.0227 25.0923 0 + vertex -37.5104 -12.4945 0 + vertex -38.8265 24.6102 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.846 -36.863 0 + vertex -37.5104 -12.4945 0 + vertex -39.0227 25.0923 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -47.7274 -36.6957 0 + vertex -37.5104 -12.4945 0 + vertex -47.846 -36.863 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.846 -36.863 0 + vertex -39.0227 25.0923 0 + vertex -39.1186 25.4589 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 110 0 + vertex -39.1186 25.4589 0 + vertex -39.13 25.5984 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -47.5785 -36.5332 0 + vertex -37.5315 -12.6425 0 + vertex -47.7274 -36.6957 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.0107 24.2804 0 + vertex -26.053 23.8437 0 + vertex -24.6523 24.0122 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.5818 24.4056 0 + vertex -26.053 23.8437 0 + vertex -26.0107 24.2804 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.5818 24.4056 0 + vertex -26.7338 23.7794 0 + vertex -26.053 23.8437 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.1227 24.5501 0 + vertex -26.7338 23.7794 0 + vertex -26.5818 24.4056 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.1227 24.5501 0 + vertex -27.3569 23.7586 0 + vertex -26.7338 23.7794 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.636 24.7152 0 + vertex -27.3569 23.7586 0 + vertex -27.1227 24.5501 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.636 24.7152 0 + vertex -27.9279 23.7822 0 + vertex -27.3569 23.7586 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.1248 24.9019 0 + vertex -27.9279 23.7822 0 + vertex -27.636 24.7152 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.1248 24.9019 0 + vertex -28.4524 23.8513 0 + vertex -27.9279 23.7822 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.9359 23.9669 0 + vertex -28.1248 24.9019 0 + vertex -28.5919 25.1115 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.1248 24.9019 0 + vertex -28.9359 23.9669 0 + vertex -28.4524 23.8513 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.384 24.13 0 + vertex -28.5919 25.1115 0 + vertex -29.0402 25.3453 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.5919 25.1115 0 + vertex -29.384 24.13 0 + vertex -28.9359 23.9669 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.8023 24.3416 0 + vertex -29.0402 25.3453 0 + vertex -29.4725 25.6043 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.0402 25.3453 0 + vertex -29.8023 24.3416 0 + vertex -29.384 24.13 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.5308 24.8328 0 + vertex -29.4725 25.6043 0 + vertex -29.8918 25.8898 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.4725 25.6043 0 + vertex -30.1964 24.6027 0 + vertex -29.8023 24.3416 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.4725 25.6043 0 + vertex -30.5308 24.8328 0 + vertex -30.1964 24.6027 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.8055 24.9813 0 + vertex -29.8918 25.8898 0 + vertex -30.6514 26.471 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.8918 25.8898 0 + vertex -30.8055 24.9813 0 + vertex -30.5308 24.8328 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.1676 25.0376 0 + vertex -30.6514 26.471 0 + vertex -30.9143 26.7038 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.6514 26.471 0 + vertex -31.0185 25.0493 0 + vertex -30.8055 24.9813 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.6514 26.471 0 + vertex -31.1012 25.0533 0 + vertex -31.0185 25.0493 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.1676 25.0376 0 + vertex -30.9143 26.7038 0 + vertex -31.1043 26.9038 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.6514 26.471 0 + vertex -31.1676 25.0376 0 + vertex -31.1012 25.0533 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.1043 26.9038 0 + vertex -31.2175 25.0021 0 + vertex -31.1676 25.0376 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2248 27.0754 0 + vertex -31.2175 25.0021 0 + vertex -31.1043 26.9038 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2248 27.0754 0 + vertex -31.2507 24.9472 0 + vertex -31.2175 25.0021 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.2082 23.4707 0 + vertex -31.2507 24.9472 0 + vertex -31.2248 27.0754 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.2082 23.4707 0 + vertex -31.2248 27.0754 0 + vertex -31.2795 27.2229 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.9294 20.0018 0 + vertex -10.9261 19.832 0 + vertex -10.904 19.9248 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.0035 20.0644 0 + vertex -10.9261 19.832 0 + vertex -10.9294 20.0018 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.9261 19.832 0 + vertex -11.0035 20.0644 0 + vertex -10.9948 19.7221 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.1271 20.114 0 + vertex -10.9948 19.7221 0 + vertex -11.0035 20.0644 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.9948 19.7221 0 + vertex -11.1271 20.114 0 + vertex -11.1091 19.5935 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.3013 20.1521 0 + vertex -11.1091 19.5935 0 + vertex -11.1271 20.114 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.5271 20.1801 0 + vertex -11.1091 19.5935 0 + vertex -11.3013 20.1521 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.1091 19.5935 0 + vertex -11.5271 20.1801 0 + vertex -11.4702 19.2748 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.1376 20.2112 0 + vertex -11.4702 19.2748 0 + vertex -11.5271 20.1801 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.4702 19.2748 0 + vertex -12.1376 20.2112 0 + vertex -12.0016 18.8648 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.9665 20.2187 0 + vertex -12.0016 18.8648 0 + vertex -12.1376 20.2112 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.9665 20.2187 0 + vertex -13.8225 17.5152 0 + vertex -12.0016 18.8648 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.9037 20.2008 0 + vertex -13.8225 17.5152 0 + vertex -12.9665 20.2187 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.8461 20.153 0 + vertex -13.8225 17.5152 0 + vertex -13.9037 20.2008 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.8225 17.5152 0 + vertex -14.8461 20.153 0 + vertex -14.4648 17.0612 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.684 20.0825 0 + vertex -14.4648 17.0612 0 + vertex -14.8461 20.153 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.4648 17.0612 0 + vertex -15.684 20.0825 0 + vertex -14.9972 16.7116 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.3079 19.9967 0 + vertex -14.9972 16.7116 0 + vertex -15.684 20.0825 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.9972 16.7116 0 + vertex -16.3079 19.9967 0 + vertex -15.4716 16.4339 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.2235 19.8332 0 + vertex -15.4716 16.4339 0 + vertex -16.3079 19.9967 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.4716 16.4339 0 + vertex -17.2235 19.8332 0 + vertex -15.9397 16.1961 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.9397 16.1961 0 + vertex -17.2235 19.8332 0 + vertex -16.4531 15.9659 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.1791 19.6811 0 + vertex -16.4531 15.9659 0 + vertex -17.2235 19.8332 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.4531 15.9659 0 + vertex -18.1791 19.6811 0 + vertex -17.0637 15.711 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.1791 19.6811 0 + vertex -18.4061 15.1884 0 + vertex -17.0637 15.711 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.1671 19.4139 0 + vertex -18.4061 15.1884 0 + vertex -18.1791 19.6811 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.4061 15.1884 0 + vertex -20.1671 19.4139 0 + vertex -19.7213 14.7364 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.1849 19.2007 0 + vertex -19.7213 14.7364 0 + vertex -20.1671 19.4139 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.7213 14.7364 0 + vertex -22.1849 19.2007 0 + vertex -21.0167 14.3533 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.1849 19.2007 0 + vertex -22.3001 14.0374 0 + vertex -21.0167 14.3533 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.1455 19.0472 0 + vertex -22.3001 14.0374 0 + vertex -22.1849 19.2007 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.3001 14.0374 0 + vertex -24.1455 19.0472 0 + vertex -23.579 13.787 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.1455 19.0472 0 + vertex -24.8613 13.6003 0 + vertex -23.579 13.787 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.9619 18.9589 0 + vertex -24.8613 13.6003 0 + vertex -24.1455 19.0472 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.9619 18.9589 0 + vertex -26.1544 13.4758 0 + vertex -24.8613 13.6003 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.7887 18.9409 0 + vertex -26.1544 13.4758 0 + vertex -25.9619 18.9589 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.7887 18.9409 0 + vertex -27.4661 13.4117 0 + vertex -26.1544 13.4758 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.5469 18.9414 0 + vertex -27.4661 13.4117 0 + vertex -26.7887 18.9409 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2256 18.9609 0 + vertex -27.4661 13.4117 0 + vertex -27.5469 18.9414 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.0548 13.353 0 + vertex -28.2256 18.9609 0 + vertex -28.8137 19.0002 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2256 18.9609 0 + vertex -29.0548 13.353 0 + vertex -27.4661 13.4117 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.3006 19.0599 0 + vertex -29.0548 13.353 0 + vertex -28.8137 19.0002 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.3006 19.0599 0 + vertex -29.5683 13.309 0 + vertex -29.0548 13.353 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.6752 19.1409 0 + vertex -29.5683 13.309 0 + vertex -29.3006 19.0599 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.6752 19.1409 0 + vertex -29.9294 13.2465 0 + vertex -29.5683 13.309 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.5811 19.4165 0 + vertex -29.9294 13.2465 0 + vertex -29.6752 19.1409 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.9294 13.2465 0 + vertex -30.5811 19.4165 0 + vertex -30.1646 13.1588 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.4466 19.7034 0 + vertex -30.1646 13.1588 0 + vertex -30.5811 19.4165 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1646 13.1588 0 + vertex -31.4466 19.7034 0 + vertex -30.2432 13.1034 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.271 20.0012 0 + vertex -30.2432 13.1034 0 + vertex -31.4466 19.7034 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.0533 20.3093 0 + vertex -30.3001 13.0393 0 + vertex -32.271 20.0012 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.2432 13.1034 0 + vertex -32.271 20.0012 0 + vertex -30.3001 13.0393 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.6083 4.95794 0 + vertex 23.6129 4.5634 0 + vertex 23.6192 4.7586 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.6083 4.95794 0 + vertex 23.5897 4.3717 0 + vertex 23.6129 4.5634 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.6083 4.95794 0 + vertex 23.5494 4.18291 0 + vertex 23.5897 4.3717 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.4183 3.81156 0 + vertex 23.6083 4.95794 0 + vertex 23.5351 5.37146 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.6083 4.95794 0 + vertex 23.4183 3.81156 0 + vertex 23.5494 4.18291 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.22 3.44442 0 + vertex 23.5351 5.37146 0 + vertex 23.3929 5.8089 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.5351 5.37146 0 + vertex 23.22 3.44442 0 + vertex 23.4183 3.81156 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.1811 6.27516 0 + vertex 23.22 3.44442 0 + vertex 23.3929 5.8089 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.1811 6.27516 0 + vertex 23.0427 3.12896 0 + vertex 23.22 3.44442 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.8992 6.77518 0 + vertex 23.0427 3.12896 0 + vertex 23.1811 6.27516 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.6639 4.10009 0 + vertex 23.0427 3.12896 0 + vertex 22.8992 6.77518 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 16.0356 2.90743 0 + vertex 23.0427 3.12896 0 + vertex 15.6639 4.10009 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0427 3.12896 0 + vertex 16.0356 2.90743 0 + vertex 22.9115 2.82433 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6639 4.10009 0 + vertex 22.8992 6.77518 0 + vertex 22.6364 7.18064 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4871 9.26334 0 + vertex 26.9615 2.94949 0 + vertex 26.9647 2.16551 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9103 6.51977 0 + vertex 27.0158 7.30485 0 + vertex 26.9517 6.92758 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2208 8.08714 0 + vertex 26.9294 3.98634 0 + vertex 26.9615 2.94949 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.0158 7.30485 0 + vertex 26.9103 6.51977 0 + vertex 26.8894 6.05157 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2208 8.08714 0 + vertex 26.8894 6.05157 0 + vertex 26.8871 5.49316 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2208 8.08714 0 + vertex 26.8871 5.49316 0 + vertex 26.9294 3.98634 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.8032 1.21715 0 + vertex 41.156 -19.2119 0 + vertex 26.8581 1.29842 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.156 -19.2119 0 + vertex 26.8032 1.21715 0 + vertex 40.4513 -19.4233 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 40.4513 -19.4233 0 + vertex 26.8032 1.21715 0 + vertex 39.5298 -19.7361 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9647 2.16551 0 + vertex 27.5397 9.70386 0 + vertex 27.4871 9.26334 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9615 2.94949 0 + vertex 27.4871 9.26334 0 + vertex 27.4176 8.86037 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9615 2.94949 0 + vertex 27.4176 8.86037 0 + vertex 27.3295 8.47496 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.9615 2.94949 0 + vertex 27.3295 8.47496 0 + vertex 27.2208 8.08714 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 39.5298 -19.7361 0 + vertex 26.8032 1.21715 0 + vertex 29.9546 -19.4981 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.8894 6.05157 0 + vertex 27.1048 7.68143 0 + vertex 27.0158 7.30485 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.1048 7.68143 0 + vertex 26.8894 6.05157 0 + vertex 27.2208 8.08714 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.9546 -19.4981 0 + vertex 26.8032 1.21715 0 + vertex 29.5013 -19.3404 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.5013 -19.3404 0 + vertex 26.8032 1.21715 0 + vertex 29.0007 -19.2301 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.7352 1.18648 0 + vertex 29.0007 -19.2301 0 + vertex 26.8032 1.21715 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.0007 -19.2301 0 + vertex 26.7352 1.18648 0 + vertex 28.4483 -19.1654 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.6819 -11.0243 0 + vertex 28.4483 -19.1654 0 + vertex 26.7352 1.18648 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.4483 -19.1654 0 + vertex 19.6819 -11.0243 0 + vertex 27.8398 -19.1444 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9199 -2.19366 0 + vertex 26.7352 1.18648 0 + vertex 26.6535 1.20459 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.1085 -1.15452 0 + vertex 26.6535 1.20459 0 + vertex 26.5572 1.2697 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 19.6895 -11.13 0 + vertex 27.8398 -19.1444 0 + vertex 19.6819 -11.0243 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.9975 2.16372 0 + vertex 26.5572 1.2697 0 + vertex 26.4455 1.37999 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.2201 2.19262 0 + vertex 26.4455 1.37999 0 + vertex 26.3175 1.53367 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.4388 2.25734 0 + vertex 26.3175 1.53367 0 + vertex 26.0094 1.96397 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.8398 -19.1444 0 + vertex 19.6895 -11.13 0 + vertex 27.1629 -19.1581 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6285 2.34829 0 + vertex 26.0094 1.96397 0 + vertex 25.8138 2.23679 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.764 2.4559 0 + vertex 25.8138 2.23679 0 + vertex 25.6376 2.44612 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.764 2.4559 0 + vertex 25.6376 2.44612 0 + vertex 25.4766 2.59351 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7352 1.18648 0 + vertex 20.8331 -2.41014 0 + vertex 20.7245 -2.61588 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.9074 2.59483 0 + vertex 25.4766 2.59351 0 + vertex 25.3271 2.68052 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.0464 2.67962 0 + vertex 25.3271 2.68052 0 + vertex 25.185 2.7087 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.3271 2.68052 0 + vertex 25.0464 2.67962 0 + vertex 24.9074 2.59483 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.8138 2.23679 0 + vertex 24.764 2.4559 0 + vertex 24.6285 2.34829 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.4766 2.59351 0 + vertex 24.9074 2.59483 0 + vertex 24.764 2.4559 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0094 1.96397 0 + vertex 24.6285 2.34829 0 + vertex 24.4388 2.25734 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.1629 -19.1581 0 + vertex 19.6895 -11.13 0 + vertex 26.5531 -19.2026 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.3175 1.53367 0 + vertex 24.4388 2.25734 0 + vertex 24.2201 2.19262 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.5531 -19.2026 0 + vertex 19.6598 -11.2975 0 + vertex 25.9886 -19.284 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.4455 1.37999 0 + vertex 24.2201 2.19262 0 + vertex 23.9975 2.16372 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.5572 1.2697 0 + vertex 23.9975 2.16372 0 + vertex 21.1355 -0.658014 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0469 1.94283 0 + vertex 23.9975 2.16372 0 + vertex 23.7673 2.14309 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.6598 -11.2975 0 + vertex 26.5531 -19.2026 0 + vertex 19.6895 -11.13 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0469 1.94283 0 + vertex 23.7673 2.14309 0 + vertex 23.5277 2.10089 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0469 1.94283 0 + vertex 23.5277 2.10089 0 + vertex 23.3072 2.04326 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7352 1.18648 0 + vertex 20.9199 -2.19366 0 + vertex 20.8331 -2.41014 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.9975 2.16372 0 + vertex 23.0469 1.94283 0 + vertex 21.1355 -0.658014 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.1316 -0.233279 0 + vertex 23.0469 1.94283 0 + vertex 22.9727 1.93385 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.099 0.0745682 0 + vertex 22.9727 1.93385 0 + vertex 22.9112 1.94773 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0726 0.170561 0 + vertex 22.9112 1.94773 0 + vertex 22.8622 1.9828 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0399 0.220413 0 + vertex 22.8622 1.9828 0 + vertex 22.8257 2.03737 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0399 0.220413 0 + vertex 22.8257 2.03737 0 + vertex 22.8016 2.10976 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9772 0.235111 0 + vertex 22.8016 2.10976 0 + vertex 22.7901 2.30129 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.9115 2.82433 0 + vertex 16.2363 2.34533 0 + vertex 22.827 2.54396 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6639 4.10009 0 + vertex 22.6364 7.18064 0 + vertex 22.3621 7.54907 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.6535 1.20459 0 + vertex 21.1085 -1.15452 0 + vertex 21.0399 -1.71534 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6639 4.10009 0 + vertex 22.3621 7.54907 0 + vertex 22.0631 7.89267 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6639 4.10009 0 + vertex 22.0631 7.89267 0 + vertex 21.7259 8.22365 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.5572 1.2697 0 + vertex 21.1355 -0.658014 0 + vertex 21.1085 -1.15452 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.498 4.716 0 + vertex 21.7259 8.22365 0 + vertex 21.3371 8.55423 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.6535 1.20459 0 + vertex 21.0399 -1.71534 0 + vertex 20.9878 -1.96317 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.6535 1.20459 0 + vertex 20.9878 -1.96317 0 + vertex 20.9199 -2.19366 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.5653 -11.6083 0 + vertex 25.9886 -19.284 0 + vertex 19.6598 -11.2975 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.1479 -12.7477 0 + vertex 25.4477 -19.4082 0 + vertex 19.5653 -11.6083 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.9086 -19.5812 0 + vertex 18.3699 -14.7241 0 + vertex 24.3497 -19.8089 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 18.3699 -14.7241 0 + vertex 24.9086 -19.5812 0 + vertex 19.1479 -12.7477 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.9886 -19.284 0 + vertex 19.5653 -11.6083 0 + vertex 25.4477 -19.4082 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7352 1.18648 0 + vertex 20.7245 -2.61588 0 + vertex 19.6583 -10.9333 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6583 -10.9333 0 + vertex 20.7245 -2.61588 0 + vertex 20.591 -2.8142 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6583 -10.9333 0 + vertex 20.591 -2.8142 0 + vertex 20.4297 -3.0084 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.3497 -19.8089 0 + vertex 18.3699 -14.7241 0 + vertex 23.7493 -20.0973 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6172 -10.8571 0 + vertex 20.4297 -3.0084 0 + vertex 20.2374 -3.20177 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6172 -10.8571 0 + vertex 20.2374 -3.20177 0 + vertex 20.0112 -3.39762 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.7493 -20.0973 0 + vertex 18.3699 -14.7241 0 + vertex 23.0854 -20.4525 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 17.1638 -17.7131 0 + vertex 23.0854 -20.4525 0 + vertex 18.3699 -14.7241 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0854 -20.4525 0 + vertex 17.1638 -17.7131 0 + vertex 22.3543 -20.8886 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.3543 -20.8886 0 + vertex 17.1638 -17.7131 0 + vertex 21.6485 -21.3703 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.6485 -21.3703 0 + vertex 17.1638 -17.7131 0 + vertex 20.9665 -21.899 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9665 -21.899 0 + vertex 17.1638 -17.7131 0 + vertex 20.3071 -22.4759 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3071 -22.4759 0 + vertex 17.1638 -17.7131 0 + vertex 19.6689 -23.1024 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6689 -23.1024 0 + vertex 17.1638 -17.7131 0 + vertex 19.0503 -23.7798 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.5952 -23.8342 0 + vertex 19.0503 -23.7798 0 + vertex 17.1638 -17.7131 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.0503 -23.7798 0 + vertex 14.5952 -23.8342 0 + vertex 18.4501 -24.5093 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4501 -24.5093 0 + vertex 14.5952 -23.8342 0 + vertex 17.8667 -25.2923 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.8667 -25.2923 0 + vertex 14.5952 -23.8342 0 + vertex 17.4656 -25.8764 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.4656 -25.8764 0 + vertex 14.5952 -23.8342 0 + vertex 17.0901 -26.4624 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.0901 -26.4624 0 + vertex 14.5952 -23.8342 0 + vertex 16.7406 -27.0496 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.7406 -27.0496 0 + vertex 14.5952 -23.8342 0 + vertex 16.4172 -27.6373 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.8097 -28.1484 0 + vertex 16.4172 -27.6373 0 + vertex 14.5952 -23.8342 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.4172 -27.6373 0 + vertex 12.8097 -28.1484 0 + vertex 16.1203 -28.2246 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.1203 -28.2246 0 + vertex 12.8097 -28.1484 0 + vertex 15.8502 -28.8109 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.8502 -28.8109 0 + vertex 12.8097 -28.1484 0 + vertex 15.6071 -29.3953 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6071 -29.3953 0 + vertex 12.8097 -28.1484 0 + vertex 15.3912 -29.9771 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0447 -30.0547 0 + vertex 15.3912 -29.9771 0 + vertex 12.8097 -28.1484 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.3912 -29.9771 0 + vertex 12.0447 -30.0547 0 + vertex 15.2028 -30.5555 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9098 -31.6993 0 + vertex 11.5005 -31.4602 0 + vertex 14.8056 -32.2631 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.5005 -31.4602 0 + vertex 14.9098 -31.6993 0 + vertex 12.0447 -30.0547 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0423 -31.1299 0 + vertex 12.0447 -30.0547 0 + vertex 14.9098 -31.6993 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2028 -30.5555 0 + vertex 12.0447 -30.0547 0 + vertex 15.0423 -31.1299 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.0186 22.3563 0 + vertex -30.0859 22.0525 0 + vertex -28.3394 21.9725 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.4321 22.5993 0 + vertex -30.0859 22.0525 0 + vertex -29.0186 22.3563 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.7937 22.8325 0 + vertex -30.0859 22.0525 0 + vertex -29.4321 22.5993 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1071 23.0591 0 + vertex -30.0859 22.0525 0 + vertex -29.7937 22.8325 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.5728 22.0884 0 + vertex -30.1071 23.0591 0 + vertex -30.3761 23.2826 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1071 23.0591 0 + vertex -30.5728 22.0884 0 + vertex -30.0859 22.0525 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.074 22.1513 0 + vertex -30.3761 23.2826 0 + vertex -30.6044 23.5064 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.5861 22.2399 0 + vertex -30.6044 23.5064 0 + vertex -30.7957 23.7338 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.1061 22.3529 0 + vertex -30.7957 23.7338 0 + vertex -30.9539 23.9682 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3761 23.2826 0 + vertex -31.074 22.1513 0 + vertex -30.5728 22.0884 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.1061 22.3529 0 + vertex -30.9539 23.9682 0 + vertex -31.0826 24.213 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.6306 22.489 0 + vertex -31.0826 24.213 0 + vertex -31.2103 24.5339 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.1564 22.6469 0 + vertex -31.2103 24.5339 0 + vertex -31.2656 24.779 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.6044 23.5064 0 + vertex -31.5861 22.2399 0 + vertex -31.074 22.1513 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.199 23.023 0 + vertex -31.2656 24.779 0 + vertex -31.2668 24.8727 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -34.7094 23.2385 0 + vertex -31.2507 24.9472 0 + vertex -35.2082 23.4707 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.06691 -19.2358 0 + vertex -17.4002 -11.6639 0 + vertex -17.3941 -11.77 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9775 12.4282 0 + vertex -17.4268 -11.5861 0 + vertex -17.4002 -11.6639 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9775 12.4282 0 + vertex -17.4764 -11.5321 0 + vertex -17.4268 -11.5861 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.5514 -11.4978 0 + vertex -17.3003 12.3696 0 + vertex -17.5181 12.3491 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9775 12.4282 0 + vertex -17.5514 -11.4978 0 + vertex -17.4764 -11.5321 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.5181 12.3491 0 + vertex -17.7876 -11.4712 0 + vertex -17.5514 -11.4978 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5728 12.2484 0 + vertex -17.5181 12.3491 0 + vertex -17.9556 12.3221 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.5181 12.3491 0 + vertex -18.5728 12.2484 0 + vertex -17.7876 -11.4712 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.2876 12.1394 0 + vertex -17.7876 -11.4712 0 + vertex -18.5728 12.2484 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.0181 12.0063 0 + vertex -17.7876 -11.4712 0 + vertex -19.2876 12.1394 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.4772 11.9313 0 + vertex -17.7876 -11.4712 0 + vertex -20.0181 12.0063 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -21.0446 11.8651 0 + vertex -17.7876 -11.4712 0 + vertex -20.4772 11.9313 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.4311 11.7593 0 + vertex -17.7876 -11.4712 0 + vertex -21.0446 11.8651 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.175 -11.3523 0 + vertex -22.4311 11.7593 0 + vertex -24.031 11.6901 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.175 -11.3523 0 + vertex -24.031 11.6901 0 + vertex -25.698 11.6586 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.4311 11.7593 0 + vertex -27.175 -11.3523 0 + vertex -17.7876 -11.4712 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.2855 11.6658 0 + vertex -27.175 -11.3523 0 + vertex -25.698 11.6586 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.647 11.7129 0 + vertex -27.175 -11.3523 0 + vertex -27.2855 11.6658 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.0944 -11.3029 0 + vertex -28.647 11.7129 0 + vertex -29.1973 11.7518 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.0944 -11.3029 0 + vertex -29.1973 11.7518 0 + vertex -29.6362 11.801 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.0944 -11.3029 0 + vertex -29.6362 11.801 0 + vertex -29.9453 11.8607 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.7011 -11.3017 0 + vertex -29.9453 11.8607 0 + vertex -30.0456 11.8946 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.6555 -11.3595 0 + vertex -30.0456 11.8946 0 + vertex -30.1065 11.9311 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.527 -11.5152 0 + vertex -30.1065 11.9311 0 + vertex -30.2115 12.0683 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.9755 -11.7636 0 + vertex -30.2115 12.0683 0 + vertex -30.2975 12.2549 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.2746 22.7082 0 + vertex -30.2975 12.2549 0 + vertex -30.3556 12.4664 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3001 13.0393 0 + vertex -33.0533 20.3093 0 + vertex -30.3387 12.9655 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.7926 20.6272 0 + vertex -30.3387 12.9655 0 + vertex -33.0533 20.3093 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3387 12.9655 0 + vertex -33.7926 20.6272 0 + vertex -30.3621 12.8813 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.647 11.7129 0 + vertex -32.0944 -11.3029 0 + vertex -27.175 -11.3523 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.4881 20.9542 0 + vertex -30.3621 12.8813 0 + vertex -33.7926 20.6272 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.1386 21.2899 0 + vertex -30.3621 12.8813 0 + vertex -34.4881 20.9542 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.9453 11.8607 0 + vertex -33.7011 -11.3017 0 + vertex -32.0944 -11.3029 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3621 12.8813 0 + vertex -35.1386 21.2899 0 + vertex -30.377 12.6783 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.7435 21.6336 0 + vertex -30.377 12.6783 0 + vertex -35.1386 21.2899 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.0456 11.8946 0 + vertex -34.8583 -11.3197 0 + vertex -33.7011 -11.3017 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.3017 21.985 0 + vertex -30.377 12.6783 0 + vertex -35.7435 21.6336 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.0456 11.8946 0 + vertex -35.6555 -11.3595 0 + vertex -34.8583 -11.3197 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.377 12.6783 0 + vertex -36.3017 21.985 0 + vertex -30.3556 12.4664 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1065 11.9311 0 + vertex -36.1819 -11.4238 0 + vertex -35.6555 -11.3595 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.8124 22.3433 0 + vertex -30.3556 12.4664 0 + vertex -36.3017 21.985 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1065 11.9311 0 + vertex -36.527 -11.5152 0 + vertex -36.1819 -11.4238 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.2115 12.0683 0 + vertex -36.7802 -11.6364 0 + vertex -36.527 -11.5152 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.2746 22.7082 0 + vertex -30.3556 12.4664 0 + vertex -36.8124 22.3433 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.2115 12.0683 0 + vertex -36.9755 -11.7636 0 + vertex -36.7802 -11.6364 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.2975 12.2549 0 + vertex -37.2746 22.7082 0 + vertex -37.1409 -11.9004 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.2975 12.2549 0 + vertex -37.1409 -11.9004 0 + vertex -36.9755 -11.7636 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.6874 23.0789 0 + vertex -37.1409 -11.9004 0 + vertex -37.2746 22.7082 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.1409 -11.9004 0 + vertex -37.6874 23.0789 0 + vertex -37.2767 -12.0443 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.0499 23.455 0 + vertex -37.2767 -12.0443 0 + vertex -37.6874 23.0789 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.3611 23.836 0 + vertex -37.2767 -12.0443 0 + vertex -38.0499 23.455 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.2767 -12.0443 0 + vertex -38.3611 23.836 0 + vertex -37.3834 -12.1929 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.6203 24.2212 0 + vertex -37.3834 -12.1929 0 + vertex -38.3611 23.836 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.15561 -22.5851 0 + vertex -8.45645 -23.4267 0 + vertex -8.48242 -23.1923 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.39946 -22.5595 0 + vertex -8.45645 -23.4267 0 + vertex -9.15561 -22.5851 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.94827 -22.6394 0 + vertex -8.48242 -23.1923 0 + vertex -8.54451 -22.9989 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.45645 -23.4267 0 + vertex -9.39946 -22.5595 0 + vertex -8.46654 -23.7044 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.77736 -22.7249 0 + vertex -8.54451 -22.9989 0 + vertex -8.64279 -22.8439 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -9.67988 -22.56 0 + vertex -8.46654 -23.7044 0 + vertex -9.39946 -22.5595 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.54451 -22.9989 0 + vertex -8.77736 -22.7249 0 + vertex -8.94827 -22.6394 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.48242 -23.1923 0 + vertex -8.94827 -22.6394 0 + vertex -9.15561 -22.5851 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.46654 -23.7044 0 + vertex -9.67988 -22.56 0 + vertex -8.51259 -24.0278 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -10.0796 -22.6123 0 + vertex -8.51259 -24.0278 0 + vertex -9.67988 -22.56 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.51259 -24.0278 0 + vertex -10.0796 -22.6123 0 + vertex -8.59455 -24.3995 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -10.5344 -22.7271 0 + vertex -8.59455 -24.3995 0 + vertex -10.0796 -22.6123 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.59455 -24.3995 0 + vertex -10.5344 -22.7271 0 + vertex -8.71232 -24.8218 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -10.9881 -22.8877 0 + vertex -8.71232 -24.8218 0 + vertex -10.5344 -22.7271 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.3849 -23.0769 0 + vertex -8.71232 -24.8218 0 + vertex -10.9881 -22.8877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.71232 -24.8218 0 + vertex -11.3849 -23.0769 0 + vertex -9.05502 -25.8283 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.9359 -23.4045 0 + vertex -9.05502 -25.8283 0 + vertex -11.3849 -23.0769 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -12.4007 -23.7203 0 + vertex -9.05502 -25.8283 0 + vertex -11.9359 -23.4045 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -12.7941 -24.0414 0 + vertex -9.05502 -25.8283 0 + vertex -12.4007 -23.7203 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.2098 -26.3227 0 + vertex -9.5401 -27.0667 0 + vertex -13.9508 -25.7195 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.3777 -29.1914 0 + vertex -9.5401 -27.0667 0 + vertex -14.2098 -26.3227 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.05502 -25.8283 0 + vertex -12.7941 -24.0414 0 + vertex -9.5401 -27.0667 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.5815 -32.143 0 + vertex -15.3777 -29.1914 0 + vertex -11.9595 -33.0513 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.131 -24.3848 0 + vertex -9.5401 -27.0667 0 + vertex -12.7941 -24.0414 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.8163 -32.7116 0 + vertex -11.9595 -33.0513 0 + vertex -15.3777 -29.1914 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.4262 -24.7676 0 + vertex -9.5401 -27.0667 0 + vertex -13.131 -24.3848 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.9595 -33.0513 0 + vertex -16.8163 -32.7116 0 + vertex -12.3268 -33.8339 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.3268 -33.8339 0 + vertex -16.8163 -32.7116 0 + vertex -12.6843 -34.4922 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.5401 -27.0667 0 + vertex -13.4262 -24.7676 0 + vertex -13.6945 -25.2068 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.6843 -34.4922 0 + vertex -16.8163 -32.7116 0 + vertex -13.0331 -35.0276 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.5401 -27.0667 0 + vertex -13.6945 -25.2068 0 + vertex -13.9508 -25.7195 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.5401 -27.0667 0 + vertex -15.3777 -29.1914 0 + vertex -11.5815 -32.143 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.0331 -35.0276 0 + vertex -16.8163 -32.7116 0 + vertex -13.2045 -35.2497 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -14.4713 -35.9816 0 + vertex -13.2045 -35.2497 0 + vertex -16.8163 -32.7116 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.2045 -35.2497 0 + vertex -14.4713 -35.9816 0 + vertex -13.3741 -35.4417 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.3741 -35.4417 0 + vertex -14.4713 -35.9816 0 + vertex -13.5421 -35.6036 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -14.3614 -35.9691 0 + vertex -13.5421 -35.6036 0 + vertex -14.4713 -35.9816 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.5421 -35.6036 0 + vertex -14.3614 -35.9691 0 + vertex -13.7085 -35.7356 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.8736 -35.838 0 + vertex -14.3614 -35.9691 0 + vertex -14.0373 -35.911 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.0373 -35.911 0 + vertex -14.3614 -35.9691 0 + vertex -14.1999 -35.9546 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.7085 -35.7356 0 + vertex -14.3614 -35.9691 0 + vertex -13.8736 -35.838 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.1674 -33.591 0 + vertex -14.4713 -35.9816 0 + vertex -16.8163 -32.7116 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.4713 -35.9816 0 + vertex -17.1674 -33.591 0 + vertex -14.5979 -36.0176 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.5979 -36.0176 0 + vertex -17.1674 -33.591 0 + vertex -14.8831 -36.1495 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.4329 -34.3072 0 + vertex -14.8831 -36.1495 0 + vertex -17.1674 -33.591 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -16.5729 -36.2152 0 + vertex -14.8831 -36.1495 0 + vertex -17.4329 -34.3072 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -16.3106 -36.4662 0 + vertex -15.4564 -36.5832 0 + vertex -16.4249 -36.334 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.4564 -36.5832 0 + vertex -16.237 -36.6071 0 + vertex -15.7439 -36.902 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.2485 -36.9225 0 + vertex -15.8411 -37.0399 0 + vertex -16.2109 -36.752 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.8411 -37.0399 0 + vertex -16.2485 -36.9225 0 + vertex -15.9096 -37.1689 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.3508 -37.1428 0 + vertex -15.9096 -37.1689 0 + vertex -16.2485 -36.9225 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.7439 -36.902 0 + vertex -16.2109 -36.752 0 + vertex -15.8411 -37.0399 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -16.2109 -36.752 0 + vertex -15.7439 -36.902 0 + vertex -16.237 -36.6071 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -16.237 -36.6071 0 + vertex -15.4564 -36.5832 0 + vertex -16.3106 -36.4662 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -16.4249 -36.334 0 + vertex -15.1813 -36.3448 0 + vertex -16.5729 -36.2152 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.1813 -36.3448 0 + vertex -16.4249 -36.334 0 + vertex -15.4564 -36.5832 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.8831 -36.1495 0 + vertex -16.5729 -36.2152 0 + vertex -15.1813 -36.3448 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.5729 -36.2152 0 + vertex -17.4329 -34.3072 0 + vertex -16.7476 -36.1146 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.7476 -36.1146 0 + vertex -17.4329 -34.3072 0 + vertex -16.942 -36.0369 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.6153 -34.8741 0 + vertex -16.942 -36.0369 0 + vertex -17.4329 -34.3072 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.942 -36.0369 0 + vertex -17.6153 -34.8741 0 + vertex -17.1493 -35.9869 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.7168 -35.3062 0 + vertex -17.1493 -35.9869 0 + vertex -17.6153 -34.8741 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.738 -35.4761 0 + vertex -17.1493 -35.9869 0 + vertex -17.7168 -35.3062 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.1493 -35.9869 0 + vertex -17.738 -35.4761 0 + vertex -17.3625 -35.9691 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.7399 -35.6175 0 + vertex -17.3625 -35.9691 0 + vertex -17.738 -35.4761 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.3625 -35.9691 0 + vertex -17.7399 -35.6175 0 + vertex -17.4702 -35.9608 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -17.7228 -35.7323 0 + vertex -17.4702 -35.9608 0 + vertex -17.7399 -35.6175 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4702 -35.9608 0 + vertex -17.7228 -35.7323 0 + vertex -17.5603 -35.9348 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -17.6869 -35.8223 0 + vertex -17.5603 -35.9348 0 + vertex -17.7228 -35.7323 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.5603 -35.9348 0 + vertex -17.6869 -35.8223 0 + vertex -17.6327 -35.8892 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.56309 -35.9367 0 + vertex -7.30266 -36.7536 0 + vertex -7.29619 -36.8569 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.97004 -33.2395 0 + vertex -7.32635 -36.6539 0 + vertex -7.30266 -36.7536 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.13453 -33.8652 0 + vertex -3.97004 -33.2395 0 + vertex -7.70823 -32.8163 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.97004 -33.2395 0 + vertex -7.36727 -36.5579 0 + vertex -7.32635 -36.6539 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.97004 -33.2395 0 + vertex -7.50076 -36.3769 0 + vertex -7.36727 -36.5579 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.97004 -33.2395 0 + vertex -8.13453 -33.8652 0 + vertex -7.50076 -36.3769 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.50076 -36.3769 0 + vertex -8.13453 -33.8652 0 + vertex -7.70312 -36.2106 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.32474 -34.384 0 + vertex -7.70312 -36.2106 0 + vertex -8.13453 -33.8652 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.70312 -36.2106 0 + vertex -8.32474 -34.384 0 + vertex -7.97432 -36.0592 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.55649 -35.3052 0 + vertex -7.97432 -36.0592 0 + vertex -8.32474 -34.384 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.97432 -36.0592 0 + vertex -8.55649 -35.3052 0 + vertex -8.30497 -35.8814 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.30497 -35.8814 0 + vertex -8.55649 -35.3052 0 + vertex -8.41808 -35.7975 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.57785 -35.4236 0 + vertex -8.41808 -35.7975 0 + vertex -8.55649 -35.3052 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.41808 -35.7975 0 + vertex -8.57785 -35.4236 0 + vertex -8.49955 -35.7129 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -8.57707 -35.529 0 + vertex -8.49955 -35.7129 0 + vertex -8.57785 -35.4236 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.49955 -35.7129 0 + vertex -8.57707 -35.529 0 + vertex -8.55176 -35.6244 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.88346 12.344 0 + vertex 1.92323 12.5289 0 + vertex 1.90284 12.6291 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.92323 12.5289 0 + vertex 1.88346 12.344 0 + vertex 1.91748 12.4352 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.81906 12.2515 0 + vertex 1.90284 12.6291 0 + vertex 1.85843 12.7398 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.90284 12.6291 0 + vertex 1.81906 12.2515 0 + vertex 1.88346 12.344 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.85843 12.7398 0 + vertex 1.72214 12.1537 0 + vertex 1.81906 12.2515 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.7147 12.9716 0 + vertex 1.72214 12.1537 0 + vertex 1.85843 12.7398 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.42228 11.926 0 + vertex 1.7147 12.9716 0 + vertex 1.51175 13.1874 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.7147 12.9716 0 + vertex 1.42228 11.926 0 + vertex 1.72214 12.1537 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.25015 13.3869 0 + vertex 1.42228 11.926 0 + vertex 1.51175 13.1874 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.25015 13.3869 0 + vertex 0.986004 11.656 0 + vertex 1.42228 11.926 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.930489 13.5702 0 + vertex 0.986004 11.656 0 + vertex 1.25015 13.3869 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.55335 13.737 0 + vertex 0.986004 11.656 0 + vertex 0.930489 13.5702 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.55335 13.737 0 + vertex 0.546849 11.4454 0 + vertex 0.986004 11.656 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.119316 13.8873 0 + vertex 0.546849 11.4454 0 + vertex 0.55335 13.737 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.119316 13.8873 0 + vertex 0.0942225 11.293 0 + vertex 0.546849 11.4454 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.382462 11.1972 0 + vertex 0.119316 13.8873 0 + vertex -0.371032 14.021 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.119316 13.8873 0 + vertex -0.382462 11.1972 0 + vertex 0.0942225 11.293 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.371032 14.021 0 + vertex -0.893798 11.1566 0 + vertex -0.382462 11.1972 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.917111 14.138 0 + vertex -0.893798 11.1566 0 + vertex -0.371032 14.021 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.917111 14.138 0 + vertex -1.45038 11.1697 0 + vertex -0.893798 11.1566 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.51834 14.2381 0 + vertex -1.45038 11.1697 0 + vertex -0.917111 14.138 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.51834 14.2381 0 + vertex -2.06279 11.235 0 + vertex -1.45038 11.1697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.17413 14.3212 0 + vertex -2.06279 11.235 0 + vertex -1.51834 14.2381 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.17413 14.3212 0 + vertex -2.74162 11.3511 0 + vertex -2.06279 11.235 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.8839 14.3873 0 + vertex -2.74162 11.3511 0 + vertex -2.17413 14.3212 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.8839 14.3873 0 + vertex -3.43924 11.4799 0 + vertex -2.74162 11.3511 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.64708 14.4362 0 + vertex -3.43924 11.4799 0 + vertex -2.8839 14.3873 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.64708 14.4362 0 + vertex -4.06319 11.5774 0 + vertex -3.43924 11.4799 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.46307 14.4678 0 + vertex -4.06319 11.5774 0 + vertex -3.64708 14.4362 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.46307 14.4678 0 + vertex -4.60751 11.6434 0 + vertex -4.06319 11.5774 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.46307 14.4678 0 + vertex -5.06624 11.6776 0 + vertex -4.60751 11.6434 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.33129 14.482 0 + vertex -5.06624 11.6776 0 + vertex -4.46307 14.4678 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.33129 14.482 0 + vertex -5.4334 11.6797 0 + vertex -5.06624 11.6776 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.33129 14.482 0 + vertex -5.70304 11.6495 0 + vertex -5.4334 11.6797 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.25117 14.4787 0 + vertex -5.70304 11.6495 0 + vertex -5.33129 14.482 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.70304 11.6495 0 + vertex -6.25117 14.4787 0 + vertex -5.79943 11.6221 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.79943 11.6221 0 + vertex -6.25117 14.4787 0 + vertex -5.8692 11.5867 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -7.22211 14.4578 0 + vertex -5.8692 11.5867 0 + vertex -6.25117 14.4787 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.8692 11.5867 0 + vertex -7.22211 14.4578 0 + vertex -5.91161 11.5429 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -9.25643 14.3812 0 + vertex -5.91161 11.5429 0 + vertex -7.22211 14.4578 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -17.4002 -11.6639 0 + vertex -6.14058 -19.1411 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.91161 11.5429 0 + vertex -9.25643 14.3812 0 + vertex -5.92592 11.491 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 0 + vertex -7.11547 -19.1706 0 + vertex -6.14058 -19.1411 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 0 + vertex -7.63584 -19.198 0 + vertex -7.11547 -19.1706 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 0 + vertex -8.06691 -19.2358 0 + vertex -7.63584 -19.198 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.06691 -19.2358 0 + vertex -17.3941 -11.77 0 + vertex -8.43701 -19.2929 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -12.0792 -19.1571 0 + vertex -8.43701 -19.2929 0 + vertex -17.3941 -11.77 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -9.98725 14.3241 0 + vertex -5.92592 11.491 0 + vertex -9.25643 14.3812 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.43701 -19.2929 0 + vertex -12.0792 -19.1571 0 + vertex -8.77447 -19.378 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -11.9023 -19.2259 0 + vertex -8.77447 -19.378 0 + vertex -12.0792 -19.1571 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -10.6249 14.238 0 + vertex -5.92592 11.491 0 + vertex -9.98725 14.3241 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.77447 -19.378 0 + vertex -11.9023 -19.2259 0 + vertex -9.10766 -19.4997 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.2428 14.1101 0 + vertex -5.92592 11.491 0 + vertex -10.6249 14.238 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.92592 11.491 0 + vertex -11.2428 14.1101 0 + vertex -11.9142 13.9281 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -11.7723 -19.3375 0 + vertex -9.46489 -19.667 0 + vertex -11.9023 -19.2259 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.6707 -19.9072 0 + vertex -10.3649 -20.1728 0 + vertex -11.6557 -19.6804 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.3649 -20.1728 0 + vertex -11.6899 -19.4898 0 + vertex -11.6557 -19.6804 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.87453 -19.8884 0 + vertex -11.6899 -19.4898 0 + vertex -10.3649 -20.1728 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -11.6899 -19.4898 0 + vertex -9.87453 -19.8884 0 + vertex -11.7723 -19.3375 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.92592 11.491 0 + vertex -11.9142 13.9281 0 + vertex -12.7125 13.6795 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.46489 -19.667 0 + vertex -11.7723 -19.3375 0 + vertex -9.87453 -19.8884 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.10766 -19.4997 0 + vertex -11.9023 -19.2259 0 + vertex -9.46489 -19.667 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.4339 -12.0833 0 + vertex -12.0792 -19.1571 0 + vertex -17.3941 -11.77 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.7109 13.3517 0 + vertex -5.92592 11.491 0 + vertex -12.7125 13.6795 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0792 -19.1571 0 + vertex -17.4339 -12.0833 0 + vertex -12.302 -19.1333 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.949 12.9624 0 + vertex -5.92592 11.491 0 + vertex -13.7109 13.3517 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.5116 -12.3759 0 + vertex -12.302 -19.1333 0 + vertex -17.4339 -12.0833 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.0795 12.6436 0 + vertex -5.92592 11.491 0 + vertex -14.949 12.9624 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.6664 -12.8441 0 + vertex -12.302 -19.1333 0 + vertex -17.5116 -12.3759 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 0 + vertex -5.92592 11.491 0 + vertex -16.0795 12.6436 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.302 -19.1333 0 + vertex -17.6664 -12.8441 0 + vertex -12.6849 -19.1929 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 0 + vertex -16.0795 12.6436 0 + vertex -16.9775 12.4282 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.5514 -11.4978 0 + vertex -16.9775 12.4282 0 + vertex -17.3003 12.3696 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.1466 -14.1495 0 + vertex -12.6849 -19.1929 0 + vertex -17.6664 -12.8441 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.6849 -19.1929 0 + vertex -18.1466 -14.1495 0 + vertex -13.3483 -19.3556 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.3483 -19.3556 0 + vertex -18.1466 -14.1495 0 + vertex -14.1989 -19.5967 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.7537 -15.6836 0 + vertex -14.1989 -19.5967 0 + vertex -18.1466 -14.1495 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.1989 -19.5967 0 + vertex -18.7537 -15.6836 0 + vertex -15.1436 -19.8912 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.3667 -17.1305 0 + vertex -15.1436 -19.8912 0 + vertex -18.7537 -15.6836 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.1436 -19.8912 0 + vertex -19.3667 -17.1305 0 + vertex -16.9393 -20.461 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.4996 -17.3696 0 + vertex -16.9393 -20.461 0 + vertex -19.3667 -17.1305 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9393 -20.461 0 + vertex -19.4996 -17.3696 0 + vertex -17.9865 -20.7653 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.6713 -17.584 0 + vertex -17.9865 -20.7653 0 + vertex -19.4996 -17.3696 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.8743 -17.7693 0 + vertex -17.9865 -20.7653 0 + vertex -19.6713 -17.584 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.9865 -20.7653 0 + vertex -19.8743 -17.7693 0 + vertex -18.1109 -20.8023 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.1109 -20.8023 0 + vertex -19.8743 -17.7693 0 + vertex -18.2248 -20.8552 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.1009 -17.9213 0 + vertex -18.2248 -20.8552 0 + vertex -19.8743 -17.7693 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.2248 -20.8552 0 + vertex -20.1009 -17.9213 0 + vertex -18.3284 -20.924 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.3435 -18.0357 0 + vertex -18.3284 -20.924 0 + vertex -20.1009 -17.9213 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.3284 -20.924 0 + vertex -20.3435 -18.0357 0 + vertex -18.4218 -21.0091 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.7355 -20.1677 0 + vertex -10.3649 -20.1728 0 + vertex -11.6707 -19.9072 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.3649 -20.1728 0 + vertex -11.7355 -20.1677 0 + vertex -11.5073 -20.829 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.851 -20.4599 0 + vertex -11.5073 -20.829 0 + vertex -11.7355 -20.1677 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0288 -20.9134 0 + vertex -11.5073 -20.829 0 + vertex -11.851 -20.4599 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.5073 -20.829 0 + vertex -12.0288 -20.9134 0 + vertex -11.8784 -21.0286 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0594 -21.0513 0 + vertex -11.8784 -21.0286 0 + vertex -12.0288 -20.9134 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.8784 -21.0286 0 + vertex -12.0594 -21.0513 0 + vertex -12.0427 -21.102 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.0427 -21.102 0 + vertex -12.0594 -21.0513 0 + vertex -12.0573 -21.0889 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.3267 -22.6747 0 + vertex -17.2249 -22.8126 0 + vertex -17.2578 -22.7276 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4374 -22.6462 0 + vertex -17.2249 -22.8126 0 + vertex -17.3267 -22.6747 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.2249 -22.8126 0 + vertex -17.4374 -22.6462 0 + vertex -17.2226 -22.9371 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.8061 -22.6324 0 + vertex -17.2226 -22.9371 0 + vertex -17.4374 -22.6462 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.2226 -22.9371 0 + vertex -17.8061 -22.6324 0 + vertex -17.2873 -23.335 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.1091 -22.6172 0 + vertex -17.2873 -23.335 0 + vertex -17.8061 -22.6324 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.2873 -23.335 0 + vertex -18.1091 -22.6172 0 + vertex -17.4084 -23.7485 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.3541 -22.5704 0 + vertex -17.4084 -23.7485 0 + vertex -18.1091 -22.6172 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4084 -23.7485 0 + vertex -18.3541 -22.5704 0 + vertex -17.6656 -24.469 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5429 -22.4899 0 + vertex -17.6656 -24.469 0 + vertex -18.3541 -22.5704 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.6769 -22.3738 0 + vertex -17.6656 -24.469 0 + vertex -18.5429 -22.4899 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.6656 -24.469 0 + vertex -18.6769 -22.3738 0 + vertex -18.5311 -26.6889 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.116 -21.2395 0 + vertex -18.6769 -22.3738 0 + vertex -18.7577 -22.2202 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.116 -21.2395 0 + vertex -18.7577 -22.2202 0 + vertex -18.7869 -22.0269 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.4218 -21.0091 0 + vertex -20.3435 -18.0357 0 + vertex -18.5053 -21.1105 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.5945 -18.108 0 + vertex -18.5053 -21.1105 0 + vertex -20.3435 -18.0357 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5053 -21.1105 0 + vertex -20.5945 -18.108 0 + vertex -18.5788 -21.2283 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.8463 -18.1339 0 + vertex -18.5788 -21.2283 0 + vertex -20.5945 -18.108 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.6874 -20.0641 0 + vertex -18.5788 -21.2283 0 + vertex -22.5978 -19.6581 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.8608 -20.5868 0 + vertex -18.6967 -21.5139 0 + vertex -22.6874 -20.0641 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -23.116 -21.2395 0 + vertex -18.7869 -22.0269 0 + vertex -22.8608 -20.5868 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.6967 -21.5139 0 + vertex -22.8608 -20.5868 0 + vertex -18.766 -21.7922 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5788 -21.2283 0 + vertex -20.8463 -18.1339 0 + vertex -22.5978 -19.6581 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.585 -19.4947 0 + vertex -20.8463 -18.1339 0 + vertex -21.0912 -18.1093 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.594 -19.3555 0 + vertex -21.0912 -18.1093 0 + vertex -21.2545 -18.0693 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.6769 -22.3738 0 + vertex -23.116 -21.2395 0 + vertex -24.3958 -24.3815 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.625 -19.2389 0 + vertex -21.2545 -18.0693 0 + vertex -21.378 -18.0171 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.6782 -19.1432 0 + vertex -21.378 -18.0171 0 + vertex -21.4669 -17.9347 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.7539 -19.0668 0 + vertex -21.4669 -17.9347 0 + vertex -21.5263 -17.8042 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.9739 -18.9651 0 + vertex -21.5263 -17.8042 0 + vertex -21.5614 -17.6077 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.1186 -18.9365 0 + vertex -21.5614 -17.6077 0 + vertex -21.5774 -17.3273 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.766 -21.7922 0 + vertex -22.8608 -20.5868 0 + vertex -18.7869 -22.0269 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5729 -16.4428 0 + vertex -22.9103 -14.3386 0 + vertex -23.3301 -14.2877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.9412 -14.6683 0 + vertex -21.5879 -15.2616 0 + vertex -21.6284 -15.0493 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.7989 -14.7733 0 + vertex -21.6284 -15.0493 0 + vertex -21.6966 -14.8935 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.6284 -15.0493 0 + vertex -21.7989 -14.7733 0 + vertex -21.9412 -14.6683 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5788 -21.2283 0 + vertex -22.6874 -20.0641 0 + vertex -18.6967 -21.5139 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5879 -15.2616 0 + vertex -21.9412 -14.6683 0 + vertex -22.1296 -14.5577 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5693 -15.5508 0 + vertex -22.1296 -14.5577 0 + vertex -22.3213 -14.4724 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.8463 -18.1339 0 + vertex -22.585 -19.4947 0 + vertex -22.5978 -19.6581 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5693 -15.5508 0 + vertex -22.3213 -14.4724 0 + vertex -22.5778 -14.3998 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.6769 -22.3738 0 + vertex -24.3958 -24.3815 0 + vertex -18.5311 -26.6889 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5693 -15.5508 0 + vertex -22.5778 -14.3998 0 + vertex -22.9103 -14.3386 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.9793 -25.8003 0 + vertex -18.5311 -26.6889 0 + vertex -24.3958 -24.3815 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5311 -26.6889 0 + vertex -24.9793 -25.8003 0 + vertex -19.7699 -29.7113 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.0912 -18.1093 0 + vertex -22.594 -19.3555 0 + vertex -22.585 -19.4947 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2545 -18.0693 0 + vertex -22.625 -19.2389 0 + vertex -22.594 -19.3555 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.378 -18.0171 0 + vertex -22.6782 -19.1432 0 + vertex -22.625 -19.2389 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.4669 -17.9347 0 + vertex -22.7539 -19.0668 0 + vertex -22.6782 -19.1432 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5263 -17.8042 0 + vertex -22.8524 -19.008 0 + vertex -22.7539 -19.0668 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.6632 -18.9241 0 + vertex -21.5729 -16.4428 0 + vertex -23.3301 -14.2877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5263 -17.8042 0 + vertex -22.9739 -18.9651 0 + vertex -22.8524 -19.008 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5614 -17.6077 0 + vertex -23.1186 -18.9365 0 + vertex -22.9739 -18.9651 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -23.4791 -18.9156 0 + vertex -21.5729 -16.4428 0 + vertex -23.6632 -18.9241 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5774 -17.3273 0 + vertex -23.4791 -18.9156 0 + vertex -23.1186 -18.9365 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5729 -16.4428 0 + vertex -23.4791 -18.9156 0 + vertex -21.5774 -17.3273 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.4767 -14.2125 0 + vertex -23.6632 -18.9241 0 + vertex -23.3301 -14.2877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.6632 -18.9241 0 + vertex -24.4767 -14.2125 0 + vertex -23.8226 -18.954 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.8226 -18.954 0 + vertex -24.4767 -14.2125 0 + vertex -23.9653 -19.0124 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.1077 -14.1654 0 + vertex -23.9653 -19.0124 0 + vertex -24.4767 -14.2125 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.9653 -19.0124 0 + vertex -26.1077 -14.1654 0 + vertex -24.0993 -19.1062 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.0993 -19.1062 0 + vertex -26.1077 -14.1654 0 + vertex -24.2328 -19.2424 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.2328 -19.2424 0 + vertex -26.1077 -14.1654 0 + vertex -24.3738 -19.4278 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2448 -14.1442 0 + vertex -24.3738 -19.4278 0 + vertex -26.1077 -14.1654 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3738 -19.4278 0 + vertex -28.2448 -14.1442 0 + vertex -24.7108 -19.9745 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -31.1223 -16.1487 0 + vertex -24.7108 -19.9745 0 + vertex -28.2448 -14.1442 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -31.4477 -16.8607 0 + vertex -24.7108 -19.9745 0 + vertex -31.1223 -16.1487 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.7108 -19.9745 0 + vertex -31.4477 -16.8607 0 + vertex -24.9407 -20.3516 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.9407 -20.3516 0 + vertex -31.4477 -16.8607 0 + vertex -25.1784 -20.695 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.1784 -20.695 0 + vertex -31.4477 -16.8607 0 + vertex -25.4267 -21.0057 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.4267 -21.0057 0 + vertex -31.4477 -16.8607 0 + vertex -25.6884 -21.2849 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.6884 -21.2849 0 + vertex -31.4477 -16.8607 0 + vertex -25.9661 -21.5339 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.9661 -21.5339 0 + vertex -31.4477 -16.8607 0 + vertex -26.2627 -21.7538 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.2627 -21.7538 0 + vertex -31.4477 -16.8607 0 + vertex -26.5809 -21.9457 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.5809 -21.9457 0 + vertex -31.8034 -17.6899 0 + vertex -26.9234 -22.1109 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.9234 -22.1109 0 + vertex -31.8034 -17.6899 0 + vertex -27.2929 -22.2506 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.2929 -22.2506 0 + vertex -31.8034 -17.6899 0 + vertex -27.6923 -22.3658 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.678 -15.2903 0 + vertex -28.2448 -14.1442 0 + vertex -28.9898 -14.1579 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -31.8034 -17.6899 0 + vertex -26.5809 -21.9457 0 + vertex -31.4477 -16.8607 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.5215 -14.964 0 + vertex -28.9898 -14.1579 0 + vertex -29.549 -14.1906 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.6923 -22.3658 0 + vertex -31.8034 -17.6899 0 + vertex -28.1242 -22.4577 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.4158 -14.7057 0 + vertex -29.549 -14.1906 0 + vertex -29.9449 -14.2443 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.377 -14.5514 0 + vertex -29.9449 -14.2443 0 + vertex -30.1999 -14.321 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.9898 -14.1579 0 + vertex -30.5215 -14.964 0 + vertex -30.678 -15.2903 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.377 -14.5514 0 + vertex -30.1999 -14.321 0 + vertex -30.2816 -14.3686 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.377 -14.5514 0 + vertex -30.2816 -14.3686 0 + vertex -30.3364 -14.4227 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.377 -14.5514 0 + vertex -30.3364 -14.4227 0 + vertex -30.3673 -14.4836 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.9449 -14.2443 0 + vertex -30.377 -14.5514 0 + vertex -30.4158 -14.7057 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.549 -14.1906 0 + vertex -30.4158 -14.7057 0 + vertex -30.5215 -14.964 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2448 -14.1442 0 + vertex -30.678 -15.2903 0 + vertex -30.8691 -15.6487 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2448 -14.1442 0 + vertex -30.8691 -15.6487 0 + vertex -31.1223 -16.1487 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.1242 -22.4577 0 + vertex -31.8034 -17.6899 0 + vertex -28.5914 -22.5277 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -32.1476 -18.5412 0 + vertex -28.5914 -22.5277 0 + vertex -31.8034 -17.6899 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.5914 -22.5277 0 + vertex -32.1476 -18.5412 0 + vertex -29.0966 -22.5767 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.0966 -22.5767 0 + vertex -32.1476 -18.5412 0 + vertex -29.6427 -22.606 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.6427 -22.606 0 + vertex -32.1476 -18.5412 0 + vertex -30.2322 -22.6168 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.2322 -22.6168 0 + vertex -32.1476 -18.5412 0 + vertex -30.868 -22.6102 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.868 -22.6102 0 + vertex -32.1476 -18.5412 0 + vertex -31.8095 -22.5865 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -33.2902 -21.4299 0 + vertex -31.8095 -22.5865 0 + vertex -32.1476 -18.5412 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.8095 -22.5865 0 + vertex -33.2902 -21.4299 0 + vertex -32.5132 -22.5543 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.5132 -22.5543 0 + vertex -33.2902 -21.4299 0 + vertex -33.0067 -22.5002 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -33.4325 -21.7956 0 + vertex -33.0067 -22.5002 0 + vertex -33.2902 -21.4299 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.0067 -22.5002 0 + vertex -33.4325 -21.7956 0 + vertex -33.1833 -22.4608 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -33.503 -22.0719 0 + vertex -33.1833 -22.4608 0 + vertex -33.4325 -21.7956 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.1833 -22.4608 0 + vertex -33.503 -22.0719 0 + vertex -33.3177 -22.4108 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.3177 -22.4108 0 + vertex -33.503 -22.0719 0 + vertex -33.4135 -22.3486 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -33.5026 -22.1809 0 + vertex -33.4135 -22.3486 0 + vertex -33.503 -22.0719 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.4135 -22.3486 0 + vertex -33.5026 -22.1809 0 + vertex -33.4739 -22.2725 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -23.8031 -31.5911 0 + vertex -21.2682 -33.2523 0 + vertex -23.5218 -31.031 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.2375 -32.3527 0 + vertex -21.2682 -33.2523 0 + vertex -23.8031 -31.5911 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2682 -33.2523 0 + vertex -24.2375 -32.3527 0 + vertex -21.6072 -34.0169 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.6072 -34.0169 0 + vertex -24.2375 -32.3527 0 + vertex -21.9074 -34.6287 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -23.5218 -31.031 0 + vertex -21.2682 -33.2523 0 + vertex -23.4513 -30.847 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.7839 -33.2498 0 + vertex -21.9074 -34.6287 0 + vertex -24.2375 -32.3527 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.7699 -29.7113 0 + vertex -23.4345 -30.738 0 + vertex -21.2682 -33.2523 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.9074 -34.6287 0 + vertex -24.7839 -33.2498 0 + vertex -22.1824 -35.1035 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.1824 -35.1035 0 + vertex -24.7839 -33.2498 0 + vertex -22.4463 -35.4568 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -23.665 -35.9691 0 + vertex -22.4463 -35.4568 0 + vertex -24.7839 -33.2498 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -23.4513 -30.847 0 + vertex -21.2682 -33.2523 0 + vertex -23.4345 -30.738 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -23.4345 -30.738 0 + vertex -19.7699 -29.7113 0 + vertex -23.4571 -30.6716 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.7699 -29.7113 0 + vertex -23.5012 -30.6026 0 + vertex -23.4571 -30.6716 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.7699 -29.7113 0 + vertex -23.6433 -30.465 0 + vertex -23.5012 -30.6026 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -23.8399 -30.3412 0 + vertex -19.7699 -29.7113 0 + vertex -24.9793 -25.8003 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.7699 -29.7113 0 + vertex -23.8399 -30.3412 0 + vertex -23.6433 -30.465 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.4624 -26.9141 0 + vertex -23.8399 -30.3412 0 + vertex -24.9793 -25.8003 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.8399 -30.3412 0 + vertex -25.4624 -26.9141 0 + vertex -24.0701 -30.2475 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.0701 -30.2475 0 + vertex -25.4624 -26.9141 0 + vertex -24.2803 -30.1833 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.8688 -27.7587 0 + vertex -24.2803 -30.1833 0 + vertex -25.4624 -26.9141 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.2803 -30.1833 0 + vertex -25.8688 -27.7587 0 + vertex -24.455 -30.1541 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.455 -30.1541 0 + vertex -25.8688 -27.7587 0 + vertex -24.5406 -30.1604 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.0506 -28.0911 0 + vertex -24.5406 -30.1604 0 + vertex -25.8688 -27.7587 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.5406 -30.1604 0 + vertex -26.0506 -28.0911 0 + vertex -24.6311 -30.1847 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.2221 -28.3696 0 + vertex -24.6311 -30.1847 0 + vertex -26.0506 -28.0911 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.6311 -30.1847 0 + vertex -26.2221 -28.3696 0 + vertex -24.8452 -30.2998 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.3861 -28.5987 0 + vertex -24.8452 -30.2998 0 + vertex -26.2221 -28.3696 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.5458 -28.7827 0 + vertex -24.8452 -30.2998 0 + vertex -26.3861 -28.5987 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.8452 -30.2998 0 + vertex -26.5458 -28.7827 0 + vertex -25.1341 -30.5242 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.7039 -28.9262 0 + vertex -25.1341 -30.5242 0 + vertex -26.5458 -28.7827 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.1341 -30.5242 0 + vertex -26.7039 -28.9262 0 + vertex -25.5344 -30.8827 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.8635 -29.0336 0 + vertex -25.5344 -30.8827 0 + vertex -26.7039 -28.9262 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.0275 -29.1093 0 + vertex -25.5344 -30.8827 0 + vertex -26.8635 -29.0336 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.1989 -29.1579 0 + vertex -25.5344 -30.8827 0 + vertex -27.0275 -29.1093 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.5344 -30.8827 0 + vertex -27.1989 -29.1579 0 + vertex -26.8166 -32.1012 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.3805 -29.1838 0 + vertex -26.8166 -32.1012 0 + vertex -27.1989 -29.1579 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.5755 -29.1914 0 + vertex -26.8166 -32.1012 0 + vertex -27.3805 -29.1838 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.9775 -29.1782 0 + vertex -26.8166 -32.1012 0 + vertex -27.5755 -29.1914 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.8166 -32.1012 0 + vertex -27.9775 -29.1782 0 + vertex -27.3602 -32.5933 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.0989 -29.15 0 + vertex -27.3602 -32.5933 0 + vertex -27.9775 -29.1782 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.3602 -32.5933 0 + vertex -28.0989 -29.15 0 + vertex -27.924 -33.0516 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.176 -29.097 0 + vertex -27.924 -33.0516 0 + vertex -28.0989 -29.15 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.2461 -34.4632 0 + vertex -28.176 -29.097 0 + vertex -28.2154 -29.0113 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.176 -29.097 0 + vertex -28.5012 -33.4718 0 + vertex -27.924 -33.0516 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.1303 -25.4759 0 + vertex -28.2154 -29.0113 0 + vertex -28.2235 -28.8853 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.0734 -25.6205 0 + vertex -27.9393 -26.9734 0 + vertex -28.7678 -25.6646 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.9179 -25.5457 0 + vertex -27.9393 -26.9734 0 + vertex -29.0734 -25.6205 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.9393 -26.9734 0 + vertex -29.9179 -25.5457 0 + vertex -28.1721 -28.4809 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.9759 -25.4949 0 + vertex -28.1721 -28.4809 0 + vertex -29.9179 -25.5457 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.1721 -28.4809 0 + vertex -30.9759 -25.4949 0 + vertex -28.2235 -28.8853 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.1303 -25.4759 0 + vertex -28.2235 -28.8853 0 + vertex -30.9759 -25.4949 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.176 -29.097 0 + vertex -29.0852 -33.8499 0 + vertex -28.5012 -33.4718 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.176 -29.097 0 + vertex -29.669 -34.1817 0 + vertex -29.0852 -33.8499 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2154 -29.0113 0 + vertex -32.1303 -25.4759 0 + vertex -36.4516 -28.8697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.176 -29.097 0 + vertex -30.2461 -34.4632 0 + vertex -29.669 -34.1817 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2154 -29.0113 0 + vertex -36.4516 -28.8697 0 + vertex -30.8095 -34.6902 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2154 -29.0113 0 + vertex -30.8095 -34.6902 0 + vertex -30.2461 -34.4632 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -31.9023 -34.9414 0 + vertex -30.8095 -34.6902 0 + vertex -36.4516 -28.8697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.8095 -34.6902 0 + vertex -31.5797 -34.902 0 + vertex -31.3526 -34.8586 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.8095 -34.6902 0 + vertex -31.9023 -34.9414 0 + vertex -31.5797 -34.902 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.9023 -34.9414 0 + vertex -36.4516 -28.8697 0 + vertex -32.7769 -35.0076 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.4707 -26.6225 0 + vertex -32.1303 -25.4759 0 + vertex -34.9509 -25.4747 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.4516 -28.8697 0 + vertex -32.1303 -25.4759 0 + vertex -35.4707 -26.6225 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.7769 -35.0076 0 + vertex -36.4516 -28.8697 0 + vertex -33.8615 -35.0556 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -37.5165 -31.4193 0 + vertex -33.8615 -35.0556 0 + vertex -36.4516 -28.8697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.8615 -35.0556 0 + vertex -37.5165 -31.4193 0 + vertex -35.0412 -35.0835 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.0412 -35.0835 0 + vertex -37.5165 -31.4193 0 + vertex -36.2012 -35.0898 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -38.3711 -33.5534 0 + vertex -36.2012 -35.0898 0 + vertex -37.5165 -31.4193 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.2012 -35.0898 0 + vertex -38.3711 -33.5534 0 + vertex -37.2267 -35.0727 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.2267 -35.0727 0 + vertex -38.3711 -33.5534 0 + vertex -38.0027 -35.0306 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -38.6277 -34.2404 0 + vertex -38.0027 -35.0306 0 + vertex -38.3711 -33.5534 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.0027 -35.0306 0 + vertex -38.6277 -34.2404 0 + vertex -38.2613 -34.9997 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.2613 -34.9997 0 + vertex -38.6277 -34.2404 0 + vertex -38.4144 -34.9619 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.4144 -34.9619 0 + vertex -38.6277 -34.2404 0 + vertex -38.5336 -34.8886 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.6277 -34.2404 0 + vertex -38.6312 -34.7874 0 + vertex -38.5336 -34.8886 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -38.7214 -34.5543 0 + vertex -38.6312 -34.7874 0 + vertex -38.6277 -34.2404 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.6312 -34.7874 0 + vertex -38.7214 -34.5543 0 + vertex -38.6971 -34.6715 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -23.3082 -35.9449 0 + vertex -22.4463 -35.4568 0 + vertex -23.665 -35.9691 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.5782 -35.5929 0 + vertex -23.3082 -35.9449 0 + vertex -22.7126 -35.7044 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.7126 -35.7044 0 + vertex -23.3082 -35.9449 0 + vertex -22.8511 -35.7934 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.8511 -35.7934 0 + vertex -23.3082 -35.9449 0 + vertex -22.9953 -35.8619 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.9953 -35.8619 0 + vertex -23.3082 -35.9449 0 + vertex -23.1471 -35.9117 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.4463 -35.4568 0 + vertex -23.3082 -35.9449 0 + vertex -22.5782 -35.5929 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.665 -35.9691 0 + vertex -24.7839 -33.2498 0 + vertex -23.8593 -35.9891 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -25.4011 -34.2168 0 + vertex -23.8593 -35.9891 0 + vertex -24.7839 -33.2498 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.8593 -35.9891 0 + vertex -25.4011 -34.2168 0 + vertex -24.0497 -36.0458 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.0497 -36.0458 0 + vertex -25.4011 -34.2168 0 + vertex -24.2334 -36.1344 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.0482 -35.1877 0 + vertex -24.2334 -36.1344 0 + vertex -25.4011 -34.2168 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.2334 -36.1344 0 + vertex -26.0482 -35.1877 0 + vertex -24.4077 -36.2501 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.4077 -36.2501 0 + vertex -26.0482 -35.1877 0 + vertex -24.57 -36.3881 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.57 -36.3881 0 + vertex -26.0482 -35.1877 0 + vertex -24.7177 -36.5437 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.7177 -36.5437 0 + vertex -26.0482 -35.1877 0 + vertex -24.8479 -36.7119 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -26.6839 -36.0968 0 + vertex -24.8479 -36.7119 0 + vertex -26.0482 -35.1877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.8479 -36.7119 0 + vertex -26.6839 -36.0968 0 + vertex -24.9582 -36.888 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.0457 -37.0673 0 + vertex -26.6839 -36.0968 0 + vertex -25.1078 -37.2448 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.9582 -36.888 0 + vertex -26.6839 -36.0968 0 + vertex -25.0457 -37.0673 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2799 26.5937 0 + vertex -21.2669 26.4994 0 + vertex -21.2563 26.5576 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.3473 26.6332 0 + vertex -21.2669 26.4994 0 + vertex -21.2799 26.5937 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.2669 26.4994 0 + vertex -21.3473 26.6332 0 + vertex -21.2997 26.4466 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.3473 26.6332 0 + vertex -21.3558 26.3992 0 + vertex -21.2997 26.4466 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.3473 26.6332 0 + vertex -21.4368 26.3569 0 + vertex -21.3558 26.3992 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5951 26.7172 0 + vertex -21.4368 26.3569 0 + vertex -21.3473 26.6332 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5951 26.7172 0 + vertex -21.6785 26.2874 0 + vertex -21.4368 26.3569 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.9618 26.7994 0 + vertex -21.6785 26.2874 0 + vertex -21.5951 26.7172 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.9618 26.7994 0 + vertex -22.0356 26.2369 0 + vertex -21.6785 26.2874 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.4095 26.8695 0 + vertex -22.0356 26.2369 0 + vertex -21.9618 26.7994 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.4095 26.8695 0 + vertex -22.5186 26.2045 0 + vertex -22.0356 26.2369 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.8078 26.9423 0 + vertex -22.5186 26.2045 0 + vertex -22.4095 26.8695 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.8078 26.9423 0 + vertex -23.1385 26.1891 0 + vertex -22.5186 26.2045 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.1972 27.0531 0 + vertex -23.1385 26.1891 0 + vertex -22.8078 26.9423 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.56 27.1917 0 + vertex -23.1385 26.1891 0 + vertex -23.1972 27.0531 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.8316 26.205 0 + vertex -23.56 27.1917 0 + vertex -23.8785 27.3484 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.8316 26.205 0 + vertex -23.8785 27.3484 0 + vertex -24.1346 27.513 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.8316 26.205 0 + vertex -24.1346 27.513 0 + vertex -24.3107 27.6757 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.56 27.1917 0 + vertex -24.8316 26.205 0 + vertex -23.1385 26.1891 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3632 27.7532 0 + vertex -24.8316 26.205 0 + vertex -24.3107 27.6757 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.3751 26.2567 0 + vertex -24.3632 27.7532 0 + vertex -24.3889 27.8265 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.1768 -3.32005 0 + vertex 14.3448 -2.7489 0 + vertex 14.3217 -2.5049 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.3448 -2.7489 0 + vertex 14.2634 -3.15818 0 + vertex 14.3256 -2.96711 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.0741 -3.47638 0 + vertex 14.3217 -2.5049 0 + vertex 14.2572 -2.23644 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.3448 -2.7489 0 + vertex 14.1768 -3.32005 0 + vertex 14.2634 -3.15818 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.8248 -3.7697 0 + vertex 14.2572 -2.23644 0 + vertex 14.1524 -1.94488 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.3217 -2.5049 0 + vertex 14.0741 -3.47638 0 + vertex 14.1768 -3.32005 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.5249 -4.03275 0 + vertex 14.1524 -1.94488 0 + vertex 14.008 -1.63155 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.1837 -4.26011 0 + vertex 14.008 -1.63155 0 + vertex 13.8249 -1.29782 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.2572 -2.23644 0 + vertex 13.8248 -3.7697 0 + vertex 14.0741 -3.47638 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.4149 -4.5861 0 + vertex 13.8249 -1.29782 0 + vertex 13.604 -0.945011 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.1524 -1.94488 0 + vertex 13.5249 -4.03275 0 + vertex 13.8248 -3.7697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.26 -4.69402 0 + vertex 13.604 -0.945011 0 + vertex 13.3463 -0.574481 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.008 -1.63155 0 + vertex 13.1837 -4.26011 0 + vertex 13.5249 -4.03275 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.608 -4.6098 0 + vertex 13.3463 -0.574481 0 + vertex 13.0525 -0.187573 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.8249 -1.29782 0 + vertex 12.8106 -4.44636 0 + vertex 13.1837 -4.26011 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.65389 -4.31807 0 + vertex 13.0525 -0.187573 0 + vertex 12.7237 0.214368 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.8249 -1.29782 0 + vertex 12.4149 -4.5861 0 + vertex 12.8106 -4.44636 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.02468 -4.00814 0 + vertex 12.7237 0.214368 0 + vertex 12.3607 0.629996 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.604 -0.945011 0 + vertex 12.006 -4.67391 0 + vertex 12.4149 -4.5861 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.604 -0.945011 0 + vertex 11.5931 -4.70438 0 + vertex 12.006 -4.67391 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.0755 -3.36119 0 + vertex 12.3607 0.629996 0 + vertex 11.5355 1.49693 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.604 -0.945011 0 + vertex 11.26 -4.69402 0 + vertex 11.5931 -4.70438 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.3463 -0.574481 0 + vertex 10.9319 -4.66264 0 + vertex 11.26 -4.69402 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.3463 -0.574481 0 + vertex 10.608 -4.6098 0 + vertex 10.9319 -4.66264 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.10115 -2.48513 0 + vertex 11.5355 1.49693 0 + vertex 10.5842 2.40247 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.0525 -0.187573 0 + vertex 10.2875 -4.53506 0 + vertex 10.608 -4.6098 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.0525 -0.187573 0 + vertex 9.96977 -4.43796 0 + vertex 10.2875 -4.53506 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.0525 -0.187573 0 + vertex 9.65389 -4.31807 0 + vertex 9.96977 -4.43796 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.79491 -1.04264 0 + vertex 10.5842 2.40247 0 + vertex 9.61741 3.25086 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.7237 0.214368 0 + vertex 9.33912 -4.17495 0 + vertex 9.65389 -4.31807 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.03464 3.65533 0 + vertex 9.61741 3.25086 0 + vertex 9.29624 3.50894 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.03464 3.65533 0 + vertex 9.29624 3.50894 0 + vertex 9.14614 3.60373 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.61741 3.25086 0 + vertex 9.03464 3.65533 0 + vertex 5.79491 -1.04264 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.7237 0.214368 0 + vertex 9.02468 -4.00814 0 + vertex 9.33912 -4.17495 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.24358 -0.384283 0 + vertex 9.03464 3.65533 0 + vertex 8.81858 3.79581 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3607 0.629996 0 + vertex 8.70978 -3.81721 0 + vertex 9.02468 -4.00814 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3607 0.629996 0 + vertex 8.39365 -3.60171 0 + vertex 8.70978 -3.81721 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.62083 0.441773 0 + vertex 8.81858 3.79581 0 + vertex 8.19732 4.25764 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3607 0.629996 0 + vertex 8.0755 -3.36119 0 + vertex 8.39365 -3.60171 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.49221 0.674515 0 + vertex 8.19732 4.25764 0 + vertex 8.00725 4.39171 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5355 1.49693 0 + vertex 7.75455 -3.09522 0 + vertex 8.0755 -3.36119 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.49221 0.674515 0 + vertex 8.00725 4.39171 0 + vertex 7.75154 4.54807 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5355 1.49693 0 + vertex 7.10115 -2.48513 0 + vertex 7.75455 -3.09522 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.44662 0.733548 0 + vertex 7.75154 4.54807 0 + vertex 7.07462 4.9138 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.5842 2.40247 0 + vertex 6.42718 -1.76788 0 + vertex 7.10115 -2.48513 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.40839 0.754677 0 + vertex 7.07462 4.9138 0 + vertex 6.22936 5.32709 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.5842 2.40247 0 + vertex 5.79491 -1.04264 0 + vertex 6.42718 -1.76788 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.40839 0.754677 0 + vertex 6.22936 5.32709 0 + vertex 5.27855 5.76024 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.03464 3.65533 0 + vertex 5.24358 -0.384283 0 + vertex 5.79491 -1.04264 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.81858 3.79581 0 + vertex 4.83246 0.134689 0 + vertex 5.24358 -0.384283 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.19732 4.25764 0 + vertex 4.49221 0.674515 0 + vertex 4.62083 0.441773 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.81858 3.79581 0 + vertex 4.62083 0.441773 0 + vertex 4.83246 0.134689 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.75154 4.54807 0 + vertex 4.44662 0.733548 0 + vertex 4.49221 0.674515 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07462 4.9138 0 + vertex 4.40839 0.754677 0 + vertex 4.44662 0.733548 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.285 6.1855 0 + vertex 4.40839 0.754677 0 + vertex 5.27855 5.76024 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.40839 0.754677 0 + vertex 4.285 6.1855 0 + vertex 4.3737 0.738144 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.31149 6.57517 0 + vertex 4.3737 0.738144 0 + vertex 4.285 6.1855 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.42084 6.9015 0 + vertex 4.3737 0.738144 0 + vertex 3.31149 6.57517 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.3737 0.738144 0 + vertex 2.42084 6.9015 0 + vertex 4.33872 0.684191 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.67583 7.13679 0 + vertex 4.33872 0.684191 0 + vertex 2.42084 6.9015 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.30727 7.25861 0 + vertex 4.33872 0.684191 0 + vertex 1.67583 7.13679 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22446 0.295049 0 + vertex 3.25174 -5.37115 0 + vertex 3.97093 -5.58648 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22446 0.295049 0 + vertex 2.534 -5.13555 0 + vertex 3.25174 -5.37115 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.33872 0.684191 0 + vertex 1.30727 7.25861 0 + vertex 4.25257 0.464986 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22446 0.295049 0 + vertex 1.81816 -4.87986 0 + vertex 2.534 -5.13555 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.87688 -2.74967 0 + vertex 4.25257 0.464986 0 + vertex 1.30727 7.25861 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -2.32857 -3.00041 0 + vertex 4.25257 0.464986 0 + vertex -2.87688 -2.74967 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22446 0.295049 0 + vertex 1.10471 -4.60426 0 + vertex 1.81816 -4.87986 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.87688 -2.74967 0 + vertex 1.30727 7.25861 0 + vertex 0.855811 7.43981 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22446 0.295049 0 + vertex 0.394112 -4.30895 0 + vertex 1.10471 -4.60426 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.301 -2.58026 0 + vertex 0.855811 7.43981 0 + vertex -0.23691 7.94665 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22446 0.295049 0 + vertex -0.313177 -3.99411 0 + vertex 0.394112 -4.30895 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22446 0.295049 0 + vertex -1.01669 -3.65993 0 + vertex -0.313177 -3.99411 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.54104 -2.51804 0 + vertex -0.23691 7.94665 0 + vertex -1.48458 8.58988 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22446 0.295049 0 + vertex -1.71595 -3.30659 0 + vertex -1.01669 -3.65993 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22446 0.295049 0 + vertex -2.32857 -3.00041 0 + vertex -1.71595 -3.30659 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.62666 -2.52788 0 + vertex -1.48458 8.58988 0 + vertex -2.76946 9.30203 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.25257 0.464986 0 + vertex -2.32857 -3.00041 0 + vertex 4.22446 0.295049 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.855811 7.43981 0 + vertex -3.301 -2.58026 0 + vertex -2.87688 -2.74967 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.23691 7.94665 0 + vertex -3.54104 -2.51804 0 + vertex -3.301 -2.58026 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.48458 8.58988 0 + vertex -3.62666 -2.52788 0 + vertex -3.54104 -2.51804 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.76946 9.30203 0 + vertex -3.68113 -2.55635 0 + vertex -3.62666 -2.52788 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.97378 10.0157 0 + vertex -3.68113 -2.55635 0 + vertex -2.76946 9.30203 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -4.59396 -25.347 0 + vertex -1.45361 -26.5684 0 + vertex -4.25232 -24.3543 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -3.84473 -21.6547 0 + vertex -3.82849 -22.2203 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -3.87719 -21.3353 0 + vertex -3.84473 -21.6547 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -3.91934 -21.0662 0 + vertex -3.87719 -21.3353 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.9798 10.6633 0 + vertex -3.68113 -2.55635 0 + vertex -3.97378 10.0157 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.37165 10.9414 0 + vertex -3.68113 -2.55635 0 + vertex -4.9798 10.6633 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -3.97677 -20.8354 0 + vertex -3.91934 -21.0662 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -4.05507 -20.6308 0 + vertex -3.97677 -20.8354 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -4.15983 -20.4402 0 + vertex -4.05507 -20.6308 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -4.29663 -20.2518 0 + vertex -4.15983 -20.4402 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -4.47107 -20.0532 0 + vertex -4.29663 -20.2518 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -4.68872 -19.8327 0 + vertex -4.47107 -20.0532 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -4.93899 -19.592 0 + vertex -4.68872 -19.8327 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.66976 11.1776 0 + vertex -3.68113 -2.55635 0 + vertex -5.37165 10.9414 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -5.14898 -19.4116 0 + vertex -4.93899 -19.592 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -5.34642 -19.2839 0 + vertex -5.14898 -19.4116 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.68113 -2.55635 0 + vertex -5.66976 11.1776 0 + vertex -3.70601 -2.60189 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -5.55901 -19.2012 0 + vertex -5.34642 -19.2839 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.85942 11.3636 0 + vertex -3.70601 -2.60189 0 + vertex -5.66976 11.1776 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -5.8145 -19.1562 0 + vertex -5.55901 -19.2012 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 0 + vertex -5.85942 11.3636 0 + vertex -5.90899 11.4352 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.85942 11.3636 0 + vertex -17.4002 -11.6639 0 + vertex -3.70601 -2.60189 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 0 + vertex -5.90899 11.4352 0 + vertex -5.92592 11.491 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.70285 -2.66292 0 + vertex -6.14058 -19.1411 0 + vertex -5.8145 -19.1562 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.04277 -4.97268 0 + vertex 7.2241 -5.88439 0 + vertex 7.809 -5.75259 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.04277 -4.97268 0 + vertex 6.87672 -5.95074 0 + vertex 7.2241 -5.88439 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.53505 -5.98957 0 + vertex 7.04277 -4.97268 0 + vertex 6.78219 -4.68956 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.04277 -4.97268 0 + vertex 6.53505 -5.98957 0 + vertex 6.87672 -5.95074 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.82356 -5.98052 0 + vertex 6.78219 -4.68956 0 + vertex 6.51759 -4.36865 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.4311 -5.93055 0 + vertex 6.51759 -4.36865 0 + vertex 6.2523 -4.01644 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.78219 -4.68956 0 + vertex 6.18777 -5.99984 0 + vertex 6.53505 -5.98957 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.99906 -5.84891 0 + vertex 6.2523 -4.01644 0 + vertex 5.98964 -3.63939 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.78219 -4.68956 0 + vertex 5.82356 -5.98052 0 + vertex 6.18777 -5.99984 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.97093 -5.58648 0 + vertex 5.98964 -3.63939 0 + vertex 5.48552 -2.8367 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.51759 -4.36865 0 + vertex 5.4311 -5.93055 0 + vertex 5.82356 -5.98052 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.97093 -5.58648 0 + vertex 5.48552 -2.8367 0 + vertex 5.03179 -2.01239 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.2523 -4.01644 0 + vertex 4.99906 -5.84891 0 + vertex 5.4311 -5.93055 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.97093 -5.58648 0 + vertex 5.03179 -2.01239 0 + vertex 4.65505 -1.21825 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.98964 -3.63939 0 + vertex 4.51611 -5.73457 0 + vertex 4.99906 -5.84891 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.97093 -5.58648 0 + vertex 4.65505 -1.21825 0 + vertex 4.50386 -0.848697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.97093 -5.58648 0 + vertex 4.50386 -0.848697 0 + vertex 4.38188 -0.506111 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.97093 -5.58648 0 + vertex 4.38188 -0.506111 0 + vertex 4.29244 -0.196974 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.97093 -5.58648 0 + vertex 4.29244 -0.196974 0 + vertex 4.23886 0.0722368 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.97093 -5.58648 0 + vertex 4.23886 0.0722368 0 + vertex 4.22446 0.295049 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.98964 -3.63939 0 + vertex 3.97093 -5.58648 0 + vertex 4.51611 -5.73457 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.7369 -35.0944 0 + vertex 12.2214 -34.9805 0 + vertex 12.2468 -35.1875 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.73 -32.8205 0 + vertex 11.1661 -32.3709 0 + vertex 14.6832 -33.3707 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.6656 -33.913 0 + vertex 12.1503 -34.7994 0 + vertex 12.2214 -34.9805 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 11.8827 -34.5351 0 + vertex 14.6832 -33.3707 0 + vertex 11.1661 -32.3709 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.6656 -33.913 0 + vertex 12.0364 -34.6492 0 + vertex 12.1503 -34.7994 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 12.0364 -34.6492 0 + vertex 14.6832 -33.3707 0 + vertex 11.8827 -34.5351 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.6832 -33.3707 0 + vertex 12.0364 -34.6492 0 + vertex 14.6656 -33.913 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.9267 -33.0747 0 + vertex 11.8827 -34.5351 0 + vertex 11.1661 -32.3709 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8827 -34.5351 0 + vertex 10.9267 -33.0747 0 + vertex 11.6919 -34.4621 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.6919 -34.4621 0 + vertex 10.9267 -33.0747 0 + vertex 11.4668 -34.4353 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.7819 -33.5982 0 + vertex 11.4668 -34.4353 0 + vertex 10.9267 -33.0747 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.7449 -33.8005 0 + vertex 11.4668 -34.4353 0 + vertex 10.7819 -33.5982 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.4668 -34.4353 0 + vertex 10.7449 -33.8005 0 + vertex 11.143 -34.4171 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.7315 -33.9677 0 + vertex 11.143 -34.4171 0 + vertex 10.7449 -33.8005 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.143 -34.4171 0 + vertex 10.7315 -33.9677 0 + vertex 11.016 -34.3915 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 10.7415 -34.103 0 + vertex 11.016 -34.3915 0 + vertex 10.7315 -33.9677 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.016 -34.3915 0 + vertex 10.7415 -34.103 0 + vertex 10.9123 -34.3507 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 10.775 -34.2097 0 + vertex 10.9123 -34.3507 0 + vertex 10.7415 -34.103 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9123 -34.3507 0 + vertex 10.775 -34.2097 0 + vertex 10.832 -34.2912 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.0881 -14.3092 0 + vertex 14.1362 -14.4186 0 + vertex 14.1363 -14.3424 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.0003 -14.2763 0 + vertex 14.1362 -14.4186 0 + vertex 14.0881 -14.3092 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.1362 -14.4186 0 + vertex 14.0003 -14.2763 0 + vertex 14.0967 -14.5873 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.7222 -14.2141 0 + vertex 14.0967 -14.5873 0 + vertex 14.0003 -14.2763 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.0967 -14.5873 0 + vertex 13.7222 -14.2141 0 + vertex 13.9185 -15.1524 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.3346 -14.1615 0 + vertex 13.9185 -15.1524 0 + vertex 13.7222 -14.2141 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.8698 -14.1239 0 + vertex 13.9185 -15.1524 0 + vertex 13.3346 -14.1615 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.9185 -15.1524 0 + vertex 12.8698 -14.1239 0 + vertex 13.6397 -15.9386 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.7363 -14.0885 0 + vertex 13.6397 -15.9386 0 + vertex 12.8698 -14.1239 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.6397 -15.9386 0 + vertex 12.7363 -14.0885 0 + vertex 13.2984 -16.8469 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.6087 -14.0056 0 + vertex 13.2984 -16.8469 0 + vertex 12.7363 -14.0885 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.0711 -19.1496 0 + vertex 13.2984 -16.8469 0 + vertex 12.6087 -14.0056 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.0711 -19.1496 0 + vertex 12.6087 -14.0056 0 + vertex 12.5013 -13.8876 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.72114 -19.1409 0 + vertex 12.5013 -13.8876 0 + vertex 12.4287 -13.7469 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.76754 -19.1712 0 + vertex 12.4287 -13.7469 0 + vertex 12.3997 -13.6324 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.80885 -19.2424 0 + vertex 12.3997 -13.6324 0 + vertex 12.3889 -13.5153 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 10.602 -19.227 0 + vertex 13.2984 -16.8469 0 + vertex 10.3591 -19.1774 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.8205 29.3224 0 + vertex 15.0694 29.0611 0 + vertex 12.0304 29.9363 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0694 29.0611 0 + vertex 11.8205 29.3224 0 + vertex 15.0552 28.7509 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 11.8169 27.5343 0 + vertex 15.0574 28.4965 0 + vertex 11.7656 27.9858 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 11.903 27.1234 0 + vertex 15.0574 28.4965 0 + vertex 11.8169 27.5343 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.7675 28.9061 0 + vertex 15.0552 28.7509 0 + vertex 11.8205 29.3224 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0574 28.4965 0 + vertex 12.2572 26.3514 0 + vertex 12.3979 26.1543 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.9082 29.6745 0 + vertex 12.0304 29.9363 0 + vertex 11.965 29.8184 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0304 29.9363 0 + vertex 11.9082 29.6745 0 + vertex 11.8205 29.3224 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0574 28.4965 0 + vertex 12.1339 26.5589 0 + vertex 12.2572 26.3514 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0552 28.7509 0 + vertex 11.7675 28.9061 0 + vertex 15.0574 28.4965 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0574 28.4965 0 + vertex 12.0241 26.7794 0 + vertex 12.1339 26.5589 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0574 28.4965 0 + vertex 11.7675 28.9061 0 + vertex 11.7492 28.4518 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 12.0241 26.7794 0 + vertex 15.0574 28.4965 0 + vertex 11.903 27.1234 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0574 28.4965 0 + vertex 11.7492 28.4518 0 + vertex 11.7656 27.9858 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.7548 16.6154 0 + vertex 24.8294 16.7672 0 + vertex 24.8232 16.8925 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.659 16.5397 0 + vertex 24.8232 16.8925 0 + vertex 24.789 17.0321 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.8294 16.7672 0 + vertex 24.7548 16.6154 0 + vertex 24.8049 16.6725 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.5483 17.3222 0 + vertex 24.789 17.0321 0 + vertex 24.7291 17.1695 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.5483 17.3222 0 + vertex 24.7291 17.1695 0 + vertex 24.6602 17.253 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.8232 16.8925 0 + vertex 24.659 16.5397 0 + vertex 24.7548 16.6154 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.789 17.0321 0 + vertex 24.5483 17.3222 0 + vertex 24.659 16.5397 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.386 17.3783 0 + vertex 24.659 16.5397 0 + vertex 24.5483 17.3222 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.386 17.3783 0 + vertex 24.3498 16.3417 0 + vertex 24.659 16.5397 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.166 17.4223 0 + vertex 24.3498 16.3417 0 + vertex 24.386 17.3783 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.166 17.4223 0 + vertex 23.9148 16.0975 0 + vertex 24.3498 16.3417 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.5226 17.4791 0 + vertex 23.9148 16.0975 0 + vertex 24.166 17.4223 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.5226 17.4791 0 + vertex 23.3919 15.8262 0 + vertex 23.9148 16.0975 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.5588 17.5015 0 + vertex 23.3919 15.8262 0 + vertex 23.5226 17.4791 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.5588 17.5015 0 + vertex 22.2336 15.278 0 + vertex 23.3919 15.8262 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0506 17.5236 0 + vertex 22.2336 15.278 0 + vertex 22.5588 17.5015 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.2336 15.278 0 + vertex 21.0506 17.5236 0 + vertex 21.6737 15.039 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.6737 15.039 0 + vertex 21.0506 17.5236 0 + vertex 21.1771 14.8489 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2276 17.5562 0 + vertex 21.1771 14.8489 0 + vertex 21.0506 17.5236 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.1771 14.8489 0 + vertex 20.2276 17.5562 0 + vertex 20.8452 14.735 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.8452 14.735 0 + vertex 20.2276 17.5562 0 + vertex 20.5722 14.6577 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.5722 14.6577 0 + vertex 20.2276 17.5562 0 + vertex 20.327 14.6203 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4469 14.7833 0 + vertex 20.2276 17.5562 0 + vertex 20.1284 17.5777 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2276 17.5562 0 + vertex 20.0785 14.6265 0 + vertex 20.327 14.6203 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4469 14.7833 0 + vertex 20.1284 17.5777 0 + vertex 20.0333 17.6179 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4281 15.1559 0 + vertex 20.0333 17.6179 0 + vertex 19.9424 17.6771 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4281 15.1559 0 + vertex 19.9424 17.6771 0 + vertex 19.8554 17.7553 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2276 17.5562 0 + vertex 19.7955 14.6797 0 + vertex 20.0785 14.6265 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.448 15.5385 0 + vertex 19.8554 17.7553 0 + vertex 19.6934 17.9694 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.448 15.5385 0 + vertex 19.6934 17.9694 0 + vertex 19.5469 18.2611 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2276 17.5562 0 + vertex 19.4469 14.7833 0 + vertex 19.7955 14.6797 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.6072 15.8977 0 + vertex 19.5469 18.2611 0 + vertex 19.4153 18.6317 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.8738 16.2527 0 + vertex 19.4153 18.6317 0 + vertex 19.2984 19.082 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2162 16.623 0 + vertex 19.2984 19.082 0 + vertex 19.1956 19.6132 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.6028 17.0277 0 + vertex 19.1956 19.6132 0 + vertex 19.1065 20.2262 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.1667 22.8321 0 + vertex 19.1065 20.2262 0 + vertex 19.0081 20.8787 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6752 22.6222 0 + vertex 19.0081 20.8787 0 + vertex 18.892 21.4494 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4732 22.2317 0 + vertex 18.892 21.4494 0 + vertex 18.7726 21.8767 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4732 22.2317 0 + vertex 18.7726 21.8767 0 + vertex 18.7163 22.0174 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4732 22.2317 0 + vertex 18.7163 22.0174 0 + vertex 18.6646 22.0992 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.892 21.4494 0 + vertex 18.4732 22.2317 0 + vertex 18.127 22.4141 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0333 17.6179 0 + vertex 18.4281 15.1559 0 + vertex 19.4469 14.7833 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.892 21.4494 0 + vertex 18.127 22.4141 0 + vertex 17.6752 22.6222 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.0081 20.8787 0 + vertex 17.6752 22.6222 0 + vertex 17.1667 22.8321 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.8554 17.7553 0 + vertex 17.448 15.5385 0 + vertex 18.4281 15.1559 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.1065 20.2262 0 + vertex 17.1667 22.8321 0 + vertex 14.0017 17.4864 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5469 18.2611 0 + vertex 16.6072 15.8977 0 + vertex 17.448 15.5385 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4153 18.6317 0 + vertex 15.8738 16.2527 0 + vertex 16.6072 15.8977 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.3813 18.0182 0 + vertex 17.1667 22.8321 0 + vertex 15.5173 23.4995 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.2984 19.082 0 + vertex 15.2162 16.623 0 + vertex 15.8738 16.2527 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.1956 19.6132 0 + vertex 14.6028 17.0277 0 + vertex 15.2162 16.623 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.6914 19.6646 0 + vertex 15.5173 23.4995 0 + vertex 14.0281 24.1527 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.1065 20.2262 0 + vertex 14.0017 17.4864 0 + vertex 14.6028 17.0277 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9846 20.5521 0 + vertex 14.0281 24.1527 0 + vertex 13.7923 24.2655 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.6869 21.0368 0 + vertex 13.7923 24.2655 0 + vertex 13.5553 24.3991 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.1667 22.8321 0 + vertex 13.3813 18.0182 0 + vertex 14.0017 17.4864 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.3935 21.5973 0 + vertex 13.5553 24.3991 0 + vertex 13.085 24.7212 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.5173 23.4995 0 + vertex 12.71 18.6425 0 + vertex 13.3813 18.0182 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.0801 22.2703 0 + vertex 13.085 24.7212 0 + vertex 12.6316 25.1032 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.72206 23.0922 0 + vertex 12.6316 25.1032 0 + vertex 12.2092 25.5292 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.5173 23.4995 0 + vertex 12.1494 19.1886 0 + vertex 12.71 18.6425 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.38213 23.8626 0 + vertex 12.2092 25.5292 0 + vertex 11.8324 25.9834 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.5173 23.4995 0 + vertex 11.6914 19.6646 0 + vertex 12.1494 19.1886 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.08206 24.476 0 + vertex 11.8324 25.9834 0 + vertex 11.5154 26.4501 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.80411 24.9522 0 + vertex 11.5154 26.4501 0 + vertex 11.3839 26.6832 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.0281 24.1527 0 + vertex 11.3113 20.1069 0 + vertex 11.6914 19.6646 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.6679 25.145 0 + vertex 11.3839 26.6832 0 + vertex 11.2726 26.9135 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.53058 25.3107 0 + vertex 11.2726 26.9135 0 + vertex 11.1835 27.139 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.38993 25.4519 0 + vertex 11.1835 27.139 0 + vertex 11.1184 27.3577 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.24373 25.571 0 + vertex 11.1184 27.3577 0 + vertex 11.0734 27.5937 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.08977 25.6705 0 + vertex 11.0734 27.5937 0 + vertex 11.0484 27.8474 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.0281 24.1527 0 + vertex 10.9846 20.5521 0 + vertex 11.3113 20.1069 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.92584 25.7528 0 + vertex 11.0484 27.8474 0 + vertex 11.0419 28.1143 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.9476 30.6899 0 + vertex 4.89167 37.3134 0 + vertex 11.8311 30.6195 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.73361 37.0399 0 + vertex 11.8311 30.6195 0 + vertex 4.89167 37.3134 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.31688 36.0346 0 + vertex 11.8311 30.6195 0 + vertex 4.73361 37.0399 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.1227 35.3375 0 + vertex 11.8311 30.6195 0 + vertex 4.31688 36.0346 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8311 30.6195 0 + vertex 3.94762 34.5584 0 + vertex 11.7177 30.5077 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.68366 32.8976 0 + vertex 11.6088 30.3591 0 + vertex 3.79886 33.7332 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.94762 34.5584 0 + vertex 11.8311 30.6195 0 + vertex 4.1227 35.3375 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.7177 30.5077 0 + vertex 3.79886 33.7332 0 + vertex 11.6088 30.3591 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.52293 36.6141 0 + vertex 4.73361 37.0399 0 + vertex 4.62814 36.8484 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.73361 37.0399 0 + vertex 4.52293 36.6141 0 + vertex 4.31688 36.0346 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.6088 30.3591 0 + vertex 3.68366 32.8976 0 + vertex 11.5057 30.1782 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.79886 33.7332 0 + vertex 11.7177 30.5077 0 + vertex 3.94762 34.5584 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.60924 32.0876 0 + vertex 11.5057 30.1782 0 + vertex 3.68366 32.8976 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.58282 31.3388 0 + vertex 11.5057 30.1782 0 + vertex 3.60924 32.0876 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5057 30.1782 0 + vertex 5.05276 27.3884 0 + vertex 5.39739 26.9794 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5057 30.1782 0 + vertex 4.69711 27.8759 0 + vertex 5.05276 27.3884 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 3.59957 30.3654 0 + vertex 11.5057 30.1782 0 + vertex 3.58282 31.3388 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5057 30.1782 0 + vertex 4.32553 28.4461 0 + vertex 4.69711 27.8759 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5057 30.1782 0 + vertex 4.09087 28.8303 0 + vertex 4.32553 28.4461 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5057 30.1782 0 + vertex 3.59957 30.3654 0 + vertex 4.09087 28.8303 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.09087 28.8303 0 + vertex 3.59957 30.3654 0 + vertex 3.91157 29.1502 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 3.63162 30.0135 0 + vertex 3.91157 29.1502 0 + vertex 3.59957 30.3654 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.91157 29.1502 0 + vertex 3.63162 30.0135 0 + vertex 3.78021 29.4348 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.78021 29.4348 0 + vertex 3.63162 30.0135 0 + vertex 3.68937 29.7129 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.45361 -26.5684 0 + vertex -4.59396 -25.347 0 + vertex -1.72295 -27.0315 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.05721 -26.548 0 + vertex -1.72295 -27.0315 0 + vertex -4.59396 -25.347 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.72295 -27.0315 0 + vertex -5.05721 -26.548 0 + vertex -2.23947 -28.0146 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.23947 -28.0146 0 + vertex -5.05721 -26.548 0 + vertex -2.71481 -29.043 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.65492 -27.9982 0 + vertex -2.71481 -29.043 0 + vertex -5.05721 -26.548 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.71481 -29.043 0 + vertex -5.65492 -27.9982 0 + vertex -3.135 -30.0798 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.39994 -29.738 0 + vertex -3.135 -30.0798 0 + vertex -5.65492 -27.9982 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.135 -30.0798 0 + vertex -6.39994 -29.738 0 + vertex -3.4861 -31.0878 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.4477 -19.4082 0 + vertex 19.1479 -12.7477 0 + vertex 24.9086 -19.5812 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7352 1.18648 0 + vertex 19.6583 -10.9333 0 + vertex 19.6819 -11.0243 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.4297 -3.0084 0 + vertex 19.6172 -10.8571 0 + vertex 19.6583 -10.9333 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0112 -3.39762 0 + vertex 19.557 -10.7956 0 + vertex 19.6172 -10.8571 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.4451 -3.80993 0 + vertex 19.557 -10.7956 0 + vertex 20.0112 -3.39762 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.557 -10.7956 0 + vertex 19.4451 -3.80993 0 + vertex 19.4763 -10.749 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 18.7073 -4.27174 0 + vertex 19.4763 -10.749 0 + vertex 19.4451 -3.80993 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4763 -10.749 0 + vertex 18.7073 -4.27174 0 + vertex 19.3736 -10.7173 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 17.7736 -4.80944 0 + vertex 19.3736 -10.7173 0 + vertex 18.7073 -4.27174 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3736 -10.7173 0 + vertex 17.7736 -4.80944 0 + vertex 19.0963 -10.6988 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.0963 -10.6988 0 + vertex 17.7736 -4.80944 0 + vertex 18.7132 -10.7406 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 16.3254 -5.59514 0 + vertex 18.7132 -10.7406 0 + vertex 17.7736 -4.80944 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.7132 -10.7406 0 + vertex 16.3254 -5.59514 0 + vertex 18.2126 -10.843 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.6549 -5.93433 0 + vertex 18.2126 -10.843 0 + vertex 16.3254 -5.59514 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.2126 -10.843 0 + vertex 15.6549 -5.93433 0 + vertex 17.5824 -11.0066 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.0129 -6.23993 0 + vertex 17.5824 -11.0066 0 + vertex 15.6549 -5.93433 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.5824 -11.0066 0 + vertex 15.0129 -6.23993 0 + vertex 16.811 -11.2316 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 14.3941 -6.51356 0 + vertex 16.811 -11.2316 0 + vertex 15.0129 -6.23993 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.793 -6.75686 0 + vertex 16.811 -11.2316 0 + vertex 14.3941 -6.51356 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.793 -6.75686 0 + vertex 13.7217 -12.1451 0 + vertex 16.811 -11.2316 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 13.2041 -6.97145 0 + vertex 13.7217 -12.1451 0 + vertex 13.793 -6.75686 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.6221 -7.15898 0 + vertex 13.7217 -12.1451 0 + vertex 13.2041 -6.97145 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.0414 -7.32107 0 + vertex 13.7217 -12.1451 0 + vertex 12.6221 -7.15898 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.7217 -12.1451 0 + vertex 12.0414 -7.32107 0 + vertex 13.4022 -12.26 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.4568 -7.45935 0 + vertex 13.4022 -12.26 0 + vertex 12.0414 -7.32107 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.4022 -12.26 0 + vertex 11.4568 -7.45935 0 + vertex 13.1153 -12.4148 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.8627 -7.57545 0 + vertex 13.1153 -12.4148 0 + vertex 11.4568 -7.45935 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.1153 -12.4148 0 + vertex 10.8627 -7.57545 0 + vertex 12.8673 -12.6015 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.2538 -7.67101 0 + vertex 12.8673 -12.6015 0 + vertex 10.8627 -7.57545 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 10.8168 -19.3006 0 + vertex 12.5806 -18.6336 0 + vertex 10.602 -19.227 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.8673 -12.6015 0 + vertex 10.2538 -7.67101 0 + vertex 12.6645 -12.8127 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 9.62459 -7.74765 0 + vertex 12.6645 -12.8127 0 + vertex 10.2538 -7.67101 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.5806 -18.6336 0 + vertex 11.0203 -19.4009 0 + vertex 12.2803 -19.3138 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 11.5538 -19.7266 0 + vertex 12.2803 -19.3138 0 + vertex 11.2294 -19.5302 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2803 -19.3138 0 + vertex 11.5538 -19.7266 0 + vertex 12.0697 -19.7199 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 11.7902 -19.8211 0 + vertex 12.0697 -19.7199 0 + vertex 11.5538 -19.7266 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 11.881 -19.8313 0 + vertex 12.0697 -19.7199 0 + vertex 11.7902 -19.8211 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.6645 -12.8127 0 + vertex 9.62459 -7.74765 0 + vertex 12.513 -13.0405 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0185 -19.7802 0 + vertex 11.881 -19.8313 0 + vertex 11.9563 -19.8175 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0697 -19.7199 0 + vertex 11.881 -19.8313 0 + vertex 12.0185 -19.7802 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 8.96966 -7.80701 0 + vertex 12.513 -13.0405 0 + vertex 9.62459 -7.74765 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 11.2294 -19.5302 0 + vertex 12.2803 -19.3138 0 + vertex 11.0203 -19.4009 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 11.0203 -19.4009 0 + vertex 12.5806 -18.6336 0 + vertex 10.8168 -19.3006 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.2984 -16.8469 0 + vertex 10.602 -19.227 0 + vertex 12.5806 -18.6336 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.513 -13.0405 0 + vertex 8.96966 -7.80701 0 + vertex 12.419 -13.2773 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.2984 -16.8469 0 + vertex 10.0711 -19.1496 0 + vertex 10.3591 -19.1774 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.56097 -7.88041 0 + vertex 12.419 -13.2773 0 + vertex 8.96966 -7.80701 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.5013 -13.8876 0 + vertex 9.72114 -19.1409 0 + vertex 10.0711 -19.1496 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.419 -13.2773 0 + vertex 7.56097 -7.88041 0 + vertex 12.3889 -13.5153 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.4287 -13.7469 0 + vertex 8.76754 -19.1712 0 + vertex 9.72114 -19.1409 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.04455 -7.91255 0 + vertex 12.3889 -13.5153 0 + vertex 7.56097 -7.88041 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3997 -13.6324 0 + vertex 7.80885 -19.2424 0 + vertex 8.76754 -19.1712 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 7.42262 -19.2967 0 + vertex 12.3889 -13.5153 0 + vertex 6.04455 -7.91255 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3889 -13.5153 0 + vertex 7.42262 -19.2967 0 + vertex 7.80885 -19.2424 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.42262 -19.2967 0 + vertex 6.04455 -7.91255 0 + vertex 7.07441 -19.3694 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.49083 -7.9071 0 + vertex 7.07441 -19.3694 0 + vertex 6.04455 -7.91255 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.07441 -19.3694 0 + vertex 5.49083 -7.9071 0 + vertex 6.74616 -19.4649 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.0434 -7.88498 0 + vertex 6.74616 -19.4649 0 + vertex 5.49083 -7.9071 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.74616 -19.4649 0 + vertex 5.0434 -7.88498 0 + vertex 6.41984 -19.5879 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.67971 -7.84446 0 + vertex 6.41984 -19.5879 0 + vertex 5.0434 -7.88498 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.41984 -19.5879 0 + vertex 4.67971 -7.84446 0 + vertex 6.07737 -19.7427 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.37723 -7.78379 0 + vertex 6.07737 -19.7427 0 + vertex 4.67971 -7.84446 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.07737 -19.7427 0 + vertex 4.37723 -7.78379 0 + vertex 5.70074 -19.9339 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.70074 -19.9339 0 + vertex 4.37723 -7.78379 0 + vertex 5.20766 -20.2058 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.11342 -7.70123 0 + vertex 5.20766 -20.2058 0 + vertex 4.37723 -7.78379 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.20766 -20.2058 0 + vertex 4.11342 -7.70123 0 + vertex 4.71458 -20.5006 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.86574 -7.59505 0 + vertex 4.71458 -20.5006 0 + vertex 4.11342 -7.70123 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.71458 -20.5006 0 + vertex 3.86574 -7.59505 0 + vertex 4.22328 -20.8168 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.40104 -7.34622 0 + vertex 4.22328 -20.8168 0 + vertex 3.86574 -7.59505 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.22328 -20.8168 0 + vertex 3.40104 -7.34622 0 + vertex 3.73558 -21.1527 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.71562 -6.94693 0 + vertex 3.73558 -21.1527 0 + vertex 3.40104 -7.34622 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.82849 -22.2203 0 + vertex 3.73558 -21.1527 0 + vertex 2.71562 -6.94693 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.73558 -21.1527 0 + vertex -3.82849 -22.2203 0 + vertex 3.25328 -21.5067 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.82849 -22.2203 0 + vertex 2.71562 -6.94693 0 + vertex 1.05193 -5.91722 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.25328 -21.5067 0 + vertex -3.82849 -22.2203 0 + vertex 2.77819 -21.8771 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.77819 -21.8771 0 + vertex -3.82849 -22.2203 0 + vertex 2.31211 -22.2625 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.82849 -22.2203 0 + vertex 1.05193 -5.91722 0 + vertex -0.694871 -4.82613 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.31211 -22.2625 0 + vertex -3.82849 -22.2203 0 + vertex 1.85684 -22.661 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.85684 -22.661 0 + vertex -3.82849 -22.2203 0 + vertex 1.4142 -23.0712 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.82849 -22.2203 0 + vertex -0.694871 -4.82613 0 + vertex -2.47177 -3.7788 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.4142 -23.0712 0 + vertex -3.82849 -22.2203 0 + vertex 0.985991 -23.4913 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.985991 -23.4913 0 + vertex -3.82849 -22.2203 0 + vertex 0.574011 -23.9198 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.82849 -22.2203 0 + vertex -2.47177 -3.7788 0 + vertex -2.8551 -3.51984 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.574011 -23.9198 0 + vertex -3.82849 -22.2203 0 + vertex 0.18007 -24.355 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -3.84589 -22.5177 0 + vertex 0.18007 -24.355 0 + vertex -3.82849 -22.2203 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.82849 -22.2203 0 + vertex -2.8551 -3.51984 0 + vertex -3.18232 -3.26618 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -3.88244 -22.8317 0 + vertex 0.18007 -24.355 0 + vertex -3.84589 -22.5177 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.82849 -22.2203 0 + vertex -3.18232 -3.26618 0 + vertex -3.44099 -3.03042 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.18007 -24.355 0 + vertex -3.88244 -22.8317 0 + vertex -0.194025 -24.7953 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -3.93975 -23.1672 0 + vertex -0.194025 -24.7953 0 + vertex -3.88244 -22.8317 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.82849 -22.2203 0 + vertex -3.44099 -3.03042 0 + vertex -3.61865 -2.82513 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.194025 -24.7953 0 + vertex -3.93975 -23.1672 0 + vertex -0.546472 -25.2391 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -4.01943 -23.5295 0 + vertex -0.546472 -25.2391 0 + vertex -3.93975 -23.1672 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.546472 -25.2391 0 + vertex -4.01943 -23.5295 0 + vertex -0.875463 -25.6847 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.82849 -22.2203 0 + vertex -3.61865 -2.82513 0 + vertex -3.70285 -2.66292 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -4.25232 -24.3543 0 + vertex -0.875463 -25.6847 0 + vertex -4.01943 -23.5295 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.875463 -25.6847 0 + vertex -4.25232 -24.3543 0 + vertex -1.17919 -26.1306 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4002 -11.6639 0 + vertex -3.70285 -2.66292 0 + vertex -3.70601 -2.60189 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.17919 -26.1306 0 + vertex -4.25232 -24.3543 0 + vertex -1.45361 -26.5684 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0469 1.94283 0 + vertex 21.1316 -0.233279 0 + vertex 21.1355 -0.658014 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.9727 1.93385 0 + vertex 21.099 0.0745682 0 + vertex 21.1316 -0.233279 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.9112 1.94773 0 + vertex 21.0726 0.170561 0 + vertex 21.099 0.0745682 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.8622 1.9828 0 + vertex 21.0399 0.220413 0 + vertex 21.0726 0.170561 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.8016 2.10976 0 + vertex 20.9772 0.235111 0 + vertex 21.0399 0.220413 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.498 4.716 0 + vertex 21.3371 8.55423 0 + vertex 20.8834 8.89663 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.7901 2.30129 0 + vertex 20.8646 0.230347 0 + vertex 20.9772 0.235111 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 20.5155 0.168137 0 + vertex 22.827 2.54396 0 + vertex 16.2363 2.34533 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.3486 5.33522 0 + vertex 20.8834 8.89663 0 + vertex 20.3513 9.26304 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.7901 2.30129 0 + vertex 20.5155 0.168137 0 + vertex 20.8646 0.230347 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2183 5.95043 0 + vertex 20.3513 9.26304 0 + vertex 19.7274 9.66569 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.827 2.54396 0 + vertex 20.5155 0.168137 0 + vertex 22.7901 2.30129 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1095 6.5543 0 + vertex 19.7274 9.66569 0 + vertex 19.4723 9.81661 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1095 6.5543 0 + vertex 19.4723 9.81661 0 + vertex 19.2206 9.94402 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1095 6.5543 0 + vertex 19.2206 9.94402 0 + vertex 18.9645 10.0501 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.5155 0.168137 0 + vertex 16.2363 2.34533 0 + vertex 20.0432 0.0451876 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0249 7.13954 0 + vertex 18.9645 10.0501 0 + vertex 18.6964 10.137 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 16.4437 1.81579 0 + vertex 20.0432 0.0451876 0 + vertex 16.2363 2.34533 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0249 7.13954 0 + vertex 18.6964 10.137 0 + vertex 18.4085 10.2069 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 16.6551 1.32614 0 + vertex 20.0432 0.0451876 0 + vertex 16.4437 1.81579 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 16.8681 0.883681 0 + vertex 19.4982 -0.127099 0 + vertex 16.6551 1.32614 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0249 7.13954 0 + vertex 18.4085 10.2069 0 + vertex 18.093 10.2619 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 17.0802 0.495742 0 + vertex 19.4982 -0.127099 0 + vertex 16.8681 0.883681 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 17.2889 0.169637 0 + vertex 18.7502 -0.369046 0 + vertex 17.0802 0.495742 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 17.4918 -0.0873203 0 + vertex 18.7502 -0.369046 0 + vertex 17.2889 0.169637 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.7502 -0.369046 0 + vertex 17.4918 -0.0873203 0 + vertex 18.4876 -0.435405 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9668 7.69881 0 + vertex 18.093 10.2619 0 + vertex 17.3487 10.3363 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4876 -0.435405 0 + vertex 17.6862 -0.267812 0 + vertex 18.2791 -0.466914 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 17.8284 -0.36402 0 + vertex 18.2791 -0.466914 0 + vertex 17.6862 -0.267812 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.1098 -0.464739 0 + vertex 17.8284 -0.36402 0 + vertex 17.9646 -0.430052 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.2791 -0.466914 0 + vertex 17.8284 -0.36402 0 + vertex 18.1098 -0.464739 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9212 8.45633 0 + vertex 17.3487 10.3363 0 + vertex 16.499 10.3797 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 17.6862 -0.267812 0 + vertex 18.4876 -0.435405 0 + vertex 17.4918 -0.0873203 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4982 -0.127099 0 + vertex 17.0802 0.495742 0 + vertex 18.7502 -0.369046 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.5399 9.97068 0 + vertex 16.499 10.3797 0 + vertex 16.2187 10.3704 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0432 0.0451876 0 + vertex 16.6551 1.32614 0 + vertex 19.4982 -0.127099 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6879 10.1383 0 + vertex 16.2187 10.3704 0 + vertex 16.005 10.3315 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.6879 10.1383 0 + vertex 16.005 10.3315 0 + vertex 15.8355 10.2563 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.2187 10.3704 0 + vertex 15.6879 10.1383 0 + vertex 15.5399 9.97068 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 16.2363 2.34533 0 + vertex 22.9115 2.82433 0 + vertex 16.0356 2.90743 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.499 10.3797 0 + vertex 15.5399 9.97068 0 + vertex 15.369 9.74689 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.7259 8.22365 0 + vertex 15.498 4.716 0 + vertex 15.6639 4.10009 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.213 9.52982 0 + vertex 16.499 10.3797 0 + vertex 15.369 9.74689 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.8834 8.89663 0 + vertex 15.3486 5.33522 0 + vertex 15.498 4.716 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3513 9.26304 0 + vertex 15.2183 5.95043 0 + vertex 15.3486 5.33522 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.499 10.3797 0 + vertex 15.213 9.52982 0 + vertex 14.9212 8.45633 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7274 9.66569 0 + vertex 15.1095 6.5543 0 + vertex 15.2183 5.95043 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9262 8.72903 0 + vertex 15.213 9.52982 0 + vertex 15.0942 9.33737 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.9645 10.0501 0 + vertex 15.0249 7.13954 0 + vertex 15.1095 6.5543 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.9543 8.95485 0 + vertex 15.0942 9.33737 0 + vertex 15.0092 9.15168 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.093 10.2619 0 + vertex 14.9668 7.69881 0 + vertex 15.0249 7.13954 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0942 9.33737 0 + vertex 14.9543 8.95485 0 + vertex 14.9262 8.72903 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.213 9.52982 0 + vertex 14.9262 8.72903 0 + vertex 14.9212 8.45633 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.3487 10.3363 0 + vertex 14.9212 8.45633 0 + vertex 14.9668 7.69881 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.3467 17.5167 0 + vertex 26.0933 17.5963 0 + vertex 26.0696 17.9605 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 25.4856 17.2443 0 + vertex 26.0933 17.5963 0 + vertex 25.3467 17.5167 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.163 17.7384 0 + vertex 26.0696 17.9605 0 + vertex 26.0009 18.2942 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 25.6037 16.9917 0 + vertex 26.0803 17.2678 0 + vertex 25.4856 17.2443 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0803 17.2678 0 + vertex 25.6037 16.9917 0 + vertex 26.0434 17.0172 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.0501 17.8316 0 + vertex 26.0009 18.2942 0 + vertex 25.8914 18.5921 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 25.7157 16.8274 0 + vertex 26.0434 17.0172 0 + vertex 25.6037 16.9917 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0434 17.0172 0 + vertex 25.7157 16.8274 0 + vertex 25.9855 16.8461 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.9207 17.9138 0 + vertex 25.8914 18.5921 0 + vertex 25.7448 18.8483 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 25.8187 16.7495 0 + vertex 25.9855 16.8461 0 + vertex 25.7157 16.8274 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.9855 16.8461 0 + vertex 25.8187 16.7495 0 + vertex 25.9096 16.7563 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.9207 17.9138 0 + vertex 25.7448 18.8483 0 + vertex 25.5652 19.0574 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.9096 16.7563 0 + vertex 25.8187 16.7495 0 + vertex 25.8659 16.7424 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.9207 17.9138 0 + vertex 25.5652 19.0574 0 + vertex 25.3564 19.2137 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0933 17.5963 0 + vertex 25.4856 17.2443 0 + vertex 26.0803 17.2678 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0696 17.9605 0 + vertex 25.2614 17.6336 0 + vertex 25.3467 17.5167 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0696 17.9605 0 + vertex 25.163 17.7384 0 + vertex 25.2614 17.6336 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6059 18.0475 0 + vertex 25.3564 19.2137 0 + vertex 25.1224 19.3115 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0009 18.2942 0 + vertex 25.0501 17.8316 0 + vertex 25.163 17.7384 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6059 18.0475 0 + vertex 25.1224 19.3115 0 + vertex 24.9972 19.3368 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.8914 18.5921 0 + vertex 24.9207 17.9138 0 + vertex 25.0501 17.8316 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6059 18.0475 0 + vertex 24.9972 19.3368 0 + vertex 24.8672 19.3454 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6059 18.0475 0 + vertex 24.8672 19.3454 0 + vertex 24.6124 19.3722 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.3564 19.2137 0 + vertex 24.6059 18.0475 0 + vertex 24.9207 17.9138 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.2049 18.1437 0 + vertex 24.6124 19.3722 0 + vertex 24.2514 19.4451 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.6124 19.3722 0 + vertex 24.2049 18.1437 0 + vertex 24.6059 18.0475 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.7039 18.207 0 + vertex 24.2514 19.4451 0 + vertex 23.8321 19.5531 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.2514 19.4451 0 + vertex 23.7039 18.207 0 + vertex 24.2049 18.1437 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.0891 18.2417 0 + vertex 23.8321 19.5531 0 + vertex 23.4027 19.6849 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.8321 19.5531 0 + vertex 23.0891 18.2417 0 + vertex 23.7039 18.207 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.9977 19.8472 0 + vertex 23.0891 18.2417 0 + vertex 23.4027 19.6849 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.3468 18.2522 0 + vertex 22.9977 19.8472 0 + vertex 22.6486 20.047 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.5679 18.2611 0 + vertex 22.6486 20.047 0 + vertex 22.3515 20.2895 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.9977 19.8472 0 + vertex 22.3468 18.2522 0 + vertex 23.0891 18.2417 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.5679 18.2611 0 + vertex 22.3515 20.2895 0 + vertex 22.2213 20.4283 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.8522 19.3078 0 + vertex 22.2213 20.4283 0 + vertex 22.1028 20.5797 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.753 19.8896 0 + vertex 22.1028 20.5797 0 + vertex 21.8989 20.9229 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6713 20.6529 0 + vertex 21.8989 20.9229 0 + vertex 21.7362 21.3239 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.58 21.4118 0 + vertex 21.7362 21.3239 0 + vertex 21.6111 21.7881 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.6486 20.047 0 + vertex 21.5679 18.2611 0 + vertex 22.3468 18.2522 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5238 21.6908 0 + vertex 21.6111 21.7881 0 + vertex 21.5197 22.3204 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4538 21.9215 0 + vertex 21.5197 22.3204 0 + vertex 21.4205 22.8275 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3646 22.1178 0 + vertex 21.4205 22.8275 0 + vertex 21.3493 23.064 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3646 22.1178 0 + vertex 21.3493 23.064 0 + vertex 21.2635 23.2891 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.2511 22.2936 0 + vertex 21.2635 23.2891 0 + vertex 21.1632 23.503 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.2511 22.2936 0 + vertex 21.1632 23.503 0 + vertex 21.0482 23.7058 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.8989 20.9229 0 + vertex 19.6713 20.6529 0 + vertex 19.753 19.8896 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.108 22.463 0 + vertex 21.0482 23.7058 0 + vertex 20.9184 23.8976 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.108 22.463 0 + vertex 20.9184 23.8976 0 + vertex 20.7738 24.0784 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.1028 20.5797 0 + vertex 19.753 19.8896 0 + vertex 19.8522 19.3078 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.108 22.463 0 + vertex 20.7738 24.0784 0 + vertex 20.6143 24.2484 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.2213 20.4283 0 + vertex 20.9709 18.304 0 + vertex 21.5679 18.2611 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.9302 22.6398 0 + vertex 20.6143 24.2484 0 + vertex 20.4398 24.4076 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.2213 20.4283 0 + vertex 19.8522 19.3078 0 + vertex 20.9709 18.304 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.9302 22.6398 0 + vertex 20.4398 24.4076 0 + vertex 20.2502 24.5562 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9709 18.304 0 + vertex 19.8522 19.3078 0 + vertex 20.7319 18.3459 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 19.9169 19.0772 0 + vertex 20.7319 18.3459 0 + vertex 19.8522 19.3078 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.6454 22.8797 0 + vertex 20.2502 24.5562 0 + vertex 20.0455 24.6942 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.7319 18.3459 0 + vertex 19.9169 19.0772 0 + vertex 20.5281 18.4055 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 19.9962 18.8829 0 + vertex 20.5281 18.4055 0 + vertex 19.9169 19.0772 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.5281 18.4055 0 + vertex 19.9962 18.8829 0 + vertex 20.3561 18.486 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3561 18.486 0 + vertex 20.0935 18.7216 0 + vertex 20.2124 18.5903 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 20.0935 18.7216 0 + vertex 20.3561 18.486 0 + vertex 19.9962 18.8829 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.6454 22.8797 0 + vertex 20.0455 24.6942 0 + vertex 19.5904 24.9388 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.7362 21.3239 0 + vertex 19.58 21.4118 0 + vertex 19.6713 20.6529 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.6111 21.7881 0 + vertex 19.5238 21.6908 0 + vertex 19.58 21.4118 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.5197 22.3204 0 + vertex 19.4538 21.9215 0 + vertex 19.5238 21.6908 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.4205 22.8275 0 + vertex 19.3646 22.1178 0 + vertex 19.4538 21.9215 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.2635 23.2891 0 + vertex 19.2511 22.2936 0 + vertex 19.3646 22.1178 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0482 23.7058 0 + vertex 19.108 22.463 0 + vertex 19.2511 22.2936 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.318 23.1114 0 + vertex 19.5904 24.9388 0 + vertex 19.0737 25.1422 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.6143 24.2484 0 + vertex 18.9302 22.6398 0 + vertex 19.108 22.463 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2502 24.5562 0 + vertex 18.6454 22.8797 0 + vertex 18.9302 22.6398 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.9883 23.3086 0 + vertex 19.0737 25.1422 0 + vertex 18.5685 25.3244 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5904 24.9388 0 + vertex 18.318 23.1114 0 + vertex 18.6454 22.8797 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6969 23.4449 0 + vertex 18.5685 25.3244 0 + vertex 18.1033 25.5216 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.0737 25.1422 0 + vertex 17.9883 23.3086 0 + vertex 18.318 23.1114 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.5685 25.3244 0 + vertex 17.6969 23.4449 0 + vertex 17.9883 23.3086 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6707 25.7385 0 + vertex 17.6969 23.4449 0 + vertex 18.1033 25.5216 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.2809 23.9862 0 + vertex 17.6707 25.7385 0 + vertex 17.2631 25.98 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.2809 23.9862 0 + vertex 17.2631 25.98 0 + vertex 16.873 26.2508 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1328 24.4531 0 + vertex 16.873 26.2508 0 + vertex 16.4932 26.5558 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6707 25.7385 0 + vertex 16.2809 23.9862 0 + vertex 17.6969 23.4449 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1328 24.4531 0 + vertex 16.4932 26.5558 0 + vertex 16.116 26.8997 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.2197 24.8651 0 + vertex 16.116 26.8997 0 + vertex 15.734 27.2872 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.5086 25.2416 0 + vertex 15.734 27.2872 0 + vertex 15.344 27.7317 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.9664 25.6018 0 + vertex 15.344 27.7317 0 + vertex 15.2193 27.9155 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3979 26.1543 0 + vertex 15.2193 27.9155 0 + vertex 15.1337 28.0941 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.873 26.2508 0 + vertex 15.1328 24.4531 0 + vertex 16.2809 23.9862 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3979 26.1543 0 + vertex 15.1337 28.0941 0 + vertex 15.0817 28.2827 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3979 26.1543 0 + vertex 15.0817 28.2827 0 + vertex 15.0574 28.4965 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.116 26.8997 0 + vertex 14.2197 24.8651 0 + vertex 15.1328 24.4531 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1102 29.496 0 + vertex 12.23 30.2784 0 + vertex 15.0694 29.0611 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.6826 -24.0317 0 + vertex 38.119 -36.6694 0 + vertex 38.1248 -36.8464 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.3703 -24.1311 0 + vertex 38.0969 -36.5276 0 + vertex 38.119 -36.6694 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.2305 -29.6614 0 + vertex 38.0509 -36.4146 0 + vertex 38.0969 -36.5276 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 37.444 -31.6395 0 + vertex 38.0509 -36.4146 0 + vertex 38.2305 -29.6614 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.0509 -36.4146 0 + vertex 37.444 -31.6395 0 + vertex 37.9736 -36.3241 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.8389 -33.2656 0 + vertex 37.9736 -36.3241 0 + vertex 37.444 -31.6395 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.9736 -36.3241 0 + vertex 36.8389 -33.2656 0 + vertex 37.8576 -36.2498 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.8576 -36.2498 0 + vertex 36.8389 -33.2656 0 + vertex 37.6954 -36.1853 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.4479 -34.448 0 + vertex 37.6954 -36.1853 0 + vertex 36.8389 -33.2656 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.6954 -36.1853 0 + vertex 36.4479 -34.448 0 + vertex 37.203 -36.0604 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.3428 -34.844 0 + vertex 37.203 -36.0604 0 + vertex 36.4479 -34.448 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.3035 -35.0946 0 + vertex 37.203 -36.0604 0 + vertex 36.3428 -34.844 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.203 -36.0604 0 + vertex 36.3035 -35.0946 0 + vertex 36.6812 -35.9318 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.2992 -35.3418 0 + vertex 36.6812 -35.9318 0 + vertex 36.3035 -35.0946 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 36.3089 -35.532 0 + vertex 36.6812 -35.9318 0 + vertex 36.2992 -35.3418 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 36.3422 -35.6758 0 + vertex 36.5187 -35.8653 0 + vertex 36.3089 -35.532 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.6812 -35.9318 0 + vertex 36.3089 -35.532 0 + vertex 36.5187 -35.8653 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.5187 -35.8653 0 + vertex 36.3422 -35.6758 0 + vertex 36.4089 -35.7834 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 47.9993 -20.1225 0 + vertex 110 -110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 47.9745 -19.9807 0 + vertex 47.9993 -20.1225 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 47.9233 -19.8512 0 + vertex 47.9745 -19.9807 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 47.845 -19.7221 0 + vertex 47.9233 -19.8512 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 47.7384 -19.5813 0 + vertex 47.845 -19.7221 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 47.6302 -19.4614 0 + vertex 47.7384 -19.5813 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.4995 15.0808 0 + vertex 47.6302 -19.4614 0 + vertex 110 110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.6302 -19.4614 0 + vertex 27.4995 15.0808 0 + vertex 47.5127 -19.3635 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 27.5539 14.7505 0 + vertex 47.5127 -19.3635 0 + vertex 27.4995 15.0808 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 27.5896 14.3319 0 + vertex 47.5127 -19.3635 0 + vertex 27.5539 14.7505 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.5127 -19.3635 0 + vertex 27.5896 14.3319 0 + vertex 47.3799 -19.2858 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 27.6103 13.7945 0 + vertex 47.3799 -19.2858 0 + vertex 27.5896 14.3319 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 27.6211 12.2412 0 + vertex 47.3799 -19.2858 0 + vertex 27.6103 13.7945 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.6024 10.7775 0 + vertex 47.3799 -19.2858 0 + vertex 27.6211 12.2412 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.3799 -19.2858 0 + vertex 27.6024 10.7775 0 + vertex 47.2257 -19.2263 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.5775 10.2019 0 + vertex 47.2257 -19.2263 0 + vertex 27.6024 10.7775 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.5397 9.70386 0 + vertex 47.2257 -19.2263 0 + vertex 27.5775 10.2019 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.2257 -19.2263 0 + vertex 27.5397 9.70386 0 + vertex 47.044 -19.1833 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.9647 2.16551 0 + vertex 47.044 -19.1833 0 + vertex 27.5397 9.70386 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.044 -19.1833 0 + vertex 26.9647 2.16551 0 + vertex 46.8289 -19.1548 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.391 -19.1898 0 + vertex 41.7426 -19.1572 0 + vertex 44.9905 -19.265 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 42.162 -19.859 0 + vertex 42.9547 -20.2657 0 + vertex 42.1595 -19.6516 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 42.1212 -20.0931 0 + vertex 42.9547 -20.2657 0 + vertex 42.162 -19.859 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.4033 -19.9696 0 + vertex 42.1595 -19.6516 0 + vertex 42.9547 -20.2657 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 42.1595 -19.6516 0 + vertex 43.4033 -19.9696 0 + vertex 42.1149 -19.4743 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 41.9051 -19.2238 0 + vertex 44.6026 -19.3768 0 + vertex 41.7426 -19.1572 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.8201 -19.7253 0 + vertex 42.1149 -19.4743 0 + vertex 43.4033 -19.9696 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.6026 -19.3768 0 + vertex 41.9051 -19.2238 0 + vertex 44.2162 -19.5289 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.2162 -19.5289 0 + vertex 42.0297 -19.3306 0 + vertex 43.8201 -19.7253 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 42.1149 -19.4743 0 + vertex 43.8201 -19.7253 0 + vertex 42.0297 -19.3306 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 42.0297 -19.3306 0 + vertex 44.2162 -19.5289 0 + vertex 41.9051 -19.2238 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.8289 -19.1548 0 + vertex 26.9647 2.16551 0 + vertex 46.274 -19.1343 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.9324 1.61996 0 + vertex 46.274 -19.1343 0 + vertex 26.9647 2.16551 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.274 -19.1343 0 + vertex 26.9324 1.61996 0 + vertex 45.8151 -19.1475 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.8151 -19.1475 0 + vertex 26.901 1.43209 0 + vertex 45.391 -19.1898 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.3957 -19.1543 0 + vertex 26.8581 1.29842 0 + vertex 41.156 -19.2119 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 30.3649 -19.705 0 + vertex 38.4916 -20.1181 0 + vertex 29.9546 -19.4981 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.4916 -20.1181 0 + vertex 30.3649 -19.705 0 + vertex 37.4642 -20.5001 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.4642 -20.5001 0 + vertex 30.3649 -19.705 0 + vertex 36.5724 -20.813 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 30.7365 -19.9631 0 + vertex 36.5724 -20.813 0 + vertex 30.3649 -19.705 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.5724 -20.813 0 + vertex 30.7365 -19.9631 0 + vertex 35.9118 -21.0243 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 35.4013 -21.1287 0 + vertex 35.9118 -21.0243 0 + vertex 30.7365 -19.9631 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 32.0349 -22.2828 0 + vertex 34.6318 -22.2927 0 + vertex 34.653 -22.0706 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.6318 -22.2927 0 + vertex 31.6784 -25.7224 0 + vertex 33.8561 -30.1753 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 31.5092 -26.3899 0 + vertex 33.8561 -30.1753 0 + vertex 31.6003 -26.0834 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 31.2435 -26.857 0 + vertex 33.8561 -30.1753 0 + vertex 31.3939 -26.6463 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.6318 -22.2927 0 + vertex 32.0619 -22.7991 0 + vertex 32.0372 -23.3848 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.9549 -21.8223 0 + vertex 34.653 -22.0706 0 + vertex 34.713 -21.8554 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.8204 -21.404 0 + vertex 34.713 -21.8554 0 + vertex 34.8063 -21.6543 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 31.074 -20.2742 0 + vertex 35.4013 -21.1287 0 + vertex 30.7365 -19.9631 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.6318 -22.2927 0 + vertex 32.0349 -22.2828 0 + vertex 32.0619 -22.7991 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.653 -22.0706 0 + vertex 31.9549 -21.8223 0 + vertex 32.0349 -22.2828 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 31.3816 -20.64 0 + vertex 35.2304 -21.2043 0 + vertex 31.074 -20.2742 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.713 -21.8554 0 + vertex 31.8204 -21.404 0 + vertex 31.9549 -21.8223 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.9274 -21.474 0 + vertex 31.8204 -21.404 0 + vertex 34.8063 -21.6543 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 31.8204 -21.404 0 + vertex 34.9274 -21.474 0 + vertex 31.6298 -21.0145 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.0706 -21.3217 0 + vertex 31.6298 -21.0145 0 + vertex 34.9274 -21.474 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 31.6298 -21.0145 0 + vertex 35.0706 -21.3217 0 + vertex 31.3816 -20.64 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.2304 -21.2043 0 + vertex 31.3816 -20.64 0 + vertex 35.0706 -21.3217 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.9118 -21.0243 0 + vertex 35.4013 -21.1287 0 + vertex 35.5778 -21.102 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.5436 -19.1343 0 + vertex 26.8581 1.29842 0 + vertex 41.3957 -19.1543 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.391 -19.1898 0 + vertex 26.901 1.43209 0 + vertex 41.7426 -19.1572 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.7426 -19.1572 0 + vertex 26.901 1.43209 0 + vertex 41.5436 -19.1343 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.8581 1.29842 0 + vertex 41.5436 -19.1343 0 + vertex 26.901 1.43209 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.4013 -21.1287 0 + vertex 31.074 -20.2742 0 + vertex 35.2304 -21.2043 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 39.5298 -19.7361 0 + vertex 29.9546 -19.4981 0 + vertex 38.4916 -20.1181 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.901 1.43209 0 + vertex 45.8151 -19.1475 0 + vertex 26.9324 1.61996 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.9905 -19.265 0 + vertex 41.7426 -19.1572 0 + vertex 44.6026 -19.3768 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 27.4227 15.3534 0 + vertex 27.4995 15.0808 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.5691 18.3624 0 + vertex 27.4227 15.3534 0 + vertex 110 110 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 26.6332 18.0815 0 + vertex 27.4227 15.3534 0 + vertex 26.5691 18.3624 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 26.6784 17.7808 0 + vertex 27.3198 15.5987 0 + vertex 26.6332 18.0815 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3198 15.5987 0 + vertex 26.6784 17.7808 0 + vertex 27.1872 15.8473 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.1872 15.8473 0 + vertex 26.7051 17.4601 0 + vertex 27.0139 16.2113 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.0139 16.2113 0 + vertex 26.7051 17.4601 0 + vertex 26.8653 16.6367 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.8653 16.6367 0 + vertex 26.7051 17.4601 0 + vertex 26.7571 17.0706 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 26.7051 17.4601 0 + vertex 27.1872 15.8473 0 + vertex 26.6784 17.7808 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4227 15.3534 0 + vertex 26.6332 18.0815 0 + vertex 27.3198 15.5987 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 26.4859 18.624 0 + vertex 26.5691 18.3624 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 26.3832 18.8665 0 + vertex 26.4859 18.624 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 26.2605 19.0904 0 + vertex 26.3832 18.8665 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 26.1176 19.296 0 + vertex 26.2605 19.0904 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 25.9541 19.4837 0 + vertex 26.1176 19.296 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 21.4677 24.3609 0 + vertex 25.9541 19.4837 0 + vertex 110 110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.9541 19.4837 0 + vertex 21.4677 24.3609 0 + vertex 25.7697 19.6539 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 21.6182 24.144 0 + vertex 25.7697 19.6539 0 + vertex 21.4677 24.3609 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.7697 19.6539 0 + vertex 21.6182 24.144 0 + vertex 25.5639 19.8069 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 21.7423 23.9135 0 + vertex 25.5639 19.8069 0 + vertex 21.6182 24.144 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.5639 19.8069 0 + vertex 21.7423 23.9135 0 + vertex 25.3364 19.943 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.3364 19.943 0 + vertex 21.8437 23.6658 0 + vertex 25.087 20.0627 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 21.926 23.397 0 + vertex 25.087 20.0627 0 + vertex 21.8437 23.6658 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.087 20.0627 0 + vertex 21.926 23.397 0 + vertex 24.8151 20.1664 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.8151 20.1664 0 + vertex 21.9928 23.1034 0 + vertex 24.5205 20.2543 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 22.0944 22.427 0 + vertex 24.2028 20.3268 0 + vertex 21.9928 23.1034 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.2028 20.3268 0 + vertex 22.0944 22.427 0 + vertex 23.8617 20.3844 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 22.2815 21.5943 0 + vertex 23.8617 20.3844 0 + vertex 22.1689 21.9813 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.8617 20.3844 0 + vertex 22.2815 21.5943 0 + vertex 23.4814 20.4643 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 22.4341 21.2638 0 + vertex 23.1504 20.59 0 + vertex 22.2815 21.5943 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.1504 20.59 0 + vertex 22.4341 21.2638 0 + vertex 22.8668 20.7638 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.7421 20.8693 0 + vertex 22.4341 21.2638 0 + vertex 22.6286 20.9877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.8668 20.7638 0 + vertex 22.4341 21.2638 0 + vertex 22.7421 20.8693 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.4814 20.4643 0 + vertex 22.2815 21.5943 0 + vertex 23.1504 20.59 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 22.1689 21.9813 0 + vertex 23.8617 20.3844 0 + vertex 22.0944 22.427 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.5205 20.2543 0 + vertex 21.9928 23.1034 0 + vertex 24.2028 20.3268 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 21.9928 23.1034 0 + vertex 24.8151 20.1664 0 + vertex 21.926 23.397 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 21.8437 23.6658 0 + vertex 25.3364 19.943 0 + vertex 21.7423 23.9135 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 21.2873 24.568 0 + vertex 21.4677 24.3609 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 21.0733 24.7691 0 + vertex 21.2873 24.568 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.4091 30.0386 0 + vertex 21.0733 24.7691 0 + vertex 110 110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0733 24.7691 0 + vertex 15.4091 30.0386 0 + vertex 20.8221 24.9679 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.8221 24.9679 0 + vertex 15.4091 30.0386 0 + vertex 20.53 25.168 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.53 25.168 0 + vertex 15.4091 30.0386 0 + vertex 20.1936 25.3734 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.1936 25.3734 0 + vertex 15.4091 30.0386 0 + vertex 19.3729 25.8147 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 15.49 29.8698 0 + vertex 19.3729 25.8147 0 + vertex 15.4091 30.0386 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.3729 25.8147 0 + vertex 15.49 29.8698 0 + vertex 18.3311 26.3216 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 15.5622 29.5773 0 + vertex 18.3311 26.3216 0 + vertex 15.49 29.8698 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6504 26.6607 0 + vertex 15.5622 29.5773 0 + vertex 17.0889 26.9817 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 15.6202 29.1601 0 + vertex 17.0889 26.9817 0 + vertex 15.5622 29.5773 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.0889 26.9817 0 + vertex 15.6202 29.1601 0 + vertex 16.6359 27.2959 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.6359 27.2959 0 + vertex 15.6202 29.1601 0 + vertex 16.4467 27.454 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 15.6927 28.7106 0 + vertex 16.4467 27.454 0 + vertex 15.6202 29.1601 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.2806 27.6146 0 + vertex 15.6927 28.7106 0 + vertex 16.1362 27.7792 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.1362 27.7792 0 + vertex 15.6927 28.7106 0 + vertex 16.0121 27.9491 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.0121 27.9491 0 + vertex 15.6927 28.7106 0 + vertex 15.9071 28.1258 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.9071 28.1258 0 + vertex 15.6927 28.7106 0 + vertex 15.8197 28.3106 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.8197 28.3106 0 + vertex 15.6927 28.7106 0 + vertex 15.7487 28.5051 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.4467 27.454 0 + vertex 15.6927 28.7106 0 + vertex 16.2806 27.6146 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.3311 26.3216 0 + vertex 15.5622 29.5773 0 + vertex 17.6504 26.6607 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 15.3672 30.0768 0 + vertex 15.4091 30.0386 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.23504 38.5484 0 + vertex 15.3672 30.0768 0 + vertex 110 110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.3672 30.0768 0 + vertex 5.23504 38.5484 0 + vertex 15.3252 30.0845 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.23 30.2784 0 + vertex 15.1102 29.496 0 + vertex 12.2821 30.4122 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1701 29.8123 0 + vertex 12.2821 30.4122 0 + vertex 15.1102 29.496 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.2821 30.4122 0 + vertex 15.1701 29.8123 0 + vertex 12.3025 30.5214 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.734 27.2872 0 + vertex 13.5086 25.2416 0 + vertex 14.2197 24.8651 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.344 27.7317 0 + vertex 13.2184 25.4225 0 + vertex 13.5086 25.2416 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3025 30.5214 0 + vertex 15.1701 29.8123 0 + vertex 15.2437 30.0088 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.344 27.7317 0 + vertex 12.9664 25.6018 0 + vertex 13.2184 25.4225 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2193 27.9155 0 + vertex 12.7484 25.782 0 + vertex 12.9664 25.6018 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2193 27.9155 0 + vertex 12.5603 25.9653 0 + vertex 12.7484 25.782 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2193 27.9155 0 + vertex 12.3979 26.1543 0 + vertex 12.5603 25.9653 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.0304 29.9363 0 + vertex 15.0694 29.0611 0 + vertex 12.23 30.2784 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.291 30.606 0 + vertex 15.2437 30.0088 0 + vertex 15.2838 30.0618 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 5.26494 38.4452 0 + vertex 15.3252 30.0845 0 + vertex 5.23504 38.5484 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2437 30.0088 0 + vertex 12.291 30.606 0 + vertex 12.3025 30.5214 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2838 30.0618 0 + vertex 12.2478 30.6663 0 + vertex 12.291 30.606 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 12.1728 30.7024 0 + vertex 15.3252 30.0845 0 + vertex 5.26494 38.4452 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.3252 30.0845 0 + vertex 12.2478 30.6663 0 + vertex 15.2838 30.0618 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 12.2478 30.6663 0 + vertex 15.3252 30.0845 0 + vertex 12.1728 30.7024 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.1728 30.7024 0 + vertex 5.26494 38.4452 0 + vertex 12.0661 30.7144 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.7923 24.2655 0 + vertex 10.6869 21.0368 0 + vertex 10.9846 20.5521 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.55919 25.8755 0 + vertex 11.0419 28.1143 0 + vertex 11.0528 28.3898 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.5553 24.3991 0 + vertex 10.3935 21.5973 0 + vertex 10.6869 21.0368 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.085 24.7212 0 + vertex 10.0801 22.2703 0 + vertex 10.3935 21.5973 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.55919 25.8755 0 + vertex 11.0528 28.3898 0 + vertex 11.1213 28.9486 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.6316 25.1032 0 + vertex 9.72206 23.0922 0 + vertex 10.0801 22.2703 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.39739 26.9794 0 + vertex 11.1213 28.9486 0 + vertex 11.2437 29.4873 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2092 25.5292 0 + vertex 9.38213 23.8626 0 + vertex 9.72206 23.0922 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.8324 25.9834 0 + vertex 9.08206 24.476 0 + vertex 9.38213 23.8626 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.39739 26.9794 0 + vertex 11.2437 29.4873 0 + vertex 11.4096 29.9696 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.5154 26.4501 0 + vertex 8.80411 24.9522 0 + vertex 9.08206 24.476 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.39739 26.9794 0 + vertex 11.4096 29.9696 0 + vertex 11.5057 30.1782 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.3839 26.6832 0 + vertex 8.6679 25.145 0 + vertex 8.80411 24.9522 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.2726 26.9135 0 + vertex 8.53058 25.3107 0 + vertex 8.6679 25.145 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.02596 37.5856 0 + vertex 11.9476 30.6899 0 + vertex 5.13345 37.8458 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.1835 27.139 0 + vertex 8.38993 25.4519 0 + vertex 8.53058 25.3107 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.1184 27.3577 0 + vertex 8.24373 25.571 0 + vertex 8.38993 25.4519 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.0734 27.5937 0 + vertex 8.08977 25.6705 0 + vertex 8.24373 25.571 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.13345 37.8458 0 + vertex 11.9476 30.6899 0 + vertex 5.21112 38.083 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.0484 27.8474 0 + vertex 7.92584 25.7528 0 + vertex 8.08977 25.6705 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.0419 28.1143 0 + vertex 7.55919 25.8755 0 + vertex 7.92584 25.7528 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.1213 28.9486 0 + vertex 5.39739 26.9794 0 + vertex 7.12606 25.9588 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.1213 28.9486 0 + vertex 7.12606 25.9588 0 + vertex 7.55919 25.8755 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0661 30.7144 0 + vertex 5.21112 38.083 0 + vertex 11.9476 30.6899 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 5.73586 26.6445 0 + vertex 7.12606 25.9588 0 + vertex 5.39739 26.9794 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 6.07308 26.3793 0 + vertex 7.12606 25.9588 0 + vertex 5.73586 26.6445 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.25596 38.2865 0 + vertex 12.0661 30.7144 0 + vertex 5.26494 38.4452 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.89167 37.3134 0 + vertex 11.9476 30.6899 0 + vertex 5.02596 37.5856 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.12606 25.9588 0 + vertex 6.07308 26.3793 0 + vertex 6.76329 26.0408 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.76329 26.0408 0 + vertex 6.07308 26.3793 0 + vertex 6.41393 26.1795 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.21112 38.083 0 + vertex 12.0661 30.7144 0 + vertex 5.25596 38.2865 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 5.20457 38.5758 0 + vertex 5.23504 38.5484 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 110 110 0 + vertex 5.16325 38.5852 0 + vertex 5.20457 38.5758 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -110 110 0 + vertex 5.16325 38.5852 0 + vertex 110 110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.438314 27.347 0 + vertex 1.04514 28.0688 0 + vertex 1.0601 28.6106 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.11256 27.7809 0 + vertex 1.0601 28.6106 0 + vertex 1.07949 29.2543 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.04514 28.0688 0 + vertex -0.438314 27.347 0 + vertex -0.104203 27.2162 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 0.505992 27.0868 0 + vertex 1.00441 27.6053 0 + vertex 0.215611 27.1342 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.00441 27.6053 0 + vertex 0.505992 27.0868 0 + vertex 0.944126 27.2693 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.78547 28.4297 0 + vertex 1.07949 29.2543 0 + vertex 1.13903 29.8907 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.944126 27.2693 0 + vertex 0.734953 27.0776 0 + vertex 0.908598 27.1645 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 0.816408 27.0884 0 + vertex 0.908598 27.1645 0 + vertex 0.734953 27.0776 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.908598 27.1645 0 + vertex 0.816408 27.0884 0 + vertex 0.870515 27.1101 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.44583 29.2754 0 + vertex 1.13903 29.8907 0 + vertex 1.24074 30.5277 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 0.734953 27.0776 0 + vertex 0.944126 27.2693 0 + vertex 0.505992 27.0868 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.08241 30.2998 0 + vertex 1.24074 30.5277 0 + vertex 1.38662 31.173 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.04514 28.0688 0 + vertex 0.215611 27.1342 0 + vertex 1.00441 27.6053 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.38828 30.8734 0 + vertex 1.38662 31.173 0 + vertex 1.57871 31.8344 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -3.96814 32.1322 0 + vertex 1.57871 31.8344 0 + vertex 1.81903 32.5199 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 0.215611 27.1342 0 + vertex 1.04514 28.0688 0 + vertex -0.104203 27.2162 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -4.23933 32.8128 0 + vertex 1.81903 32.5199 0 + vertex 2.10958 33.2371 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.0601 28.6106 0 + vertex -0.7749 27.5359 0 + vertex -0.438314 27.347 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.73722 34.2652 0 + vertex 2.10958 33.2371 0 + vertex 2.4524 33.9939 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.96111 35.0324 0 + vertex 2.4524 33.9939 0 + vertex 2.84738 34.7996 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.0601 28.6106 0 + vertex -1.11256 27.7809 0 + vertex -0.7749 27.5359 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.11886 35.5644 0 + vertex 2.84738 34.7996 0 + vertex 3.26543 35.6052 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.41174 36.2975 0 + vertex 3.26543 35.6052 0 + vertex 3.68699 36.3778 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.07949 29.2543 0 + vertex -1.44988 28.0795 0 + vertex -1.11256 27.7809 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.41174 36.2975 0 + vertex 3.68699 36.3778 0 + vertex 4.09252 37.0842 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.54821 36.5001 0 + vertex 4.09252 37.0842 0 + vertex 4.46246 37.6912 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.07949 29.2543 0 + vertex -1.78547 28.4297 0 + vertex -1.44988 28.0795 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.61425 36.5608 0 + vertex 4.46246 37.6912 0 + vertex 4.77727 38.1658 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.13903 29.8907 0 + vertex -2.11792 28.8291 0 + vertex -1.78547 28.4297 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.13903 29.8907 0 + vertex -2.44583 29.2754 0 + vertex -2.11792 28.8291 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.61425 36.5608 0 + vertex 4.77727 38.1658 0 + vertex 5.01738 38.4749 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.24074 30.5277 0 + vertex -2.7678 29.7664 0 + vertex -2.44583 29.2754 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.24074 30.5277 0 + vertex -3.08241 30.2998 0 + vertex -2.7678 29.7664 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.38662 31.173 0 + vertex -3.38828 30.8734 0 + vertex -3.08241 30.2998 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.67893 36.5944 0 + vertex 5.01738 38.4749 0 + vertex 5.10332 38.557 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.57871 31.8344 0 + vertex -3.68399 31.485 0 + vertex -3.38828 30.8734 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.57871 31.8344 0 + vertex -3.96814 32.1322 0 + vertex -3.68399 31.485 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.81903 32.5199 0 + vertex -4.23933 32.8128 0 + vertex -3.96814 32.1322 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -5.74234 36.6012 0 + vertex 5.16325 38.5852 0 + vertex -110 110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.4524 33.9939 0 + vertex -4.96111 35.0324 0 + vertex -4.73722 34.2652 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.10958 33.2371 0 + vertex -4.49616 33.5245 0 + vertex -4.23933 32.8128 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.10958 33.2371 0 + vertex -4.73722 34.2652 0 + vertex -4.49616 33.5245 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.84738 34.7996 0 + vertex -5.11886 35.5644 0 + vertex -4.96111 35.0324 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.26543 35.6052 0 + vertex -5.26884 35.9859 0 + vertex -5.11886 35.5644 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.26543 35.6052 0 + vertex -5.41174 36.2975 0 + vertex -5.26884 35.9859 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.09252 37.0842 0 + vertex -5.54821 36.5001 0 + vertex -5.41174 36.2975 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.46246 37.6912 0 + vertex -5.61425 36.5608 0 + vertex -5.54821 36.5001 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.01738 38.4749 0 + vertex -5.67893 36.5944 0 + vertex -5.61425 36.5608 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.10332 38.557 0 + vertex -5.74234 36.6012 0 + vertex -5.67893 36.5944 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.16325 38.5852 0 + vertex -5.74234 36.6012 0 + vertex 5.10332 38.557 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.2816 27.5955 0 + vertex -6.22417 29.538 0 + vertex -6.20957 31.7226 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.5342 27.7352 0 + vertex -6.20957 31.7226 0 + vertex -6.19415 33.3563 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.22417 29.538 0 + vertex -10.2816 27.5955 0 + vertex -8.79778 27.3973 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -7.89877 27.2865 0 + vertex -6.24249 28.8007 0 + vertex -8.79778 27.3973 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.24249 28.8007 0 + vertex -7.89877 27.2865 0 + vertex -6.27149 28.2565 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.6053 27.816 0 + vertex -6.19415 33.3563 0 + vertex -6.15766 34.7516 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -7.24334 27.2437 0 + vertex -6.27149 28.2565 0 + vertex -7.89877 27.2865 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -6.99768 27.2475 0 + vertex -6.31368 27.8729 0 + vertex -7.24334 27.2437 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.5445 27.8374 0 + vertex -6.15766 34.7516 0 + vertex -6.10555 35.7605 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -6.80178 27.2682 0 + vertex -6.31368 27.8729 0 + vertex -6.99768 27.2475 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.31368 27.8729 0 + vertex -6.80178 27.2682 0 + vertex -6.37156 27.6173 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.37156 27.6173 0 + vertex -6.65192 27.3056 0 + vertex -6.44763 27.4571 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.4014 27.7989 0 + vertex -6.10555 35.7605 0 + vertex -6.07534 36.0738 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.44763 27.4571 0 + vertex -6.65192 27.3056 0 + vertex -6.54439 27.3597 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -6.65192 27.3056 0 + vertex -6.37156 27.6173 0 + vertex -6.80178 27.2682 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.2259 27.7001 0 + vertex -6.07534 36.0738 0 + vertex -6.04327 36.2349 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.27149 28.2565 0 + vertex -7.24334 27.2437 0 + vertex -6.31368 27.8729 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.22417 29.538 0 + vertex -8.79778 27.3973 0 + vertex -6.24249 28.8007 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.20957 31.7226 0 + vertex -11.5342 27.7352 0 + vertex -10.2816 27.5955 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.4599 27.7917 0 + vertex -6.04327 36.2349 0 + vertex -5.92579 36.4611 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.19415 33.3563 0 + vertex -12.6053 27.816 0 + vertex -11.5342 27.7352 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.15766 34.7516 0 + vertex -13.5445 27.8374 0 + vertex -12.6053 27.816 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.7335 27.9892 0 + vertex -5.92579 36.4611 0 + vertex -5.86569 36.5344 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.10555 35.7605 0 + vertex -14.4014 27.7989 0 + vertex -13.5445 27.8374 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.07534 36.0738 0 + vertex -15.2259 27.7001 0 + vertex -14.4014 27.7989 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.04327 36.2349 0 + vertex -16.0674 27.5405 0 + vertex -15.2259 27.7001 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.04327 36.2349 0 + vertex -20.7979 27.6578 0 + vertex -16.0674 27.5405 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex -20.5419 27.5737 0 + vertex -16.0674 27.5405 0 + vertex -20.7979 27.6578 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.0145 27.539 0 + vertex -5.86569 36.5344 0 + vertex -5.80457 36.5812 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9758 27.3196 0 + vertex -19.9368 27.2141 0 + vertex -19.3233 26.703 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9758 27.3196 0 + vertex -20.1227 27.3549 0 + vertex -19.9368 27.2141 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9758 27.3196 0 + vertex -20.3206 27.4738 0 + vertex -20.1227 27.3549 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.74234 36.6012 0 + vertex -110 110 0 + vertex -5.80457 36.5812 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9758 27.3196 0 + vertex -20.5419 27.5737 0 + vertex -20.3206 27.4738 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.0674 27.5405 0 + vertex -20.5419 27.5737 0 + vertex -16.9758 27.3196 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.04327 36.2349 0 + vertex -21.1001 27.7294 0 + vertex -20.7979 27.6578 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -31.0145 27.539 0 + vertex -5.80457 36.5812 0 + vertex -110 110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.04327 36.2349 0 + vertex -21.4599 27.7917 0 + vertex -21.1001 27.7294 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.92579 36.4611 0 + vertex -22.3975 27.9007 0 + vertex -21.4599 27.7917 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.92579 36.4611 0 + vertex -23.1232 27.9594 0 + vertex -22.3975 27.9007 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.92579 36.4611 0 + vertex -23.7335 27.9892 0 + vertex -23.1232 27.9594 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.86569 36.5344 0 + vertex -24.1643 27.9885 0 + vertex -23.7335 27.9892 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.86569 36.5344 0 + vertex -24.2923 27.9761 0 + vertex -24.1643 27.9885 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.3751 26.2567 0 + vertex -24.3889 27.8265 0 + vertex -24.3858 27.8943 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3632 27.7532 0 + vertex -26.3751 26.2567 0 + vertex -24.8316 26.205 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.8395 26.4592 0 + vertex -24.3858 27.8943 0 + vertex -24.3515 27.9554 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3858 27.8943 0 + vertex -26.9353 26.3003 0 + vertex -26.3751 26.2567 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3858 27.8943 0 + vertex -27.4097 26.3653 0 + vertex -26.9353 26.3003 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.86569 36.5344 0 + vertex -31.0145 27.539 0 + vertex -24.2923 27.9761 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -29.2762 26.9865 0 + vertex -24.3515 27.9554 0 + vertex -30.0875 27.3102 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -28.7314 26.7626 0 + vertex -24.3515 27.9554 0 + vertex -29.2762 26.9865 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -27.8395 26.4592 0 + vertex -24.3515 27.9554 0 + vertex -28.2663 26.5892 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3858 27.8943 0 + vertex -27.8395 26.4592 0 + vertex -27.4097 26.3653 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -28.2663 26.5892 0 + vertex -24.3515 27.9554 0 + vertex -28.7314 26.7626 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3515 27.9554 0 + vertex -30.6543 27.4912 0 + vertex -30.0875 27.3102 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -30.8579 27.5312 0 + vertex -24.2923 27.9761 0 + vertex -31.0145 27.539 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.3515 27.9554 0 + vertex -30.8579 27.5312 0 + vertex -30.6543 27.4912 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.2923 27.9761 0 + vertex -30.8579 27.5312 0 + vertex -24.3515 27.9554 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.0225 24.5398 0 + vertex -31.2795 27.2229 0 + vertex -31.272 27.3506 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.7957 23.7338 0 + vertex -32.1061 22.3529 0 + vertex -31.5861 22.2399 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.0826 24.213 0 + vertex -32.6306 22.489 0 + vertex -32.1061 22.3529 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2103 24.5339 0 + vertex -33.1564 22.6469 0 + vertex -32.6306 22.489 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2656 24.779 0 + vertex -33.6803 22.8253 0 + vertex -33.1564 22.6469 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2656 24.779 0 + vertex -34.199 23.023 0 + vertex -33.6803 22.8253 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.5664 25.7376 0 + vertex -31.272 27.3506 0 + vertex -31.2059 27.4629 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2668 24.8727 0 + vertex -34.7094 23.2385 0 + vertex -34.199 23.023 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2507 24.9472 0 + vertex -34.7094 23.2385 0 + vertex -31.2668 24.8727 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2795 27.2229 0 + vertex -35.6921 23.7183 0 + vertex -35.2082 23.4707 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2795 27.2229 0 + vertex -36.1579 23.9798 0 + vertex -35.6921 23.7183 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2795 27.2229 0 + vertex -36.6025 24.2541 0 + vertex -36.1579 23.9798 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.8381 25.8495 0 + vertex -31.2059 27.4629 0 + vertex -31.1289 27.5158 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2795 27.2229 0 + vertex -37.0225 24.5398 0 + vertex -36.6025 24.2541 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.0145 27.539 0 + vertex -110 110 0 + vertex -31.1289 27.5158 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.272 27.3506 0 + vertex -38.2113 25.5018 0 + vertex -37.776 25.1404 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.272 27.3506 0 + vertex -37.4147 24.8357 0 + vertex -37.0225 24.5398 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.272 27.3506 0 + vertex -37.776 25.1404 0 + vertex -37.4147 24.8357 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.272 27.3506 0 + vertex -38.5664 25.7376 0 + vertex -38.2113 25.5018 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2059 27.4629 0 + vertex -38.7129 25.8089 0 + vertex -38.5664 25.7376 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -38.9416 25.8595 0 + vertex -31.1289 27.5158 0 + vertex -110 110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2059 27.4629 0 + vertex -38.8381 25.8495 0 + vertex -38.7129 25.8089 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.1289 27.5158 0 + vertex -38.9416 25.8595 0 + vertex -38.8381 25.8495 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -39.8955 -25.4747 0 + vertex -37.5315 -12.6425 0 + vertex -47.5785 -36.5332 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -47.4015 -36.3788 0 + vertex -39.8955 -25.4747 0 + vertex -47.5785 -36.5332 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.8955 -25.4747 0 + vertex -47.4015 -36.3788 0 + vertex -41.2695 -28.6585 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -41.2695 -28.6585 0 + vertex -47.1985 -36.2359 0 + vertex -42.2252 -30.9405 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -42.2252 -30.9405 0 + vertex -46.9715 -36.1082 0 + vertex -42.7651 -32.2453 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -46.7228 -35.999 0 + vertex -42.7651 -32.2453 0 + vertex -46.9715 -36.1082 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -42.7651 -32.2453 0 + vertex -46.4544 -35.9117 0 + vertex -43.2426 -33.2915 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -43.2426 -33.2915 0 + vertex -46.4544 -35.9117 0 + vertex -43.4655 -33.7273 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -43.4655 -33.7273 0 + vertex -46.1684 -35.8499 0 + vertex -43.682 -34.1098 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -43.682 -34.1098 0 + vertex -46.1684 -35.8499 0 + vertex -43.8952 -34.443 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -45.8475 -35.7893 0 + vertex -43.8952 -34.443 0 + vertex -46.1684 -35.8499 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -45.5508 -35.7136 0 + vertex -44.108 -34.7306 0 + vertex -45.8475 -35.7893 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -44.108 -34.7306 0 + vertex -45.5508 -35.7136 0 + vertex -44.3237 -34.9765 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -44.3237 -34.9765 0 + vertex -45.5508 -35.7136 0 + vertex -44.5451 -35.1844 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -44.7755 -35.3583 0 + vertex -45.5508 -35.7136 0 + vertex -45.0179 -35.5019 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -45.0179 -35.5019 0 + vertex -45.5508 -35.7136 0 + vertex -45.2753 -35.6191 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 110 0 + vertex -39.13 25.5984 0 + vertex -39.1175 25.7085 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -44.5451 -35.1844 0 + vertex -45.5508 -35.7136 0 + vertex -44.7755 -35.3583 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -43.8952 -34.443 0 + vertex -45.8475 -35.7893 0 + vertex -44.108 -34.7306 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -46.1684 -35.8499 0 + vertex -43.4655 -33.7273 0 + vertex -46.4544 -35.9117 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -46.4544 -35.9117 0 + vertex -42.7651 -32.2453 0 + vertex -46.7228 -35.999 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -46.9715 -36.1082 0 + vertex -42.2252 -30.9405 0 + vertex -47.1985 -36.2359 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -47.1985 -36.2359 0 + vertex -41.2695 -28.6585 0 + vertex -47.4015 -36.3788 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.5249 -12.7854 0 + vertex -39.8955 -25.4747 0 + vertex -38.3469 -21.8682 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.5104 -12.4945 0 + vertex -47.7274 -36.6957 0 + vertex -37.5315 -12.6425 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.1186 25.4589 0 + vertex -47.9322 -37.0315 0 + vertex -47.846 -36.863 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.1186 25.4589 0 + vertex -110 110 0 + vertex -47.9322 -37.0315 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -47.984 -37.1977 0 + vertex -110 110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.9322 -37.0315 0 + vertex -110 110 0 + vertex -47.984 -37.1977 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.0817 25.7888 0 + vertex -110 110 0 + vertex -39.1175 25.7085 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.0229 25.8392 0 + vertex -110 110 0 + vertex -39.0817 25.7888 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.9416 25.8595 0 + vertex -110 110 0 + vertex -39.0229 25.8392 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 47.9987 -20.2887 0 + vertex 110 -110 0 + vertex 47.9993 -20.1225 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 47.9737 -20.4912 0 + vertex 110 -110 0 + vertex 47.9987 -20.2887 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 47.8542 -21.0531 0 + vertex 110 -110 0 + vertex 47.9737 -20.4912 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 47.7155 -21.5429 0 + vertex 110 -110 0 + vertex 47.8542 -21.0531 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 47.5422 -21.9981 0 + vertex 110 -110 0 + vertex 47.7155 -21.5429 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 47.3383 -22.4165 0 + vertex 110 -110 0 + vertex 47.5422 -21.9981 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 47.1074 -22.796 0 + vertex 110 -110 0 + vertex 47.3383 -22.4165 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 46.8534 -23.1343 0 + vertex 110 -110 0 + vertex 47.1074 -22.796 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.0668 -37.4245 0 + vertex 46.8534 -23.1343 0 + vertex 46.5801 -23.4293 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.0668 -37.4245 0 + vertex 46.5801 -23.4293 0 + vertex 46.2914 -23.6786 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.103 -37.2562 0 + vertex 46.2914 -23.6786 0 + vertex 45.9909 -23.8802 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.1248 -36.8464 0 + vertex 45.9909 -23.8802 0 + vertex 45.6826 -24.0317 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.119 -36.6694 0 + vertex 45.6826 -24.0317 0 + vertex 45.3703 -24.1311 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.2305 -29.6614 0 + vertex 45.3703 -24.1311 0 + vertex 45.0576 -24.176 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 39.342 -26.9688 0 + vertex 45.0576 -24.176 0 + vertex 44.7485 -24.1643 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 39.342 -26.9688 0 + vertex 44.7485 -24.1643 0 + vertex 44.4468 -24.0937 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 40.0406 -25.46 0 + vertex 44.4468 -24.0937 0 + vertex 44.1563 -23.9621 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 41.3103 -23.9223 0 + vertex 44.1563 -23.9621 0 + vertex 43.8807 -23.7673 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.7898 -23.5063 0 + vertex 43.8807 -23.7673 0 + vertex 43.6239 -23.5069 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.2267 -23.1657 0 + vertex 43.6239 -23.5069 0 + vertex 43.3873 -23.2523 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 42.2267 -23.1657 0 + vertex 43.3873 -23.2523 0 + vertex 43.1493 -23.0437 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 42.5728 -22.9356 0 + vertex 43.1493 -23.0437 0 + vertex 42.9376 -22.9028 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 42.6968 -22.8729 0 + vertex 42.9376 -22.9028 0 + vertex 42.8503 -22.8644 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.6968 -22.8729 0 + vertex 42.8503 -22.8644 0 + vertex 42.7799 -22.851 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.9376 -22.9028 0 + vertex 42.6968 -22.8729 0 + vertex 42.5728 -22.9356 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.1493 -23.0437 0 + vertex 42.5728 -22.9356 0 + vertex 42.2267 -23.1657 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.6239 -23.5069 0 + vertex 42.2267 -23.1657 0 + vertex 41.7898 -23.5063 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.8807 -23.7673 0 + vertex 41.7898 -23.5063 0 + vertex 41.3103 -23.9223 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.1563 -23.9621 0 + vertex 41.3103 -23.9223 0 + vertex 40.922 -24.2835 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.1563 -23.9621 0 + vertex 40.922 -24.2835 0 + vertex 40.604 -24.6171 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.1563 -23.9621 0 + vertex 40.604 -24.6171 0 + vertex 40.3218 -24.9877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.1563 -23.9621 0 + vertex 40.3218 -24.9877 0 + vertex 40.0406 -25.46 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.4468 -24.0937 0 + vertex 40.0406 -25.46 0 + vertex 39.7256 -26.0988 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.4468 -24.0937 0 + vertex 39.7256 -26.0988 0 + vertex 39.342 -26.9688 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.0576 -24.176 0 + vertex 39.342 -26.9688 0 + vertex 38.2305 -29.6614 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.0969 -36.5276 0 + vertex 45.3703 -24.1311 0 + vertex 38.2305 -29.6614 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.9909 -23.8802 0 + vertex 38.1248 -36.8464 0 + vertex 38.103 -37.2562 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.2914 -23.6786 0 + vertex 38.103 -37.2562 0 + vertex 38.0668 -37.4245 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.8534 -23.1343 0 + vertex 38.0668 -37.4245 0 + vertex 110 -110 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 38.0057 -37.5705 0 + vertex 110 -110 0 + vertex 38.0668 -37.4245 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 37.9137 -37.6957 0 + vertex 110 -110 0 + vertex 38.0057 -37.5705 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 37.7849 -37.8018 0 + vertex 110 -110 0 + vertex 37.9137 -37.6957 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 37.6132 -37.8903 0 + vertex 110 -110 0 + vertex 37.7849 -37.8018 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 37.3927 -37.9628 0 + vertex 110 -110 0 + vertex 37.6132 -37.8903 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 37.1174 -38.0208 0 + vertex 110 -110 0 + vertex 37.3927 -37.9628 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 36.7812 -38.066 0 + vertex 110 -110 0 + vertex 37.1174 -38.0208 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 35.9024 -38.1241 0 + vertex 110 -110 0 + vertex 36.7812 -38.066 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 34.7085 -38.1497 0 + vertex 110 -110 0 + vertex 35.9024 -38.1241 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 33.1514 -38.1555 0 + vertex 110 -110 0 + vertex 34.7085 -38.1497 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.1824 -38.1409 0 + vertex 110 -110 0 + vertex 33.1514 -38.1555 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3202 -38.5182 0 + vertex 31.1824 -38.1409 0 + vertex 29.8192 -38.0948 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3202 -38.5182 0 + vertex 29.8192 -38.0948 0 + vertex 29.3448 -38.0588 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.8717 -38.4255 0 + vertex 29.3448 -38.0588 0 + vertex 28.9979 -38.0135 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.4197 -38.2833 0 + vertex 28.9979 -38.0135 0 + vertex 28.7706 -37.9584 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.6041 -37.8201 0 + vertex 28.7706 -37.9584 0 + vertex 28.6548 -37.8931 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.4965 -36.9693 0 + vertex 26.4377 -35.4824 0 + vertex 28.4495 -37.1014 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.0012 -35.834 0 + vertex 28.4495 -37.1014 0 + vertex 26.4377 -35.4824 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.4495 -37.1014 0 + vertex 26.0012 -35.834 0 + vertex 28.4243 -37.2355 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.4243 -37.2355 0 + vertex 26.0012 -35.834 0 + vertex 28.4219 -37.3704 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.5601 -36.1579 0 + vertex 28.4219 -37.3704 0 + vertex 26.0012 -35.834 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.4219 -37.3704 0 + vertex 25.5601 -36.1579 0 + vertex 28.443 -37.5048 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.1006 -36.4644 0 + vertex 28.443 -37.5048 0 + vertex 25.5601 -36.1579 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.443 -37.5048 0 + vertex 25.1006 -36.4644 0 + vertex 28.4883 -37.6376 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.6091 -36.7642 0 + vertex 28.4883 -37.6376 0 + vertex 25.1006 -36.4644 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.4883 -37.6376 0 + vertex 24.6091 -36.7642 0 + vertex 28.5587 -37.7674 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.0719 -37.0678 0 + vertex 28.5587 -37.7674 0 + vertex 24.6091 -36.7642 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.5587 -37.7674 0 + vertex 24.0719 -37.0678 0 + vertex 28.6548 -37.8931 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.2902 -37.4839 0 + vertex 28.6548 -37.8931 0 + vertex 24.0719 -37.0678 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.6041 -37.8201 0 + vertex 28.6548 -37.8931 0 + vertex 23.2902 -37.4839 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.7706 -37.9584 0 + vertex 22.6041 -37.8201 0 + vertex 21.9889 -38.084 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.7706 -37.9584 0 + vertex 21.9889 -38.084 0 + vertex 21.4197 -38.2833 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.9979 -38.0135 0 + vertex 21.4197 -38.2833 0 + vertex 20.8717 -38.4255 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.3448 -38.0588 0 + vertex 20.8717 -38.4255 0 + vertex 20.3202 -38.5182 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.1824 -38.1409 0 + vertex 20.3202 -38.5182 0 + vertex 110 -110 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.7403 -38.5689 0 + vertex 110 -110 0 + vertex 20.3202 -38.5182 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.1073 -38.5852 0 + vertex 110 -110 0 + vertex 19.7403 -38.5689 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4669 -38.5591 0 + vertex 110 -110 0 + vertex 19.1073 -38.5852 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.34756 -38.4712 0 + vertex 18.4669 -38.5591 0 + vertex 18.1792 -38.5233 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.55983 -38.4413 0 + vertex 18.1792 -38.5233 0 + vertex 17.9062 -38.4707 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.81563 -38.3852 0 + vertex 17.9062 -38.4707 0 + vertex 17.6424 -38.4 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.47346 -38.1927 0 + vertex 17.6424 -38.4 0 + vertex 17.3825 -38.3101 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.35232 -37.8908 0 + vertex 17.3825 -38.3101 0 + vertex 17.1211 -38.1997 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.35232 -37.8908 0 + vertex 17.1211 -38.1997 0 + vertex 16.8529 -38.0675 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.2137 -37.0171 0 + vertex 16.8529 -38.0675 0 + vertex 16.342 -37.7658 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.5307 -36.9119 0 + vertex 16.342 -37.7658 0 + vertex 16.1153 -37.6039 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.8056 -32.2631 0 + vertex 11.5005 -31.4602 0 + vertex 14.73 -32.8205 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.1661 -32.3709 0 + vertex 14.73 -32.8205 0 + vertex 11.5005 -31.4602 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2214 -34.9805 0 + vertex 14.6774 -34.4466 0 + vertex 14.6656 -33.913 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.2214 -34.9805 0 + vertex 14.7369 -35.0944 0 + vertex 14.6774 -34.4466 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.2239 -35.4151 0 + vertex 14.7369 -35.0944 0 + vertex 12.2468 -35.1875 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.7369 -35.0944 0 + vertex 12.2239 -35.4151 0 + vertex 14.8496 -35.6738 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.1496 -35.6584 0 + vertex 14.8496 -35.6738 0 + vertex 12.2239 -35.4151 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.8496 -35.6738 0 + vertex 12.1496 -35.6584 0 + vertex 14.927 -35.9398 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.0956 -35.7642 0 + vertex 14.927 -35.9398 0 + vertex 12.1496 -35.6584 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.927 -35.9398 0 + vertex 12.0956 -35.7642 0 + vertex 15.0191 -36.1911 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 12.0181 -35.8752 0 + vertex 15.0191 -36.1911 0 + vertex 12.0956 -35.7642 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0191 -36.1911 0 + vertex 12.0181 -35.8752 0 + vertex 15.1264 -36.4284 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.8034 -36.1064 0 + vertex 15.1264 -36.4284 0 + vertex 12.0181 -35.8752 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1264 -36.4284 0 + vertex 11.8034 -36.1064 0 + vertex 15.2493 -36.6526 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2493 -36.6526 0 + vertex 11.8034 -36.1064 0 + vertex 15.3884 -36.8644 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.5264 -36.339 0 + vertex 15.3884 -36.8644 0 + vertex 11.8034 -36.1064 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.3884 -36.8644 0 + vertex 11.5264 -36.339 0 + vertex 15.544 -37.0647 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 11.208 -36.5595 0 + vertex 15.544 -37.0647 0 + vertex 11.5264 -36.339 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.544 -37.0647 0 + vertex 11.208 -36.5595 0 + vertex 15.7167 -37.2541 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.8691 -36.7549 0 + vertex 15.7167 -37.2541 0 + vertex 11.208 -36.5595 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.7167 -37.2541 0 + vertex 10.8691 -36.7549 0 + vertex 15.907 -37.4336 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.907 -37.4336 0 + vertex 10.8691 -36.7549 0 + vertex 16.1153 -37.6039 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 10.5307 -36.9119 0 + vertex 16.1153 -37.6039 0 + vertex 10.8691 -36.7549 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.342 -37.7658 0 + vertex 10.5307 -36.9119 0 + vertex 10.2137 -37.0171 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.8529 -38.0675 0 + vertex 10.2137 -37.0171 0 + vertex 8.4835 -37.477 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.94379 -37.3156 0 + vertex 10.2137 -37.0171 0 + vertex 9.93892 -37.0575 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.37163 -37.1827 0 + vertex 9.93892 -37.0575 0 + vertex 9.71926 -37.0921 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.93892 -37.0575 0 + vertex 9.37163 -37.1827 0 + vertex 8.94379 -37.3156 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.2137 -37.0171 0 + vertex 8.94379 -37.3156 0 + vertex 8.4835 -37.477 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.8529 -38.0675 0 + vertex 8.4835 -37.477 0 + vertex 7.35232 -37.8908 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.3825 -38.3101 0 + vertex 7.35232 -37.8908 0 + vertex 6.47346 -38.1927 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.6424 -38.4 0 + vertex 6.47346 -38.1927 0 + vertex 5.81563 -38.3852 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.9062 -38.4707 0 + vertex 5.81563 -38.3852 0 + vertex 5.55983 -38.4413 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.1792 -38.5233 0 + vertex 5.55983 -38.4413 0 + vertex 5.34756 -38.4712 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4669 -38.5591 0 + vertex 5.34756 -38.4712 0 + vertex 110 -110 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.17491 -38.475 0 + vertex 110 -110 0 + vertex 5.34756 -38.4712 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.974434 -38.4962 0 + vertex 5.17491 -38.475 0 + vertex 5.03796 -38.4533 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.32439 -38.26 0 + vertex 5.03796 -38.4533 0 + vertex 4.93281 -38.4063 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.26446 -37.4494 0 + vertex 4.74716 -37.8041 0 + vertex 4.72035 -37.4346 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.65588 -37.2809 0 + vertex 4.72035 -37.4346 0 + vertex 4.69132 -37.3222 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.72035 -37.4346 0 + vertex 4.65588 -37.2809 0 + vertex 4.26446 -37.4494 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.74716 -37.8041 0 + vertex 4.26446 -37.4494 0 + vertex 4.76904 -38.117 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.45158 -37.8545 0 + vertex 4.76904 -38.117 0 + vertex 4.26446 -37.4494 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.76904 -38.117 0 + vertex 3.45158 -37.8545 0 + vertex 4.80226 -38.2378 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.80226 -38.2378 0 + vertex 3.45158 -37.8545 0 + vertex 4.85555 -38.3343 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.20396 -37.9704 0 + vertex 4.85555 -38.3343 0 + vertex 3.45158 -37.8545 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.85555 -38.3343 0 + vertex 3.20396 -37.9704 0 + vertex 4.93281 -38.4063 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.93102 -38.0768 0 + vertex 4.93281 -38.4063 0 + vertex 3.20396 -37.9704 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.32439 -38.26 0 + vertex 4.93281 -38.4063 0 + vertex 2.93102 -38.0768 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.03796 -38.4533 0 + vertex 2.32439 -38.26 0 + vertex 1.66207 -38.4009 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.03796 -38.4533 0 + vertex 1.66207 -38.4009 0 + vertex 0.974434 -38.4962 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.17491 -38.475 0 + vertex 0.974434 -38.4962 0 + vertex 0.291868 -38.543 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.17491 -38.475 0 + vertex 0.291868 -38.543 0 + vertex 110 -110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.355246 -38.538 0 + vertex 110 -110 0 + vertex 0.291868 -38.543 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.84865 -38.1451 0 + vertex -0.355246 -38.538 0 + vertex -0.936529 -38.478 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.657 -38.0883 0 + vertex -0.936529 -38.478 0 + vertex -1.19299 -38.4265 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.30871 -38.0303 0 + vertex -1.19299 -38.4265 0 + vertex -1.4216 -38.36 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.30871 -38.0303 0 + vertex -1.4216 -38.36 0 + vertex -1.69347 -38.2465 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.0676 -37.9462 0 + vertex -1.69347 -38.2465 0 + vertex -1.95525 -38.0993 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.4861 -31.0878 0 + vertex -6.39994 -29.738 0 + vertex -3.75417 -32.0301 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.75417 -32.0301 0 + vertex -6.39994 -29.738 0 + vertex -3.8527 -32.4651 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.70823 -32.8163 0 + vertex -3.8527 -32.4651 0 + vertex -6.39994 -29.738 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.8527 -32.4651 0 + vertex -7.70823 -32.8163 0 + vertex -3.92523 -32.8697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.92523 -32.8697 0 + vertex -7.70823 -32.8163 0 + vertex -3.97004 -33.2395 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30266 -36.7536 0 + vertex -3.98536 -33.5697 0 + vertex -3.97004 -33.2395 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30266 -36.7536 0 + vertex -3.97277 -33.9877 0 + vertex -3.98536 -33.5697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30266 -36.7536 0 + vertex -3.93569 -34.3989 0 + vertex -3.97277 -33.9877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30266 -36.7536 0 + vertex -3.87516 -34.8013 0 + vertex -3.93569 -34.3989 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30266 -36.7536 0 + vertex -3.79219 -35.193 0 + vertex -3.87516 -34.8013 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30266 -36.7536 0 + vertex -3.68783 -35.5721 0 + vertex -3.79219 -35.193 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30266 -36.7536 0 + vertex -3.56309 -35.9367 0 + vertex -3.68783 -35.5721 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.56309 -35.9367 0 + vertex -7.29619 -36.8569 0 + vertex -3.41901 -36.2848 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.30695 -36.9638 0 + vertex -3.41901 -36.2848 0 + vertex -7.29619 -36.8569 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.41901 -36.2848 0 + vertex -7.30695 -36.9638 0 + vertex -3.25661 -36.6145 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.38017 -37.1883 0 + vertex -3.25661 -36.6145 0 + vertex -7.30695 -36.9638 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.25661 -36.6145 0 + vertex -7.38017 -37.1883 0 + vertex -3.07693 -36.924 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.07693 -36.924 0 + vertex -7.38017 -37.1883 0 + vertex -2.88099 -37.2112 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.52232 -37.4271 0 + vertex -2.88099 -37.2112 0 + vertex -7.38017 -37.1883 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.88099 -37.2112 0 + vertex -7.52232 -37.4271 0 + vertex -2.66982 -37.4742 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.73344 -37.6801 0 + vertex -2.66982 -37.4742 0 + vertex -7.52232 -37.4271 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.66982 -37.4742 0 + vertex -7.73344 -37.6801 0 + vertex -2.44446 -37.7112 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.8903 -37.8311 0 + vertex -2.44446 -37.7112 0 + vertex -7.73344 -37.6801 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.44446 -37.7112 0 + vertex -7.8903 -37.8311 0 + vertex -2.20592 -37.9202 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2.20592 -37.9202 0 + vertex -7.8903 -37.8311 0 + vertex -1.95525 -38.0993 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.0676 -37.9462 0 + vertex -1.95525 -38.0993 0 + vertex -7.8903 -37.8311 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.69347 -38.2465 0 + vertex -8.0676 -37.9462 0 + vertex -8.30871 -38.0303 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.19299 -38.4265 0 + vertex -8.30871 -38.0303 0 + vertex -8.657 -38.0883 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.936529 -38.478 0 + vertex -8.657 -38.0883 0 + vertex -9.15585 -38.1249 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.936529 -38.478 0 + vertex -9.15585 -38.1249 0 + vertex -9.84865 -38.1451 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.355246 -38.538 0 + vertex -9.84865 -38.1451 0 + vertex -110 -110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -9.84865 -38.1451 0 + vertex -11.9896 -38.1555 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -11.9896 -38.1555 0 + vertex -14.1677 -38.1469 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -14.1677 -38.1469 0 + vertex -14.8486 -38.1282 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.0369 -38.1201 0 + vertex -14.8486 -38.1282 0 + vertex -15.316 -38.0928 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.5664 -38.0841 0 + vertex -15.316 -38.0928 0 + vertex -15.614 -38.0352 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.2437 -38.0218 0 + vertex -15.614 -38.0352 0 + vertex -15.7132 -37.9965 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.9096 -37.1689 0 + vertex -16.3508 -37.1428 0 + vertex -15.9511 -37.293 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.9511 -37.293 0 + vertex -16.3508 -37.1428 0 + vertex -15.9675 -37.4163 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.5023 -37.3844 0 + vertex -15.9675 -37.4163 0 + vertex -16.3508 -37.1428 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.9675 -37.4163 0 + vertex -16.5023 -37.3844 0 + vertex -15.9604 -37.5428 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.9604 -37.5428 0 + vertex -16.5023 -37.3844 0 + vertex -15.9316 -37.6764 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.6872 -37.6188 0 + vertex -15.9316 -37.6764 0 + vertex -16.5023 -37.3844 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.9316 -37.6764 0 + vertex -16.6872 -37.6188 0 + vertex -15.8777 -37.8324 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.8516 -37.795 0 + vertex -15.8777 -37.8324 0 + vertex -16.6872 -37.6188 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.8777 -37.8324 0 + vertex -16.8516 -37.795 0 + vertex -15.8396 -37.8957 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.8396 -37.8957 0 + vertex -16.8516 -37.795 0 + vertex -15.7865 -37.9502 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.0213 -37.9274 0 + vertex -15.7865 -37.9502 0 + vertex -16.8516 -37.795 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.7865 -37.9502 0 + vertex -17.0213 -37.9274 0 + vertex -15.7132 -37.9965 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.2437 -38.0218 0 + vertex -15.7132 -37.9965 0 + vertex -17.0213 -37.9274 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.614 -38.0352 0 + vertex -17.2437 -38.0218 0 + vertex -17.5664 -38.0841 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.316 -38.0928 0 + vertex -17.5664 -38.0841 0 + vertex -18.0369 -38.1201 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.8486 -38.1282 0 + vertex -18.0369 -38.1201 0 + vertex -110 -110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -18.0369 -38.1201 0 + vertex -18.7028 -38.1359 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -18.7028 -38.1359 0 + vertex -20.8109 -38.1301 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -20.8109 -38.1301 0 + vertex -23.4866 -38.0828 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2718 -38.1638 0 + vertex -23.4866 -38.0828 0 + vertex -24.3782 -38.0456 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2718 -38.1638 0 + vertex -24.3782 -38.0456 0 + vertex -24.7978 -38.0047 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2718 -38.1638 0 + vertex -24.7978 -38.0047 0 + vertex -24.9442 -37.9384 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.2673 -36.8782 0 + vertex -25.1078 -37.2448 0 + vertex -26.6839 -36.0968 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.1078 -37.2448 0 + vertex -27.2673 -36.8782 0 + vertex -25.1419 -37.4158 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.1419 -37.4158 0 + vertex -27.2673 -36.8782 0 + vertex -25.1453 -37.5754 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.1453 -37.5754 0 + vertex -27.2673 -36.8782 0 + vertex -25.1152 -37.719 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2718 -38.1638 0 + vertex -25.1152 -37.719 0 + vertex -27.2673 -36.8782 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.1152 -37.719 0 + vertex -28.2718 -38.1638 0 + vertex -25.0491 -37.8416 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.0491 -37.8416 0 + vertex -28.2718 -38.1638 0 + vertex -24.9442 -37.9384 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.4866 -38.0828 0 + vertex -28.2718 -38.1638 0 + vertex -110 -110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -28.2718 -38.1638 0 + vertex -37.6203 -38.1325 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -37.6203 -38.1325 0 + vertex -41.2883 -38.1087 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -41.2883 -38.1087 0 + vertex -44.3648 -38.0673 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -44.3648 -38.0673 0 + vertex -46.5272 -38.014 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -46.5272 -38.014 0 + vertex -47.1648 -37.9848 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -47.1648 -37.9848 0 + vertex -47.4529 -37.9547 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -110 -110 0 + vertex -47.4529 -37.9547 0 + vertex -47.6522 -37.8745 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.984 -37.1977 0 + vertex -110 -110 0 + vertex -47.9993 -37.3583 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.355246 -38.538 0 + vertex -110 -110 0 + vertex 110 -110 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.8044 -37.7712 0 + vertex -110 -110 0 + vertex -47.6522 -37.8745 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.9115 -37.6485 0 + vertex -110 -110 0 + vertex -47.8044 -37.7712 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.9758 -37.5097 0 + vertex -110 -110 0 + vertex -47.9115 -37.6485 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.9993 -37.3583 0 + vertex -110 -110 0 + vertex -47.9758 -37.5097 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.9547 -20.2657 0 + vertex 42.1212 -20.0931 0 + vertex 42.3117 -20.6924 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 42.0356 -20.3507 0 + vertex 42.3117 -20.6924 0 + vertex 42.1212 -20.0931 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 41.9515 -20.5727 0 + vertex 42.3117 -20.6924 0 + vertex 42.0356 -20.3507 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.3117 -20.6924 0 + vertex 41.9515 -20.5727 0 + vertex 42.1116 -20.8028 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 41.9099 -20.7296 0 + vertex 42.1116 -20.8028 0 + vertex 41.9515 -20.5727 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.1116 -20.8028 0 + vertex 41.9099 -20.7296 0 + vertex 41.9827 -20.8453 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 41.9179 -20.8207 0 + vertex 41.9827 -20.8453 0 + vertex 41.9099 -20.7296 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.9827 -20.8453 0 + vertex 41.9179 -20.8207 0 + vertex 41.9427 -20.8413 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.1157 -22.9178 0 + vertex 36.3671 -23.1585 0 + vertex 36.3539 -23.0402 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.1157 -22.9178 0 + vertex 36.3539 -23.0402 0 + vertex 36.3224 -22.9562 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 35.9442 -22.9618 0 + vertex 36.3671 -23.1585 0 + vertex 36.1157 -22.9178 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.2034 -22.8943 0 + vertex 36.3224 -22.9562 0 + vertex 36.2723 -22.9073 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.3224 -22.9562 0 + vertex 36.2034 -22.8943 0 + vertex 36.1157 -22.9178 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.3671 -23.1585 0 + vertex 35.9442 -22.9618 0 + vertex 36.362 -23.3104 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.362 -23.3104 0 + vertex 35.9442 -22.9618 0 + vertex 36.2977 -23.7121 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 35.7166 -22.9783 0 + vertex 36.2977 -23.7121 0 + vertex 35.9442 -22.9618 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.4626 -22.9668 0 + vertex 36.2977 -23.7121 0 + vertex 35.7166 -22.9783 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.2977 -23.7121 0 + vertex 35.4626 -22.9668 0 + vertex 36.1622 -24.2394 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.2118 -22.9271 0 + vertex 36.1622 -24.2394 0 + vertex 35.4626 -22.9668 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 36.1622 -24.2394 0 + vertex 35.2118 -22.9271 0 + vertex 35.957 -24.8864 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.9345 -22.8399 0 + vertex 35.957 -24.8864 0 + vertex 35.2118 -22.9271 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.957 -24.8864 0 + vertex 34.9345 -22.8399 0 + vertex 35.6833 -25.6471 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.8338 -22.7839 0 + vertex 35.6833 -25.6471 0 + vertex 34.9345 -22.8399 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.7558 -22.7166 0 + vertex 35.6833 -25.6471 0 + vertex 34.8338 -22.7839 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.6833 -25.6471 0 + vertex 34.7558 -22.7166 0 + vertex 35.3422 -26.5156 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.6986 -22.636 0 + vertex 35.3422 -26.5156 0 + vertex 34.7558 -22.7166 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 33.8561 -30.1753 0 + vertex 34.6986 -22.636 0 + vertex 34.6602 -22.54 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 33.8561 -30.1753 0 + vertex 34.6602 -22.54 0 + vertex 34.6385 -22.4262 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.6986 -22.636 0 + vertex 33.8561 -30.1753 0 + vertex 35.3422 -26.5156 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 33.8561 -30.1753 0 + vertex 34.6385 -22.4262 0 + vertex 34.6318 -22.2927 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.6318 -22.2927 0 + vertex 32.0372 -23.3848 0 + vertex 31.9625 -24.0535 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.6318 -22.2927 0 + vertex 31.9625 -24.0535 0 + vertex 31.8392 -24.8188 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.6318 -22.2927 0 + vertex 31.8392 -24.8188 0 + vertex 31.6784 -25.7224 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 33.8561 -30.1753 0 + vertex 31.6784 -25.7224 0 + vertex 31.6003 -26.0834 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 31.3939 -26.6463 0 + vertex 33.8561 -30.1753 0 + vertex 31.5092 -26.3899 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 31.047 -27.0266 0 + vertex 33.8561 -30.1753 0 + vertex 31.2435 -26.857 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 30.7934 -27.1595 0 + vertex 33.8561 -30.1753 0 + vertex 31.047 -27.0266 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 30.2299 -31.0524 0 + vertex 33.1139 -32.0001 0 + vertex 30.2187 -30.9454 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 30.1034 -31.4773 0 + vertex 33.1139 -32.0001 0 + vertex 30.1726 -31.3179 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 33.1139 -32.0001 0 + vertex 30.1034 -31.4773 0 + vertex 32.5373 -33.371 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.8827 -31.8517 0 + vertex 32.5373 -33.371 0 + vertex 30.1034 -31.4773 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 30.2146 -31.1764 0 + vertex 33.1139 -32.0001 0 + vertex 30.2299 -31.0524 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.5499 -32.3032 0 + vertex 32.5373 -33.371 0 + vertex 29.8827 -31.8517 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 30.2187 -30.9454 0 + vertex 33.8561 -30.1753 0 + vertex 30.1812 -30.855 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 32.5373 -33.371 0 + vertex 29.5499 -32.3032 0 + vertex 32.0766 -34.3595 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.1179 -30.7807 0 + vertex 33.8561 -30.1753 0 + vertex 30.7934 -27.1595 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.1028 -32.8352 0 + vertex 32.0766 -34.3595 0 + vertex 29.5499 -32.3032 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.9008 -30.6099 0 + vertex 30.7934 -27.1595 0 + vertex 30.4717 -27.2602 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 32.0766 -34.3595 0 + vertex 29.1028 -32.8352 0 + vertex 31.8743 -34.7329 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.8743 -34.7329 0 + vertex 29.1028 -32.8352 0 + vertex 31.6824 -35.0376 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 30.1726 -31.3179 0 + vertex 33.1139 -32.0001 0 + vertex 30.2146 -31.1764 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 33.8561 -30.1753 0 + vertex 30.2187 -30.9454 0 + vertex 33.1139 -32.0001 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 33.8561 -30.1753 0 + vertex 30.1179 -30.7807 0 + vertex 30.1812 -30.855 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.7002 -30.4984 0 + vertex 30.4717 -27.2602 0 + vertex 30.0709 -27.3331 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.7934 -27.1595 0 + vertex 29.9008 -30.6099 0 + vertex 30.1179 -30.7807 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.4717 -27.2602 0 + vertex 29.7002 -30.4984 0 + vertex 29.9008 -30.6099 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.58 -27.3827 0 + vertex 29.7002 -30.4984 0 + vertex 30.0709 -27.3331 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.58 -27.3827 0 + vertex 29.5048 -30.449 0 + vertex 29.7002 -30.4984 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.988 -27.4135 0 + vertex 29.5048 -30.449 0 + vertex 29.58 -27.3827 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.5048 -30.449 0 + vertex 28.988 -27.4135 0 + vertex 29.3033 -30.4642 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.3033 -30.4642 0 + vertex 28.988 -27.4135 0 + vertex 29.0845 -30.5466 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.4568 -27.4364 0 + vertex 29.0845 -30.5466 0 + vertex 28.988 -27.4135 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.0845 -30.5466 0 + vertex 27.4568 -27.4364 0 + vertex 28.8369 -30.6989 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.8369 -30.6989 0 + vertex 27.4568 -27.4364 0 + vertex 28.5495 -30.9236 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.5495 -30.9236 0 + vertex 27.4568 -27.4364 0 + vertex 28.2108 -31.2235 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.3891 -27.4375 0 + vertex 28.2108 -31.2235 0 + vertex 27.4568 -27.4364 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.2108 -31.2235 0 + vertex 25.3891 -27.4375 0 + vertex 27.276 -32.055 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.276 -32.055 0 + vertex 25.3891 -27.4375 0 + vertex 26.4309 -32.7448 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.4309 -32.7448 0 + vertex 25.3891 -27.4375 0 + vertex 25.6577 -33.3022 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.3891 -27.4375 0 + vertex 25.2926 -33.5342 0 + vertex 25.6577 -33.3022 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.3891 -27.4375 0 + vertex 24.9388 -33.7368 0 + vertex 25.2926 -33.5342 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.5256 -29.5327 0 + vertex 24.9388 -33.7368 0 + vertex 25.3891 -27.4375 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.9388 -33.7368 0 + vertex 19.5256 -29.5327 0 + vertex 24.5942 -33.911 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.3985 -30.306 0 + vertex 24.5942 -33.911 0 + vertex 19.5256 -29.5327 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.5942 -33.911 0 + vertex 19.3985 -30.306 0 + vertex 24.2566 -34.0582 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.9237 -34.1793 0 + vertex 19.3985 -30.306 0 + vertex 23.5933 -34.2758 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.5933 -34.2758 0 + vertex 19.3985 -30.306 0 + vertex 23.2634 -34.3487 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.3204 -31.0557 0 + vertex 23.2634 -34.3487 0 + vertex 19.3985 -30.306 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.2634 -34.3487 0 + vertex 19.3204 -31.0557 0 + vertex 22.9315 -34.3992 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.9315 -34.3992 0 + vertex 19.3204 -31.0557 0 + vertex 22.5956 -34.4285 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.5956 -34.4285 0 + vertex 19.3204 -31.0557 0 + vertex 22.2534 -34.4379 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.2534 -34.4379 0 + vertex 19.3204 -31.0557 0 + vertex 21.8355 -34.4151 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.2935 -31.7496 0 + vertex 21.8355 -34.4151 0 + vertex 19.3204 -31.0557 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.8355 -34.4151 0 + vertex 19.2935 -31.7496 0 + vertex 21.43 -34.349 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.9171 -28.0436 0 + vertex 25.3891 -27.4375 0 + vertex 20.1247 -27.4424 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.6992 -28.7679 0 + vertex 25.3891 -27.4375 0 + vertex 19.9171 -28.0436 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5256 -29.5327 0 + vertex 25.3891 -27.4375 0 + vertex 19.6992 -28.7679 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.2566 -34.0582 0 + vertex 19.3985 -30.306 0 + vertex 23.9237 -34.1793 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.43 -34.349 0 + vertex 19.2935 -31.7496 0 + vertex 21.0421 -34.2419 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0421 -34.2419 0 + vertex 19.2935 -31.7496 0 + vertex 20.6768 -34.0963 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.6768 -34.0963 0 + vertex 19.2935 -31.7496 0 + vertex 20.3392 -33.9144 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 19.3203 -32.3556 0 + vertex 20.3392 -33.9144 0 + vertex 19.2935 -31.7496 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.3392 -33.9144 0 + vertex 19.3203 -32.3556 0 + vertex 20.0345 -33.6987 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0345 -33.6987 0 + vertex 19.3203 -32.3556 0 + vertex 19.7677 -33.4516 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 19.3545 -32.6156 0 + vertex 19.7677 -33.4516 0 + vertex 19.3203 -32.3556 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 19.403 -32.8415 0 + vertex 19.7677 -33.4516 0 + vertex 19.3545 -32.6156 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7677 -33.4516 0 + vertex 19.403 -32.8415 0 + vertex 19.5439 -33.1754 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5439 -33.1754 0 + vertex 19.403 -32.8415 0 + vertex 19.466 -33.0295 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.6824 -35.0376 0 + vertex 29.1028 -32.8352 0 + vertex 31.4948 -35.2825 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.4948 -35.2825 0 + vertex 29.1028 -32.8352 0 + vertex 31.3052 -35.4767 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.3052 -35.4767 0 + vertex 29.1028 -32.8352 0 + vertex 31.1075 -35.6291 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.1075 -35.6291 0 + vertex 29.1028 -32.8352 0 + vertex 30.8955 -35.7486 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.8955 -35.7486 0 + vertex 29.1028 -32.8352 0 + vertex 30.6629 -35.8443 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.6629 -35.8443 0 + vertex 29.1028 -32.8352 0 + vertex 30.4037 -35.9251 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 28.539 -33.4515 0 + vertex 30.4037 -35.9251 0 + vertex 29.1028 -32.8352 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.4037 -35.9251 0 + vertex 28.539 -33.4515 0 + vertex 29.7804 -36.0779 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.7804 -36.0779 0 + vertex 28.539 -33.4515 0 + vertex 29.5705 -36.1356 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.856 -34.1555 0 + vertex 29.5705 -36.1356 0 + vertex 28.539 -33.4515 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.5705 -36.1356 0 + vertex 27.856 -34.1555 0 + vertex 29.3757 -36.2065 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.3757 -36.2065 0 + vertex 27.856 -34.1555 0 + vertex 29.1966 -36.2895 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.1966 -36.2895 0 + vertex 27.856 -34.1555 0 + vertex 29.034 -36.3831 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.3514 -34.6537 0 + vertex 29.034 -36.3831 0 + vertex 27.856 -34.1555 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.034 -36.3831 0 + vertex 27.3514 -34.6537 0 + vertex 28.8888 -36.4863 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.8888 -36.4863 0 + vertex 27.3514 -34.6537 0 + vertex 28.7617 -36.5978 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.8832 -35.0925 0 + vertex 28.7617 -36.5978 0 + vertex 27.3514 -34.6537 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.7617 -36.5978 0 + vertex 26.8832 -35.0925 0 + vertex 28.6534 -36.7163 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.6534 -36.7163 0 + vertex 26.8832 -35.0925 0 + vertex 28.5648 -36.8405 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.5648 -36.8405 0 + vertex 26.4377 -35.4824 0 + vertex 28.4965 -36.9693 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.4377 -35.4824 0 + vertex 28.5648 -36.8405 0 + vertex 26.8832 -35.0925 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.5394 24.4322 0 + vertex -10.5711 24.4 0 + vertex -10.5349 24.4109 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.6591 24.5009 0 + vertex -10.5711 24.4 0 + vertex -10.5394 24.4322 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.9077 24.5958 0 + vertex -10.5711 24.4 0 + vertex -10.6591 24.5009 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.2625 24.7069 0 + vertex -10.5711 24.4 0 + vertex -10.9077 24.5958 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.1612 23.8467 0 + vertex -11.2625 24.7069 0 + vertex -11.7825 24.8213 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.1612 23.8467 0 + vertex -11.7825 24.8213 0 + vertex -12.4277 24.907 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.1612 23.8467 0 + vertex -12.4277 24.907 0 + vertex -13.1566 24.9634 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.1612 23.8467 0 + vertex -13.1566 24.9634 0 + vertex -13.9275 24.99 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.2625 24.7069 0 + vertex -14.1612 23.8467 0 + vertex -10.5711 24.4 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -14.6988 24.986 0 + vertex -14.1612 23.8467 0 + vertex -13.9275 24.99 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15.4289 24.9511 0 + vertex -14.1612 23.8467 0 + vertex -14.6988 24.986 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.0412 23.3999 0 + vertex -15.4289 24.9511 0 + vertex -16.0762 24.8844 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.0412 23.3999 0 + vertex -16.0762 24.8844 0 + vertex -16.599 24.7853 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.4289 24.9511 0 + vertex -17.0412 23.3999 0 + vertex -14.1612 23.8467 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.1707 24.6702 0 + vertex -17.0412 23.3999 0 + vertex -16.599 24.7853 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -18.0818 24.5233 0 + vertex -17.0412 23.3999 0 + vertex -17.1707 24.6702 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -19.3158 23.0662 0 + vertex -18.0818 24.5233 0 + vertex -19.207 24.3637 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.0818 24.5233 0 + vertex -19.3158 23.0662 0 + vertex -17.0412 23.3999 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.4207 24.2101 0 + vertex -19.3158 23.0662 0 + vertex -19.207 24.3637 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.4207 24.2101 0 + vertex -20.7318 22.8633 0 + vertex -19.3158 23.0662 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.4207 24.2101 0 + vertex -21.5474 22.7309 0 + vertex -20.7318 22.8633 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.0315 22.8497 0 + vertex -21.5474 22.7309 0 + vertex -20.4207 24.2101 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5474 22.7309 0 + vertex -21.755 22.7463 0 + vertex -21.6404 22.7266 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5474 22.7309 0 + vertex -22.0315 22.8497 0 + vertex -21.755 22.7463 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.4207 24.2101 0 + vertex -22.3422 23.0246 0 + vertex -22.0315 22.8497 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.4207 24.2101 0 + vertex -22.6524 23.2546 0 + vertex -22.3422 23.0246 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -22.6524 23.2546 0 + vertex -20.4207 24.2101 0 + vertex -23.3692 23.8604 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.12348 -21.5274 0 + vertex 10.1807 -23.3758 0 + vertex 10.149 -22.9513 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.50498 -21.5121 0 + vertex 10.149 -22.9513 0 + vertex 10.1103 -22.7594 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.71946 -21.5983 0 + vertex 10.1807 -23.3758 0 + vertex 8.12348 -21.5274 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.85925 -21.5524 0 + vertex 10.1103 -22.7594 0 + vertex 10.0571 -22.5812 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.85925 -21.5524 0 + vertex 10.0571 -22.5812 0 + vertex 9.99008 -22.4166 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.1807 -23.3758 0 + vertex 7.71946 -21.5983 0 + vertex 10.1598 -23.7848 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.18157 -21.6481 0 + vertex 9.99008 -22.4166 0 + vertex 9.90973 -22.2656 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.18157 -21.6481 0 + vertex 9.90973 -22.2656 0 + vertex 9.81668 -22.1284 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 7.29763 -21.7251 0 + vertex 10.1598 -23.7848 0 + vertex 7.71946 -21.5983 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.18157 -21.6481 0 + vertex 9.81668 -22.1284 0 + vertex 9.71152 -22.0048 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.18157 -21.6481 0 + vertex 9.71152 -22.0048 0 + vertex 9.59484 -21.895 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.18157 -21.6481 0 + vertex 9.59484 -21.895 0 + vertex 9.46723 -21.7989 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.1598 -23.7848 0 + vertex 7.29763 -21.7251 0 + vertex 10.0892 -24.2416 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.99008 -22.4166 0 + vertex 9.18157 -21.6481 0 + vertex 8.85925 -21.5524 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.8627 -21.9079 0 + vertex 10.0892 -24.2416 0 + vertex 7.29763 -21.7251 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.1103 -22.7594 0 + vertex 8.85925 -21.5524 0 + vertex 8.50498 -21.5121 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.149 -22.9513 0 + vertex 8.50498 -21.5121 0 + vertex 8.12348 -21.5274 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.0892 -24.2416 0 + vertex 6.8627 -21.9079 0 + vertex 9.95745 -24.7805 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 6.41939 -22.1469 0 + vertex 9.95745 -24.7805 0 + vertex 6.8627 -21.9079 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.97241 -22.4422 0 + vertex 9.95745 -24.7805 0 + vertex 6.41939 -22.1469 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.52647 -22.794 0 + vertex 9.75283 -25.4359 0 + vertex 5.97241 -22.4422 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.95745 -24.7805 0 + vertex 5.97241 -22.4422 0 + vertex 9.75283 -25.4359 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.75283 -25.4359 0 + vertex 5.52647 -22.794 0 + vertex 9.46376 -26.2422 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.08628 -23.2024 0 + vertex 9.46376 -26.2422 0 + vertex 5.52647 -22.794 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 4.45147 -23.8871 0 + vertex 9.46376 -26.2422 0 + vertex 5.08628 -23.2024 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.46376 -26.2422 0 + vertex 4.45147 -23.8871 0 + vertex 9.07864 -27.2338 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.85887 -24.6213 0 + vertex 9.07864 -27.2338 0 + vertex 4.45147 -23.8871 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.31148 -25.3951 0 + vertex 9.07864 -27.2338 0 + vertex 3.85887 -24.6213 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.07864 -27.2338 0 + vertex 3.31148 -25.3951 0 + vertex 7.97377 -29.9101 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.81229 -26.1986 0 + vertex 7.97377 -29.9101 0 + vertex 3.31148 -25.3951 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.36428 -27.0218 0 + vertex 7.97377 -29.9101 0 + vertex 2.81229 -26.1986 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.97046 -27.8549 0 + vertex 7.97377 -29.9101 0 + vertex 2.36428 -27.0218 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.97377 -29.9101 0 + vertex 1.97046 -27.8549 0 + vertex 7.44603 -31.1479 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.63381 -28.6878 0 + vertex 7.44603 -31.1479 0 + vertex 1.97046 -27.8549 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.35733 -29.5107 0 + vertex 7.44603 -31.1479 0 + vertex 1.63381 -28.6878 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.44603 -31.1479 0 + vertex 1.35733 -29.5107 0 + vertex 7.00854 -32.1311 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.144 -30.3137 0 + vertex 7.00854 -32.1311 0 + vertex 1.35733 -29.5107 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.00854 -32.1311 0 + vertex 1.144 -30.3137 0 + vertex 6.63949 -32.8952 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.99682 -31.0867 0 + vertex 6.63949 -32.8952 0 + vertex 1.144 -30.3137 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.63949 -32.8952 0 + vertex 0.99682 -31.0867 0 + vertex 6.31707 -33.4759 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.918778 -31.8199 0 + vertex 6.31707 -33.4759 0 + vertex 0.99682 -31.0867 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.31707 -33.4759 0 + vertex 0.918778 -31.8199 0 + vertex 6.01946 -33.9088 0 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 5.05744 -34.678 0 + vertex 6.01946 -33.9088 0 + vertex 0.918778 -31.8199 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.01946 -33.9088 0 + vertex 5.41146 -34.4742 0 + vertex 5.87315 -34.0811 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.87315 -34.0811 0 + vertex 5.41146 -34.4742 0 + vertex 5.72486 -34.2297 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.01946 -33.9088 0 + vertex 5.05744 -34.678 0 + vertex 5.41146 -34.4742 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.906618 -32.1685 0 + vertex 5.05744 -34.678 0 + vertex 0.918778 -31.8199 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.05744 -34.678 0 + vertex 0.906618 -32.1685 0 + vertex 4.59905 -34.8756 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 0.912865 -32.5034 0 + vertex 4.59905 -34.8756 0 + vertex 0.906618 -32.1685 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.59905 -34.8756 0 + vertex 0.912865 -32.5034 0 + vertex 4.12685 -35.011 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 0.937893 -32.8234 0 + vertex 4.12685 -35.011 0 + vertex 0.912865 -32.5034 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.12685 -35.011 0 + vertex 0.937893 -32.8234 0 + vertex 3.65273 -35.0844 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 0.982074 -33.1272 0 + vertex 3.65273 -35.0844 0 + vertex 0.937893 -32.8234 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.65273 -35.0844 0 + vertex 0.982074 -33.1272 0 + vertex 3.18861 -35.0966 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 1.04578 -33.4136 0 + vertex 3.18861 -35.0966 0 + vertex 0.982074 -33.1272 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.18861 -35.0966 0 + vertex 1.04578 -33.4136 0 + vertex 2.7464 -35.0478 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 1.1294 -33.6813 0 + vertex 2.7464 -35.0478 0 + vertex 1.04578 -33.4136 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.7464 -35.0478 0 + vertex 1.1294 -33.6813 0 + vertex 2.53723 -35.0007 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 1.23329 -33.9292 0 + vertex 2.53723 -35.0007 0 + vertex 1.1294 -33.6813 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.53723 -35.0007 0 + vertex 1.23329 -33.9292 0 + vertex 2.33801 -34.9386 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.33801 -34.9386 0 + vertex 1.23329 -33.9292 0 + vertex 2.15022 -34.8616 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 1.35782 -34.1559 0 + vertex 2.15022 -34.8616 0 + vertex 1.23329 -33.9292 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.15022 -34.8616 0 + vertex 1.35782 -34.1559 0 + vertex 1.97535 -34.7696 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.8149 -34.6627 0 + vertex 1.50339 -34.3603 0 + vertex 1.67035 -34.5411 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.97535 -34.7696 0 + vertex 1.50339 -34.3603 0 + vertex 1.8149 -34.6627 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 1.50339 -34.3603 0 + vertex 1.97535 -34.7696 0 + vertex 1.35782 -34.1559 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.77546 17.1908 0 + vertex 9.73318 16.1788 0 + vertex 10.4375 16.5104 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.57086 16.213 0 + vertex 9.77546 17.1908 0 + vertex 9.46246 17.4938 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.77546 17.1908 0 + vertex 9.19116 15.9452 0 + vertex 9.73318 16.1788 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.03973 17.0592 0 + vertex 9.46246 17.4938 0 + vertex 9.09841 17.8163 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.77546 17.1908 0 + vertex 8.57086 16.213 0 + vertex 9.19116 15.9452 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 8.76553 15.9481 0 + vertex 9.19116 15.9452 0 + vertex 8.57086 16.213 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 8.83337 15.875 0 + vertex 8.99158 15.8746 0 + vertex 8.76553 15.9481 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.99158 15.8746 0 + vertex 8.83337 15.875 0 + vertex 8.87708 15.8492 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.19116 15.9452 0 + vertex 8.76553 15.9481 0 + vertex 8.99158 15.8746 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.03973 17.0592 0 + vertex 9.09841 17.8163 0 + vertex 8.31493 18.4459 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.46246 17.4938 0 + vertex 8.03973 17.0592 0 + vertex 8.57086 16.213 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.49889 18.0241 0 + vertex 8.31493 18.4459 0 + vertex 7.9444 18.7161 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.29207 18.4374 0 + vertex 7.9444 18.7161 0 + vertex 7.62063 18.9319 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.31493 18.4459 0 + vertex 7.49889 18.0241 0 + vertex 8.03973 17.0592 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.16351 18.7442 0 + vertex 7.62063 18.9319 0 + vertex 7.36805 19.075 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.9444 18.7161 0 + vertex 7.29207 18.4374 0 + vertex 7.49889 18.0241 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 0 + vertex 7.36805 19.075 0 + vertex 7.21113 19.1268 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.62063 18.9319 0 + vertex 7.16351 18.7442 0 + vertex 7.29207 18.4374 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.1242 19.0144 0 + vertex 7.21113 19.1268 0 + vertex 7.15267 19.0966 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.36805 19.075 0 + vertex 7.1273 18.8927 0 + vertex 7.16351 18.7442 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.36805 19.075 0 + vertex 7.1242 19.0144 0 + vertex 7.1273 18.8927 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.8138 -21.8092 0 + vertex 27.4312 -23.3865 0 + vertex 27.4186 -23.1088 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.0922 -21.8157 0 + vertex 27.4186 -23.1088 0 + vertex 27.3785 -22.8574 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4312 -23.3865 0 + vertex 25.8138 -21.8092 0 + vertex 27.4161 -23.6904 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.3449 -21.8501 0 + vertex 27.3785 -22.8574 0 + vertex 27.3111 -22.6325 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.51 -21.8307 0 + vertex 27.4161 -23.6904 0 + vertex 25.8138 -21.8092 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.5717 -21.9122 0 + vertex 27.3111 -22.6325 0 + vertex 27.2166 -22.4344 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7726 -22.0019 0 + vertex 27.2166 -22.4344 0 + vertex 27.0952 -22.2631 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7726 -22.0019 0 + vertex 27.0952 -22.2631 0 + vertex 26.9471 -22.1189 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.2166 -22.4344 0 + vertex 26.7726 -22.0019 0 + vertex 26.5717 -21.9122 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3111 -22.6325 0 + vertex 26.5717 -21.9122 0 + vertex 26.3449 -21.8501 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.3785 -22.8574 0 + vertex 26.3449 -21.8501 0 + vertex 26.0922 -21.8157 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4186 -23.1088 0 + vertex 26.0922 -21.8157 0 + vertex 25.8138 -21.8092 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.435 -24.8188 0 + vertex 27.4161 -23.6904 0 + vertex 25.51 -21.8307 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.4161 -23.6904 0 + vertex 24.435 -24.8188 0 + vertex 27.373 -24.0204 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.435 -24.8188 0 + vertex 25.51 -21.8307 0 + vertex 25.181 -21.8805 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.435 -24.8188 0 + vertex 25.181 -21.8805 0 + vertex 24.827 -21.9586 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.435 -24.8188 0 + vertex 24.827 -21.9586 0 + vertex 24.5319 -22.0421 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.373 -24.0204 0 + vertex 24.435 -24.8188 0 + vertex 27.2401 -24.8188 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.2621 -22.1397 0 + vertex 24.435 -24.8188 0 + vertex 24.5319 -22.0421 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.0091 -22.2567 0 + vertex 24.435 -24.8188 0 + vertex 24.2621 -22.1397 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.7644 -22.3987 0 + vertex 24.435 -24.8188 0 + vertex 24.0091 -22.2567 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.5194 -22.5712 0 + vertex 24.435 -24.8188 0 + vertex 23.7644 -22.3987 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.2657 -22.7795 0 + vertex 24.435 -24.8188 0 + vertex 23.5194 -22.5712 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.435 -24.8188 0 + vertex 23.2657 -22.7795 0 + vertex 23.3459 -24.8032 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.6979 -23.3258 0 + vertex 23.3459 -24.8032 0 + vertex 23.2657 -22.7795 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 22.2832 -23.7683 0 + vertex 23.3459 -24.8032 0 + vertex 22.6979 -23.3258 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.3459 -24.8032 0 + vertex 22.2832 -23.7683 0 + vertex 22.454 -24.761 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 21.9437 -24.1601 0 + vertex 22.454 -24.761 0 + vertex 22.2832 -23.7683 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.9437 -24.1601 0 + vertex 21.8514 -24.6984 0 + vertex 22.454 -24.761 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 21.7143 -24.4589 0 + vertex 21.8514 -24.6984 0 + vertex 21.9437 -24.1601 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.7143 -24.4589 0 + vertex 21.6873 -24.6616 0 + vertex 21.8514 -24.6984 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 21.6518 -24.5601 0 + vertex 21.6873 -24.6616 0 + vertex 21.7143 -24.4589 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.6873 -24.6616 0 + vertex 21.6518 -24.5601 0 + vertex 21.63 -24.6221 0 + endloop + endfacet + facet normal 1 -0 0 + outer loop + vertex 110 -110 0 + vertex 110 110 -3 + vertex 110 110 0 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 110 110 -3 + vertex 110 -110 0 + vertex 110 -110 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -110 -110 -3 + vertex 110 110 -3 + vertex 110 -110 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 110 110 -3 + vertex -110 -110 -3 + vertex -110 110 -3 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -110 -110 -3 + vertex 110 -110 0 + vertex -110 -110 0 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 110 -110 0 + vertex -110 -110 -3 + vertex 110 -110 -3 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 110 110 -3 + vertex -110 110 0 + vertex 110 110 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -110 110 0 + vertex 110 110 -3 + vertex -110 110 -3 + endloop + endfacet +endsolid OpenSCAD_Model From fb1033ad9903ec197da4f6c339c258afc0bfe7ec Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Sep 2018 10:03:11 +0200 Subject: [PATCH 059/162] Add the compatible machine families property to printerOutputModel This is used by the cluster to indicate by which families of printers the job can be displayed CL-894 --- cura/PrinterOutput/PrintJobOutputModel.py | 15 ++++++++++-- cura/PrinterOutput/PrinterOutputModel.py | 2 +- .../ClusterUM3OutputDevice.py | 4 ++-- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 23 +++++++++++++++++++ 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index 373f816373..535836eb5e 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot -from typing import Optional, TYPE_CHECKING +from typing import Optional, TYPE_CHECKING, List from PyQt5.QtCore import QUrl from PyQt5.QtGui import QImage @@ -23,6 +23,7 @@ class PrintJobOutputModel(QObject): ownerChanged = pyqtSignal() configurationChanged = pyqtSignal() previewImageChanged = pyqtSignal() + compatibleMachineFamiliesChanged = pyqtSignal() def __init__(self, output_controller: "PrinterOutputController", key: str = "", name: str = "", parent=None) -> None: super().__init__(parent) @@ -36,11 +37,21 @@ class PrintJobOutputModel(QObject): self._owner = "" # Who started/owns the print job? self._configuration = None # type: Optional[ConfigurationModel] - + self._compatible_machine_families = [] # type: List[str] self._preview_image_id = 0 self._preview_image = None + @pyqtProperty("QStringList", notify=compatibleMachineFamiliesChanged) + def compatibleMachineFamilies(self): + # Hack; Some versions of cluster will return a family more than once... + return set(self._compatible_machine_families) + + def setCompatibleMachineFamilies(self, compatible_machine_families: List[str]) -> None: + if self._compatible_machine_families != compatible_machine_families: + self._compatible_machine_families = compatible_machine_families + self.compatibleMachineFamiliesChanged.emit() + @pyqtProperty(QUrl, notify=previewImageChanged) def preview_image_url(self): self._preview_image_id += 1 diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index ba567b7bac..f009a33178 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -35,7 +35,7 @@ class PrinterOutputModel(QObject): self._key = "" # Unique identifier self._controller = output_controller self._extruders = [ExtruderOutputModel(printer = self, position = i) for i in range(number_of_extruders)] - self._printer_configuration = ConfigurationModel() # Indicates the current configuration setup in this printer + self._printer_configuration = ConfigurationModel() # Indicates the current configuration setup in this printer self._head_position = Vector(0, 0, 0) self._active_print_job = None # type: Optional[PrintJobOutputModel] self._firmware_version = firmware_version diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index 7506a870a9..e0d996c80e 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -131,7 +131,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): raise OutputDeviceError.WriteRequestFailedError(i18n_catalog.i18nc("@info:status", "There are no file formats available to write with!")) preferred_format = file_formats[0] - #J ust take the first file format available. + # Just take the first file format available. if file_handler is not None: writer = file_handler.getWriterByMimeType(cast(str, preferred_format["mime_type"])) else: @@ -552,7 +552,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): configuration.setExtruderConfigurations(extruders) print_job.updateConfiguration(configuration) - + print_job.setCompatibleMachineFamilies(data["compatible_machine_families"]) print_job.stateChanged.connect(self._printJobStateChanged) return print_job diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index e54e70043e..1d5e5e6ce5 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -290,7 +290,30 @@ Item onOpened: visible = true } + Row + { + id: printerFamilyPills + spacing: 0.5 * UM.Theme.getSize("default_margin").width + anchors + { + left: parent.left + right: parent.right + bottom: extrudersInfo.top + bottomMargin: UM.Theme.getSize("default_margin").height + } + height: childrenRect.height + Repeater + { + model: printJob.compatibleMachineFamilies + delegate: PrinterFamilyPill + { + text: modelData + color: UM.Theme.getColor("viewport_background") + padding: 3 + } + } + } // PrintCore && Material config Row { From 2e5b11af9d1c60b72cc2c9bca3e4a1410e4e60a5 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Sep 2018 10:05:20 +0200 Subject: [PATCH 060/162] Fixed codestyle issue Switching between codestyles is hard :( --- cura/PrinterOutput/PrintJobOutputModel.py | 2 +- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 2 +- plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index 535836eb5e..c8d813f17c 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -53,7 +53,7 @@ class PrintJobOutputModel(QObject): self.compatibleMachineFamiliesChanged.emit() @pyqtProperty(QUrl, notify=previewImageChanged) - def preview_image_url(self): + def previewImageUrl(self): self._preview_image_id += 1 # There is an image provider that is called "camera". In order to ensure that the image qml object, that # requires a QUrl to function, updates correctly we add an increasing number. This causes to see the QUrl diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index dbc5465056..aa81ad85ff 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -480,7 +480,7 @@ Component Image { id: printJobPreview - source: modelData.activePrintJob != null ? modelData.activePrintJob.preview_image_url : "" + source: modelData.activePrintJob != null ? modelData.activePrintJob.previewImageUrl : "" anchors.top: ownerName.bottom anchors.horizontalCenter: parent.horizontalCenter width: parent.width / 2 diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 1d5e5e6ce5..c3e445d933 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -80,7 +80,7 @@ Item Image { - source: printJob.preview_image_url + source: printJob.previewImageUrl anchors.top: ownerName.bottom anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: totalTimeLabel.bottom From b7d7091de88315415e39365985873a6ecd06f515 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Sep 2018 10:26:27 +0200 Subject: [PATCH 061/162] Add padding around the printer icons CL-893 --- .../UM3NetworkPrinting/ClusterControlItem.qml | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index aa81ad85ff..3a0c37e830 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -135,30 +135,38 @@ Component onClicked: base.collapsed = !base.collapsed } - UM.RecolorImage + Item { id: machineIcon + // Yeah, this is hardcoded now, but I can't think of a good way to fix this. + // The UI is going to get another update soon, so it's probably not worth the effort... + width: 58 + height: 58 anchors.top: parent.top anchors.leftMargin: UM.Theme.getSize("default_margin").width anchors.left: parent.left - source: + + UM.RecolorImage { - switch(modelData.type) + anchors.centerIn: parent + source: { - case "Ultimaker 3": - return "UM3-icon.svg" - case "Ultimaker 3 Extended": - return "UM3x-icon.svg" - case "Ultimaker S5": - return "UMs5-icon.svg" + switch(modelData.type) + { + case "Ultimaker 3": + return "UM3-icon.svg" + case "Ultimaker 3 Extended": + return "UM3x-icon.svg" + case "Ultimaker S5": + return "UMs5-icon.svg" + } } + width: sourceSize.width + height: sourceSize.height + + color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") } - width: sourceSize.width - height: sourceSize.height - - color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") } - Item { height: childrenRect.height From 39694637580695978fac3a52b268272a6e64d535 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 3 Sep 2018 11:16:17 +0200 Subject: [PATCH 062/162] Remove the old "not setup as group" notification CL-896 --- .../UM3NetworkPrinting/ClusterMonitorItem.qml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index a3bfdeb843..73ddbaf61a 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -23,23 +23,6 @@ Component name: "cura" } - Label - { - id: activePrintersLabel - font: UM.Theme.getFont("large") - - anchors - { - top: parent.top - topMargin: UM.Theme.getSize("default_margin").height * 2 // a bit more spacing to give it some breathing room - horizontalCenter: parent.horizontalCenter - } - - text: OutputDevice.printers.length == 0 ? catalog.i18nc("@label: arg 1 is group name", "%1 is not set up to host a group of connected Ultimaker 3 printers").arg(Cura.MachineManager.printerOutputDevices[0].name) : "" - - visible: OutputDevice.printers.length == 0 - } - Label { id: manageQueueLabel From ab572e9de24806963c9523bb4023011de3662a50 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 3 Sep 2018 14:03:44 +0200 Subject: [PATCH 063/162] SettingFunction evaluation needs a stack to provide values Note that this is still not correct. When the value gets evaluated, we need to evaluate it with that container in the stack(s), but this case, the stack may have other containers, so the evaluation can give incorrect values because its context is simply not correct. This change only prevents it from breaking because it's missing a provider. --- cura/Machines/Models/QualityProfilesDropDownMenuModel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Machines/Models/QualityProfilesDropDownMenuModel.py b/cura/Machines/Models/QualityProfilesDropDownMenuModel.py index dc2482ed45..a01cc1194f 100644 --- a/cura/Machines/Models/QualityProfilesDropDownMenuModel.py +++ b/cura/Machines/Models/QualityProfilesDropDownMenuModel.py @@ -108,6 +108,6 @@ class QualityProfilesDropDownMenuModel(ListModel): layer_height = container.getProperty("layer_height", "value") if isinstance(layer_height, SettingFunction): - layer_height = layer_height() + layer_height = layer_height(global_stack) return float(layer_height) From bf1d3b964f87ad587f5cb2cb2c02ea5a3d167b35 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 3 Sep 2018 14:30:05 +0200 Subject: [PATCH 064/162] Skip loading a reply if it's not later handled. Contributes to CURA-5670. --- .../qml/ToolboxDownloadsGridTile.qml | 2 +- .../qml/ToolboxDownloadsShowcaseTile.qml | 2 +- plugins/Toolbox/src/Toolbox.py | 30 ++++++++++--------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxDownloadsGridTile.qml b/plugins/Toolbox/resources/qml/ToolboxDownloadsGridTile.qml index ebd4c006f8..4366db041c 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDownloadsGridTile.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDownloadsGridTile.qml @@ -9,7 +9,7 @@ import UM 1.1 as UM Item { - property int packageCount: (toolbox.viewCategory == "material" && model.type === undefined) ? toolbox.getTotalNumberOfPackagesByAuthor(model.id) : 1 + property int packageCount: (toolbox.viewCategory == "material" && model.type === undefined) ? toolbox.getTotalNumberOfMaterialPackagesByAuthor(model.id) : 1 property int installedPackages: (toolbox.viewCategory == "material" && model.type === undefined) ? toolbox.getNumberOfInstalledPackagesByAuthor(model.id) : (toolbox.isInstalled(model.id) ? 1 : 0) height: childrenRect.height Layout.alignment: Qt.AlignTop | Qt.AlignLeft diff --git a/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcaseTile.qml b/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcaseTile.qml index 15d1ae302c..845bbe8f91 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcaseTile.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcaseTile.qml @@ -9,7 +9,7 @@ import UM 1.1 as UM Rectangle { - property int packageCount: toolbox.viewCategory == "material" ? toolbox.getTotalNumberOfPackagesByAuthor(model.id) : 1 + property int packageCount: toolbox.viewCategory == "material" ? toolbox.getTotalNumberOfMaterialPackagesByAuthor(model.id) : 1 property int installedPackages: toolbox.viewCategory == "material" ? toolbox.getNumberOfInstalledPackagesByAuthor(model.id) : (toolbox.isInstalled(model.id) ? 1 : 0) id: tileBase width: UM.Theme.getSize("toolbox_thumbnail_large").width + (2 * UM.Theme.getSize("default_lining").width) diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 52b00f5069..615fc06ebc 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -514,10 +514,11 @@ class Toolbox(QObject, Extension): count += 1 return count + # This slot is only used to get the number of material packages by author, not any other type of packages. @pyqtSlot(str, result = int) - def getTotalNumberOfPackagesByAuthor(self, author_id: str) -> int: + def getTotalNumberOfMaterialPackagesByAuthor(self, author_id: str) -> int: count = 0 - for package in self._metadata["packages"]: + for package in self._metadata["materials_available"]: if package["author"]["author_id"] == author_id: count += 1 return count @@ -606,8 +607,21 @@ class Toolbox(QObject, Extension): self.resetDownload() return + # HACK: These request are not handled independently at this moment, but together from the "packages" call + do_not_handle = [ + "materials_available", + "materials_showcase", + "plugins_available", + "plugins_showcase", + ] + if reply.operation() == QNetworkAccessManager.GetOperation: for type, url in self._request_urls.items(): + + # HACK: Do nothing because we'll handle these from the "packages" call + if type in do_not_handle: + return + if reply.url() == url: if reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) == 200: try: @@ -623,18 +637,6 @@ class Toolbox(QObject, Extension): if not self._models[type]: Logger.log("e", "Could not find the %s model.", type) break - - # HACK - do_not_handle = [ - "materials_available", - "materials_showcase", - "plugins_available", - "plugins_showcase", - ] - - # Do nothing because we'll handle these from the "packages" call - if type in do_not_handle: - return self._metadata[type] = json_data["data"] self._models[type].setMetadata(self._metadata[type]) From b638b2274a25070aad0450d0e1fe0c4103ee7d3c Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 3 Sep 2018 15:12:52 +0200 Subject: [PATCH 065/162] Count only the material packages by author, not all packages. Contributes to CURA-5670. --- plugins/Toolbox/src/Toolbox.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 615fc06ebc..00864c6b4e 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -518,9 +518,10 @@ class Toolbox(QObject, Extension): @pyqtSlot(str, result = int) def getTotalNumberOfMaterialPackagesByAuthor(self, author_id: str) -> int: count = 0 - for package in self._metadata["materials_available"]: - if package["author"]["author_id"] == author_id: - count += 1 + for package in self._metadata["packages"]: + if package["package_type"] == "material": + if package["author"]["author_id"] == author_id: + count += 1 return count @pyqtSlot(str, result = bool) From dd778f0450219cbc2f7309eeb08bc20065bd51af Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 4 Sep 2018 13:27:17 +0200 Subject: [PATCH 066/162] Add enabled state to printer, so that it can be displayed. This ensures that if a printer is set to "Not available", that the interface can correctly show it CL-896 --- cura/PrinterOutput/PrinterOutputModel.py | 11 +++++++++++ plugins/UM3NetworkPrinting/ClusterControlItem.qml | 13 ++++++++++++- plugins/UM3NetworkPrinting/ClusterMonitorItem.qml | 1 + .../UM3NetworkPrinting/ClusterUM3OutputDevice.py | 1 + 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index f009a33178..36ae04fe48 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -26,6 +26,7 @@ class PrinterOutputModel(QObject): buildplateChanged = pyqtSignal() cameraChanged = pyqtSignal() configurationChanged = pyqtSignal() + enabledChanged = pyqtSignal() def __init__(self, output_controller: "PrinterOutputController", number_of_extruders: int = 1, parent=None, firmware_version = "") -> None: super().__init__(parent) @@ -43,12 +44,22 @@ class PrinterOutputModel(QObject): self._is_preheating = False self._printer_type = "" self._buildplate_name = None + self._enabled = True self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in self._extruders] self._camera = None + @pyqtProperty(bool, notify=enabledChanged) + def enabled(self) -> bool: + return self._enabled + + def updateEnabled(self, enabled: bool) -> None: + if self._enabled != enabled: + self._enabled = enabled + self.enabledChanged.emit() + @pyqtProperty(str, constant = True) def firmwareVersion(self): return self._firmware_version diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 3a0c37e830..e91d2844a8 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -192,7 +192,18 @@ Component Label { id: activeJobLabel - text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "waiting" + text: + { + if(!modelData.enabled) + { + return catalog.i18nc("@label:status", "Not available") + } + if(modelData.activePrintjob != null) + { + return modelData.activePrintJob.name + } + return catalog.i18nc("@label:status", "Waiting") + } anchors.top: machineNameLabel.bottom width: parent.width elide: Text.ElideRight diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 73ddbaf61a..3132dca81c 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -23,6 +23,7 @@ Component name: "cura" } + Label { id: manageQueueLabel diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index e0d996c80e..3b7d575938 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -595,6 +595,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): printer.updateName(data["friendly_name"]) printer.updateKey(data["uuid"]) printer.updateType(data["machine_variant"]) + printer.updateEnabled(data["enabled"]) # Do not store the build plate information that comes from connect if the current printer has not build plate information if "build_plate" in data and machine_definition.getMetaDataEntry("has_variant_buildplates", False): From 132366fa61a685068fa1e9dc246ed533c0960bac Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 4 Sep 2018 13:42:24 +0200 Subject: [PATCH 067/162] Revert "Add enabled state to printer, so that it can be displayed." This reverts commit dd778f0450219cbc2f7309eeb08bc20065bd51af. --- cura/PrinterOutput/PrinterOutputModel.py | 11 ----------- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 13 +------------ plugins/UM3NetworkPrinting/ClusterMonitorItem.qml | 1 - .../UM3NetworkPrinting/ClusterUM3OutputDevice.py | 1 - 4 files changed, 1 insertion(+), 25 deletions(-) diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index 36ae04fe48..f009a33178 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -26,7 +26,6 @@ class PrinterOutputModel(QObject): buildplateChanged = pyqtSignal() cameraChanged = pyqtSignal() configurationChanged = pyqtSignal() - enabledChanged = pyqtSignal() def __init__(self, output_controller: "PrinterOutputController", number_of_extruders: int = 1, parent=None, firmware_version = "") -> None: super().__init__(parent) @@ -44,22 +43,12 @@ class PrinterOutputModel(QObject): self._is_preheating = False self._printer_type = "" self._buildplate_name = None - self._enabled = True self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in self._extruders] self._camera = None - @pyqtProperty(bool, notify=enabledChanged) - def enabled(self) -> bool: - return self._enabled - - def updateEnabled(self, enabled: bool) -> None: - if self._enabled != enabled: - self._enabled = enabled - self.enabledChanged.emit() - @pyqtProperty(str, constant = True) def firmwareVersion(self): return self._firmware_version diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index e91d2844a8..3a0c37e830 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -192,18 +192,7 @@ Component Label { id: activeJobLabel - text: - { - if(!modelData.enabled) - { - return catalog.i18nc("@label:status", "Not available") - } - if(modelData.activePrintjob != null) - { - return modelData.activePrintJob.name - } - return catalog.i18nc("@label:status", "Waiting") - } + text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "waiting" anchors.top: machineNameLabel.bottom width: parent.width elide: Text.ElideRight diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 3132dca81c..73ddbaf61a 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -23,7 +23,6 @@ Component name: "cura" } - Label { id: manageQueueLabel diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index 3b7d575938..e0d996c80e 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -595,7 +595,6 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): printer.updateName(data["friendly_name"]) printer.updateKey(data["uuid"]) printer.updateType(data["machine_variant"]) - printer.updateEnabled(data["enabled"]) # Do not store the build plate information that comes from connect if the current printer has not build plate information if "build_plate" in data and machine_definition.getMetaDataEntry("has_variant_buildplates", False): From be4357c6355f1010165bdf4a29c84f2ed84c7a98 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 4 Sep 2018 13:45:16 +0200 Subject: [PATCH 068/162] Show different state when printer is disabled CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 3a0c37e830..3ab2a2411e 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -192,7 +192,18 @@ Component Label { id: activeJobLabel - text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "waiting" + text: + { + if (modelData.state == "disabled") + { + return catalog.i18nc("@label", "Not available") + } + if (modelData.activePrintJob != null) + { + return modelData.activePrintJob.name + } + return catalog.i18nc("@label", "Waiting") + } anchors.top: machineNameLabel.bottom width: parent.width elide: Text.ElideRight From b02769912f97ff159ea191f0e7f5aa84625e5f48 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 09:42:20 +0200 Subject: [PATCH 069/162] Don't print slower than 1mm/s If you set the wall printing speed to 10, it would through inheritance result in an outer wall printing speed of 0. No longer. --- resources/variants/ultimaker2_plus_0.4.inst.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/variants/ultimaker2_plus_0.4.inst.cfg b/resources/variants/ultimaker2_plus_0.4.inst.cfg index 544728f8a4..d9d982ef11 100644 --- a/resources/variants/ultimaker2_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.4.inst.cfg @@ -12,5 +12,5 @@ hardware_type = nozzle machine_nozzle_size = 0.4 machine_nozzle_tip_outer_diameter = 1.05 speed_wall = =round(speed_print / 1.25, 1) -speed_wall_0 = =1 if speed_wall < 10 else (speed_wall - 10) +speed_wall_0 = =min(speed_wall - 10, 1) speed_topbottom = =round(speed_print / 2.25, 1) From a0302684d6f7b62d50ac738794f01e91315e919b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 10:06:37 +0200 Subject: [PATCH 070/162] Add handling for cluster print jobs that are in error state CL-896 --- .../ClusterUM3OutputDevice.py | 17 ++++++++++++--- .../UM3NetworkPrinting/PrintJobInfoBlock.qml | 21 ++++++++++++++++++- plugins/UM3NetworkPrinting/warning-icon.svg | 1 + 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 plugins/UM3NetworkPrinting/warning-icon.svg diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index e0d996c80e..3e562adf14 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -352,7 +352,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): @pyqtProperty("QVariantList", notify = printJobsChanged) def queuedPrintJobs(self) -> List[PrintJobOutputModel]: - return [print_job for print_job in self._print_jobs if print_job.state == "queued"] + return [print_job for print_job in self._print_jobs if print_job.state == "queued" or print_job.state == "error"] @pyqtProperty("QVariantList", notify = printJobsChanged) def activePrintJobs(self) -> List[PrintJobOutputModel]: @@ -474,7 +474,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._updatePrintJob(print_job, print_job_data) - if print_job.state != "queued": # Print job should be assigned to a printer. + if print_job.state != "queued" and print_job.state != "error": # Print job should be assigned to a printer. if print_job.state in ["failed", "finished", "aborted", "none"]: # Print job was already completed, so don't attach it to a printer. printer = None @@ -559,9 +559,20 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def _updatePrintJob(self, print_job: PrintJobOutputModel, data: Dict[str, Any]) -> None: print_job.updateTimeTotal(data["time_total"]) print_job.updateTimeElapsed(data["time_elapsed"]) - print_job.updateState(data["status"]) + impediments_to_printing = data.get("impediments_to_printing", []) print_job.updateOwner(data["owner"]) + status_set_by_impediment = False + for impediment in impediments_to_printing: + if impediment["severity"] == "UNFIXABLE": + status_set_by_impediment = True + print_job.updateState("error") + break + + if not status_set_by_impediment: + print_job.updateState(data["status"]) + + def _createMaterialOutputModel(self, material_data) -> MaterialOutputModel: containers = ContainerRegistry.getInstance().findInstanceContainers(type="material", GUID=material_data["guid"]) if containers: diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index c3e445d933..2cd0a4b206 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -80,11 +80,26 @@ Item Image { + id: printJobPreview source: printJob.previewImageUrl anchors.top: ownerName.bottom anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: totalTimeLabel.bottom width: height + opacity: printJob.state == "error" ? 0.5 : 1.0 + } + + UM.RecolorImage + { + id: statusImage + anchors.centerIn: printJobPreview + source: printJob.state == "error" ? "aborted-icon.svg" : "" + visible: source != "" + width: 0.5 * printJobPreview.width + height: 0.5 * printJobPreview.height + sourceSize.width: width + sourceSize.height: height + color: "black" } Label @@ -121,7 +136,11 @@ Item { if(printJob.assignedPrinter == null) { - return catalog.i18nc("@label", "Waiting for: first available") + if(printJob.state == "error") + { + return catalog.i18nc("@label", "Waiting for: Unavailable printer") + } + return catalog.i18nc("@label", "Waiting for: First available") } else { diff --git a/plugins/UM3NetworkPrinting/warning-icon.svg b/plugins/UM3NetworkPrinting/warning-icon.svg new file mode 100644 index 0000000000..1e5359a5eb --- /dev/null +++ b/plugins/UM3NetworkPrinting/warning-icon.svg @@ -0,0 +1 @@ +warning-icon \ No newline at end of file From 7ad2e670743f57bd75fe90681bc299c81c8c0cc2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 10:09:44 +0200 Subject: [PATCH 071/162] Fix margins for active print job name in printer tile for cluster CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 3ab2a2411e..92e07afba6 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -323,7 +323,9 @@ Component id: printJobName text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "" font: UM.Theme.getFont("default_bold") - width: parent.width + anchors.left: parent.left + anchors.right: contextButton.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width elide: Text.ElideRight } Label From 1b9deb27908f1c1bac036ac49da26491d32d5f60 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 10:25:20 +0200 Subject: [PATCH 072/162] Add unreachable label if a printer can not be reached inside a cluster CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 92e07afba6..2084612772 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -197,6 +197,9 @@ Component if (modelData.state == "disabled") { return catalog.i18nc("@label", "Not available") + } else if (modelData.state == "unreachable") + { + return catalog.i18nc("@label", "Unreachable") } if (modelData.activePrintJob != null) { From 882cc000acffeb14df0869a70f4bc6dac27a5b07 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 13:15:09 +0200 Subject: [PATCH 073/162] Move to top is now disabled for the first job CL-896 --- plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 2cd0a4b206..723ccfe456 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -216,7 +216,7 @@ Item popup.close() } width: parent.width - enabled: OutputDevice.printJobs[0].key != printJob.key + enabled: OutputDevice.queuedPrintJobs[0].key != printJob.key anchors.top: parent.top anchors.topMargin: 10 hoverEnabled: true From cd6832544bd97659a25b3891002309f0abf8f631 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 13:17:33 +0200 Subject: [PATCH 074/162] Fix for compatible_machine_families breaking for older firmwares Older firmwares didn't have the compatible_machine_families field yet. Cl-894 --- plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index 3e562adf14..353a67ccd0 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -552,7 +552,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): configuration.setExtruderConfigurations(extruders) print_job.updateConfiguration(configuration) - print_job.setCompatibleMachineFamilies(data["compatible_machine_families"]) + print_job.setCompatibleMachineFamilies(data.get("compatible_machine_families", [])) print_job.stateChanged.connect(self._printJobStateChanged) return print_job From 7096c7382b4899662fbd7c880c92b97a5d6ebbcc Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 13:43:24 +0200 Subject: [PATCH 075/162] Add width to labels in printcore qml object. This ensures that the elide works correctly CL-896 --- plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml | 3 ++- plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index e6f2372874..539d8385c9 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -69,6 +69,7 @@ Item } font: UM.Theme.getFont("default_bold") elide: Text.ElideRight + width: parent.width } Label @@ -84,7 +85,7 @@ Item } anchors.top: materialLabel.bottom elide: Text.ElideRight - + width: parent.width opacity: 0.6 font: UM.Theme.getFont("default") } diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml index 723ccfe456..d50ee769d3 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml @@ -351,7 +351,7 @@ Item PrintCoreConfiguration { id: leftExtruderInfo - width: Math.round(parent.width / 2) + width: Math.round(parent.width / 2) printCoreConfiguration: printJob.configuration.extruderConfigurations[0] } From 5be65688a06093873af4b0672837ccce385f5c72 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 13:48:47 +0200 Subject: [PATCH 076/162] Change label to action required In some cases it's not a configuration change that's required, so this is a more correct label CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 2084612772..ac5ec325b0 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -646,7 +646,7 @@ Component case "resuming": return catalog.i18nc("@label:status", "Resuming") case "queued": - return catalog.i18nc("@label:status", "Configuration change") + return catalog.i18nc("@label:status", "Action required") default: OutputDevice.formatDuration(modelData.activePrintJob.timeTotal - modelData.activePrintJob.timeElapsed) } From 23cd46824fd656199adfb197430fb2aee54ec271 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 13:52:41 +0200 Subject: [PATCH 077/162] Ensure that printer icon has disabled color if the printer is disabled CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index ac5ec325b0..9dbe386195 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -164,7 +164,20 @@ Component width: sourceSize.width height: sourceSize.height - color: modelData.activePrintJob != undefined ? UM.Theme.getColor("primary") : UM.Theme.getColor("setting_control_disabled") + color: + { + if(modelData.state == "disabled") + { + return UM.Theme.getColor("setting_control_disabled") + } + + if(modelData.activePrintJob != undefined) + { + return UM.Theme.getColor("primary") + } + + return UM.Theme.getColor("setting_control_disabled") + } } } Item From 8e66686d6fbe304af54059539697bc0eb4966c9e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 14:06:18 +0200 Subject: [PATCH 078/162] Change "waiting" lable to "available" Cl-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 9dbe386195..689922de8a 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -218,7 +218,7 @@ Component { return modelData.activePrintJob.name } - return catalog.i18nc("@label", "Waiting") + return catalog.i18nc("@label", "Available") } anchors.top: machineNameLabel.bottom width: parent.width From 534e60d8e124fdd5ebe58e9f32985806705f229b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 14:22:41 +0200 Subject: [PATCH 079/162] Added pausing text for pausing state CL-896 --- plugins/UM3NetworkPrinting/ClusterControlItem.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 689922de8a..2b2c683bee 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -654,6 +654,7 @@ Component case "wait_user_action": return catalog.i18nc("@label:status", "Aborted") case "pausing": + return catalog.i18nc("@label:status", "Pausing") case "paused": return catalog.i18nc("@label:status", "Paused") case "resuming": From 57a7c3bcd289856297c964bad8175214f89429eb Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 5 Sep 2018 14:26:11 +0200 Subject: [PATCH 080/162] Decrease margin for "manage queue" label CL-896 --- plugins/UM3NetworkPrinting/ClusterMonitorItem.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 73ddbaf61a..82b1f554b7 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -26,7 +26,7 @@ Component Label { id: manageQueueLabel - anchors.rightMargin: 5 * UM.Theme.getSize("default_margin").width + anchors.rightMargin: 4 * UM.Theme.getSize("default_margin").width anchors.right: queuedPrintJobs.right anchors.bottom: queuedLabel.bottom text: catalog.i18nc("@label link to connect manager", "Manage queue") From f4fe5784a7121abca24d798bb867344b2d792c17 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 30 Aug 2018 10:43:27 +0200 Subject: [PATCH 081/162] Add script to analyze gcode --- 50_inst_per_sec.py | 399 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 399 insertions(+) create mode 100644 50_inst_per_sec.py diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py new file mode 100644 index 0000000000..58d446fdb4 --- /dev/null +++ b/50_inst_per_sec.py @@ -0,0 +1,399 @@ +#!/usr/bin/env python +import copy +import math +import os +import sys +import random +from typing import Dict, List, Optional, Tuple + + +# ==================================== +# Constants and Default Values +# ==================================== +DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_MS = 50.0 / 1000.0 # The buffer filling rate in #commands/ms +DEFAULT_BUFFER_SIZE = 15 # The buffer size in #commands + + +def get_code_and_num(gcode_line: str) -> Tuple[str, str]: + """ + Gets the code and number from the given GCode line. + """ + gcode_line = gcode_line.strip() + cmd_code = gcode_line[0].upper() + cmd_num = str(gcode_line[1:]) + return cmd_code, cmd_num + + +def get_value_dict(parts: List[str]) -> Dict[str, str]: + """ + Fetches arguments such as X1 Y2 Z3 from the given part list and returns a dict. + """ + value_dict = {} + for p in parts: + p = p.strip() + if not p: + continue + code, num = get_code_and_num(p) + value_dict[code] = num + return value_dict + + +# ============================ +# Math Functions - Begin +# ============================ + +def calc_distance(pos1, pos2): + delta = {k: pos1[k] - pos2[k] for k in pos1} + distance = 0 + for value in delta.values(): + distance += value**2 + distance = math.sqrt(distance) + return distance + + +def calc_acceleration_distance(init_speed: float, target_speed: float, acceleration: float) -> float: + """ + Given the initial speed, the target speed, and the acceleration, calculate the distance that's needed for the + acceleration to finish. + """ + if acceleration == 0: + return 0.0 + return (target_speed**2 - init_speed**2) / (2 * acceleration) + + +def calc_travel_time(p0, p1, init_speed: float, target_speed: float, acceleration: float) -> float: + pass + + +class State: + + def __init__(self, previous_state: Optional["State"]) -> None: + self.X = 0.0 + self.Y = 0.0 + self.Z = 0.0 + self.E = 0.0 + self.F = 0.0 + self.speed = {"X": 0.0, + "Y": 0.0, + "Z": 0.0, + } + self.accelerations = {"XY": 0.0, + "Z": 0.0, + "S": 0.0, # printing + "T": 0.0, # travel + } + self.jerks = {"X": 0.0, + "Y": 0.0, + "Z": 0.0, + } + self.in_relative_positioning_mode = False # type: bool + self.in_relative_extrusion_mode = False # type: bool + + if previous_state is not None: + self.X = previous_state.X + self.Y = previous_state.Y + self.Z = previous_state.Z + self.E = previous_state.E + self.F = previous_state.F + self.speed = copy.deepcopy(previous_state.speed) + self.accelerations = copy.deepcopy(previous_state.accelerations) + self.jerks = copy.deepcopy(previous_state.jerks) + self.in_relative_positioning_mode = previous_state.in_relative_positioning_mode + self.in_relative_extrusion_mode = previous_state.in_relative_extrusion_mode + + +class Command: + + def __init__(self, cmd_str: str, previous_state: "State") -> None: + self._cmd_str = cmd_str # type: str + self._previous_state = previous_state # type: State + self._after_state = State(previous_state) # type: State + + self._distance_in_mm = 0.0 # type float + self._estimated_exec_time_in_ms = 0.0 # type: float + + self._cmd_process_function_map = { + "G": self._handle_g, + "M": self._handle_m, + "T": self._handle_t, + } + + self._is_comment = False # type: bool + self._is_empty = False # type: bool + + def get_after_state(self) -> State: + return self._after_state + + @property + def is_command(self) -> bool: + return not self._is_comment and not self._is_empty + + @property + def estimated_exec_time_in_ms(self) -> float: + return self._estimated_exec_time_in_ms + + def __str__(self) -> str: + if self._is_comment or self._is_empty: + return self._cmd_str + + distance_in_mm = round(self._distance_in_mm, 5) + + info = "d=%s f=%s t=%s" % (distance_in_mm, self._after_state.F, self._estimated_exec_time_in_ms) + + return self._cmd_str.strip() + " ; --- " + info + os.linesep + + def process(self) -> None: + """ + Estimates the execution time of this command and calculates the state after this command is executed. + """ + line = self._cmd_str.strip() + if not line: + self._is_empty = True + return + if line.startswith(";"): + self._is_comment = True + return + + # Remove comment + line = line.split(";", 1)[0].strip() + + parts = line.split(" ") + cmd_code, cmd_num = get_code_and_num(parts[0]) + cmd_num = int(cmd_num) + + func = self._cmd_process_function_map.get(cmd_code) + if func is None: + print("!!! no handle function for command type [%s]" % cmd_code) + return + func(cmd_num, parts) + + def _handle_g(self, cmd_num: int, parts: List[str]) -> None: + estimated_exec_time_in_ms = 0.0 + + # G0 and G1: Move + if cmd_num in (0, 1): + # Move + distance = 0.0 + if len(parts) > 0: + value_dict = get_value_dict(parts[1:]) + for key, value in value_dict.items(): + setattr(self._after_state, key, float(value)) + + current_position = {"X": self._previous_state.X, + "Y": self._previous_state.Y, + "Z": self._previous_state.Z, + } + new_position = copy.deepcopy(current_position) + for key in new_position: + new_value = float(value_dict.get(key, new_position[key])) + new_position[key] = new_value + + distance = calc_distance(current_position, new_position) + self._distance_in_mm = distance + travel_time_in_ms = distance / (self._after_state.F / 60.0) * 1000.0 + + estimated_exec_time_in_ms = travel_time_in_ms + + # TODO: take acceleration into account + + # G4: Dwell, pause the machine for a period of time. TODO + if cmd_num == 4: + # Pnnn is time to wait in milliseconds (P0 wait until all previous moves are finished) + cmd, num = get_code_and_num(parts[1]) + num = float(num) + if cmd == "P": + if num > 0: + estimated_exec_time_in_ms = num + + # G10: Retract. Assume 0.3 seconds for short retractions and 0.5 seconds for long retractions. + if cmd_num == 10: + # S0 is short retract (default), S1 is long retract + is_short_retract = True + if len(parts) > 1: + cmd, num = get_code_and_num(parts[1]) + if cmd == "S" and num == 1: + is_short_retract = False + estimated_exec_time_in_ms = (0.3 if is_short_retract else 0.5) * 1000 + + # G11: Unretract. Assume 0.5 seconds. + if cmd_num == 11: + estimated_exec_time_in_ms = 0.5 * 1000 + + # G90: Set to absolute positioning. Assume 0 seconds. + if cmd_num == 90: + self._after_state.in_relative_positioning_mode = False + estimated_exec_time_in_ms = 0.0 + + # G91: Set to relative positioning. Assume 0 seconds. + if cmd_num == 91: + self._after_state.in_relative_positioning_mode = True + estimated_exec_time_in_ms = 0.0 + + # G92: Set position. Assume 0 seconds. + if cmd_num == 92: + # TODO: check + value_dict = get_value_dict(parts[1:]) + for key, value in value_dict.items(): + setattr(self._previous_state, key, value) + + # G280: Prime. Assume 10 seconds for using blob and 5 seconds for no blob. + if cmd_num == 280: + use_blob = True + if len(parts) > 1: + cmd, num = get_code_and_num(parts[1]) + if cmd == "S" and num == 1: + use_blob = False + estimated_exec_time_in_ms = (10.0 if use_blob else 5.0) * 1000 + + # Update estimated execution time + self._estimated_exec_time_in_ms = round(estimated_exec_time_in_ms, 5) + + def _handle_m(self, cmd_num: int, parts: List[str]) -> None: + estimated_exec_time_in_ms = 0.0 + + # M82: Set extruder to absolute mode. Assume 0 execution time. + if cmd_num == 82: + self._after_state.in_relative_extrusion_mode = False + estimated_exec_time_in_ms = 0.0 + + # M83: Set extruder to relative mode. Assume 0 execution time. + if cmd_num == 83: + self._after_state.in_relative_extrusion_mode = True + estimated_exec_time_in_ms = 0.0 + + # M104: Set extruder temperature (no wait). Assume 0 execution time. + if cmd_num == 104: + estimated_exec_time_in_ms = 0.0 + + # M106: Set fan speed. Assume 0 execution time. + if cmd_num == 106: + estimated_exec_time_in_ms = 0.0 + + # M107: Turn fan off. Assume 0 execution time. + if cmd_num == 107: + estimated_exec_time_in_ms = 0.0 + + # M109: Set extruder temperature (wait). Uniformly random time between 30 - 90 seconds. + if cmd_num == 109: + estimated_exec_time_in_ms = random.uniform(30, 90) * 1000 # TODO: Check + + # M140: Set bed temperature (no wait). Assume 0 execution time. + if cmd_num == 140: + estimated_exec_time_in_ms = 0.0 + + # M204: Set default acceleration. Assume 0 execution time. + if cmd_num == 204: + value_dict = get_value_dict(parts[1:]) + for key, value in value_dict.items(): + self._after_state.accelerations[key] = float(value) + estimated_exec_time_in_ms = 0.0 + + # M205: Advanced settings, we only set jerks for Griffin. Assume 0 execution time. + if cmd_num == 205: + value_dict = get_value_dict(parts[1:]) + for key, value in value_dict.items(): + self._after_state.jerks[key] = float(value) + estimated_exec_time_in_ms = 0.0 + + self._estimated_exec_time_in_ms = estimated_exec_time_in_ms + + def _handle_t(self, cmd_num: int, parts: List[str]) -> None: + # Tn: Switching extruder. Assume 2 seconds. + estimated_exec_time_in_ms = 2.0 + + self._estimated_exec_time_in_ms = estimated_exec_time_in_ms + + +class CommandBuffer: + def __init__(self, all_lines: List[str], + buffer_filling_rate: float = DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_MS, + buffer_size: int = DEFAULT_BUFFER_SIZE + ) -> None: + self._all_lines = all_lines + self._all_commands = list() + + self._buffer_filling_rate = buffer_filling_rate # type: float + self._buffer_size = buffer_size # type: int + + # If the buffer can depletes less than this amount time, it can be filled up in time. + lower_bound_buffer_depletion_time = self._buffer_size / self._buffer_filling_rate # type: float + + self._detection_time_frame = lower_bound_buffer_depletion_time + self._code_count_limit = self._buffer_size + print("Time Frame: %s" % self._detection_time_frame) + print("Code Limit: %s" % self._code_count_limit) + + self._bad_frame_ranges = [] + + def process(self) -> None: + previous_state = None + cmd0_idx = 0 + total_frame_time_in_ms = 0.0 + cmd_count = 0 + for idx, line in enumerate(self._all_lines): + cmd = Command(line, previous_state) + cmd.process() + self._all_commands.append(cmd) + previous_state = cmd.get_after_state() + + if not cmd.is_command: + continue + + cmd_count += 1 + if idx > cmd0_idx or idx == 0: + total_frame_time_in_ms += cmd.estimated_exec_time_in_ms + + if total_frame_time_in_ms > 1000.0: + # Find the next starting command which makes the total execution time of the frame to be less than + # 1 second. + cmd0_idx += 1 + total_frame_time_in_ms -= self._all_commands[cmd0_idx].estimated_exec_time_in_ms + cmd_count -= 1 + while total_frame_time_in_ms > 1000.0: + cmd0_idx += 1 + total_frame_time_in_ms -= self._all_commands[cmd0_idx].estimated_exec_time_in_ms + cmd_count -= 1 + + # If within the current time frame the code count exceeds the limit, record that. + if total_frame_time_in_ms <= self._detection_time_frame and cmd_count > self._code_count_limit: + need_to_append = True + if self._bad_frame_ranges: + last_item = self._bad_frame_ranges[-1] + if last_item["start_line"] == cmd0_idx: + last_item["end_line"] = idx + last_item["cmd_count"] = cmd_count + last_item["time_in_ms"] = total_frame_time_in_ms + need_to_append = False + if need_to_append: + self._bad_frame_ranges.append({"start_line": cmd0_idx, + "end_line": idx, + "cmd_count": cmd_count, + "time_in_ms": total_frame_time_in_ms}) + + def to_file(self, file_name: str) -> None: + all_lines = [str(c) for c in self._all_commands] + with open(file_name, "w", encoding = "utf-8") as f: + f.writelines(all_lines) + + def report(self) -> None: + for item in self._bad_frame_ranges: + print("!!!!! potential bad frame from line %s to %s, code count = %s, in %s ms" % ( + item["start_line"], item["end_line"], item["cmd_count"], round(item["time_in_ms"], 4))) + + +if __name__ == "__main__": + #if len(sys.argv) != 3: + # print("Usage: ") + # sys.exit(1) + #in_filename = sys.argv[1] + #out_filename = sys.argv[2] + + in_filename = "/home/lfei/UM3_elephant_pendant_2.gcode" + out_filename = "/home/lfei/UM3_elephant_pendant_2-annotated.gcode" + with open(in_filename, "r", encoding = "utf-8") as f: + all_lines = f.readlines() + + buf = CommandBuffer(all_lines) + buf.process() + buf.to_file(out_filename) + buf.report() From 43a8894c64c6a49acf0c2107b8bfd86ded1498f0 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 31 Aug 2018 16:12:53 +0200 Subject: [PATCH 082/162] Convert to Doxygen style comments As per our code style. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 58d446fdb4..5c8a23d7fd 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -1,8 +1,9 @@ -#!/usr/bin/env python +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + import copy import math import os -import sys import random from typing import Dict, List, Optional, Tuple @@ -13,21 +14,16 @@ from typing import Dict, List, Optional, Tuple DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_MS = 50.0 / 1000.0 # The buffer filling rate in #commands/ms DEFAULT_BUFFER_SIZE = 15 # The buffer size in #commands - +## Gets the code and number from the given g-code line. def get_code_and_num(gcode_line: str) -> Tuple[str, str]: - """ - Gets the code and number from the given GCode line. - """ gcode_line = gcode_line.strip() cmd_code = gcode_line[0].upper() cmd_num = str(gcode_line[1:]) return cmd_code, cmd_num - +## Fetches arguments such as X1 Y2 Z3 from the given part list and returns a +# dict. def get_value_dict(parts: List[str]) -> Dict[str, str]: - """ - Fetches arguments such as X1 Y2 Z3 from the given part list and returns a dict. - """ value_dict = {} for p in parts: p = p.strip() @@ -50,12 +46,9 @@ def calc_distance(pos1, pos2): distance = math.sqrt(distance) return distance - +## Given the initial speed, the target speed, and the acceleration, calculate +# the distance that's neede for the acceleration to finish. def calc_acceleration_distance(init_speed: float, target_speed: float, acceleration: float) -> float: - """ - Given the initial speed, the target speed, and the acceleration, calculate the distance that's needed for the - acceleration to finish. - """ if acceleration == 0: return 0.0 return (target_speed**2 - init_speed**2) / (2 * acceleration) From 842ee7c00e8af1174a5f0973fd6181754c21dea1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 31 Aug 2018 16:29:50 +0200 Subject: [PATCH 083/162] Reinstate the argument input Otherwise I can't use it without creating a user 'lfei' or something. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 5c8a23d7fd..b9be532595 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -4,6 +4,7 @@ import copy import math import os +import sys import random from typing import Dict, List, Optional, Tuple @@ -375,14 +376,12 @@ class CommandBuffer: if __name__ == "__main__": - #if len(sys.argv) != 3: - # print("Usage: ") - # sys.exit(1) - #in_filename = sys.argv[1] - #out_filename = sys.argv[2] + if len(sys.argv) != 3: + print("Usage: ") + sys.exit(1) + in_filename = sys.argv[1] + out_filename = sys.argv[2] - in_filename = "/home/lfei/UM3_elephant_pendant_2.gcode" - out_filename = "/home/lfei/UM3_elephant_pendant_2-annotated.gcode" with open(in_filename, "r", encoding = "utf-8") as f: all_lines = f.readlines() From 582f06dfffe4f3a9b44dcc498451e1e9ef995e47 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 3 Sep 2018 14:11:47 +0200 Subject: [PATCH 084/162] Add fields from CuraEngine The idea of this issue is to mimic the implementation of CuraEngine. So let's transform its entire algorithm into Python. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index b9be532595..46e191ff98 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -115,6 +115,22 @@ class Command: self._is_comment = False # type: bool self._is_empty = False # type: bool + #Fields taken from CuraEngine's implementation. + self._recalculate = False + self._accelerate_until = 0 + self._decelerate_after = 0 + self._initial_feedrate = 0 + self._final_feedrate = 0 + self._entry_speed = 0 + self._max_entry_speed =0 + self._nominal_length = False + self._nominal_feedrate = 0 + self._max_travel = 0 + self._distance = 0 + self._acceleration = 0 + self._delta = [0, 0, 0] + self._abs_delta = [0, 0, 0] + def get_after_state(self) -> State: return self._after_state @@ -136,10 +152,9 @@ class Command: return self._cmd_str.strip() + " ; --- " + info + os.linesep + ## Estimates the execution time of this command and calculates the state + # after this command is executed. def process(self) -> None: - """ - Estimates the execution time of this command and calculates the state after this command is executed. - """ line = self._cmd_str.strip() if not line: self._is_empty = True From 594e3c986dc5e488df92ae496d28549b2c2caeff Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 3 Sep 2018 14:33:03 +0200 Subject: [PATCH 085/162] Add function to calculate trapezoid for block Also copied from CuraEngine's implementation. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 46e191ff98..ae51af7454 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -43,7 +43,7 @@ def calc_distance(pos1, pos2): delta = {k: pos1[k] - pos2[k] for k in pos1} distance = 0 for value in delta.values(): - distance += value**2 + distance += value ** 2 distance = math.sqrt(distance) return distance @@ -52,12 +52,25 @@ def calc_distance(pos1, pos2): def calc_acceleration_distance(init_speed: float, target_speed: float, acceleration: float) -> float: if acceleration == 0: return 0.0 - return (target_speed**2 - init_speed**2) / (2 * acceleration) + return (target_speed ** 2 - init_speed ** 2) / (2 * acceleration) def calc_travel_time(p0, p1, init_speed: float, target_speed: float, acceleration: float) -> float: pass +## Calculates the point at which you must start braking. +# +# This gives the distance from the start of a line at which you must start +# decelerating (at a rate of `-acceleration`) if you started at speed +# `initial_feedrate` and accelerated until this point and want to end at the +# `final_feedrate` after a total travel of `distance`. This can be used to +# compute the intersection point between acceleration and deceleration in the +# cases where the trapezoid has no plateau (i.e. never reaches maximum speed). +def calc_intersection_distance(initial_feedrate: float, final_feedrate: float, acceleration: float, distance: float) -> float: + if acceleration == 0: + return 0 + return (2 * acceleration * distance - initial_feedrate * initial_feedrate + final_feedrate * final_feedrate) / (4 * acceleration) + class State: @@ -131,6 +144,33 @@ class Command: self._delta = [0, 0, 0] self._abs_delta = [0, 0, 0] + ## Calculate the velocity-time trapezoid function for this move. + # + # Each move has a three-part function mapping time to velocity. + def calculate_trapezoid(self, entry_factor, exit_factor): + initial_feedrate = self._nominal_feedrate * entry_factor + final_feedrate = self._nominal_feedrate * exit_factor + + #How far are we accelerating and how far are we decelerating? + accelerate_distance = calc_acceleration_distance(initial_feedrate, self._nominal_feedrate, self._acceleration) + decelerate_distance = calc_acceleration_distance(self._nominal_feedrate, final_feedrate, -self._acceleration) + plateau_distance = self._distance - accelerate_distance - decelerate_distance #And how far in between at max speed? + + #Is the plateau negative size? That means no cruising, and we'll have to + #use intersection_distance to calculate when to abort acceleration and + #start braking in order to reach the final_rate exactly at the end of + #this command. + if plateau_distance < 0: + accelerate_distance = calc_intersection_distance(initial_feedrate, final_feedrate, self._acceleration, self._distance) + accelerate_distance = max(accelerate_distance, 0) #Due to rounding errors. + accelerate_distance = min(accelerate_distance, self._distance) + plateau_distance = 0 + + self._accelerate_until = accelerate_distance + self._decelerate_after = accelerate_distance + plateau_distance + self._initial_feedrate = initial_feedrate + self._final_feedrate = final_feedrate + def get_after_state(self) -> State: return self._after_state From 5bf90df6beb411790c3faaedbc842d59f1aa3064 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 3 Sep 2018 16:08:12 +0200 Subject: [PATCH 086/162] Rename process() to parse() Because we need to execute several other processing steps as well. This parse function for G0 and G1 now needs to initialise the state in the same way as how Block is initialised in CuraEngine. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index ae51af7454..36aa2c09d7 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -194,7 +194,7 @@ class Command: ## Estimates the execution time of this command and calculates the state # after this command is executed. - def process(self) -> None: + def parse(self) -> None: line = self._cmd_str.strip() if not line: self._is_empty = True @@ -381,7 +381,7 @@ class CommandBuffer: cmd_count = 0 for idx, line in enumerate(self._all_lines): cmd = Command(line, previous_state) - cmd.process() + cmd.parse() self._all_commands.append(cmd) previous_state = cmd.get_after_state() From c559763c885eabbffcd74656c210787c286b0096 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Sep 2018 13:11:35 +0200 Subject: [PATCH 087/162] Partially implement acceleration and jerk estimation algorithm This stuff is complex and I hardly understand it. It's basically just a translation of the C++ code in the engine. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 72 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 69 insertions(+), 3 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 36aa2c09d7..c0a306f5ce 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -15,6 +15,21 @@ from typing import Dict, List, Optional, Tuple DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_MS = 50.0 / 1000.0 # The buffer filling rate in #commands/ms DEFAULT_BUFFER_SIZE = 15 # The buffer size in #commands +#Values for Ultimaker S5. +MACHINE_MAX_FEEDRATE_X = 300 +MACHINE_MAX_FEEDRATE_Y = 300 +MACHINE_MAX_FEEDRATE_Z = 40 +MACHINE_MAX_FEEDRATE_E = 45 +MACHINE_MAX_ACCELERATION_X = 9000 +MACHINE_MAX_ACCELERATION_Y = 9000 +MACHINE_MAX_ACCELERATION_Z = 100 +MACHINE_MAX_ACCELERATION_E = 10000 +MACHINE_MAX_JERK_XY = 20 +MACHINE_MAX_JERK_Z = 0.4 +MACHINE_MAX_JERK_E = 5 +MACHINE_MINIMUM_FEEDRATE = 0 +MACHINE_ACCELERATION = 3000 + ## Gets the code and number from the given g-code line. def get_code_and_num(gcode_line: str) -> Tuple[str, str]: gcode_line = gcode_line.strip() @@ -73,7 +88,6 @@ def calc_intersection_distance(initial_feedrate: float, final_feedrate: float, a class State: - def __init__(self, previous_state: Optional["State"]) -> None: self.X = 0.0 self.Y = 0.0 @@ -83,15 +97,19 @@ class State: self.speed = {"X": 0.0, "Y": 0.0, "Z": 0.0, + "E": 0.0, } - self.accelerations = {"XY": 0.0, + self.accelerations = {"X": 0.0, + "Y": 0.0, "Z": 0.0, + "E": 0.0, "S": 0.0, # printing "T": 0.0, # travel } self.jerks = {"X": 0.0, "Y": 0.0, "Z": 0.0, + "E": 0.0, } self.in_relative_positioning_mode = False # type: bool self.in_relative_extrusion_mode = False # type: bool @@ -110,7 +128,6 @@ class State: class Command: - def __init__(self, cmd_str: str, previous_state: "State") -> None: self._cmd_str = cmd_str # type: str self._previous_state = previous_state # type: State @@ -231,6 +248,7 @@ class Command: current_position = {"X": self._previous_state.X, "Y": self._previous_state.Y, "Z": self._previous_state.Z, + "E": self._previous_state.E, } new_position = copy.deepcopy(current_position) for key in new_position: @@ -239,6 +257,54 @@ class Command: distance = calc_distance(current_position, new_position) self._distance_in_mm = distance + self._delta = [ + new_position["X"] - current_position["X"], + new_position["Y"] - current_position["Y"], + new_position["Z"] - current_position["Z"], + new_position["E"] - current_position["E"] + ] + self._abs_delta = [abs(x) for x in self._delta] + self._max_travel = max(self._abs_delta) + if self._max_travel > 0: + feedrate = self._previous_state.F + if "F" in value_dict: + feedrate = value_dict["F"] + if feedrate < MACHINE_MINIMUM_FEEDRATE: + feedrate = MACHINE_MINIMUM_FEEDRATE + self._nominal_feedrate = feedrate + self._distance = math.sqrt(self._abs_delta[0] ** 2 + self._abs_delta[1] ** 2 + self._abs_delta[2] ** 2) + if self._distance == 0: + self._distance = self._abs_delta[3] + + current_feedrate = [d * feedrate / self._distance for d in self._delta] + current_abs_feedrate = [abs(f) for f in current_feedrate] + feedrate_factor = min(1.0, MACHINE_MAX_FEEDRATE_X) + feedrate_factor = min(feedrate_factor, MACHINE_MAX_FEEDRATE_Y) + feedrate_factor = min(feedrate_factor, MACHINE_MAX_FEEDRATE_Z) + feedrate_factor = min(feedrate_factor, MACHINE_MAX_FEEDRATE_E) + #TODO: XY_FREQUENCY_LIMIT + + current_feedrate = [f * feedrate_factor for f in current_feedrate] + current_abs_feedrate = [f * feedrate_factor for f in current_abs_feedrate] + self._nominal_feedrate *= feedrate_factor + + self._acceleration = MACHINE_ACCELERATION + max_accelerations = [MACHINE_MAX_ACCELERATION_X, MACHINE_MAX_ACCELERATION_Y, MACHINE_MAX_ACCELERATION_Z, MACHINE_MAX_ACCELERATION_E] + for n in range(len(max_accelerations)): + if self._acceleration * self._abs_delta[n] / self._distance > max_accelerations[n]: + self._acceleration = max_accelerations[n] + + vmax_junction = MACHINE_MAX_JERK_XY / 2 + vmax_junction_factor = 1.0 + if current_abs_feedrate[2] > MACHINE_MAX_JERK_Z / 2: + vmax_junction = min(vmax_junction, MACHINE_MAX_JERK_Z) + if current_abs_feedrate[3] > MACHINE_MAX_JERK_E / 2: + vmax_junction = min(vmax_junction, MACHINE_MAX_JERK_E) + vmax_junction = min(vmax_junction, self._nominal_feedrate) + safe_speed = vmax_junction + + #TODO: Compute junction maximum speed factor and apply this to entry speed, set flags and calculate trapezoid. + travel_time_in_ms = distance / (self._after_state.F / 60.0) * 1000.0 estimated_exec_time_in_ms = travel_time_in_ms From 5d292e1a79b82503bfc476971dac1817f6db79f3 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Sep 2018 16:19:01 +0200 Subject: [PATCH 088/162] Remove state class usage This is an effort to synchronize the working of this script with how CuraEngine's time estimation works. This includes tracking only one value for acceleration and multiple Jerk stuff, that sort of thing. We need to ensure it's exactly the same. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 118 ++++++++++++--------------------------------- 1 file changed, 32 insertions(+), 86 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index c0a306f5ce..75b7ecb88a 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -15,7 +15,7 @@ from typing import Dict, List, Optional, Tuple DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_MS = 50.0 / 1000.0 # The buffer filling rate in #commands/ms DEFAULT_BUFFER_SIZE = 15 # The buffer size in #commands -#Values for Ultimaker S5. +#Setting values for Ultimaker S5. MACHINE_MAX_FEEDRATE_X = 300 MACHINE_MAX_FEEDRATE_Y = 300 MACHINE_MAX_FEEDRATE_Z = 40 @@ -86,52 +86,9 @@ def calc_intersection_distance(initial_feedrate: float, final_feedrate: float, a return 0 return (2 * acceleration * distance - initial_feedrate * initial_feedrate + final_feedrate * final_feedrate) / (4 * acceleration) - -class State: - def __init__(self, previous_state: Optional["State"]) -> None: - self.X = 0.0 - self.Y = 0.0 - self.Z = 0.0 - self.E = 0.0 - self.F = 0.0 - self.speed = {"X": 0.0, - "Y": 0.0, - "Z": 0.0, - "E": 0.0, - } - self.accelerations = {"X": 0.0, - "Y": 0.0, - "Z": 0.0, - "E": 0.0, - "S": 0.0, # printing - "T": 0.0, # travel - } - self.jerks = {"X": 0.0, - "Y": 0.0, - "Z": 0.0, - "E": 0.0, - } - self.in_relative_positioning_mode = False # type: bool - self.in_relative_extrusion_mode = False # type: bool - - if previous_state is not None: - self.X = previous_state.X - self.Y = previous_state.Y - self.Z = previous_state.Z - self.E = previous_state.E - self.F = previous_state.F - self.speed = copy.deepcopy(previous_state.speed) - self.accelerations = copy.deepcopy(previous_state.accelerations) - self.jerks = copy.deepcopy(previous_state.jerks) - self.in_relative_positioning_mode = previous_state.in_relative_positioning_mode - self.in_relative_extrusion_mode = previous_state.in_relative_extrusion_mode - - class Command: - def __init__(self, cmd_str: str, previous_state: "State") -> None: + def __init__(self, cmd_str: str) -> None: self._cmd_str = cmd_str # type: str - self._previous_state = previous_state # type: State - self._after_state = State(previous_state) # type: State self._distance_in_mm = 0.0 # type float self._estimated_exec_time_in_ms = 0.0 # type: float @@ -188,9 +145,6 @@ class Command: self._initial_feedrate = initial_feedrate self._final_feedrate = final_feedrate - def get_after_state(self) -> State: - return self._after_state - @property def is_command(self) -> bool: return not self._is_comment and not self._is_empty @@ -205,7 +159,7 @@ class Command: distance_in_mm = round(self._distance_in_mm, 5) - info = "d=%s f=%s t=%s" % (distance_in_mm, self._after_state.F, self._estimated_exec_time_in_ms) + info = "d=%s t=%s" % (distance_in_mm, self._estimated_exec_time_in_ms) return self._cmd_str.strip() + " ; --- " + info + os.linesep @@ -242,31 +196,25 @@ class Command: distance = 0.0 if len(parts) > 0: value_dict = get_value_dict(parts[1:]) - for key, value in value_dict.items(): - setattr(self._after_state, key, float(value)) - current_position = {"X": self._previous_state.X, - "Y": self._previous_state.Y, - "Z": self._previous_state.Z, - "E": self._previous_state.E, - } - new_position = copy.deepcopy(current_position) - for key in new_position: - new_value = float(value_dict.get(key, new_position[key])) - new_position[key] = new_value + new_position = copy.deepcopy(buf.current_position) + new_position[0] = value_dict.get("X", new_position[0]) + new_position[1] = value_dict.get("Y", new_position[1]) + new_position[2] = value_dict.get("Z", new_position[2]) + new_position[3] = value_dict.get("E", new_position[3]) - distance = calc_distance(current_position, new_position) + distance = calc_distance(buf.current_position, new_position) self._distance_in_mm = distance self._delta = [ - new_position["X"] - current_position["X"], - new_position["Y"] - current_position["Y"], - new_position["Z"] - current_position["Z"], - new_position["E"] - current_position["E"] + new_position[0] - buf.current_position[0], + new_position[1] - buf.current_position[1], + new_position[2] - buf.current_position[2], + new_position[3] - buf.current_position[3] ] self._abs_delta = [abs(x) for x in self._delta] self._max_travel = max(self._abs_delta) if self._max_travel > 0: - feedrate = self._previous_state.F + feedrate = buf.current_feedrate if "F" in value_dict: feedrate = value_dict["F"] if feedrate < MACHINE_MINIMUM_FEEDRATE: @@ -296,16 +244,16 @@ class Command: vmax_junction = MACHINE_MAX_JERK_XY / 2 vmax_junction_factor = 1.0 - if current_abs_feedrate[2] > MACHINE_MAX_JERK_Z / 2: - vmax_junction = min(vmax_junction, MACHINE_MAX_JERK_Z) - if current_abs_feedrate[3] > MACHINE_MAX_JERK_E / 2: - vmax_junction = min(vmax_junction, MACHINE_MAX_JERK_E) + if current_abs_feedrate[2] > buf.max_z_jerk / 2: + vmax_junction = min(vmax_junction, buf.max_z_jerk) + if current_abs_feedrate[3] > buf.max_e_jerk / 2: + vmax_junction = min(vmax_junction, buf.max_e_jerk) vmax_junction = min(vmax_junction, self._nominal_feedrate) safe_speed = vmax_junction #TODO: Compute junction maximum speed factor and apply this to entry speed, set flags and calculate trapezoid. - travel_time_in_ms = distance / (self._after_state.F / 60.0) * 1000.0 + travel_time_in_ms = distance / (self._nominal_feedrate / 60.0) * 1000.0 estimated_exec_time_in_ms = travel_time_in_ms @@ -336,20 +284,15 @@ class Command: # G90: Set to absolute positioning. Assume 0 seconds. if cmd_num == 90: - self._after_state.in_relative_positioning_mode = False estimated_exec_time_in_ms = 0.0 # G91: Set to relative positioning. Assume 0 seconds. if cmd_num == 91: - self._after_state.in_relative_positioning_mode = True estimated_exec_time_in_ms = 0.0 # G92: Set position. Assume 0 seconds. if cmd_num == 92: - # TODO: check - value_dict = get_value_dict(parts[1:]) - for key, value in value_dict.items(): - setattr(self._previous_state, key, value) + estimated_exec_time_in_ms = 0.0 # G280: Prime. Assume 10 seconds for using blob and 5 seconds for no blob. if cmd_num == 280: @@ -368,12 +311,10 @@ class Command: # M82: Set extruder to absolute mode. Assume 0 execution time. if cmd_num == 82: - self._after_state.in_relative_extrusion_mode = False estimated_exec_time_in_ms = 0.0 # M83: Set extruder to relative mode. Assume 0 execution time. if cmd_num == 83: - self._after_state.in_relative_extrusion_mode = True estimated_exec_time_in_ms = 0.0 # M104: Set extruder temperature (no wait). Assume 0 execution time. @@ -399,15 +340,15 @@ class Command: # M204: Set default acceleration. Assume 0 execution time. if cmd_num == 204: value_dict = get_value_dict(parts[1:]) - for key, value in value_dict.items(): - self._after_state.accelerations[key] = float(value) + buf.acceleration = value_dict.get("S", buf.acceleration) estimated_exec_time_in_ms = 0.0 # M205: Advanced settings, we only set jerks for Griffin. Assume 0 execution time. if cmd_num == 205: value_dict = get_value_dict(parts[1:]) - for key, value in value_dict.items(): - self._after_state.jerks[key] = float(value) + buf.max_xy_jerk = value_dict.get("XY", buf.max_xy_jerk) + buf.max_z_jerk = value_dict.get("Z", buf.max_z_jerk) + buf.max_e_jerk = value_dict.get("E", buf.max_e_jerk) estimated_exec_time_in_ms = 0.0 self._estimated_exec_time_in_ms = estimated_exec_time_in_ms @@ -430,6 +371,13 @@ class CommandBuffer: self._buffer_filling_rate = buffer_filling_rate # type: float self._buffer_size = buffer_size # type: int + self.acceleration = 3000 + self.current_position = [0, 0, 0, 0] + self.current_feedrate = 0 + self.max_xy_jerk = MACHINE_MAX_JERK_XY + self.max_z_jerk = MACHINE_MAX_JERK_Z + self.max_e_jerk = MACHINE_MAX_JERK_E + # If the buffer can depletes less than this amount time, it can be filled up in time. lower_bound_buffer_depletion_time = self._buffer_size / self._buffer_filling_rate # type: float @@ -441,15 +389,13 @@ class CommandBuffer: self._bad_frame_ranges = [] def process(self) -> None: - previous_state = None cmd0_idx = 0 total_frame_time_in_ms = 0.0 cmd_count = 0 for idx, line in enumerate(self._all_lines): - cmd = Command(line, previous_state) + cmd = Command(line) cmd.parse() self._all_commands.append(cmd) - previous_state = cmd.get_after_state() if not cmd.is_command: continue From 1037b091881aaa1e09a455bdf0a1994fa9b81b77 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Sep 2018 16:36:35 +0200 Subject: [PATCH 089/162] Implement M203, setting maximum Z feedrate It's important. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 75b7ecb88a..cd298899d7 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -228,7 +228,7 @@ class Command: current_abs_feedrate = [abs(f) for f in current_feedrate] feedrate_factor = min(1.0, MACHINE_MAX_FEEDRATE_X) feedrate_factor = min(feedrate_factor, MACHINE_MAX_FEEDRATE_Y) - feedrate_factor = min(feedrate_factor, MACHINE_MAX_FEEDRATE_Z) + feedrate_factor = min(feedrate_factor, buf.max_z_feedrate) feedrate_factor = min(feedrate_factor, MACHINE_MAX_FEEDRATE_E) #TODO: XY_FREQUENCY_LIMIT @@ -337,6 +337,11 @@ class Command: if cmd_num == 140: estimated_exec_time_in_ms = 0.0 + # M203: Set maximum feedrate. Only Z is supported. Assume 0 execution time. + if cmd_num == 203: + value_dict = get_value_dict(parts[1:]) + buf.max_z_feedrate = value_dict.get("Z", buf.max_z_feedrate) + # M204: Set default acceleration. Assume 0 execution time. if cmd_num == 204: value_dict = get_value_dict(parts[1:]) @@ -377,6 +382,7 @@ class CommandBuffer: self.max_xy_jerk = MACHINE_MAX_JERK_XY self.max_z_jerk = MACHINE_MAX_JERK_Z self.max_e_jerk = MACHINE_MAX_JERK_E + self.max_z_feedrate = MACHINE_MAX_FEEDRATE_Z # If the buffer can depletes less than this amount time, it can be filled up in time. lower_bound_buffer_depletion_time = self._buffer_size / self._buffer_filling_rate # type: float From dcbe832d9f57563c34b5ebb8c9c256b2d497e4ab Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Sep 2018 16:38:50 +0200 Subject: [PATCH 090/162] Implement the rest of the initial time estimation This doesn't complete this task yet because we are still not outputting a correct time estimation for these commands. We're not outputting anything at all actually. We now need to implement the second pass (but only for G1 and G0). Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index cd298899d7..802cb0edd6 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -14,6 +14,7 @@ from typing import Dict, List, Optional, Tuple # ==================================== DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_MS = 50.0 / 1000.0 # The buffer filling rate in #commands/ms DEFAULT_BUFFER_SIZE = 15 # The buffer size in #commands +MINIMUM_PLANNER_SPEED = 0.05 #Setting values for Ultimaker S5. MACHINE_MAX_FEEDRATE_X = 300 @@ -86,6 +87,12 @@ def calc_intersection_distance(initial_feedrate: float, final_feedrate: float, a return 0 return (2 * acceleration * distance - initial_feedrate * initial_feedrate + final_feedrate * final_feedrate) / (4 * acceleration) +## Calculates the maximum speed that is allowed at this point when you must be +# able to reach target_velocity using the acceleration within the allotted +# distance. +def calc_max_allowable_speed(acceleration: float, target_velocity: float, distance: float) -> float: + return math.sqrt(target_velocity * target_velocity - 2 * acceleration * distance) + class Command: def __init__(self, cmd_str: str) -> None: self._cmd_str = cmd_str # type: str @@ -251,7 +258,28 @@ class Command: vmax_junction = min(vmax_junction, self._nominal_feedrate) safe_speed = vmax_junction - #TODO: Compute junction maximum speed factor and apply this to entry speed, set flags and calculate trapezoid. + if buf.previous_nominal_feedrate > 0.0001: + xy_jerk = math.sqrt((current_feedrate[0] - buf.previous_feedrate[0]) ** 2 + (current_feedrate[1] - buf.previous_feedrate[1]) ** 2) + vmax_junction = self._nominal_feedrate + if xy_jerk > MACHINE_MAX_JERK_XY: + vmax_junction_factor = MACHINE_MAX_JERK_XY / xy_jerk + if abs(current_feedrate[2] - buf.previous_feedrate[2]) > MACHINE_MAX_JERK_Z: + vmax_junction_factor = min(vmax_junction_factor, (MACHINE_MAX_JERK_Z / abs(current_feedrate[2] - buf.previous_feedrate[2]))) + if abs(current_feedrate[3] - buf.previous_feedrate[3]) > MACHINE_MAX_JERK_E: + vmax_junction_factor = min(vmax_junction_factor, (MACHINE_MAX_JERK_E / abs(current_feedrate[3] - buf.previous_feedrate[3]))) + vmax_junction = min(buf.previous_nominal_feedrate, vmax_junction * vmax_junction_factor) #Limit speed to max previous speed. + + self._max_entry_speed = vmax_junction + v_allowable = calc_max_allowable_speed(-self._acceleration, MINIMUM_PLANNER_SPEED, self._distance) + self._entry_speed = min(vmax_junction, v_allowable) + self._nominal_length = self._nominal_feedrate <= v_allowable + self._recalculate = True + + buf.previous_feedrate = current_feedrate + buf.previous_nominal_feedrate = self._nominal_feedrate + buf.current_position = new_position + + self.calculate_trapezoid(self._entry_speed / self._nominal_feedrate, safe_speed / self._nominal_feedrate) travel_time_in_ms = distance / (self._nominal_feedrate / 60.0) * 1000.0 @@ -389,6 +417,10 @@ class CommandBuffer: self._detection_time_frame = lower_bound_buffer_depletion_time self._code_count_limit = self._buffer_size + + self.previous_feedrate = [0, 0, 0, 0] + self.previous_nominal_feedrate = 0 + print("Time Frame: %s" % self._detection_time_frame) print("Code Limit: %s" % self._code_count_limit) From 5e85af30de5545cd8892325e3bca71d0d3638033 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 4 Sep 2018 16:58:57 +0200 Subject: [PATCH 091/162] Implement reverse kernel Taken from CuraEngine's implementation. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 802cb0edd6..3639aaec35 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -281,11 +281,7 @@ class Command: self.calculate_trapezoid(self._entry_speed / self._nominal_feedrate, safe_speed / self._nominal_feedrate) - travel_time_in_ms = distance / (self._nominal_feedrate / 60.0) * 1000.0 - - estimated_exec_time_in_ms = travel_time_in_ms - - # TODO: take acceleration into account + travel_time_in_ms = -1 #Signal that we need to include this in our second pass. # G4: Dwell, pause the machine for a period of time. TODO if cmd_num == 4: @@ -433,11 +429,21 @@ class CommandBuffer: for idx, line in enumerate(self._all_lines): cmd = Command(line) cmd.parse() - self._all_commands.append(cmd) - if not cmd.is_command: continue + self._all_commands.append(cmd) + #Second pass: Reverse kernel. + kernel_commands = [None, None, None] + for cmd in self._all_commands: + if cmd.estimated_exec_time_in_ms >= 0: + continue #Not a movement command. + kernel_commands[2] = kernel_commands[1] + kernel_commands[1] = kernel_commands[0] + kernel_commands[0] = cmd + self.reverse_pass_kernel(kernel_commands[0], kernel_commands[1], kernel_commands[2]) + + for idx, cmd in enumerate(self._all_commands): cmd_count += 1 if idx > cmd0_idx or idx == 0: total_frame_time_in_ms += cmd.estimated_exec_time_in_ms @@ -469,6 +475,25 @@ class CommandBuffer: "cmd_count": cmd_count, "time_in_ms": total_frame_time_in_ms}) + def reverse_pass_kernel(self, previous: Command, current: Command, next: Command): + if not previous: + return + + #If entry speed is already at the maximum entry speed, no need to + #recheck. The command is cruising. If not, the command is in state of + #acceleration or deceleration. Reset entry speed to maximum and check + #for maximum allowable speed reductions to ensure maximum possible + #planned speed. + if current._entry_speed != current._max_entry_speed: + #If nominal length is true, max junction speed is guaranteed to be + #reached. Only compute for max allowable speed if block is + #decelerating and nominal length is false. + if not current._nominal_length and current._max_entry_speed > next._max_entry_speed: + current._entry_speed = min(current._max_entry_speed, calc_max_allowable_speed(-current._acceleration, next._entry_speed, current._distance)) + else: + current._entry_speed = current._max_entry_speed + current._recalculate = True + def to_file(self, file_name: str) -> None: all_lines = [str(c) for c in self._all_commands] with open(file_name, "w", encoding = "utf-8") as f: From 0ad644386e437f56257da64dcf7f1adeae8d5b29 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 09:46:07 +0200 Subject: [PATCH 092/162] Actually execute the reverse pass in reverse As it should. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 3639aaec35..eec404a75f 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -435,7 +435,7 @@ class CommandBuffer: #Second pass: Reverse kernel. kernel_commands = [None, None, None] - for cmd in self._all_commands: + for cmd in reversed(self._all_commands): if cmd.estimated_exec_time_in_ms >= 0: continue #Not a movement command. kernel_commands[2] = kernel_commands[1] From 944bf70eb5b675b72d671fe9ed586eac5fb73809 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 09:54:14 +0200 Subject: [PATCH 093/162] Implement forward kernel pass Copied from CuraEngine's C++ implementation. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index eec404a75f..29ad49786e 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -443,6 +443,17 @@ class CommandBuffer: kernel_commands[0] = cmd self.reverse_pass_kernel(kernel_commands[0], kernel_commands[1], kernel_commands[2]) + #Third pass: Forward kernel. + kernel_commands = [None, None, None] + for cmd in self._all_commands: + if cmd.estimated_exec_time_in_ms >= 0: + continue #Not a movement command. + kernel_commands[2] = kernel_commands[1] + kernel_commands[1] = kernel_commands[0] + kernel_commands[0] = cmd + self.forward_pass_kernel(kernel_commands[0], kernel_commands[1], kernel_commands[2]) + self.forward_pass_kernel(kernel_commands[1], kernel_commands[2], None) + for idx, cmd in enumerate(self._all_commands): cmd_count += 1 if idx > cmd0_idx or idx == 0: @@ -475,7 +486,7 @@ class CommandBuffer: "cmd_count": cmd_count, "time_in_ms": total_frame_time_in_ms}) - def reverse_pass_kernel(self, previous: Command, current: Command, next: Command): + def reverse_pass_kernel(self, previous: Optional[Command], current: Optional[Command], next: Optional[Command]) -> None: if not previous: return @@ -494,6 +505,24 @@ class CommandBuffer: current._entry_speed = current._max_entry_speed current._recalculate = True + def forward_pass_kernel(self, previous: Optional[Command], current: Optional[Command], next: Optional[Command]) -> None: + if not previous: + return + + #If the previous command is an acceleration command, but it is not long + #enough to complete the full speed change within the command, we need to + #adjust the entry speed accordingly. Entry speeds have already been + #reset, maximised and reverse planned by the reverse planner. If nominal + #length is set, max junction speed is guaranteed to be reached. No need + #to recheck. + if not previous._nominal_length: + if previous._entry_speed < current._entry_speed: + entry_speed = min(current._entry_speed, calc_max_allowable_speed(-previous._acceleration, previous._entry_speed, previous._distance)) + + if current._entry_speed != entry_speed: + current._entry_speed = entry_speed + current._recalculate = True + def to_file(self, file_name: str) -> None: all_lines = [str(c) for c in self._all_commands] with open(file_name, "w", encoding = "utf-8") as f: From 515b2862306364ffd24ef308cd28f9b6ba67a306 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 10:57:35 +0200 Subject: [PATCH 094/162] Implement recalculation of trapezoid if entry speed had changed The fourth pass. It's a lot of work. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 29ad49786e..5796bc3d4d 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -454,6 +454,25 @@ class CommandBuffer: self.forward_pass_kernel(kernel_commands[0], kernel_commands[1], kernel_commands[2]) self.forward_pass_kernel(kernel_commands[1], kernel_commands[2], None) + #Fourth pass: Recalculate the commands that have _recalculate set. + previous = None + current = None + for current in self._all_commands: + if current.estimated_exec_time_in_ms >= 0: + continue #Not a movement command. + + if previous: + #Recalculate if current command entry or exit junction speed has changed. + if previous._recalculate or current._recalculate: + #Note: Entry and exit factors always >0 by all previous logic operators. + previous.calculate_trapezoid(previous._entry_speed / previous._nominal_feedrate, current._entry_speed / previous._nominal_feedrate) + previous._recalculate = False + + previous = current + if current is not None: + current.calculate_trapezoid(current._entry_speed / current._nominal_feedrate, MINIMUM_PLANNER_SPEED / current._nominal_feedrate) + current._recalculate = False + for idx, cmd in enumerate(self._all_commands): cmd_count += 1 if idx > cmd0_idx or idx == 0: From 4e7f8a268f95f2fd78382488d9cdcf85c60ffeb0 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 11:04:43 +0200 Subject: [PATCH 095/162] Implement calculating final time of movement commands This includes accelerations, jerks, proper joints, all that sort of thing. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 5796bc3d4d..7d86c8dfc0 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -70,6 +70,15 @@ def calc_acceleration_distance(init_speed: float, target_speed: float, accelerat return 0.0 return (target_speed ** 2 - init_speed ** 2) / (2 * acceleration) +## Gives the time it needs to accelerate from an initial speed to reach a final +# distance. +def calc_acceleration_time_from_distance(initial_feedrate: float, distance: float, acceleration: float) -> float: + discriminant = initial_feedrate ** 2 - 2 * acceleration * -distance + #If the discriminant is negative, we're moving in the wrong direction. + #Making the discriminant 0 then gives the extremum of the parabola instead of the intersection. + discriminant = max(0, discriminant) + return (-initial_feedrate + math.sqrt(discriminant)) / acceleration + def calc_travel_time(p0, p1, init_speed: float, target_speed: float, acceleration: float) -> float: pass @@ -473,6 +482,15 @@ class CommandBuffer: current.calculate_trapezoid(current._entry_speed / current._nominal_feedrate, MINIMUM_PLANNER_SPEED / current._nominal_feedrate) current._recalculate = False + #Fifth pass: Compute time for movement commands. + for cmd in self._all_commands: + if cmd.estimated_exec_time_in_ms >= 0: + continue #Not a movement command. + plateau_distance = cmd._decelerate_after - cmd._accelerate_until + cmd.estimated_exec_time_in_ms = calc_acceleration_time_from_distance(cmd._initial_feedrate, cmd._accelerate_until, cmd._acceleration) + cmd.estimated_exec_time_in_ms += plateau_distance / cmd._nominal_feedrate + cmd.estimated_exec_time_in_ms += calc_acceleration_time_from_distance(cmd._final_feedrate, (cmd._distancd - cmd._decelerate_after), cmd._acceleration) + for idx, cmd in enumerate(self._all_commands): cmd_count += 1 if idx > cmd0_idx or idx == 0: From bddfe44f2c7fcc56086db7dc9ee40c5e64bfd53a Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 11:15:25 +0200 Subject: [PATCH 096/162] Make G10 and G11 behave just like actual retractions That's what CuraEngine does anyway. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 7d86c8dfc0..a9704b4f42 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -206,6 +206,17 @@ class Command: def _handle_g(self, cmd_num: int, parts: List[str]) -> None: estimated_exec_time_in_ms = 0.0 + # G10: Retract. Make this behave as if it's a retraction of 25mm. + if cmd_num == 10: + #TODO: If already retracted, this shouldn't add anything to the time. + cmd_num = 1 + parts = ["G1", "E" + str(buf.current_position[3] - 25)] + # G11: Unretract. Make this behave as if it's an unretraction of 25mm. + elif cmd_num == 11: + #TODO: If already unretracted + cmd_num = 1 + parts = ["G1", "E" + str(buf.current_position[3] + 25)] + # G0 and G1: Move if cmd_num in (0, 1): # Move @@ -301,20 +312,6 @@ class Command: if num > 0: estimated_exec_time_in_ms = num - # G10: Retract. Assume 0.3 seconds for short retractions and 0.5 seconds for long retractions. - if cmd_num == 10: - # S0 is short retract (default), S1 is long retract - is_short_retract = True - if len(parts) > 1: - cmd, num = get_code_and_num(parts[1]) - if cmd == "S" and num == 1: - is_short_retract = False - estimated_exec_time_in_ms = (0.3 if is_short_retract else 0.5) * 1000 - - # G11: Unretract. Assume 0.5 seconds. - if cmd_num == 11: - estimated_exec_time_in_ms = 0.5 * 1000 - # G90: Set to absolute positioning. Assume 0 seconds. if cmd_num == 90: estimated_exec_time_in_ms = 0.0 From cf5f66db9fd5fbf28679d21b49180a93b9195f39 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 11:18:40 +0200 Subject: [PATCH 097/162] Align expected time of auxillary commands to what CuraEngine estimates CuraEngine doesn't take most of these into its time estimate at all so they can just be 0. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index a9704b4f42..f28dc1326b 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -303,8 +303,8 @@ class Command: travel_time_in_ms = -1 #Signal that we need to include this in our second pass. - # G4: Dwell, pause the machine for a period of time. TODO - if cmd_num == 4: + # G4: Dwell, pause the machine for a period of time. + elif cmd_num == 4: # Pnnn is time to wait in milliseconds (P0 wait until all previous moves are finished) cmd, num = get_code_and_num(parts[1]) num = float(num) @@ -313,25 +313,20 @@ class Command: estimated_exec_time_in_ms = num # G90: Set to absolute positioning. Assume 0 seconds. - if cmd_num == 90: + elif cmd_num == 90: estimated_exec_time_in_ms = 0.0 # G91: Set to relative positioning. Assume 0 seconds. - if cmd_num == 91: + elif cmd_num == 91: estimated_exec_time_in_ms = 0.0 # G92: Set position. Assume 0 seconds. - if cmd_num == 92: + elif cmd_num == 92: estimated_exec_time_in_ms = 0.0 - # G280: Prime. Assume 10 seconds for using blob and 5 seconds for no blob. - if cmd_num == 280: - use_blob = True - if len(parts) > 1: - cmd, num = get_code_and_num(parts[1]) - if cmd == "S" and num == 1: - use_blob = False - estimated_exec_time_in_ms = (10.0 if use_blob else 5.0) * 1000 + # G280: Prime. Assume 0 seconds. Actually more like 10 if using blob and 5 if not. + elif cmd_num == 280: + estimated_exec_time_in_ms = 0.0 # Update estimated execution time self._estimated_exec_time_in_ms = round(estimated_exec_time_in_ms, 5) @@ -344,33 +339,34 @@ class Command: estimated_exec_time_in_ms = 0.0 # M83: Set extruder to relative mode. Assume 0 execution time. - if cmd_num == 83: + elif cmd_num == 83: estimated_exec_time_in_ms = 0.0 # M104: Set extruder temperature (no wait). Assume 0 execution time. - if cmd_num == 104: + elif cmd_num == 104: estimated_exec_time_in_ms = 0.0 # M106: Set fan speed. Assume 0 execution time. - if cmd_num == 106: + elif cmd_num == 106: estimated_exec_time_in_ms = 0.0 # M107: Turn fan off. Assume 0 execution time. - if cmd_num == 107: + elif cmd_num == 107: estimated_exec_time_in_ms = 0.0 - # M109: Set extruder temperature (wait). Uniformly random time between 30 - 90 seconds. - if cmd_num == 109: - estimated_exec_time_in_ms = random.uniform(30, 90) * 1000 # TODO: Check + # M109: Set extruder temperature (wait). Assume 0 execution time. Actually more like a minute. + elif cmd_num == 109: + estimated_exec_time_in_ms = 0.0 # M140: Set bed temperature (no wait). Assume 0 execution time. - if cmd_num == 140: + elif cmd_num == 140: estimated_exec_time_in_ms = 0.0 # M203: Set maximum feedrate. Only Z is supported. Assume 0 execution time. - if cmd_num == 203: + elif cmd_num == 203: value_dict = get_value_dict(parts[1:]) buf.max_z_feedrate = value_dict.get("Z", buf.max_z_feedrate) + estimated_exec_time_in_ms = 0.0 # M204: Set default acceleration. Assume 0 execution time. if cmd_num == 204: @@ -389,8 +385,8 @@ class Command: self._estimated_exec_time_in_ms = estimated_exec_time_in_ms def _handle_t(self, cmd_num: int, parts: List[str]) -> None: - # Tn: Switching extruder. Assume 2 seconds. - estimated_exec_time_in_ms = 2.0 + # Tn: Switching extruder. Assume 0 seconds. Actually more like 2. + estimated_exec_time_in_ms = 0.0 self._estimated_exec_time_in_ms = estimated_exec_time_in_ms From 9d6b184cffc76cded0ed755483249040487b2b2d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 12:23:49 +0200 Subject: [PATCH 098/162] Leave out all commands which do nothing to time estimates Just skip over them. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 69 +++++----------------------------------------- 1 file changed, 7 insertions(+), 62 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index f28dc1326b..2c570f07ba 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -204,7 +204,7 @@ class Command: func(cmd_num, parts) def _handle_g(self, cmd_num: int, parts: List[str]) -> None: - estimated_exec_time_in_ms = 0.0 + self._estimated_exec_time_in_ms = 0.0 # G10: Retract. Make this behave as if it's a retraction of 25mm. if cmd_num == 10: @@ -213,14 +213,13 @@ class Command: parts = ["G1", "E" + str(buf.current_position[3] - 25)] # G11: Unretract. Make this behave as if it's an unretraction of 25mm. elif cmd_num == 11: - #TODO: If already unretracted + #TODO: If already unretracted, this shouldn't add anything to the time. cmd_num = 1 parts = ["G1", "E" + str(buf.current_position[3] + 25)] # G0 and G1: Move if cmd_num in (0, 1): # Move - distance = 0.0 if len(parts) > 0: value_dict = get_value_dict(parts[1:]) @@ -301,7 +300,7 @@ class Command: self.calculate_trapezoid(self._entry_speed / self._nominal_feedrate, safe_speed / self._nominal_feedrate) - travel_time_in_ms = -1 #Signal that we need to include this in our second pass. + self._estimated_exec_time_in_ms = -1 #Signal that we need to include this in our second pass. # G4: Dwell, pause the machine for a period of time. elif cmd_num == 4: @@ -310,69 +309,20 @@ class Command: num = float(num) if cmd == "P": if num > 0: - estimated_exec_time_in_ms = num - - # G90: Set to absolute positioning. Assume 0 seconds. - elif cmd_num == 90: - estimated_exec_time_in_ms = 0.0 - - # G91: Set to relative positioning. Assume 0 seconds. - elif cmd_num == 91: - estimated_exec_time_in_ms = 0.0 - - # G92: Set position. Assume 0 seconds. - elif cmd_num == 92: - estimated_exec_time_in_ms = 0.0 - - # G280: Prime. Assume 0 seconds. Actually more like 10 if using blob and 5 if not. - elif cmd_num == 280: - estimated_exec_time_in_ms = 0.0 - - # Update estimated execution time - self._estimated_exec_time_in_ms = round(estimated_exec_time_in_ms, 5) + self._estimated_exec_time_in_ms = num def _handle_m(self, cmd_num: int, parts: List[str]) -> None: - estimated_exec_time_in_ms = 0.0 - - # M82: Set extruder to absolute mode. Assume 0 execution time. - if cmd_num == 82: - estimated_exec_time_in_ms = 0.0 - - # M83: Set extruder to relative mode. Assume 0 execution time. - elif cmd_num == 83: - estimated_exec_time_in_ms = 0.0 - - # M104: Set extruder temperature (no wait). Assume 0 execution time. - elif cmd_num == 104: - estimated_exec_time_in_ms = 0.0 - - # M106: Set fan speed. Assume 0 execution time. - elif cmd_num == 106: - estimated_exec_time_in_ms = 0.0 - - # M107: Turn fan off. Assume 0 execution time. - elif cmd_num == 107: - estimated_exec_time_in_ms = 0.0 - - # M109: Set extruder temperature (wait). Assume 0 execution time. Actually more like a minute. - elif cmd_num == 109: - estimated_exec_time_in_ms = 0.0 - - # M140: Set bed temperature (no wait). Assume 0 execution time. - elif cmd_num == 140: - estimated_exec_time_in_ms = 0.0 + self._estimated_exec_time_in_ms = 0.0 # M203: Set maximum feedrate. Only Z is supported. Assume 0 execution time. - elif cmd_num == 203: + if cmd_num == 203: value_dict = get_value_dict(parts[1:]) buf.max_z_feedrate = value_dict.get("Z", buf.max_z_feedrate) - estimated_exec_time_in_ms = 0.0 # M204: Set default acceleration. Assume 0 execution time. if cmd_num == 204: value_dict = get_value_dict(parts[1:]) buf.acceleration = value_dict.get("S", buf.acceleration) - estimated_exec_time_in_ms = 0.0 # M205: Advanced settings, we only set jerks for Griffin. Assume 0 execution time. if cmd_num == 205: @@ -380,15 +330,10 @@ class Command: buf.max_xy_jerk = value_dict.get("XY", buf.max_xy_jerk) buf.max_z_jerk = value_dict.get("Z", buf.max_z_jerk) buf.max_e_jerk = value_dict.get("E", buf.max_e_jerk) - estimated_exec_time_in_ms = 0.0 - - self._estimated_exec_time_in_ms = estimated_exec_time_in_ms def _handle_t(self, cmd_num: int, parts: List[str]) -> None: # Tn: Switching extruder. Assume 0 seconds. Actually more like 2. - estimated_exec_time_in_ms = 0.0 - - self._estimated_exec_time_in_ms = estimated_exec_time_in_ms + self._estimated_exec_time_in_ms = 0.0 class CommandBuffer: From b95ad2f9261e7e8ee27f7f8954fccecbffec08ac Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 13:09:43 +0200 Subject: [PATCH 099/162] Remove unused function It was empty and unused. I don't know what or why. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 2c570f07ba..087eb0c5d6 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -79,10 +79,6 @@ def calc_acceleration_time_from_distance(initial_feedrate: float, distance: floa discriminant = max(0, discriminant) return (-initial_feedrate + math.sqrt(discriminant)) / acceleration - -def calc_travel_time(p0, p1, init_speed: float, target_speed: float, acceleration: float) -> float: - pass - ## Calculates the point at which you must start braking. # # This gives the distance from the start of a line at which you must start From 169b59a6b4a6d11d153a94893255575cec9d58ca Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 13:39:02 +0200 Subject: [PATCH 100/162] Remove superfluous _distance_in_mm property It was only used for printing and not set correctly any more. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 087eb0c5d6..41f8fb8f6b 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -102,7 +102,6 @@ class Command: def __init__(self, cmd_str: str) -> None: self._cmd_str = cmd_str # type: str - self._distance_in_mm = 0.0 # type float self._estimated_exec_time_in_ms = 0.0 # type: float self._cmd_process_function_map = { @@ -169,9 +168,7 @@ class Command: if self._is_comment or self._is_empty: return self._cmd_str - distance_in_mm = round(self._distance_in_mm, 5) - - info = "d=%s t=%s" % (distance_in_mm, self._estimated_exec_time_in_ms) + info = "t=%s" % (self._estimated_exec_time_in_ms) return self._cmd_str.strip() + " ; --- " + info + os.linesep @@ -225,8 +222,6 @@ class Command: new_position[2] = value_dict.get("Z", new_position[2]) new_position[3] = value_dict.get("E", new_position[3]) - distance = calc_distance(buf.current_position, new_position) - self._distance_in_mm = distance self._delta = [ new_position[0] - buf.current_position[0], new_position[1] - buf.current_position[1], From df8ee1928d4eb7dc7c644de37eedf0de76f89fd1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 13:39:31 +0200 Subject: [PATCH 101/162] Fix parsing from value_dict These are strings, not float. We must convert them. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 41f8fb8f6b..5f11c96c18 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -217,10 +217,10 @@ class Command: value_dict = get_value_dict(parts[1:]) new_position = copy.deepcopy(buf.current_position) - new_position[0] = value_dict.get("X", new_position[0]) - new_position[1] = value_dict.get("Y", new_position[1]) - new_position[2] = value_dict.get("Z", new_position[2]) - new_position[3] = value_dict.get("E", new_position[3]) + new_position[0] = float(value_dict.get("X", new_position[0])) + new_position[1] = float(value_dict.get("Y", new_position[1])) + new_position[2] = float(value_dict.get("Z", new_position[2])) + new_position[3] = float(value_dict.get("E", new_position[3])) self._delta = [ new_position[0] - buf.current_position[0], @@ -231,9 +231,7 @@ class Command: self._abs_delta = [abs(x) for x in self._delta] self._max_travel = max(self._abs_delta) if self._max_travel > 0: - feedrate = buf.current_feedrate - if "F" in value_dict: - feedrate = value_dict["F"] + feedrate = float(value_dict.get("F", buf.current_feedrate)) if feedrate < MACHINE_MINIMUM_FEEDRATE: feedrate = MACHINE_MINIMUM_FEEDRATE self._nominal_feedrate = feedrate From 2cc3a593ef3407432a18891c430bff5bb278f6b1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 13:47:12 +0200 Subject: [PATCH 102/162] Store current feedrate when encountering it Otherwise the feedrate is zero and we get divisions by zero. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 1 + 1 file changed, 1 insertion(+) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 5f11c96c18..a6979755f5 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -221,6 +221,7 @@ class Command: new_position[1] = float(value_dict.get("Y", new_position[1])) new_position[2] = float(value_dict.get("Z", new_position[2])) new_position[3] = float(value_dict.get("E", new_position[3])) + buf.current_feedrate = value_dict.get("F", buf.current_feedrate) self._delta = [ new_position[0] - buf.current_position[0], From 9a43ee4629eff0af900a117cf7f28e6dfd2fa254 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 14:05:47 +0200 Subject: [PATCH 103/162] Fix kernel parameters We did one the wrong way around and weren't safe enough with the other. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index a6979755f5..600bdccfd2 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -385,9 +385,9 @@ class CommandBuffer: for cmd in self._all_commands: if cmd.estimated_exec_time_in_ms >= 0: continue #Not a movement command. - kernel_commands[2] = kernel_commands[1] - kernel_commands[1] = kernel_commands[0] - kernel_commands[0] = cmd + kernel_commands[0] = kernel_commands[1] + kernel_commands[1] = kernel_commands[2] + kernel_commands[2] = cmd self.forward_pass_kernel(kernel_commands[0], kernel_commands[1], kernel_commands[2]) self.forward_pass_kernel(kernel_commands[1], kernel_commands[2], None) @@ -452,7 +452,7 @@ class CommandBuffer: "time_in_ms": total_frame_time_in_ms}) def reverse_pass_kernel(self, previous: Optional[Command], current: Optional[Command], next: Optional[Command]) -> None: - if not previous: + if not current or not next: return #If entry speed is already at the maximum entry speed, no need to From 88a84f60e0678957029160d3033ff7dd79215ffe Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 14:22:48 +0200 Subject: [PATCH 104/162] Make estimated_exec_time_in_ms just public We're all adults here. We need to modify this property in the fifth pass of move commands. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 600bdccfd2..67f1b6b8ac 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -102,7 +102,7 @@ class Command: def __init__(self, cmd_str: str) -> None: self._cmd_str = cmd_str # type: str - self._estimated_exec_time_in_ms = 0.0 # type: float + self.estimated_exec_time_in_ms = 0.0 # type: float self._cmd_process_function_map = { "G": self._handle_g, @@ -160,15 +160,11 @@ class Command: def is_command(self) -> bool: return not self._is_comment and not self._is_empty - @property - def estimated_exec_time_in_ms(self) -> float: - return self._estimated_exec_time_in_ms - def __str__(self) -> str: if self._is_comment or self._is_empty: return self._cmd_str - info = "t=%s" % (self._estimated_exec_time_in_ms) + info = "t=%s" % (self.estimated_exec_time_in_ms) return self._cmd_str.strip() + " ; --- " + info + os.linesep @@ -197,7 +193,7 @@ class Command: func(cmd_num, parts) def _handle_g(self, cmd_num: int, parts: List[str]) -> None: - self._estimated_exec_time_in_ms = 0.0 + self.estimated_exec_time_in_ms = 0.0 # G10: Retract. Make this behave as if it's a retraction of 25mm. if cmd_num == 10: @@ -290,7 +286,7 @@ class Command: self.calculate_trapezoid(self._entry_speed / self._nominal_feedrate, safe_speed / self._nominal_feedrate) - self._estimated_exec_time_in_ms = -1 #Signal that we need to include this in our second pass. + self.estimated_exec_time_in_ms = -1 #Signal that we need to include this in our second pass. # G4: Dwell, pause the machine for a period of time. elif cmd_num == 4: @@ -299,10 +295,10 @@ class Command: num = float(num) if cmd == "P": if num > 0: - self._estimated_exec_time_in_ms = num + self.estimated_exec_time_in_ms = num def _handle_m(self, cmd_num: int, parts: List[str]) -> None: - self._estimated_exec_time_in_ms = 0.0 + self.estimated_exec_time_in_ms = 0.0 # M203: Set maximum feedrate. Only Z is supported. Assume 0 execution time. if cmd_num == 203: @@ -323,7 +319,7 @@ class Command: def _handle_t(self, cmd_num: int, parts: List[str]) -> None: # Tn: Switching extruder. Assume 0 seconds. Actually more like 2. - self._estimated_exec_time_in_ms = 0.0 + self.estimated_exec_time_in_ms = 0.0 class CommandBuffer: From df435a4cf9e7dead0cb2a57600e3d4eac5a18ab4 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 14:24:05 +0200 Subject: [PATCH 105/162] Don't recalculate last trapezoid if last command is not a move I think we're just missing the last trapezoid then sometimes. Let's see what the effect of that is. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 67f1b6b8ac..22e8a3896a 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -392,6 +392,7 @@ class CommandBuffer: current = None for current in self._all_commands: if current.estimated_exec_time_in_ms >= 0: + current = None continue #Not a movement command. if previous: @@ -402,7 +403,7 @@ class CommandBuffer: previous._recalculate = False previous = current - if current is not None: + if current is not None and current.estimated_exec_time_in_ms >= 0: current.calculate_trapezoid(current._entry_speed / current._nominal_feedrate, MINIMUM_PLANNER_SPEED / current._nominal_feedrate) current._recalculate = False From f93a82041d29921056d113a19f1fea360f83f2f1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 14:24:52 +0200 Subject: [PATCH 106/162] Fix typo Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 22e8a3896a..6fd68b446b 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -414,7 +414,7 @@ class CommandBuffer: plateau_distance = cmd._decelerate_after - cmd._accelerate_until cmd.estimated_exec_time_in_ms = calc_acceleration_time_from_distance(cmd._initial_feedrate, cmd._accelerate_until, cmd._acceleration) cmd.estimated_exec_time_in_ms += plateau_distance / cmd._nominal_feedrate - cmd.estimated_exec_time_in_ms += calc_acceleration_time_from_distance(cmd._final_feedrate, (cmd._distancd - cmd._decelerate_after), cmd._acceleration) + cmd.estimated_exec_time_in_ms += calc_acceleration_time_from_distance(cmd._final_feedrate, (cmd._distance - cmd._decelerate_after), cmd._acceleration) for idx, cmd in enumerate(self._all_commands): cmd_count += 1 From de437112266b41731b10768824ea83df6b92b66d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 14:28:46 +0200 Subject: [PATCH 107/162] All times in seconds instead of milliseconds Everything in our tool chain works in seconds. Let's do that here too. Also, the algorithm from CuraEngine works in seconds as well. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 56 +++++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 6fd68b446b..7ab864a36e 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -12,7 +12,7 @@ from typing import Dict, List, Optional, Tuple # ==================================== # Constants and Default Values # ==================================== -DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_MS = 50.0 / 1000.0 # The buffer filling rate in #commands/ms +DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_S = 50.0 # The buffer filling rate in #commands/ms DEFAULT_BUFFER_SIZE = 15 # The buffer size in #commands MINIMUM_PLANNER_SPEED = 0.05 @@ -102,7 +102,7 @@ class Command: def __init__(self, cmd_str: str) -> None: self._cmd_str = cmd_str # type: str - self.estimated_exec_time_in_ms = 0.0 # type: float + self.estimated_exec_time = 0.0 # type: float self._cmd_process_function_map = { "G": self._handle_g, @@ -164,7 +164,7 @@ class Command: if self._is_comment or self._is_empty: return self._cmd_str - info = "t=%s" % (self.estimated_exec_time_in_ms) + info = "t=%s" % (self.estimated_exec_time) return self._cmd_str.strip() + " ; --- " + info + os.linesep @@ -193,7 +193,7 @@ class Command: func(cmd_num, parts) def _handle_g(self, cmd_num: int, parts: List[str]) -> None: - self.estimated_exec_time_in_ms = 0.0 + self.estimated_exec_time = 0.0 # G10: Retract. Make this behave as if it's a retraction of 25mm. if cmd_num == 10: @@ -286,7 +286,7 @@ class Command: self.calculate_trapezoid(self._entry_speed / self._nominal_feedrate, safe_speed / self._nominal_feedrate) - self.estimated_exec_time_in_ms = -1 #Signal that we need to include this in our second pass. + self.estimated_exec_time = -1 #Signal that we need to include this in our second pass. # G4: Dwell, pause the machine for a period of time. elif cmd_num == 4: @@ -295,10 +295,10 @@ class Command: num = float(num) if cmd == "P": if num > 0: - self.estimated_exec_time_in_ms = num + self.estimated_exec_time = num def _handle_m(self, cmd_num: int, parts: List[str]) -> None: - self.estimated_exec_time_in_ms = 0.0 + self.estimated_exec_time = 0.0 # M203: Set maximum feedrate. Only Z is supported. Assume 0 execution time. if cmd_num == 203: @@ -319,12 +319,12 @@ class Command: def _handle_t(self, cmd_num: int, parts: List[str]) -> None: # Tn: Switching extruder. Assume 0 seconds. Actually more like 2. - self.estimated_exec_time_in_ms = 0.0 + self.estimated_exec_time = 0.0 class CommandBuffer: def __init__(self, all_lines: List[str], - buffer_filling_rate: float = DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_MS, + buffer_filling_rate: float = DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_S, buffer_size: int = DEFAULT_BUFFER_SIZE ) -> None: self._all_lines = all_lines @@ -357,7 +357,7 @@ class CommandBuffer: def process(self) -> None: cmd0_idx = 0 - total_frame_time_in_ms = 0.0 + total_frame_time = 0.0 cmd_count = 0 for idx, line in enumerate(self._all_lines): cmd = Command(line) @@ -369,7 +369,7 @@ class CommandBuffer: #Second pass: Reverse kernel. kernel_commands = [None, None, None] for cmd in reversed(self._all_commands): - if cmd.estimated_exec_time_in_ms >= 0: + if cmd.estimated_exec_time >= 0: continue #Not a movement command. kernel_commands[2] = kernel_commands[1] kernel_commands[1] = kernel_commands[0] @@ -379,7 +379,7 @@ class CommandBuffer: #Third pass: Forward kernel. kernel_commands = [None, None, None] for cmd in self._all_commands: - if cmd.estimated_exec_time_in_ms >= 0: + if cmd.estimated_exec_time >= 0: continue #Not a movement command. kernel_commands[0] = kernel_commands[1] kernel_commands[1] = kernel_commands[2] @@ -391,7 +391,7 @@ class CommandBuffer: previous = None current = None for current in self._all_commands: - if current.estimated_exec_time_in_ms >= 0: + if current.estimated_exec_time >= 0: current = None continue #Not a movement command. @@ -403,50 +403,50 @@ class CommandBuffer: previous._recalculate = False previous = current - if current is not None and current.estimated_exec_time_in_ms >= 0: + if current is not None and current.estimated_exec_time >= 0: current.calculate_trapezoid(current._entry_speed / current._nominal_feedrate, MINIMUM_PLANNER_SPEED / current._nominal_feedrate) current._recalculate = False #Fifth pass: Compute time for movement commands. for cmd in self._all_commands: - if cmd.estimated_exec_time_in_ms >= 0: + if cmd.estimated_exec_time >= 0: continue #Not a movement command. plateau_distance = cmd._decelerate_after - cmd._accelerate_until - cmd.estimated_exec_time_in_ms = calc_acceleration_time_from_distance(cmd._initial_feedrate, cmd._accelerate_until, cmd._acceleration) - cmd.estimated_exec_time_in_ms += plateau_distance / cmd._nominal_feedrate - cmd.estimated_exec_time_in_ms += calc_acceleration_time_from_distance(cmd._final_feedrate, (cmd._distance - cmd._decelerate_after), cmd._acceleration) + cmd.estimated_exec_time = calc_acceleration_time_from_distance(cmd._initial_feedrate, cmd._accelerate_until, cmd._acceleration) + cmd.estimated_exec_time += plateau_distance / cmd._nominal_feedrate + cmd.estimated_exec_time += calc_acceleration_time_from_distance(cmd._final_feedrate, (cmd._distance - cmd._decelerate_after), cmd._acceleration) for idx, cmd in enumerate(self._all_commands): cmd_count += 1 if idx > cmd0_idx or idx == 0: - total_frame_time_in_ms += cmd.estimated_exec_time_in_ms + total_frame_time += cmd.estimated_exec_time - if total_frame_time_in_ms > 1000.0: + if total_frame_time > 1: # Find the next starting command which makes the total execution time of the frame to be less than # 1 second. cmd0_idx += 1 - total_frame_time_in_ms -= self._all_commands[cmd0_idx].estimated_exec_time_in_ms + total_frame_time -= self._all_commands[cmd0_idx].estimated_exec_time cmd_count -= 1 - while total_frame_time_in_ms > 1000.0: + while total_frame_time > 1: cmd0_idx += 1 - total_frame_time_in_ms -= self._all_commands[cmd0_idx].estimated_exec_time_in_ms + total_frame_time -= self._all_commands[cmd0_idx].estimated_exec_time cmd_count -= 1 # If within the current time frame the code count exceeds the limit, record that. - if total_frame_time_in_ms <= self._detection_time_frame and cmd_count > self._code_count_limit: + if total_frame_time <= self._detection_time_frame and cmd_count > self._code_count_limit: need_to_append = True if self._bad_frame_ranges: last_item = self._bad_frame_ranges[-1] if last_item["start_line"] == cmd0_idx: last_item["end_line"] = idx last_item["cmd_count"] = cmd_count - last_item["time_in_ms"] = total_frame_time_in_ms + last_item["time"] = total_frame_time need_to_append = False if need_to_append: self._bad_frame_ranges.append({"start_line": cmd0_idx, "end_line": idx, "cmd_count": cmd_count, - "time_in_ms": total_frame_time_in_ms}) + "time": total_frame_time}) def reverse_pass_kernel(self, previous: Optional[Command], current: Optional[Command], next: Optional[Command]) -> None: if not current or not next: @@ -492,8 +492,8 @@ class CommandBuffer: def report(self) -> None: for item in self._bad_frame_ranges: - print("!!!!! potential bad frame from line %s to %s, code count = %s, in %s ms" % ( - item["start_line"], item["end_line"], item["cmd_count"], round(item["time_in_ms"], 4))) + print("!!!!! potential bad frame from line %s to %s, code count = %s, in %s s" % ( + item["start_line"], item["end_line"], item["cmd_count"], round(item["time"], 4))) if __name__ == "__main__": From 23e42164cb16cdbc0bc7f4a5496d349886bcafd2 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 16:05:36 +0200 Subject: [PATCH 108/162] Add total estimated time to output So that we can verify whether our re-estimation is the same as CuraEngine's original estimation. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 7ab864a36e..4d781f4965 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -346,6 +346,7 @@ class CommandBuffer: self._detection_time_frame = lower_bound_buffer_depletion_time self._code_count_limit = self._buffer_size + self.total_time = 0.0 self.previous_feedrate = [0, 0, 0, 0] self.previous_nominal_feedrate = 0 @@ -356,6 +357,7 @@ class CommandBuffer: self._bad_frame_ranges = [] def process(self) -> None: + buf.total_time = 0.0 cmd0_idx = 0 total_frame_time = 0.0 cmd_count = 0 @@ -419,6 +421,7 @@ class CommandBuffer: for idx, cmd in enumerate(self._all_commands): cmd_count += 1 if idx > cmd0_idx or idx == 0: + buf.total_time += cmd.estimated_exec_time total_frame_time += cmd.estimated_exec_time if total_frame_time > 1: @@ -489,6 +492,7 @@ class CommandBuffer: all_lines = [str(c) for c in self._all_commands] with open(file_name, "w", encoding = "utf-8") as f: f.writelines(all_lines) + f.write(";---TOTAL ESTIMATED TIME:" + str(self.total_time)) def report(self) -> None: for item in self._bad_frame_ranges: From bec643cd793e540223c71259748eece15bda20f2 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 17:09:00 +0200 Subject: [PATCH 109/162] Fix reading F parameter from g-code We need to divide that by 60 to get into somewhat more sane units than the stupid mm/min that g-code uses. Also simplifies a few other things there. Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 4d781f4965..895ea6d35f 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -28,7 +28,7 @@ MACHINE_MAX_ACCELERATION_E = 10000 MACHINE_MAX_JERK_XY = 20 MACHINE_MAX_JERK_Z = 0.4 MACHINE_MAX_JERK_E = 5 -MACHINE_MINIMUM_FEEDRATE = 0 +MACHINE_MINIMUM_FEEDRATE = 0.001 MACHINE_ACCELERATION = 3000 ## Gets the code and number from the given g-code line. @@ -217,7 +217,9 @@ class Command: new_position[1] = float(value_dict.get("Y", new_position[1])) new_position[2] = float(value_dict.get("Z", new_position[2])) new_position[3] = float(value_dict.get("E", new_position[3])) - buf.current_feedrate = value_dict.get("F", buf.current_feedrate) + buf.current_feedrate = float(value_dict.get("F", buf.current_feedrate * 60.0)) / 60.0 + if buf.current_feedrate < MACHINE_MINIMUM_FEEDRATE: + buf.current_feedrate = MACHINE_MINIMUM_FEEDRATE self._delta = [ new_position[0] - buf.current_position[0], @@ -228,15 +230,12 @@ class Command: self._abs_delta = [abs(x) for x in self._delta] self._max_travel = max(self._abs_delta) if self._max_travel > 0: - feedrate = float(value_dict.get("F", buf.current_feedrate)) - if feedrate < MACHINE_MINIMUM_FEEDRATE: - feedrate = MACHINE_MINIMUM_FEEDRATE - self._nominal_feedrate = feedrate + self._nominal_feedrate = buf.current_feedrate self._distance = math.sqrt(self._abs_delta[0] ** 2 + self._abs_delta[1] ** 2 + self._abs_delta[2] ** 2) if self._distance == 0: self._distance = self._abs_delta[3] - current_feedrate = [d * feedrate / self._distance for d in self._delta] + current_feedrate = [d * self._nominal_feedrate / self._distance for d in self._delta] current_abs_feedrate = [abs(f) for f in current_feedrate] feedrate_factor = min(1.0, MACHINE_MAX_FEEDRATE_X) feedrate_factor = min(feedrate_factor, MACHINE_MAX_FEEDRATE_Y) From f5157aeeaf7e41a6ce11701293b00377e173c9a5 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 17:15:46 +0200 Subject: [PATCH 110/162] Add commands per second to output Contributes to issue CURA-5561. --- 50_inst_per_sec.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/50_inst_per_sec.py b/50_inst_per_sec.py index 895ea6d35f..a877430114 100644 --- a/50_inst_per_sec.py +++ b/50_inst_per_sec.py @@ -495,8 +495,12 @@ class CommandBuffer: def report(self) -> None: for item in self._bad_frame_ranges: - print("!!!!! potential bad frame from line %s to %s, code count = %s, in %s s" % ( - item["start_line"], item["end_line"], item["cmd_count"], round(item["time"], 4))) + print("Potential buffer underrun from line {start_line} to {end_line}, code count = {code_count}, in {time}s ({speed} cmd/s)".format( + start_line = item["start_line"], + end_line = item["end_line"], + code_count = item["cmd_count"], + time = round(item["time"], 4), + speed = round(item["cmd_count"] / item["time"], 2))) if __name__ == "__main__": From 3e30e26ac05833821ff2068a3ebc670568497aec Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Sep 2018 17:16:55 +0200 Subject: [PATCH 111/162] Move into tests folder There it can stay and be used on modern code. Contributes to issue CURA-5561. --- 50_inst_per_sec.py => tests/50_inst_per_sec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename 50_inst_per_sec.py => tests/50_inst_per_sec.py (99%) diff --git a/50_inst_per_sec.py b/tests/50_inst_per_sec.py similarity index 99% rename from 50_inst_per_sec.py rename to tests/50_inst_per_sec.py index a877430114..58787a4849 100644 --- a/50_inst_per_sec.py +++ b/tests/50_inst_per_sec.py @@ -12,7 +12,7 @@ from typing import Dict, List, Optional, Tuple # ==================================== # Constants and Default Values # ==================================== -DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_S = 50.0 # The buffer filling rate in #commands/ms +DEFAULT_BUFFER_FILLING_RATE_IN_C_PER_S = 50.0 # The buffer filling rate in #commands/s DEFAULT_BUFFER_SIZE = 15 # The buffer size in #commands MINIMUM_PLANNER_SPEED = 0.05 From b21200c6a814c6e9303fe416bed60f06d04c3a7a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 5 Sep 2018 17:16:56 +0200 Subject: [PATCH 112/162] Check for None before updating model CURA-5670 --- plugins/Toolbox/src/AuthorsModel.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/Toolbox/src/AuthorsModel.py b/plugins/Toolbox/src/AuthorsModel.py index 45424d7e42..bea3893504 100644 --- a/plugins/Toolbox/src/AuthorsModel.py +++ b/plugins/Toolbox/src/AuthorsModel.py @@ -33,6 +33,9 @@ class AuthorsModel(ListModel): def _update(self): items = [] + if not self._metadata: + self.setItems([]) + return for author in self._metadata: items.append({ From cfcf52d7c3a53f92daa4b39501ba9badafbaec6e Mon Sep 17 00:00:00 2001 From: Mark Date: Wed, 5 Sep 2018 22:05:08 +0200 Subject: [PATCH 113/162] Center in parent and increase width. Fits good on Mac --- plugins/SimulationView/SimulationSliderLabel.qml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/SimulationView/SimulationSliderLabel.qml b/plugins/SimulationView/SimulationSliderLabel.qml index 559bffadc4..b69fede243 100644 --- a/plugins/SimulationView/SimulationSliderLabel.qml +++ b/plugins/SimulationView/SimulationSliderLabel.qml @@ -44,12 +44,11 @@ UM.PointingRectangle { id: valueLabel anchors { - left: parent.left - leftMargin: Math.round(UM.Theme.getSize("default_margin").width / 2) verticalCenter: parent.verticalCenter + horizontalCenter: parent.horizontalCenter } - width: (maximumValue.toString().length + 1) * 8 * screenScaleFactor + width: (maximumValue.toString().length + 1) * 10 * screenScaleFactor text: sliderLabelRoot.value + startFrom // the current handle value, add 1 because layers is an array horizontalAlignment: TextInput.AlignRight From 9aea0e5109fa004402683001721233cb1325d0b7 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Sep 2018 08:10:53 +0200 Subject: [PATCH 114/162] Fix quality lookup logic for extruders CURA-5694 - Add convenience functions into GlobalStack - Use "has_variants" and "has_materials" instead of "has_variant_materials" - Remove "has_variant_materials" - For extruder qualities, skip global qualities if the machine has variants or materials --- cura/Machines/QualityManager.py | 8 +++++--- cura/Settings/GlobalStack.py | 8 ++++++++ resources/definitions/cartesio.def.json | 1 - resources/definitions/ultimaker3.def.json | 1 - resources/definitions/ultimaker3_extended.def.json | 1 - resources/definitions/ultimaker_s5.def.json | 1 - 6 files changed, 13 insertions(+), 7 deletions(-) diff --git a/cura/Machines/QualityManager.py b/cura/Machines/QualityManager.py index 6869d99bc7..580d52b089 100644 --- a/cura/Machines/QualityManager.py +++ b/cura/Machines/QualityManager.py @@ -200,7 +200,9 @@ class QualityManager(QObject): machine_definition_id = getMachineDefinitionIDForQualitySearch(machine.definition) # This determines if we should only get the global qualities for the global stack and skip the global qualities for the extruder stacks - has_variant_materials = parseBool(machine.getMetaDataEntry("has_variant_materials", False)) + has_variants = machine.getHasVariants() + has_materials = machine.getHasMaterials() + has_variants_or_materials = has_variants or has_materials # To find the quality container for the GlobalStack, check in the following fall-back manner: # (1) the machine-specific node @@ -214,7 +216,7 @@ class QualityManager(QObject): for node in nodes_to_check: if node and node.quality_type_map: # Only include global qualities - if has_variant_materials: + if has_variants_or_materials: quality_node = list(node.quality_type_map.values())[0] is_global_quality = parseBool(quality_node.metadata.get("global_quality", False)) if not is_global_quality: @@ -302,7 +304,7 @@ class QualityManager(QObject): for node in nodes_to_check: if node and node.quality_type_map: - if has_variant_materials: + if has_variants_or_materials: # Only include variant qualities; skip non global qualities quality_node = list(node.quality_type_map.values())[0] is_global_quality = parseBool(quality_node.metadata.get("global_quality", False)) diff --git a/cura/Settings/GlobalStack.py b/cura/Settings/GlobalStack.py index 36084b7d4d..d7ebe804f4 100755 --- a/cura/Settings/GlobalStack.py +++ b/cura/Settings/GlobalStack.py @@ -13,6 +13,8 @@ from UM.Settings.SettingInstance import InstanceState from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.Interfaces import PropertyEvaluationContext from UM.Logger import Logger +from UM.Util import parseBool + import cura.CuraApplication from . import Exceptions @@ -188,6 +190,12 @@ class GlobalStack(CuraContainerStack): def getHeadAndFansCoordinates(self): return self.getProperty("machine_head_with_fans_polygon", "value") + def getHasMaterials(self) -> bool: + return parseBool(self.getMetaDataEntry("has_materials", False)) + + def getHasVariants(self) -> bool: + return parseBool(self.getMetaDataEntry("has_variants", False)) + ## private: global_stack_mime = MimeType( diff --git a/resources/definitions/cartesio.def.json b/resources/definitions/cartesio.def.json index 57c16241a0..9c7a95cceb 100644 --- a/resources/definitions/cartesio.def.json +++ b/resources/definitions/cartesio.def.json @@ -11,7 +11,6 @@ "has_machine_quality": true, "has_materials": true, "has_machine_materials": true, - "has_variant_materials": true, "has_variants": true, "variants_name": "Tool", diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index b75d12ce44..b1daa6b780 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -13,7 +13,6 @@ "has_machine_quality": true, "has_materials": true, "has_machine_materials": true, - "has_variant_materials": true, "has_variants": true, "preferred_variant_name": "AA 0.4", "preferred_quality_type": "normal", diff --git a/resources/definitions/ultimaker3_extended.def.json b/resources/definitions/ultimaker3_extended.def.json index 1e6c322c73..eb3cda9320 100644 --- a/resources/definitions/ultimaker3_extended.def.json +++ b/resources/definitions/ultimaker3_extended.def.json @@ -13,7 +13,6 @@ "platform_offset": [0, 0, 0], "has_machine_quality": true, "has_machine_materials": true, - "has_variant_materials": true, "has_materials": true, "has_variants": true, "preferred_variant_name": "AA 0.4", diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index f6971d0da3..115c84c0db 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -15,7 +15,6 @@ "has_machine_quality": true, "has_materials": true, "has_machine_materials": true, - "has_variant_materials": true, "has_variant_buildplates": true, "has_variants": true, "preferred_variant_name": "AA 0.4", From ea2b0d04800291845af0ffbfa75500ec3b2c4413 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 6 Sep 2018 09:58:25 +0200 Subject: [PATCH 115/162] Print total predicted number of buffer underruns I think this is the final metric that we'll want to track. Contributes to issue CURA-5561. --- tests/50_inst_per_sec.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/50_inst_per_sec.py b/tests/50_inst_per_sec.py index 58787a4849..91992c813a 100644 --- a/tests/50_inst_per_sec.py +++ b/tests/50_inst_per_sec.py @@ -501,6 +501,7 @@ class CommandBuffer: code_count = item["cmd_count"], time = round(item["time"], 4), speed = round(item["cmd_count"] / item["time"], 2))) + print("Total predicted number of buffer underruns:", len(self._bad_frame_ranges)) if __name__ == "__main__": From bb578be0669504cb34cb8b67e346e1da64b47b25 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Sep 2018 14:22:36 +0200 Subject: [PATCH 116/162] Move the script to scripts dir --- {tests => scripts}/50_inst_per_sec.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename {tests => scripts}/50_inst_per_sec.py (99%) diff --git a/tests/50_inst_per_sec.py b/scripts/50_inst_per_sec.py similarity index 99% rename from tests/50_inst_per_sec.py rename to scripts/50_inst_per_sec.py index 91992c813a..e61228f935 100644 --- a/tests/50_inst_per_sec.py +++ b/scripts/50_inst_per_sec.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. @@ -5,7 +6,6 @@ import copy import math import os import sys -import random from typing import Dict, List, Optional, Tuple @@ -98,6 +98,7 @@ def calc_intersection_distance(initial_feedrate: float, final_feedrate: float, a def calc_max_allowable_speed(acceleration: float, target_velocity: float, distance: float) -> float: return math.sqrt(target_velocity * target_velocity - 2 * acceleration * distance) + class Command: def __init__(self, cmd_str: str) -> None: self._cmd_str = cmd_str # type: str From 32a49bf8fa01221a909df2fa1121eab3bd2130dc Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Sep 2018 14:39:52 +0200 Subject: [PATCH 117/162] Make annotated output gcode optional --- scripts/50_inst_per_sec.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/50_inst_per_sec.py b/scripts/50_inst_per_sec.py index e61228f935..d3410096c5 100644 --- a/scripts/50_inst_per_sec.py +++ b/scripts/50_inst_per_sec.py @@ -506,16 +506,22 @@ class CommandBuffer: if __name__ == "__main__": - if len(sys.argv) != 3: - print("Usage: ") + if len(sys.argv) < 2 or 3 < len(sys.argv): + print("Usage: [output gcode]") sys.exit(1) in_filename = sys.argv[1] - out_filename = sys.argv[2] + out_filename = None + if len(sys.argv) == 3: + out_filename = sys.argv[2] with open(in_filename, "r", encoding = "utf-8") as f: all_lines = f.readlines() buf = CommandBuffer(all_lines) buf.process() - buf.to_file(out_filename) + + # Output annotated gcode is optional + if out_filename is not None: + buf.to_file(out_filename) + buf.report() From 0b6574e71549a66c8f2be823ca827cafaffb4bd7 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 6 Sep 2018 15:36:11 +0200 Subject: [PATCH 118/162] Rename script to check_gcode_buffer.py CURA-5561 --- scripts/{50_inst_per_sec.py => check_gcode_buffer.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename scripts/{50_inst_per_sec.py => check_gcode_buffer.py} (100%) mode change 100644 => 100755 diff --git a/scripts/50_inst_per_sec.py b/scripts/check_gcode_buffer.py old mode 100644 new mode 100755 similarity index 100% rename from scripts/50_inst_per_sec.py rename to scripts/check_gcode_buffer.py From 3a8d0233717c3b7c6b63160129d8d887c8381a3f Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Mon, 3 Sep 2018 17:09:19 +0200 Subject: [PATCH 119/162] Addded test for checking shortcut keys CURA-5642 --- resources/i18n/de_DE/cura.po | 40 ++++++------ resources/i18n/es_ES/cura.po | 40 ++++++------ resources/i18n/fi_FI/cura.po | 30 ++++----- resources/i18n/fr_FR/cura.po | 40 ++++++------ resources/i18n/it_IT/cura.po | 40 ++++++------ resources/i18n/ja_JP/cura.po | 34 +++++----- resources/i18n/ko_KR/cura.po | 30 ++++----- resources/i18n/nl_NL/cura.po | 40 ++++++------ resources/i18n/pl_PL/cura.po | 38 +++++------ resources/i18n/pt_BR/cura.po | 38 +++++------ resources/i18n/pt_PT/cura.po | 40 ++++++------ resources/i18n/ru_RU/cura.po | 20 +++--- resources/i18n/tr_TR/cura.po | 38 +++++------ resources/i18n/zh_CN/cura.po | 38 +++++------ resources/i18n/zh_TW/cura.po | 38 +++++------ resources/qml/Actions.qml | 2 +- tests/TestShortcutKeys.py | 119 +++++++++++++++++++++++++++++++++++ 17 files changed, 392 insertions(+), 273 deletions(-) create mode 100644 tests/TestShortcutKeys.py diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index 31ce980615..9b12574005 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -3727,28 +3727,28 @@ msgstr "&Beenden" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "&3D-Ansicht" +msgid "3D View" +msgstr "3D-Ansicht" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "&Vorderansicht" +msgid "Front View" +msgstr "Vorderansicht" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "&Draufsicht" +msgid "Top View" +msgstr "Draufsicht" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "&Ansicht von links" +msgid "Left Side View" +msgstr "Ansicht von links" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "&Ansicht von rechts" +msgid "Right Side View" +msgstr "Ansicht von rechts" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3808,10 +3808,10 @@ msgstr "&Über..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "&Ausgewähltes Modell löschen" -msgstr[1] "&Ausgewählte Modelle löschen" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Ausgewähltes Modell löschen" +msgstr[1] "Ausgewählte Modelle löschen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3859,18 +3859,18 @@ msgstr "Modell &multiplizieren" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "Alle Modelle &wählen" +msgid "Select All Models" +msgstr "Alle Modelle wählen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "Druckplatte &reinigen" +msgid "Clear Build Plate" +msgstr "Druckplatte reinigen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "Alle Modelle neu &laden" +msgid "Reload All Models" +msgstr "Alle Modelle neu laden" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 66add367c5..12fc6b86ae 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -3739,28 +3739,28 @@ msgstr "&Salir" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "&Vista en 3D" +msgid "3D View" +msgstr "Vista en 3D" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "&Vista frontal" +msgid "Front View" +msgstr "Vista frontal" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "&Vista superior" +msgid "Top View" +msgstr "Vista superior" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "&Vista del lado izquierdo" +msgid "Left Side View" +msgstr "Vista del lado izquierdo" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "&Vista del lado derecho" +msgid "Right Side View" +msgstr "Vista del lado derecho" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3820,10 +3820,10 @@ msgstr "&Acerca de..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "Eliminar modelo &seleccionado" -msgstr[1] "Eliminar modelos &seleccionados" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Eliminar modelo seleccionado" +msgstr[1] "Eliminar modelos seleccionados" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3871,18 +3871,18 @@ msgstr "&Multiplicar modelo..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&Seleccionar todos los modelos" +msgid "Select All Models" +msgstr "Seleccionar todos los modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Borrar placa de impresión" +msgid "Clear Build Plate" +msgstr "Borrar placa de impresión" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "&Recargar todos los modelos" +msgid "Reload All Models" +msgstr "Recargar todos los modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/i18n/fi_FI/cura.po b/resources/i18n/fi_FI/cura.po index a4b5719da7..b19479da89 100644 --- a/resources/i18n/fi_FI/cura.po +++ b/resources/i18n/fi_FI/cura.po @@ -3746,27 +3746,27 @@ msgstr "&Lopeta" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" +msgid "3D View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" +msgid "Front View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" +msgid "Top View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" +msgid "Left Side View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" +msgid "Right Side View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 @@ -3827,10 +3827,10 @@ msgstr "Ti&etoja..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "Poista &valittu malli" -msgstr[1] "Poista &valitut mallit" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Poista valittu malli" +msgstr[1] "Poista valitut mallit" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3878,18 +3878,18 @@ msgstr "&Kerro malli..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&Valitse kaikki mallit" +msgid "Select All Models" +msgstr "Valitse kaikki mallit" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Tyhjennä tulostusalusta" +msgid "Clear Build Plate" +msgstr "Tyhjennä tulostusalusta" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "&Lataa kaikki mallit uudelleen" +msgid "Reload All Models" +msgstr "Lataa kaikki mallit uudelleen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index 8921c2c6c7..39662ae57c 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -3727,28 +3727,28 @@ msgstr "&Quitter" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "Vue &3D" +msgid "3D View" +msgstr "Vue 3D" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "Vue de &face" +msgid "Front View" +msgstr "Vue de face" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "Vue du dess&us" +msgid "Top View" +msgstr "Vue du dessus" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "Vue latérale &gauche" +msgid "Left Side View" +msgstr "Vue latérale gauche" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "Vue latérale &droite" +msgid "Right Side View" +msgstr "Vue latérale droite" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3808,10 +3808,10 @@ msgstr "&À propos de..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "Supprimer le modèle &sélectionné" -msgstr[1] "Supprimer les modèles &sélectionnés" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Supprimer le modèle sélectionné" +msgstr[1] "Supprimer les modèles sélectionnés" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3859,18 +3859,18 @@ msgstr "&Multiplier le modèle..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&Sélectionner tous les modèles" +msgid "Select All Models" +msgstr "Sélectionner tous les modèles" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Supprimer les objets du plateau" +msgid "Clear Build Plate" +msgstr "Supprimer les objets du plateau" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "Rechar&ger tous les modèles" +msgid "Reload All Models" +msgstr "Recharger tous les modèles" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index 2565825b95..227470708d 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -3725,28 +3725,28 @@ msgstr "E&sci" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "&Visualizzazione 3D" +msgid "3D View" +msgstr "Visualizzazione 3D" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "&Visualizzazione frontale" +msgid "Front View" +msgstr "Visualizzazione frontale" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "&Visualizzazione superiore" +msgid "Top View" +msgstr "Visualizzazione superiore" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "&Visualizzazione lato sinistro" +msgid "Left Side View" +msgstr "Visualizzazione lato sinistro" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "&Visualizzazione lato destro" +msgid "Right Side View" +msgstr "Visualizzazione lato destro" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3806,10 +3806,10 @@ msgstr "I&nformazioni..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "Cancella &modello selezionato" -msgstr[1] "Cancella modelli &selezionati" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Cancella modello selezionato" +msgstr[1] "Cancella modelli selezionati" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3857,18 +3857,18 @@ msgstr "Mo<iplica modello" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "Sel&eziona tutti i modelli" +msgid "Select All Models" +msgstr "Seleziona tutti i modelli" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Cancellare piano di stampa" +msgid "Clear Build Plate" +msgstr "Cancellare piano di stampa" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "R&icarica tutti i modelli" +msgid "Reload All Models" +msgstr "Ricarica tutti i modelli" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 6995099db1..5955ea7284 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -3731,28 +3731,28 @@ msgstr "&やめる" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "3Dビュー (&3)" +msgid "3D View" +msgstr "3Dビュー " #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "フロントビュー (&F)" +msgid "Front View" +msgstr "フロントビュー" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "トップビュー (&T)" +msgid "Top View" +msgstr "トップビュー" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "左サイドビュー (&L)" +msgid "Left Side View" +msgstr "左サイドビュー" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "右サイドビュー (&R)" +msgid "Right Side View" +msgstr "右サイドビュー" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3813,8 +3813,8 @@ msgstr "アバウト..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" msgstr[0] "&選択したモデルを削除" # can’t enter japanese text @@ -3863,17 +3863,17 @@ msgstr "&モデルを増倍する…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&すべてのモデル選択" +msgid "Select All Models" +msgstr "すべてのモデル選択" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&ビルドプレート上のクリア" +msgid "Clear Build Plate" +msgstr "ビルドプレート上のクリア" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" +msgid "Reload All Models" msgstr "すべてのモデルを読み込む" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 2b5dec7c0f..45c57d3bb5 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -3723,28 +3723,28 @@ msgstr "종료(&Q)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "3D 보기(&3)" +msgid "3D View" +msgstr "3D 보기" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "앞에서 보기(&F)" +msgid "Front View" +msgstr "앞에서 보기" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "위에서 보기(&T)" +msgid "Top View" +msgstr "위에서 보기" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "왼쪽에서 보기(&L)" +msgid "Left Side View" +msgstr "왼쪽에서 보기" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "오른쪽에서 보기(&R)" +msgid "Right Side View" +msgstr "오른쪽에서 보기" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3804,8 +3804,8 @@ msgstr "소개..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" msgstr[0] "선택한 모델 삭제" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 @@ -3852,17 +3852,17 @@ msgstr "모델 복제..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" +msgid "Select All Models" msgstr "모든 모델 선택" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" +msgid "Clear Build Plate" msgstr "빌드 플레이트 지우기" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" +msgid "Reload All Models" msgstr "모든 모델 다시 로드" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index 20b285168b..81f1e1ddb7 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -3725,28 +3725,28 @@ msgstr "&Afsluiten" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "&3D-weergave" +msgid "3D View" +msgstr "3D-weergave" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "Weergave &voorzijde" +msgid "Front View" +msgstr "Weergave voorzijde" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "Weergave &bovenzijde" +msgid "Top View" +msgstr "Weergave bovenzijde" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "Weergave &linkerzijde" +msgid "Left Side View" +msgstr "Weergave linkerzijde" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "Weergave &rechterzijde" +msgid "Right Side View" +msgstr "Weergave rechterzijde" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3806,10 +3806,10 @@ msgstr "&Over..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "Ge&selecteerd model verwijderen" -msgstr[1] "Ge&selecteerde modellen verwijderen" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Geselecteerd model verwijderen" +msgstr[1] "Geselecteerde modellen verwijderen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3857,18 +3857,18 @@ msgstr "&Model verveelvoudigen..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "Alle Modellen &Selecteren" +msgid "Select All Models" +msgstr "Alle Modellen Selecteren" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Platform Leegmaken" +msgid "Clear Build Plate" +msgstr "Platform Leegmaken" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "Alle Modellen Opnieuw &Laden" +msgid "Reload All Models" +msgstr "Alle Modellen Opnieuw Laden" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index 3c9db61d59..cd5f016cb5 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -3761,28 +3761,28 @@ msgstr "&Zamknij" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "&Widok 3D" +msgid "3D View" +msgstr "Widok 3D" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "&Widok z przodu" +msgid "Front View" +msgstr "Widok z przodu" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "&Widok z góry" +msgid "Top View" +msgstr "Widok z góry" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "&Widok z lewej strony" +msgid "Left Side View" +msgstr "Widok z lewej strony" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "&Widok z prawej strony" +msgid "Right Side View" +msgstr "Widok z prawej strony" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3842,10 +3842,10 @@ msgstr "&O..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "Usuń &wybrany model" -msgstr[1] "Usuń &wybrane modele" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Usuń wybrany model" +msgstr[1] "Usuń wybrane modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3893,17 +3893,17 @@ msgstr "&Powiel model..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&Wybierz wszystkie modele" +msgid "Select All Models" +msgstr "Wybierz wszystkie modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Wyczyść stół" +msgid "Clear Build Plate" +msgstr "Wyczyść stół" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" +msgid "Reload All Models" msgstr "Przeładuj wszystkie modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index 741ec379c1..fca696da74 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -3764,28 +3764,28 @@ msgstr "Sair (&Q)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" +msgid "3D View" msgstr "Visão &3D" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "Visão &Frontal" +msgid "Front View" +msgstr "Visão Frontal" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "Visão Superior (&T)" +msgid "Top View" +msgstr "Visão Superior" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "Visão do Lado Esquerdo (&L)" +msgid "Left Side View" +msgstr "Visão do Lado Esquerdo" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "Visão do Lado Direito (&R)" +msgid "Right Side View" +msgstr "Visão do Lado Direito" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3845,10 +3845,10 @@ msgstr "Sobre (&A)..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "Remover Modelo &Selecionado" -msgstr[1] "Remover Modelos &Selecionados" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Remover Modelo Selecionado" +msgstr[1] "Remover Modelos Selecionados" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3896,18 +3896,18 @@ msgstr "&Multiplicar Modelo..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&Selecionar Todos Os Modelos" +msgid "Select All Models" +msgstr "Selecionar Todos Os Modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "Esvaziar a Mesa de Impressão (&C)" +msgid "Clear Build Plate" +msgstr "Esvaziar a Mesa de Impressão" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "Recarregar Todos Os Mode&los" +msgid "Reload All Models" +msgstr "Recarregar Todos Os Modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index cb52613320..ef69f0f534 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -3843,28 +3843,28 @@ msgstr "&Sair" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "Vista &3D" +msgid "3D View" +msgstr "Vista 3D" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "Vista &Frente" +msgid "Front View" +msgstr "Vista Frente" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "Vista &Cima" +msgid "Top View" +msgstr "Vista Cima" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "Vista Lado &Esquerdo" +msgid "Left Side View" +msgstr "Vista Lado Esquerdo" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "Vista Lado &Direito" +msgid "Right Side View" +msgstr "Vista Lado Direito" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3924,10 +3924,10 @@ msgstr "&Sobre..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "Apagar Modelo &Selecionado" -msgstr[1] "Apagar Modelos &Selecionados" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Apagar Modelo Selecionado" +msgstr[1] "Apagar Modelos Selecionados" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3975,18 +3975,18 @@ msgstr "&Multiplicar Modelo..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&Selecionar todos os modelos" +msgid "Select All Models" +msgstr "Selecionar todos os modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Limpar base de construção" +msgid "Clear Build Plate" +msgstr "Limpar base de construção" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "Re&carregar todos os modelos" +msgid "Reload All Models" +msgstr "Recarregar todos os modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index b1e85bec74..d928a8a33d 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -3731,27 +3731,27 @@ msgstr "Выход" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" +msgid "3D View" msgstr "Трехмерный вид" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" +msgid "Front View" msgstr "Вид спереди" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" +msgid "Top View" msgstr "Вид сверху" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" +msgid "Left Side View" msgstr "Вид слева" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" +msgid "Right Side View" msgstr "Вид справа" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 @@ -3812,8 +3812,8 @@ msgstr "О Cura..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" msgstr[0] "Удалить выбранную модель" msgstr[1] "Удалить выбранные модели" msgstr[2] "Удалить выбранные модели" @@ -3866,17 +3866,17 @@ msgstr "Дублировать модель..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" +msgid "Select All Models" msgstr "Выбрать все модели" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" +msgid "Clear Build Plate" msgstr "Очистить стол" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" +msgid "Reload All Models" msgstr "Перезагрузить все модели" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index bea45270fa..3b39dc583a 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -3725,28 +3725,28 @@ msgstr "&Çıkış" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "&3 Boyutlu Görünüm" +msgid "3D View" +msgstr "3 Boyutlu Görünüm" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "&Önden Görünüm" +msgid "Front View" +msgstr "Önden Görünüm" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "&Yukarıdan Görünüm" +msgid "Top View" +msgstr "Yukarıdan Görünüm" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "&Sol Taraftan Görünüm" +msgid "Left Side View" +msgstr "Sol Taraftan Görünüm" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "&Sağ Taraftan Görünüm" +msgid "Right Side View" +msgstr "Sağ Taraftan Görünüm" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3806,10 +3806,10 @@ msgstr "&Hakkında..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "&Seçili Modeli Sil" -msgstr[1] "&Seçili Modelleri Sil" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "Seçili Modeli Sil" +msgstr[1] "Seçili Modelleri Sil" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3857,17 +3857,17 @@ msgstr "&Modeli Çoğalt..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "&Tüm modelleri Seç" +msgid "Select All Models" +msgstr "Tüm modelleri Seç" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "&Yapı Levhasını Temizle" +msgid "Clear Build Plate" +msgstr "Yapı Levhasını Temizle" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" +msgid "Reload All Models" msgstr "Tüm Modelleri Yeniden Yükle" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 3cc29bd7b7..8b065216d4 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -3761,28 +3761,28 @@ msgstr "退出(&Q)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "3D 视图(&3)" +msgid "3D View" +msgstr "3D 视图" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "正视图(&F)" +msgid "Front View" +msgstr "正视图" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "顶视图(&T)" +msgid "Top View" +msgstr "顶视图" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "左视图(&L)" +msgid "Left Side View" +msgstr "左视图" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "右视图(&R)" +msgid "Right Side View" +msgstr "右视图" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3842,9 +3842,9 @@ msgstr "关于(&A)…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "删除所选模型(&S)" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "删除所选模型" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3890,18 +3890,18 @@ msgstr "复制模型…(&M)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "选择所有模型(&S)" +msgid "Select All Models" +msgstr "选择所有模型" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "清空打印平台(&C)" +msgid "Clear Build Plate" +msgstr "清空打印平台" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "重新载入所有模型(&L)" +msgid "Reload All Models" +msgstr "重新载入所有模型" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index b44f6c3551..a1a4e3f4e4 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -3762,28 +3762,28 @@ msgstr "退出(&Q)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" -msgstr "立體圖(&3)" +msgid "3D View" +msgstr "立體圖" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" -msgstr "前視圖(&F)" +msgid "Front View" +msgstr "前視圖" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" -msgstr "上視圖(&T)" +msgid "Top View" +msgstr "上視圖" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" -msgstr "左視圖(&L)" +msgid "Left Side View" +msgstr "左視圖" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" -msgstr "右視圖(&R)" +msgid "Right Side View" +msgstr "右視圖" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 msgctxt "@action:inmenu" @@ -3843,9 +3843,9 @@ msgstr "關於(&A)…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" -msgstr[0] "刪除所選模型(&S)" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" +msgstr[0] "刪除所選模型" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" @@ -3891,18 +3891,18 @@ msgstr "複製模型…(&M)" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" -msgstr "選擇所有模型(&S)" +msgid "Select All Models" +msgstr "選擇所有模型" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" -msgstr "清空列印平台(&C)" +msgid "Clear Build Plate" +msgstr "清空列印平台" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" -msgstr "重新載入所有模型(&L)" +msgid "Reload All Models" +msgstr "重新載入所有模型" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 msgctxt "@action:inmenu menubar:edit" diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index db230ebca7..06ac78221b 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -138,7 +138,7 @@ Item Action { id: viewRightSideCameraAction; - text: catalog.i18nc("@action:inmenu menubar:view","&Right Side View"); + text: catalog.i18nc("@action:inmenu menubar:view","Right Side View"); onTriggered: UM.Controller.rotateView("x", -90); } diff --git a/tests/TestShortcutKeys.py b/tests/TestShortcutKeys.py new file mode 100644 index 0000000000..3ceeba2654 --- /dev/null +++ b/tests/TestShortcutKeys.py @@ -0,0 +1,119 @@ + +import os +import re +import unittest +import pytest + +MSGCTXT = "msgctxt" # Scope of the text +MSGID = "msgid" # The id of the text, also English version +MSGTR = "msgstr" # The translation + +regex_patter = '(&[\w])' #"&[a-zA-Z0-9]" - Search char '&' and at least one character after it, the '+' returns one char after '&' + + +# class TestShortcutKeys(unittest.TestCase): +# +# language_folder = [ +# "en_7S", +# "de_DE", +# "en_US", +# "es_ES", +# "fi_FI", +# "fr_FR", +# "hu_HU", +# "it_IT", +# "ja_JP", +# "ko_KR", +# "nl_NL", +# "pl_PL", +# "pt_BR", +# "ru_RU", +# "tr_TR" +# ] + +@pytest.mark.parametrize("language_type", [("en_7S"),("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("hu_HU")]) +def test_shortcut_keys(language_type): + + language_folder = language_type + + translation_file_name = "cura.po" + + plugin_file_path = os.path.dirname(os.path.abspath(__file__)) + path_records = os.path.split(plugin_file_path) + global_path = path_records[:-1] + cura_path = os.path.join(*global_path) + language_file_path = os.path.join(cura_path,"resources","i18n",language_folder, translation_file_name) + + + last_translation_scope = "" + last_translation_id = "" + last_translation_text = "" + + #{shortcut_key, {scope, [translation_text]}} + shortcut_keys = dict() + with open(language_file_path,'r') as f: + for text in f: + + if text.startswith(MSGCTXT): + last_translation_scope = text + elif text.startswith(MSGID): + last_translation_id = text + elif text.startswith(MSGTR): + last_translation_text = text + + #if text has '&'symbol and at least one character (char or digit) should be after it + # ex '&acr mytest' -> this should return '&a' + the_shortcut_key_word = re.search(regex_patter, text) + + if the_shortcut_key_word is not None: + # take only char after '&' symbol + the_shortcut_key = the_shortcut_key_word.group(0)[1] + + the_shortcut_key = the_shortcut_key.upper() #make all shortcut keys capital + + #The shortcut key is not yet added + if the_shortcut_key not in shortcut_keys: + scope_translation = dict() + scope_translation[last_translation_scope] = [] + scope_translation[last_translation_scope].append(text) + + shortcut_keys[the_shortcut_key] = scope_translation + else: + #check if the shortcut key scope is already added + if last_translation_scope not in shortcut_keys[the_shortcut_key]: + scope_translation = dict() + scope_translation[last_translation_scope] = [] + scope_translation[last_translation_scope].append(text) + shortcut_keys[the_shortcut_key].update(scope_translation) + + # if the scope already exist then add the key + elif last_translation_scope in shortcut_keys[the_shortcut_key]: + shortcut_keys[the_shortcut_key][last_translation_scope].append(text) + + + last_translation_scope = "" + last_translation_id = "" + + not_valid_shortcut_keys = [] + #Validate all shortcut keys + for shortcut_key, scopes in shortcut_keys.items(): + + #check, whether the exist in one scope multiple times or not + for key, items in scopes.items(): + + if len (items) > 1: + not_valid_shortcut_keys.append(items) + + if len(not_valid_shortcut_keys) != 0: + temp='%s' % ', '.join(map(str, not_valid_shortcut_keys)) + print("NOT VALID KEYS: " + temp) + + + assert len(not_valid_shortcut_keys) == 0 + + +if __name__ == "__main__": + suite = unittest.TestSuite() + + + unittest.main(suite) \ No newline at end of file From 17d2316da3815a5b1a90dec2776952c2c870366f Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Mon, 3 Sep 2018 17:54:03 +0200 Subject: [PATCH 120/162] Validate shortcut keys in all languages(except default) CURA-5642 --- tests/TestShortcutKeys.py | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/tests/TestShortcutKeys.py b/tests/TestShortcutKeys.py index 3ceeba2654..afed45bb44 100644 --- a/tests/TestShortcutKeys.py +++ b/tests/TestShortcutKeys.py @@ -8,30 +8,12 @@ MSGCTXT = "msgctxt" # Scope of the text MSGID = "msgid" # The id of the text, also English version MSGTR = "msgstr" # The translation +COLOR_WARNING = '\033[93m' +COLOR_ENDC = '\033[0m' + regex_patter = '(&[\w])' #"&[a-zA-Z0-9]" - Search char '&' and at least one character after it, the '+' returns one char after '&' - -# class TestShortcutKeys(unittest.TestCase): -# -# language_folder = [ -# "en_7S", -# "de_DE", -# "en_US", -# "es_ES", -# "fi_FI", -# "fr_FR", -# "hu_HU", -# "it_IT", -# "ja_JP", -# "ko_KR", -# "nl_NL", -# "pl_PL", -# "pt_BR", -# "ru_RU", -# "tr_TR" -# ] - -@pytest.mark.parametrize("language_type", [("en_7S"),("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("hu_HU")]) +@pytest.mark.parametrize("language_type", [("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("hu_HU"),("it_IT"),("ja_JP"),("ko_KR"),("nl_NL"),("pl_PL"),("pt_BR"),("ru_RU"),("tr_TR")]) def test_shortcut_keys(language_type): language_folder = language_type @@ -95,6 +77,7 @@ def test_shortcut_keys(language_type): last_translation_id = "" not_valid_shortcut_keys = [] + #Validate all shortcut keys for shortcut_key, scopes in shortcut_keys.items(): @@ -102,18 +85,15 @@ def test_shortcut_keys(language_type): for key, items in scopes.items(): if len (items) > 1: - not_valid_shortcut_keys.append(items) + not_valid_shortcut_keys += items if len(not_valid_shortcut_keys) != 0: temp='%s' % ', '.join(map(str, not_valid_shortcut_keys)) - print("NOT VALID KEYS: " + temp) + print(COLOR_WARNING + "NOT VALID KEYS: " + temp + COLOR_ENDC) assert len(not_valid_shortcut_keys) == 0 if __name__ == "__main__": - suite = unittest.TestSuite() - - - unittest.main(suite) \ No newline at end of file + unittest.main() \ No newline at end of file From 944b937036ba2d0ea98c7c3fc8f1116b22054366 Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Tue, 4 Sep 2018 10:50:57 +0200 Subject: [PATCH 121/162] Simplified unit test, make code clear CURA-5642 --- tests/TestShortcutKeys.py | 149 ++++++++++++++++++++++---------------- 1 file changed, 88 insertions(+), 61 deletions(-) diff --git a/tests/TestShortcutKeys.py b/tests/TestShortcutKeys.py index afed45bb44..88b905320e 100644 --- a/tests/TestShortcutKeys.py +++ b/tests/TestShortcutKeys.py @@ -11,7 +11,93 @@ MSGTR = "msgstr" # The translation COLOR_WARNING = '\033[93m' COLOR_ENDC = '\033[0m' -regex_patter = '(&[\w])' #"&[a-zA-Z0-9]" - Search char '&' and at least one character after it, the '+' returns one char after '&' +regex_patter = '(&[\w])' #"&[a-zA-Z0-9]" - Search char '&' and at least one character after it + +# Check default language shortcut keys, by default it is English +def test_default_shortcut_keys(): + + language_folder = "de_DE" # choose German language folder, because we only need to test English shortcut keys, the message id is English translation + + translation_file_name = "cura.po" + + plugin_file_path = os.path.dirname(os.path.abspath(__file__)) + path_records = os.path.split(plugin_file_path) + global_path = path_records[:-1] + cura_path = os.path.join(*global_path) + language_file_path = os.path.join(cura_path,"resources","i18n",language_folder, translation_file_name) + + + not_valid_shortcut_keys = getDublicatedShortcutKeys(language_file_path, False) + + if len(not_valid_shortcut_keys) != 0: + temp='%s' % ', '.join(map(str, not_valid_shortcut_keys)) + print(COLOR_WARNING + "NOT VALID KEYS: " + temp + COLOR_ENDC) + + + assert len(not_valid_shortcut_keys) == 0 + + + +# If the 'findShortcutKeysInTranslation' is False the function will search shortcut keys in message id +def getDublicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation): + last_translation_scope = "" + + + # {shortcut_key, {scope, [translation_text]}} + shortcut_keys = dict() + with open(language_file_path, 'r') as f: + for text in f: + + if text.startswith(MSGCTXT): + last_translation_scope = text + + + elif text.startswith(MSGID) and findShortcutKeysInTranslation or text.startswith(MSGTR) and not findShortcutKeysInTranslation: + + # if text has '&'symbol and at least one character (char or digit) after it + # ex '&acr mytest' -> this should return '&a' + the_shortcut_key_word = re.search(regex_patter, text) + + if the_shortcut_key_word is not None: + # take only char after '&' symbol + the_shortcut_key = the_shortcut_key_word.group(0)[1] + + the_shortcut_key = the_shortcut_key.upper() # make all shortcut keys capital + + # The shortcut key is not yet added + if the_shortcut_key not in shortcut_keys: + scope_translation = dict() + scope_translation[last_translation_scope] = [] + scope_translation[last_translation_scope].append(text) + + shortcut_keys[the_shortcut_key] = scope_translation + else: + # check if the shortcut key scope is already added + if last_translation_scope not in shortcut_keys[the_shortcut_key]: + scope_translation = dict() + scope_translation[last_translation_scope] = [] + scope_translation[last_translation_scope].append(text) + shortcut_keys[the_shortcut_key].update(scope_translation) + + # if the scope already exist then add the key + elif last_translation_scope in shortcut_keys[the_shortcut_key]: + shortcut_keys[the_shortcut_key][last_translation_scope].append(text) + + last_translation_scope = "" + + not_valid_shortcut_keys = [] + + # Validate all shortcut keys + for shortcut_key, scopes in shortcut_keys.items(): + + # check, whether the key exist in the same scope multiple times or not + for key, items in scopes.items(): + + if len(items) > 1: + not_valid_shortcut_keys += items + + return not_valid_shortcut_keys + @pytest.mark.parametrize("language_type", [("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("hu_HU"),("it_IT"),("ja_JP"),("ko_KR"),("nl_NL"),("pl_PL"),("pt_BR"),("ru_RU"),("tr_TR")]) def test_shortcut_keys(language_type): @@ -26,66 +112,7 @@ def test_shortcut_keys(language_type): cura_path = os.path.join(*global_path) language_file_path = os.path.join(cura_path,"resources","i18n",language_folder, translation_file_name) - - last_translation_scope = "" - last_translation_id = "" - last_translation_text = "" - - #{shortcut_key, {scope, [translation_text]}} - shortcut_keys = dict() - with open(language_file_path,'r') as f: - for text in f: - - if text.startswith(MSGCTXT): - last_translation_scope = text - elif text.startswith(MSGID): - last_translation_id = text - elif text.startswith(MSGTR): - last_translation_text = text - - #if text has '&'symbol and at least one character (char or digit) should be after it - # ex '&acr mytest' -> this should return '&a' - the_shortcut_key_word = re.search(regex_patter, text) - - if the_shortcut_key_word is not None: - # take only char after '&' symbol - the_shortcut_key = the_shortcut_key_word.group(0)[1] - - the_shortcut_key = the_shortcut_key.upper() #make all shortcut keys capital - - #The shortcut key is not yet added - if the_shortcut_key not in shortcut_keys: - scope_translation = dict() - scope_translation[last_translation_scope] = [] - scope_translation[last_translation_scope].append(text) - - shortcut_keys[the_shortcut_key] = scope_translation - else: - #check if the shortcut key scope is already added - if last_translation_scope not in shortcut_keys[the_shortcut_key]: - scope_translation = dict() - scope_translation[last_translation_scope] = [] - scope_translation[last_translation_scope].append(text) - shortcut_keys[the_shortcut_key].update(scope_translation) - - # if the scope already exist then add the key - elif last_translation_scope in shortcut_keys[the_shortcut_key]: - shortcut_keys[the_shortcut_key][last_translation_scope].append(text) - - - last_translation_scope = "" - last_translation_id = "" - - not_valid_shortcut_keys = [] - - #Validate all shortcut keys - for shortcut_key, scopes in shortcut_keys.items(): - - #check, whether the exist in one scope multiple times or not - for key, items in scopes.items(): - - if len (items) > 1: - not_valid_shortcut_keys += items + not_valid_shortcut_keys = getDublicatedShortcutKeys(language_file_path, False) if len(not_valid_shortcut_keys) != 0: temp='%s' % ', '.join(map(str, not_valid_shortcut_keys)) From e853cdc04d2bb0369448f21b157d9c78e21d5020 Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Tue, 4 Sep 2018 11:29:33 +0200 Subject: [PATCH 122/162] Removed shortcut from Reset All Model &Transformations CURA-5642 --- resources/i18n/cura.pot | 2 +- resources/i18n/de_DE/cura.po | 2 +- resources/i18n/es_ES/cura.po | 4 ++-- resources/i18n/fi_FI/cura.po | 4 ++-- resources/i18n/fr_FR/cura.po | 2 +- resources/i18n/it_IT/cura.po | 4 ++-- resources/i18n/ja_JP/cura.po | 2 +- resources/i18n/ko_KR/cura.po | 2 +- resources/i18n/nl_NL/cura.po | 4 ++-- resources/i18n/pl_PL/cura.po | 2 +- resources/i18n/pt_BR/cura.po | 4 ++-- resources/i18n/pt_PT/cura.po | 4 ++-- resources/i18n/ru_RU/cura.po | 2 +- resources/i18n/tr_TR/cura.po | 2 +- resources/i18n/zh_CN/cura.po | 4 ++-- resources/i18n/zh_TW/cura.po | 4 ++-- resources/qml/Actions.qml | 2 +- 17 files changed, 25 insertions(+), 25 deletions(-) diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index 45a85a5849..095de34320 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -4047,7 +4047,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" +msgid "Reset All Model Transformations" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index 9b12574005..c027b60497 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -3894,7 +3894,7 @@ msgstr "Alle Modellpositionen zurücksetzen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" +msgid "Reset All Model Transformations" msgstr "Alle Modell&transformationen zurücksetzen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 12fc6b86ae..ff53dcb2de 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -3906,8 +3906,8 @@ msgstr "Restablecer las posiciones de todos los modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "Restablecer las &transformaciones de todos los modelos" +msgid "Reset All Model Transformations" +msgstr "Restablecer las transformaciones de todos los modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" diff --git a/resources/i18n/fi_FI/cura.po b/resources/i18n/fi_FI/cura.po index b19479da89..457900043a 100644 --- a/resources/i18n/fi_FI/cura.po +++ b/resources/i18n/fi_FI/cura.po @@ -3913,8 +3913,8 @@ msgstr "Määritä kaikkien mallien positiot uudelleen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "Määritä kaikkien mallien &muutokset uudelleen" +msgid "Reset All Model Transformations" +msgstr "Määritä kaikkien mallien muutokset uudelleen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index 39662ae57c..d1b9525390 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -3894,7 +3894,7 @@ msgstr "Réinitialiser toutes les positions des modèles" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" +msgid "Reset All Model Transformations" msgstr "Réinitialiser tous les modèles et transformations" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index 227470708d..53dfee02a7 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -3892,8 +3892,8 @@ msgstr "Reimposta tutte le posizioni dei modelli" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "Reimposta tutte le &trasformazioni dei modelli" +msgid "Reset All Model Transformations" +msgstr "Reimposta tutte le trasformazioni dei modelli" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 5955ea7284..7a78b890f3 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -3898,7 +3898,7 @@ msgstr "すべてのモデルのポジションをリセットする" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" +msgid "Reset All Model Transformations" msgstr "すべてのモデル&変更点をリセットする" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 45c57d3bb5..5dc5e51fc1 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -3887,7 +3887,7 @@ msgstr "모든 모델의 위치 재설정" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" +msgid "Reset All Model Transformations" msgstr "모든 모델의 변환 재설정" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index 81f1e1ddb7..f69c4f7eab 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -3892,8 +3892,8 @@ msgstr "Alle Modelposities Herstellen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "Alle Model&transformaties Herstellen" +msgid "Reset All Model Transformations" +msgstr "Alle Modeltransformaties Herstellen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index cd5f016cb5..04a4af2b80 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -3928,7 +3928,7 @@ msgstr "Zresetuj wszystkie pozycje modelu" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" +msgid "Reset All Model Transformations" msgstr "Zresetuj wszystkie przekształcenia modelu" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index fca696da74..1706f902ae 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -3931,8 +3931,8 @@ msgstr "Reestabelecer as Posições de Todos Os Modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "Remover as &Transformações de Todos Os Modelos" +msgid "Reset All Model Transformations" +msgstr "Remover as Transformações de Todos Os Modelos" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index ef69f0f534..7377a2d3b0 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -4012,8 +4012,8 @@ msgstr "Repor todas as posições de modelos" # Cancelar todas? #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "Repor Todas as &Transformações do Modelo" +msgid "Reset All Model Transformations" +msgstr "Repor Todas as Transformações do Modelo" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index d928a8a33d..777e352e58 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -3901,7 +3901,7 @@ msgstr "Сбросить позиции всех моделей" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" +msgid "Reset All Model Transformations" msgstr "Сбросить преобразования всех моделей" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index 3b39dc583a..2cc0e2e57b 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -3892,7 +3892,7 @@ msgstr "Tüm Model Konumlarını Sıfırla" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" +msgid "Reset All Model Transformations" msgstr "Tüm Model ve Dönüşümleri Sıfırla" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 8b065216d4..8cc1324a93 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -3925,8 +3925,8 @@ msgstr "复位所有模型的位置" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "复位所有模型的变动(&T)" +msgid "Reset All Model Transformations" +msgstr "复位所有模型的变动" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index a1a4e3f4e4..70aaa5d37d 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -3926,8 +3926,8 @@ msgstr "重置所有模型位置" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" -msgid "Reset All Model &Transformations" -msgstr "重置所有模型旋轉(&T)" +msgid "Reset All Model Transformations" +msgstr "重置所有模型旋轉" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 06ac78221b..baad57e190 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -376,7 +376,7 @@ Item Action { id: resetAllAction; - text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model &Transformations"); + text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Transformations"); onTriggered: CuraApplication.resetAll(); } From 0f655553bb024d3eea12c6273602e784cd6224d5 Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Tue, 4 Sep 2018 11:35:33 +0200 Subject: [PATCH 123/162] Removed shortcut keys from general cura.pot CURA-5642 --- resources/i18n/cura.pot | 20 ++++++++++---------- resources/i18n/de_DE/cura.po | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index 095de34320..3a69ea8f9d 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -3880,27 +3880,27 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" -msgid "&3D View" +msgid "3D View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" -msgid "&Front View" +msgid "Front View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 msgctxt "@action:inmenu menubar:view" -msgid "&Top View" +msgid "Top View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 msgctxt "@action:inmenu menubar:view" -msgid "&Left Side View" +msgid "Left Side View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 msgctxt "@action:inmenu menubar:view" -msgid "&Right Side View" +msgid "Right Side View" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 @@ -3961,8 +3961,8 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selected Model" -msgid_plural "Delete &Selected Models" +msgid "Delete Selected Model" +msgid_plural "Delete Selected Models" msgstr[0] "" msgstr[1] "" @@ -4012,17 +4012,17 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:edit" -msgid "&Select All Models" +msgid "Select All Models" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 msgctxt "@action:inmenu menubar:edit" -msgid "&Clear Build Plate" +msgid "Clear Build Plate" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:file" -msgid "Re&load All Models" +msgid "Reload All Models" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:360 diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index c027b60497..70a099e89b 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -3895,7 +3895,7 @@ msgstr "Alle Modellpositionen zurücksetzen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:389 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" -msgstr "Alle Modell&transformationen zurücksetzen" +msgstr "Alle Modelltransformationen zurücksetzen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:396 msgctxt "@action:inmenu menubar:file" From 27c112d4db8e00fa4efc1607d764679cf08fee6f Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Tue, 4 Sep 2018 15:19:04 +0200 Subject: [PATCH 124/162] Fix duplicated shortcut keys in all languages CURA-5642 --- resources/i18n/cura.pot | 6 +++--- resources/i18n/de_DE/cura.po | 10 +++++----- resources/i18n/es_ES/cura.po | 12 ++++++------ resources/i18n/fi_FI/cura.po | 8 ++++---- resources/i18n/fr_FR/cura.po | 8 ++++---- resources/i18n/it_IT/cura.po | 18 +++++++++--------- resources/i18n/ja_JP/cura.po | 10 +++++----- resources/i18n/ko_KR/cura.po | 6 +++--- resources/i18n/nl_NL/cura.po | 8 ++++---- resources/i18n/pl_PL/cura.po | 14 +++++++------- resources/i18n/pt_BR/cura.po | 8 ++++---- resources/i18n/pt_PT/cura.po | 8 ++++---- resources/i18n/ru_RU/cura.po | 6 +++--- resources/i18n/tr_TR/cura.po | 10 +++++----- resources/i18n/zh_CN/cura.po | 8 ++++---- resources/i18n/zh_TW/cura.po | 8 ++++---- resources/qml/Actions.qml | 2 +- resources/qml/Cura.qml | 4 ++-- tests/TestShortcutKeys.py | 22 ++++++++++++---------- 19 files changed, 89 insertions(+), 87 deletions(-) diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index 3a69ea8f9d..71c55ffc21 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -3860,7 +3860,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" +msgid "Toggle Full Screen" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 @@ -4195,7 +4195,7 @@ msgid "&Settings" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "" @@ -4222,7 +4222,7 @@ msgid "Disable Extruder" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "" diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index 70a099e89b..645082a2bb 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -3707,8 +3707,8 @@ msgstr "Geschätzte verbleibende Zeit" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "Umschalten auf Vo&llbild-Modus" +msgid "Toggle Full Screen" +msgstr "Umschalten auf Vollbild-Modus" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -3783,7 +3783,7 @@ msgstr "&Aktuelle Änderungen verwerfen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." -msgstr "&Profil von aktuellen Einstellungen/Überschreibungen erstellen..." +msgstr "P&rofil von aktuellen Einstellungen/Überschreibungen erstellen..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 msgctxt "@action:inmenu menubar:profile" @@ -4039,7 +4039,7 @@ msgid "&Settings" msgstr "&Konfiguration" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "Dr&ucker" @@ -4066,7 +4066,7 @@ msgid "Disable Extruder" msgstr "Extruder deaktivieren" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Profil" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index ff53dcb2de..88b8e779ff 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -3582,7 +3582,7 @@ msgstr "&Posición de la cámara" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" -msgstr "&Placa de impresión" +msgstr "P&laca de impresión" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" @@ -3719,8 +3719,8 @@ msgstr "Tiempo restante estimado" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "A<ernar pantalla completa" +msgid "Toggle Full Screen" +msgstr "Alternar pantalla completa" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -4023,7 +4023,7 @@ msgstr "&Archivo" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:119 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" -msgstr "Guardar &selección en archivo" +msgstr "&Guardar selección en archivo" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:file" @@ -4051,7 +4051,7 @@ msgid "&Settings" msgstr "A&justes" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Impresora" @@ -4078,7 +4078,7 @@ msgid "Disable Extruder" msgstr "Deshabilitar extrusor" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Perfil" diff --git a/resources/i18n/fi_FI/cura.po b/resources/i18n/fi_FI/cura.po index 457900043a..dc491e7cff 100644 --- a/resources/i18n/fi_FI/cura.po +++ b/resources/i18n/fi_FI/cura.po @@ -3726,8 +3726,8 @@ msgstr "Aikaa jäljellä arviolta" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "Vaihda &koko näyttöön" +msgid "Toggle Full Screen" +msgstr "Vaihda koko näyttöön" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -4058,7 +4058,7 @@ msgid "&Settings" msgstr "&Asetukset" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Tulostin" @@ -4085,7 +4085,7 @@ msgid "Disable Extruder" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Profiili" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index d1b9525390..6591073c98 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -3707,8 +3707,8 @@ msgstr "Durée restante estimée" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "Passer en P&lein écran" +msgid "Toggle Full Screen" +msgstr "Passer en Plein écran" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -4039,7 +4039,7 @@ msgid "&Settings" msgstr "&Paramètres" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "Im&primante" @@ -4066,7 +4066,7 @@ msgid "Disable Extruder" msgstr "Désactiver l'extrudeuse" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Profil" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index 53dfee02a7..361a65c542 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -3568,7 +3568,7 @@ msgstr "&Posizione fotocamera" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" -msgstr "&Piano di stampa" +msgstr "P&iano di stampa" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" @@ -3705,8 +3705,8 @@ msgstr "Tempo residuo stimato" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "Att&iva/disattiva schermo intero" +msgid "Toggle Full Screen" +msgstr "Attiva/disattiva schermo intero" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -3721,7 +3721,7 @@ msgstr "Ri&peti" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 msgctxt "@action:inmenu menubar:file" msgid "&Quit" -msgstr "E&sci" +msgstr "&Esci" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" @@ -3756,12 +3756,12 @@ msgstr "Configura Cura..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." -msgstr "A&ggiungi stampante..." +msgstr "&Aggiungi stampante..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." -msgstr "&Gestione stampanti..." +msgstr "Gestione stampanti..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 msgctxt "@action:inmenu" @@ -3908,7 +3908,7 @@ msgstr "&Nuovo Progetto..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:411 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." -msgstr "M&ostra log motore..." +msgstr "Mostra &log motore..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:419 msgctxt "@action:inmenu menubar:help" @@ -4037,7 +4037,7 @@ msgid "&Settings" msgstr "&Impostazioni" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "S&tampante" @@ -4064,7 +4064,7 @@ msgid "Disable Extruder" msgstr "Disabilita estrusore" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Profilo" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 7a78b890f3..5bfcf0af02 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -3711,7 +3711,7 @@ msgstr "残り時間" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" +msgid "Toggle Full Screen" msgstr "留め金 フルスクリーン" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 @@ -3854,7 +3854,7 @@ msgstr "モデルを非グループ化" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" -msgstr "&モデルの合体" +msgstr "モ&デルの合体" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:324 msgctxt "@action:inmenu" @@ -4015,7 +4015,7 @@ msgstr "&ファイル" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:119 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" -msgstr "&ファイルに選択したものを保存" +msgstr "フ&ァイルに選択したものを保存" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:file" @@ -4043,7 +4043,7 @@ msgid "&Settings" msgstr "&設定" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&プリンター" @@ -4070,7 +4070,7 @@ msgid "Disable Extruder" msgstr "エクストルーダーを無効にする" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&プロファイル" diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 5dc5e51fc1..a3bd842bd3 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -3703,7 +3703,7 @@ msgstr "예상 남은 시간" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" +msgid "Toggle Full Screen" msgstr "전채 화면 전환" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 @@ -4032,7 +4032,7 @@ msgid "&Settings" msgstr "설정" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "프린터" @@ -4059,7 +4059,7 @@ msgid "Disable Extruder" msgstr "익스트루더 사용하지 않음" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "프로파일" diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index f69c4f7eab..24e27c09b5 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -3705,8 +3705,8 @@ msgstr "Geschatte resterende tijd" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "Vo&lledig Scherm In-/Uitschakelen" +msgid "Toggle Full Screen" +msgstr "Volledig Scherm In-/Uitschakelen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -4037,7 +4037,7 @@ msgid "&Settings" msgstr "In&stellingen" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Printer" @@ -4064,7 +4064,7 @@ msgid "Disable Extruder" msgstr "Extruder uitschakelen" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Profiel" diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index 04a4af2b80..acfcc54f76 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -3602,7 +3602,7 @@ msgstr "&Pozycja kamery" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" -msgstr "&Pole robocze" +msgstr "P&ole robocze" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" @@ -3741,7 +3741,7 @@ msgstr "Szacowany czas pozostały" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" +msgid "Toggle Full Screen" msgstr "Przełącz tryb pełnoekranowy" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 @@ -3884,7 +3884,7 @@ msgstr "Rozgrupuj modele " #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" -msgstr "&Połącz modele" +msgstr "Połącz modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:324 msgctxt "@action:inmenu" @@ -4045,7 +4045,7 @@ msgstr "&Plik" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:119 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" -msgstr "&Zapisz wybór w pliku" +msgstr "Z&apisz wybór w pliku" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:file" @@ -4073,7 +4073,7 @@ msgid "&Settings" msgstr "&Ustawienia" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Drukarka" @@ -4100,7 +4100,7 @@ msgid "Disable Extruder" msgstr "Wyłącz Ekstruder" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Profil" @@ -4122,7 +4122,7 @@ msgstr "Preferencje" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:289 msgctxt "@title:menu menubar:toplevel" msgid "&Help" -msgstr "&Pomoc" +msgstr "P&omoc" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:335 msgctxt "@label" diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index 1706f902ae..a6a93bb2a3 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -3744,8 +3744,8 @@ msgstr "Tempo restante estimado" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "A<ernar Tela Cheia" +msgid "Toggle Full Screen" +msgstr "Alternar Tela Cheia" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -4076,7 +4076,7 @@ msgid "&Settings" msgstr "Aju&stes" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "Im&pressora" @@ -4103,7 +4103,7 @@ msgid "Disable Extruder" msgstr "Desabilitar Extrusor" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Perfil" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index 7377a2d3b0..fe8d44d361 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -3823,8 +3823,8 @@ msgstr "Tempo restante estimado" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "Alternar para e&crã inteiro" +msgid "Toggle Full Screen" +msgstr "Alternar para ecrã inteiro" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -4164,7 +4164,7 @@ msgid "&Settings" msgstr "&Definições" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Impressora" @@ -4191,7 +4191,7 @@ msgid "Disable Extruder" msgstr "Desativar Extrusor" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Perfil" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index 777e352e58..7622349423 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -3711,7 +3711,7 @@ msgstr "Осталось примерно" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" +msgid "Toggle Full Screen" msgstr "Полный экран" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 @@ -4046,7 +4046,7 @@ msgid "&Settings" msgstr "Параметры" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "Принтер" @@ -4073,7 +4073,7 @@ msgid "Disable Extruder" msgstr "Отключить экструдер" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "Профиль" diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index 2cc0e2e57b..6c216b7d1c 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -3705,7 +3705,7 @@ msgstr "Kalan tahmini süre" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" +msgid "Toggle Full Screen" msgstr "Tam Ekrana Geç" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 @@ -3781,7 +3781,7 @@ msgstr "&Geçerli değişiklikleri iptal et" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." -msgstr "&Geçerli ayarlardan/geçersiz kılmalardan profil oluştur..." +msgstr "G&eçerli ayarlardan/geçersiz kılmalardan profil oluştur..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 msgctxt "@action:inmenu menubar:profile" @@ -4024,7 +4024,7 @@ msgstr "Kaydet&Projelendir..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" -msgstr "&Düzenle" +msgstr "Düz&enle" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:179 msgctxt "@title:menu" @@ -4037,7 +4037,7 @@ msgid "&Settings" msgstr "&Ayarlar" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Yazıcı" @@ -4064,7 +4064,7 @@ msgid "Disable Extruder" msgstr "Ekstruderi Devre Dışı Bırak" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "&Profil" diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 8cc1324a93..aab579ac0b 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -3741,8 +3741,8 @@ msgstr "预计剩余时间" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "切换完整界面(&F)" +msgid "Toggle Full Screen" +msgstr "切换完整界面" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -4070,7 +4070,7 @@ msgid "&Settings" msgstr "设置(&S)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "打印机(&P)" @@ -4097,7 +4097,7 @@ msgid "Disable Extruder" msgstr "禁用挤出机" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "配置文件(&P)" diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index 70aaa5d37d..8d8b7c97d6 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -3742,8 +3742,8 @@ msgstr "預計剩餘時間" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 msgctxt "@action:inmenu" -msgid "Toggle Fu&ll Screen" -msgstr "切換全螢幕(&F)" +msgid "Toggle Full Screen" +msgstr "切換全螢幕" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 msgctxt "@action:inmenu menubar:edit" @@ -4071,7 +4071,7 @@ msgid "&Settings" msgstr "設定(&S)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:186 -msgctxt "@title:menu menubar:toplevel" +msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "印表機(&P)" @@ -4098,7 +4098,7 @@ msgid "Disable Extruder" msgstr "關閉擠出機" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:230 -msgctxt "@title:menu" +msgctxt "@title:settings" msgid "&Profile" msgstr "列印參數(&P)" diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index baad57e190..1b2f636f3e 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -75,7 +75,7 @@ Item Action { id:toggleFullScreenAction - text: catalog.i18nc("@action:inmenu","Toggle Fu&ll Screen"); + text: catalog.i18nc("@action:inmenu","Toggle Full Screen"); iconName: "view-fullscreen"; } diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 97742de57a..c22fea38b4 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -189,7 +189,7 @@ UM.MainWindow id: settingsMenu title: catalog.i18nc("@title:menu", "&Settings") - PrinterMenu { title: catalog.i18nc("@title:menu menubar:toplevel", "&Printer") } + PrinterMenu { title: catalog.i18nc("@title:menu menubar:settings", "&Printer") } Instantiator { @@ -233,7 +233,7 @@ UM.MainWindow // TODO Only show in dev mode. Remove check when feature ready BuildplateMenu { title: catalog.i18nc("@title:menu", "&Build plate"); visible: CuraSDKVersion == "dev" ? Cura.MachineManager.hasVariantBuildplates : false } - ProfileMenu { title: catalog.i18nc("@title:menu", "&Profile"); } + ProfileMenu { title: catalog.i18nc("@title:settings", "&Profile"); } MenuSeparator { } diff --git a/tests/TestShortcutKeys.py b/tests/TestShortcutKeys.py index 88b905320e..3f6f51446b 100644 --- a/tests/TestShortcutKeys.py +++ b/tests/TestShortcutKeys.py @@ -4,9 +4,9 @@ import re import unittest import pytest -MSGCTXT = "msgctxt" # Scope of the text -MSGID = "msgid" # The id of the text, also English version -MSGTR = "msgstr" # The translation +MSGCTXT = "msgctxt" # Scope of the text . Like : msgctxt "@action:inmenu menubar:help" +MSGID = "msgid" # The id tag, also English text version +MSGTR = "msgstr" # The translation tag COLOR_WARNING = '\033[93m' COLOR_ENDC = '\033[0m' @@ -27,11 +27,11 @@ def test_default_shortcut_keys(): language_file_path = os.path.join(cura_path,"resources","i18n",language_folder, translation_file_name) - not_valid_shortcut_keys = getDublicatedShortcutKeys(language_file_path, False) + not_valid_shortcut_keys = getDuplicatedShortcutKeys(language_file_path, False) if len(not_valid_shortcut_keys) != 0: temp='%s' % ', '.join(map(str, not_valid_shortcut_keys)) - print(COLOR_WARNING + "NOT VALID KEYS: " + temp + COLOR_ENDC) + print(COLOR_WARNING + "NOT VALID SHORTCUT KEYS: " + temp + COLOR_ENDC) assert len(not_valid_shortcut_keys) == 0 @@ -39,7 +39,7 @@ def test_default_shortcut_keys(): # If the 'findShortcutKeysInTranslation' is False the function will search shortcut keys in message id -def getDublicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation): +def getDuplicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation): last_translation_scope = "" @@ -56,6 +56,7 @@ def getDublicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation) # if text has '&'symbol and at least one character (char or digit) after it # ex '&acr mytest' -> this should return '&a' + # ex '& acr mytest' -> returns None the_shortcut_key_word = re.search(regex_patter, text) if the_shortcut_key_word is not None: @@ -72,7 +73,7 @@ def getDublicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation) shortcut_keys[the_shortcut_key] = scope_translation else: - # check if the shortcut key scope is already added + # check if the shortcut key scope is already added or not if last_translation_scope not in shortcut_keys[the_shortcut_key]: scope_translation = dict() scope_translation[last_translation_scope] = [] @@ -93,13 +94,14 @@ def getDublicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation) # check, whether the key exist in the same scope multiple times or not for key, items in scopes.items(): + #The shortcut keys should not be more than one time in the same scope if len(items) > 1: not_valid_shortcut_keys += items return not_valid_shortcut_keys -@pytest.mark.parametrize("language_type", [("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("hu_HU"),("it_IT"),("ja_JP"),("ko_KR"),("nl_NL"),("pl_PL"),("pt_BR"),("ru_RU"),("tr_TR")]) +@pytest.mark.parametrize("language_type", [("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("it_IT"),("ja_JP"),("ko_KR"),("nl_NL"),("pl_PL"),("pt_BR"),("ru_RU"),("tr_TR")]) def test_shortcut_keys(language_type): language_folder = language_type @@ -112,11 +114,11 @@ def test_shortcut_keys(language_type): cura_path = os.path.join(*global_path) language_file_path = os.path.join(cura_path,"resources","i18n",language_folder, translation_file_name) - not_valid_shortcut_keys = getDublicatedShortcutKeys(language_file_path, False) + not_valid_shortcut_keys = getDuplicatedShortcutKeys(language_file_path, False) if len(not_valid_shortcut_keys) != 0: temp='%s' % ', '.join(map(str, not_valid_shortcut_keys)) - print(COLOR_WARNING + "NOT VALID KEYS: " + temp + COLOR_ENDC) + print(COLOR_WARNING + "NOT VALID SHORTCUT KEYS: " + temp + COLOR_ENDC) assert len(not_valid_shortcut_keys) == 0 From c36434ebdd7ca70cd0b8bf5d3998a2a8314cedb6 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 5 Sep 2018 09:14:45 +0200 Subject: [PATCH 125/162] Fix TestShortcutKeys --- .../CuraEngineBackend/CuraEngineBackend.py | 2 +- tests/TestShortcutKeys.py | 47 +++++++------------ 2 files changed, 17 insertions(+), 32 deletions(-) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 9a5c95b04d..caa2deaa87 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -180,7 +180,7 @@ class CuraEngineBackend(QObject, Backend): # \return list of commands and args / parameters. def getEngineCommand(self) -> List[str]: json_path = Resources.getPath(Resources.DefinitionContainers, "fdmprinter.def.json") - command = [self._application.getPreferences().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), "-j", json_path, ""] + command = [self._application.getPreferences().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), "-j", json_path, "-m1"] parser = argparse.ArgumentParser(prog = "cura", add_help = False) parser.add_argument("--debug", action = "store_true", default = False, help = "Turn on the debug mode by setting this option.") diff --git a/tests/TestShortcutKeys.py b/tests/TestShortcutKeys.py index 3f6f51446b..e1dae6727e 100644 --- a/tests/TestShortcutKeys.py +++ b/tests/TestShortcutKeys.py @@ -1,11 +1,9 @@ - import os import re -import unittest import pytest MSGCTXT = "msgctxt" # Scope of the text . Like : msgctxt "@action:inmenu menubar:help" -MSGID = "msgid" # The id tag, also English text version +MSGID = "msgid" # The id tag, also English text version MSGTR = "msgstr" # The translation tag COLOR_WARNING = '\033[93m' @@ -13,47 +11,41 @@ COLOR_ENDC = '\033[0m' regex_patter = '(&[\w])' #"&[a-zA-Z0-9]" - Search char '&' and at least one character after it + +# Directory where this python file resides +SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) + + # Check default language shortcut keys, by default it is English def test_default_shortcut_keys(): - language_folder = "de_DE" # choose German language folder, because we only need to test English shortcut keys, the message id is English translation translation_file_name = "cura.po" - plugin_file_path = os.path.dirname(os.path.abspath(__file__)) - path_records = os.path.split(plugin_file_path) - global_path = path_records[:-1] - cura_path = os.path.join(*global_path) - language_file_path = os.path.join(cura_path,"resources","i18n",language_folder, translation_file_name) - + cura_path = os.path.abspath(os.path.join(SCRIPT_DIR, "..")) + language_file_path = os.path.join(cura_path, "resources", "i18n", language_folder, translation_file_name) not_valid_shortcut_keys = getDuplicatedShortcutKeys(language_file_path, False) if len(not_valid_shortcut_keys) != 0: - temp='%s' % ', '.join(map(str, not_valid_shortcut_keys)) + temp = '%s' % ', '.join(map(str, not_valid_shortcut_keys)) print(COLOR_WARNING + "NOT VALID SHORTCUT KEYS: " + temp + COLOR_ENDC) - assert len(not_valid_shortcut_keys) == 0 - # If the 'findShortcutKeysInTranslation' is False the function will search shortcut keys in message id -def getDuplicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation): +def getDuplicatedShortcutKeys(language_file_path: str, find_shortcut_keys_in_translation: bool): last_translation_scope = "" - # {shortcut_key, {scope, [translation_text]}} shortcut_keys = dict() with open(language_file_path, 'r') as f: for text in f: - if text.startswith(MSGCTXT): last_translation_scope = text - - elif text.startswith(MSGID) and findShortcutKeysInTranslation or text.startswith(MSGTR) and not findShortcutKeysInTranslation: - + elif text.startswith(MSGID) and find_shortcut_keys_in_translation or text.startswith(MSGTR) and not find_shortcut_keys_in_translation: # if text has '&'symbol and at least one character (char or digit) after it # ex '&acr mytest' -> this should return '&a' # ex '& acr mytest' -> returns None @@ -90,20 +82,18 @@ def getDuplicatedShortcutKeys(language_file_path, findShortcutKeysInTranslation) # Validate all shortcut keys for shortcut_key, scopes in shortcut_keys.items(): - # check, whether the key exist in the same scope multiple times or not for key, items in scopes.items(): - - #The shortcut keys should not be more than one time in the same scope + # The shortcut keys should not be more than one time in the same scope if len(items) > 1: not_valid_shortcut_keys += items return not_valid_shortcut_keys -@pytest.mark.parametrize("language_type", [("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("it_IT"),("ja_JP"),("ko_KR"),("nl_NL"),("pl_PL"),("pt_BR"),("ru_RU"),("tr_TR")]) +@pytest.mark.parametrize("language_type", [("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("it_IT"),("ja_JP"),("ko_KR"), + ("nl_NL"),("pl_PL"),("pt_BR"),("ru_RU"),("tr_TR")]) def test_shortcut_keys(language_type): - language_folder = language_type translation_file_name = "cura.po" @@ -112,17 +102,12 @@ def test_shortcut_keys(language_type): path_records = os.path.split(plugin_file_path) global_path = path_records[:-1] cura_path = os.path.join(*global_path) - language_file_path = os.path.join(cura_path,"resources","i18n",language_folder, translation_file_name) + language_file_path = os.path.join(cura_path, "resources", "i18n", language_folder, translation_file_name) not_valid_shortcut_keys = getDuplicatedShortcutKeys(language_file_path, False) if len(not_valid_shortcut_keys) != 0: - temp='%s' % ', '.join(map(str, not_valid_shortcut_keys)) + temp = "%s" % ", ".join(map(str, not_valid_shortcut_keys)) print(COLOR_WARNING + "NOT VALID SHORTCUT KEYS: " + temp + COLOR_ENDC) - assert len(not_valid_shortcut_keys) == 0 - - -if __name__ == "__main__": - unittest.main() \ No newline at end of file From a8a88e5ccb36071259e33006fa8bfb8528a1cd8b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 5 Sep 2018 09:15:46 +0200 Subject: [PATCH 126/162] Remove mistake changes in CuraEngineBackend --- plugins/CuraEngineBackend/CuraEngineBackend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index caa2deaa87..9a5c95b04d 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -180,7 +180,7 @@ class CuraEngineBackend(QObject, Backend): # \return list of commands and args / parameters. def getEngineCommand(self) -> List[str]: json_path = Resources.getPath(Resources.DefinitionContainers, "fdmprinter.def.json") - command = [self._application.getPreferences().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), "-j", json_path, "-m1"] + command = [self._application.getPreferences().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), "-j", json_path, ""] parser = argparse.ArgumentParser(prog = "cura", add_help = False) parser.add_argument("--debug", action = "store_true", default = False, help = "Turn on the debug mode by setting this option.") From 784f7cca7601e5e52c9e8e0046a1fe4370e5436b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 5 Sep 2018 16:17:02 +0200 Subject: [PATCH 127/162] Move shortcut key check into a separate script --- scripts/check_shortcut_keys.py | 135 +++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 scripts/check_shortcut_keys.py diff --git a/scripts/check_shortcut_keys.py b/scripts/check_shortcut_keys.py new file mode 100644 index 0000000000..2796002c3f --- /dev/null +++ b/scripts/check_shortcut_keys.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +# +# This script checks for duplicate shortcut keys in all translation files. +# +import collections +import os +import sys +from typing import Optional + +COLOR_WARNING = '\033[93m' +COLOR_ENDC = '\033[0m' + +regex_patter = '(&[\w])' #"&[a-zA-Z0-9]" - Search char '&' and at least one character after it + +# Directory where this python file resides +SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) + + +class ShortcutKeysChecker: + + MSGCTXT = "msgctxt" # Scope of the text . Like : msgctxt "@action:inmenu menubar:help" + MSGID = "msgid" # The id tag, also English text version + MSGSTR = "msgstr" # The translation tag + + def has_duplicates(self, filename: str) -> bool: + """ + Checks if the given file has duplicate shortcut keys. + """ + with open(filename, "r", encoding = "utf-8") as f: + all_lines = f.readlines() + + all_lines = [l.strip() for l in all_lines] + shortcut_dict = collections.defaultdict(dict) + found_ctxt = False + current_data = dict() + current_field = None + start_line = None + + for idx, line in enumerate(all_lines): + if line.startswith(self.MSGCTXT): + found_ctxt = True + current_data.clear() + current_field = self.MSGCTXT + current_data[current_field] = self._fetch_data(line) + start_line = idx + continue + + elif found_ctxt and line.startswith(self.MSGID): + current_field = self.MSGID + current_data[current_field] = self._fetch_data(line) + continue + + elif found_ctxt and line.startswith(self.MSGSTR): + current_field = self.MSGSTR + current_data[current_field] = self._fetch_data(line) + continue + + elif found_ctxt and line.startswith('"'): + data = line[1:-1] # strip the beginning and ending double-quotes + current_data[current_field] += data + continue + + if current_data: + self._process_translation(shortcut_dict, current_data, start_line) + + current_data.clear() + current_field = None + found_ctxt = False + start_line = None + + return self._show_all_duplicates(shortcut_dict, filename) + + def _fetch_data(self, line: str) -> str: + return (line.split(" ", 1)[-1])[1:-1] + + def _process_translation(self, shortcut_dict: dict, data_dict: dict, start_line: int) -> None: + # Only check the ones with shortcuts + msg = data_dict[self.MSGID] + if data_dict[self.MSGSTR]: + msg = data_dict[self.MSGSTR] + shortcut_key = self._get_shortcut_key(msg) + if shortcut_key is None: + return + + msg_section = data_dict[self.MSGCTXT] + keys_dict = shortcut_dict[msg_section] + if shortcut_key not in keys_dict: + keys_dict[shortcut_key] = dict() + existing_data_dict = keys_dict[shortcut_key] + existing_data_dict[start_line] = {"message": msg, + "shortcut_key": shortcut_key, + } + + def _get_shortcut_key(self, text: str) -> Optional[str]: + key = None + if text.count("&") == 1: + idx = text.find("&") + 1 + if idx < len(text): + character = text[idx] + if not character.isspace(): + key = character.lower() + return key + + def _show_all_duplicates(self, shortcut_dict: dict, filename: str) -> bool: + has_duplicates = False + for keys_dict in shortcut_dict.values(): + for shortcut_key, data_dict in keys_dict.items(): + if len(data_dict) == 1: + continue + + has_duplicates = True + + print("") + print("The following messages have the same shortcut key '%s':" % shortcut_key) + for line, msg in data_dict.items(): + relative_filename = (filename.rsplit("..", 1)[-1])[1:] + print(" - [%s] L%7d : [%s]" % (relative_filename, line, msg)) + + return has_duplicates + + +if __name__ == "__main__": + checker = ShortcutKeysChecker() + all_dirnames = [""] + for _, dirnames, _ in os.walk(os.path.join(SCRIPT_DIR, "..", "resources", "i18n")): + all_dirnames += [dn for dn in dirnames] + break + + found_duplicates = False + for dirname in all_dirnames: + file_name = "cura.pot" if not dirname else "cura.po" + file_path = os.path.join(SCRIPT_DIR, "..", "resources", "i18n", dirname, file_name) + found_duplicates = found_duplicates or checker.has_duplicates(file_path) + + sys.exit(0 if not found_duplicates else 1) From 15f5e9ff017b98d44986d5cefc1cebe04e840a3b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 5 Sep 2018 16:30:37 +0200 Subject: [PATCH 128/162] Remove TestShortcutKeys --- tests/TestShortcutKeys.py | 113 -------------------------------------- 1 file changed, 113 deletions(-) delete mode 100644 tests/TestShortcutKeys.py diff --git a/tests/TestShortcutKeys.py b/tests/TestShortcutKeys.py deleted file mode 100644 index e1dae6727e..0000000000 --- a/tests/TestShortcutKeys.py +++ /dev/null @@ -1,113 +0,0 @@ -import os -import re -import pytest - -MSGCTXT = "msgctxt" # Scope of the text . Like : msgctxt "@action:inmenu menubar:help" -MSGID = "msgid" # The id tag, also English text version -MSGTR = "msgstr" # The translation tag - -COLOR_WARNING = '\033[93m' -COLOR_ENDC = '\033[0m' - -regex_patter = '(&[\w])' #"&[a-zA-Z0-9]" - Search char '&' and at least one character after it - - -# Directory where this python file resides -SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) - - -# Check default language shortcut keys, by default it is English -def test_default_shortcut_keys(): - language_folder = "de_DE" # choose German language folder, because we only need to test English shortcut keys, the message id is English translation - - translation_file_name = "cura.po" - - cura_path = os.path.abspath(os.path.join(SCRIPT_DIR, "..")) - language_file_path = os.path.join(cura_path, "resources", "i18n", language_folder, translation_file_name) - - not_valid_shortcut_keys = getDuplicatedShortcutKeys(language_file_path, False) - - if len(not_valid_shortcut_keys) != 0: - temp = '%s' % ', '.join(map(str, not_valid_shortcut_keys)) - print(COLOR_WARNING + "NOT VALID SHORTCUT KEYS: " + temp + COLOR_ENDC) - - assert len(not_valid_shortcut_keys) == 0 - - -# If the 'findShortcutKeysInTranslation' is False the function will search shortcut keys in message id -def getDuplicatedShortcutKeys(language_file_path: str, find_shortcut_keys_in_translation: bool): - last_translation_scope = "" - - # {shortcut_key, {scope, [translation_text]}} - shortcut_keys = dict() - with open(language_file_path, 'r') as f: - for text in f: - if text.startswith(MSGCTXT): - last_translation_scope = text - - elif text.startswith(MSGID) and find_shortcut_keys_in_translation or text.startswith(MSGTR) and not find_shortcut_keys_in_translation: - # if text has '&'symbol and at least one character (char or digit) after it - # ex '&acr mytest' -> this should return '&a' - # ex '& acr mytest' -> returns None - the_shortcut_key_word = re.search(regex_patter, text) - - if the_shortcut_key_word is not None: - # take only char after '&' symbol - the_shortcut_key = the_shortcut_key_word.group(0)[1] - - the_shortcut_key = the_shortcut_key.upper() # make all shortcut keys capital - - # The shortcut key is not yet added - if the_shortcut_key not in shortcut_keys: - scope_translation = dict() - scope_translation[last_translation_scope] = [] - scope_translation[last_translation_scope].append(text) - - shortcut_keys[the_shortcut_key] = scope_translation - else: - # check if the shortcut key scope is already added or not - if last_translation_scope not in shortcut_keys[the_shortcut_key]: - scope_translation = dict() - scope_translation[last_translation_scope] = [] - scope_translation[last_translation_scope].append(text) - shortcut_keys[the_shortcut_key].update(scope_translation) - - # if the scope already exist then add the key - elif last_translation_scope in shortcut_keys[the_shortcut_key]: - shortcut_keys[the_shortcut_key][last_translation_scope].append(text) - - last_translation_scope = "" - - not_valid_shortcut_keys = [] - - # Validate all shortcut keys - for shortcut_key, scopes in shortcut_keys.items(): - # check, whether the key exist in the same scope multiple times or not - for key, items in scopes.items(): - # The shortcut keys should not be more than one time in the same scope - if len(items) > 1: - not_valid_shortcut_keys += items - - return not_valid_shortcut_keys - - -@pytest.mark.parametrize("language_type", [("de_DE"),("es_ES"),("fi_FI"),("fr_FR"),("it_IT"),("ja_JP"),("ko_KR"), - ("nl_NL"),("pl_PL"),("pt_BR"),("ru_RU"),("tr_TR")]) -def test_shortcut_keys(language_type): - language_folder = language_type - - translation_file_name = "cura.po" - - plugin_file_path = os.path.dirname(os.path.abspath(__file__)) - path_records = os.path.split(plugin_file_path) - global_path = path_records[:-1] - cura_path = os.path.join(*global_path) - language_file_path = os.path.join(cura_path, "resources", "i18n", language_folder, translation_file_name) - - not_valid_shortcut_keys = getDuplicatedShortcutKeys(language_file_path, False) - - if len(not_valid_shortcut_keys) != 0: - temp = "%s" % ", ".join(map(str, not_valid_shortcut_keys)) - print(COLOR_WARNING + "NOT VALID SHORTCUT KEYS: " + temp + COLOR_ENDC) - - assert len(not_valid_shortcut_keys) == 0 From 29ef964ba7ec4f0aeb7869ec59ec94c1ed26bd83 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 5 Sep 2018 16:31:08 +0200 Subject: [PATCH 129/162] Add shortcut key check script into Jenkinsfile --- Jenkinsfile | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index de62b7ed5a..8837fdf487 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -12,6 +12,19 @@ parallel_nodes(['linux && cura', 'windows && cura']) { // If any error occurs during building, we want to catch it and continue with the "finale" stage. catchError { + stage('Pre Checks') { + if (isUnix()) { + try { + sh """ + echo 'Check for duplicate shortcut keys in all translation files.' + ${env.CURA_ENVIRONMENT_PATH}/master/bin/python3 scripts/check_shortcut_keys.py + """ + } catch(e) { + currentBuild.result = "UNSTABLE" + } + } + } + // Building and testing should happen in a subdirectory. dir('build') { // Perform the "build". Since Uranium is Python code, this basically only ensures CMake is setup. From 5a36bc963c315fa0caa709456e7f0cdd88a77ac8 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 5 Sep 2018 16:44:58 +0200 Subject: [PATCH 130/162] Fix shortcut conflict in French --- resources/i18n/fi_FI/cura.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/fi_FI/cura.po b/resources/i18n/fi_FI/cura.po index dc491e7cff..4684ff69d8 100644 --- a/resources/i18n/fi_FI/cura.po +++ b/resources/i18n/fi_FI/cura.po @@ -4025,7 +4025,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:102 msgctxt "@title:menu menubar:toplevel" msgid "&File" -msgstr "&Tiedosto" +msgstr "Tie&dosto" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:119 msgctxt "@action:inmenu menubar:file" From 4cc1b6ce02a5aa629d3083f97b6a2cc61a14f971 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 6 Sep 2018 16:57:45 +0200 Subject: [PATCH 131/162] Add typings and fix code style --- cura/PrintJobPreviewImageProvider.py | 2 +- .../ExtruderConfigurationModel.py | 8 ++-- cura/PrinterOutput/ExtruderOutputModel.py | 6 +-- .../NetworkedPrinterOutputDevice.py | 47 ++++++++++++------- cura/PrinterOutput/PrintJobOutputModel.py | 6 +-- .../UM3NetworkPrinting/ClusterControlItem.qml | 9 +++- .../UM3NetworkPrinting/ClusterMonitorItem.qml | 2 - .../ClusterUM3OutputDevice.py | 18 +++---- .../PrintCoreConfiguration.qml | 2 +- 9 files changed, 61 insertions(+), 39 deletions(-) diff --git a/cura/PrintJobPreviewImageProvider.py b/cura/PrintJobPreviewImageProvider.py index d3521bf0af..a8df5aa273 100644 --- a/cura/PrintJobPreviewImageProvider.py +++ b/cura/PrintJobPreviewImageProvider.py @@ -10,7 +10,7 @@ class PrintJobPreviewImageProvider(QQuickImageProvider): super().__init__(QQuickImageProvider.Image) ## Request a new image. - def requestImage(self, id, size): + def requestImage(self, id: str, size: QSize) -> QImage: # The id will have an uuid and an increment separated by a slash. As we don't care about the value of the # increment, we need to strip that first. uuid = id[id.find("/") + 1:] diff --git a/cura/PrinterOutput/ExtruderConfigurationModel.py b/cura/PrinterOutput/ExtruderConfigurationModel.py index 75ee4b6ab3..da0ad6b0b2 100644 --- a/cura/PrinterOutput/ExtruderConfigurationModel.py +++ b/cura/PrinterOutput/ExtruderConfigurationModel.py @@ -11,7 +11,7 @@ class ExtruderConfigurationModel(QObject): extruderConfigurationChanged = pyqtSignal() - def __init__(self, position: int = -1): + def __init__(self, position: int = -1) -> None: super().__init__() self._position = position # type: int self._material = None # type: Optional[MaterialOutputModel] @@ -24,17 +24,17 @@ class ExtruderConfigurationModel(QObject): def position(self) -> int: return self._position - def setMaterial(self, material: Optional[MaterialOutputModel]): + def setMaterial(self, material: Optional[MaterialOutputModel]) -> None: if self._hotend_id != material: self._material = material self.extruderConfigurationChanged.emit() @pyqtProperty(QObject, fset = setMaterial, notify = extruderConfigurationChanged) - def activeMaterial(self) -> MaterialOutputModel: + def activeMaterial(self) -> Optional[MaterialOutputModel]: return self._material @pyqtProperty(QObject, fset=setMaterial, notify=extruderConfigurationChanged) - def material(self) -> MaterialOutputModel: + def material(self) -> Optional[MaterialOutputModel]: return self._material def setHotendID(self, hotend_id: Optional[str]) -> None: diff --git a/cura/PrinterOutput/ExtruderOutputModel.py b/cura/PrinterOutput/ExtruderOutputModel.py index c7fd58c098..30d53bbd85 100644 --- a/cura/PrinterOutput/ExtruderOutputModel.py +++ b/cura/PrinterOutput/ExtruderOutputModel.py @@ -22,8 +22,8 @@ class ExtruderOutputModel(QObject): super().__init__(parent) self._printer = printer # type: PrinterOutputModel self._position = position - self._target_hotend_temperature = 0 # type: float - self._hotend_temperature = 0 # type: float + self._target_hotend_temperature = 0.0 # type: float + self._hotend_temperature = 0.0 # type: float self._is_preheating = False @@ -50,7 +50,7 @@ class ExtruderOutputModel(QObject): def activeMaterial(self) -> Optional["MaterialOutputModel"]: return self._extruder_configuration.activeMaterial - def updateActiveMaterial(self, material: Optional["MaterialOutputModel"]): + def updateActiveMaterial(self, material: Optional["MaterialOutputModel"]) -> None: self._extruder_configuration.setMaterial(material) ## Update the hotend temperature. This only changes it locally. diff --git a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py index 36369feabb..94f86f19a3 100644 --- a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py +++ b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py @@ -197,31 +197,43 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): self._validateManager() request = self._createEmptyRequest(target) self._last_request_time = time() - reply = self._manager.put(request, data.encode()) - self._registerOnFinishedCallback(reply, on_finished) + if self._manager is not None: + reply = self._manager.put(request, data.encode()) + self._registerOnFinishedCallback(reply, on_finished) + else: + Logger.log("e", "Could not find manager.") def delete(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: self._validateManager() request = self._createEmptyRequest(target) self._last_request_time = time() - reply = self._manager.deleteResource(request) - self._registerOnFinishedCallback(reply, on_finished) + if self._manager is not None: + reply = self._manager.deleteResource(request) + self._registerOnFinishedCallback(reply, on_finished) + else: + Logger.log("e", "Could not find manager.") def get(self, target: str, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None: self._validateManager() request = self._createEmptyRequest(target) self._last_request_time = time() - reply = self._manager.get(request) - self._registerOnFinishedCallback(reply, on_finished) + if self._manager is not None: + reply = self._manager.get(request) + self._registerOnFinishedCallback(reply, on_finished) + else: + Logger.log("e", "Could not find manager.") def post(self, target: str, data: str, on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> None: self._validateManager() request = self._createEmptyRequest(target) self._last_request_time = time() - reply = self._manager.post(request, data) - if on_progress is not None: - reply.uploadProgress.connect(on_progress) - self._registerOnFinishedCallback(reply, on_finished) + if self._manager is not None: + reply = self._manager.post(request, data) + if on_progress is not None: + reply.uploadProgress.connect(on_progress) + self._registerOnFinishedCallback(reply, on_finished) + else: + Logger.log("e", "Could not find manager.") def postFormWithParts(self, target: str, parts: List[QHttpPart], on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> QNetworkReply: self._validateManager() @@ -232,15 +244,18 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): self._last_request_time = time() - reply = self._manager.post(request, multi_post_part) + if self._manager is not None: + reply = self._manager.post(request, multi_post_part) - self._kept_alive_multiparts[reply] = multi_post_part + self._kept_alive_multiparts[reply] = multi_post_part - if on_progress is not None: - reply.uploadProgress.connect(on_progress) - self._registerOnFinishedCallback(reply, on_finished) + if on_progress is not None: + reply.uploadProgress.connect(on_progress) + self._registerOnFinishedCallback(reply, on_finished) - return reply + return reply + else: + Logger.log("e", "Could not find manager.") def postForm(self, target: str, header_data: str, body_data: bytes, on_finished: Optional[Callable[[QNetworkReply], None]], on_progress: Callable = None) -> None: post_part = QHttpPart() diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index c8d813f17c..7366b95f86 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -40,7 +40,7 @@ class PrintJobOutputModel(QObject): self._compatible_machine_families = [] # type: List[str] self._preview_image_id = 0 - self._preview_image = None + self._preview_image = None # type: Optional[QImage] @pyqtProperty("QStringList", notify=compatibleMachineFamiliesChanged) def compatibleMachineFamilies(self): @@ -61,10 +61,10 @@ class PrintJobOutputModel(QObject): temp = "image://print_job_preview/" + str(self._preview_image_id) + "/" + self._key return QUrl(temp, QUrl.TolerantMode) - def getPreviewImage(self): + def getPreviewImage(self) -> Optional[QImage]: return self._preview_image - def updatePreviewImage(self, preview_image: Optional[QImage]): + def updatePreviewImage(self, preview_image: Optional[QImage]) -> None: if self._preview_image != preview_image: self._preview_image = preview_image self.previewImageChanged.emit() diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/ClusterControlItem.qml index 2b2c683bee..be72d3c07a 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterControlItem.qml @@ -357,7 +357,14 @@ Component function switchPopupState() { - popup.visible ? popup.close() : popup.open() + if (popup.visible) + { + popup.close() + } + else + { + popup.open() + } } Controls2.Button diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml index 82b1f554b7..71b598d05c 100644 --- a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml @@ -101,8 +101,6 @@ Component { if (monitorFrame != null && !monitorFrame.visible) { - // After switching the Tab ensure that active printer is Null, the video stream image - // might be active OutputDevice.setActiveCamera(null) } } diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index 353a67ccd0..8345de049c 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -146,14 +146,15 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): Logger.log("e", "Missing file or mesh writer!") return self._sending_job = self._sendPrintJob(writer, preferred_format, nodes) - self._sending_job.send(None) # Start the generator. + if self._sending_job is not None: + self._sending_job.send(None) # Start the generator. - if len(self._printers) > 1: # We need to ask the user. - self._spawnPrinterSelectionDialog() - is_job_sent = True - else: # Just immediately continue. - self._sending_job.send("") # No specifically selected printer. - is_job_sent = self._sending_job.send(None) + if len(self._printers) > 1: # We need to ask the user. + self._spawnPrinterSelectionDialog() + is_job_sent = True + else: # Just immediately continue. + self._sending_job.send("") # No specifically selected printer. + is_job_sent = self._sending_job.send(None) def _spawnPrinterSelectionDialog(self): if self._printer_selection_dialog is None: @@ -171,7 +172,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): # \param target_printer The name of the printer to target. @pyqtSlot(str) def selectPrinter(self, target_printer: str = "") -> None: - self._sending_job.send(target_printer) + if self._sending_job is not None: + self._sending_job.send(target_printer) @pyqtSlot() def cancelPrintSelection(self) -> None: diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml index 539d8385c9..0ae1fec920 100644 --- a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml @@ -22,7 +22,7 @@ Item anchors.verticalCenter: printAndMaterialLabel.verticalCenter opacity: { - if(printCoreConfiguration == undefined || printCoreConfiguration.activeMaterial == undefined || printCoreConfiguration.hotendID == undefined) + if(printCoreConfiguration == null || printCoreConfiguration.activeMaterial == null || printCoreConfiguration.hotendID == null) { return 0.5 } From d6046c725a6aa301d39d094f41c8721a5c527b82 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 7 Sep 2018 09:29:29 +0200 Subject: [PATCH 132/162] Fix Toolbox QML null object warnings CURA-5670 --- .../resources/qml/ToolboxCompatibilityChart.qml | 2 +- .../Toolbox/resources/qml/ToolboxDetailList.qml | 2 +- .../Toolbox/resources/qml/ToolboxDetailPage.qml | 16 ++++++++++++---- .../Toolbox/resources/qml/ToolboxDetailTile.qml | 2 +- .../resources/qml/ToolboxDownloadsPage.qml | 2 ++ .../resources/qml/ToolboxInstalledPage.qml | 2 ++ 6 files changed, 19 insertions(+), 7 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml index 4a008f2a83..58fea079e9 100644 --- a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml +++ b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml @@ -1,7 +1,7 @@ // Copyright (c) 2018 Ultimaker B.V. // Toolbox is released under the terms of the LGPLv3 or higher. -import QtQuick 2.2 +import QtQuick 2.7 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 import UM 1.1 as UM diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailList.qml b/plugins/Toolbox/resources/qml/ToolboxDetailList.qml index 2b4cd838bf..2e5eae098c 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailList.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailList.qml @@ -1,7 +1,7 @@ // Copyright (c) 2018 Ultimaker B.V. // Toolbox is released under the terms of the LGPLv3 or higher. -import QtQuick 2.2 +import QtQuick 2.7 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 import UM 1.1 as UM diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml index cf4bfcd545..270e8fc1fc 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml @@ -32,7 +32,7 @@ Item width: UM.Theme.getSize("toolbox_thumbnail_medium").width height: UM.Theme.getSize("toolbox_thumbnail_medium").height fillMode: Image.PreserveAspectFit - source: details.icon_url || "../images/logobot.svg" + source: details === null ? "" : (details.icon_url || "../images/logobot.svg") mipmap: true anchors { @@ -55,7 +55,7 @@ Item rightMargin: UM.Theme.getSize("wide_margin").width bottomMargin: UM.Theme.getSize("default_margin").height } - text: details.name || "" + text: details === null ? "" : (details.name || "") font: UM.Theme.getFont("large") color: UM.Theme.getColor("text") wrapMode: Text.WordWrap @@ -114,7 +114,7 @@ Item height: childrenRect.height Label { - text: details.version || catalog.i18nc("@label", "Unknown") + text: details === null ? "" : (details.version || catalog.i18nc("@label", "Unknown")) font: UM.Theme.getFont("very_small") color: UM.Theme.getColor("text") } @@ -122,6 +122,10 @@ Item { text: { + if (details === null) + { + return "" + } var date = new Date(details.last_updated) return date.toLocaleString(UM.Preferences.getValue("general/language")) } @@ -132,6 +136,10 @@ Item { text: { + if (details === null) + { + return "" + } if (details.author_email) { return "" + details.author_name + "" @@ -148,7 +156,7 @@ Item } Label { - text: details.download_count || catalog.i18nc("@label", "Unknown") + text: details === null ? "" : (details.download_count || catalog.i18nc("@label", "Unknown")) font: UM.Theme.getFont("very_small") color: UM.Theme.getColor("text") } diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml b/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml index 355fa5dece..d544757d58 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml @@ -1,7 +1,7 @@ // Copyright (c) 2018 Ultimaker B.V. // Toolbox is released under the terms of the LGPLv3 or higher. -import QtQuick 2.2 +import QtQuick 2.7 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 import UM 1.1 as UM diff --git a/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml b/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml index bcca02583d..3e0dda4f4a 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml @@ -12,7 +12,9 @@ ScrollView width: parent.width height: parent.height style: UM.Theme.styles.scrollview + flickableItem.flickableDirection: Flickable.VerticalFlick + Column { width: base.width diff --git a/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml b/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml index 939cf0b505..e683f89823 100644 --- a/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml @@ -6,6 +6,7 @@ import QtQuick.Dialogs 1.1 import QtQuick.Window 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 + import UM 1.1 as UM ScrollView @@ -16,6 +17,7 @@ ScrollView height: parent.height style: UM.Theme.styles.scrollview flickableItem.flickableDirection: Flickable.VerticalFlick + Column { spacing: UM.Theme.getSize("default_margin").height From b0e7562579ad00d5215dfa0a9d9421c9a3cdf2a8 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 7 Sep 2018 10:59:45 +0200 Subject: [PATCH 133/162] Rename VersionUpgrade plug-in from 40 to 35 Because the next version is going to be called 3.5, not 4.0. --- .../VersionUpgrade34to35.py} | 4 ++-- .../__init__.py | 4 ++-- .../plugin.json | 4 ++-- .../tests/TestVersionUpgrade34to35.py} | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) rename plugins/VersionUpgrade/{VersionUpgrade34to40/VersionUpgrade34to40.py => VersionUpgrade34to35/VersionUpgrade34to35.py} (99%) rename plugins/VersionUpgrade/{VersionUpgrade34to40 => VersionUpgrade34to35}/__init__.py (95%) rename plugins/VersionUpgrade/{VersionUpgrade34to40 => VersionUpgrade34to35}/plugin.json (76%) rename plugins/VersionUpgrade/{VersionUpgrade34to40/tests/TestVersionUpgrade34to40.py => VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py} (90%) diff --git a/plugins/VersionUpgrade/VersionUpgrade34to40/VersionUpgrade34to40.py b/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py similarity index 99% rename from plugins/VersionUpgrade/VersionUpgrade34to40/VersionUpgrade34to40.py rename to plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py index a61aae06bb..9e3ea03c55 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to40/VersionUpgrade34to40.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py @@ -60,8 +60,8 @@ _RENAMED_MATERIAL_PROFILES = { } ## Upgrades configurations from the state they were in at version 3.4 to the -# state they should be in at version 4.0. -class VersionUpgrade34to40(VersionUpgrade): +# state they should be in at version 3.5. +class VersionUpgrade34to35(VersionUpgrade): ## Gets the version number from a CFG file in Uranium's 3.3 format. # diff --git a/plugins/VersionUpgrade/VersionUpgrade34to40/__init__.py b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py similarity index 95% rename from plugins/VersionUpgrade/VersionUpgrade34to40/__init__.py rename to plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py index ad7a33b61a..9d3410e40d 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to40/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py @@ -1,9 +1,9 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from . import VersionUpgrade34to40 +from . import VersionUpgrade34to35 -upgrade = VersionUpgrade34to40.VersionUpgrade34to40() +upgrade = VersionUpgrade34to35.VersionUpgrade34to35() def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade34to40/plugin.json b/plugins/VersionUpgrade/VersionUpgrade34to35/plugin.json similarity index 76% rename from plugins/VersionUpgrade/VersionUpgrade34to40/plugin.json rename to plugins/VersionUpgrade/VersionUpgrade34to35/plugin.json index c07ae31c0a..b73001b683 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to40/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/plugin.json @@ -1,8 +1,8 @@ { - "name": "Version Upgrade 3.4 to 4.0", + "name": "Version Upgrade 3.4 to 3.5", "author": "Ultimaker B.V.", "version": "1.0.0", - "description": "Upgrades configurations from Cura 3.4 to Cura 4.0.", + "description": "Upgrades configurations from Cura 3.4 to Cura 3.5.", "api": 5, "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade34to40/tests/TestVersionUpgrade34to40.py b/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py similarity index 90% rename from plugins/VersionUpgrade/VersionUpgrade34to40/tests/TestVersionUpgrade34to40.py rename to plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py index 22df0d6487..90b2cb5dea 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to40/tests/TestVersionUpgrade34to40.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py @@ -4,12 +4,12 @@ import configparser #To parse the resulting config files. import pytest #To register tests with. -import VersionUpgrade34to40 #The module we're testing. +import VersionUpgrade34to35 #The module we're testing. ## Creates an instance of the upgrader to test with. @pytest.fixture def upgrader(): - return VersionUpgrade34to40.VersionUpgrade34to40() + return VersionUpgrade34to35.VersionUpgrade34to35() test_upgrade_version_nr_data = [ ("Empty config file", From 18e0dacda490622631f70ad65841f37f8ef8b4e4 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 7 Sep 2018 14:11:37 +0200 Subject: [PATCH 134/162] Organize files better First things first... organize! --- plugins/UM3NetworkPrinting/__init__.py | 4 ++-- .../{ => resources/qml}/ClusterControlItem.qml | 17 ++++++++--------- .../{ => resources/qml}/ClusterMonitorItem.qml | 0 .../{ => resources/qml}/DiscoverUM3Action.qml | 0 .../{ => resources/qml}/MonitorItem.qml | 0 .../{ => resources/qml}/OpenPanelButton.qml | 0 .../qml}/PrintCoreConfiguration.qml | 0 .../{ => resources/qml}/PrintJobInfoBlock.qml | 2 +- .../{ => resources/qml}/PrintWindow.qml | 0 .../{ => resources/qml}/PrinterFamilyPill.qml | 0 .../{ => resources/qml}/PrinterInfoBlock.qml | 8 ++++---- .../{ => resources/qml}/PrinterTile.qml | 0 .../{ => resources/qml}/PrinterVideoStream.qml | 0 .../{ => resources/qml}/UM3InfoComponents.qml | 0 .../{ => resources/svg}/UM3-icon.svg | 0 .../{ => resources/svg}/UM3x-icon.svg | 0 .../{ => resources/svg}/UMs5-icon.svg | 0 .../{ => resources/svg}/aborted-icon.svg | 0 .../svg}/action-required-icon.svg | 0 .../{ => resources/svg}/approved-icon.svg | 0 .../{ => resources/svg}/blocked-icon.svg | 0 .../{ => resources/svg}/camera-icon.svg | 0 .../{ => resources/svg}/checkmark-icon.svg | 0 .../{ => resources/svg}/paused-icon.svg | 0 .../{ => resources/svg}/warning-icon.svg | 0 .../{ => src}/ClusterUM3OutputDevice.py | 6 +++--- .../ClusterUM3PrinterOutputController.py | 0 .../{ => src}/DiscoverUM3Action.py | 4 ++-- .../{ => src}/LegacyUM3OutputDevice.py | 2 +- .../LegacyUM3PrinterOutputController.py | 0 .../{ => src}/SendMaterialJob.py | 0 .../{ => src}/UM3OutputDevicePlugin.py | 0 32 files changed, 21 insertions(+), 22 deletions(-) rename plugins/UM3NetworkPrinting/{ => resources/qml}/ClusterControlItem.qml (98%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/ClusterMonitorItem.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/DiscoverUM3Action.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/MonitorItem.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/OpenPanelButton.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/PrintCoreConfiguration.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/PrintJobInfoBlock.qml (99%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/PrintWindow.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/PrinterFamilyPill.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/PrinterInfoBlock.qml (98%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/PrinterTile.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/PrinterVideoStream.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/qml}/UM3InfoComponents.qml (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/UM3-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/UM3x-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/UMs5-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/aborted-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/action-required-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/approved-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/blocked-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/camera-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/checkmark-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/paused-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => resources/svg}/warning-icon.svg (100%) rename plugins/UM3NetworkPrinting/{ => src}/ClusterUM3OutputDevice.py (99%) rename plugins/UM3NetworkPrinting/{ => src}/ClusterUM3PrinterOutputController.py (100%) rename plugins/UM3NetworkPrinting/{ => src}/DiscoverUM3Action.py (98%) rename plugins/UM3NetworkPrinting/{ => src}/LegacyUM3OutputDevice.py (99%) rename plugins/UM3NetworkPrinting/{ => src}/LegacyUM3PrinterOutputController.py (100%) rename plugins/UM3NetworkPrinting/{ => src}/SendMaterialJob.py (100%) rename plugins/UM3NetworkPrinting/{ => src}/UM3OutputDevicePlugin.py (100%) diff --git a/plugins/UM3NetworkPrinting/__init__.py b/plugins/UM3NetworkPrinting/__init__.py index b68086cb75..7f2b34223c 100644 --- a/plugins/UM3NetworkPrinting/__init__.py +++ b/plugins/UM3NetworkPrinting/__init__.py @@ -1,11 +1,11 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from . import DiscoverUM3Action +from .src import DiscoverUM3Action from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") -from . import UM3OutputDevicePlugin +from .src import UM3OutputDevicePlugin def getMetaData(): return {} diff --git a/plugins/UM3NetworkPrinting/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml similarity index 98% rename from plugins/UM3NetworkPrinting/ClusterControlItem.qml rename to plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index be72d3c07a..1164e383db 100644 --- a/plugins/UM3NetworkPrinting/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -16,7 +16,6 @@ Component id: base property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. - property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. visible: OutputDevice != null anchors.fill: parent @@ -154,11 +153,11 @@ Component switch(modelData.type) { case "Ultimaker 3": - return "UM3-icon.svg" + return "../svg/UM3-icon.svg" case "Ultimaker 3 Extended": - return "UM3x-icon.svg" + return "../svg/UM3x-icon.svg" case "Ultimaker S5": - return "UMs5-icon.svg" + return "../svg/UMs5-icon.svg" } } width: sourceSize.width @@ -563,15 +562,15 @@ Component switch(modelData.activePrintJob.state) { case "paused": - return "paused-icon.svg" + return "../svg/paused-icon.svg" case "wait_cleanup": if(modelData.activePrintJob.timeElapsed < modelData.activePrintJob.timeTotal) { - return "aborted-icon.svg" + return "../svg/aborted-icon.svg" } - return "approved-icon.svg" + return "../svg/approved-icon.svg" case "wait_user_action": - return "aborted-icon.svg" + return "../svg/aborted-icon.svg" default: return "" } @@ -599,7 +598,7 @@ Component height: width anchors.right: parent.right anchors.rightMargin: parent.rightMargin - source: "camera-icon.svg" + source: "../svg/camera-icon.svg" } MouseArea { diff --git a/plugins/UM3NetworkPrinting/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml similarity index 100% rename from plugins/UM3NetworkPrinting/ClusterMonitorItem.qml rename to plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml diff --git a/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml b/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml similarity index 100% rename from plugins/UM3NetworkPrinting/DiscoverUM3Action.qml rename to plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml diff --git a/plugins/UM3NetworkPrinting/MonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml similarity index 100% rename from plugins/UM3NetworkPrinting/MonitorItem.qml rename to plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml diff --git a/plugins/UM3NetworkPrinting/OpenPanelButton.qml b/plugins/UM3NetworkPrinting/resources/qml/OpenPanelButton.qml similarity index 100% rename from plugins/UM3NetworkPrinting/OpenPanelButton.qml rename to plugins/UM3NetworkPrinting/resources/qml/OpenPanelButton.qml diff --git a/plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml similarity index 100% rename from plugins/UM3NetworkPrinting/PrintCoreConfiguration.qml rename to plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml diff --git a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml similarity index 99% rename from plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml rename to plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index d50ee769d3..f39b430e19 100644 --- a/plugins/UM3NetworkPrinting/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -93,7 +93,7 @@ Item { id: statusImage anchors.centerIn: printJobPreview - source: printJob.state == "error" ? "aborted-icon.svg" : "" + source: printJob.state == "error" ? "../svg/aborted-icon.svg" : "" visible: source != "" width: 0.5 * printJobPreview.width height: 0.5 * printJobPreview.height diff --git a/plugins/UM3NetworkPrinting/PrintWindow.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml similarity index 100% rename from plugins/UM3NetworkPrinting/PrintWindow.qml rename to plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml diff --git a/plugins/UM3NetworkPrinting/PrinterFamilyPill.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml similarity index 100% rename from plugins/UM3NetworkPrinting/PrinterFamilyPill.qml rename to plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml diff --git a/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml similarity index 98% rename from plugins/UM3NetworkPrinting/PrinterInfoBlock.qml rename to plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml index 0217767a40..832e65f18c 100644 --- a/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml @@ -166,7 +166,7 @@ Rectangle height: width anchors.right: parent.right anchors.rightMargin: parent.rightMargin - source: "camera-icon.svg" + source: "../svg/camera-icon.svg" } } @@ -317,7 +317,7 @@ Rectangle source: { if (printer.state == "disabled") { - return "blocked-icon.svg"; + return "../svg/blocked-icon.svg"; } if (printer.state === "unreachable") @@ -329,11 +329,11 @@ Rectangle { if(printJob.state === "queued") { - return "action-required-icon.svg"; + return "../svg/action-required-icon.svg"; } else if (printJob.state === "wait_cleanup") { - return "checkmark-icon.svg"; + return "../svg/checkmark-icon.svg"; } } return ""; // We're not going to show it, so it will not be resolved as a url. diff --git a/plugins/UM3NetworkPrinting/PrinterTile.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterTile.qml similarity index 100% rename from plugins/UM3NetworkPrinting/PrinterTile.qml rename to plugins/UM3NetworkPrinting/resources/qml/PrinterTile.qml diff --git a/plugins/UM3NetworkPrinting/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml similarity index 100% rename from plugins/UM3NetworkPrinting/PrinterVideoStream.qml rename to plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml diff --git a/plugins/UM3NetworkPrinting/UM3InfoComponents.qml b/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml similarity index 100% rename from plugins/UM3NetworkPrinting/UM3InfoComponents.qml rename to plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml diff --git a/plugins/UM3NetworkPrinting/UM3-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/UM3-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/UM3-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/UM3-icon.svg diff --git a/plugins/UM3NetworkPrinting/UM3x-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/UM3x-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/UM3x-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/UM3x-icon.svg diff --git a/plugins/UM3NetworkPrinting/UMs5-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/UMs5-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/UMs5-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/UMs5-icon.svg diff --git a/plugins/UM3NetworkPrinting/aborted-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/aborted-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/aborted-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/aborted-icon.svg diff --git a/plugins/UM3NetworkPrinting/action-required-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/action-required-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/action-required-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/action-required-icon.svg diff --git a/plugins/UM3NetworkPrinting/approved-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/approved-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/approved-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/approved-icon.svg diff --git a/plugins/UM3NetworkPrinting/blocked-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/blocked-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/blocked-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/blocked-icon.svg diff --git a/plugins/UM3NetworkPrinting/camera-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/camera-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/camera-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/camera-icon.svg diff --git a/plugins/UM3NetworkPrinting/checkmark-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/checkmark-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/checkmark-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/checkmark-icon.svg diff --git a/plugins/UM3NetworkPrinting/paused-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/paused-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/paused-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/paused-icon.svg diff --git a/plugins/UM3NetworkPrinting/warning-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg similarity index 100% rename from plugins/UM3NetworkPrinting/warning-icon.svg rename to plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py similarity index 99% rename from plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py rename to plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 8345de049c..409ca7a84a 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -62,8 +62,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._print_jobs = [] # type: List[PrintJobOutputModel] - self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ClusterMonitorItem.qml") - self._control_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ClusterControlItem.qml") + self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/ClusterMonitorItem.qml") + self._control_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/ClusterControlItem.qml") # See comments about this hack with the clusterPrintersChanged signal self.printersChanged.connect(self.clusterPrintersChanged) @@ -158,7 +158,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def _spawnPrinterSelectionDialog(self): if self._printer_selection_dialog is None: - path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "PrintWindow.qml") + path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/PrintWindow.qml") self._printer_selection_dialog = CuraApplication.getInstance().createQmlComponent(path, {"OutputDevice": self}) if self._printer_selection_dialog is not None: self._printer_selection_dialog.show() diff --git a/plugins/UM3NetworkPrinting/ClusterUM3PrinterOutputController.py b/plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py similarity index 100% rename from plugins/UM3NetworkPrinting/ClusterUM3PrinterOutputController.py rename to plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py diff --git a/plugins/UM3NetworkPrinting/DiscoverUM3Action.py b/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py similarity index 98% rename from plugins/UM3NetworkPrinting/DiscoverUM3Action.py rename to plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py index c0a828ece9..ece23507e5 100644 --- a/plugins/UM3NetworkPrinting/DiscoverUM3Action.py +++ b/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py @@ -24,7 +24,7 @@ class DiscoverUM3Action(MachineAction): def __init__(self) -> None: super().__init__("DiscoverUM3Action", catalog.i18nc("@action","Connect via Network")) - self._qml_url = "DiscoverUM3Action.qml" + self._qml_url = "../resources/qml/DiscoverUM3Action.qml" self._network_plugin = None #type: Optional[UM3OutputDevicePlugin] @@ -174,7 +174,7 @@ class DiscoverUM3Action(MachineAction): plugin_path = PluginRegistry.getInstance().getPluginPath("UM3NetworkPrinting") if not plugin_path: return - path = os.path.join(plugin_path, "UM3InfoComponents.qml") + path = os.path.join(plugin_path, "resources/qml/UM3InfoComponents.qml") self.__additional_components_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) if not self.__additional_components_view: Logger.log("w", "Could not create ui components for UM3.") diff --git a/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py similarity index 99% rename from plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py rename to plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py index 8617b5b2ff..fe94500aa1 100644 --- a/plugins/UM3NetworkPrinting/LegacyUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py @@ -76,7 +76,7 @@ class LegacyUM3OutputDevice(NetworkedPrinterOutputDevice): self.setIconName("print") - self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "MonitorItem.qml") + self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/MonitorItem.qml") self._output_controller = LegacyUM3PrinterOutputController(self) diff --git a/plugins/UM3NetworkPrinting/LegacyUM3PrinterOutputController.py b/plugins/UM3NetworkPrinting/src/LegacyUM3PrinterOutputController.py similarity index 100% rename from plugins/UM3NetworkPrinting/LegacyUM3PrinterOutputController.py rename to plugins/UM3NetworkPrinting/src/LegacyUM3PrinterOutputController.py diff --git a/plugins/UM3NetworkPrinting/SendMaterialJob.py b/plugins/UM3NetworkPrinting/src/SendMaterialJob.py similarity index 100% rename from plugins/UM3NetworkPrinting/SendMaterialJob.py rename to plugins/UM3NetworkPrinting/src/SendMaterialJob.py diff --git a/plugins/UM3NetworkPrinting/UM3OutputDevicePlugin.py b/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py similarity index 100% rename from plugins/UM3NetworkPrinting/UM3OutputDevicePlugin.py rename to plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py From d53e9f92632954354f8cfa550eb8a102c072bac7 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Fri, 7 Sep 2018 14:12:19 +0200 Subject: [PATCH 135/162] Remove not used files. After the refactor, these files are no longer used. --- plugins/UM3NetworkPrinting/MonitorItem.qml | 54 --- .../UM3NetworkPrinting/OpenPanelButton.qml | 71 --- .../UM3NetworkPrinting/PrinterInfoBlock.qml | 431 ------------------ plugins/UM3NetworkPrinting/PrinterTile.qml | 54 --- 4 files changed, 610 deletions(-) delete mode 100644 plugins/UM3NetworkPrinting/MonitorItem.qml delete mode 100644 plugins/UM3NetworkPrinting/OpenPanelButton.qml delete mode 100644 plugins/UM3NetworkPrinting/PrinterInfoBlock.qml delete mode 100644 plugins/UM3NetworkPrinting/PrinterTile.qml diff --git a/plugins/UM3NetworkPrinting/MonitorItem.qml b/plugins/UM3NetworkPrinting/MonitorItem.qml deleted file mode 100644 index bbbc3feee6..0000000000 --- a/plugins/UM3NetworkPrinting/MonitorItem.qml +++ /dev/null @@ -1,54 +0,0 @@ -import QtQuick 2.2 - - -import UM 1.3 as UM -import Cura 1.0 as Cura - -Component -{ - Item - { - width: maximumWidth - height: maximumHeight - Image - { - id: cameraImage - width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth) - height: Math.floor((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width) - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - z: 1 - Component.onCompleted: - { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) - { - OutputDevice.activePrinter.camera.start() - } - } - onVisibleChanged: - { - if(visible) - { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) - { - OutputDevice.activePrinter.camera.start() - } - } else - { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) - { - OutputDevice.activePrinter.camera.stop() - } - } - } - source: - { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null && OutputDevice.activePrinter.camera.latestImage) - { - return OutputDevice.activePrinter.camera.latestImage; - } - return ""; - } - } - } -} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/OpenPanelButton.qml b/plugins/UM3NetworkPrinting/OpenPanelButton.qml deleted file mode 100644 index 4bc1728f76..0000000000 --- a/plugins/UM3NetworkPrinting/OpenPanelButton.qml +++ /dev/null @@ -1,71 +0,0 @@ -import QtQuick 2.2 -import QtQuick.Controls 1.1 -import QtQuick.Controls.Styles 1.1 - -import UM 1.1 as UM - -Button { - objectName: "openPanelSaveAreaButton" - id: openPanelSaveAreaButton - - UM.I18nCatalog { id: catalog; name: "cura"; } - - height: UM.Theme.getSize("save_button_save_to_button").height - tooltip: catalog.i18nc("@info:tooltip", "Opens the print jobs page with your default web browser.") - text: catalog.i18nc("@action:button", "View print jobs") - - // FIXME: This button style is copied and duplicated from SaveButton.qml - style: ButtonStyle { - background: Rectangle - { - border.width: UM.Theme.getSize("default_lining").width - border.color: - { - if(!control.enabled) - return UM.Theme.getColor("action_button_disabled_border"); - else if(control.pressed) - return UM.Theme.getColor("print_button_ready_pressed_border"); - else if(control.hovered) - return UM.Theme.getColor("print_button_ready_hovered_border"); - else - return UM.Theme.getColor("print_button_ready_border"); - } - color: - { - if(!control.enabled) - return UM.Theme.getColor("action_button_disabled"); - else if(control.pressed) - return UM.Theme.getColor("print_button_ready_pressed"); - else if(control.hovered) - return UM.Theme.getColor("print_button_ready_hovered"); - else - return UM.Theme.getColor("print_button_ready"); - } - - Behavior on color { ColorAnimation { duration: 50; } } - - implicitWidth: actualLabel.contentWidth + (UM.Theme.getSize("sidebar_margin").width * 2) - - Label { - id: actualLabel - anchors.centerIn: parent - color: - { - if(!control.enabled) - return UM.Theme.getColor("action_button_disabled_text"); - else if(control.pressed) - return UM.Theme.getColor("print_button_ready_text"); - else if(control.hovered) - return UM.Theme.getColor("print_button_ready_text"); - else - return UM.Theme.getColor("print_button_ready_text"); - } - font: UM.Theme.getFont("action_button") - text: control.text; - } - } - label: Item { } - } - - -} diff --git a/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml deleted file mode 100644 index 0217767a40..0000000000 --- a/plugins/UM3NetworkPrinting/PrinterInfoBlock.qml +++ /dev/null @@ -1,431 +0,0 @@ -import QtQuick 2.2 -import QtQuick.Controls 1.4 -import QtQuick.Controls.Styles 1.4 - -import UM 1.3 as UM - -Rectangle -{ - function strPadLeft(string, pad, length) - { - return (new Array(length + 1).join(pad) + string).slice(-length); - } - - function getPrettyTime(time) - { - return OutputDevice.formatDuration(time) - } - - function formatPrintJobPercent(printJob) - { - if (printJob == null) - { - return ""; - } - if (printJob.timeTotal === 0) - { - return ""; - } - return Math.min(100, Math.round(printJob.timeElapsed / printJob.timeTotal * 100)) + "%"; - } - - function printerStatusText(printer) - { - switch (printer.state) - { - case "pre_print": - return catalog.i18nc("@label:status", "Preparing to print") - case "printing": - return catalog.i18nc("@label:status", "Printing"); - case "idle": - return catalog.i18nc("@label:status", "Available"); - case "unreachable": - return catalog.i18nc("@label:status", "Lost connection with the printer"); - case "maintenance": - return catalog.i18nc("@label:status", "Unavailable"); - default: - return catalog.i18nc("@label:status", "Unknown"); - } - } - - id: printerDelegate - - property var printer: null - property var printJob: printer != null ? printer.activePrintJob: null - - border.width: UM.Theme.getSize("default_lining").width - border.color: mouse.containsMouse ? emphasisColor : lineColor - z: mouse.containsMouse ? 1 : 0 // Push this item up a bit on mouse over to ensure that the highlighted bottom border is visible. - - MouseArea - { - id: mouse - anchors.fill:parent - onClicked: OutputDevice.setActivePrinter(printer) - hoverEnabled: true; - - // Only clickable if no printer is selected - enabled: OutputDevice.activePrinter == null && printer.state !== "unreachable" - } - - Row - { - anchors.left: parent.left - anchors.right: parent.right - anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.margins: UM.Theme.getSize("default_margin").width - - Rectangle - { - width: Math.round(parent.width / 3) - height: parent.height - - Label // Print job name - { - id: jobNameLabel - anchors.top: parent.top - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - - text: printJob != null ? printJob.name : "" - font: UM.Theme.getFont("default_bold") - elide: Text.ElideRight - - } - - Label - { - id: jobOwnerLabel - anchors.top: jobNameLabel.bottom - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - text: printJob != null ? printJob.owner : "" - opacity: 0.50 - elide: Text.ElideRight - } - - Label - { - id: totalTimeLabel - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - text: printJob != null ? getPrettyTime(printJob.timeTotal) : "" - opacity: 0.65 - font: UM.Theme.getFont("default") - elide: Text.ElideRight - } - } - - Rectangle - { - width: Math.round(parent.width / 3 * 2) - height: parent.height - - Label // Friendly machine name - { - id: printerNameLabel - anchors.top: parent.top - anchors.left: parent.left - width: Math.round(parent.width / 2 - UM.Theme.getSize("default_margin").width - showCameraIcon.width) - text: printer.name - font: UM.Theme.getFont("default_bold") - elide: Text.ElideRight - } - - Label // Machine variant - { - id: printerTypeLabel - anchors.top: printerNameLabel.bottom - width: Math.round(parent.width / 2 - UM.Theme.getSize("default_margin").width) - text: printer.type - anchors.left: parent.left - elide: Text.ElideRight - font: UM.Theme.getFont("very_small") - opacity: 0.50 - } - - Rectangle // Camera icon - { - id: showCameraIcon - width: 40 * screenScaleFactor - height: width - radius: width - anchors.right: printProgressArea.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - color: emphasisColor - opacity: printer != null && printer.state === "unreachable" ? 0.3 : 1 - - Image - { - width: parent.width - height: width - anchors.right: parent.right - anchors.rightMargin: parent.rightMargin - source: "camera-icon.svg" - } - } - - Row // PrintCore config - { - id: extruderInfo - anchors.bottom: parent.bottom - - width: Math.round(parent.width / 2 - UM.Theme.getSize("default_margin").width) - height: childrenRect.height - - spacing: UM.Theme.getSize("default_margin").width - - PrintCoreConfiguration - { - id: leftExtruderInfo - width: Math.round((parent.width - extruderSeperator.width) / 2) - printCoreConfiguration: printer.extruders[0] - } - - Rectangle - { - id: extruderSeperator - width: UM.Theme.getSize("default_lining").width - height: parent.height - color: lineColor - } - - PrintCoreConfiguration - { - id: rightExtruderInfo - width: Math.round((parent.width - extruderSeperator.width) / 2) - printCoreConfiguration: printer.extruders[1] - } - } - - Rectangle // Print progress - { - id: printProgressArea - anchors.right: parent.right - anchors.top: parent.top - height: showExtended ? parent.height: printProgressTitleBar.height - width: Math.round(parent.width / 2 - UM.Theme.getSize("default_margin").width) - border.width: UM.Theme.getSize("default_lining").width - border.color: lineColor - radius: cornerRadius - property var showExtended: { - if(printJob != null) - { - var extendStates = ["sent_to_printer", "wait_for_configuration", "printing", "pre_print", "post_print", "wait_cleanup", "queued"]; - return extendStates.indexOf(printJob.state) !== -1; - } - return printer.state == "disabled" - } - - Item // Status and Percent - { - id: printProgressTitleBar - - property var showPercent: { - return printJob != null && (["printing", "post_print", "pre_print", "sent_to_printer"].indexOf(printJob.state) !== -1); - } - - width: parent.width - //TODO: hardcoded value - height: 40 * screenScaleFactor - anchors.left: parent.left - - Label - { - id: statusText - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: progressText.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.verticalCenter: parent.verticalCenter - text: { - if (printer.state == "disabled") - { - return catalog.i18nc("@label:status", "Disabled"); - } - - if (printer.state === "unreachable") - { - return printerStatusText(printer); - } - - if (printJob != null) - { - switch (printJob.state) - { - case "printing": - case "post_print": - return catalog.i18nc("@label:status", "Printing") - case "wait_for_configuration": - return catalog.i18nc("@label:status", "Reserved") - case "wait_cleanup": - case "wait_user_action": - return catalog.i18nc("@label:status", "Finished") - case "pre_print": - case "sent_to_printer": - return catalog.i18nc("@label", "Preparing to print") - case "queued": - return catalog.i18nc("@label:status", "Action required"); - case "pausing": - case "paused": - return catalog.i18nc("@label:status", "Paused"); - case "resuming": - return catalog.i18nc("@label:status", "Resuming"); - case "aborted": - return catalog.i18nc("@label:status", "Print aborted"); - default: - // If print job has unknown status show printer.status - return printerStatusText(printer); - } - } - return printerStatusText(printer); - } - - elide: Text.ElideRight - font: UM.Theme.getFont("small") - } - - Label - { - id: progressText - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.top: statusText.top - - text: formatPrintJobPercent(printJob) - visible: printProgressTitleBar.showPercent - //TODO: Hardcoded value - opacity: 0.65 - font: UM.Theme.getFont("very_small") - } - - Image - { - width: statusText.height - height: width - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.top: statusText.top - - visible: !printProgressTitleBar.showPercent - - source: { - if (printer.state == "disabled") - { - return "blocked-icon.svg"; - } - - if (printer.state === "unreachable") - { - return ""; - } - - if (printJob != null) - { - if(printJob.state === "queued") - { - return "action-required-icon.svg"; - } - else if (printJob.state === "wait_cleanup") - { - return "checkmark-icon.svg"; - } - } - return ""; // We're not going to show it, so it will not be resolved as a url. - } - } - - Rectangle - { - //TODO: This will become a progress bar in the future - width: parent.width - height: UM.Theme.getSize("default_lining").height - anchors.bottom: parent.bottom - anchors.left: parent.left - visible: printProgressArea.showExtended - color: lineColor - } - } - - Column - { - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - - anchors.top: printProgressTitleBar.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - - width: parent.width - 2 * UM.Theme.getSize("default_margin").width - - visible: printProgressArea.showExtended - - Label // Status detail - { - text: - { - if (printer.state == "disabled") - { - return catalog.i18nc("@label", "Not accepting print jobs"); - } - - if (printer.state === "unreachable") - { - return ""; - } - - if(printJob != null) - { - switch (printJob.state) - { - case "printing": - case "post_print": - return catalog.i18nc("@label", "Finishes at: ") + OutputDevice.getTimeCompleted(printJob.timeTotal - printJob.timeElapsed) - case "wait_cleanup": - return catalog.i18nc("@label", "Clear build plate") - case "sent_to_printer": - case "pre_print": - return catalog.i18nc("@label", "Preparing to print") - case "wait_for_configuration": - return catalog.i18nc("@label", "Not accepting print jobs") - case "queued": - return catalog.i18nc("@label", "Waiting for configuration change"); - default: - return ""; - } - } - return ""; - } - anchors.left: parent.left - anchors.right: parent.right - elide: Text.ElideRight - wrapMode: Text.Wrap - - font: UM.Theme.getFont("default") - } - - Label // Status 2nd row - { - text: { - if(printJob != null) - { - if(printJob.state == "printing" || printJob.state == "post_print") - { - return OutputDevice.getDateCompleted(printJob.timeTotal - printJob.timeElapsed) - } - } - return ""; - } - - elide: Text.ElideRight - font: UM.Theme.getFont("default") - } - } - } - } - } -} diff --git a/plugins/UM3NetworkPrinting/PrinterTile.qml b/plugins/UM3NetworkPrinting/PrinterTile.qml deleted file mode 100644 index 3d03e93688..0000000000 --- a/plugins/UM3NetworkPrinting/PrinterTile.qml +++ /dev/null @@ -1,54 +0,0 @@ -import QtQuick 2.2 -import QtQuick.Controls 1.4 -import QtQuick.Controls.Styles 1.4 - -import UM 1.3 as UM -import Cura 1.0 as Cura - -Rectangle -{ - id: base - width: 250 * screenScaleFactor - height: 250 * screenScaleFactor - signal clicked() - MouseArea - { - anchors.fill:parent - onClicked: base.clicked() - } - Rectangle - { - // TODO: Actually add UM icon / picture - width: 100 * screenScaleFactor - height: 100 * screenScaleFactor - border.width: UM.Theme.getSize("default_lining").width - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: UM.Theme.getSize("default_margin").height - } - Label - { - id: nameLabel - anchors.bottom: ipLabel.top - anchors.bottomMargin: UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.right: parent.right - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.rightMargin: UM.Theme.getSize("default_margin").width - text: modelData.friendly_name.toString() - font: UM.Theme.getFont("large") - elide: Text.ElideMiddle; - height: UM.Theme.getSize("section").height; - } - Label - { - id: ipLabel - text: modelData.ip_address.toString() - anchors.bottom: parent.bottom - anchors.bottomMargin: UM.Theme.getSize("default_margin").height - font: UM.Theme.getFont("default") - height:10 * screenScaleFactor - anchors.horizontalCenter: parent.horizontalCenter - } -} - From a9f151670e57328cf0f2045ff377269998b41a34 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Fri, 7 Sep 2018 14:31:53 +0200 Subject: [PATCH 136/162] Remove unused components. They are no longer used. --- .../resources/qml/OpenPanelButton.qml | 71 --- .../resources/qml/PrinterInfoBlock.qml | 431 ------------------ .../resources/qml/PrinterTile.qml | 54 --- 3 files changed, 556 deletions(-) delete mode 100644 plugins/UM3NetworkPrinting/resources/qml/OpenPanelButton.qml delete mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml delete mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrinterTile.qml diff --git a/plugins/UM3NetworkPrinting/resources/qml/OpenPanelButton.qml b/plugins/UM3NetworkPrinting/resources/qml/OpenPanelButton.qml deleted file mode 100644 index 4bc1728f76..0000000000 --- a/plugins/UM3NetworkPrinting/resources/qml/OpenPanelButton.qml +++ /dev/null @@ -1,71 +0,0 @@ -import QtQuick 2.2 -import QtQuick.Controls 1.1 -import QtQuick.Controls.Styles 1.1 - -import UM 1.1 as UM - -Button { - objectName: "openPanelSaveAreaButton" - id: openPanelSaveAreaButton - - UM.I18nCatalog { id: catalog; name: "cura"; } - - height: UM.Theme.getSize("save_button_save_to_button").height - tooltip: catalog.i18nc("@info:tooltip", "Opens the print jobs page with your default web browser.") - text: catalog.i18nc("@action:button", "View print jobs") - - // FIXME: This button style is copied and duplicated from SaveButton.qml - style: ButtonStyle { - background: Rectangle - { - border.width: UM.Theme.getSize("default_lining").width - border.color: - { - if(!control.enabled) - return UM.Theme.getColor("action_button_disabled_border"); - else if(control.pressed) - return UM.Theme.getColor("print_button_ready_pressed_border"); - else if(control.hovered) - return UM.Theme.getColor("print_button_ready_hovered_border"); - else - return UM.Theme.getColor("print_button_ready_border"); - } - color: - { - if(!control.enabled) - return UM.Theme.getColor("action_button_disabled"); - else if(control.pressed) - return UM.Theme.getColor("print_button_ready_pressed"); - else if(control.hovered) - return UM.Theme.getColor("print_button_ready_hovered"); - else - return UM.Theme.getColor("print_button_ready"); - } - - Behavior on color { ColorAnimation { duration: 50; } } - - implicitWidth: actualLabel.contentWidth + (UM.Theme.getSize("sidebar_margin").width * 2) - - Label { - id: actualLabel - anchors.centerIn: parent - color: - { - if(!control.enabled) - return UM.Theme.getColor("action_button_disabled_text"); - else if(control.pressed) - return UM.Theme.getColor("print_button_ready_text"); - else if(control.hovered) - return UM.Theme.getColor("print_button_ready_text"); - else - return UM.Theme.getColor("print_button_ready_text"); - } - font: UM.Theme.getFont("action_button") - text: control.text; - } - } - label: Item { } - } - - -} diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml deleted file mode 100644 index 832e65f18c..0000000000 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml +++ /dev/null @@ -1,431 +0,0 @@ -import QtQuick 2.2 -import QtQuick.Controls 1.4 -import QtQuick.Controls.Styles 1.4 - -import UM 1.3 as UM - -Rectangle -{ - function strPadLeft(string, pad, length) - { - return (new Array(length + 1).join(pad) + string).slice(-length); - } - - function getPrettyTime(time) - { - return OutputDevice.formatDuration(time) - } - - function formatPrintJobPercent(printJob) - { - if (printJob == null) - { - return ""; - } - if (printJob.timeTotal === 0) - { - return ""; - } - return Math.min(100, Math.round(printJob.timeElapsed / printJob.timeTotal * 100)) + "%"; - } - - function printerStatusText(printer) - { - switch (printer.state) - { - case "pre_print": - return catalog.i18nc("@label:status", "Preparing to print") - case "printing": - return catalog.i18nc("@label:status", "Printing"); - case "idle": - return catalog.i18nc("@label:status", "Available"); - case "unreachable": - return catalog.i18nc("@label:status", "Lost connection with the printer"); - case "maintenance": - return catalog.i18nc("@label:status", "Unavailable"); - default: - return catalog.i18nc("@label:status", "Unknown"); - } - } - - id: printerDelegate - - property var printer: null - property var printJob: printer != null ? printer.activePrintJob: null - - border.width: UM.Theme.getSize("default_lining").width - border.color: mouse.containsMouse ? emphasisColor : lineColor - z: mouse.containsMouse ? 1 : 0 // Push this item up a bit on mouse over to ensure that the highlighted bottom border is visible. - - MouseArea - { - id: mouse - anchors.fill:parent - onClicked: OutputDevice.setActivePrinter(printer) - hoverEnabled: true; - - // Only clickable if no printer is selected - enabled: OutputDevice.activePrinter == null && printer.state !== "unreachable" - } - - Row - { - anchors.left: parent.left - anchors.right: parent.right - anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.margins: UM.Theme.getSize("default_margin").width - - Rectangle - { - width: Math.round(parent.width / 3) - height: parent.height - - Label // Print job name - { - id: jobNameLabel - anchors.top: parent.top - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - - text: printJob != null ? printJob.name : "" - font: UM.Theme.getFont("default_bold") - elide: Text.ElideRight - - } - - Label - { - id: jobOwnerLabel - anchors.top: jobNameLabel.bottom - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - text: printJob != null ? printJob.owner : "" - opacity: 0.50 - elide: Text.ElideRight - } - - Label - { - id: totalTimeLabel - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - text: printJob != null ? getPrettyTime(printJob.timeTotal) : "" - opacity: 0.65 - font: UM.Theme.getFont("default") - elide: Text.ElideRight - } - } - - Rectangle - { - width: Math.round(parent.width / 3 * 2) - height: parent.height - - Label // Friendly machine name - { - id: printerNameLabel - anchors.top: parent.top - anchors.left: parent.left - width: Math.round(parent.width / 2 - UM.Theme.getSize("default_margin").width - showCameraIcon.width) - text: printer.name - font: UM.Theme.getFont("default_bold") - elide: Text.ElideRight - } - - Label // Machine variant - { - id: printerTypeLabel - anchors.top: printerNameLabel.bottom - width: Math.round(parent.width / 2 - UM.Theme.getSize("default_margin").width) - text: printer.type - anchors.left: parent.left - elide: Text.ElideRight - font: UM.Theme.getFont("very_small") - opacity: 0.50 - } - - Rectangle // Camera icon - { - id: showCameraIcon - width: 40 * screenScaleFactor - height: width - radius: width - anchors.right: printProgressArea.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - color: emphasisColor - opacity: printer != null && printer.state === "unreachable" ? 0.3 : 1 - - Image - { - width: parent.width - height: width - anchors.right: parent.right - anchors.rightMargin: parent.rightMargin - source: "../svg/camera-icon.svg" - } - } - - Row // PrintCore config - { - id: extruderInfo - anchors.bottom: parent.bottom - - width: Math.round(parent.width / 2 - UM.Theme.getSize("default_margin").width) - height: childrenRect.height - - spacing: UM.Theme.getSize("default_margin").width - - PrintCoreConfiguration - { - id: leftExtruderInfo - width: Math.round((parent.width - extruderSeperator.width) / 2) - printCoreConfiguration: printer.extruders[0] - } - - Rectangle - { - id: extruderSeperator - width: UM.Theme.getSize("default_lining").width - height: parent.height - color: lineColor - } - - PrintCoreConfiguration - { - id: rightExtruderInfo - width: Math.round((parent.width - extruderSeperator.width) / 2) - printCoreConfiguration: printer.extruders[1] - } - } - - Rectangle // Print progress - { - id: printProgressArea - anchors.right: parent.right - anchors.top: parent.top - height: showExtended ? parent.height: printProgressTitleBar.height - width: Math.round(parent.width / 2 - UM.Theme.getSize("default_margin").width) - border.width: UM.Theme.getSize("default_lining").width - border.color: lineColor - radius: cornerRadius - property var showExtended: { - if(printJob != null) - { - var extendStates = ["sent_to_printer", "wait_for_configuration", "printing", "pre_print", "post_print", "wait_cleanup", "queued"]; - return extendStates.indexOf(printJob.state) !== -1; - } - return printer.state == "disabled" - } - - Item // Status and Percent - { - id: printProgressTitleBar - - property var showPercent: { - return printJob != null && (["printing", "post_print", "pre_print", "sent_to_printer"].indexOf(printJob.state) !== -1); - } - - width: parent.width - //TODO: hardcoded value - height: 40 * screenScaleFactor - anchors.left: parent.left - - Label - { - id: statusText - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: progressText.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.verticalCenter: parent.verticalCenter - text: { - if (printer.state == "disabled") - { - return catalog.i18nc("@label:status", "Disabled"); - } - - if (printer.state === "unreachable") - { - return printerStatusText(printer); - } - - if (printJob != null) - { - switch (printJob.state) - { - case "printing": - case "post_print": - return catalog.i18nc("@label:status", "Printing") - case "wait_for_configuration": - return catalog.i18nc("@label:status", "Reserved") - case "wait_cleanup": - case "wait_user_action": - return catalog.i18nc("@label:status", "Finished") - case "pre_print": - case "sent_to_printer": - return catalog.i18nc("@label", "Preparing to print") - case "queued": - return catalog.i18nc("@label:status", "Action required"); - case "pausing": - case "paused": - return catalog.i18nc("@label:status", "Paused"); - case "resuming": - return catalog.i18nc("@label:status", "Resuming"); - case "aborted": - return catalog.i18nc("@label:status", "Print aborted"); - default: - // If print job has unknown status show printer.status - return printerStatusText(printer); - } - } - return printerStatusText(printer); - } - - elide: Text.ElideRight - font: UM.Theme.getFont("small") - } - - Label - { - id: progressText - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.top: statusText.top - - text: formatPrintJobPercent(printJob) - visible: printProgressTitleBar.showPercent - //TODO: Hardcoded value - opacity: 0.65 - font: UM.Theme.getFont("very_small") - } - - Image - { - width: statusText.height - height: width - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.top: statusText.top - - visible: !printProgressTitleBar.showPercent - - source: { - if (printer.state == "disabled") - { - return "../svg/blocked-icon.svg"; - } - - if (printer.state === "unreachable") - { - return ""; - } - - if (printJob != null) - { - if(printJob.state === "queued") - { - return "../svg/action-required-icon.svg"; - } - else if (printJob.state === "wait_cleanup") - { - return "../svg/checkmark-icon.svg"; - } - } - return ""; // We're not going to show it, so it will not be resolved as a url. - } - } - - Rectangle - { - //TODO: This will become a progress bar in the future - width: parent.width - height: UM.Theme.getSize("default_lining").height - anchors.bottom: parent.bottom - anchors.left: parent.left - visible: printProgressArea.showExtended - color: lineColor - } - } - - Column - { - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - - anchors.top: printProgressTitleBar.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - - width: parent.width - 2 * UM.Theme.getSize("default_margin").width - - visible: printProgressArea.showExtended - - Label // Status detail - { - text: - { - if (printer.state == "disabled") - { - return catalog.i18nc("@label", "Not accepting print jobs"); - } - - if (printer.state === "unreachable") - { - return ""; - } - - if(printJob != null) - { - switch (printJob.state) - { - case "printing": - case "post_print": - return catalog.i18nc("@label", "Finishes at: ") + OutputDevice.getTimeCompleted(printJob.timeTotal - printJob.timeElapsed) - case "wait_cleanup": - return catalog.i18nc("@label", "Clear build plate") - case "sent_to_printer": - case "pre_print": - return catalog.i18nc("@label", "Preparing to print") - case "wait_for_configuration": - return catalog.i18nc("@label", "Not accepting print jobs") - case "queued": - return catalog.i18nc("@label", "Waiting for configuration change"); - default: - return ""; - } - } - return ""; - } - anchors.left: parent.left - anchors.right: parent.right - elide: Text.ElideRight - wrapMode: Text.Wrap - - font: UM.Theme.getFont("default") - } - - Label // Status 2nd row - { - text: { - if(printJob != null) - { - if(printJob.state == "printing" || printJob.state == "post_print") - { - return OutputDevice.getDateCompleted(printJob.timeTotal - printJob.timeElapsed) - } - } - return ""; - } - - elide: Text.ElideRight - font: UM.Theme.getFont("default") - } - } - } - } - } -} diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterTile.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterTile.qml deleted file mode 100644 index 3d03e93688..0000000000 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterTile.qml +++ /dev/null @@ -1,54 +0,0 @@ -import QtQuick 2.2 -import QtQuick.Controls 1.4 -import QtQuick.Controls.Styles 1.4 - -import UM 1.3 as UM -import Cura 1.0 as Cura - -Rectangle -{ - id: base - width: 250 * screenScaleFactor - height: 250 * screenScaleFactor - signal clicked() - MouseArea - { - anchors.fill:parent - onClicked: base.clicked() - } - Rectangle - { - // TODO: Actually add UM icon / picture - width: 100 * screenScaleFactor - height: 100 * screenScaleFactor - border.width: UM.Theme.getSize("default_lining").width - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: UM.Theme.getSize("default_margin").height - } - Label - { - id: nameLabel - anchors.bottom: ipLabel.top - anchors.bottomMargin: UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.right: parent.right - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.rightMargin: UM.Theme.getSize("default_margin").width - text: modelData.friendly_name.toString() - font: UM.Theme.getFont("large") - elide: Text.ElideMiddle; - height: UM.Theme.getSize("section").height; - } - Label - { - id: ipLabel - text: modelData.ip_address.toString() - anchors.bottom: parent.bottom - anchors.bottomMargin: UM.Theme.getSize("default_margin").height - font: UM.Theme.getFont("default") - height:10 * screenScaleFactor - anchors.horizontalCenter: parent.horizontalCenter - } -} - From 4cde6c05ae1f5e948075956f224c902b0fa409fb Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 7 Sep 2018 15:23:09 +0200 Subject: [PATCH 137/162] Switch most usages of containerStackId to containerStack for settingPropertyProvider This mostly makes the code a bit more logic and also decreases the number of searches in the registry --- .../MachineSettingsAction.qml | 14 ++++++++------ .../PerObjectSettingsPanel.qml | 7 +++---- .../PostProcessingPlugin/PostProcessingPlugin.qml | 2 +- resources/qml/Cura.qml | 4 ++-- resources/qml/Menus/ContextMenu.qml | 2 +- resources/qml/MonitorSidebar.qml | 4 ++-- resources/qml/PrepareSidebar.qml | 4 ++-- resources/qml/PrintMonitor.qml | 6 +++--- resources/qml/PrinterOutput/ExtruderBox.qml | 2 +- resources/qml/Settings/SettingItem.qml | 2 +- resources/qml/SidebarHeader.qml | 2 +- resources/qml/SidebarSimple.qml | 9 ++++----- 12 files changed, 29 insertions(+), 29 deletions(-) diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index b12f8f8696..8c2262b5b7 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -16,6 +16,8 @@ Cura.MachineAction property var extrudersModel: Cura.ExtrudersModel{} property int extruderTabsCount: 0 + property var activeMachineId: Cura.MachineManager.activeMachine != null ? Cura.MachineManager.activeMachine.id : "" + Connections { target: base.extrudersModel @@ -511,7 +513,7 @@ Cura.MachineAction } return ""; } - return Cura.MachineManager.activeMachineId; + return base.activeMachineId } key: settingKey watchedProperties: [ "value", "description" ] @@ -564,7 +566,7 @@ Cura.MachineAction } return ""; } - return Cura.MachineManager.activeMachineId; + return base.activeMachineId } key: settingKey watchedProperties: [ "value", "description" ] @@ -655,7 +657,7 @@ Cura.MachineAction } return ""; } - return Cura.MachineManager.activeMachineId; + return base.activeMachineId } key: settingKey watchedProperties: [ "value", "options", "description" ] @@ -754,7 +756,7 @@ Cura.MachineAction } return ""; } - return Cura.MachineManager.activeMachineId; + return base.activeMachineId } key: settingKey watchedProperties: [ "value", "description" ] @@ -879,7 +881,7 @@ Cura.MachineAction { id: machineExtruderCountProvider - containerStackId: Cura.MachineManager.activeMachineId + containerStackId: base.activeMachineId key: "machine_extruder_count" watchedProperties: [ "value", "description" ] storeIndex: manager.containerIndex @@ -889,7 +891,7 @@ Cura.MachineAction { id: machineHeadPolygonProvider - containerStackId: Cura.MachineManager.activeMachineId + containerStackId: base.acthiveMachineId key: "machine_head_with_fans_polygon" watchedProperties: [ "value" ] storeIndex: manager.containerIndex diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index a2790dcf08..596fbd2e99 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -17,7 +17,6 @@ Item { width: childrenRect.width; height: childrenRect.height; - property var all_categories_except_support: [ "machine_settings", "resolution", "shell", "infill", "material", "speed", "travel", "cooling", "platform_adhesion", "dual", "meshfix", "blackmagic", "experimental"] @@ -45,7 +44,7 @@ Item { UM.SettingPropertyProvider { id: meshTypePropertyProvider - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine watchedProperties: [ "enabled" ] } @@ -518,7 +517,7 @@ Item { { id: machineExtruderCount - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "machine_extruder_count" watchedProperties: [ "value" ] storeIndex: 0 @@ -528,7 +527,7 @@ Item { { id: printSequencePropertyProvider - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "print_sequence" watchedProperties: [ "value" ] storeIndex: 0 diff --git a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml index b8d7258ef2..e91fc73cf4 100644 --- a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml +++ b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml @@ -384,7 +384,7 @@ UM.Dialog UM.SettingPropertyProvider { id: inheritStackProvider - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: model.key ? model.key : "None" watchedProperties: [ "limit_to_extruder" ] } diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index c22fea38b4..b9febdeb32 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -306,7 +306,7 @@ UM.MainWindow { id: machineExtruderCount - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "machine_extruder_count" watchedProperties: [ "value" ] storeIndex: 0 @@ -1054,7 +1054,7 @@ UM.MainWindow { restart(); } - else if(Cura.MachineManager.activeMachineId == null || Cura.MachineManager.activeMachineId == "") + else if(Cura.MachineManager.activeMachine == null) { addMachineDialog.open(); } diff --git a/resources/qml/Menus/ContextMenu.qml b/resources/qml/Menus/ContextMenu.qml index e35aef5f20..1ea402d815 100644 --- a/resources/qml/Menus/ContextMenu.qml +++ b/resources/qml/Menus/ContextMenu.qml @@ -103,7 +103,7 @@ Menu { id: machineExtruderCount - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "machine_extruder_count" watchedProperties: [ "value" ] } diff --git a/resources/qml/MonitorSidebar.qml b/resources/qml/MonitorSidebar.qml index b761b05380..80bd5c1a2e 100644 --- a/resources/qml/MonitorSidebar.qml +++ b/resources/qml/MonitorSidebar.qml @@ -181,7 +181,7 @@ Rectangle { id: machineExtruderCount - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "machine_extruder_count" watchedProperties: [ "value" ] storeIndex: 0 @@ -191,7 +191,7 @@ Rectangle { id: machineHeatedBed - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "machine_heated_bed" watchedProperties: [ "value" ] storeIndex: 0 diff --git a/resources/qml/PrepareSidebar.qml b/resources/qml/PrepareSidebar.qml index 703cbb8844..78b6a22ef9 100644 --- a/resources/qml/PrepareSidebar.qml +++ b/resources/qml/PrepareSidebar.qml @@ -595,7 +595,7 @@ Rectangle { id: machineExtruderCount - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "machine_extruder_count" watchedProperties: [ "value" ] storeIndex: 0 @@ -605,7 +605,7 @@ Rectangle { id: machineHeatedBed - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "machine_heated_bed" watchedProperties: [ "value" ] storeIndex: 0 diff --git a/resources/qml/PrintMonitor.qml b/resources/qml/PrintMonitor.qml index 7727f9cb52..3bfcea7025 100644 --- a/resources/qml/PrintMonitor.qml +++ b/resources/qml/PrintMonitor.qml @@ -78,18 +78,18 @@ Column UM.SettingPropertyProvider { id: bedTemperature - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "material_bed_temperature" watchedProperties: ["value", "minimum_value", "maximum_value", "resolve"] storeIndex: 0 - property var resolve: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId ? properties.resolve : "None" + property var resolve: Cura.MachineManager.activeStack != Cura.MachineManager.activeMachine ? properties.resolve : "None" } UM.SettingPropertyProvider { id: machineExtruderCount - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "machine_extruder_count" watchedProperties: ["value"] } diff --git a/resources/qml/PrinterOutput/ExtruderBox.qml b/resources/qml/PrinterOutput/ExtruderBox.qml index 56c86f1034..f0abd4cd6c 100644 --- a/resources/qml/PrinterOutput/ExtruderBox.qml +++ b/resources/qml/PrinterOutput/ExtruderBox.qml @@ -23,7 +23,7 @@ Item watchedProperties: ["value", "minimum_value", "maximum_value", "resolve"] storeIndex: 0 - property var resolve: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId ? properties.resolve : "None" + property var resolve: Cura.MachineManager.activeStack != Cura.MachineManager.activeMachine ? properties.resolve : "None" } Rectangle diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index 48b3cd306d..34bf9df921 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -139,7 +139,7 @@ Item { { id: linkedSettingIcon; - visible: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId && (!definition.settable_per_extruder || String(globalPropertyProvider.properties.limit_to_extruder) != "-1") && base.showLinkedSettingIcon + visible: Cura.MachineManager.activeStack != Cura.MachineManager.activeMachine && (!definition.settable_per_extruder || String(globalPropertyProvider.properties.limit_to_extruder) != "-1") && base.showLinkedSettingIcon height: parent.height; width: height; diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index 6ee33dd2f2..02bcfde29a 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -607,7 +607,7 @@ Column { id: machineExtruderCount - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "machine_extruder_count" watchedProperties: [ "value" ] storeIndex: 0 diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml index 4b229d9807..e962d7fc8f 100644 --- a/resources/qml/SidebarSimple.qml +++ b/resources/qml/SidebarSimple.qml @@ -20,7 +20,6 @@ Item property variant minimumPrintTime: PrintInformation.minimumPrintTime; property variant maximumPrintTime: PrintInformation.maximumPrintTime; property bool settingsEnabled: Cura.ExtruderManager.activeExtruderStackId || extrudersEnabledCount.properties.value == 1 - Component.onCompleted: PrintInformation.enabled = true Component.onDestruction: PrintInformation.enabled = false UM.I18nCatalog { id: catalog; name: "cura" } @@ -1116,7 +1115,7 @@ Item UM.SettingPropertyProvider { id: platformAdhesionType - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "adhesion_type" watchedProperties: [ "value", "enabled" ] storeIndex: 0 @@ -1125,7 +1124,7 @@ Item UM.SettingPropertyProvider { id: supportEnabled - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "support_enable" watchedProperties: [ "value", "enabled", "description" ] storeIndex: 0 @@ -1134,7 +1133,7 @@ Item UM.SettingPropertyProvider { id: extrudersEnabledCount - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "extruders_enabled_count" watchedProperties: [ "value" ] storeIndex: 0 @@ -1143,7 +1142,7 @@ Item UM.SettingPropertyProvider { id: supportExtruderNr - containerStackId: Cura.MachineManager.activeMachineId + containerStack: Cura.MachineManager.activeMachine key: "support_extruder_nr" watchedProperties: [ "value" ] storeIndex: 0 From 20ec8828ed826b843d18a83f607b14034b1d5635 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 7 Sep 2018 15:32:07 +0200 Subject: [PATCH 138/162] Fix incorrect type hinting The type hinting indicated that the property was a dict, but it could also be None. In cases where it was None, it would cause an exception, which was also fixed (since unpacking None will break) --- cura/Settings/MachineManager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index d65bbfddd9..a1d824a5da 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -385,7 +385,9 @@ class MachineManager(QObject): # \param definition_id \type{str} definition id that needs to look for # \param metadata_filter \type{dict} list of metadata keys and values used for filtering @staticmethod - def getMachine(definition_id: str, metadata_filter: Dict[str, str] = None) -> Optional["GlobalStack"]: + def getMachine(definition_id: str, metadata_filter: Optional[Dict[str, str]] = None) -> Optional["GlobalStack"]: + if metadata_filter is None: + metadata_filter = {} machines = CuraContainerRegistry.getInstance().findContainerStacks(type = "machine", **metadata_filter) for machine in machines: if machine.definition.getId() == definition_id: From c8eeb737bb403b463604dbc5b37075848c26ea82 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 7 Sep 2018 15:45:31 +0200 Subject: [PATCH 139/162] Automatically stop simulation when the user manually changes the layer (as opposed to the sim. itself). [CURA-5677] --- plugins/SimulationView/SimulationView.qml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/plugins/SimulationView/SimulationView.qml b/plugins/SimulationView/SimulationView.qml index be767e93ab..6de5134fc7 100644 --- a/plugins/SimulationView/SimulationView.qml +++ b/plugins/SimulationView/SimulationView.qml @@ -666,9 +666,21 @@ Item Connections { target: UM.SimulationView - onMaxLayersChanged: layerSlider.setUpperValue(UM.SimulationView.currentLayer) - onMinimumLayerChanged: layerSlider.setLowerValue(UM.SimulationView.minimumLayer) - onCurrentLayerChanged: layerSlider.setUpperValue(UM.SimulationView.currentLayer) + onMaxLayersChanged: + { + playButton.pauseSimulation() + layerSlider.setUpperValue(UM.SimulationView.currentLayer) + } + onMinimumLayerChanged: + { + playButton.pauseSimulation() + layerSlider.setLowerValue(UM.SimulationView.minimumLayer) + } + onCurrentLayerChanged: + { + playButton.pauseSimulation() + layerSlider.setUpperValue(UM.SimulationView.currentLayer) + } } // make sure the slider handlers show the correct value after switching views @@ -723,6 +735,7 @@ Item UM.SimulationView.setSimulationRunning(true) iconSource = "./resources/simulation_pause.svg" simulationTimer.start() + status = 1 } } @@ -766,6 +779,7 @@ Item { UM.SimulationView.setCurrentLayer(currentLayer+1) UM.SimulationView.setCurrentPath(0) + playButton.resumeSimulation() } } else From 638f9fb94158145c60556e51c35003f253973270 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 7 Sep 2018 16:02:54 +0200 Subject: [PATCH 140/162] Remove unused functions --- cura/Settings/ExtruderManager.py | 27 +-------------------------- cura/Settings/UserChangesModel.py | 4 +++- 2 files changed, 4 insertions(+), 27 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index e046082b5f..a7cb15d806 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -91,16 +91,6 @@ class ExtruderManager(QObject): return extruder_stack_ids - @pyqtSlot(str, result = str) - def getQualityChangesIdByExtruderStackId(self, extruder_stack_id: str) -> str: - global_container_stack = self._application.getGlobalContainerStack() - if global_container_stack is not None: - for position in self._extruder_trains[global_container_stack.getId()]: - extruder = self._extruder_trains[global_container_stack.getId()][position] - if extruder.getId() == extruder_stack_id: - return extruder.qualityChanges.getId() - return "" - ## Changes the active extruder by index. # # \param index The index of the new active extruder. @@ -214,9 +204,6 @@ class ExtruderManager(QObject): if changed: self.extrudersChanged.emit(machine_id) - def getAllExtruderValues(self, setting_key): - return self.getAllExtruderSettings(setting_key, "value") - ## Gets a property of a setting for all extruders. # # \param setting_key \type{str} The setting to get the property of. @@ -336,19 +323,6 @@ class ExtruderManager(QObject): return [] return [self._extruder_trains[machine_id][name] for name in self._extruder_trains[machine_id]] - ## Returns a list containing the global stack and active extruder stacks. - # - # The first element is the global container stack, followed by any extruder stacks. - # \return \type{List[ContainerStack]} - def getActiveGlobalAndExtruderStacks(self) -> Optional[List[Union["ExtruderStack", "GlobalStack"]]]: - global_stack = self._application.getGlobalContainerStack() - if not global_stack: - return None - - result = [global_stack] - result.extend(self.getActiveExtruderStacks()) - return result - ## Returns the list of active extruder stacks, taking into account the machine extruder count. # # \return \type{List[ContainerStack]} a list of @@ -358,6 +332,7 @@ class ExtruderManager(QObject): return [] result = [] + if global_stack.getId() in self._extruder_trains: for extruder in sorted(self._extruder_trains[global_stack.getId()]): result.append(self._extruder_trains[global_stack.getId()][extruder]) diff --git a/cura/Settings/UserChangesModel.py b/cura/Settings/UserChangesModel.py index 93274d61c9..95674e5ecd 100644 --- a/cura/Settings/UserChangesModel.py +++ b/cura/Settings/UserChangesModel.py @@ -43,7 +43,9 @@ class UserChangesModel(ListModel): global_stack = Application.getInstance().getGlobalContainerStack() if not global_stack: return - stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() + + stacks = [global_stack] + stacks.extend(global_stack.extruders.values()) # Check if the definition container has a translation file and ensure it's loaded. definition = global_stack.getBottom() From a8fc6aabcc6d59712e8c6b1b05ddcef73191ba28 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 7 Sep 2018 16:27:56 +0200 Subject: [PATCH 141/162] Switch incorrect usage of getMachineExtruders to getActiveExtruderStacks --- cura/BuildVolume.py | 4 +-- cura/Scene/ConvexHullDecorator.py | 4 +-- cura/Settings/ExtruderManager.py | 30 +++++++------------ cura/Settings/ExtrudersModel.py | 2 +- cura/Settings/MachineManager.py | 10 +++---- .../CuraEngineBackend/CuraEngineBackend.py | 2 +- .../ProcessSlicedLayersJob.py | 2 +- plugins/CuraEngineBackend/StartSliceJob.py | 2 +- 8 files changed, 24 insertions(+), 32 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index b029665abd..10ae8bb87a 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -528,7 +528,7 @@ class BuildVolume(SceneNode): def _onStackChanged(self): if self._global_container_stack: self._global_container_stack.propertyChanged.disconnect(self._onSettingPropertyChanged) - extruders = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()) + extruders = ExtruderManager.getInstance().getActiveExtruderStacks() for extruder in extruders: extruder.propertyChanged.disconnect(self._onSettingPropertyChanged) @@ -536,7 +536,7 @@ class BuildVolume(SceneNode): if self._global_container_stack: self._global_container_stack.propertyChanged.connect(self._onSettingPropertyChanged) - extruders = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()) + extruders = ExtruderManager.getInstance().getActiveExtruderStacks() for extruder in extruders: extruder.propertyChanged.connect(self._onSettingPropertyChanged) diff --git a/cura/Scene/ConvexHullDecorator.py b/cura/Scene/ConvexHullDecorator.py index 367144abfc..ea54d64642 100644 --- a/cura/Scene/ConvexHullDecorator.py +++ b/cura/Scene/ConvexHullDecorator.py @@ -304,7 +304,7 @@ class ConvexHullDecorator(SceneNodeDecorator): if self._global_stack: self._global_stack.propertyChanged.disconnect(self._onSettingValueChanged) self._global_stack.containersChanged.disconnect(self._onChanged) - extruders = ExtruderManager.getInstance().getMachineExtruders(self._global_stack.getId()) + extruders = ExtruderManager.getInstance().getActiveExtruderStacks() for extruder in extruders: extruder.propertyChanged.disconnect(self._onSettingValueChanged) @@ -314,7 +314,7 @@ class ConvexHullDecorator(SceneNodeDecorator): self._global_stack.propertyChanged.connect(self._onSettingValueChanged) self._global_stack.containersChanged.connect(self._onChanged) - extruders = ExtruderManager.getInstance().getMachineExtruders(self._global_stack.getId()) + extruders = ExtruderManager.getInstance().getActiveExtruderStacks() for extruder in extruders: extruder.propertyChanged.connect(self._onSettingValueChanged) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index a7cb15d806..65a7764508 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -12,11 +12,10 @@ from UM.Scene.Selection import Selection from UM.Scene.Iterator.BreadthFirstIterator import BreadthFirstIterator from UM.Settings.ContainerRegistry import ContainerRegistry # Finding containers by ID. from UM.Settings.SettingFunction import SettingFunction -from UM.Settings.SettingInstance import SettingInstance from UM.Settings.ContainerStack import ContainerStack from UM.Settings.PropertyEvaluationContext import PropertyEvaluationContext -from typing import Optional, List, TYPE_CHECKING, Union, Dict +from typing import Optional, List, TYPE_CHECKING, Dict, List if TYPE_CHECKING: from cura.Settings.ExtruderStack import ExtruderStack @@ -38,9 +37,10 @@ class ExtruderManager(QObject): self._application = cura.CuraApplication.CuraApplication.getInstance() - self._extruder_trains = {} # Per machine, a dictionary of extruder container stack IDs. Only for separately defined extruders. + # Per machine, a dictionary of extruder container stack IDs. Only for separately defined extruders. + self._extruder_trains = {} # type: Dict[str, List[ExtruderStack]] self._active_extruder_index = -1 # Indicates the index of the active extruder stack. -1 means no active extruder stack - self._selected_object_extruders = [] + self._selected_object_extruders = [] # type: List[ExtruderStack] self._addCurrentMachineExtruders() Selection.selectionChanged.connect(self.resetSelectedObjectExtruders) @@ -68,7 +68,7 @@ class ExtruderManager(QObject): ## Return extruder count according to extruder trains. @pyqtProperty(int, notify = extrudersChanged) - def extruderCount(self): + def extruderCount(self) -> int: if not self._application.getGlobalContainerStack(): return 0 # No active machine, so no extruders. try: @@ -83,11 +83,7 @@ class ExtruderManager(QObject): global_container_stack = self._application.getGlobalContainerStack() if global_container_stack: - global_stack_id = global_container_stack.getId() - - if global_stack_id in self._extruder_trains: - for position in self._extruder_trains[global_stack_id]: - extruder_stack_ids[position] = self._extruder_trains[global_stack_id][position].getId() + extruder_stack_ids = {position: extruder.id for position, extruder in global_container_stack.extruders.items()} return extruder_stack_ids @@ -109,7 +105,7 @@ class ExtruderManager(QObject): @pyqtSlot(int, result = str) def getExtruderName(self, index): try: - return list(self.getActiveExtruderStacks())[index].getName() + return self.getActiveExtruderStacks()[index].getName() except IndexError: return "" @@ -318,7 +314,7 @@ class ExtruderManager(QObject): ## Returns extruders for a specific machine. # # \param machine_id The machine to get the extruders of. - def getMachineExtruders(self, machine_id: str): + def getMachineExtruders(self, machine_id: str) -> List["ExtruderStack"]: if machine_id not in self._extruder_trains: return [] return [self._extruder_trains[machine_id][name] for name in self._extruder_trains[machine_id]] @@ -331,11 +327,7 @@ class ExtruderManager(QObject): if not global_stack: return [] - result = [] - - if global_stack.getId() in self._extruder_trains: - for extruder in sorted(self._extruder_trains[global_stack.getId()]): - result.append(self._extruder_trains[global_stack.getId()][extruder]) + result = list(global_stack.extruders.values()) machine_extruder_count = global_stack.getProperty("machine_extruder_count", "value") @@ -404,7 +396,7 @@ class ExtruderManager(QObject): global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() result = [] - for extruder in ExtruderManager.getInstance().getMachineExtruders(global_stack.getId()): + for extruder in ExtruderManager.getInstance().getActiveExtruderStacks(): if not extruder.isEnabled: continue # only include values from extruders that are "active" for the current machine instance @@ -446,7 +438,7 @@ class ExtruderManager(QObject): } result = [] - for extruder in ExtruderManager.getInstance().getMachineExtruders(global_stack.getId()): + for extruder in ExtruderManager.getInstance().getActiveExtruderStacks(): # only include values from extruders that are "active" for the current machine instance if int(extruder.getMetaDataEntry("position")) >= global_stack.getProperty("machine_extruder_count", "value", context = context): continue diff --git a/cura/Settings/ExtrudersModel.py b/cura/Settings/ExtrudersModel.py index f179dabd5a..37cb68af32 100644 --- a/cura/Settings/ExtrudersModel.py +++ b/cura/Settings/ExtrudersModel.py @@ -171,7 +171,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): # get machine extruder count for verification machine_extruder_count = global_container_stack.getProperty("machine_extruder_count", "value") - for extruder in Application.getInstance().getExtruderManager().getMachineExtruders(global_container_stack.getId()): + for extruder in Application.getInstance().getExtruderManager().getActiveExtruderStacks(): position = extruder.getMetaDataEntry("position", default = "0") # Get the position try: position = int(position) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index a1d824a5da..ed543fcee1 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -414,7 +414,7 @@ class MachineManager(QObject): # Not a very pretty solution, but the extruder manager doesn't really know how many extruders there are machine_extruder_count = self._global_container_stack.getProperty("machine_extruder_count", "value") - extruder_stacks = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()) + extruder_stacks = ExtruderManager.getInstance().getActiveExtruderStacks() count = 1 # we start with the global stack for stack in extruder_stacks: md = stack.getMetaData() @@ -437,7 +437,7 @@ class MachineManager(QObject): if self._global_container_stack.getTop().findInstances(): return True - stacks = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())) + stacks = ExtruderManager.getInstance().getActiveExtruderStacks() for stack in stacks: if stack.getTop().findInstances(): return True @@ -450,7 +450,7 @@ class MachineManager(QObject): return 0 num_user_settings = 0 num_user_settings += len(self._global_container_stack.getTop().findInstances()) - stacks = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())) + stacks = ExtruderManager.getInstance().getActiveExtruderStacks() for stack in stacks: num_user_settings += len(stack.getTop().findInstances()) return num_user_settings @@ -475,7 +475,7 @@ class MachineManager(QObject): stack = ExtruderManager.getInstance().getActiveExtruderStack() stacks = [stack] else: - stacks = ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()) + stacks = ExtruderManager.getInstance().getActiveExtruderStacks() for stack in stacks: if stack is not None: @@ -640,7 +640,7 @@ class MachineManager(QObject): if self._active_container_stack is None or self._global_container_stack is None: return new_value = self._active_container_stack.getProperty(key, "value") - extruder_stacks = [stack for stack in ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())] + extruder_stacks = [stack for stack in ExtruderManager.getInstance().getActiveExtruderStacks()] # check in which stack the value has to be replaced for extruder_stack in extruder_stacks: diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 9a5c95b04d..91a9ee0e7b 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -343,7 +343,7 @@ class CuraEngineBackend(QObject, Backend): if not self._global_container_stack: Logger.log("w", "Global container stack not assigned to CuraEngineBackend!") return - extruders = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())) + extruders = ExtruderManager.getInstance().getActiveExtruderStacks() error_keys = [] #type: List[str] for extruder in extruders: error_keys.extend(extruder.getErrorKeys()) diff --git a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py index 3bd6d79198..3953625c7e 100644 --- a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py +++ b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py @@ -178,7 +178,7 @@ class ProcessSlicedLayersJob(Job): # Find out colors per extruder global_container_stack = Application.getInstance().getGlobalContainerStack() manager = ExtruderManager.getInstance() - extruders = list(manager.getMachineExtruders(global_container_stack.getId())) + extruders = manager.getActiveExtruderStacks() if extruders: material_color_map = numpy.zeros((len(extruders), 4), dtype=numpy.float32) for extruder in extruders: diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 1295390c22..28e442033b 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -333,7 +333,7 @@ class StartSliceJob(Job): "-1": self._buildReplacementTokens(global_stack) } - for extruder_stack in ExtruderManager.getInstance().getMachineExtruders(global_stack.getId()): + for extruder_stack in ExtruderManager.getInstance().getActiveExtruderStacks(): extruder_nr = extruder_stack.getProperty("extruder_nr", "value") self._all_extruders_settings[str(extruder_nr)] = self._buildReplacementTokens(extruder_stack) From e6d0a9cc6a2ec30c15cb56d2e6890a44f12b051e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 7 Sep 2018 16:33:44 +0200 Subject: [PATCH 142/162] Add missing typing --- cura/Settings/ExtruderManager.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 65a7764508..680461ccac 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -4,7 +4,7 @@ from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, QVariant # For communicating data and events to Qt. from UM.FlameProfiler import pyqtSlot -import cura.CuraApplication #To get the global container stack to find the current machine. +import cura.CuraApplication # To get the global container stack to find the current machine. from UM.Logger import Logger from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Scene.SceneNode import SceneNode @@ -15,7 +15,7 @@ from UM.Settings.SettingFunction import SettingFunction from UM.Settings.ContainerStack import ContainerStack from UM.Settings.PropertyEvaluationContext import PropertyEvaluationContext -from typing import Optional, List, TYPE_CHECKING, Dict, List +from typing import Optional, TYPE_CHECKING, Dict, List, Any if TYPE_CHECKING: from cura.Settings.ExtruderStack import ExtruderStack @@ -103,7 +103,7 @@ class ExtruderManager(QObject): # # \param index The index of the extruder whose name to get. @pyqtSlot(int, result = str) - def getExtruderName(self, index): + def getExtruderName(self, index: int) -> str: try: return self.getActiveExtruderStacks()[index].getName() except IndexError: @@ -181,7 +181,7 @@ class ExtruderManager(QObject): result.append(stack) return result - def registerExtruder(self, extruder_train, machine_id): + def registerExtruder(self, extruder_train: "ExtruderStack", machine_id: str) -> None: changed = False if machine_id not in self._extruder_trains: @@ -205,7 +205,7 @@ class ExtruderManager(QObject): # \param setting_key \type{str} The setting to get the property of. # \param property \type{str} The property to get. # \return \type{List} the list of results - def getAllExtruderSettings(self, setting_key: str, prop: str): + def getAllExtruderSettings(self, setting_key: str, prop: str) -> List: result = [] for index in self.extruderIds: extruder_stack_id = self.extruderIds[str(index)] @@ -304,7 +304,7 @@ class ExtruderManager(QObject): ## Removes the container stack and user profile for the extruders for a specific machine. # # \param machine_id The machine to remove the extruders for. - def removeMachineExtruders(self, machine_id: str): + def removeMachineExtruders(self, machine_id: str) -> None: for extruder in self.getMachineExtruders(machine_id): ContainerRegistry.getInstance().removeContainer(extruder.userChanges.getId()) ContainerRegistry.getInstance().removeContainer(extruder.getId()) @@ -373,7 +373,7 @@ class ExtruderManager(QObject): # After 3.4, all single-extrusion machines have their own extruder definition files instead of reusing # "fdmextruder". We need to check a machine here so its extruder definition is correct according to this. - def _fixSingleExtrusionMachineExtruderDefinition(self, global_stack): + def _fixSingleExtrusionMachineExtruderDefinition(self, global_stack: "GlobalStack") -> None: expected_extruder_definition_0_id = global_stack.getMetaDataEntry("machine_extruder_trains")["0"] extruder_stack_0 = global_stack.extruders["0"] if extruder_stack_0.definition.getId() != expected_extruder_definition_0_id: @@ -392,7 +392,7 @@ class ExtruderManager(QObject): # \return A list of values for all extruders. If an extruder does not have a value, it will not be in the list. # If no extruder has the value, the list will contain the global value. @staticmethod - def getExtruderValues(key): + def getExtruderValues(key) -> List: global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() result = [] @@ -427,7 +427,7 @@ class ExtruderManager(QObject): # \return A list of values for all extruders. If an extruder does not have a value, it will not be in the list. # If no extruder has the value, the list will contain the global value. @staticmethod - def getDefaultExtruderValues(key): + def getDefaultExtruderValues(key) -> List: global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() context = PropertyEvaluationContext(global_stack) context.context["evaluate_from_container_index"] = 1 # skip the user settings container @@ -471,7 +471,7 @@ class ExtruderManager(QObject): # # \return String representing the extruder values @pyqtSlot(str, result="QVariant") - def getInstanceExtruderValues(self, key): + def getInstanceExtruderValues(self, key) -> List: return ExtruderManager.getExtruderValues(key) ## Get the value for a setting from a specific extruder. @@ -484,7 +484,7 @@ class ExtruderManager(QObject): # \return The value of the setting for the specified extruder or for the # global stack if not found. @staticmethod - def getExtruderValue(extruder_index, key): + def getExtruderValue(extruder_index: int, key: str) -> Any: if extruder_index == -1: extruder_index = int(cura.CuraApplication.CuraApplication.getInstance().getMachineManager().defaultExtruderPosition) extruder = ExtruderManager.getInstance().getExtruderStack(extruder_index) @@ -509,7 +509,7 @@ class ExtruderManager(QObject): # \return The value of the setting for the specified extruder or for the # global stack if not found. @staticmethod - def getDefaultExtruderValue(extruder_index, key): + def getDefaultExtruderValue(extruder_index: int, key: str) -> Any: extruder = ExtruderManager.getInstance().getExtruderStack(extruder_index) context = PropertyEvaluationContext(extruder) context.context["evaluate_from_container_index"] = 1 # skip the user settings container @@ -536,7 +536,7 @@ class ExtruderManager(QObject): # # \return The effective value @staticmethod - def getResolveOrValue(key): + def getResolveOrValue(key: str) -> Any: global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() resolved_value = global_stack.getProperty(key, "value") @@ -550,7 +550,7 @@ class ExtruderManager(QObject): # # \return The effective value @staticmethod - def getDefaultResolveOrValue(key): + def getDefaultResolveOrValue(key: str) -> Any: global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() context = PropertyEvaluationContext(global_stack) context.context["evaluate_from_container_index"] = 1 # skip the user settings container From 5c6c299b27747e9ff0b17bfed546c210eacf4926 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 7 Sep 2018 17:06:18 +0200 Subject: [PATCH 143/162] Cleanup extruder manager Few more unused functions removed & simplified. It also fixes a few more typing issues that I encountered. --- cura/Settings/ExtruderManager.py | 40 +++++++++-------------------- cura/Settings/ExtrudersModel.py | 2 +- plugins/GCodeReader/FlavorParser.py | 2 +- 3 files changed, 14 insertions(+), 30 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 680461ccac..1003ab5c86 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -20,6 +20,7 @@ from typing import Optional, TYPE_CHECKING, Dict, List, Any if TYPE_CHECKING: from cura.Settings.ExtruderStack import ExtruderStack from cura.Settings.GlobalStack import GlobalStack + from UM.Scene.SceneNode import SceneNode ## Manages all existing extruder stacks. @@ -38,7 +39,7 @@ class ExtruderManager(QObject): self._application = cura.CuraApplication.CuraApplication.getInstance() # Per machine, a dictionary of extruder container stack IDs. Only for separately defined extruders. - self._extruder_trains = {} # type: Dict[str, List[ExtruderStack]] + self._extruder_trains = {} # type: Dict[str, Dict[str, ExtruderStack]] self._active_extruder_index = -1 # Indicates the index of the active extruder stack. -1 means no active extruder stack self._selected_object_extruders = [] # type: List[ExtruderStack] self._addCurrentMachineExtruders() @@ -119,7 +120,7 @@ class ExtruderManager(QObject): object_extruders = set() # First, build a list of the actual selected objects (including children of groups, excluding group nodes) - selected_nodes = [] + selected_nodes = [] # type: List["SceneNode"] for node in Selection.getAllSelectedObjects(): if node.callDecoration("isGroup"): for grouped_node in BreadthFirstIterator(node): #type: ignore #Ignore type error because iter() should get called automatically by Python syntax. @@ -131,14 +132,13 @@ class ExtruderManager(QObject): selected_nodes.append(node) # Then, figure out which nodes are used by those selected nodes. - global_stack = self._application.getGlobalContainerStack() - current_extruder_trains = self._extruder_trains.get(global_stack.getId()) + current_extruder_trains = self.getActiveExtruderStacks() for node in selected_nodes: extruder = node.callDecoration("getActiveExtruder") if extruder: object_extruders.add(extruder) elif current_extruder_trains: - object_extruders.add(current_extruder_trains["0"].getId()) + object_extruders.add(current_extruder_trains[0].getId()) self._selected_object_extruders = list(object_extruders) @@ -154,14 +154,7 @@ class ExtruderManager(QObject): @pyqtSlot(result = QObject) def getActiveExtruderStack(self) -> Optional["ExtruderStack"]: - global_container_stack = self._application.getGlobalContainerStack() - - if global_container_stack: - if global_container_stack.getId() in self._extruder_trains: - if str(self._active_extruder_index) in self._extruder_trains[global_container_stack.getId()]: - return self._extruder_trains[global_container_stack.getId()][str(self._active_extruder_index)] - - return None + return self.getExtruderStack(self._active_extruder_index) ## Get an extruder stack by index def getExtruderStack(self, index) -> Optional["ExtruderStack"]: @@ -172,15 +165,6 @@ class ExtruderManager(QObject): return self._extruder_trains[global_container_stack.getId()][str(index)] return None - ## Get all extruder stacks - def getExtruderStacks(self) -> List["ExtruderStack"]: - result = [] - for i in range(self.extruderCount): - stack = self.getExtruderStack(i) - if stack: - result.append(stack) - return result - def registerExtruder(self, extruder_train: "ExtruderStack", machine_id: str) -> None: changed = False @@ -207,13 +191,13 @@ class ExtruderManager(QObject): # \return \type{List} the list of results def getAllExtruderSettings(self, setting_key: str, prop: str) -> List: result = [] - for index in self.extruderIds: - extruder_stack_id = self.extruderIds[str(index)] - extruder_stack = ContainerRegistry.getInstance().findContainerStacks(id = extruder_stack_id)[0] + + for extruder_stack in self.getActiveExtruderStacks(): result.append(extruder_stack.getProperty(setting_key, prop)) + return result - def extruderValueWithDefault(self, value): + def extruderValueWithDefault(self, value: str) -> str: machine_manager = self._application.getMachineManager() if value == "-1": return machine_manager.defaultExtruderPosition @@ -392,7 +376,7 @@ class ExtruderManager(QObject): # \return A list of values for all extruders. If an extruder does not have a value, it will not be in the list. # If no extruder has the value, the list will contain the global value. @staticmethod - def getExtruderValues(key) -> List: + def getExtruderValues(key: str) -> List[Any]: global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() result = [] @@ -427,7 +411,7 @@ class ExtruderManager(QObject): # \return A list of values for all extruders. If an extruder does not have a value, it will not be in the list. # If no extruder has the value, the list will contain the global value. @staticmethod - def getDefaultExtruderValues(key) -> List: + def getDefaultExtruderValues(key: str) -> List[Any]: global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() context = PropertyEvaluationContext(global_stack) context.context["evaluate_from_container_index"] = 1 # skip the user settings container diff --git a/cura/Settings/ExtrudersModel.py b/cura/Settings/ExtrudersModel.py index 37cb68af32..52fc502bfc 100644 --- a/cura/Settings/ExtrudersModel.py +++ b/cura/Settings/ExtrudersModel.py @@ -134,7 +134,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): # Link to new extruders self._active_machine_extruders = [] extruder_manager = Application.getInstance().getExtruderManager() - for extruder in extruder_manager.getExtruderStacks(): + for extruder in extruder_manager.getActiveExtruderStacks(): if extruder is None: #This extruder wasn't loaded yet. This happens asynchronously while this model is constructed from QML. continue extruder.containersChanged.connect(self._onExtruderStackContainersChanged) diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index 10f841fc43..eb19853748 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -275,7 +275,7 @@ class FlavorParser: ## For showing correct x, y offsets for each extruder def _extruderOffsets(self) -> Dict[int, List[float]]: result = {} - for extruder in ExtruderManager.getInstance().getExtruderStacks(): + for extruder in ExtruderManager.getInstance().getActiveExtruderStacks(): result[int(extruder.getMetaData().get("position", "0"))] = [ extruder.getProperty("machine_nozzle_offset_x", "value"), extruder.getProperty("machine_nozzle_offset_y", "value")] From 2bc1e4b397aaf688232f0863119a9867b59eec56 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 10 Sep 2018 09:27:59 +0200 Subject: [PATCH 144/162] Fix bug where disovery window does not appear --- plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py b/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py index ece23507e5..be83e04585 100644 --- a/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py +++ b/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py @@ -24,7 +24,7 @@ class DiscoverUM3Action(MachineAction): def __init__(self) -> None: super().__init__("DiscoverUM3Action", catalog.i18nc("@action","Connect via Network")) - self._qml_url = "../resources/qml/DiscoverUM3Action.qml" + self._qml_url = "resources/qml/DiscoverUM3Action.qml" self._network_plugin = None #type: Optional[UM3OutputDevicePlugin] From 67bc45e37d2119252b7f8be5eaea210df65678db Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 10 Sep 2018 09:40:53 +0200 Subject: [PATCH 145/162] Added 3MF writer as required plugin --- cura/CuraApplication.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index dbc675a279..7e5e98adef 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -429,6 +429,7 @@ class CuraApplication(QtApplication): # Readers & Writers: "GCodeWriter", "STLReader", + "3MFWriter", # Tools: "CameraTool", From 5139e6147533c211d710d86bd98f251bb77420e7 Mon Sep 17 00:00:00 2001 From: Thomas Karl Pietrowski Date: Sun, 9 Sep 2018 11:43:47 +0200 Subject: [PATCH 146/162] Found the dead line while reading some code --- plugins/Toolbox/src/PackagesModel.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/Toolbox/src/PackagesModel.py b/plugins/Toolbox/src/PackagesModel.py index 7892044d00..ae4cd7682d 100644 --- a/plugins/Toolbox/src/PackagesModel.py +++ b/plugins/Toolbox/src/PackagesModel.py @@ -76,7 +76,6 @@ class PackagesModel(ListModel): if "author_id" not in package["author"] or "display_name" not in package["author"]: package["author"]["author_id"] = "" package["author"]["display_name"] = "" - # raise Exception("Detected a package with malformed author data.") items.append({ "id": package["package_id"], From d8421105d4d09bd6e412a892656bb8ef3dd4ce34 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 10 Sep 2018 12:13:35 +0200 Subject: [PATCH 147/162] Fix quality lookup CURA-5694 For a machine, if it has extruder-specific qualities, when we look up extruder qualities, we should NOT fall back to use the global qualities. --- cura/Machines/QualityManager.py | 31 ++++++++++++++++++++----------- cura/Settings/GlobalStack.py | 3 +++ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/cura/Machines/QualityManager.py b/cura/Machines/QualityManager.py index 580d52b089..4ae58a71b2 100644 --- a/cura/Machines/QualityManager.py +++ b/cura/Machines/QualityManager.py @@ -200,14 +200,19 @@ class QualityManager(QObject): machine_definition_id = getMachineDefinitionIDForQualitySearch(machine.definition) # This determines if we should only get the global qualities for the global stack and skip the global qualities for the extruder stacks - has_variants = machine.getHasVariants() - has_materials = machine.getHasMaterials() - has_variants_or_materials = has_variants or has_materials + has_machine_specific_qualities = machine.getHasMachineQuality() # To find the quality container for the GlobalStack, check in the following fall-back manner: # (1) the machine-specific node # (2) the generic node machine_node = self._machine_nozzle_buildplate_material_quality_type_to_quality_dict.get(machine_definition_id) + # Check if this machine has specific quality profiles for its extruders, if so, when looking up extruder + # qualities, we should not fall back to use the global qualities. + has_extruder_specific_qualities = False + if machine_node: + if machine_node.children_map: + has_extruder_specific_qualities = True + default_machine_node = self._machine_nozzle_buildplate_material_quality_type_to_quality_dict.get(self._default_machine_definition_id) nodes_to_check = [machine_node, default_machine_node] @@ -215,12 +220,10 @@ class QualityManager(QObject): quality_group_dict = {} for node in nodes_to_check: if node and node.quality_type_map: - # Only include global qualities - if has_variants_or_materials: - quality_node = list(node.quality_type_map.values())[0] - is_global_quality = parseBool(quality_node.metadata.get("global_quality", False)) - if not is_global_quality: - continue + quality_node = list(node.quality_type_map.values())[0] + is_global_quality = parseBool(quality_node.metadata.get("global_quality", False)) + if not is_global_quality: + continue for quality_type, quality_node in node.quality_type_map.items(): quality_group = QualityGroup(quality_node.metadata["name"], quality_type) @@ -302,9 +305,9 @@ class QualityManager(QObject): else: nodes_to_check += [default_machine_node] - for node in nodes_to_check: + for node_idx, node in enumerate(nodes_to_check): if node and node.quality_type_map: - if has_variants_or_materials: + if has_extruder_specific_qualities: # Only include variant qualities; skip non global qualities quality_node = list(node.quality_type_map.values())[0] is_global_quality = parseBool(quality_node.metadata.get("global_quality", False)) @@ -320,6 +323,12 @@ class QualityManager(QObject): if position not in quality_group.nodes_for_extruders: quality_group.nodes_for_extruders[position] = quality_node + # If the machine has its own specific qualities, for extruders, it should skip the global qualities + # and use the material/variant specific qualities. + if has_extruder_specific_qualities: + if node_idx == len(nodes_to_check) - 1: + break + # Update availabilities for each quality group self._updateQualityGroupsAvailability(machine, quality_group_dict.values()) diff --git a/cura/Settings/GlobalStack.py b/cura/Settings/GlobalStack.py index d7ebe804f4..e2f7df41ea 100755 --- a/cura/Settings/GlobalStack.py +++ b/cura/Settings/GlobalStack.py @@ -196,6 +196,9 @@ class GlobalStack(CuraContainerStack): def getHasVariants(self) -> bool: return parseBool(self.getMetaDataEntry("has_variants", False)) + def getHasMachineQuality(self) -> bool: + return parseBool(self.getMetaDataEntry("has_machine_quality", False)) + ## private: global_stack_mime = MimeType( From 351fe5c5bc772716a453deaee2156e2407e0340b Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 10 Sep 2018 17:24:00 +0200 Subject: [PATCH 148/162] Fix style. --- cura/Settings/ExtruderManager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 1003ab5c86..479e69f558 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -41,7 +41,7 @@ class ExtruderManager(QObject): # Per machine, a dictionary of extruder container stack IDs. Only for separately defined extruders. self._extruder_trains = {} # type: Dict[str, Dict[str, ExtruderStack]] self._active_extruder_index = -1 # Indicates the index of the active extruder stack. -1 means no active extruder stack - self._selected_object_extruders = [] # type: List[ExtruderStack] + self._selected_object_extruders = [] # type: List[str] self._addCurrentMachineExtruders() Selection.selectionChanged.connect(self.resetSelectedObjectExtruders) @@ -80,7 +80,7 @@ class ExtruderManager(QObject): ## Gets a dict with the extruder stack ids with the extruder number as the key. @pyqtProperty("QVariantMap", notify = extrudersChanged) def extruderIds(self) -> Dict[str, str]: - extruder_stack_ids = {} + extruder_stack_ids = {} # type: Dict[str, str] global_container_stack = self._application.getGlobalContainerStack() if global_container_stack: From 109b3fc1d23a606ee4226fdab9c6639ea8dd51d1 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 11 Sep 2018 09:08:50 +0200 Subject: [PATCH 149/162] [CURA-5677] Removed some superfluous and/or dead lines. --- plugins/SimulationView/SimulationView.qml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/plugins/SimulationView/SimulationView.qml b/plugins/SimulationView/SimulationView.qml index 6de5134fc7..b4ca9584c7 100644 --- a/plugins/SimulationView/SimulationView.qml +++ b/plugins/SimulationView/SimulationView.qml @@ -666,16 +666,7 @@ Item Connections { target: UM.SimulationView - onMaxLayersChanged: - { - playButton.pauseSimulation() - layerSlider.setUpperValue(UM.SimulationView.currentLayer) - } - onMinimumLayerChanged: - { - playButton.pauseSimulation() - layerSlider.setLowerValue(UM.SimulationView.minimumLayer) - } + onMaxLayersChanged: layerSlider.setUpperValue(UM.SimulationView.currentLayer) onCurrentLayerChanged: { playButton.pauseSimulation() From bacae6c1364ac33b7751557b7c401cd0d15827e5 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 10 Sep 2018 11:56:49 +0200 Subject: [PATCH 150/162] Update name of the VersionUpgrade for the version 3.5. --- resources/bundled_packages.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/bundled_packages.json b/resources/bundled_packages.json index d216415921..c593f48d2d 100644 --- a/resources/bundled_packages.json +++ b/resources/bundled_packages.json @@ -662,12 +662,12 @@ } } }, - "VersionUpgrade34to40": { + "VersionUpgrade34to35": { "package_info": { - "package_id": "VersionUpgrade34to40", + "package_id": "VersionUpgrade34to35", "package_type": "plugin", - "display_name": "Version Upgrade 3.4 to 4.0", - "description": "Upgrades configurations from Cura 3.4 to Cura 4.0.", + "display_name": "Version Upgrade 3.4 to 3.5", + "description": "Upgrades configurations from Cura 3.4 to Cura 3.5.", "package_version": "1.0.0", "sdk_version": 4, "website": "https://ultimaker.com", From 19eefc71da7baaa4dd9c0092672b1d70641f3320 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 10 Sep 2018 13:53:07 +0200 Subject: [PATCH 151/162] Update SDK version for the bundled packages. --- resources/bundled_packages.json | 134 ++++++++++++++++---------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/resources/bundled_packages.json b/resources/bundled_packages.json index c593f48d2d..7107bbe4f0 100644 --- a/resources/bundled_packages.json +++ b/resources/bundled_packages.json @@ -6,7 +6,7 @@ "display_name": "3MF Reader", "description": "Provides support for reading 3MF files.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -23,7 +23,7 @@ "display_name": "3MF Writer", "description": "Provides support for writing 3MF files.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -40,7 +40,7 @@ "display_name": "Change Log", "description": "Shows changes since latest checked version.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -57,7 +57,7 @@ "display_name": "CuraEngine Backend", "description": "Provides the link to the CuraEngine slicing backend.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -74,7 +74,7 @@ "display_name": "Cura Profile Reader", "description": "Provides support for importing Cura profiles.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -91,7 +91,7 @@ "display_name": "Cura Profile Writer", "description": "Provides support for exporting Cura profiles.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -108,7 +108,7 @@ "display_name": "Firmware Update Checker", "description": "Checks for firmware updates.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -125,7 +125,7 @@ "display_name": "Compressed G-code Reader", "description": "Reads g-code from a compressed archive.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -142,7 +142,7 @@ "display_name": "Compressed G-code Writer", "description": "Writes g-code to a compressed archive.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -159,7 +159,7 @@ "display_name": "G-Code Profile Reader", "description": "Provides support for importing profiles from g-code files.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -176,7 +176,7 @@ "display_name": "G-Code Reader", "description": "Allows loading and displaying G-code files.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "VictorLarchenko", @@ -193,7 +193,7 @@ "display_name": "G-Code Writer", "description": "Writes g-code to a file.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -210,7 +210,7 @@ "display_name": "Image Reader", "description": "Enables ability to generate printable geometry from 2D image files.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -227,7 +227,7 @@ "display_name": "Legacy Cura Profile Reader", "description": "Provides support for importing profiles from legacy Cura versions.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -244,7 +244,7 @@ "display_name": "Machine Settings Action", "description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "fieldOfView", @@ -261,7 +261,7 @@ "display_name": "Model Checker", "description": "Checks models and print configuration for possible printing issues and give suggestions.", "package_version": "0.1.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -278,7 +278,7 @@ "display_name": "Monitor Stage", "description": "Provides a monitor stage in Cura.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -295,7 +295,7 @@ "display_name": "Per-Object Settings Tool", "description": "Provides the per-model settings.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -312,7 +312,7 @@ "display_name": "Post Processing", "description": "Extension that allows for user created scripts for post processing.", "package_version": "2.2.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -329,7 +329,7 @@ "display_name": "Prepare Stage", "description": "Provides a prepare stage in Cura.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -346,7 +346,7 @@ "display_name": "Removable Drive Output Device", "description": "Provides removable drive hotplugging and writing support.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -363,7 +363,7 @@ "display_name": "Simulation View", "description": "Provides the Simulation view.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -380,7 +380,7 @@ "display_name": "Slice Info", "description": "Submits anonymous slice info. Can be disabled through preferences.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -397,7 +397,7 @@ "display_name": "Solid View", "description": "Provides a normal solid mesh view.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -414,7 +414,7 @@ "display_name": "Support Eraser Tool", "description": "Creates an eraser mesh to block the printing of support in certain places.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -431,7 +431,7 @@ "display_name": "Toolbox", "description": "Find, manage and install new Cura packages.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -448,7 +448,7 @@ "display_name": "UFP Writer", "description": "Provides support for writing Ultimaker Format Packages.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -465,7 +465,7 @@ "display_name": "Ultimaker Machine Actions", "description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -482,7 +482,7 @@ "display_name": "UM3 Network Printing", "description": "Manages network connections to Ultimaker 3 printers.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -499,7 +499,7 @@ "display_name": "USB Printing", "description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -516,7 +516,7 @@ "display_name": "User Agreement", "description": "Ask the user once if he/she agrees with our license.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -533,7 +533,7 @@ "display_name": "Version Upgrade 2.1 to 2.2", "description": "Upgrades configurations from Cura 2.1 to Cura 2.2.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -550,7 +550,7 @@ "display_name": "Version Upgrade 2.2 to 2.4", "description": "Upgrades configurations from Cura 2.2 to Cura 2.4.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -567,7 +567,7 @@ "display_name": "Version Upgrade 2.5 to 2.6", "description": "Upgrades configurations from Cura 2.5 to Cura 2.6.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -584,7 +584,7 @@ "display_name": "Version Upgrade 2.6 to 2.7", "description": "Upgrades configurations from Cura 2.6 to Cura 2.7.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -601,7 +601,7 @@ "display_name": "Version Upgrade 2.7 to 3.0", "description": "Upgrades configurations from Cura 2.7 to Cura 3.0.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -618,7 +618,7 @@ "display_name": "Version Upgrade 3.0 to 3.1", "description": "Upgrades configurations from Cura 3.0 to Cura 3.1.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -635,7 +635,7 @@ "display_name": "Version Upgrade 3.2 to 3.3", "description": "Upgrades configurations from Cura 3.2 to Cura 3.3.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -652,7 +652,7 @@ "display_name": "Version Upgrade 3.3 to 3.4", "description": "Upgrades configurations from Cura 3.3 to Cura 3.4.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -669,7 +669,7 @@ "display_name": "Version Upgrade 3.4 to 3.5", "description": "Upgrades configurations from Cura 3.4 to Cura 3.5.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -686,7 +686,7 @@ "display_name": "X3D Reader", "description": "Provides support for reading X3D files.", "package_version": "0.5.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "SevaAlekseyev", @@ -703,7 +703,7 @@ "display_name": "XML Material Profiles", "description": "Provides capabilities to read and write XML-based material profiles.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -720,7 +720,7 @@ "display_name": "X-Ray View", "description": "Provides the X-Ray view.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com", "author": { "author_id": "Ultimaker", @@ -971,7 +971,7 @@ "display_name": "Dagoma Chromatik PLA", "description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://dagoma.fr/boutique/filaments.html", "author": { "author_id": "Dagoma", @@ -988,7 +988,7 @@ "display_name": "FABtotum ABS", "description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so it’s compatible with all versions of the FABtotum Personal fabricator.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40", "author": { "author_id": "FABtotum", @@ -1005,7 +1005,7 @@ "display_name": "FABtotum Nylon", "description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53", "author": { "author_id": "FABtotum", @@ -1022,7 +1022,7 @@ "display_name": "FABtotum PLA", "description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starch’s sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotum’s one is between 185° and 195°.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39", "author": { "author_id": "FABtotum", @@ -1039,7 +1039,7 @@ "display_name": "FABtotum TPU Shore 98A", "description": "", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66", "author": { "author_id": "FABtotum", @@ -1056,7 +1056,7 @@ "display_name": "Fiberlogy HD PLA", "description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS – better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/", "author": { "author_id": "Fiberlogy", @@ -1073,7 +1073,7 @@ "display_name": "Filo3D PLA", "description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://dagoma.fr", "author": { "author_id": "Dagoma", @@ -1090,7 +1090,7 @@ "display_name": "IMADE3D JellyBOX PETG", "description": "", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "http://shop.imade3d.com/filament.html", "author": { "author_id": "IMADE3D", @@ -1107,7 +1107,7 @@ "display_name": "IMADE3D JellyBOX PLA", "description": "", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "http://shop.imade3d.com/filament.html", "author": { "author_id": "IMADE3D", @@ -1124,7 +1124,7 @@ "display_name": "Octofiber PLA", "description": "PLA material from Octofiber.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://nl.octofiber.com/3d-printing-filament/pla.html", "author": { "author_id": "Octofiber", @@ -1141,7 +1141,7 @@ "display_name": "PolyFlex™ PLA", "description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "http://www.polymaker.com/shop/polyflex/", "author": { "author_id": "Polymaker", @@ -1158,7 +1158,7 @@ "display_name": "PolyMax™ PLA", "description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "http://www.polymaker.com/shop/polymax/", "author": { "author_id": "Polymaker", @@ -1175,7 +1175,7 @@ "display_name": "PolyPlus™ PLA True Colour", "description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "http://www.polymaker.com/shop/polyplus-true-colour/", "author": { "author_id": "Polymaker", @@ -1192,7 +1192,7 @@ "display_name": "PolyWood™ PLA", "description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "http://www.polymaker.com/shop/polywood/", "author": { "author_id": "Polymaker", @@ -1209,7 +1209,7 @@ "display_name": "Ultimaker ABS", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "Ultimaker", @@ -1228,7 +1228,7 @@ "display_name": "Ultimaker CPE", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "Ultimaker", @@ -1247,7 +1247,7 @@ "display_name": "Ultimaker Nylon", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "Ultimaker", @@ -1266,7 +1266,7 @@ "display_name": "Ultimaker PC", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com/products/materials/pc", "author": { "author_id": "Ultimaker", @@ -1285,7 +1285,7 @@ "display_name": "Ultimaker PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "Ultimaker", @@ -1304,7 +1304,7 @@ "display_name": "Ultimaker PVA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "Ultimaker", @@ -1323,7 +1323,7 @@ "display_name": "Vertex Delta ABS", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1340,7 +1340,7 @@ "display_name": "Vertex Delta PET", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1357,7 +1357,7 @@ "display_name": "Vertex Delta PLA", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1374,7 +1374,7 @@ "display_name": "Vertex Delta TPU", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.0.0", - "sdk_version": 4, + "sdk_version": 5, "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", From d9e23bf02b3ecf19f1c830a0a87739e6fb55bd7d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 11 Sep 2018 10:36:53 +0200 Subject: [PATCH 152/162] Fix issue caused by making metadata of containerNode private --- plugins/XmlMaterialProfile/XmlMaterialProfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 7d9b2aacc3..e12be94b25 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -269,7 +269,7 @@ class XmlMaterialProfile(InstanceContainer): # Find all hotend sub-profiles corresponding to this material and machine and add them to this profile. buildplate_dict = {} # type: Dict[str, Any] for variant_name, variant_dict in machine_variant_map[definition_id].items(): - variant_type = variant_dict["variant_node"].metadata["hardware_type"] + variant_type = variant_dict["variant_node"].getMetaDataEntry("hardware_type", "") variant_type = VariantType(variant_type) if variant_type == VariantType.NOZZLE: # The hotend identifier is not the containers name, but its "name". From 1fb6441327e3697f49a797f48287df9b00b89814 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 11 Sep 2018 11:19:58 +0200 Subject: [PATCH 153/162] Fix default hardware type NOZZLE in XML material CURA-5716 --- plugins/XmlMaterialProfile/XmlMaterialProfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index e12be94b25..011941eec7 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -269,7 +269,7 @@ class XmlMaterialProfile(InstanceContainer): # Find all hotend sub-profiles corresponding to this material and machine and add them to this profile. buildplate_dict = {} # type: Dict[str, Any] for variant_name, variant_dict in machine_variant_map[definition_id].items(): - variant_type = variant_dict["variant_node"].getMetaDataEntry("hardware_type", "") + variant_type = variant_dict["variant_node"].getMetaDataEntry("hardware_type", str(VariantType.NOZZLE)) variant_type = VariantType(variant_type) if variant_type == VariantType.NOZZLE: # The hotend identifier is not the containers name, but its "name". From 4f30dffaf96c2ad7d4c31085af6c4f1b89c85b32 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 11 Sep 2018 12:58:00 +0200 Subject: [PATCH 154/162] Ensure that when a corrupt 3mf file is loaded, the "failed to load" message will pop up --- plugins/3MFReader/ThreeMFReader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index 9ba82364e8..49c6995d18 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -225,7 +225,7 @@ class ThreeMFReader(MeshReader): except Exception: Logger.logException("e", "An exception occurred in 3mf reader.") - return [] + return None return result From 301605c30c68c454d3691e5466f92c9e9276938a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 11 Sep 2018 13:20:42 +0200 Subject: [PATCH 155/162] Added missing typing to toolbox --- plugins/Toolbox/src/Toolbox.py | 91 ++++++++++++++++------------------ 1 file changed, 43 insertions(+), 48 deletions(-) diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 00864c6b4e..a4dcc47c2b 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -6,7 +6,7 @@ import json import os import tempfile import platform -from typing import cast, List +from typing import cast, List, TYPE_CHECKING, Tuple, Optional from PyQt5.QtCore import QUrl, QObject, pyqtProperty, pyqtSignal, pyqtSlot from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply @@ -20,9 +20,13 @@ from UM.Version import Version import cura from cura.CuraApplication import CuraApplication + from .AuthorsModel import AuthorsModel from .PackagesModel import PackagesModel +if TYPE_CHECKING: + from cura.Settings.GlobalStack import GlobalStack + i18n_catalog = i18nCatalog("cura") @@ -34,19 +38,19 @@ class Toolbox(QObject, Extension): def __init__(self, application: CuraApplication) -> None: super().__init__() - self._application = application #type: CuraApplication + self._application = application # type: CuraApplication - self._sdk_version = None # type: Optional[int] - self._cloud_api_version = None # type: Optional[int] - self._cloud_api_root = None # type: Optional[str] - self._api_url = None # type: Optional[str] + self._sdk_version = None # type: Optional[int] + self._cloud_api_version = None # type: Optional[int] + self._cloud_api_root = None # type: Optional[str] + self._api_url = None # type: Optional[str] # Network: - self._download_request = None #type: Optional[QNetworkRequest] - self._download_reply = None #type: Optional[QNetworkReply] - self._download_progress = 0 #type: float - self._is_downloading = False #type: bool - self._network_manager = None #type: Optional[QNetworkAccessManager] + self._download_request = None # type: Optional[QNetworkRequest] + self._download_reply = None # type: Optional[QNetworkReply] + self._download_progress = 0 # type: float + self._is_downloading = False # type: bool + self._network_manager = None # type: Optional[QNetworkAccessManager] self._request_header = [ b"User-Agent", str.encode( @@ -58,9 +62,9 @@ class Toolbox(QObject, Extension): ) ) ] - self._request_urls = {} # type: Dict[str, QUrl] + self._request_urls = {} # type: Dict[str, QUrl] self._to_update = [] # type: List[str] # Package_ids that are waiting to be updated - self._old_plugin_ids = [] # type: List[str] + self._old_plugin_ids = [] # type: List[str] # Data: self._metadata = { @@ -73,7 +77,7 @@ class Toolbox(QObject, Extension): "materials_available": [], "materials_installed": [], "materials_generic": [] - } # type: Dict[str, List[Any]] + } # type: Dict[str, List[Any]] # Models: self._models = { @@ -86,39 +90,37 @@ class Toolbox(QObject, Extension): "materials_available": AuthorsModel(self), "materials_installed": PackagesModel(self), "materials_generic": PackagesModel(self) - } # type: Dict[str, ListModel] + } # type: Dict[str, ListModel] # These properties are for keeping track of the UI state: # ---------------------------------------------------------------------- # View category defines which filter to use, and therefore effectively # which category is currently being displayed. For example, possible # values include "plugin" or "material", but also "installed". - self._view_category = "plugin" #type: str + self._view_category = "plugin" # type: str # View page defines which type of page layout to use. For example, # possible values include "overview", "detail" or "author". - self._view_page = "loading" #type: str + self._view_page = "loading" # type: str # Active package refers to which package is currently being downloaded, # installed, or otherwise modified. - self._active_package = None # type: Optional[Dict[str, Any]] + self._active_package = None # type: Optional[Dict[str, Any]] - self._dialog = None #type: Optional[QObject] - self._confirm_reset_dialog = None #type: Optional[QObject] + self._dialog = None # type: Optional[QObject] + self._confirm_reset_dialog = None # type: Optional[QObject] self._resetUninstallVariables() - self._restart_required = False #type: bool + self._restart_required = False # type: bool # variables for the license agreement dialog - self._license_dialog_plugin_name = "" #type: str - self._license_dialog_license_content = "" #type: str - self._license_dialog_plugin_file_location = "" #type: str - self._restart_dialog_message = "" #type: str + self._license_dialog_plugin_name = "" # type: str + self._license_dialog_license_content = "" # type: str + self._license_dialog_plugin_file_location = "" # type: str + self._restart_dialog_message = "" # type: str self._application.initializationFinished.connect(self._onAppInitialized) - - # Signals: # -------------------------------------------------------------------------- # Downloading changes @@ -137,11 +139,11 @@ class Toolbox(QObject, Extension): showLicenseDialog = pyqtSignal() uninstallVariablesChanged = pyqtSignal() - def _resetUninstallVariables(self): - self._package_id_to_uninstall = None + def _resetUninstallVariables(self) -> None: + self._package_id_to_uninstall = None # type: Optional[str] self._package_name_to_uninstall = "" - self._package_used_materials = [] - self._package_used_qualities = [] + self._package_used_materials = [] # type: List[Tuple[GlobalStack, str, str]] + self._package_used_qualities = [] # type: List[Tuple[GlobalStack, str, str]] @pyqtSlot(result = str) def getLicenseDialogPluginName(self) -> str: @@ -344,26 +346,26 @@ class Toolbox(QObject, Extension): self.uninstall(package_id) @pyqtProperty(str, notify = uninstallVariablesChanged) - def pluginToUninstall(self): + def pluginToUninstall(self) -> str: return self._package_name_to_uninstall @pyqtProperty(str, notify = uninstallVariablesChanged) - def uninstallUsedMaterials(self): + def uninstallUsedMaterials(self) -> str: return "\n".join(["%s (%s)" % (str(global_stack.getName()), material) for global_stack, extruder_nr, material in self._package_used_materials]) @pyqtProperty(str, notify = uninstallVariablesChanged) - def uninstallUsedQualities(self): + def uninstallUsedQualities(self) -> str: return "\n".join(["%s (%s)" % (str(global_stack.getName()), quality) for global_stack, extruder_nr, quality in self._package_used_qualities]) @pyqtSlot() - def closeConfirmResetDialog(self): + def closeConfirmResetDialog(self) -> None: if self._confirm_reset_dialog is not None: self._confirm_reset_dialog.close() ## Uses "uninstall variables" to reset qualities and materials, then uninstall # It's used as an action on Confirm reset on Uninstall @pyqtSlot() - def resetMaterialsQualitiesAndUninstall(self): + def resetMaterialsQualitiesAndUninstall(self) -> None: application = CuraApplication.getInstance() material_manager = application.getMaterialManager() quality_manager = application.getQualityManager() @@ -376,9 +378,9 @@ class Toolbox(QObject, Extension): default_quality_group = quality_manager.getDefaultQualityType(global_stack) machine_manager.setQualityGroup(default_quality_group, global_stack = global_stack) - self._markPackageMaterialsAsToBeUninstalled(self._package_id_to_uninstall) - - self.uninstall(self._package_id_to_uninstall) + if self._package_id_to_uninstall is not None: + self._markPackageMaterialsAsToBeUninstalled(self._package_id_to_uninstall) + self.uninstall(self._package_id_to_uninstall) self._resetUninstallVariables() self.closeConfirmResetDialog() @@ -686,7 +688,7 @@ class Toolbox(QObject, Extension): self._temp_plugin_file.close() self._onDownloadComplete(file_path) - def _onDownloadComplete(self, file_path: str): + def _onDownloadComplete(self, file_path: str) -> None: Logger.log("i", "Toolbox: Download complete.") package_info = self._package_manager.getPackageInfo(file_path) if not package_info: @@ -745,9 +747,7 @@ class Toolbox(QObject, Extension): def viewPage(self) -> str: return self._view_page - - - # Expose Models: + # Exposed Models: # -------------------------------------------------------------------------- @pyqtProperty(QObject, notify = metadataChanged) def authorsModel(self) -> AuthorsModel: @@ -785,8 +785,6 @@ class Toolbox(QObject, Extension): def materialsGenericModel(self) -> PackagesModel: return cast(PackagesModel, self._models["materials_generic"]) - - # Filter Models: # -------------------------------------------------------------------------- @pyqtSlot(str, str, str) @@ -813,11 +811,9 @@ class Toolbox(QObject, Extension): self._models[model_type].setFilter({}) self.filterChanged.emit() - # HACK(S): # -------------------------------------------------------------------------- def buildMaterialsModels(self) -> None: - self._metadata["materials_showcase"] = [] self._metadata["materials_available"] = [] @@ -841,7 +837,6 @@ class Toolbox(QObject, Extension): self._models["materials_available"].setMetadata(self._metadata["materials_available"]) def buildPluginsModels(self) -> None: - self._metadata["plugins_showcase"] = [] self._metadata["plugins_available"] = [] From e3681ddd9fdf748f6ba7ff951180542424f72513 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 10 Sep 2018 13:27:13 +0200 Subject: [PATCH 156/162] Also hack the way to get the generic materials, since the tag-filtered calls to the api don't work yet. Contributes to CURA-5670. --- plugins/Toolbox/src/Toolbox.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index a4dcc47c2b..cc9f8ac354 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -231,10 +231,12 @@ class Toolbox(QObject, Extension): # Make remote requests: self._makeRequestByType("packages") self._makeRequestByType("authors") - self._makeRequestByType("plugins_showcase") - self._makeRequestByType("materials_showcase") - self._makeRequestByType("materials_available") - self._makeRequestByType("materials_generic") + # TODO: Uncomment in the future when the tag-filtered api calls work in the cloud server + # self._makeRequestByType("plugins_showcase") + # self._makeRequestByType("plugins_available") + # self._makeRequestByType("materials_showcase") + # self._makeRequestByType("materials_available") + # self._makeRequestByType("materials_generic") # Gather installed packages: self._updateInstalledModels() @@ -614,6 +616,7 @@ class Toolbox(QObject, Extension): do_not_handle = [ "materials_available", "materials_showcase", + "materials_generic", "plugins_available", "plugins_showcase", ] @@ -826,15 +829,20 @@ class Toolbox(QObject, Extension): if author["author_id"] in processed_authors: continue - if "showcase" in item["tags"]: - self._metadata["materials_showcase"].append(author) + # Generic materials to be in the same section + if "generic" in item["tags"]: + self._metadata["materials_generic"].append(item) else: - self._metadata["materials_available"].append(author) + if "showcase" in item["tags"]: + self._metadata["materials_showcase"].append(author) + else: + self._metadata["materials_available"].append(author) - processed_authors.append(author["author_id"]) + processed_authors.append(author["author_id"]) self._models["materials_showcase"].setMetadata(self._metadata["materials_showcase"]) self._models["materials_available"].setMetadata(self._metadata["materials_available"]) + self._models["materials_generic"].setMetadata(self._metadata["materials_generic"]) def buildPluginsModels(self) -> None: self._metadata["plugins_showcase"] = [] From e069e0db99ac8a0c5ce8060de753d46c299abd02 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 12 Sep 2018 13:18:42 +0200 Subject: [PATCH 157/162] Fix S5 extruder start and end locations CURA-5672 X coordinate 310 is not at the rightmost position, and this causes the prime tower to start printing from somewhere in the middle. --- resources/extruders/ultimaker_s5_extruder_left.def.json | 4 ++-- resources/extruders/ultimaker_s5_extruder_right.def.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/extruders/ultimaker_s5_extruder_left.def.json b/resources/extruders/ultimaker_s5_extruder_left.def.json index c92873b987..275f60bb31 100644 --- a/resources/extruders/ultimaker_s5_extruder_left.def.json +++ b/resources/extruders/ultimaker_s5_extruder_left.def.json @@ -17,10 +17,10 @@ "machine_nozzle_offset_y": { "default_value": 0 }, "machine_extruder_start_pos_abs": { "default_value": true }, - "machine_extruder_start_pos_x": { "default_value": 310 }, + "machine_extruder_start_pos_x": { "default_value": 330 }, "machine_extruder_start_pos_y": { "default_value": 237 }, "machine_extruder_end_pos_abs": { "default_value": true }, - "machine_extruder_end_pos_x": { "default_value": 310 }, + "machine_extruder_end_pos_x": { "default_value": 330 }, "machine_extruder_end_pos_y": { "default_value": 237 }, "machine_nozzle_head_distance": { "default_value": 2.7 }, "extruder_prime_pos_x": { "default_value": -3 }, diff --git a/resources/extruders/ultimaker_s5_extruder_right.def.json b/resources/extruders/ultimaker_s5_extruder_right.def.json index 89d62b89a4..92e08f5cc5 100644 --- a/resources/extruders/ultimaker_s5_extruder_right.def.json +++ b/resources/extruders/ultimaker_s5_extruder_right.def.json @@ -17,10 +17,10 @@ "machine_nozzle_offset_y": { "default_value": 0 }, "machine_extruder_start_pos_abs": { "default_value": true }, - "machine_extruder_start_pos_x": { "default_value": 310 }, + "machine_extruder_start_pos_x": { "default_value": 330 }, "machine_extruder_start_pos_y": { "default_value": 219 }, "machine_extruder_end_pos_abs": { "default_value": true }, - "machine_extruder_end_pos_x": { "default_value": 310 }, + "machine_extruder_end_pos_x": { "default_value": 330 }, "machine_extruder_end_pos_y": { "default_value": 219 }, "machine_nozzle_head_distance": { "default_value": 4.2 }, "extruder_prime_pos_x": { "default_value": 333 }, From f9585b5fae9cdd3f56dc8d8b04f28db5fcf15434 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 11 Sep 2018 17:00:44 +0200 Subject: [PATCH 158/162] [CURA-5708] Hide the Materials-tab in ToolBox (v3.5 only) --- plugins/Toolbox/resources/qml/ToolboxHeader.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/Toolbox/resources/qml/ToolboxHeader.qml b/plugins/Toolbox/resources/qml/ToolboxHeader.qml index 9c9f967d54..59c51039d9 100644 --- a/plugins/Toolbox/resources/qml/ToolboxHeader.qml +++ b/plugins/Toolbox/resources/qml/ToolboxHeader.qml @@ -34,6 +34,7 @@ Item } } + /* // NOTE: Remember to re-enable for v3.6! ToolboxTabButton { text: catalog.i18nc("@title:tab", "Materials") @@ -46,6 +47,7 @@ Item toolbox.viewPage = "overview" } } + */ } ToolboxTabButton { From b27e5a1f77a32f6b5d30c008cd593b82df2e0f07 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 12 Sep 2018 13:59:09 +0200 Subject: [PATCH 159/162] Fix getActiveExtruderStacks() CURA-5719 The dict values can be a random list. We need to fetch the first N extruders starting from position 0. --- cura/Settings/ExtruderManager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 479e69f558..230759e775 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -311,11 +311,11 @@ class ExtruderManager(QObject): if not global_stack: return [] - result = list(global_stack.extruders.values()) + result_tuple_list = sorted(list(global_stack.extruders.items()), key = lambda x: int(x[0])) + result_list = [item[1] for item in result_tuple_list] machine_extruder_count = global_stack.getProperty("machine_extruder_count", "value") - - return result[:machine_extruder_count] + return result_list[:machine_extruder_count] def _globalContainerStackChanged(self) -> None: # If the global container changed, the machine changed and might have extruders that were not registered yet From 3da6e3c4535db85a921bf5770903bd1a729946e1 Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Wed, 12 Sep 2018 16:08:30 +0200 Subject: [PATCH 160/162] Set simulation path to 0 after updating layer CURA-5677 --- plugins/SimulationView/SimulationView.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/SimulationView/SimulationView.qml b/plugins/SimulationView/SimulationView.qml index b4ca9584c7..8d671dcb56 100644 --- a/plugins/SimulationView/SimulationView.qml +++ b/plugins/SimulationView/SimulationView.qml @@ -670,6 +670,7 @@ Item onCurrentLayerChanged: { playButton.pauseSimulation() + pathSlider.setHandleValue(0) // After updating the layer set Path slider to 0 layerSlider.setUpperValue(UM.SimulationView.currentLayer) } } From d1301d16a92dcb8e952152ff319acc217b729fb7 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 12 Sep 2018 16:56:04 +0200 Subject: [PATCH 161/162] Skip the do-not-handle URLs instead of returning CURA-5718 The request-url dict is not ordered so you cannot garuantee the ordering when you use .items(). This can cause a problem that if a do-not-handle item occurs first then nothing will be handled at all. --- plugins/Toolbox/src/Toolbox.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index cc9f8ac354..9488b50e4e 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -626,7 +626,7 @@ class Toolbox(QObject, Extension): # HACK: Do nothing because we'll handle these from the "packages" call if type in do_not_handle: - return + continue if reply.url() == url: if reply.attribute(QNetworkRequest.HttpStatusCodeAttribute) == 200: From efdec50614f447038351ec7ffbabec0babc4a5d5 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 12 Sep 2018 17:08:58 +0200 Subject: [PATCH 162/162] Fix typo --- plugins/MachineSettingsAction/MachineSettingsAction.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index 8c2262b5b7..505c988a13 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -891,7 +891,7 @@ Cura.MachineAction { id: machineHeadPolygonProvider - containerStackId: base.acthiveMachineId + containerStackId: base.activeMachineId key: "machine_head_with_fans_polygon" watchedProperties: [ "value" ] storeIndex: manager.containerIndex